[OE-core] [OE-Core][RFC 2/2] qemuarm64: Add graphics support
Add the necessary parts to qemuarm64.conf for graphics to be shown in the SDL window, and USB so that it is possible to interact with it. Signed-off-by: Jon Mason --- meta/conf/machine/qemuarm64.conf | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf index 8d4a482fec..e8362260b9 100644 --- a/meta/conf/machine/qemuarm64.conf +++ b/meta/conf/machine/qemuarm64.conf @@ -16,7 +16,9 @@ QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" # We need both ttyAMA0 and tty1 to allow for this to work in the stdio mode or the normal mode QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 console=tty1" -QB_OPT_APPEND = "-show-cursor -monitor null" +# For graphics to work we need to define the VGA device as well as the necessary USB devices +QB_OPT_APPEND = "-show-cursor -device VGA" +QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" # Virtio Networking support @@ -27,3 +29,5 @@ QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio # Virtio serial console QB_SERIAL_OPT = "-device virtio-serial-device -chardev vc,id=virtcon -device virtconsole,chardev=virtcon" QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" + +PREFERRED_VERSION_linux-yocto ?= "4.19%" -- 2.17.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [OE-Core][RFC 0/2] qemuarm64: cleanup and Add graphics support
This series is dependent on the yocto-kernel-cache RFC series similarly named. See https://lists.yoctoproject.org/pipermail/linux-yocto/2019-February/007580.html This series cleans up the hvc0 respawning issue, by removing the reference in meta/conf/machine/qemuarm64.conf. So virtio console will not work, but I don't think it was properly working before. A bug should be opened to track this and correct it when a solution is found. Also, graphics support is added by using the QEMU VGA device, which emulates a Bochs VGA PCI adapter. Virtio would be a superior implementation (in theory), but I was unable to get it working fully. A bug should be opened to track this and switch to using virtio when the issue(s) can be resolved. Finally, when starting the graphics, a kernel warning is issued. It is not fatal and graphics work despite the warning. However, this might be unacceptable. For the record, it is: [ 18.370702] [ cut here ] [ 18.382099] WARNING: CPU: 0 PID: 446 at drivers/gpu/drm/ttm/ttm_bo_vm.c:303 ttm_bo_vm_open+0x3c/0x4c [ 18.383267] Modules linked in: [ 18.383789] CPU: 0 PID: 446 Comm: Xorg Not tainted 4.19.19-yocto-standard #1 [ 18.383964] Hardware name: Generic DT based system [ 18.384508] [] (unwind_backtrace) from [] (show_stack+0x20/0x24) [ 18.384719] [] (show_stack) from [] (dump_stack+0x84/0xa4) [ 18.384904] [] (dump_stack) from [] (__warn+0xe8/0x104) [ 18.385114] [] (__warn) from [] (warn_slowpath_null+0x4c/0x58) [ 18.385300] [] (warn_slowpath_null) from [] (ttm_bo_vm_open+0x3c/0x4c) [ 18.385499] [] (ttm_bo_vm_open) from [] (copy_process.part.3+0x13c4/0x17f0) [ 18.385703] [] (copy_process.part.3) from [] (_do_fork+0xc8/0x414) [ 18.385907] [] (_do_fork) from [] (sys_clone+0x30/0x38) [ 18.386108] [] (sys_clone) from [] (ret_fast_syscall+0x0/0x4c) [ 18.386308] Exception stack(0xde279fa8 to 0xde279ff0) [ 18.386477] 9fa0: b6ef7078 b6f03000 01200011 [ 18.386672] 9fc0: b6ef7078 b6f03000 b6ef74d0 0078 b6ef7010 0051b03d be9bc9fc [ 18.386857] 9fe0: 0078 be9ba8a8 b6ad564d b6a7ac46 [ 18.387096] ---[ end trace e8a5e15e3b7db8a9 ]--- Given these number of issues, I wanted to post this as a request for comment to see if this is acceptable to the community. If it is acceptable, I will open the bugs mentioned above. I have made similar modifications to qemuarma15, and can resubmit them if the solution above is acceptable. However, I thought using qemuarm64 was a cleaner way to show what was done and start the dialog. Thanks, Jon Jon Mason (2): qemuarm64: fix hvc0 error and cleanup qemuarm64: Add graphics support meta/conf/machine/qemuarm64.conf | 19 +-- 1 file changed, 13 insertions(+), 6 deletions(-) -- 2.17.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [OE-Core][RFC 1/2] qemuarm64: fix hvc0 error and cleanup
The following error is being frequently posted INIT: Id "hvc0" respawning too fast: disabled for 5 minutes Remove the references to hvc0 to work around this error. Also, add some comments to describe what is going on. Signed-off-by: Jon Mason --- meta/conf/machine/qemuarm64.conf | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf index ee19385eaf..8d4a482fec 100644 --- a/meta/conf/machine/qemuarm64.conf +++ b/meta/conf/machine/qemuarm64.conf @@ -7,20 +7,23 @@ require conf/machine/include/qemu.inc KERNEL_IMAGETYPE = "Image" -SERIAL_CONSOLES ?= "38400;ttyAMA0 38400;hvc0" +SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;tty1" # For runqemu QB_SYSTEM_NAME = "qemu-system-aarch64" QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" -QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,38400" -# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy +# We need both ttyAMA0 and tty1 to allow for this to work in the stdio mode or the normal mode +QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 console=tty1" QB_OPT_APPEND = "-show-cursor -monitor null" # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0" +# Virtio Networking support QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@" +# Virtio block device QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0" -QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon" -QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" +# Virtio serial console +QB_SERIAL_OPT = "-device virtio-serial-device -chardev vc,id=virtcon -device virtconsole,chardev=virtcon" +QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" -- 2.17.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] resulttool/regression: Ensure regressoin results are sorted
Sorted regression results to provide friendly viewing of report. Signed-off-by: Yeoh Ee Peng --- scripts/lib/resulttool/regression.py | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/lib/resulttool/regression.py b/scripts/lib/resulttool/regression.py index ff77332..bdf531d 100644 --- a/scripts/lib/resulttool/regression.py +++ b/scripts/lib/resulttool/regression.py @@ -35,7 +35,7 @@ def compare_result(logger, base_name, target_name, base_result, target_result): logger.error('Failed to retrieved base test case status: %s' % k) if result: resultstring = "Regression: %s\n%s\n" % (base_name, target_name) -for k in result: +for k in sorted(result): resultstring += '%s: %s -> %s\n' % (k, result[k]['base'], result[k]['target']) else: resultstring = "Match: %s\n %s" % (base_name, target_name) @@ -82,9 +82,9 @@ def regression_common(args, logger, base_results, target_results): regressions.append(resstr) else: notfound.append("%s not found in target" % a) -print("\n".join(matches)) -print("\n".join(regressions)) -print("\n".join(notfound)) +print("\n".join(sorted(matches))) +print("\n".join(sorted(regressions))) +print("\n".join(sorted(notfound))) return 0 -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] libdazzle: add check for GTK3DISTROFEATURES
Ping. Thanks, On 2019年02月26日 10:50, mingli...@windriver.com wrote: From: Mingli Yu When do world buid, there comes below error: | ERROR: Nothing PROVIDES 'gtk+3' (but /build/layers/oe-core/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb DEPENDS on or otherwise requires it) | gtk+3 was skipped: one of 'x11 wayland' needs to be in DISTRO_FEATURES Add the check for GTK3DISTROFEATURES to make the world build work even without GTK3DISTROFEATURES. Signed-off-by: Mingli Yu --- meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb b/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb index 5441c10..3779b15 100644 --- a/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb +++ b/meta/recipes-gnome/libdazzle/libdazzle_3.30.2.bb @@ -3,7 +3,7 @@ LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even vala gobject-introspection +inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection DEPENDS = "glib-2.0-native glib-2.0 gtk+3" @@ -14,5 +14,7 @@ SRC_URI[archive.sha256sum] = "78770eae9fa15ac5acb9c733d29459330b2540affbf7293311 GI_ENABLE_FLAG = "-Dwith_introspection=true" GI_DISABLE_FLAG = "-Dwith_introspection=false" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \ '${GI_DISABLE_FLAG}', d)} " -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] openssl10: Fix mutliple include assumptions for bn.h in opensslconf.h
On Mon, Feb 25, 2019 at 7:19 PM Denys Dmytriyenko wrote: > > Khem, Richard, > > Sorry for belated reply. I haven't had time for master yet, but since this > just got backported to thud, I'm seeing a similar breakage. > > First of all, BN_LLONG not being defined does seem to be "fixed" by this > patch, but I'm not entirely sure why it now checks for OPENSSL_SYS_UEFI - this > seems to be a new define in OpenSSL 1.1, and doesn't even exist in OpenSSL 1.0 > Is it a pure luck that it works now? Any hidden meaning I missded? > We don't have to, but then we might have uefi to compile so thats why its there. > And it also breaks exactly the same for DES_LONG due to a similar construct: yeah the header nesting is a nightmare in openssl 1.0, it is a bit better in 1.1, a lot of these recursions are fixed. but backporting then completely to 1.0 is not an option, so we have to do tweaks that sustains the build. > > > #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) > /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a > * %20 speed up (longs are 8 bytes, int's are 4). */ > #ifndef DES_LONG > #define DES_LONG unsigned int > #endif > #endif > > > I was going to fix it similarly as BN_LLONG, but since I don't understand how > it was supposed to be fixed, I'm not sure how to fix DES_LONG not being > defined. Any ideas? > > Thanks. > > -- > Denys > > > On Wed, Feb 06, 2019 at 10:25:26PM -0800, Khem Raj wrote: > > After adding #pragma once to wrapper header ( opensslconf.h ) this > > latent issue got to bite us, where it expect bn.h to be including > > openssl.h to define BN_* defines, which is fragile. This patch removes > > the contraints for nested includes for bn.h > > > > Signed-off-by: Khem Raj > > --- > > .../0001-Fix-BN_LLONG-breakage.patch | 33 +++ > > .../openssl/openssl10_1.0.2q.bb | 1 + > > 2 files changed, 34 insertions(+) > > create mode 100644 > > meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > > > diff --git > > a/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > > > b/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > new file mode 100644 > > index 00..13d39c918c > > --- /dev/null > > +++ > > b/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > @@ -0,0 +1,33 @@ > > +From 247b3188cde5f3347091cd54271127386d3aece0 Mon Sep 17 00:00:00 2001 > > +From: Khem Raj > > +Date: Wed, 6 Feb 2019 22:10:33 -0800 > > +Subject: [PATCH] Fix BN_LLONG breakage > > + > > +opensslconf.h is un-defining BN_LLONG only when included from bn.h which > > +is not robust at all, especially when include guards are used and > > +multiple inclusions of a given header is not allowed. so lets take out > > +the nesting constraint and add OPENSSL_SYS_UEFI constraint instead > > + > > +Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ] > > + > > +Signed-off-by: Khem Raj > > +--- > > + crypto/opensslconf.h.in | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in > > +index 7a1c85d..a10c10f 100644 > > +--- a/crypto/opensslconf.h.in > > b/crypto/opensslconf.h.in > > +@@ -56,7 +56,7 @@ > > + #endif > > + #endif > > + > > +-#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) > > ++#if !defined(OPENSSL_SYS_UEFI) && !defined(CONFIG_HEADER_BN_H) > > + #define CONFIG_HEADER_BN_H > > + #undef BN_LLONG > > + > > +-- > > +2.20.1 > > + > > diff --git a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > index 809634f6c0..88aefdea4f 100644 > > --- a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > +++ b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > @@ -40,6 +40,7 @@ SRC_URI = > > "http://www.openssl.org/source/openssl-${PV}.tar.gz \ > > file://0001-Fix-build-with-clang-using-external-assembler.patch > > \ > > file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \ > > file://0001-allow-manpages-to-be-disabled.patch \ > > + file://0001-Fix-BN_LLONG-breakage.patch \ > > " > > > > SRC_URI_append_class-target = " \ > > -- > > 2.20.1 > > > > -- > > ___ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] glibc-locale: Rewrite do_install using install utility instead of cp
Just to provide some feedback. Even with this patch, this annoying QA issue is still there. WARNING: glibc-locale-2.29-r0 do_package_qa: QA Issue: glibc-locale: /glibc-binary-localedata-wo-sn/usr/lib/locale/wo_SN/LC_CTYPE is owned by uid 1001, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] Best Regards, Chen Qi On 02/07/2019 08:35 AM, Khem Raj wrote: This has been a constant source of trouble for build failures due to host-user-contaminated QA errors of sort ERROR: QA Issue: glibc-locale: /glibc-binary-localedata-ca-es+valencia/usr/lib/locale/ca_ES@valencia/LC_MONETARY is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] So far we have tried to mould cp command into not carrying the build user permissions into install area but it is never entirely fixed since the issue keeps popping up in various scenes This patch replaces use of cp with install utility and specifies install mode for files explcitly Signed-off-by: Khem Raj --- meta/recipes-core/glibc/glibc-locale.inc | 44 ++-- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/meta/recipes-core/glibc/glibc-locale.inc b/meta/recipes-core/glibc/glibc-locale.inc index 6384f9cbf1..9b256a5108 100644 --- a/meta/recipes-core/glibc/glibc-locale.inc +++ b/meta/recipes-core/glibc/glibc-locale.inc @@ -72,27 +72,33 @@ FILES_localedef = "${bindir}/localedef" LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale" do_install () { - mkdir -p ${D}${bindir} ${D}${datadir} - if [ -n "$(ls ${LOCALETREESRC}/${bindir})" ]; then - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${bindir}/* ${D}${bindir} - fi - if [ -n "$(ls ${LOCALETREESRC}/${localedir})" ]; then - mkdir -p ${D}${localedir} - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${localedir}/* ${D}${localedir} - fi +install -d ${D}${bindir} +find "${LOCALETREESRC}/${bindir}" -maxdepth 1 -type f \ +-exec install -m 0755 -t "${D}${bindir}" {} \; + +for d in . $(find "${LOCALETREESRC}/${localedir}" -type d -printf '%P ') ; do +install -d "${D}${localedir}/$d" +find "${LOCALETREESRC}/${localedir}/$d" -maxdepth 1 -type f \ +-exec install -m 0644 -t "${D}${localedir}/$d" {} \; +done if [ ${@d.getVar('PACKAGE_NO_GCONV')} -eq 0 ]; then - mkdir -p ${D}${libdir} - if [ -e ${LOCALETREESRC}/${libdir}/gconv ]; then - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${libdir}/gconv ${D}${libdir} - fi - if [ -e ${LOCALETREESRC}/${datadir}/i18n ]; then - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/i18n ${D}${datadir} - fi - fi - if [ -e ${LOCALETREESRC}/${datadir}/locale ]; then - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/${datadir}/locale ${D}${datadir} +for d in . $(find "${LOCALETREESRC}/${libdir}/gconv" -type d -printf '%P ') ; do +install -d "${D}${libdir}/gconv/$d" +find "${LOCALETREESRC}/${libdir}/gconv/$d" -maxdepth 1 -type f \ +-exec install -m 0755 -t "${D}${libdir}/gconv/$d" {} \; +done +for d in . $(find "${LOCALETREESRC}/${datadir}/i18n" -type d -printf '%P ') ; do +install -d "${D}${datadir}/i18n/$d" +find "${LOCALETREESRC}/${datadir}/i18n/$d" -maxdepth 1 -type f \ +-exec install -m 0644 -t "${D}${datadir}/i18n/$d" {} \; +done fi - cp -R --no-dereference --preserve=mode,links ${LOCALETREESRC}/SUPPORTED ${WORKDIR} +for d in . $(find "${LOCALETREESRC}/${datadir}/locale" -type d -printf '%P ') ; do +install -d "${D}${datadir}/locale/$d" +find "${LOCALETREESRC}/${datadir}/locale/$d" -maxdepth 1 -type f \ +-exec install -m 0644 -t "${D}${datadir}/locale/$d" {} \; +done + install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED } inherit libc-package -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] openssl10: Fix mutliple include assumptions for bn.h in opensslconf.h
Ping. Any comments here? Thanks! On Mon, Feb 25, 2019 at 10:19:51PM -0500, Denys Dmytriyenko wrote: > Khem, Richard, > > Sorry for belated reply. I haven't had time for master yet, but since this > just got backported to thud, I'm seeing a similar breakage. > > First of all, BN_LLONG not being defined does seem to be "fixed" by this > patch, but I'm not entirely sure why it now checks for OPENSSL_SYS_UEFI - > this > seems to be a new define in OpenSSL 1.1, and doesn't even exist in OpenSSL 1.0 > Is it a pure luck that it works now? Any hidden meaning I missded? > > And it also breaks exactly the same for DES_LONG due to a similar construct: > > > #if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) > /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a > * %20 speed up (longs are 8 bytes, int's are 4). */ > #ifndef DES_LONG > #define DES_LONG unsigned int > #endif > #endif > > > I was going to fix it similarly as BN_LLONG, but since I don't understand how > it was supposed to be fixed, I'm not sure how to fix DES_LONG not being > defined. Any ideas? > > Thanks. > > -- > Denys > > > On Wed, Feb 06, 2019 at 10:25:26PM -0800, Khem Raj wrote: > > After adding #pragma once to wrapper header ( opensslconf.h ) this > > latent issue got to bite us, where it expect bn.h to be including > > openssl.h to define BN_* defines, which is fragile. This patch removes > > the contraints for nested includes for bn.h > > > > Signed-off-by: Khem Raj > > --- > > .../0001-Fix-BN_LLONG-breakage.patch | 33 +++ > > .../openssl/openssl10_1.0.2q.bb | 1 + > > 2 files changed, 34 insertions(+) > > create mode 100644 > > meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > > > diff --git > > a/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > > > b/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > new file mode 100644 > > index 00..13d39c918c > > --- /dev/null > > +++ > > b/meta/recipes-connectivity/openssl/openssl10/0001-Fix-BN_LLONG-breakage.patch > > @@ -0,0 +1,33 @@ > > +From 247b3188cde5f3347091cd54271127386d3aece0 Mon Sep 17 00:00:00 2001 > > +From: Khem Raj > > +Date: Wed, 6 Feb 2019 22:10:33 -0800 > > +Subject: [PATCH] Fix BN_LLONG breakage > > + > > +opensslconf.h is un-defining BN_LLONG only when included from bn.h which > > +is not robust at all, especially when include guards are used and > > +multiple inclusions of a given header is not allowed. so lets take out > > +the nesting constraint and add OPENSSL_SYS_UEFI constraint instead > > + > > +Upstream-Status: Inappropriate [ fixed differently with OpenSSL 1.1+ ] > > + > > +Signed-off-by: Khem Raj > > +--- > > + crypto/opensslconf.h.in | 2 +- > > + 1 file changed, 1 insertion(+), 1 deletion(-) > > + > > +diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in > > +index 7a1c85d..a10c10f 100644 > > +--- a/crypto/opensslconf.h.in > > b/crypto/opensslconf.h.in > > +@@ -56,7 +56,7 @@ > > + #endif > > + #endif > > + > > +-#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) > > ++#if !defined(OPENSSL_SYS_UEFI) && !defined(CONFIG_HEADER_BN_H) > > + #define CONFIG_HEADER_BN_H > > + #undef BN_LLONG > > + > > +-- > > +2.20.1 > > + > > diff --git a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > index 809634f6c0..88aefdea4f 100644 > > --- a/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > +++ b/meta/recipes-connectivity/openssl/openssl10_1.0.2q.bb > > @@ -40,6 +40,7 @@ SRC_URI = > > "http://www.openssl.org/source/openssl-${PV}.tar.gz \ > > file://0001-Fix-build-with-clang-using-external-assembler.patch > > \ > > file://0001-openssl-force-soft-link-to-avoid-rare-race.patch \ > > file://0001-allow-manpages-to-be-disabled.patch \ > > + file://0001-Fix-BN_LLONG-breakage.patch \ > > " > > > > SRC_URI_append_class-target = " \ > > -- > > 2.20.1 > > > > -- > > ___ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 4:46 PM Andre McCurdy wrote: > > On Wed, Feb 27, 2019 at 4:31 PM Khem Raj wrote: > > > > On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa wrote: > > > > > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > > > > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > > > Werrors e.g. > > > > > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > > > > > uninitialized in this function [-Werror=maybe-uninitialized] > > > > > 114 |+ (k * ln2_lo + c))) - f); > > > > > | ^~~~ > > > > > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > > > disabled in debug mode > > > > > > > > > > given we disable werror, now we don't have to restrict user to compile > > > > > without -O0 > > > > > > > > Did you actually test with -O0? Even if it builds, there may be issues > > > > at runtime: > > > > > > > > > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > > > > Agreed, last time I've tried it still didn't work in runtime with -O0. > > > > > > > intention is not to state that it should be working with -O0, but let > > glibc complain that it can not be compiled with out optimization which > > it does nicely. > > Doesn't glibc complain about -O0 regardless of --disable-werror? > No, it gets stuck in warnings being treated as errors and that can misguide the user. > If so then I don't see any advantage in specifically passing > --disable-werror in the -O0 case. > > > > If this is the only place where it now fails, can we please work around > > > > No, this is just a representative, there are several such warnings in > > tests especially, so disabling werror is only sane here. > > > > > it like in: > > > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > > > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > > > and pending: > > > https://patches-gcc.linaro.org/patch/13529/ > > > > > > > > meta/recipes-core/glibc/glibc.inc | 9 - > > > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc > > > > > b/meta/recipes-core/glibc/glibc.inc > > > > > index 67af396133..a382a22b73 100644 > > > > > --- a/meta/recipes-core/glibc/glibc.inc > > > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > > > require glibc-ld.inc > > > > > require glibc-testing.inc > > > > > > > > > > -python () { > > > > > -opt_effective = "-O" > > > > > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > > > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > > > -opt_effective = opt > > > > > -if opt_effective == "-O0": > > > > > -bb.fatal("%s can't be built with %s, try -O1 instead" % > > > > > (d.getVar('PN'), opt_effective)) > > > > > -} > > > > > - > > > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial > > > > > linux-libc-headers" > > > > > > > > > > PROVIDES = "virtual/libc" > > > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > > > > > b/meta/recipes-core/glibc/glibc_2.29.bb > > > > > index bd8aa6d503..9b6fab066b 100644 > > > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > > > --disable-crypt \ > > > > > --with-default-link \ > > > > > --enable-nscd \ > > > > > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', > > > > > '-O0 -Og', '--disable-werror', '', d)} \ > > > > > ${GLIBCPIE} \ > > > > > ${GLIBC_EXTRA_OECONF}" > > > > > > > > > > -- > > > > > 2.21.0 > > > > > > > > > > -- > > > > > ___ > > > > > Openembedded-core mailing list > > > > > Openembedded-core@lists.openembedded.org > > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > -- > > > > ___ > > > > Openembedded-core mailing list > > > > Openembedded-core@lists.openembedded.org > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > > > -- > > > Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 4:31 PM Khem Raj wrote: > > On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa wrote: > > > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > > Werrors e.g. > > > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > > > > uninitialized in this function [-Werror=maybe-uninitialized] > > > > 114 |+ (k * ln2_lo + c))) - f); > > > > | ^~~~ > > > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > > disabled in debug mode > > > > > > > > given we disable werror, now we don't have to restrict user to compile > > > > without -O0 > > > > > > Did you actually test with -O0? Even if it builds, there may be issues > > > at runtime: > > > > > > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > > Agreed, last time I've tried it still didn't work in runtime with -O0. > > > > intention is not to state that it should be working with -O0, but let > glibc complain that it can not be compiled with out optimization which > it does nicely. Doesn't glibc complain about -O0 regardless of --disable-werror? If so then I don't see any advantage in specifically passing --disable-werror in the -O0 case. > > If this is the only place where it now fails, can we please work around > > No, this is just a representative, there are several such warnings in > tests especially, so disabling werror is only sane here. > > > it like in: > > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > > and pending: > > https://patches-gcc.linaro.org/patch/13529/ > > > > > > meta/recipes-core/glibc/glibc.inc | 9 - > > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc > > > > b/meta/recipes-core/glibc/glibc.inc > > > > index 67af396133..a382a22b73 100644 > > > > --- a/meta/recipes-core/glibc/glibc.inc > > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > > require glibc-ld.inc > > > > require glibc-testing.inc > > > > > > > > -python () { > > > > -opt_effective = "-O" > > > > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > > -opt_effective = opt > > > > -if opt_effective == "-O0": > > > > -bb.fatal("%s can't be built with %s, try -O1 instead" % > > > > (d.getVar('PN'), opt_effective)) > > > > -} > > > > - > > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial > > > > linux-libc-headers" > > > > > > > > PROVIDES = "virtual/libc" > > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > > > > b/meta/recipes-core/glibc/glibc_2.29.bb > > > > index bd8aa6d503..9b6fab066b 100644 > > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > > --disable-crypt \ > > > > --with-default-link \ > > > > --enable-nscd \ > > > > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 > > > > -Og', '--disable-werror', '', d)} \ > > > > ${GLIBCPIE} \ > > > > ${GLIBC_EXTRA_OECONF}" > > > > > > > > -- > > > > 2.21.0 > > > > > > > > -- > > > > ___ > > > > Openembedded-core mailing list > > > > Openembedded-core@lists.openembedded.org > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > -- > > > ___ > > > Openembedded-core mailing list > > > Openembedded-core@lists.openembedded.org > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > -- > > Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2] glibc: Move common bits to glibc-common.inc
We have been duplicating few variables in glibc recipes which could actually be defined once, therefore move them to glibc-common.inc which is included by all glibc family of recipes Signed-off-by: Khem Raj --- v2: Correct typo gcc-common.inc -> glibc-common.inc in commit msg meta/recipes-core/glibc/glibc-collateral.inc | 18 +++--- meta/recipes-core/glibc/glibc-common.inc | 14 ++ meta/recipes-core/glibc/glibc.inc| 8 meta/recipes-core/glibc/glibc_2.29.bb| 5 - 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/meta/recipes-core/glibc/glibc-collateral.inc b/meta/recipes-core/glibc/glibc-collateral.inc index 3379270566..52880791a7 100644 --- a/meta/recipes-core/glibc/glibc-collateral.inc +++ b/meta/recipes-core/glibc/glibc-collateral.inc @@ -1,15 +1,7 @@ -INHIBIT_DEFAULT_DEPS = "1" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ - file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780" -HOMEPAGE = "http://www.gnu.org/software/libc/index.html; +require glibc-common.inc -# This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale -# will fail to find main glibc, for details see -# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ + file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780" deltask do_fetch deltask do_unpack @@ -18,7 +10,3 @@ do_configure[noexec] = "1" do_compile[noexec] = "1" do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale" - -COMPATIBLE_HOST_libc-musl_class-target = "null" - -PV = "2.29" diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index b05e162f88..cded384592 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -7,4 +7,18 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + CVE_PRODUCT = "glibc" + +INHIBIT_DEFAULT_DEPS = "1" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" +# +# We will skip parsing glibc when target system C library selection is not glibc +# this helps in easing out parsing for non-glibc system libraries +# +COMPATIBLE_HOST_libc-musl_class-target = "null" + +PV = "2.29" diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index a382a22b73..252fd56c13 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -25,14 +25,6 @@ CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no" GLIBC_EXTRA_OECONF ?= "" GLIBC_EXTRA_OECONF_class-nativesdk = "" -INHIBIT_DEFAULT_DEPS = "1" - -# This needs to match with glibc-collateral.inc, otherwise glibc-scripts and glibc-locale -# will fail to find main glibc, for details see -# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" # glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer # PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb index 9b6fab066b..4577350eae 100644 --- a/meta/recipes-core/glibc/glibc_2.29.bb +++ b/meta/recipes-core/glibc/glibc_2.29.bb @@ -69,11 +69,6 @@ BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" GLIBC_BROKEN_LOCALES = "" -# -# We will skip parsing glibc when target system C library selection is not glibc -# this helps in easing out parsing for non-glibc system libraries -# -COMPATIBLE_HOST_libc-musl_class-target = "null" GLIBCPIE ??= "" -- 2.21.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa wrote: > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > Werrors e.g. > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > > > uninitialized in this function [-Werror=maybe-uninitialized] > > > 114 |+ (k * ln2_lo + c))) - f); > > > | ^~~~ > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > disabled in debug mode > > > > > > given we disable werror, now we don't have to restrict user to compile > > > without -O0 > > > > Did you actually test with -O0? Even if it builds, there may be issues > > at runtime: > > > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > Agreed, last time I've tried it still didn't work in runtime with -O0. > intention is not to state that it should be working with -O0, but let glibc complain that it can not be compiled with out optimization which it does nicely. > If this is the only place where it now fails, can we please work around No, this is just a representative, there are several such warnings in tests especially, so disabling werror is only sane here. > it like in: > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > and pending: > https://patches-gcc.linaro.org/patch/13529/ > > > > meta/recipes-core/glibc/glibc.inc | 9 - > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc > > > b/meta/recipes-core/glibc/glibc.inc > > > index 67af396133..a382a22b73 100644 > > > --- a/meta/recipes-core/glibc/glibc.inc > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > require glibc-ld.inc > > > require glibc-testing.inc > > > > > > -python () { > > > -opt_effective = "-O" > > > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > -opt_effective = opt > > > -if opt_effective == "-O0": > > > -bb.fatal("%s can't be built with %s, try -O1 instead" % > > > (d.getVar('PN'), opt_effective)) > > > -} > > > - > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > > > PROVIDES = "virtual/libc" > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > > > b/meta/recipes-core/glibc/glibc_2.29.bb > > > index bd8aa6d503..9b6fab066b 100644 > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > --disable-crypt \ > > > --with-default-link \ > > > --enable-nscd \ > > > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 > > > -Og', '--disable-werror', '', d)} \ > > > ${GLIBCPIE} \ > > > ${GLIBC_EXTRA_OECONF}" > > > > > > -- > > > 2.21.0 > > > > > > -- > > > ___ > > > Openembedded-core mailing list > > > Openembedded-core@lists.openembedded.org > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > > ___ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 2:01 PM Andre McCurdy wrote: > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > > > Since compiler does not optimize away a lot of stuff we end up with > > Werrors e.g. > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > > uninitialized in this function [-Werror=maybe-uninitialized] > > 114 |+ (k * ln2_lo + c))) - f); > > | ^~~~ > > > > which otherwise wont happen, so lets build with warnings-as-errors > > disabled in debug mode > > > > given we disable werror, now we don't have to restrict user to compile > > without -O0 > > Did you actually test with -O0? Even if it builds, there may be issues > at runtime: Yes I did, and it does not build with -O0 and glibc build system gives in file included from : ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^ In file included from : ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^ In file included from : ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^ this is user friendly message, that we can rely on, there is no need to have code in metadata to detect it. > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > Signed-off-by: Khem Raj > > --- > > meta/recipes-core/glibc/glibc.inc | 9 - > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/meta/recipes-core/glibc/glibc.inc > > b/meta/recipes-core/glibc/glibc.inc > > index 67af396133..a382a22b73 100644 > > --- a/meta/recipes-core/glibc/glibc.inc > > +++ b/meta/recipes-core/glibc/glibc.inc > > @@ -2,15 +2,6 @@ require glibc-common.inc > > require glibc-ld.inc > > require glibc-testing.inc > > > > -python () { > > -opt_effective = "-O" > > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > -opt_effective = opt > > -if opt_effective == "-O0": > > -bb.fatal("%s can't be built with %s, try -O1 instead" % > > (d.getVar('PN'), opt_effective)) > > -} > > - > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > PROVIDES = "virtual/libc" > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > > b/meta/recipes-core/glibc/glibc_2.29.bb > > index bd8aa6d503..9b6fab066b 100644 > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > --disable-crypt \ > > --with-default-link \ > > --enable-nscd \ > > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 > > -Og', '--disable-werror', '', d)} \ > > ${GLIBCPIE} \ > > ${GLIBC_EXTRA_OECONF}" > > > > -- > > 2.21.0 > > > > -- > > ___ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] glibc: Move common bits to gcc-common.inc
On Wed, Feb 27, 2019 at 1:48 PM Richard Purdie < richard.pur...@linuxfoundation.org> wrote: > On Wed, 2019-02-27 at 13:29 -0800, Khem Raj wrote: > > We have been duplicating few variables in glibc recipes which could > > actually be defined once, therefore move them to gcc-common.inc which > > gcc-common.inc for glibc? :) > > Hey thankfully it’s just in comments > Cheers, > > Richard > > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > > > Since compiler does not optimize away a lot of stuff we end up with > > Werrors e.g. > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > > uninitialized in this function [-Werror=maybe-uninitialized] > > 114 |+ (k * ln2_lo + c))) - f); > > | ^~~~ > > > > which otherwise wont happen, so lets build with warnings-as-errors > > disabled in debug mode > > > > given we disable werror, now we don't have to restrict user to compile > > without -O0 > > Did you actually test with -O0? Even if it builds, there may be issues > at runtime: > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F Agreed, last time I've tried it still didn't work in runtime with -O0. If this is the only place where it now fails, can we please work around it like in: https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d and pending: https://patches-gcc.linaro.org/patch/13529/ > > meta/recipes-core/glibc/glibc.inc | 9 - > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/meta/recipes-core/glibc/glibc.inc > > b/meta/recipes-core/glibc/glibc.inc > > index 67af396133..a382a22b73 100644 > > --- a/meta/recipes-core/glibc/glibc.inc > > +++ b/meta/recipes-core/glibc/glibc.inc > > @@ -2,15 +2,6 @@ require glibc-common.inc > > require glibc-ld.inc > > require glibc-testing.inc > > > > -python () { > > -opt_effective = "-O" > > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > -opt_effective = opt > > -if opt_effective == "-O0": > > -bb.fatal("%s can't be built with %s, try -O1 instead" % > > (d.getVar('PN'), opt_effective)) > > -} > > - > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > PROVIDES = "virtual/libc" > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > > b/meta/recipes-core/glibc/glibc_2.29.bb > > index bd8aa6d503..9b6fab066b 100644 > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > --disable-crypt \ > > --with-default-link \ > > --enable-nscd \ > > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 > > -Og', '--disable-werror', '', d)} \ > > ${GLIBCPIE} \ > > ${GLIBC_EXTRA_OECONF}" > > > > -- > > 2.21.0 > > > > -- > > ___ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] GO runtime crashes
On Wed, 27 Feb 2019 at 12:10, Vincent Prince wrote: > > Hello everyone, > > I'm trying to add node_exporter from Prometheus project to an Intel x86-64 > machine. > I made the following recipe: > > https://github.com/nefethael/meta-random/blob/master/recipes-connectivity/prometheus/go-nodeexporter_0.18.0.bb > > node_exporter is crashing with multiple different runtime errors, so I raised > an issue on github: > https://github.com/prometheus/node_exporter/issues/1244 I've faced the same kind of issue with a custom application of ours. The fix was to add the following line to the recipe: GO_LINKSHARED = "" Let me know if that helps. Cheers, Damien -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
On Wed, Feb 27, 2019 at 12:51 PM Khem Raj wrote: > > Since compiler does not optimize away a lot of stuff we end up with > Werrors e.g. > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used > uninitialized in this function [-Werror=maybe-uninitialized] > 114 |+ (k * ln2_lo + c))) - f); > | ^~~~ > > which otherwise wont happen, so lets build with warnings-as-errors > disabled in debug mode > > given we disable werror, now we don't have to restrict user to compile > without -O0 Did you actually test with -O0? Even if it builds, there may be issues at runtime: https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > Signed-off-by: Khem Raj > --- > meta/recipes-core/glibc/glibc.inc | 9 - > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > 2 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/meta/recipes-core/glibc/glibc.inc > b/meta/recipes-core/glibc/glibc.inc > index 67af396133..a382a22b73 100644 > --- a/meta/recipes-core/glibc/glibc.inc > +++ b/meta/recipes-core/glibc/glibc.inc > @@ -2,15 +2,6 @@ require glibc-common.inc > require glibc-ld.inc > require glibc-testing.inc > > -python () { > -opt_effective = "-O" > -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > -opt_effective = opt > -if opt_effective == "-O0": > -bb.fatal("%s can't be built with %s, try -O1 instead" % > (d.getVar('PN'), opt_effective)) > -} > - > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > PROVIDES = "virtual/libc" > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb > b/meta/recipes-core/glibc/glibc_2.29.bb > index bd8aa6d503..9b6fab066b 100644 > --- a/meta/recipes-core/glibc/glibc_2.29.bb > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > --disable-crypt \ > --with-default-link \ > --enable-nscd \ > +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', > '--disable-werror', '', d)} \ > ${GLIBCPIE} \ > ${GLIBC_EXTRA_OECONF}" > > -- > 2.21.0 > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] glibc: Move common bits to gcc-common.inc
On Wed, 2019-02-27 at 13:29 -0800, Khem Raj wrote: > We have been duplicating few variables in glibc recipes which could > actually be defined once, therefore move them to gcc-common.inc which gcc-common.inc for glibc? :) Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] glibc: Move common bits to gcc-common.inc
We have been duplicating few variables in glibc recipes which could actually be defined once, therefore move them to gcc-common.inc which is included by all glibc family of recipes Signed-off-by: Khem Raj --- meta/recipes-core/glibc/glibc-collateral.inc | 18 +++--- meta/recipes-core/glibc/glibc-common.inc | 14 ++ meta/recipes-core/glibc/glibc.inc| 8 meta/recipes-core/glibc/glibc_2.29.bb| 5 - 4 files changed, 17 insertions(+), 28 deletions(-) diff --git a/meta/recipes-core/glibc/glibc-collateral.inc b/meta/recipes-core/glibc/glibc-collateral.inc index 3379270566..52880791a7 100644 --- a/meta/recipes-core/glibc/glibc-collateral.inc +++ b/meta/recipes-core/glibc/glibc-collateral.inc @@ -1,15 +1,7 @@ -INHIBIT_DEFAULT_DEPS = "1" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ - file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780" -HOMEPAGE = "http://www.gnu.org/software/libc/index.html; +require glibc-common.inc -# This needs to match with glibc.inc, otherwise glibc-scripts and glibc-locale -# will fail to find main glibc, for details see -# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ + file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780" deltask do_fetch deltask do_unpack @@ -18,7 +10,3 @@ do_configure[noexec] = "1" do_compile[noexec] = "1" do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale" - -COMPATIBLE_HOST_libc-musl_class-target = "null" - -PV = "2.29" diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index b05e162f88..cded384592 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -7,4 +7,18 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + CVE_PRODUCT = "glibc" + +INHIBIT_DEFAULT_DEPS = "1" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" +# +# We will skip parsing glibc when target system C library selection is not glibc +# this helps in easing out parsing for non-glibc system libraries +# +COMPATIBLE_HOST_libc-musl_class-target = "null" + +PV = "2.29" diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index a382a22b73..252fd56c13 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -25,14 +25,6 @@ CACHED_CONFIGUREVARS_append_mipsarch = " libc_cv_ld_gnu_indirect_function=no" GLIBC_EXTRA_OECONF ?= "" GLIBC_EXTRA_OECONF_class-nativesdk = "" -INHIBIT_DEFAULT_DEPS = "1" - -# This needs to match with glibc-collateral.inc, otherwise glibc-scripts and glibc-locale -# will fail to find main glibc, for details see -# http://lists.openembedded.org/pipermail/openembedded-core/2015-January/100679.html -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" # glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer # PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb index 9b6fab066b..4577350eae 100644 --- a/meta/recipes-core/glibc/glibc_2.29.bb +++ b/meta/recipes-core/glibc/glibc_2.29.bb @@ -69,11 +69,6 @@ BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" GLIBC_BROKEN_LOCALES = "" -# -# We will skip parsing glibc when target system C library selection is not glibc -# this helps in easing out parsing for non-glibc system libraries -# -COMPATIBLE_HOST_libc-musl_class-target = "null" GLIBCPIE ??= "" -- 2.21.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] glibc: Disable Werror when building with debug options
Since compiler does not optimize away a lot of stuff we end up with Werrors e.g. ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] 114 |+ (k * ln2_lo + c))) - f); | ^~~~ which otherwise wont happen, so lets build with warnings-as-errors disabled in debug mode given we disable werror, now we don't have to restrict user to compile without -O0 Signed-off-by: Khem Raj --- meta/recipes-core/glibc/glibc.inc | 9 - meta/recipes-core/glibc/glibc_2.29.bb | 1 + 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index 67af396133..a382a22b73 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -2,15 +2,6 @@ require glibc-common.inc require glibc-ld.inc require glibc-testing.inc -python () { -opt_effective = "-O" -for opt in d.getVar('SELECTED_OPTIMIZATION').split(): -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): -opt_effective = opt -if opt_effective == "-O0": -bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) -} - DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" PROVIDES = "virtual/libc" diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb index bd8aa6d503..9b6fab066b 100644 --- a/meta/recipes-core/glibc/glibc_2.29.bb +++ b/meta/recipes-core/glibc/glibc_2.29.bb @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --disable-crypt \ --with-default-link \ --enable-nscd \ +${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ ${GLIBCPIE} \ ${GLIBC_EXTRA_OECONF}" -- 2.21.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2 1/2] bitbake.conf: Use -Og in DEBUG_OPTIMIZATION
-Og is for optimized debugging experience. this makes this consistent across different compilers especially gcc and clang, -O in clang is equal to -O2 where as in gcc its similar to -O1 so it was not giving consistent debugging experience across compilers Signed-off-by: Khem Raj --- v2: Change documentation to reflect the change and also build host flags meta/conf/bitbake.conf | 4 ++-- meta/conf/documentation.conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 1c5369ec98..85aab98462 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -610,10 +610,10 @@ DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}" # Disabled until the option works properly -feliminate-dwarf2-dups FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}" -DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" +DEBUG_OPTIMIZATION = "-Og -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}" SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION DEBUG_BUILD" -BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-O -g -feliminate-unused-debug-types -fno-omit-frame-pointer', '-O2', d)} -pipe" +BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-Og -g -feliminate-unused-debug-types -fno-omit-frame-pointer', '-O2', d)} -pipe" BUILD_OPTIMIZATION[vardeps] += "DEBUG_BUILD" ## diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index 4d2a707563..c2c96ecf1e 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -125,7 +125,7 @@ D[doc] = "The destination directory." DATE[doc] = "The date the build was started using YMD format." DATETIME[doc] = "The date and time the build was started." DEBUG_BUILD[doc] = "Specifies to build packages with debugging information. This influences the value of the SELECTED_OPTIMIZATION variable." -DEBUG_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe'." +DEBUG_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-Og -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe'." DEFAULT_PREFERENCE[doc] = "Specifies a weak bias for recipe selection priority." DEPENDS[doc] = "Lists a recipe's build-time dependencies (i.e. other recipe files)." DEPLOY_DIR[doc] = "Points to the general area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system." -- 2.21.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Information about non-traditional uses of the Yocto Project and OpenEmbedded
Sounds like good potential for a section or chapter in the user docs. Scott On Wed, Feb 27, 2019 at 12:01 PM Philip Balister wrote: > During the last OpenEmbedded developer meeting, it became clear that > people are using the Yocto project/OpenEmbedded in spaces outside what > we think of as traditional embedded. Lieu Ta is working on a > presentation for the Linux Foundation Leadership Summit and we would > like to collect as many "unusual" applications are possible from > companies we can publicly acknowledge. Unusual is edge, containers, > desktop, etc. Or even really interesting embedded applications :) > > Please drop me an email (off list is fine) with enough info for us to > add you to a slide and acknowledge your work. > > Thanks, > > Philip > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] Information about non-traditional uses of the Yocto Project and OpenEmbedded
During the last OpenEmbedded developer meeting, it became clear that people are using the Yocto project/OpenEmbedded in spaces outside what we think of as traditional embedded. Lieu Ta is working on a presentation for the Linux Foundation Leadership Summit and we would like to collect as many "unusual" applications are possible from companies we can publicly acknowledge. Unusual is edge, containers, desktop, etc. Or even really interesting embedded applications :) Please drop me an email (off list is fine) with enough info for us to add you to a slide and acknowledge your work. Thanks, Philip -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] bitbake.conf: Use -Og in DEBUG_OPTIMIZATION
On Tue, Feb 26, 2019 at 11:19 PM Adrian Bunk wrote: > > On Tue, Feb 26, 2019 at 11:04:20PM -0800, Khem Raj wrote: > > -Og is for optimized debugging experience. > > this makes this consistent across different compilers especially gcc and > > clang, -O in clang is equal to -O2 where as in gcc its similar to -O1 > > so it was not giving consistent debugging experience across compilers > > > > Signed-off-by: Khem Raj > > --- > > meta/conf/bitbake.conf | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > > index 1c5369ec98..758e89f126 100644 > > --- a/meta/conf/bitbake.conf > > +++ b/meta/conf/bitbake.conf > > @@ -610,7 +610,7 @@ DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types > > ${DEBUG_PREFIX_MAP}" > > > > # Disabled until the option works properly -feliminate-dwarf2-dups > > FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}" > > -DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" > > +DEBUG_OPTIMIZATION = "-Og -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" > > SELECTED_OPTIMIZATION = "${@d.getVar(oe.utils.vartrue('DEBUG_BUILD', > > 'DEBUG_OPTIMIZATION', 'FULL_OPTIMIZATION', d))}" > > SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION > > DEBUG_BUILD" > > BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-O -g > > -feliminate-unused-debug-types -fno-omit-frame-pointer', '-O2', d)} -pipe" > >^^ > > Another place that might have to be updated. I did not do this intentionally, since we do not control gcc on build host, but rethinking it a bit I think it might be doable, if all hosts we support use gcc 4.8 or newer for gcc, which I see is the case of centos7 uses gcc 4.8, so thats the oldest supported distro we list. > > And the ref/dev-maunuals also need updating (they document -O as default). yes, thats taken care of locally for next rev > > cu > Adrian > > -- > >"Is there not promise of rain?" Ling Tan asked suddenly out > of the darkness. There had been need of rain for many days. >"Only a promise," Lao Er said. >Pearl S. Buck - Dragon Seed > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] libpcre: enable JIT
PCRE has an optional JIT for performance. Add a PACKAGECONFIG for this, enabled by default. Also add a patch so that auto-detection of JIT availablity, which is required to enable the JIT by default, works with out-of-tree builds. Signed-off-by: Ross Burton --- .../libpcre/libpcre/out-of-tree.patch | 26 ++ meta/recipes-support/libpcre/libpcre_8.43.bb | 4 +++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libpcre/libpcre/out-of-tree.patch diff --git a/meta/recipes-support/libpcre/libpcre/out-of-tree.patch b/meta/recipes-support/libpcre/libpcre/out-of-tree.patch new file mode 100644 index 000..687dcc034da --- /dev/null +++ b/meta/recipes-support/libpcre/libpcre/out-of-tree.patch @@ -0,0 +1,26 @@ +In out-of-tree builds the #include fails because $srcdir isn't in the include path. Set CPPFLAGS so that it is. + +Upstream-Status: Submitted [https://bugs.exim.org/show_bug.cgi?id=2379] +Signed-off-by: Ross Burton + +Index: configure.ac +=== +--- a/configure.ac (revision 1749) b/configure.ac (working copy) +@@ -159,6 +159,8 @@ + + if test "$enable_jit" = "auto"; then + AC_LANG(C) ++ SAVE_CPPFLAGS=$CPPFLAGS ++ CPPFLAGS=-I$srcdir + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ + #define SLJIT_CONFIG_AUTO 1 + #include "sljit/sljitConfigInternal.h" +@@ -165,6 +167,7 @@ + #if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) + #error unsupported + #endif]])], enable_jit=yes, enable_jit=no) ++ CPPFLAGS=$SAVE_CPPFLAGS + fi + + # Handle --disable-pcregrep-jit (enabled by default) diff --git a/meta/recipes-support/libpcre/libpcre_8.43.bb b/meta/recipes-support/libpcre/libpcre_8.43.bb index e28615a8ba7..08314efb9e4 100644 --- a/meta/recipes-support/libpcre/libpcre_8.43.bb +++ b/meta/recipes-support/libpcre/libpcre_8.43.bb @@ -9,6 +9,7 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENCE;md5=91bee59d1b327eb1599b4c673e2fb3d1" SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ file://fix-pcre-name-collision.patch \ + file://out-of-tree.patch \ file://run-ptest \ file://Makefile \ " @@ -23,13 +24,14 @@ S = "${WORKDIR}/pcre-${PV}" PROVIDES += "pcre" DEPENDS += "bzip2 zlib" -PACKAGECONFIG ??= "pcre8 unicode-properties" +PACKAGECONFIG ??= "pcre8 unicode-properties jit" PACKAGECONFIG[pcre8] = "--enable-pcre8,--disable-pcre8" PACKAGECONFIG[pcre16] = "--enable-pcre16,--disable-pcre16" PACKAGECONFIG[pcre32] = "--enable-pcre32,--disable-pcre32" PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline," PACKAGECONFIG[unicode-properties] = "--enable-unicode-properties,--disable-unicode-properties" +PACKAGECONFIG[jit] = "--enable-jit=auto,--disable-jit" BINCONFIG = "${bindir}/pcre-config" -- 2.11.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] libpcre: recipe cleanup
The following options are the defaults, so remove them: --enable-newline-is-lf --with-match-size=2 --with-match-limit=1000 We don't appear to need to pass -D_REENTRANT anymore (added with no explanation to oe-classic in 2006). Explicitly adding -lstdc++ doesn't appear to be required anymore (added for PowerPC in 2008). This recipe has always rebuilt the character tables but back in PCRE 4.4 (first added to OE) a copy of the tables wasn't distributed with the tarball so this was required. Since 2007 the tarball includes the tables for ASCII and regeneration is only required if we wish to use EBCDIC, which we do not. Drop the patch adding CC_FOR_BUILD support and remove --enable-rebuild-chartables Signed-off-by: Ross Burton --- .../libpcre/libpcre/pcre-cross.patch | 48 -- meta/recipes-support/libpcre/libpcre_8.43.bb | 17 +--- 2 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 meta/recipes-support/libpcre/libpcre/pcre-cross.patch diff --git a/meta/recipes-support/libpcre/libpcre/pcre-cross.patch b/meta/recipes-support/libpcre/libpcre/pcre-cross.patch deleted file mode 100644 index 83880f70983..000 --- a/meta/recipes-support/libpcre/libpcre/pcre-cross.patch +++ /dev/null @@ -1,48 +0,0 @@ -Upstream-Status: Pending - pcre-8.32.orig/Makefile.am -+++ pcre-8.32/Makefile.am -@@ -197,8 +197,18 @@ bin_SCRIPTS = pcre-config - -+CC_FOR_BUILD = @CC_FOR_BUILD@ -+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ -+CCLD_FOR_BUILD = @CCLD_FOR_BUILD@ -+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ -+ - if WITH_REBUILD_CHARTABLES - - noinst_PROGRAMS += dftables - dftables_SOURCES = dftables.c -+dftables_LINK = $(CCLD_FOR_BUILD) -o $@ -+dftables_LDFLAGS = $(LDFLAGS_FOR_BUILD) -+ -+dftables.o: $(srcdir)/dftables.c -+ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/dftables.c - - pcre_chartables.c: dftables$(EXEEXT) - ./dftables$(EXEEXT) $@ pcre-8.32.orig/configure.ac -+++ pcre-8.32/configure.ac -@@ -72,6 +72,22 @@ then - fi - fi - -+if test x"$cross_compiling" = xyes; then -+CC_FOR_BUILD="${CC_FOR_BUILD-gcc}" -+CCLD_FOR_BUILD="${CCLD_FOR_BUILD-gcc}" -+CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD}" -+LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD}" -+else -+CC_FOR_BUILD="${CC_FOR_BUILD-\$(CC)}" -+CCLD_FOR_BUILD="${CCLD_FOR_BUILD-\$(CCLD)}" -+CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-\$(CFLAGS)}" -+LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD-\$(LDFLAGS)}" -+fi -+AC_ARG_VAR(CC_FOR_BUILD, [build system C compiler]) -+AC_ARG_VAR(CCLD_FOR_BUILD, [build system C linker frontend]) -+AC_ARG_VAR(CFLAGS_FOR_BUILD, [build system C compiler arguments]) -+AC_ARG_VAR(LDFLAGS_FOR_BUILD, [build system C linker frontend arguments]) -+ - # AC_PROG_CXX will return "g++" even if no c++ compiler is installed. - # Check for that case, and just disable c++ code if g++ doesn't run. - AC_LANG_PUSH(C++) diff --git a/meta/recipes-support/libpcre/libpcre_8.43.bb b/meta/recipes-support/libpcre/libpcre_8.43.bb index d54b3941976..e28615a8ba7 100644 --- a/meta/recipes-support/libpcre/libpcre_8.43.bb +++ b/meta/recipes-support/libpcre/libpcre_8.43.bb @@ -8,7 +8,6 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENCE;md5=91bee59d1b327eb1599b4c673e2fb3d1" SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ - file://pcre-cross.patch \ file://fix-pcre-name-collision.patch \ file://run-ptest \ file://Makefile \ @@ -36,21 +35,7 @@ BINCONFIG = "${bindir}/pcre-config" inherit autotools binconfig-disabled ptest -EXTRA_OECONF = "\ ---enable-newline-is-lf \ ---enable-rebuild-chartables \ ---enable-utf \ ---with-link-size=2 \ ---with-match-limit=1000 \ -" - -# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to -# set CFLAGS_FOR_BUILD, required for the libpcre build. -BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}" -CFLAGS += "-D_REENTRANT" -CXXFLAGS_append_powerpc = " -lstdc++" - -export CCLD_FOR_BUILD ="${BUILD_CCLD}" +EXTRA_OECONF = "--enable-utf" PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc" -- 2.11.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V2] gcc: Update to 8.3 latest on 8.x release
Signed-off-by: Khem Raj --- v2: Add checksums and fix version meta/recipes-devtools/gcc/gcc-8.2.inc | 115 - ...bgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 465 -- .../gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch | 44 -- meta/recipes-devtools/gcc/gcc-8.3.inc | 111 + ...0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 14 +- .../0002-gcc-poison-system-directories.patch} | 39 +- ...gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch} | 10 +- .../0004-64-bit-multilib-hack.patch} | 6 +- .../0005-optional-libstdc.patch} | 18 +- ...cc-disable-MASK_RELAX_PIC_CALLS-bit.patch} | 10 +- .../0007-COLLECT_GCC_OPTIONS.patch} | 6 +- ...s.h-in-B-instead-of-S-and-t-oe-in-B.patch} | 10 +- .../0009-fortran-cross-compile-hack.patch}| 6 +- .../0010-cpp-honor-sysroot.patch} | 6 +- .../0011-MIPS64-Default-to-N64-ABI.patch} | 10 +- ...MIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch} | 28 +- ...cc-Fix-argument-list-too-long-error.patch} | 6 +- .../0014-Disable-sdt.patch} | 16 +- .../0015-libtool.patch} | 6 +- ...-fix-v4bx-to-linker-to-support-EABI.patch} | 6 +- ...config-files-from-B-instead-of-usin.patch} | 10 +- ...r-from-.la-which-usually-points-to-.patch} | 6 +- .../0019-export-CPP.patch}| 8 +- ...LIB_OSDIRNAMES-and-other-multilib-o.patch} | 6 +- ...-target-gcc-headers-can-be-included.patch} | 42 +- ...ld-with-disable-dependency-tracking.patch} | 6 +- ...-directory-during-relink-if-inst_pr.patch} | 6 +- ...R-replacement-instead-of-hardcoding.patch} | 11 +- ...5-aarch64-Add-support-for-musl-ldso.patch} | 10 +- ...fix-libcc1-s-install-path-and-rpath.patch} | 6 +- ...e-sysroot-support-for-nativesdk-gcc.patch} | 6 +- ...root-gcc-version-specific-dirs-with.patch} | 6 +- ...us-_FOR_BUILD-and-related-variables.patch} | 16 +- ...30-nios2-Define-MUSL_DYNAMIC_LINKER.patch} | 10 +- ...-to-link-commandline-for-musl-targe.patch} | 10 +- ...bgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 125 + ...sing-LDFLAGS-not-just-SHLIB_LDFLAGS.patch} | 6 +- ...s-for-__cpu_indicator_init-instead-.patch} | 19 +- .../0035-sync-gcc-stddef.h-with-musl.patch} | 10 +- ...fault-in-precompiled-header-generat.patch} | 6 +- .../0037-Fix-for-testsuite-failure.patch} | 6 +- ...e-introduce-spe-commandline-options.patch} | 6 +- .../0039-riscv-Disable-multilib-for-OE.patch} | 6 +- ...powerpc64-Add-support-for-musl-ldso.patch} | 12 +- ...adian_8.2.bb => gcc-cross-canadian_8.3.bb} | 0 .../{gcc-cross_8.2.bb => gcc-cross_8.3.bb}| 0 ...cc-crosssdk_8.2.bb => gcc-crosssdk_8.3.bb} | 0 ...{gcc-runtime_8.2.bb => gcc-runtime_8.3.bb} | 0 ...anitizers_8.2.bb => gcc-sanitizers_8.3.bb} | 0 .../{gcc-source_8.2.bb => gcc-source_8.3.bb} | 0 .../gcc/{gcc_8.2.bb => gcc_8.3.bb}| 0 ...c-initial_8.2.bb => libgcc-initial_8.3.bb} | 0 .../gcc/{libgcc_8.2.bb => libgcc_8.3.bb} | 0 ...{libgfortran_8.2.bb => libgfortran_8.3.bb} | 0 54 files changed, 464 insertions(+), 823 deletions(-) delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2.inc delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch create mode 100644 meta/recipes-devtools/gcc/gcc-8.3.inc rename meta/recipes-devtools/gcc/{gcc-8.2 => gcc-8.3}/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch (79%) rename meta/recipes-devtools/gcc/{gcc-8.2/0003-gcc-poison-system-directories.patch => gcc-8.3/0002-gcc-poison-system-directories.patch} (85%) rename meta/recipes-devtools/gcc/{gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch => gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch} (93%) rename meta/recipes-devtools/gcc/{gcc-8.2/0006-64-bit-multilib-hack.patch => gcc-8.3/0004-64-bit-multilib-hack.patch} (97%) rename meta/recipes-devtools/gcc/{gcc-8.2/0007-optional-libstdc.patch => gcc-8.3/0005-optional-libstdc.patch} (92%) rename meta/recipes-devtools/gcc/{gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch => gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch} (89%) rename meta/recipes-devtools/gcc/{gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch => gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch} (89%) rename meta/recipes-devtools/gcc/{gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch => gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch} (93%) rename meta/recipes-devtools/gcc/{gcc-8.2/0011-fortran-cross-compile-hack.patch => gcc-8.3/0009-fortran-cross-compile-hack.patch} (91%) rename meta/recipes-devtools/gcc/{gcc-8.2/0012-cpp-honor-sysroot.patch => gcc-8.3/0010-cpp-honor-sysroot.patch} (94%) rename meta/recipes-devtools/gcc/{gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch => gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch} (85%) rename
[OE-core] [PATCH] gcc: Update to 8.3 latest on 8.x release
Signed-off-by: Khem Raj --- meta/recipes-devtools/gcc/gcc-8.2.inc | 115 - ...bgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 465 -- .../gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch | 44 -- meta/recipes-devtools/gcc/gcc-8.3.inc | 109 ...0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 14 +- .../0002-gcc-poison-system-directories.patch} | 39 +- ...gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch} | 10 +- .../0004-64-bit-multilib-hack.patch} | 6 +- .../0005-optional-libstdc.patch} | 18 +- ...cc-disable-MASK_RELAX_PIC_CALLS-bit.patch} | 10 +- .../0007-COLLECT_GCC_OPTIONS.patch} | 6 +- ...s.h-in-B-instead-of-S-and-t-oe-in-B.patch} | 10 +- .../0009-fortran-cross-compile-hack.patch}| 6 +- .../0010-cpp-honor-sysroot.patch} | 6 +- .../0011-MIPS64-Default-to-N64-ABI.patch} | 10 +- ...MIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch} | 28 +- ...cc-Fix-argument-list-too-long-error.patch} | 6 +- .../0014-Disable-sdt.patch} | 16 +- .../0015-libtool.patch} | 6 +- ...-fix-v4bx-to-linker-to-support-EABI.patch} | 6 +- ...config-files-from-B-instead-of-usin.patch} | 10 +- ...r-from-.la-which-usually-points-to-.patch} | 6 +- .../0019-export-CPP.patch}| 8 +- ...LIB_OSDIRNAMES-and-other-multilib-o.patch} | 6 +- ...-target-gcc-headers-can-be-included.patch} | 42 +- ...ld-with-disable-dependency-tracking.patch} | 6 +- ...-directory-during-relink-if-inst_pr.patch} | 6 +- ...R-replacement-instead-of-hardcoding.patch} | 11 +- ...5-aarch64-Add-support-for-musl-ldso.patch} | 10 +- ...fix-libcc1-s-install-path-and-rpath.patch} | 6 +- ...e-sysroot-support-for-nativesdk-gcc.patch} | 6 +- ...root-gcc-version-specific-dirs-with.patch} | 6 +- ...us-_FOR_BUILD-and-related-variables.patch} | 16 +- ...30-nios2-Define-MUSL_DYNAMIC_LINKER.patch} | 10 +- ...-to-link-commandline-for-musl-targe.patch} | 10 +- ...bgcc-Add-knob-to-use-ldbl-128-on-ppc.patch | 125 + ...sing-LDFLAGS-not-just-SHLIB_LDFLAGS.patch} | 6 +- ...s-for-__cpu_indicator_init-instead-.patch} | 19 +- .../0035-sync-gcc-stddef.h-with-musl.patch} | 10 +- ...fault-in-precompiled-header-generat.patch} | 6 +- .../0037-Fix-for-testsuite-failure.patch} | 6 +- ...e-introduce-spe-commandline-options.patch} | 6 +- .../0039-riscv-Disable-multilib-for-OE.patch} | 6 +- ...powerpc64-Add-support-for-musl-ldso.patch} | 12 +- ...adian_8.2.bb => gcc-cross-canadian_8.3.bb} | 0 .../{gcc-cross_8.2.bb => gcc-cross_8.3.bb}| 0 ...cc-crosssdk_8.2.bb => gcc-crosssdk_8.3.bb} | 0 ...{gcc-runtime_8.2.bb => gcc-runtime_8.3.bb} | 0 ...anitizers_8.2.bb => gcc-sanitizers_8.3.bb} | 0 .../{gcc-source_8.2.bb => gcc-source_8.3.bb} | 0 .../gcc/{gcc_8.2.bb => gcc_8.3.bb}| 0 ...c-initial_8.2.bb => libgcc-initial_8.3.bb} | 0 .../gcc/{libgcc_8.2.bb => libgcc_8.3.bb} | 0 ...{libgfortran_8.2.bb => libgfortran_8.3.bb} | 0 54 files changed, 462 insertions(+), 823 deletions(-) delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2.inc delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0034-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch delete mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch create mode 100644 meta/recipes-devtools/gcc/gcc-8.3.inc rename meta/recipes-devtools/gcc/{gcc-8.2 => gcc-8.3}/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch (79%) rename meta/recipes-devtools/gcc/{gcc-8.2/0003-gcc-poison-system-directories.patch => gcc-8.3/0002-gcc-poison-system-directories.patch} (85%) rename meta/recipes-devtools/gcc/{gcc-8.2/0005-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch => gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch} (93%) rename meta/recipes-devtools/gcc/{gcc-8.2/0006-64-bit-multilib-hack.patch => gcc-8.3/0004-64-bit-multilib-hack.patch} (97%) rename meta/recipes-devtools/gcc/{gcc-8.2/0007-optional-libstdc.patch => gcc-8.3/0005-optional-libstdc.patch} (92%) rename meta/recipes-devtools/gcc/{gcc-8.2/0008-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch => gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch} (89%) rename meta/recipes-devtools/gcc/{gcc-8.2/0009-COLLECT_GCC_OPTIONS.patch => gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch} (89%) rename meta/recipes-devtools/gcc/{gcc-8.2/0010-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch => gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch} (93%) rename meta/recipes-devtools/gcc/{gcc-8.2/0011-fortran-cross-compile-hack.patch => gcc-8.3/0009-fortran-cross-compile-hack.patch} (91%) rename meta/recipes-devtools/gcc/{gcc-8.2/0012-cpp-honor-sysroot.patch => gcc-8.3/0010-cpp-honor-sysroot.patch} (94%) rename meta/recipes-devtools/gcc/{gcc-8.2/0013-MIPS64-Default-to-N64-ABI.patch => gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch} (85%) rename
[OE-core] [PATCH 5/5] resulttool/report: Ensure ptest results are sorted
Signed-off-by: Richard Purdie --- scripts/lib/resulttool/template/test_report_full_text.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/resulttool/template/test_report_full_text.txt b/scripts/lib/resulttool/template/test_report_full_text.txt index 5081594cf27..590f35c7dd8 100644 --- a/scripts/lib/resulttool/template/test_report_full_text.txt +++ b/scripts/lib/resulttool/template/test_report_full_text.txt @@ -16,7 +16,7 @@ PTest Result Summary -- {{ 'Recipe'.ljust(maxlen['ptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -- -{% for ptest in ptests %} +{% for ptest in ptests |sort %} {{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[ptest]['duration']|string) }} {% endfor %} -- -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/5] resulttool/report: Ensure test suites with no results show up on the report
ptest suites with no results don't show up on the reports even though we have a duration for them. Fix this so the fact they report no tests is visible. Signed-off-by: Richard Purdie --- scripts/lib/resulttool/report.py | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/lib/resulttool/report.py b/scripts/lib/resulttool/report.py index 5ffe262f89b..ff1b32c7706 100644 --- a/scripts/lib/resulttool/report.py +++ b/scripts/lib/resulttool/report.py @@ -30,6 +30,14 @@ class ResultsTextReport(object): def handle_ptest_result(self, k, status, result): if k == 'ptestresult.sections': +# Ensure tests without any test results still show up on the report +for suite in result['ptestresult.sections']: +if suite not in self.ptests: +self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} +if 'duration' in result['ptestresult.sections'][suite]: +self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration'] +if 'timeout' in result['ptestresult.sections'][suite]: +self.ptests[suite]['duration'] += " T" return try: _, suite, test = k.split(".", 2) @@ -48,11 +56,6 @@ class ResultsTextReport(object): for tk in self.result_types: if status in self.result_types[tk]: self.ptests[suite][tk] += 1 -if 'ptestresult.sections' in result and suite in result['ptestresult.sections']: -if 'duration' in result['ptestresult.sections'][suite]: -self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration'] -if 'timeout' in result['ptestresult.sections'][suite]: -self.ptests[suite]['duration'] += " T" def get_aggregated_test_result(self, logger, testresult): test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/5] resulttool/report: Handle missing metadata sections more cleanly
Currently some older results files cause the code to give tracebacks. Handle these missing sections more cleanly. Signed-off-by: Richard Purdie --- scripts/lib/resulttool/report.py | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/lib/resulttool/report.py b/scripts/lib/resulttool/report.py index 2f5ea308e21..5ffe262f89b 100644 --- a/scripts/lib/resulttool/report.py +++ b/scripts/lib/resulttool/report.py @@ -31,9 +31,12 @@ class ResultsTextReport(object): def handle_ptest_result(self, k, status, result): if k == 'ptestresult.sections': return -_, suite, test = k.split(".", 2) +try: +_, suite, test = k.split(".", 2) +except ValueError: +return # Handle 'glib-2.0' -if suite not in result['ptestresult.sections']: +if 'ptestresult.sections' in result and suite not in result['ptestresult.sections']: try: _, suite, suite1, test = k.split(".", 3) if suite + "." + suite1 in result['ptestresult.sections']: @@ -45,7 +48,7 @@ class ResultsTextReport(object): for tk in self.result_types: if status in self.result_types[tk]: self.ptests[suite][tk] += 1 -if suite in result['ptestresult.sections']: +if 'ptestresult.sections' in result and suite in result['ptestresult.sections']: if 'duration' in result['ptestresult.sections'][suite]: self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration'] if 'timeout' in result['ptestresult.sections'][suite]: -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/5] resulttool/store: Handle results files for multiple revisions
Currently we cant store results if the results files span multiple different build revisons. Remove this limitation by iterating. Signed-off-by: Richard Purdie --- scripts/lib/resulttool/store.py | 39 +++-- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py index 6744fb3c05d..43e57b913c6 100644 --- a/scripts/lib/resulttool/store.py +++ b/scripts/lib/resulttool/store.py @@ -29,7 +29,7 @@ def store(args, logger): try: results = {} logger.info('Reading files from %s' % args.source) -for root, dirs, files in os.walk(args.source): +for root, dirs, files in os.walk(args.source): for name in files: f = os.path.join(root, name) if name == "testresults.json": @@ -38,7 +38,8 @@ def store(args, logger): dst = f.replace(args.source, tempdir + "/") os.makedirs(os.path.dirname(dst), exist_ok=True) shutil.copyfile(f, dst) -resultutils.save_resultsdata(results, tempdir) + +revisions = {} if not results and not args.all: if args.allow_empty: @@ -47,26 +48,32 @@ def store(args, logger): logger.error("No results found to store") return 1 -keywords = {'branch': None, 'commit': None, 'commit_count': None} - # Find the branch/commit/commit_count and ensure they all match for suite in results: for result in results[suite]: config = results[suite][result]['configuration']['LAYERS']['meta'] -for k in keywords: -if keywords[k] is None: -keywords[k] = config.get(k) -if config.get(k) != keywords[k]: -logger.error("Mismatched source commit/branch/count: %s vs %s" % (config.get(k), keywords[k])) -return 1 +revision = (config['commit'], config['branch'], str(config['commit_count'])) +if revision not in revisions: +revisions[revision] = {} +if suite not in revisions[revision]: +revisions[revision][suite] = {} +revisions[revision][suite] = results[suite][result] + +logger.info("Found %d revisions to store" % len(revisions)) + +for r in revisions: +results = revisions[r] +keywords = {'commit': r[0], 'branch': r[1], "commit_count": r[2]} +subprocess.check_call(["find", tempdir, "!", "-path", "./.git/*", "-delete"]) +resultutils.save_resultsdata(results, tempdir) -logger.info('Storing test result into git repository %s' % args.git_dir) +logger.info('Storing test result into git repository %s' % args.git_dir) -gitarchive.gitarchive(tempdir, args.git_dir, False, False, - "Results of {branch}:{commit}", "branch: {branch}\ncommit: {commit}", "{branch}", - False, "{branch}/{commit_count}-g{commit}/{tag_number}", - 'Test run #{tag_number} of {branch}:{commit}', '', - [], [], False, keywords, logger) +gitarchive.gitarchive(tempdir, args.git_dir, False, False, + "Results of {branch}:{commit}", "branch: {branch}\ncommit: {commit}", "{branch}", + False, "{branch}/{commit_count}-g{commit}/{tag_number}", + 'Test run #{tag_number} of {branch}:{commit}', '', + [], [], False, keywords, logger) finally: subprocess.check_call(["rm", "-rf", tempdir]) -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/5] openssl: Fix ptest test output translation
openssl-ptest was recording now results, despite most tests passing. Fix so that the successes/skips/failures are reported correctly. Signed-off-by: Richard Purdie --- meta/recipes-connectivity/openssl/openssl/run-ptest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/openssl/openssl/run-ptest b/meta/recipes-connectivity/openssl/openssl/run-ptest index 0a620dea74a..3fb22471f8c 100644 --- a/meta/recipes-connectivity/openssl/openssl/run-ptest +++ b/meta/recipes-connectivity/openssl/openssl/run-ptest @@ -9,4 +9,4 @@ export TOP=. # OPENSSL_ENGINES is relative from the test binaries export OPENSSL_ENGINES=../engines -perl ./test/run_tests.pl $* +perl ./test/run_tests.pl $* | perl -0pe 's#(.*) \.*.ok#PASS: \1#g; s#(.*) \.*.skipped: (.*)#SKIP: \1 (\2)#g; s#(.*) \.*.\nDubious#FAIL: \1#;' -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/3] python3: depend on qemu-native, not qemu-helper-native
qemu-helper-native would erroneously pull in the qemu system parts, where we only want usermode parts for pgo. Signed-off-by: Alexander Kanavin --- meta/recipes-devtools/python/python3_3.7.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3_3.7.2.bb b/meta/recipes-devtools/python/python3_3.7.2.bb index 4a1cbae8670..9626ee546b2 100644 --- a/meta/recipes-devtools/python/python3_3.7.2.bb +++ b/meta/recipes-devtools/python/python3_3.7.2.bb @@ -72,7 +72,7 @@ PACKAGECONFIG_class-native ??= "readline" PACKAGECONFIG_class-nativesdk ??= "readline" PACKAGECONFIG[readline] = ",,readline" # Use profile guided optimisation by running PyBench inside qemu-user -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-helper-native" +PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/3] local.conf.sample: adjust the qemu configuration to refer to qemu-system-native
Signed-off-by: Alexander Kanavin --- meta-poky/conf/local.conf.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-poky/conf/local.conf.sample b/meta-poky/conf/local.conf.sample index 267108d6850..9068e567dcd 100644 --- a/meta-poky/conf/local.conf.sample +++ b/meta-poky/conf/local.conf.sample @@ -241,7 +241,7 @@ BB_DISKMON_DIRS ??= "\ # seen. The two lines below enable the SDL backend too. By default libsdl2-native will # be built, if you want to use your host's libSDL instead of the minimal libsdl built # by libsdl2-native then uncomment the ASSUME_PROVIDED line below. -PACKAGECONFIG_append_pn-qemu-native = " sdl" +PACKAGECONFIG_append_pn-qemu-system-native = " sdl" PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" #ASSUME_PROVIDED += "libsdl2-native" -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/3] qemu: split the native version into usermode and system parts
The rationale is to streamline the overall build. The system parts are only needed to run target images, and so can be built towards the end of the build process. At the same time, the system parts may need gtk+-native and mesa-native which add significantly to the build time. On the other hand, the usermode parts have almost no dependencies and can be built quickly. They are needed at recipes build time to run target binaries, and so are required quite early in the typical build process. Signed-off-by: Alexander Kanavin --- meta/conf/distro/include/no-static-libs.inc | 1 + .../qemu/qemu-helper-native_1.0.bb| 4 +- meta/recipes-devtools/qemu/qemu-native.inc| 17 .../qemu/qemu-native_3.1.0.bb | 9 ++ .../qemu/qemu-system-native_3.1.0.bb | 23 + meta/recipes-devtools/qemu/qemu-targets.inc | 6 ++ meta/recipes-devtools/qemu/qemu.inc | 97 --- meta/recipes-devtools/qemu/qemu_3.1.0.bb | 68 +++-- 8 files changed, 134 insertions(+), 91 deletions(-) create mode 100644 meta/recipes-devtools/qemu/qemu-native.inc create mode 100644 meta/recipes-devtools/qemu/qemu-native_3.1.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb diff --git a/meta/conf/distro/include/no-static-libs.inc b/meta/conf/distro/include/no-static-libs.inc index cdc53916d07..712d858dc0d 100644 --- a/meta/conf/distro/include/no-static-libs.inc +++ b/meta/conf/distro/include/no-static-libs.inc @@ -4,6 +4,7 @@ DISABLE_STATIC ?= " --disable-static" DISABLE_STATIC_pn-qemu = "" DISABLE_STATIC_pn-qemu-native = "" DISABLE_STATIC_pn-nativesdk-qemu = "" +DISABLE_STATIC_pn-qemu-system-native = "" # pciutils fails build DISABLE_STATIC_pn-pciutils = "" # libcap aborts on unrecognised option diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb index d86b1551762..d9d9da0fade 100644 --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb @@ -1,6 +1,6 @@ SUMMARY = "Helper utilities needed by the runqemu script" LICENSE = "GPLv2" -RDEPENDS_${PN} = "qemu-native" +RDEPENDS_${PN} = "qemu-system-native" PR = "r1" LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999" @@ -20,5 +20,5 @@ do_install() { install tunctl ${D}${bindir}/ } -DEPENDS += "qemu-native" +DEPENDS += "qemu-system-native" addtask addto_recipe_sysroot after do_populate_sysroot before do_build diff --git a/meta/recipes-devtools/qemu/qemu-native.inc b/meta/recipes-devtools/qemu/qemu-native.inc new file mode 100644 index 000..4373ad9e63a --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-native.inc @@ -0,0 +1,17 @@ +inherit native + +require qemu.inc + +SRC_URI_append = " \ +file://0012-fix-libcap-header-issue-on-some-distro.patch \ + file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ +" +EXTRA_OECONF_append = " --python=python2.7" + +EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'" + +LDFLAGS_append = " -fuse-ld=bfd" + +do_install_append() { + ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} +} diff --git a/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb new file mode 100644 index 000..c8acff8e196 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb @@ -0,0 +1,9 @@ +BPN = "qemu" + +DEPENDS = "glib-2.0-native zlib-native" + +require qemu-native.inc + +EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" + +PACKAGECONFIG ??= "" diff --git a/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb new file mode 100644 index 000..5bf528bec12 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb @@ -0,0 +1,23 @@ +BPN = "qemu" + +require qemu-native.inc + +# As some of the files installed by qemu-native and qemu-system-native +# are the same, we depend on qemu-native to get the full installation set +# and avoid file clashes +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native" + +EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}" + +PACKAGECONFIG ??= "fdt alsa kvm" + +# Handle distros such as CentOS 5 32-bit that do not have kvm support +PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" + +do_install_append() { +install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu + +# The following is also installed by qemu-native +rm -f ${D}${datadir}/qemu/trace-events-all +rm -rf ${D}${datadir}/qemu/keymaps +} diff --git a/meta/recipes-devtools/qemu/qemu-targets.inc b/meta/recipes-devtools/qemu/qemu-targets.inc index
[OE-core] GO runtime crashes
Hello everyone, I'm trying to add node_exporter from Prometheus project to an Intel x86-64 machine. I made the following recipe: https://github.com/nefethael/meta-random/blob/master/recipes-connectivity/prometheus/go-nodeexporter_0.18.0.bb node_exporter is crashing with multiple different runtime errors, so I raised an issue on github: https://github.com/prometheus/node_exporter/issues/1244 I just tested node_exporter binary without cross-compiling it with Yocto and it does not crash. So now I'm stuck with it and nobody seems to complain about golang on ML, so if there are some GO experts here to help me on that, Thanks, Vincent -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/3] qemu: split the native version into usermode and system parts
On Wed, Feb 27, 2019 at 5:50 AM Alexander Kanavin wrote: > > The rationale is to streamline the overall build. > > The system parts are only needed to run target images, and so can be > built towards the end of the build process. At the same time, the > system parts need gtk+-native and mesa-native which add significantly > to the build time. > > On the other hand, the usermode parts have almost no dependencies > and can be built quickly. They are needed at recipes build time to > run target binaries, and so are required quite early in the typical > build process. > this is really good patch for non-qemu machines. > Signed-off-by: Alexander Kanavin > --- > meta/conf/distro/include/no-static-libs.inc | 1 + > .../qemu/qemu-helper-native_1.0.bb| 4 +- > meta/recipes-devtools/qemu/qemu-native.inc| 17 > .../qemu/qemu-native_3.1.0.bb | 9 ++ > .../qemu/qemu-system-native_3.1.0.bb | 23 + > meta/recipes-devtools/qemu/qemu-targets.inc | 6 ++ > meta/recipes-devtools/qemu/qemu.inc | 97 --- > meta/recipes-devtools/qemu/qemu_3.1.0.bb | 68 +++-- > 8 files changed, 134 insertions(+), 91 deletions(-) > create mode 100644 meta/recipes-devtools/qemu/qemu-native.inc > create mode 100644 meta/recipes-devtools/qemu/qemu-native_3.1.0.bb > create mode 100644 meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb > > diff --git a/meta/conf/distro/include/no-static-libs.inc > b/meta/conf/distro/include/no-static-libs.inc > index cdc53916d07..712d858dc0d 100644 > --- a/meta/conf/distro/include/no-static-libs.inc > +++ b/meta/conf/distro/include/no-static-libs.inc > @@ -4,6 +4,7 @@ DISABLE_STATIC ?= " --disable-static" > DISABLE_STATIC_pn-qemu = "" > DISABLE_STATIC_pn-qemu-native = "" > DISABLE_STATIC_pn-nativesdk-qemu = "" > +DISABLE_STATIC_pn-qemu-system-native = "" > # pciutils fails build > DISABLE_STATIC_pn-pciutils = "" > # libcap aborts on unrecognised option > diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb > b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb > index d86b1551762..d9d9da0fade 100644 > --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb > +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb > @@ -1,6 +1,6 @@ > SUMMARY = "Helper utilities needed by the runqemu script" > LICENSE = "GPLv2" > -RDEPENDS_${PN} = "qemu-native" > +RDEPENDS_${PN} = "qemu-system-native" > PR = "r1" > > LIC_FILES_CHKSUM = > "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999" > @@ -20,5 +20,5 @@ do_install() { > install tunctl ${D}${bindir}/ > } > > -DEPENDS += "qemu-native" > +DEPENDS += "qemu-system-native" > addtask addto_recipe_sysroot after do_populate_sysroot before do_build > diff --git a/meta/recipes-devtools/qemu/qemu-native.inc > b/meta/recipes-devtools/qemu/qemu-native.inc > new file mode 100644 > index 000..4373ad9e63a > --- /dev/null > +++ b/meta/recipes-devtools/qemu/qemu-native.inc > @@ -0,0 +1,17 @@ > +inherit native > + > +require qemu.inc > + > +SRC_URI_append = " \ > +file://0012-fix-libcap-header-issue-on-some-distro.patch \ > + > file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ > +" > +EXTRA_OECONF_append = " --python=python2.7" > + > +EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' > LDFLAGS='${LDFLAGS}'" > + > +LDFLAGS_append = " -fuse-ld=bfd" > + > +do_install_append() { > + ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', > d)} > +} > diff --git a/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb > b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb > new file mode 100644 > index 000..c8acff8e196 > --- /dev/null > +++ b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb > @@ -0,0 +1,9 @@ > +BPN = "qemu" > + > +DEPENDS = "glib-2.0-native zlib-native" > + > +require qemu-native.inc > + > +EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} > --disable-tools --disable-blobs --disable-guest-agent" > + > +PACKAGECONFIG ??= "" > diff --git a/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb > b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb > new file mode 100644 > index 000..95369d7f6a2 > --- /dev/null > +++ b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb > @@ -0,0 +1,23 @@ > +BPN = "qemu" > + > +require qemu-native.inc > + > +# As some of the files installed by qemu-native and qemu-system-native > +# are the same, we depend on qemu-native to get the full installation set > +# and avoid file clashes > +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native" > + > +EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}" > + > +PACKAGECONFIG ??= "fdt alsa kvm virglrenderer glx" > + > +# Handle distros such as CentOS 5 32-bit that do not have kvm support > +PACKAGECONFIG_remove = "${@'kvm' if not >
[OE-core] [v2][PATCH] glibc: fix multilib file install conflicts
From: Chunrong Guo Leaving bits/procfs-id.h,bits/procfs.h,bits/shmlba.h out of being multilibbed introduced a problem in building the SDK for arm64: Error: Transaction check error: file /usr/include/bits/procfs-id.h conflicts between attempted installs of lib64-libc6-dev-2.29-r0.aarch64 and libc6-dev-2.29-r0.armv7ahf_neon file /usr/include/bits/procfs.h conflicts between attempted installs of lib64-libc6-dev-2.29-r0.aarch64 and libc6-dev-2.29-r0.armv7ahf_neon file /usr/include/bits/shmlba.h conflicts between attempted installs of lib64-libc6-dev-2.29-r0.aarch64 and libc6-dev-2.29-r0.armv7ahf_neon Signed-off-by: Chunrong Guo --- meta/recipes-core/glibc/glibc-package.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index b925961..be7fe24 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -149,6 +149,7 @@ do_install_armmultilib () { oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h bits/sem.h bits/semaphore.h bits/setjmp.h oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h +oe_multilib_header bits/procfs-id.h bits/procfs.h bits/shmlba.h oe_multilib_header fpu_control.h gnu/lib-names.h gnu/stubs.h ieee754.h oe_multilib_header sys/elf.h sys/procfs.h sys/ptrace.h sys/ucontext.h sys/user.h -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] openssl: drop Python 2.x dependency in -ptest
It is only needed by 95-test_external_pyca_data which is actually skipped on the target. [YOCTO #13204] Signed-off-by: Alexander Kanavin --- meta/recipes-connectivity/openssl/openssl_1.1.1a.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb index 9f6e26bcf53..02fd66910ea 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1a.bb @@ -198,7 +198,7 @@ CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf" RRECOMMENDS_libcrypto += "openssl-conf" RDEPENDS_${PN}-misc = "perl" -RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash python" +RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash" RPROVIDES_openssl-conf = "openssl10-conf" RREPLACES_openssl-conf = "openssl10-conf" -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/3] python3: depend on qemu-native, not qemu-helper-native
qemu-helper-native would erroneously pull in the qemu system parts, where we only want usermode parts for pgo. Signed-off-by: Alexander Kanavin --- meta/recipes-devtools/python/python3_3.7.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3_3.7.2.bb b/meta/recipes-devtools/python/python3_3.7.2.bb index 4a1cbae8670..9626ee546b2 100644 --- a/meta/recipes-devtools/python/python3_3.7.2.bb +++ b/meta/recipes-devtools/python/python3_3.7.2.bb @@ -72,7 +72,7 @@ PACKAGECONFIG_class-native ??= "readline" PACKAGECONFIG_class-nativesdk ??= "readline" PACKAGECONFIG[readline] = ",,readline" # Use profile guided optimisation by running PyBench inside qemu-user -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-helper-native" +PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" PACKAGECONFIG[tk] = ",,tk" CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/3] qemu: split the native version into usermode and system parts
The rationale is to streamline the overall build. The system parts are only needed to run target images, and so can be built towards the end of the build process. At the same time, the system parts need gtk+-native and mesa-native which add significantly to the build time. On the other hand, the usermode parts have almost no dependencies and can be built quickly. They are needed at recipes build time to run target binaries, and so are required quite early in the typical build process. Signed-off-by: Alexander Kanavin --- meta/conf/distro/include/no-static-libs.inc | 1 + .../qemu/qemu-helper-native_1.0.bb| 4 +- meta/recipes-devtools/qemu/qemu-native.inc| 17 .../qemu/qemu-native_3.1.0.bb | 9 ++ .../qemu/qemu-system-native_3.1.0.bb | 23 + meta/recipes-devtools/qemu/qemu-targets.inc | 6 ++ meta/recipes-devtools/qemu/qemu.inc | 97 --- meta/recipes-devtools/qemu/qemu_3.1.0.bb | 68 +++-- 8 files changed, 134 insertions(+), 91 deletions(-) create mode 100644 meta/recipes-devtools/qemu/qemu-native.inc create mode 100644 meta/recipes-devtools/qemu/qemu-native_3.1.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb diff --git a/meta/conf/distro/include/no-static-libs.inc b/meta/conf/distro/include/no-static-libs.inc index cdc53916d07..712d858dc0d 100644 --- a/meta/conf/distro/include/no-static-libs.inc +++ b/meta/conf/distro/include/no-static-libs.inc @@ -4,6 +4,7 @@ DISABLE_STATIC ?= " --disable-static" DISABLE_STATIC_pn-qemu = "" DISABLE_STATIC_pn-qemu-native = "" DISABLE_STATIC_pn-nativesdk-qemu = "" +DISABLE_STATIC_pn-qemu-system-native = "" # pciutils fails build DISABLE_STATIC_pn-pciutils = "" # libcap aborts on unrecognised option diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb index d86b1551762..d9d9da0fade 100644 --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb @@ -1,6 +1,6 @@ SUMMARY = "Helper utilities needed by the runqemu script" LICENSE = "GPLv2" -RDEPENDS_${PN} = "qemu-native" +RDEPENDS_${PN} = "qemu-system-native" PR = "r1" LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999" @@ -20,5 +20,5 @@ do_install() { install tunctl ${D}${bindir}/ } -DEPENDS += "qemu-native" +DEPENDS += "qemu-system-native" addtask addto_recipe_sysroot after do_populate_sysroot before do_build diff --git a/meta/recipes-devtools/qemu/qemu-native.inc b/meta/recipes-devtools/qemu/qemu-native.inc new file mode 100644 index 000..4373ad9e63a --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-native.inc @@ -0,0 +1,17 @@ +inherit native + +require qemu.inc + +SRC_URI_append = " \ +file://0012-fix-libcap-header-issue-on-some-distro.patch \ + file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \ +" +EXTRA_OECONF_append = " --python=python2.7" + +EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'" + +LDFLAGS_append = " -fuse-ld=bfd" + +do_install_append() { + ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} +} diff --git a/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb new file mode 100644 index 000..c8acff8e196 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-native_3.1.0.bb @@ -0,0 +1,9 @@ +BPN = "qemu" + +DEPENDS = "glib-2.0-native zlib-native" + +require qemu-native.inc + +EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" + +PACKAGECONFIG ??= "" diff --git a/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb new file mode 100644 index 000..95369d7f6a2 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu-system-native_3.1.0.bb @@ -0,0 +1,23 @@ +BPN = "qemu" + +require qemu-native.inc + +# As some of the files installed by qemu-native and qemu-system-native +# are the same, we depend on qemu-native to get the full installation set +# and avoid file clashes +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native" + +EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}" + +PACKAGECONFIG ??= "fdt alsa kvm virglrenderer glx" + +# Handle distros such as CentOS 5 32-bit that do not have kvm support +PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" + +do_install_append() { +install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu + +# The following is also installed by qemu-native +rm -f ${D}${datadir}/qemu/trace-events-all +rm -rf ${D}${datadir}/qemu/keymaps +} diff --git a/meta/recipes-devtools/qemu/qemu-targets.inc
[OE-core] [PATCH 3/3] local.conf.sample: adjust the qemu configuration to refer to qemu-system-native
Signed-off-by: Alexander Kanavin --- meta-poky/conf/local.conf.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-poky/conf/local.conf.sample b/meta-poky/conf/local.conf.sample index 98ff5c23256..eee65b5875a 100644 --- a/meta-poky/conf/local.conf.sample +++ b/meta-poky/conf/local.conf.sample @@ -239,7 +239,7 @@ BB_DISKMON_DIRS ??= "\ # # By default qemu will build with a builtin VNC server where graphical output can be # seen. The two lines below enable the Gtk UI frontend. -PACKAGECONFIG_append_pn-qemu-native = " gtk+" +PACKAGECONFIG_append_pn-qemu-system-native = " gtk+" PACKAGECONFIG_append_pn-nativesdk-qemu = " gtk+" # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] util-linux: fix multilib qa issue
From: Kai Kang Update RCONFLICTS and RREPLACES for util-linux to fix 'multilib' qa issue: | ERROR: lib32-util-linux-2.32.1-r0 do_package: QA Issue: lib32-util-linux package lib32-util-linux-blkid - suspicious values 'e2fsprogs-blkid' in RREPLACES [multilib] | ERROR: lib32-util-linux-2.32.1-r0 do_package: QA Issue: lib32-util-linux package lib32-util-linux-blkid - suspicious values 'e2fsprogs-blkid' in RCONFLICTS [multilib] Signed-off-by: Kai Kang --- meta/recipes-core/util-linux/util-linux.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index e30e6331fd..cce684f280 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -133,8 +133,8 @@ FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*" # Util-linux' blkid replaces the e2fsprogs one -RCONFLICTS_${PN}-blkid = "e2fsprogs-blkid" -RREPLACES_${PN}-blkid = "e2fsprogs-blkid" +RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" +RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" RRECOMMENDS_${PN}_class-native = "" RRECOMMENDS_${PN}_class-nativesdk = "" -- 2.20.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] devtool: deploy-target: support "unsafe" symlinks
On Wed, 2019-02-27 at 09:10 +, Olaf Mandel wrote: > The bosybox version of tar in sumo considers symlink targets that > start > with / or with ../ to be unsafe and refuses to unpack them unless the > EXTRACT_UNSAFE_SYMLINKS environment variable is set to 1. > > As even many core packages legitimately contain such links (e.g. > coreutils-locale-*, dropbear, eudev, initscripts, kmod, ...), add the > environment variable to the remote script. > --- > scripts/lib/devtool/deploy.py | 5 + > 1 file changed, 5 insertions(+) I'm tempted to suggest we backport changes to busybox in sumo to address this... Cheers, Richard > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2] devtool: deploy-target: support "unsafe" symlinks
The bosybox version of tar in sumo considers symlink targets that start with / or with ../ to be unsafe and refuses to unpack them unless the EXTRACT_UNSAFE_SYMLINKS environment variable is set to 1. As even many core packages legitimately contain such links (e.g. coreutils-locale-*, dropbear, eudev, initscripts, kmod, ...), add the environment variable to the remote script. --- scripts/lib/devtool/deploy.py | 5 + 1 file changed, 5 insertions(+) diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py index f345f31b7b..dc9b34e0ee 100644 --- a/scripts/lib/devtool/deploy.py +++ b/scripts/lib/devtool/deploy.py @@ -114,6 +114,11 @@ def _prepare_remote_script(deploy, verbose=False, dryrun=False, undeployall=Fals lines.append('rm $3') lines.append('mkdir -p `dirname $manifest`') lines.append('mkdir -p $2') +# Busybox tar v1.28.x (plus v1.27.2 with the CVE-2011-5325 patch) +# requires this env variable. The first release without this issue +# is thud. +# FIXME Remove once sumo goes out of support +lines.append('export EXTRACT_UNSAFE_SYMLINKS=1') if verbose: lines.append('tar xv -C $2 -f - | tee $manifest') else: -- 2.11.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core