Re: [PATCH] libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
Hi, On Fri, 2020-05-01 at 00:07 +0200, Mark Wielaard wrote: > When we fall back to the debuginfod client then we need to do the > same trick we do for local lookups in dwfl_build_id_find_debuginfo. > If the debug file (dw) is already set, then we must be looking for > the altfile. But we cannot use the actual file/path name given as > hint. We'll have to lookup the alt file "build-id". Because the > debuginfod client only handles build-ids. > > Previously we would use the build-id of the main file which meant > the debuginfod client would give us another copy of the debug file, > which would then be set as its own altfile. This caused lots of > confusion... After some more testing in Fedora, pushed this to master. Cheers, Mark
[Bug general/24498] 0.176: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 --- Comment #19 from Mark Wielaard --- The following now works with current git master: $ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm $ autoreconf -f -v -i $ ./configure --enable-maintainer-mode CFLAGS="-O2 -g -flto -flto-partition=none -Wno-error=stack-usage=" CXXFLAGS="-O2 -g -flto -flto-partition=none" $ make -j4 $ make check -j4 # TOTAL: 218 # PASS: 216 # SKIP: 2 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 The -flto-partition=none workaround is still needed issues with symbol versioning (even with the new gcc symver support we'll still get multiple defined symbols). The -Wno-error=stack-usage= is needed for "linking" the various tools in src (they have -Wno-stack-usage= in src/Makefile.am, but it links with some code in lib/ which doesn't...) -- You are receiving this mail because: You are on the CC list for the bug.
[Bug general/24498] 0.176: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 --- Comment #20 from kloczek --- Just tretested using latest binutils and gcc and looksl like it compiles and links correctly. Despite that test suite is not possing: /usr/bin/make check-TESTS PASS: newfile PASS: update1 FAIL: test-nlist PASS: update2 PASS: newscn PASS: hash PASS: update4 PASS: update3 PASS: run-get-aranges.sh PASS: run-show-abbrev.sh PASS: run-ecp-test.sh PASS: run-ecp-test2.sh PASS: run-get-pubnames.sh PASS: run-unstrip-M.sh PASS: run-get-lines.sh PASS: run-ranlib-test.sh PASS: run-alldts.sh PASS: run-ranlib-test2.sh PASS: run-ar.sh PASS: run-show-die-info.sh PASS: run-allfcts.sh PASS: run-ranlib-test3.sh PASS: run-strip-groups.sh PASS: run-unstrip-test2.sh PASS: run-next-lines.sh PASS: run-unstrip-test.sh PASS: run-unstrip-test3.sh PASS: run-elfstrmerge-test.sh PASS: run-get-files.sh PASS: run-ranlib-test4.sh PASS: run-next-files.sh PASS: run-line2addr.sh PASS: run-unstrip-test4.sh PASS: run-funcscopes.sh PASS: run-addrscopes.sh PASS: run-readelf-const-values.sh PASS: run-strip-test3.sh PASS: run-readelf-info-plus.sh FAIL: run-elflint-self.sh PASS: run-readelf-test1.sh PASS: run-strip-test11.sh PASS: run-strings-test.sh PASS: run-readelf-test3.sh PASS: run-strip-test2.sh PASS: run-strip-test12.sh PASS: run-strip-nobitsalign.sh PASS: run-readelf-test4.sh FAIL: run-strip-strmerge.sh PASS: run-strip-test9.sh PASS: run-readelf-macro.sh PASS: run-strip-test.sh PASS: run-readelf-compressed.sh PASS: run-strip-nothing.sh PASS: run-readelf-test2.sh PASS: run-readelf-twofiles.sh PASS: dwfl-bug-addr-overflow PASS: dwfl-bug-report PASS: run-strip-test10.sh PASS: run-readelf-aranges.sh PASS: dwfl-report-segment-contiguous PASS: run-strip-test4.sh PASS: run-strip-test7.sh PASS: run-strip-test5.sh PASS: run-strip-test6.sh PASS: run-strip-test8.sh PASS: run-strip-g.sh PASS: run-early-offscn.sh PASS: run-debuglink.sh PASS: run-dwfl-bug-offline-rel.sh PASS: run-test-flag-nobits.sh PASS: run-debugaltlink.sh PASS: run-elflint-test.sh PASS: run-bug1-test.sh FAIL: run-varlocs-self.sh PASS: run-buildid.sh PASS: run-dwarf-getstring.sh PASS: run-dwfl-addr-sect.sh PASS: run-elf_cntl_gelf_getshdr.sh PASS: run-dwarfcfi.sh PASS: run-readelf-d.sh FAIL: run-exprlocs-self.sh PASS: run-rerequest_tag.sh PASS: run-disasm-x86.sh PASS: run-disasm-x86-64.sh PASS: run-readelf-vmcoreinfo.sh PASS: run-readelf-gdb_index.sh PASS: run-find-prologues.sh PASS: run-typeiter.sh PASS: run-dwfl-report-elf-align.sh PASS: run-macro-test.sh PASS: run-readelf-variant.sh PASS: run-test-archive64.sh PASS: run-addr2line-i-demangle-test.sh PASS: run-dwarf-getmacros.sh PASS: run-addrcfi.sh PASS: run-annobingroup.sh PASS: run-readelf-line.sh PASS: run-exprlocs.sh PASS: run-funcretval.sh PASS: run-unstrip-n.sh PASS: run-readelf-z.sh PASS: run-dwarf-ranges.sh PASS: run-readelf-ranges.sh PASS: run-backtrace-dwarf.sh PASS: run-readelf-n.sh PASS: run-addr2line-alt-debugpath.sh PASS: run-readelf-loc.sh PASS: run-backtrace-native.sh PASS: run-backtrace-data.sh PASS: run-backtrace-native-biarch.sh PASS: run-addr2line-i-lex-test.sh PASS: run-backtrace-demangle.sh PASS: run-readelf-zp.sh PASS: run-backtrace-core-x86_64.sh PASS: run-backtrace-fp-core-x86_64.sh PASS: run-backtrace-fp-core-aarch64.sh PASS: vdsosyms PASS: run-backtrace-fp-core-ppc64le.sh PASS: run-stack-i-test.sh PASS: run-dwfllines.sh PASS: run-backtrace-core-x32.sh PASS: run-backtrace-fp-core-i386.sh PASS: run-readelf-types.sh PASS: run-backtrace-core-i386.sh PASS: run-backtrace-core-ppc.sh PASS: run-backtrace-core-aarch64.sh PASS: run-backtrace-core-s390.sh PASS: run-readelf-addr.sh PASS: run-low_high_pc.sh PASS: newdata PASS: elfstrtab PASS: run-backtrace-core-sparc.sh PASS: elfshphehdr PASS: run-backtrace-core-s390x.sh PASS: dwfl-proc-attach PASS: run-native-test.sh PASS: run-readelf-str.sh PASS: run-readelf-mixed-corenote.sh PASS: run-stack-d-test.sh PASS: run-linkmap-cut.sh PASS: run-addr2line-test.sh PASS: run-readelf-zx.sh PASS: emptyfile PASS: vendorelf PASS: run-strptr.sh SKIP: run-lfs-symbols.sh PASS: fillfile PASS: dwarf_default_lower_bound PASS: run-stack-demangled-test.sh PASS: run-peel-type.sh PASS: run-allregs.sh PASS: run-zstrptr.sh PASS: run-aggregate-size.sh PASS: run-allfcts-multi.sh PASS: run-getsrc-die.sh PASS: run-addr2line-i-test.sh PASS: run-addrname-test.sh PASS: run-reloc-bpf.sh PASS: run-readelf-A.sh PASS: run-varlocs.sh PASS: run-elfputzdata.sh PASS: msg_tst PASS: run-readelf-dwz-multi.sh PASS: run-all-dwarf-ranges.sh PASS: run-readelf-discr.sh PASS: run-dwelfgnucompressed.sh PASS: system-elf-libelf-test PASS: run-attr-integrate-skel.sh PASS: asm-tst1 PASS: asm-tst2 PASS: run-strip-version.sh PASS: run-disasm-riscv64.sh PASS: asm-tst3 PASS: dwfl-bug-fd-leak PASS: asm-tst7 PASS: run-dwelf_elf_e_machine_string.sh PASS: asm-tst8 PASS: asm-tst9 PASS: run-elfgetzdata.sh PASS: run-getphdrnum.sh PASS: run-xlate-note.sh PASS: run-deleted.sh PASS: run-next-cfi-self.sh PASS: run-next-cfi.sh PASS: run-pt_gnu_prop-te
[Bug general/24498] 0.176: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 --- Comment #21 from kloczek --- Just tretested using latest binutils and gcc and looksl like it compiles and links correctly. Despite that test suite is not possing: /usr/bin/make check-TESTS PASS: newfile PASS: update1 FAIL: test-nlist PASS: update2 PASS: newscn PASS: hash PASS: update4 PASS: update3 PASS: run-get-aranges.sh PASS: run-show-abbrev.sh PASS: run-ecp-test.sh PASS: run-ecp-test2.sh PASS: run-get-pubnames.sh PASS: run-unstrip-M.sh PASS: run-get-lines.sh PASS: run-ranlib-test.sh PASS: run-alldts.sh PASS: run-ranlib-test2.sh PASS: run-ar.sh PASS: run-show-die-info.sh PASS: run-allfcts.sh PASS: run-ranlib-test3.sh PASS: run-strip-groups.sh PASS: run-unstrip-test2.sh PASS: run-next-lines.sh PASS: run-unstrip-test.sh PASS: run-unstrip-test3.sh PASS: run-elfstrmerge-test.sh PASS: run-get-files.sh PASS: run-ranlib-test4.sh PASS: run-next-files.sh PASS: run-line2addr.sh PASS: run-unstrip-test4.sh PASS: run-funcscopes.sh PASS: run-addrscopes.sh PASS: run-readelf-const-values.sh PASS: run-strip-test3.sh PASS: run-readelf-info-plus.sh FAIL: run-elflint-self.sh PASS: run-readelf-test1.sh PASS: run-strip-test11.sh PASS: run-strings-test.sh PASS: run-readelf-test3.sh PASS: run-strip-test2.sh PASS: run-strip-test12.sh PASS: run-strip-nobitsalign.sh PASS: run-readelf-test4.sh FAIL: run-strip-strmerge.sh PASS: run-strip-test9.sh PASS: run-readelf-macro.sh PASS: run-strip-test.sh PASS: run-readelf-compressed.sh PASS: run-strip-nothing.sh PASS: run-readelf-test2.sh PASS: run-readelf-twofiles.sh PASS: dwfl-bug-addr-overflow PASS: dwfl-bug-report PASS: run-strip-test10.sh PASS: run-readelf-aranges.sh PASS: dwfl-report-segment-contiguous PASS: run-strip-test4.sh PASS: run-strip-test7.sh PASS: run-strip-test5.sh PASS: run-strip-test6.sh PASS: run-strip-test8.sh PASS: run-strip-g.sh PASS: run-early-offscn.sh PASS: run-debuglink.sh PASS: run-dwfl-bug-offline-rel.sh PASS: run-test-flag-nobits.sh PASS: run-debugaltlink.sh PASS: run-elflint-test.sh PASS: run-bug1-test.sh FAIL: run-varlocs-self.sh PASS: run-buildid.sh PASS: run-dwarf-getstring.sh PASS: run-dwfl-addr-sect.sh PASS: run-elf_cntl_gelf_getshdr.sh PASS: run-dwarfcfi.sh PASS: run-readelf-d.sh FAIL: run-exprlocs-self.sh PASS: run-rerequest_tag.sh PASS: run-disasm-x86.sh PASS: run-disasm-x86-64.sh PASS: run-readelf-vmcoreinfo.sh PASS: run-readelf-gdb_index.sh PASS: run-find-prologues.sh PASS: run-typeiter.sh PASS: run-dwfl-report-elf-align.sh PASS: run-macro-test.sh PASS: run-readelf-variant.sh PASS: run-test-archive64.sh PASS: run-addr2line-i-demangle-test.sh PASS: run-dwarf-getmacros.sh PASS: run-addrcfi.sh PASS: run-annobingroup.sh PASS: run-readelf-line.sh PASS: run-exprlocs.sh PASS: run-funcretval.sh PASS: run-unstrip-n.sh PASS: run-readelf-z.sh PASS: run-dwarf-ranges.sh PASS: run-readelf-ranges.sh PASS: run-backtrace-dwarf.sh PASS: run-readelf-n.sh PASS: run-addr2line-alt-debugpath.sh PASS: run-readelf-loc.sh PASS: run-backtrace-native.sh PASS: run-backtrace-data.sh PASS: run-backtrace-native-biarch.sh PASS: run-addr2line-i-lex-test.sh PASS: run-backtrace-demangle.sh PASS: run-readelf-zp.sh PASS: run-backtrace-core-x86_64.sh PASS: run-backtrace-fp-core-x86_64.sh PASS: run-backtrace-fp-core-aarch64.sh PASS: vdsosyms PASS: run-backtrace-fp-core-ppc64le.sh PASS: run-stack-i-test.sh PASS: run-dwfllines.sh PASS: run-backtrace-core-x32.sh PASS: run-backtrace-fp-core-i386.sh PASS: run-readelf-types.sh PASS: run-backtrace-core-i386.sh PASS: run-backtrace-core-ppc.sh PASS: run-backtrace-core-aarch64.sh PASS: run-backtrace-core-s390.sh PASS: run-readelf-addr.sh PASS: run-low_high_pc.sh PASS: newdata PASS: elfstrtab PASS: run-backtrace-core-sparc.sh PASS: elfshphehdr PASS: run-backtrace-core-s390x.sh PASS: dwfl-proc-attach PASS: run-native-test.sh PASS: run-readelf-str.sh PASS: run-readelf-mixed-corenote.sh PASS: run-stack-d-test.sh PASS: run-linkmap-cut.sh PASS: run-addr2line-test.sh PASS: run-readelf-zx.sh PASS: emptyfile PASS: vendorelf PASS: run-strptr.sh SKIP: run-lfs-symbols.sh PASS: fillfile PASS: dwarf_default_lower_bound PASS: run-stack-demangled-test.sh PASS: run-peel-type.sh PASS: run-allregs.sh PASS: run-zstrptr.sh PASS: run-aggregate-size.sh PASS: run-allfcts-multi.sh PASS: run-getsrc-die.sh PASS: run-addr2line-i-test.sh PASS: run-addrname-test.sh PASS: run-reloc-bpf.sh PASS: run-readelf-A.sh PASS: run-varlocs.sh PASS: run-elfputzdata.sh PASS: msg_tst PASS: run-readelf-dwz-multi.sh PASS: run-all-dwarf-ranges.sh PASS: run-readelf-discr.sh PASS: run-dwelfgnucompressed.sh PASS: system-elf-libelf-test PASS: run-attr-integrate-skel.sh PASS: asm-tst1 PASS: asm-tst2 PASS: run-strip-version.sh PASS: run-disasm-riscv64.sh PASS: asm-tst3 PASS: dwfl-bug-fd-leak PASS: asm-tst7 PASS: run-dwelf_elf_e_machine_string.sh PASS: asm-tst8 PASS: asm-tst9 PASS: run-elfgetzdata.sh PASS: run-getphdrnum.sh PASS: run-xlate-note.sh PASS: run-deleted.sh PASS: run-next-cfi-self.sh PASS: run-next-cfi.sh PASS: run-pt_gnu_prop-te
[Bug general/24498] 0.176: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 --- Comment #22 from Mark Wielaard --- kloczek, re comment #20 and comment #21, is that with the latest git master sources? It looks like it is missing several code and testsuite fixes. In particular are you sure you have the following patches: commit e2fc0b737c1d55becda1f13dceec315a5589820a Author: Mark Wielaard Date: Thu Apr 16 18:48:58 2020 +0200 elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given. commit d6185d33fb2a65b4c3cbc73c5529937debdd2568 Author: Mark Wielaard Date: Fri Apr 17 11:31:40 2020 +0200 libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix. commit 51cfbaabefd6d5ebdd7513b876daf78d07470f8c Author: Mark Wielaard Date: Fri Apr 17 12:21:46 2020 +0200 tests: Build test-nlist with minimal CFLAGS to guarantee symbol order. commit 554352ded723042572a91200d05fdb075b1a1ea3 Author: Mark Wielaard Date: Fri Apr 17 12:31:15 2020 +0200 tests: Run run-varlocs-self.sh for object files with --exprlocs. -- You are receiving this mail because: You are on the CC list for the bug.
[Bug general/24498] 0.179: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 Mark Wielaard changed: What|Removed |Added Summary|0.176: isn't LTO ready |0.179: isn't LTO ready -- You are receiving this mail because: You are on the CC list for the bug.
[Bug general/24498] 0.179: isn't LTO ready
https://sourceware.org/bugzilla/show_bug.cgi?id=24498 --- Comment #23 from kloczek --- Just retested elfutils with more patches from git and looks like now test suite is passing successfully: [tkloczko@barrel SPECS]$ rpmbuild -ba elfutils.spec --with lto --with check warning: Downloading https://sourceware.org/elfutils/ftp/0.179/elfutils-0.179.tar.bz2 to /home/tkloczko/rpmbuild/SOURCES/elfutils-0.179.tar.bz2 warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=39f28eaf#/elfutils-libdwfl-Initialize-bits-to-NULL-in-dwfl_standard_fin.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libdwfl-Initialize-bits-to-NULL-in-dwfl_standard_fin.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=25d40a62#/elfutils-libcpu-Replace-assert-with-goto-invalid_op-for-bad-p.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libcpu-Replace-assert-with-goto-invalid_op-for-bad-p.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=e2fc0b73#/elfutils-elflint-Allow-SHF_EXCLUDE-as-generic-section-flag-wh.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-elflint-Allow-SHF_EXCLUDE-as-generic-section-flag-wh.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=d6185d33#/elfutils-libdw-readelf-Handle-GCC-LTO-.gnu.debuglto_-prefix.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libdw-readelf-Handle-GCC-LTO-.gnu.debuglto_-prefix.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=51cfbaab#/elfutils-tests-Build-test-nlist-with-minimal-CFLAGS-to-guaran.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-tests-Build-test-nlist-with-minimal-CFLAGS-to-guaran.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=554352de#/elfutils-tests-Run-run-varlocs-self.sh-for-object-files-with-.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-tests-Run-run-varlocs-self.sh-for-object-files-with-.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=a5d73b3e#/elfutils-libelf-Fix-double-free-in-__libelf_compress-on-error.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libelf-Fix-double-free-in-__libelf_compress-on-error.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=8c5bd878#/elfutils-libasm-Fix-double-fclose-in-asm_end.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libasm-Fix-double-fclose-in-asm_end.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=5436c752#/elfutils-libdw-Call-Dwarf-oom_handler-when-malloc-fails-in-__.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libdw-Call-Dwarf-oom_handler-when-malloc-fails-in-__.patch warning: Downloading https://sourceware.org/git/?p=elfutils.git;a=patch;h=a894c63d#/elfutils-libdwfl-Fix-double-free-on-failure-path-in-gzip.c.patch to /home/tkloczko/rpmbuild/SOURCES/elfutils-libdwfl-Fix-double-free-on-failure-path-in-gzip.c.patch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.jQ9OUD + umask 022 + cd /home/tkloczko/rpmbuild/BUILD + cd /home/tkloczko/rpmbuild/BUILD + rm -rf elfutils-0.179 + /usr/bin/bzip2 -dc /home/tkloczko/rpmbuild/SOURCES/elfutils-0.179.tar.bz2 + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd elfutils-0.179 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-debug-client-alt-link.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libdwfl-Initialize-bits-to-NULL-in-dwfl_standard_fin.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libcpu-Replace-assert-with-goto-invalid_op-for-bad-p.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-elflint-Allow-SHF_EXCLUDE-as-generic-section-flag-wh.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libdw-readelf-Handle-GCC-LTO-.gnu.debuglto_-prefix.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-tests-Build-test-nlist-with-minimal-CFLAGS-to-guaran.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-tests-Run-run-varlocs-self.sh-for-object-files-with-.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libelf-Fix-double-free-in-__libelf_compress-on-error.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libasm-Fix-double-fclose-in-asm_end.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libdw-Call-Dwarf-oom_handler-when-malloc-fails-in-__.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch + /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/elfutils-libdwf