tests: Add -rdynamic to dwfl_proc_attach_LDFLAGS
authorMark Wielaard <mark@klomp.org>
Thu, 18 Nov 2021 20:34:57 +0000 (21:34 +0100)
committerMark Wielaard <mark@klomp.org>
Thu, 25 Nov 2021 14:46:27 +0000 (15:46 +0100)
dwfl-proc-attach uses (overrides) dlopen (so it does nothing).  This
seems to cause a versioned dlopen symbol to be pulled in when building
with LTO. Resulting in a link failure (when dlopen isn't integrated
into libc):

/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

Add -rdynamic to the LDFLAGS to add all symbols to the dynamic symbol
table for dwfl-proc-attach.

Signed-off-by: Mark Wielaard <mark@klomp.org>
tests/ChangeLog
tests/Makefile.am

index 26a4d67..9dceda8 100644 (file)
@@ -1,3 +1,7 @@
+2021-11-18  Mark Wielaard  <mark@klomp.org>
+
+       * Makefile.am (dwfl_proc_attach_LDFLAGS): Add -rdynamic.
+
 2021-11-11  Mark Wielaard  <mark@klomp.org>
 
        * run-debuginfod-000-permission.sh: Don't set DEBUGINFOD_TIMEOUT.
index bfb8b13..2298a5a 100644 (file)
@@ -717,7 +717,7 @@ strptr_LDADD = $(libelf)
 newdata_LDADD = $(libelf)
 elfstrtab_LDADD = $(libelf)
 dwfl_proc_attach_LDADD = $(libdw)
-dwfl_proc_attach_LDFLAGS = -pthread $(AM_LDFLAGS)
+dwfl_proc_attach_LDFLAGS = -pthread -rdynamic $(AM_LDFLAGS)
 elfshphehdr_LDADD =$(libelf)
 elfstrmerge_LDADD = $(libdw) $(libelf)
 dwelfgnucompressed_LDADD = $(libelf) $(libdw)