* glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 [not found] ` <20190327203907.GF1598@jama> @ 2019-03-27 22:32 ` Martin Jansa 2019-03-28 5:08 ` Khem Raj 0 siblings, 1 reply; 5+ messages in thread From: Martin Jansa @ 2019-03-27 22:32 UTC (permalink / raw) To: Khem Raj; +Cc: openembeded-devel, openembedded-core [-- Attachment #1: Type: text/plain, Size: 9854 bytes --] On Wed, Mar 27, 2019 at 09:39:07PM +0100, Martin Jansa wrote: > On Wed, Mar 27, 2019 at 05:35:07PM +0100, Martin Jansa wrote: > > On Wed, Mar 27, 2019 at 05:17:54PM +0100, Martin Jansa wrote: > > > On Sun, Mar 17, 2019 at 08:26:37AM -0700, Khem Raj wrote: > > > > http://www.openembedded.org/wiki/Bitbake_World_Status > > > > > > > > == Failed tasks 2019-03-16 == > > > > > > > > INFO: jenkins-job.sh-1.8.45 Complete log available at > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20190317_082308.log > > > > > > > > * sources/openembedded-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb:do_compile > > > > > > I was hit by this one as well on some arm targets. > > > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.world.qemuarm.20190321_215508.log/bitbake.log > > > > > > shows that it's actually from qemu-arm segfault inside g-ir-scanner-qemuwrapper > > > > > > | qemu: uncaught target signal 11 (Segmentation fault) - core dumped > > > | /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/build/g-ir-scanner-qemuwrapper: line 6: 1959 Segmentation fault (core dumped) PSEUDO_UNLOAD=1 qemu-arm -r 3.2.0 -L /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot -E LD_LIBRARY_PATH=$GIR_EXTRA_LIBS_PATH:.libs:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//usr/lib:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//lib "$@" > > > > > > The interesting part is that this happens only when glibc is built with gold enabled. > > > > > > I've put a bit more details in temporary work-around here: > > > https://github.com/shr-distribution/meta-smartphone/commit/8f06eb355ead85464b1a1bbaa82584504df15743 > > > > > > I'm comparing qemuarm glibc build with bfd and gold to see if there is some > > > significant difference which might cause this and I plan to flash some small > > > image on my targets to see if libc is broken in runtime as well or only when > > > running inside qemu-arm. > > > > > > Is anyone else seeing this as well? > > > > Checking older world status on the wiki shows that this issue was > > introduced somewhere around christmas > > > > This is last world build before the issue: > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20181219_112425.log > > ... > > == Tested changes (not included in master yet) - openembedded-core == > > latest upstream commit: > > 14c291e1fb gcc-runtime: Add missing libc dependency > > not included in master yet: > > 7e2ab991fa python/python3: use cc_basename to replace CC for checking compiler > > ced915026d python-native: fix one do_populate_sysroot warning > > aee47f3e82 netbase: add entry to /etc/hosts according to /etc/hostname > > a09e2db43a sstate: add support for caching shared workdir tasks > > c104a34166 grub2: Fix passing null to printf formats > > 6f364ff8c4 gnupg: Upgrade to 2.2.12 release > > 0224fec86b glibc: Upgrade towards 2.29 release > > 2486349782 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > b3ab29bdbb gcc-runtime: Drop building libmpx > > > > and this is the first which reported qemu-arm segfault: > > == Tested changes (not included in master yet) - openembedded-core == > > latest upstream commit: > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > not included in master yet: > > 0c9db0ae7d python/python3: use cc_basename to replace CC for checking compiler > > bb3eb6bc41 python-native: fix one do_populate_sysroot warning > > 08a205f872 netbase: add entry to /etc/hosts according to /etc/hostname > > b81c8650d0 sstate: add support for caching shared workdir tasks > > 702be42dc9 glibc: Remove site_config and glibc-initial > > fc230822d8 gcc: Drop gcc-cross-initial and use gcc-cross instead > > 8652df3a0d gcc: Drop the -initial versions of the compiler > > 0c2f6dfa2f recipes: Drop virtual/libc-for-gcc > > c64531600d newlib: Move away from gcc-initial dependency > > 0d5fb4428f libssp: Remove dependency on gcc-initial > > 7dd8829d3e musl: Move away from gcc-initial dependency > > 9abdb4d6ca tcmode-default: Drop pinnings for gcc-initial based recipes > > e02724e8f8 base.bbclass, classextend.py: Drop catering to gcc-initial > > 7756cb7d17 oeqa/concurrencytest: fix for locating meta-selftest > > f4c68c39e7 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > > 6fc9bb5698 glibc: Enable --with-default-link > > d4cb282bc6 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > 6efe313b46 glibc: Upgrade towards 2.29 release > > dac5dc5067 grub2: Fix passing null to printf formats > > bb36d9dc8c gnupg: Upgrade to 2.2.12 release > > 81059437a5 gnupg: Do not apply -Woverride-init guard for gcc >= 9 > > 6fa05e5ace nfs-utils: Disable format-overflow as Werror > > 8fab7b23ef musl: Update to latest master > > a5641cac42 libxcrypt: Upgrade to 4.4.2 > > c90ec03d07 gdb: Backport a fix to build with gcc9 > > 1adae92573 valgrind: Fix x86_64 build failure with gcc9 > > 38e9e09104 ffmpeg: Backport patch to fix build with gcc9 > > 4e1fa57743 binutils: Upgrade to latest on 2.31 release branch > > 5cce276d4a binutils: Upgrade to upcoming 2.32 release > > > > and the changes introduced in oe-core between these are: > > docker-shr @ ~/openembedded-core $ git log --oneline 14c291e1fb..95659bed3f > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > 673c2dcf10 common-licenses: update Libpng license text > > 099aecfaa3 libpng: upgrade 1.6.35 -> 1.6.36 > > 6574bb7523 harfbuzz: upgrade 2.1.3 -> 2.2.0 > > 8286e9d79d sqlite3: upgrade 3.25.3 -> 3.26.0 > > a33170ff9a libatomic-ops: upgrade 7.6.6 -> 7.6.8 > > 6a10ff0bcd gsettings-desktop-schemas: upgrade 3.28.0 -> 3.28.1 > > dd2c4d9d85 eudev: upgrade 3.2.5 -> 3.2.7 > > 0860216a81 icecc: patchelf is needed by icecc-create-env > > d2fcaeb153 icecc: Don't generate recipe-sysroot symlinks at recipe-parsing time > > 4455c46bf7 icecc: Syntax error meant that we weren't waiting for tarball generation > > fa6bae80bc icecc: Trivial simplification > > 6d6788a3ea icecc: readlink -f on the recipe-sysroot gcc/g++ > > 1ee90ec89a libxcrypt: Fix nativesdk build with gcc9 > > 547174fc83 gcc-runtime: Drop building libmpx > > > > It's possible that it's not caused by one of these oe-core changes, but one of the pending > > yoe changes (like those 2 binutils upgrades) which were merged to oe-core in some form a bit > > later. > > > > I'll verify if the issue is reproducible with oe-core 95659bed3f and continue the bisect from there. > > git bisect narrowed it down to these oe-core commits: > > da527d73f5 oeqa/utils/qemurunner: Print output when failed to login > 7bbc453ac2 (refs/bisect/bad) glibc: Enable --with-default-link > 5d0307fbef (HEAD) base.bbclass, classextend.py: Drop catering to gcc-initial > 5b2fd1c724 tcmode-default: Drop pinnings for gcc-initial based recipes > fa47e2e654 musl: Move away from gcc-initial dependency > 9dc6fcd492 libssp: Remove dependency on gcc-initial > 44539118ce newlib: Move away from gcc-initial dependency > 122217b421 recipes: Drop virtual/libc-for-gcc > d84971928b gcc: Drop the -initial versions of the compiler > 62b7308b8c gcc: Drop gcc-cross-initial and use gcc-cross instead > c5df105e75 glibc: Remove site_config and glibc-initial > 94bece16c2 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > 56d2493a9a oeqa/concurrencytest: fix for locating meta-selftest > 95659bed3f (glibc-95659bed3f, refs/bisect/good-95659bed3f6f3216b346f70cfc9ffae9788c0fc1) populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > my guess was the very last commit "glibc: Enable --with-default-link", > but unfortunately without this fix I cannot build glibc with gold enabled. > > Will compare the glibc build to see is there is something obviously wrong > in the output. I've confirmed that forcing bfd linker in glibc do_compile resolves the issue with gobject-introspection (image build still running will try to flash it tomorrow). The simples work-around in oe-core: http://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=054c72716f0648ff2f0770c1010857596442223e or as bbappend: https://github.com/webOS-ports/meta-webos-ports/commit/020d31892780b69fa64a3a6a146283e831ccd2e9 this is what I'm testing with now, notice that setting just LDFLAGS isn't enough, because LDFLAGS are unset in glibc.do_compile I don't know if it's worth spending more time trying to get the glibc working with gold, it looks like: http://git.openembedded.org/openembedded-core/commit/?id=7bbc453ac2b8d63680855789948a145fc448017f resolved the linker script issue (I was seeing the same error with oe-core 5d0307fbef just this fix) reported here: https://sourceware.org/bugzilla/show_bug.cgi?id=24148 but there are other bugs like: https://sourceware.org/bugzilla/show_bug.cgi?id=10937 https://sourceware.org/bugzilla/show_bug.cgi?id=18103 e.g. gentoo is also explicitly disabling gold for glibc builds: https://github.com/gentoo/gentoo/blob/16e1c37bdc84b2ac5df10511f63e478d8e49435e/sys-libs/glibc/glibc-2.29-r1.ebuild#L767 Can someone confirm that glibc built with gold works for him on arm (I haven't seen this on x86, aarch64)? Or should we just force bfd in oe-core recipe? -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 201 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 2019-03-27 22:32 ` glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 Martin Jansa @ 2019-03-28 5:08 ` Khem Raj 2019-03-28 14:40 ` Martin Jansa 0 siblings, 1 reply; 5+ messages in thread From: Khem Raj @ 2019-03-28 5:08 UTC (permalink / raw) To: Martin Jansa Cc: openembeded-devel, Patches and discussions about the oe-core layer On Wed, Mar 27, 2019 at 3:32 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > On Wed, Mar 27, 2019 at 09:39:07PM +0100, Martin Jansa wrote: > > On Wed, Mar 27, 2019 at 05:35:07PM +0100, Martin Jansa wrote: > > > On Wed, Mar 27, 2019 at 05:17:54PM +0100, Martin Jansa wrote: > > > > On Sun, Mar 17, 2019 at 08:26:37AM -0700, Khem Raj wrote: > > > > > http://www.openembedded.org/wiki/Bitbake_World_Status > > > > > > > > > > == Failed tasks 2019-03-16 == > > > > > > > > > > INFO: jenkins-job.sh-1.8.45 Complete log available at > > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20190317_082308.log > > > > > > > > > > * sources/openembedded-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb:do_compile > > > > > > > > I was hit by this one as well on some arm targets. > > > > > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.world.qemuarm.20190321_215508.log/bitbake.log > > > > > > > > shows that it's actually from qemu-arm segfault inside g-ir-scanner-qemuwrapper > > > > > > > > | qemu: uncaught target signal 11 (Segmentation fault) - core dumped > > > > | /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/build/g-ir-scanner-qemuwrapper: line 6: 1959 Segmentation fault (core dumped) PSEUDO_UNLOAD=1 qemu-arm -r 3.2.0 -L /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot -E LD_LIBRARY_PATH=$GIR_EXTRA_LIBS_PATH:.libs:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//usr/lib:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//lib "$@" > > > > > > > > The interesting part is that this happens only when glibc is built with gold enabled. > > > > > > > > I've put a bit more details in temporary work-around here: > > > > https://github.com/shr-distribution/meta-smartphone/commit/8f06eb355ead85464b1a1bbaa82584504df15743 > > > > > > > > I'm comparing qemuarm glibc build with bfd and gold to see if there is some > > > > significant difference which might cause this and I plan to flash some small > > > > image on my targets to see if libc is broken in runtime as well or only when > > > > running inside qemu-arm. > > > > > > > > Is anyone else seeing this as well? > > > > > > Checking older world status on the wiki shows that this issue was > > > introduced somewhere around christmas > > > > > > This is last world build before the issue: > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20181219_112425.log > > > ... > > > == Tested changes (not included in master yet) - openembedded-core == > > > latest upstream commit: > > > 14c291e1fb gcc-runtime: Add missing libc dependency > > > not included in master yet: > > > 7e2ab991fa python/python3: use cc_basename to replace CC for checking compiler > > > ced915026d python-native: fix one do_populate_sysroot warning > > > aee47f3e82 netbase: add entry to /etc/hosts according to /etc/hostname > > > a09e2db43a sstate: add support for caching shared workdir tasks > > > c104a34166 grub2: Fix passing null to printf formats > > > 6f364ff8c4 gnupg: Upgrade to 2.2.12 release > > > 0224fec86b glibc: Upgrade towards 2.29 release > > > 2486349782 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > > b3ab29bdbb gcc-runtime: Drop building libmpx > > > > > > and this is the first which reported qemu-arm segfault: > > > == Tested changes (not included in master yet) - openembedded-core == > > > latest upstream commit: > > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > > not included in master yet: > > > 0c9db0ae7d python/python3: use cc_basename to replace CC for checking compiler > > > bb3eb6bc41 python-native: fix one do_populate_sysroot warning > > > 08a205f872 netbase: add entry to /etc/hosts according to /etc/hostname > > > b81c8650d0 sstate: add support for caching shared workdir tasks > > > 702be42dc9 glibc: Remove site_config and glibc-initial > > > fc230822d8 gcc: Drop gcc-cross-initial and use gcc-cross instead > > > 8652df3a0d gcc: Drop the -initial versions of the compiler > > > 0c2f6dfa2f recipes: Drop virtual/libc-for-gcc > > > c64531600d newlib: Move away from gcc-initial dependency > > > 0d5fb4428f libssp: Remove dependency on gcc-initial > > > 7dd8829d3e musl: Move away from gcc-initial dependency > > > 9abdb4d6ca tcmode-default: Drop pinnings for gcc-initial based recipes > > > e02724e8f8 base.bbclass, classextend.py: Drop catering to gcc-initial > > > 7756cb7d17 oeqa/concurrencytest: fix for locating meta-selftest > > > f4c68c39e7 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > > > 6fc9bb5698 glibc: Enable --with-default-link > > > d4cb282bc6 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > > 6efe313b46 glibc: Upgrade towards 2.29 release > > > dac5dc5067 grub2: Fix passing null to printf formats > > > bb36d9dc8c gnupg: Upgrade to 2.2.12 release > > > 81059437a5 gnupg: Do not apply -Woverride-init guard for gcc >= 9 > > > 6fa05e5ace nfs-utils: Disable format-overflow as Werror > > > 8fab7b23ef musl: Update to latest master > > > a5641cac42 libxcrypt: Upgrade to 4.4.2 > > > c90ec03d07 gdb: Backport a fix to build with gcc9 > > > 1adae92573 valgrind: Fix x86_64 build failure with gcc9 > > > 38e9e09104 ffmpeg: Backport patch to fix build with gcc9 > > > 4e1fa57743 binutils: Upgrade to latest on 2.31 release branch > > > 5cce276d4a binutils: Upgrade to upcoming 2.32 release > > > > > > and the changes introduced in oe-core between these are: > > > docker-shr @ ~/openembedded-core $ git log --oneline 14c291e1fb..95659bed3f > > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > > 673c2dcf10 common-licenses: update Libpng license text > > > 099aecfaa3 libpng: upgrade 1.6.35 -> 1.6.36 > > > 6574bb7523 harfbuzz: upgrade 2.1.3 -> 2.2.0 > > > 8286e9d79d sqlite3: upgrade 3.25.3 -> 3.26.0 > > > a33170ff9a libatomic-ops: upgrade 7.6.6 -> 7.6.8 > > > 6a10ff0bcd gsettings-desktop-schemas: upgrade 3.28.0 -> 3.28.1 > > > dd2c4d9d85 eudev: upgrade 3.2.5 -> 3.2.7 > > > 0860216a81 icecc: patchelf is needed by icecc-create-env > > > d2fcaeb153 icecc: Don't generate recipe-sysroot symlinks at recipe-parsing time > > > 4455c46bf7 icecc: Syntax error meant that we weren't waiting for tarball generation > > > fa6bae80bc icecc: Trivial simplification > > > 6d6788a3ea icecc: readlink -f on the recipe-sysroot gcc/g++ > > > 1ee90ec89a libxcrypt: Fix nativesdk build with gcc9 > > > 547174fc83 gcc-runtime: Drop building libmpx > > > > > > It's possible that it's not caused by one of these oe-core changes, but one of the pending > > > yoe changes (like those 2 binutils upgrades) which were merged to oe-core in some form a bit > > > later. > > > > > > I'll verify if the issue is reproducible with oe-core 95659bed3f and continue the bisect from there. > > > > git bisect narrowed it down to these oe-core commits: > > > > da527d73f5 oeqa/utils/qemurunner: Print output when failed to login > > 7bbc453ac2 (refs/bisect/bad) glibc: Enable --with-default-link > > 5d0307fbef (HEAD) base.bbclass, classextend.py: Drop catering to gcc-initial > > 5b2fd1c724 tcmode-default: Drop pinnings for gcc-initial based recipes > > fa47e2e654 musl: Move away from gcc-initial dependency > > 9dc6fcd492 libssp: Remove dependency on gcc-initial > > 44539118ce newlib: Move away from gcc-initial dependency > > 122217b421 recipes: Drop virtual/libc-for-gcc > > d84971928b gcc: Drop the -initial versions of the compiler > > 62b7308b8c gcc: Drop gcc-cross-initial and use gcc-cross instead > > c5df105e75 glibc: Remove site_config and glibc-initial > > 94bece16c2 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > > 56d2493a9a oeqa/concurrencytest: fix for locating meta-selftest > > 95659bed3f (glibc-95659bed3f, refs/bisect/good-95659bed3f6f3216b346f70cfc9ffae9788c0fc1) populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > > > my guess was the very last commit "glibc: Enable --with-default-link", > > but unfortunately without this fix I cannot build glibc with gold enabled. > > > > Will compare the glibc build to see is there is something obviously wrong > > in the output. > > I've confirmed that forcing bfd linker in glibc do_compile resolves the > issue with gobject-introspection (image build still running will try to > flash it tomorrow). > > The simples work-around in oe-core: > http://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=054c72716f0648ff2f0770c1010857596442223e > or as bbappend: > https://github.com/webOS-ports/meta-webos-ports/commit/020d31892780b69fa64a3a6a146283e831ccd2e9 > this is what I'm testing with now, notice that setting just LDFLAGS > isn't enough, because LDFLAGS are unset in glibc.do_compile > > I don't know if it's worth spending more time trying to get the glibc > working with gold, it looks like: i agree, your change to force bfd linker is acceptable approach please propose it to OE-Core directly. > http://git.openembedded.org/openembedded-core/commit/?id=7bbc453ac2b8d63680855789948a145fc448017f > resolved the linker script issue (I was seeing the same error with > oe-core 5d0307fbef just this fix) reported here: > https://sourceware.org/bugzilla/show_bug.cgi?id=24148 > > but there are other bugs like: > https://sourceware.org/bugzilla/show_bug.cgi?id=10937 > https://sourceware.org/bugzilla/show_bug.cgi?id=18103 > e.g. gentoo is also explicitly disabling gold for glibc builds: > https://github.com/gentoo/gentoo/blob/16e1c37bdc84b2ac5df10511f63e478d8e49435e/sys-libs/glibc/glibc-2.29-r1.ebuild#L767 > > Can someone confirm that glibc built with gold works for him on arm > (I haven't seen this on x86, aarch64)? Or should we just force bfd in > oe-core recipe? > > -- > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 2019-03-28 5:08 ` Khem Raj @ 2019-03-28 14:40 ` Martin Jansa 2019-03-29 11:37 ` Trevor Woerner 0 siblings, 1 reply; 5+ messages in thread From: Martin Jansa @ 2019-03-28 14:40 UTC (permalink / raw) To: Khem Raj; +Cc: openembeded-devel, Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 11445 bytes --] On Wed, Mar 27, 2019 at 10:08:32PM -0700, Khem Raj wrote: > On Wed, Mar 27, 2019 at 3:32 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > On Wed, Mar 27, 2019 at 09:39:07PM +0100, Martin Jansa wrote: > > > On Wed, Mar 27, 2019 at 05:35:07PM +0100, Martin Jansa wrote: > > > > On Wed, Mar 27, 2019 at 05:17:54PM +0100, Martin Jansa wrote: > > > > > On Sun, Mar 17, 2019 at 08:26:37AM -0700, Khem Raj wrote: > > > > > > http://www.openembedded.org/wiki/Bitbake_World_Status > > > > > > > > > > > > == Failed tasks 2019-03-16 == > > > > > > > > > > > > INFO: jenkins-job.sh-1.8.45 Complete log available at > > > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20190317_082308.log > > > > > > > > > > > > * sources/openembedded-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb:do_compile > > > > > > > > > > I was hit by this one as well on some arm targets. > > > > > > > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.world.qemuarm.20190321_215508.log/bitbake.log > > > > > > > > > > shows that it's actually from qemu-arm segfault inside g-ir-scanner-qemuwrapper > > > > > > > > > > | qemu: uncaught target signal 11 (Segmentation fault) - core dumped > > > > > | /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/build/g-ir-scanner-qemuwrapper: line 6: 1959 Segmentation fault (core dumped) PSEUDO_UNLOAD=1 qemu-arm -r 3.2.0 -L /home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot -E LD_LIBRARY_PATH=$GIR_EXTRA_LIBS_PATH:.libs:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//usr/lib:/home/jenkins/oe/world/yoe/build/tmpfs/work/armv7vet2hf-neon-yoe-linux-gnueabi/gobject-introspection/1.58.3-r0/recipe-sysroot//lib "$@" > > > > > > > > > > The interesting part is that this happens only when glibc is built with gold enabled. > > > > > > > > > > I've put a bit more details in temporary work-around here: > > > > > https://github.com/shr-distribution/meta-smartphone/commit/8f06eb355ead85464b1a1bbaa82584504df15743 > > > > > > > > > > I'm comparing qemuarm glibc build with bfd and gold to see if there is some > > > > > significant difference which might cause this and I plan to flash some small > > > > > image on my targets to see if libc is broken in runtime as well or only when > > > > > running inside qemu-arm. > > > > > > > > > > Is anyone else seeing this as well? > > > > > > > > Checking older world status on the wiki shows that this issue was > > > > introduced somewhere around christmas > > > > > > > > This is last world build before the issue: > > > > http://logs.nslu2-linux.org/buildlogs/oe/world/warrior/log.report.20181219_112425.log > > > > ... > > > > == Tested changes (not included in master yet) - openembedded-core == > > > > latest upstream commit: > > > > 14c291e1fb gcc-runtime: Add missing libc dependency > > > > not included in master yet: > > > > 7e2ab991fa python/python3: use cc_basename to replace CC for checking compiler > > > > ced915026d python-native: fix one do_populate_sysroot warning > > > > aee47f3e82 netbase: add entry to /etc/hosts according to /etc/hostname > > > > a09e2db43a sstate: add support for caching shared workdir tasks > > > > c104a34166 grub2: Fix passing null to printf formats > > > > 6f364ff8c4 gnupg: Upgrade to 2.2.12 release > > > > 0224fec86b glibc: Upgrade towards 2.29 release > > > > 2486349782 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > > > b3ab29bdbb gcc-runtime: Drop building libmpx > > > > > > > > and this is the first which reported qemu-arm segfault: > > > > == Tested changes (not included in master yet) - openembedded-core == > > > > latest upstream commit: > > > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > > > not included in master yet: > > > > 0c9db0ae7d python/python3: use cc_basename to replace CC for checking compiler > > > > bb3eb6bc41 python-native: fix one do_populate_sysroot warning > > > > 08a205f872 netbase: add entry to /etc/hosts according to /etc/hostname > > > > b81c8650d0 sstate: add support for caching shared workdir tasks > > > > 702be42dc9 glibc: Remove site_config and glibc-initial > > > > fc230822d8 gcc: Drop gcc-cross-initial and use gcc-cross instead > > > > 8652df3a0d gcc: Drop the -initial versions of the compiler > > > > 0c2f6dfa2f recipes: Drop virtual/libc-for-gcc > > > > c64531600d newlib: Move away from gcc-initial dependency > > > > 0d5fb4428f libssp: Remove dependency on gcc-initial > > > > 7dd8829d3e musl: Move away from gcc-initial dependency > > > > 9abdb4d6ca tcmode-default: Drop pinnings for gcc-initial based recipes > > > > e02724e8f8 base.bbclass, classextend.py: Drop catering to gcc-initial > > > > 7756cb7d17 oeqa/concurrencytest: fix for locating meta-selftest > > > > f4c68c39e7 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > > > > 6fc9bb5698 glibc: Enable --with-default-link > > > > d4cb282bc6 gcc-9.0: Add recipes for upcoming gcc 9.0 release in mid-2019 > > > > 6efe313b46 glibc: Upgrade towards 2.29 release > > > > dac5dc5067 grub2: Fix passing null to printf formats > > > > bb36d9dc8c gnupg: Upgrade to 2.2.12 release > > > > 81059437a5 gnupg: Do not apply -Woverride-init guard for gcc >= 9 > > > > 6fa05e5ace nfs-utils: Disable format-overflow as Werror > > > > 8fab7b23ef musl: Update to latest master > > > > a5641cac42 libxcrypt: Upgrade to 4.4.2 > > > > c90ec03d07 gdb: Backport a fix to build with gcc9 > > > > 1adae92573 valgrind: Fix x86_64 build failure with gcc9 > > > > 38e9e09104 ffmpeg: Backport patch to fix build with gcc9 > > > > 4e1fa57743 binutils: Upgrade to latest on 2.31 release branch > > > > 5cce276d4a binutils: Upgrade to upcoming 2.32 release > > > > > > > > and the changes introduced in oe-core between these are: > > > > docker-shr @ ~/openembedded-core $ git log --oneline 14c291e1fb..95659bed3f > > > > 95659bed3f populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > > > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > > > 673c2dcf10 common-licenses: update Libpng license text > > > > 099aecfaa3 libpng: upgrade 1.6.35 -> 1.6.36 > > > > 6574bb7523 harfbuzz: upgrade 2.1.3 -> 2.2.0 > > > > 8286e9d79d sqlite3: upgrade 3.25.3 -> 3.26.0 > > > > a33170ff9a libatomic-ops: upgrade 7.6.6 -> 7.6.8 > > > > 6a10ff0bcd gsettings-desktop-schemas: upgrade 3.28.0 -> 3.28.1 > > > > dd2c4d9d85 eudev: upgrade 3.2.5 -> 3.2.7 > > > > 0860216a81 icecc: patchelf is needed by icecc-create-env > > > > d2fcaeb153 icecc: Don't generate recipe-sysroot symlinks at recipe-parsing time > > > > 4455c46bf7 icecc: Syntax error meant that we weren't waiting for tarball generation > > > > fa6bae80bc icecc: Trivial simplification > > > > 6d6788a3ea icecc: readlink -f on the recipe-sysroot gcc/g++ > > > > 1ee90ec89a libxcrypt: Fix nativesdk build with gcc9 > > > > 547174fc83 gcc-runtime: Drop building libmpx > > > > > > > > It's possible that it's not caused by one of these oe-core changes, but one of the pending > > > > yoe changes (like those 2 binutils upgrades) which were merged to oe-core in some form a bit > > > > later. > > > > > > > > I'll verify if the issue is reproducible with oe-core 95659bed3f and continue the bisect from there. > > > > > > git bisect narrowed it down to these oe-core commits: > > > > > > da527d73f5 oeqa/utils/qemurunner: Print output when failed to login > > > 7bbc453ac2 (refs/bisect/bad) glibc: Enable --with-default-link > > > 5d0307fbef (HEAD) base.bbclass, classextend.py: Drop catering to gcc-initial > > > 5b2fd1c724 tcmode-default: Drop pinnings for gcc-initial based recipes > > > fa47e2e654 musl: Move away from gcc-initial dependency > > > 9dc6fcd492 libssp: Remove dependency on gcc-initial > > > 44539118ce newlib: Move away from gcc-initial dependency > > > 122217b421 recipes: Drop virtual/libc-for-gcc > > > d84971928b gcc: Drop the -initial versions of the compiler > > > 62b7308b8c gcc: Drop gcc-cross-initial and use gcc-cross instead > > > c5df105e75 glibc: Remove site_config and glibc-initial > > > 94bece16c2 crosssdk/cross-canadian: Set LIBCOVERRIDE correctly > > > 56d2493a9a oeqa/concurrencytest: fix for locating meta-selftest > > > 95659bed3f (glibc-95659bed3f, refs/bisect/good-95659bed3f6f3216b346f70cfc9ffae9788c0fc1) populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf > > > 085530e8ff i2c-tools: upgrade 4.0 -> 4.1 > > > > > > my guess was the very last commit "glibc: Enable --with-default-link", > > > but unfortunately without this fix I cannot build glibc with gold enabled. > > > > > > Will compare the glibc build to see is there is something obviously wrong > > > in the output. > > > > I've confirmed that forcing bfd linker in glibc do_compile resolves the > > issue with gobject-introspection (image build still running will try to > > flash it tomorrow). > > > > The simples work-around in oe-core: > > http://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=054c72716f0648ff2f0770c1010857596442223e > > or as bbappend: > > https://github.com/webOS-ports/meta-webos-ports/commit/020d31892780b69fa64a3a6a146283e831ccd2e9 If you need to use this, then add "export" as well which is needed because of the "unset" in the main recipe (wasn't needed when I had both these changes included in the build at first). https://github.com/webOS-ports/meta-webos-ports/commit/0e737ad167a14591e73ca3fa47d31108038ec3e2 > > this is what I'm testing with now, notice that setting just LDFLAGS > > isn't enough, because LDFLAGS are unset in glibc.do_compile > > > > I don't know if it's worth spending more time trying to get the glibc > > working with gold, it looks like: > > i agree, your change to force bfd linker is acceptable approach > please propose it to OE-Core directly. Send for oe-core: https://patchwork.openembedded.org/patch/159874/ but more information might be needed before it gets applied to oe-core as discussed with RP. I'll try to get serial cable working on my Nexus 5 to test it there in runtime, but maybe someone could beat me to it with some more easily hackable 32bit arm board. > > > http://git.openembedded.org/openembedded-core/commit/?id=7bbc453ac2b8d63680855789948a145fc448017f > > resolved the linker script issue (I was seeing the same error with > > oe-core 5d0307fbef just this fix) reported here: > > https://sourceware.org/bugzilla/show_bug.cgi?id=24148 > > > > but there are other bugs like: > > https://sourceware.org/bugzilla/show_bug.cgi?id=10937 > > https://sourceware.org/bugzilla/show_bug.cgi?id=18103 > > e.g. gentoo is also explicitly disabling gold for glibc builds: > > https://github.com/gentoo/gentoo/blob/16e1c37bdc84b2ac5df10511f63e478d8e49435e/sys-libs/glibc/glibc-2.29-r1.ebuild#L767 > > > > Can someone confirm that glibc built with gold works for him on arm > > (I haven't seen this on x86, aarch64)? Or should we just force bfd in > > oe-core recipe? > > > > -- > > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 201 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 2019-03-28 14:40 ` Martin Jansa @ 2019-03-29 11:37 ` Trevor Woerner 2019-03-29 14:14 ` Trevor Woerner 0 siblings, 1 reply; 5+ messages in thread From: Trevor Woerner @ 2019-03-29 11:37 UTC (permalink / raw) To: Martin Jansa Cc: Patches and discussions about the oe-core layer, openembeded-devel On Thu 2019-03-28 @ 03:40:33 PM, Martin Jansa wrote: > Send for oe-core: > https://patchwork.openembedded.org/patch/159874/ > but more information might be needed before it gets applied to oe-core > as discussed with RP. I'll try to get serial cable working on my Nexus 5 > to test it there in runtime, but maybe someone could beat me to it with > some more easily hackable 32bit arm board. > > > > Can someone confirm that glibc built with gold works for him on arm > > > (I haven't seen this on x86, aarch64)? Or should we just force bfd in > > > oe-core recipe? I have an Olimex imx233-olinuxino-maxi that I build for and test regularly (arm926ej-s, ARMv5). Yesterday I performed two builds from master with the following configuration: Build Configuration: BB_VERSION = "1.40.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "opensuseleap-15.0" TARGET_SYS = "arm-oe-linux-gnueabi" MACHINE = "imx233-olinuxino-maxi" DISTRO = "nodistro" DISTRO_VERSION = "nodistro.0" TUNE_FEATURES = "arm armv5 thumb dsp" TARGET_FPU = "soft" meta-freescale = "master:08173f472244817b85fe4af8ab2add7a0090b122" meta-fsl-arm-extra = "master:b4d2c8462220e7038adffc0a151767ef8da07c5d" meta = "master:aeaca9bb1b1c8bf44818945dc4b2cbd6d4b5cef2" meta-oe meta-python meta-networking = "master:24dd9328f7ec964bbad25b7061366f9f2ff6194d" Both builds explicitly included gobject-introspection. The first build was done as-is (i.e. using the bfd linker). The second build had the following in conf/local.conf: DISTRO_FEATURES_append = " ld-is-gold" The default build succeeded. The gold build failed as expected while running qemu trying to build gobject-introspection. The good build boots on the hardware and runs fine (as far as I can tell): OpenEmbedded nodistro.0 imx233-olinuxino-maxi ttyAMA0 imx233-olinuxino-maxi login: root root@imx233-olinuxino-maxi:~# uname -a Linux imx233-olinuxino-maxi 5.0.3-fslc+g20d8efe36350 #1 Thu Mar 28 17:09:20 UTC 2019 armv5tejl armv5tejl armv5tejl GNU/Linux root@imx233-olinuxino-maxi:~# g-ir-compiler --help Usage: g-ir-compiler [OPTION?] Help Options: -h, --help Show help options Application Options: --includedir include directories in GIR search path -o, --output=FILE output file -m, --module=NAME module to compile -l, --shared-library=FILE shared library --debug show debug messages --verbose show verbose messages ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 2019-03-29 11:37 ` Trevor Woerner @ 2019-03-29 14:14 ` Trevor Woerner 0 siblings, 0 replies; 5+ messages in thread From: Trevor Woerner @ 2019-03-29 14:14 UTC (permalink / raw) To: Martin Jansa Cc: Patches and discussions about the oe-core layer, openembeded-devel An image built with gold fails on the hardware. I was able to build core-image-minimal with gold enabled: configuration: Build Configuration: BB_VERSION = "1.40.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "opensuseleap-15.0" TARGET_SYS = "arm-oe-linux-gnueabi" MACHINE = "imx233-olinuxino-maxi" DISTRO = "nodistro" DISTRO_VERSION = "nodistro.0" TUNE_FEATURES = "arm armv5 thumb dsp" TARGET_FPU = "soft" meta-fsl-arm-extra = "master:b4d2c8462220e7038adffc0a151767ef8da07c5d" meta-freescale = "master:08173f472244817b85fe4af8ab2add7a0090b122" meta = "master:aeaca9bb1b1c8bf44818945dc4b2cbd6d4b5cef2" conf/local.conf addition: DISTRO_FEATURES_append = " ld-is-gold" When run, the kernel is unable to run init, and panics: [ 4.050000] Freeing unused kernel memory: 308K [ 4.050000] This architecture does not have kernel memory protection. [ 4.060000] Run /sbin/init as init process [ 4.120000] hub 1-1:1.0: USB hub found [ 4.130000] hub 1-1:1.0: 3 ports detected [ 4.140000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 4.140000] CPU: 0 PID: 1 Comm: init Not tainted 5.0.3-fslc+g20d8efe36350 #1 [ 4.140000] Hardware name: Freescale MXS (Device Tree) [ 4.140000] [<c0010df8>] (unwind_backtrace) from [<c000e730>] (show_stack+0x10/0x14) [ 4.140000] [<c000e730>] (show_stack) from [<c001a9bc>] (panic+0xec/0x2d8) [ 4.140000] [<c001a9bc>] (panic) from [<c001d3b0>] (do_exit+0xa44/0xaa4) [ 4.140000] [<c001d3b0>] (do_exit) from [<c001e65c>] (do_group_exit+0x38/0xbc) [ 4.140000] [<c001e65c>] (do_group_exit) from [<c002a1c0>] (get_signal+0x110/0x98c) [ 4.140000] [<c002a1c0>] (get_signal) from [<c000dd6c>] (do_work_pending+0x120/0x5fc) [ 4.140000] [<c000dd6c>] (do_work_pending) from [<c0009034>] (slow_work_pending+0xc/0x20) [ 4.140000] Exception stack(0xc343dfb0 to 0xc343dff8) [ 4.140000] dfa0: bebd7f10 484113c4 00000000 48431fd0 [ 4.140000] dfc0: 00000934 00000000 00000000 00000000 00000000 00000000 00021504 bebd7f0c [ 4.140000] dfe0: 48431fd0 bebd7ed0 48410a40 484113f4 00000010 ffffffff [ 4.140000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]--- ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-03-29 14:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CAMKF1so7w4i4Kw-ymWayPx1Z_mmetRKcNeyb9pADFZwDY=jqmw@mail.gmail.com>
[not found] ` <20190327161754.GD1598@jama>
[not found] ` <20190327163507.GE1598@jama>
[not found] ` <20190327203907.GF1598@jama>
2019-03-27 22:32 ` glibc broken when linked with gold Was: [oe] State of OE World, 2019-03-16 Martin Jansa
2019-03-28 5:08 ` Khem Raj
2019-03-28 14:40 ` Martin Jansa
2019-03-29 11:37 ` Trevor Woerner
2019-03-29 14:14 ` Trevor Woerner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox