bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/24815] ld fails to find symbols from DT_NEEDED entries


From: ismael at linux dot com
Subject: [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries
Date: Tue, 30 Jul 2019 12:26:22 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=24815

--- Comment #9 from Ismael Luceno <ismael at linux dot com> ---
(In reply to Fangrui Song from comment #7)
> -Wl,-t,-y,lzma_end is also useful
> 
> When linking an executable, something like --no-allow-shlib-undefined is the
> default (the opposite allow-shlib-undefine is used when linking a DSO), if
> all of libxml2.so's DT_NEEDED libs are loaded, there can be an undefined
> reference.

# With glibc:
$ gcc test.c -lxml2  -Wl,-t,-y,lzma_end
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/Scrt1.o
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/crti.o
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/crtbeginS.o
/tmp/ccDXrw7S.o
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libxml2.so
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libgcc_s.so
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libc.so
/lib/libc.so.6
/usr/lib/libc_nonshared.a
/lib64/ld-linux-x86-64.so.2
/usr/lib/libc_nonshared.a
/lib64/ld-linux-x86-64.so.2
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libgcc_s.so
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/crtendS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../lib/crtn.o
/usr/lib/gcc/x86_64-pc-linux-gnu/9.1.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/lib/liblzma.so.5: definition of lzma_end

# With musl-libc:
$ gcc test.c -lxml2  -Wl,-t,-y,lzma_end
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/Scrt1.o
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/crti.o
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/crtbeginS.o
/tmp/ccnhkcpO.o
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libxml2.so
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libgcc_s.so
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libc.so
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libgcc_s.so
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libgcc_s.so.1
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/libgcc.a
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/crtendS.o
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/crtn.o
/usr/bin/ld: /lib/liblzma.so.5: definition of lzma_end
/usr/bin/ld:
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libxml2.so: undefined
reference to `lzma_properties_decode@XZ_5.0'
/usr/bin/ld:
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libxml2.so: undefined
reference to `lzma_code@XZ_5.0'
/usr/bin/ld:
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libxml2.so: undefined
reference to `lzma_auto_decoder@XZ_5.0'
/usr/bin/ld:
/usr/lib/gcc/x86_64-pc-linux-musl/9.1.0/../../../../lib/libxml2.so: undefined
reference to `lzma_end@XZ_5.0'
collect2: error: ld returned 1 exit status

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]