libssp is implemented fully in glibc as well as in musl
so we really do not need the gcc version of this library
except may be for mingw, where we keep it enabled anyway
gcc in OE is built with the knowledge that C library
already provides libssp implementation, we should therefore
not need the gcc implementation of same.
libssp_nonshared piece is a detail which is needed when gcc
is the compiler, in glibc this is part of libc_nonshared.a
already and libc_nonshared.a is linked always when linking
with -lc becuase libc.so in glibc is actually a linker script
GROUP ( /usr/lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /usr/lib/ld-linux-x86-64.so.2 ) )
which automatically links in the needed runtime bits, this however
is not the case for musl, where core SSP APIs are implemented in full
but compiler specific runtime isn't, for this we add a new package
called libssp_nonshared which generate the needed runtime stub
and gcc is already carrying patch to link to libssp_nonshared.a
on musl
This should fix a long standing problem where static PIE executable
were not buildable with OE since it was conflicting SSP implementation
one from C library and the other one from gcc and we end up with
duplicate symbol errors during linking.
Backport a patch from trunk which enhances enable|disable-libssp
to not only disable building libssp but also not emit the gcc
specs to use it for subsequent linking when stack-protector options
are used on compiler cmdline
libssp-nonshared is required on musl since
it does not implement the gcc runtime piece of
libssp, which actually it a gcc optimization to
reach to __stack_chk_fail
tclibc-baremetal: Adds virtual/crypt to ASSUME_PROVIDED
When trying to build meta-toolchain using TCLIBC = "baremetal"
bitbake throws an error due to a mising dependency:
ERROR: Nothing PROVIDES 'virtual/crypt'
glibc PROVIDES virtual/crypt but was skipped:
PREFERRED_PROVIDER_virtual/libc set to musl, not glibc
musl PROVIDES virtual/crypt but was skipped:
PREFERRED_PROVIDER_virtual/i586-poky-elf-libc-for-gcc set to baremetal,
not musl
libxcrypt PROVIDES virtual/crypt but was skipped: Recipe only applies in
nativesdk case for now
Mike Crowe [Wed, 2 May 2018 13:38:03 +0000 (14:38 +0100)]
alsa-utils: Fix error when removing unwanted udev rules
If alsa-utils configure is not passed a --with-udev-rules-dir option then
it defaults to using /lib/udev/rules.d. This meant that the hard-coded use
of ${D}/lib in do_install in 262e69c9c7acf0beb7bb6b96299e3c993c906434
worked correctly to remove the unwanted rules.
This means that if udev is not present in PACKAGECONFIG and usrmerge is
present in DISTRO_FEATURES then the alsa-utils build system will install
the rules in ${D}/lib/udev/rules.d but do_install will attempt to remove
${D}/usr/lib, resulting in something like:
rmdir: failed to remove '.../tmp-glibc/work/i586-oe-linux/alsa-utils/1.1.5-r0/image/usr/lib': No such file or directory
To fix this, let's just tell configure to install the rules in a specific
known location when udev is disabled. This location can then easily be
cleaned up in do_install without doing any harm if udev is enabled.
Tested both with and without usrmerge in DISTRO_FEATURES and with and
without udev in PACKAGECONFIG.
Signed-off-by: Mike Crowe <mac@mcrowe.com> Cc: Phil Blundell <pb@pbcl.net> Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
glib: Make glib-mkenums ignore unknown per value options
If some other per value option was present than 'skip' or 'nick' then
a KeyError would occur. Ignoring such options matches the behaviour of
the old, Perl-based glib-mkenums.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
* Remove the backported patch 0001-Fix-a-strange-assert-typo-how-was-this-released-with.patch
* Remove the patch 0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch
as it already rewritten gcc to use toolset.flags again
as below:
Rewrite gcc to use toolset.flags again.
* Remove the hardcoded parallel build limit as the
mechanism already changed as below commit:
commit 316e26ca718afc65d6170029284521392524e4f8
Author: Steven Watanabe <steven@providere-consulting.com>
Date: Wed Apr 26 14:22:06 2017 -0600
Remove fixed limit to -j. Fixes #189.
* execunix.c: Replace select with poll.
* execnt.c: Use RegisterWaitForSingleObject when the number of jobs exceeds MAXIMUM_WAIT_OBJECTS.
Although it still seems to be accepted by gcc 7.x, it's likely to be
deprecated and removed at some point. To preempt that, switch the
corei7 TUNE_CCARGS -march CPU type to "nehalem", which is the closest
replacement (and matches the CPU type already being passed to qemu).
Since the tune-corei7.inc include file is intended to cover a range
of CPUs from Nehalem onwards, switch the TUNE_CCARGS -mtune option
from "corei7" to "generic", which instructs gcc to produce code
optimized for the most common IA32/AMD64/EM64T processors.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
During Qemu guest migration, a destination process invokes ps2
post_load function. In that, if 'rptr' and 'count' values were
invalid, it could lead to OOB access or infinite loop issue.
Add check to avoid it.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
perf: make a copy of kernel source to perf workdir
Since perf contaminates linux shared workdir, it probably caused
kernel-devsrc compile failure at world build.
...
|0 blocks
|cpio: ./tools/perf/arch/arm/util/sedr7ORqk: Cannot stat:
No such file or directory
|0 blocks
...
cpio tried to find a file at ${S}/tools/perf and failed
if the input list is not valid.
Make a copy of kernel shared source directory into a perf workdir
could fix the issue.
Drop `Fix for rebuilding' which is obsolete
[YOCTO #10880]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Joe Slater [Mon, 23 Apr 2018 17:21:42 +0000 (10:21 -0700)]
python3-native: correctly invoke regen-importlib make target
Redefiine regen-all in Makefile to invoke regen-importlib after
building other regen- targets. Change the recipe to not build it
before regen-all. This avoids trying to build it multiple times,
which can occasionally fail.
Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ming Liu [Fri, 20 Apr 2018 07:32:56 +0000 (09:32 +0200)]
image_types_wic: add do_image_wic before do_image_complete
We have some tasks depending on image's do_image_complete task, and we
are also using WKS files to generate partitioned images, but now there
is lacking a inter dependency between do_image_wic and
do_image_complete, so we have to depend on both of them.
Fixed by adding the dependency.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Niko Mauno [Fri, 20 Apr 2018 14:09:30 +0000 (17:09 +0300)]
mtd-utils: Complement update-alternatives scope
Avoid collision of mtd-utils and mtd-utils-ubifs provided binaries
with identically named BusyBox provided applets in case packages
are installed to same rootfs, by adding relevant binaries to
update-alternatives scope
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
linux-libc-headers: multilib_header asm/kvm_para.h and asm/bpf_perf_event.h
When building SDK via populate_sdk for qemuarm64 with multilib
enabled, we would have conflict about bits/floatn.h at populate_sdk
time.
file /usr/include/asm/bpf_perf_event.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64
file /usr/include/asm/kvm_para.h conflicts between attempted installs of lib32-linux-libc-headers-dev-4.15.7-r0.armv7vehf_vfp and linux-libc-headers-dev-4.15.7-r0.aarch64
Apply oe_multilib_header on these header files to fix the problem.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Niko Mauno [Fri, 20 Apr 2018 14:09:28 +0000 (17:09 +0300)]
procps: Complement update-alternatives scope
Avoid collision of propcs provided w binary with BusyBox-provided
applet in case both are installed to same rootfs, by adding w to
update-alternatives scope via bindir_progs variable
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
The recipe wants to install libs into base_libdir, but uses "basename $libdir" to derive that. That breaks in a multiarch setup. Use the proper variable and remove the inline python usage.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Native.bbclass needs to fixup both base_libdir and libdir to handle things like multiarch. This fixes wic and ext4.* image failures during do_rootfs where mkfs.ext4 can't find its libraries.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andrej Valek [Thu, 12 Apr 2018 07:08:57 +0000 (09:08 +0200)]
dropbear: update to 2018.76
- update dropbear to version 2018.76
- refresh and drop obsolete patches
- add option to use localoptions.h header file
- do not use harden stuff, which leads to QA warning
Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Marek Vasut [Sun, 8 Apr 2018 23:02:23 +0000 (01:02 +0200)]
u-boot: Upgrade to 2018.03 release
This upgrades the U-Boot from 2018.01 to 2018.03 release and drops
patches accepted upstream, getting the patch count to zero.
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Ross Burton <ross.burton@intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
In multiarch /usr/include and /usr/lib/<tuple/ are not on the same level anymore. This change will pass a correct includedir, but a wrong libdir, but the linker picks it up anyway.
Tested on multiarch and regular build.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Mon, 9 Apr 2018 11:55:08 +0000 (14:55 +0300)]
gtk+3: upgrade to version 3.22.29
* Wayland
- add an input method based on the text protocol
* File chooser
- Stop activating without double-click
* Bugs fixed:
710888 GtkInfoBar not shown after calling gtk_widget_show
743975 Better deprecation information for GtkStatusIcon
775546 gdkscreen-x11: Don't try to calculate a refresh rate for RandR 1.3
794008 GtkListBoxRow signal poorly documented
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Mon, 9 Apr 2018 11:55:04 +0000 (14:55 +0300)]
libatomic-ops: upgrade to version 7.6.4
* Add RISC-V support
* Convert atomic_ops_malloc.c and tests to valid C++ code
* Eliminate 'function is never used' cppcheck warning for
* load_before_cas
* Eliminate 'using argument that points at uninitialized var' cppcheck
* error
* Fix 'AO_pt_lock undefined' error if cross-compiling manually (MinGW)
* Fix public headers inclusion from clients C++ code
* Remove gcc/nios2.h file (include gcc/generic.h directly for nios2)
* Support MIPS rel6
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Mon, 9 Apr 2018 11:29:37 +0000 (14:29 +0300)]
atk: upgrade to version 2.28.1
convert to meson build and provide flags for introspection and
documentation.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maxin B. John [Mon, 9 Apr 2018 11:29:36 +0000 (14:29 +0300)]
at-spi2-core: upgrade to version 2.28.0
1. Convert to meson build
2. Remove the following patch made obsolete by moving to meson:
0001-build-Add-with-systemduserunitdir.patch
3. Provide meson flags for introspection and documentation
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>