[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.
- [Bug ld/24815] New: ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/17
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, nickc at redhat dot com, 2019/07/25
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, amodra at gmail dot com, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, nsz at gcc dot gnu.org, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, maskray at google dot com, 2019/07/29
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/30
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries,
ismael at linux dot com <=
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, nsz at gcc dot gnu.org, 2019/07/30
- [Bug ld/24815] ld fails to find symbols from DT_NEEDED entries, ismael at linux dot com, 2019/07/30