[tkloczko@barrel tests]$ make dwfl-proc-attach gcc -std=gnu99 -Wall -Wshadow -Wformat=2 -Wold-style-definition -Wstrict-prototypes -Wtrampolines -Wlogical-op -Wduplicated-cond -Wnull-dereference -Wimplicit-fallthrough=5 -Werror -Wunused -Wextra -Wstack-usage=262144 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -fdata-sections -ffunction-sections -Wformat -Wno-error=stack-usage= -pthread -Wl,-rpath-link,../libasm:../libdw:../libelf -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,--gc-sections -o dwfl-proc-attach dwfl-proc-attach.o ../libdw/libdw.so /usr/bin/ld: dwfl-proc-attach.o (symbol from plugin): undefined reference to symbol 'dlopen@@GLIBC_2.2.5' /usr/bin/ld: /usr/lib64/libdl.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [Makefile:1940: dwfl-proc-attach] Error 1 On first look it looks like missing -ldl on linking.
No I was wrong. But is still fails using glibc, gcc and binutils from rawride.
(In reply to kloczek from comment #1) > But is still fails using glibc, gcc and binutils from rawride. That is odd. I just did a build on rawhide that looks fine: https://koji.fedoraproject.org/koji/buildinfo?buildID=1704647
I see you are using -flto=auto. Sadly LTO isn't supported at the moment. Although it would be nice if it didn't totally break with -flto-partition=none. The problem with lto might be: /* HACK. This is a simple workaround for a combination of old glibc and valgrind. libdw will try to dlopen libdebuginfod this causes some unsuppressable memory leak warnings when the process is multi-threaded under valgrind because of some bad backtraces. So simply override dlopen and always return NULL so libdebuginfod (and libcurl) are never loaded. This test doesn't rely on libdebuginfod anyway. */ void *dlopen (void) { return NULL; } Maybe it needs some __attribute__((__used__)) to make sure it is kept around?
Is this still an issue?
Will back to you shortly with test made on top of latest 0.186. One sec ..
With latest gcc looks like it is OK now. Closing. /usr/bin/make check-TESTS PASS: newfile PASS: test-nlist PASS: update1 PASS: update2 PASS: update4 PASS: update3 PASS: run-ar.sh PASS: run-arsymtest.sh PASS: run-get-pubnames.sh PASS: run-get-lines.sh PASS: run-get-aranges.sh PASS: hash PASS: run-show-abbrev.sh PASS: newscn PASS: run-next-lines.sh PASS: run-get-files.sh PASS: run-next-files.sh PASS: run-line2addr.sh PASS: run-allfcts.sh PASS: run-strip-test3.sh PASS: run-strip-test.sh PASS: run-strip-test2.sh PASS: run-strip-test4.sh PASS: run-strip-test5.sh PASS: run-strip-test6.sh PASS: run-strip-test7.sh PASS: run-strip-test9.sh PASS: run-show-die-info.sh PASS: run-strip-test8.sh PASS: run-strip-test11.sh PASS: run-strip-test10.sh PASS: run-strip-test12.sh PASS: run-strip-groups.sh PASS: run-unstrip-test.sh PASS: run-unstrip-test2.sh PASS: run-strip-nobitsalign.sh PASS: run-unstrip-test3.sh PASS: run-unstrip-M.sh PASS: run-strip-nothing.sh PASS: run-ecp-test.sh PASS: run-ecp-test2.sh PASS: run-elfstrmerge-test.sh PASS: run-alldts.sh PASS: run-strip-g.sh PASS: run-annobingroup.sh PASS: run-ranlib-test.sh PASS: run-ranlib-test2.sh PASS: run-ranlib-test3.sh PASS: run-strip-strmerge.sh PASS: run-ranlib-test4.sh PASS: run-funcscopes.sh PASS: run-addrscopes.sh PASS: run-unstrip-test4.sh PASS: run-strings-test.sh PASS: run-elflint-test.sh PASS: run-dwarfcfi.sh PASS: run-nm-syms.sh PASS: run-find-prologues.sh PASS: run-readelf-info-plus.sh PASS: run-readelf-const-values.sh PASS: run-readelf-compressed.sh PASS: run-addrcfi.sh PASS: run-readelf-test1.sh PASS: run-allregs.sh PASS: run-readelf-test2.sh PASS: run-varlocs-self.sh PASS: run-readelf-test3.sh PASS: run-readelf-test4.sh PASS: run-readelf-macro.sh PASS: run-readelf-twofiles.sh PASS: run-readelf-aranges.sh PASS: run-arextract.sh PASS: run-readelf-frames.sh PASS: run-readelf-ranges.sh PASS: run-readelf-line.sh PASS: run-readelf-loc.sh PASS: run-strip-remove-keep.sh PASS: run-readelf-z.sh PASS: run-bug1-test.sh PASS: run-retain.sh PASS: dwfl-bug-addr-overflow PASS: run-debuglink.sh PASS: run-debugaltlink.sh PASS: run-buildid.sh PASS: run-readelf-n.sh PASS: dwfl-bug-report PASS: run-exprlocs-self.sh PASS: dwfl-report-segment-contiguous PASS: run-dwfl-bug-offline-rel.sh PASS: run-dwfl-addr-sect.sh PASS: run-early-offscn.sh PASS: run-elflint-self.sh PASS: run-dwarf-getmacros.sh PASS: run-test-flag-nobits.sh PASS: run-dwarf-ranges.sh PASS: run-dwarf-getstring.sh PASS: run-disasm-x86.sh PASS: run-rerequest_tag.sh PASS: run-readelf-d.sh PASS: run-addrname-test.sh PASS: run-typeiter.sh PASS: run-disasm-x86-64.sh PASS: run-readelf-gdb_index.sh PASS: run-elf_cntl_gelf_getshdr.sh PASS: run-macro-test.sh PASS: run-test-archive64.sh PASS: run-readelf-vmcoreinfo.sh PASS: run-unstrip-n.sh PASS: run-readelf-variant.sh PASS: run-readelf-fat-lto.sh PASS: run-dwfl-report-elf-align.sh PASS: run-prelink-addr-test.sh PASS: run-low_high_pc.sh PASS: run-addr2line-i-demangle-test.sh PASS: run-readelf-mixed-corenote.sh PASS: run-addr2line-i-lex-test.sh PASS: run-dwfllines.sh PASS: run-addr2line-alt-debugpath.sh PASS: run-addr2line-test.sh PASS: run-exprlocs.sh PASS: run-funcretval.sh PASS: run-backtrace-native.sh PASS: run-backtrace-data.sh PASS: run-addr2line-i-test.sh PASS: run-backtrace-dwarf.sh PASS: run-backtrace-native-biarch.sh PASS: run-varlocs-vars.sh PASS: run-varlocs.sh PASS: run-backtrace-core-x86_64.sh PASS: run-backtrace-fp-core-x86_64.sh PASS: run-backtrace-fp-core-aarch64.sh PASS: run-backtrace-fp-core-ppc64le.sh PASS: run-backtrace-core-x32.sh PASS: run-backtrace-core-i386.sh PASS: run-backtrace-fp-core-i386.sh PASS: run-backtrace-core-ppc.sh PASS: run-native-test.sh PASS: run-nm-self.sh PASS: run-backtrace-demangle.sh PASS: run-backtrace-core-s390x.sh PASS: run-backtrace-core-s390.sh PASS: run-backtrace-core-aarch64.sh PASS: run-stack-d-test.sh PASS: run-backtrace-core-sparc.sh PASS: run-stack-i-test.sh PASS: run-readelf-zp.sh PASS: run-readelf-zx.sh PASS: run-stack-demangled-test.sh PASS: run-readelf-addr.sh PASS: run-readelf-multi-noline.sh PASS: run-readelf-types.sh PASS: run-readelf-str.sh PASS: run-linkmap-cut.sh PASS: run-peel-type.sh PASS: run-readelf-dwz-multi.sh PASS: vdsosyms PASS: run-aggregate-size.sh PASS: run-allfcts-multi.sh PASS: run-strptr.sh PASS: dwfl-proc-attach PASS: newdata PASS: elfstrtab PASS: elfshphehdr PASS: run-readelf-A.sh PASS: run-getsrc-die.sh SKIP: run-lfs-symbols.sh PASS: run-zstrptr.sh PASS: run-dwelfgnucompressed.sh PASS: run-elfgetzdata.sh PASS: run-elfputzdata.sh PASS: emptyfile PASS: run-elfgetchdr.sh PASS: vendorelf PASS: fillfile PASS: dwarf_default_lower_bound PASS: run-readelf-zdebug.sh PASS: run-readelf-zdebug-rel.sh PASS: run-attr-integrate-skel.sh PASS: run-get-units-invalid.sh PASS: run-all-dwarf-ranges.sh PASS: run-reloc-bpf.sh PASS: run-dwarf-die-addr-die.sh PASS: run-get-units-split.sh PASS: run-unit-info.sh PASS: run-backtrace-native-core-biarch.sh PASS: run-next-cfi.sh PASS: run-next-cfi-self.sh PASS: run-deleted.sh PASS: run-reverse-sections.sh PASS: run-typeiter-many.sh PASS: run-reverse-sections-self.sh PASS: run-strip-version.sh PASS: dwfl-bug-fd-leak PASS: run-readelf-discr.sh PASS: run-xlate-note.sh PASS: run-dwelf_elf_e_machine_string.sh PASS: run-disasm-riscv64.sh PASS: run-copyadd-sections.sh PASS: run-pt_gnu_prop-tests.sh PASS: leb128 PASS: read_unaligned PASS: msg_tst PASS: run-getphdrnum.sh PASS: system-elf-libelf-test PASS: asm-tst1 PASS: asm-tst2 PASS: asm-tst3 PASS: run-test-includes.sh PASS: asm-tst4 PASS: asm-tst7 PASS: asm-tst8 PASS: asm-tst9 PASS: asm-tst6 PASS: run-disasm-bpf.sh PASS: run-nvidia-extended-linemap-libdw.sh PASS: run-elfclassify-self.sh PASS: run-low_high_pc-dw-form-indirect.sh PASS: asm-tst5 PASS: run-backtrace-native-core.sh PASS: run-nvidia-extended-linemap-readelf.sh PASS: run-strip-largealign.sh PASS: run-readelf-dw-form-indirect.sh PASS: run-readelf-compressed-zstd.sh PASS: run-readelf-s.sh PASS: run-dwflsyms.sh PASS: run-readelf-self.sh PASS: run-debuginfod-file.sh PASS: run-strip-test-many.sh PASS: run-debuginfod-fd-prefetch-caches.sh PASS: run-elfclassify.sh PASS: run-compress-test.sh PASS: run-debuginfod-duplicate-urls.sh PASS: run-debuginfod-sizetime.sh PASS: run-debuginfod-query-retry.sh PASS: run-debuginfod-dlopen.sh PASS: run-debuginfod-000-permission.sh PASS: run-debuginfod-no-urls.sh PASS: run-debuginfod-malformed.sh PASS: run-debuginfod-artifact-running.sh PASS: run-debuginfod-tmp-home.sh PASS: run-debuginfod-writable.sh PASS: run-debuginfod-regex.sh PASS: run-debuginfod-x-forwarded-for.sh PASS: run-debuginfod-percent-escape.sh PASS: run-debuginfod-archive-test.sh PASS: run-debuginfod-extraction.sh PASS: run-debuginfod-extraction-passive.sh PASS: run-copymany-sections.sh PASS: run-debuginfod-archive-groom.sh PASS: run-debuginfod-federation-sqlite.sh PASS: run-debuginfod-response-headers.sh PASS: run-debuginfod-federation-link.sh PASS: run-debuginfod-federation-metrics.sh PASS: run-debuginfod-archive-rename.sh PASS: run-strip-reloc.sh PASS: run-large-elf-file.sh ============================================================================ Testsuite summary for elfutils 0.186 ============================================================================ # TOTAL: 256 # PASS: 255 # SKIP: 1 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ + RPM_EC=0 [..] /home/tkloczko/rpmbuild/BUILDROOT/elfutils-0.186-2.fc35.x86_64 Wrote: /home/tkloczko/rpmbuild/SRPMS/elfutils-0.186-2.fc35.src.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfod-client-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfod-client-debuginfo-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-libelf-devel-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfod-client-devel-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-devel-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfod-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-libelf-debuginfo-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-libs-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-libelf-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-libs-debuginfo-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfod-debuginfo-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debuginfo-0.186-2.fc35.x86_64.rpm Wrote: /home/tkloczko/rpmbuild/RPMS/elfutils-debugsource-0.186-2.fc35.x86_64.rpm