Bug 1553086
Summary: | gdb: warning: Loadable section ".note.gnu.property" outside of ELF segments | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Zbigniew Jędrzejewski-Szmek <zbyszek> | |
Component: | gdb | Assignee: | Kevin Buettner <kevinb> | |
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 30 | CC: | ahmadsamir3891, alexl, anoopcs, aoliva, arekm, bugzilla.redhat.com, dvlasenk, dwrobel, emmanuel.pacaud, fedora, fweimer, hongjiu.lu, jakub, jan.kratochvil, john.ellson, john.j5live, keiths, kevinb, laurent.rineau__fedora, loic.yhuel, mclasen, mjw, nickc, pawel_sikora, pmuldoon, quintela, rhughes, rstrode, sgehwolf, simonmeaden, tfujiwar | |
Target Milestone: | --- | Keywords: | Reopened | |
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | binutils-2.31.1-32.fc30 gdb-8.3-6.fc30 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1630115 (view as bug list) | Environment: | ||
Last Closed: | 2020-05-26 18:38:33 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1630115, 1878810, 1898252, 1915440 |
Description
Zbigniew Jędrzejewski-Szmek
2018-03-08 09:32:38 UTC
Reassigning to gdb, looks like it was accidentally filed against gdm. This bug appears to have been reported against 'rawhide' during the Fedora 29 development cycle. Changing version to '29'. I'm also observing similar warnings[1] on a slightly newer version of gcc and gdb: gcc-8.1.1-5.fc28.x86_64 gdb-8.1.1-3.fc28.x86_64 Log excerpt: warning: Loadable section ".note.gnu.property" outside of ELF segments error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) warning: Loadable section ".note.gnu.property" outside of ELF segments error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) warning: Loadable section ".note.gnu.property" outside of ELF segments error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) warning: Loadable section ".note.gnu.property" outside of ELF segments error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 * il(73) + dl(140800) I'm not sure if the warnings are somehow linked with the errors. [1] https://travis-ci.org/dwrobel/pxCore/builds/432614968#L1800 (In reply to Damian Wrobel from comment #3) > warning: Loadable section ".note.gnu.property" outside of ELF segments > error: rpmdbNextIterator: skipping h# 177 blob size(141976): BAD, 8 + 16 > * il(73) + dl(140800) ... > I'm not sure if the warnings are somehow linked with the errors. No, they should not, the rpm messages could be disabled by adding to the beginning of GDB command line: -iex 'set build-id-verbose 0' (In reply to Jan Kratochvil from comment #4) Thank you for the hint! FAIL: binutils-2.31.1-13.fc29.x86_64 Tested on: systemd-239-3.fc29.x86_64 /usr/lib/systemd/libsystemd-shared-239.so /usr/lib/debug/usr/lib/systemd/libsystemd-shared-239.so-239-3.fc29.x86_64.debug warning: Loadable section ".note.gnu.property" outside of ELF segments The warning comes from .gnu_debugdata: $ rm -f /tmp/debugdata*;objcopy -O binary --set-section-flags .gnu_debugdata=A -j .gnu_debugdata /usr/lib/systemd/libsystemd-shared-239.so /tmp/debugdata.xz;xz -dv /tmp/debugdata.xz;gdb -q /tmp/debugdata warning: Loadable section ".note.gnu.property" outside of ELF segments It does not happen with system-debuginfo.rpm installed as then GDB does not read .gnu_debugdata. Even objcopy already complains: $ objcopy /usr/lib/debug/usr/lib/systemd/libsystemd-shared-239.so-239-3.fc29.x86_64.debug /tmp/copytest objcopy: /tmp/copytest: warning: allocated section `.note.gnu.property' not in segment $ gdb -q /tmp/copytest warning: Loadable section ".note.gnu.property" outside of ELF segments I do not understand why objcopy does a copy of .note.gnu.build-id fine but it fails on .note.gnu.property. /usr/lib/debug/usr/lib/systemd/libsystemd-shared-239.so-239-3.fc29.x86_64.debug: Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 1] .note.gnu.build-id NOTE 00000000000002a8 0002a8 000024 00 A 0 0 4 [18] .note.gnu.property NOTE 00000000001f1fb0 0002e0 000030 00 A 0 0 8 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x000000000017a000 0x000000000017a000 0x000000 0x077fb0 R 0x1000 ### 0x1f1fb0 = 0x000000000017a000 + 0x077fb0 NOTE 0x0002a8 0x00000000000002a8 0x00000000000002a8 0x000024 0x000024 R 0x4 NOTE 0x1f1fb0 0x00000000001f1fb0 0x00000000001f1fb0 0x000030 0x000030 R 0x8 /tmp/copytest: Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 1] .note.gnu.build-id NOTE 00000000000002a8 0002a8 000024 00 A 0 0 4 [18] .note.gnu.property NOTE 00000000001f1fb0 0002d0 000030 00 A 0 0 8 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x000000000017a000 0x000000000017a000 0x000000 0x077fb0 R 0x1000 ### 0x1f1fb0 = 0x000000000017a000 + 0x077fb0 NOTE 0x0002a8 0x00000000000002a8 0x00000000000002a8 0x000024 0x000024 R 0x4 NOTE 0x000000 0x0000000000000000 0x00000000001f1fb0 0x000000 0x000000 R 0x8 ################## - why? ######## ######## (In reply to Jan Kurik from comment #2) > This bug appears to have been reported against 'rawhide' during the Fedora > 29 development cycle. > Changing version to '29'. No I'm still using Fedora 28 and I also get this message. (In reply to Jan Kratochvil from comment #6) > /usr/lib/debug/usr/lib/systemd/libsystemd-shared-239.so-239-3.fc29.x86_64. > ... Perhaps the issue is in "objcopy --only-keep-debug", which doesn't change the program headers. Since sections like .text are removed, sections after them (like .note.gnu.property) have their offset modified, but the program headers still have the offset from the original file. Using "readelf -e", in "Section to Segment mapping" for the *.debug files : - no .note.gnu.property => that's why gdb prints its warning - sections which shouldn't be loaded, like .comment .symtab .strtab are present (not sure why, but probably due to readelf being confused by the offsets) binutils-2.31.1-17.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-ba3cbcfd20 binutils-2.31.1-17.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-ba3cbcfd20 binutils-2.31.1-17.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. This is a gdb bug. (In reply to H.J. Lu from comment #12) > This is a gdb bug. So you think the objcopy behavior I noted in Comment 8 is correct ? (In reply to Loïc Yhuel from comment #13) > (In reply to H.J. Lu from comment #12) > > This is a gdb bug. > > So you think the objcopy behavior I noted in Comment 8 is correct ? It may be an objcopy bug. Please open a binutils bug at https://sourceware.org/bugzilla/ I see that the component has been changed to gdb. Doesn't that mean the bug is yet to be resolved? I am facing this issue on Fedora 30 with GNU gdb (GDB) Fedora 8.3-3.fc30 # rpm -qa | grep binutils binutils-2.31.1-29.fc30.x86_64 If that is the case shall we re-open this bug report? I think that this issue should be reopened. I have also filed a binutils bug report for the problem: https://sourceware.org/bugzilla/show_bug.cgi?id=24717 I have imported the patch to fix this problem from PR 24717, and it is now available in binutils-2.31.1-32.fc30. However - this fix will not solve the problem for GDB, since gdb has its own copy of the BFD library sources. Hence the patch also needs to be applied there, and so I am going to leave the component field set to gdb. I'm testing a GDB package with the fix included. Will build it if there are no regressions. Thanks. FEDORA-2019-4a8ba02caf has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-4a8ba02caf gdb-8.3-6.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-4a8ba02caf gdb-8.3-6.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report. The problem persist yet to me: [root@elfo Desktop]# rpm -qa binutils gdb binutils-2.31.1-29.fc30.x86_64 gdb-8.3-6.fc30.x86_64 [root@elfo Desktop]# gdb /path/to/freshly/complied/qemu/qemu-system-x86_64 GNU gdb (GDB) Fedora 8.3-6.fc30 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /scratch/qemu/check/x64/x86_64-softmmu/qemu-system-x86_64... (gdb) r Starting program: /scratch/qemu/check/x64/x86_64-softmmu/qemu-system-x86_64 warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". ^Cwarning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments warning: Loadable section ".note.gnu.property" outside of ELF segments Program received signal SIGINT, Interrupt. dl_main (phdr=<optimized out>, phnum=<optimized out>, user_entry=<optimized out>, auxv=<optimized out>) at rtld.c:2292 2292 LIBC_PROBE (init_complete, 2, LM_ID_BASE, r); (gdb) I tried the -iex 'set build-id-verbose 0' suggestion, but it makes no difference to me. Thanks, Juan. Hi Juan, (In reply to Juan Quintela from comment #22) > The problem persist yet to me: The "fix" for this problem uses a heuristic to detect debuginfo files and suppress the message about loadable sections. Since it is reasonable to assume that /path/to/freshly/complied/qemu/qemu-system-x86_64 is not a debuginfo file, this would explain why the messages are still appearing. What is puzzling to me is why this particular file should be triggering the warning in the first place. The warning should only be generated for binary files which are not strictly conformant to the ELF standard. Has the qemu-system-x86_64 file been mangled in some way ? Or built using a custom linker script ? Would it be possible for you to upload a copy of the file so that I can take a look ? Cheers Nick This message is a reminder that Fedora 30 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '30'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 30 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 30 changed to end-of-life (EOL) status on 2020-05-26. Fedora 30 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |