libgcrypt1.9.0: Failure on linking test executables
Kasumi Fukuda
kasumi at rollingapple.net
Thu Jan 21 08:29:24 CET 2021
Thank you for your clarification, Niibe san
On Thu, Jan 21, 2021 at 2:23 PM NIIBE Yutaka <gniibe at fsij.org> wrote:
> What's the version of your GCC and linker (from binutils)?
They are from the official Amazon Linux 2 repository.
----
bash-4.2# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap
--enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared
--enable-threads=posix --enable-checking=release --enable-multilib
--with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id --with-gcc-major-version-only
--with-linker-hash-style=gnu --enable-plugin --enable-initfini-array
--with-isl --enable-libmpx --enable-libsanitizer
--enable-gnu-indirect-function --enable-libcilkrts --enable-libatomic
--enable-libquadmath --enable-libitm --with-tune=generic
--with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180712 (Red Hat 7.3.1-9) (GCC)
bash-4.2# ld -v
GNU ld version 2.29.1-30.amzn2
bash-4.2# ld.gold -v
GNU gold (version 2.29.1-30.amzn2) 1.14
----
> I don't see the reason why your linker emits error when linking t-secmem
> with libgcrypt.so. The t-secmem.o object has no use of any libgpg-error
> sympols. It seems that your linker tries to resolve all symbols in
> linked library, which is not needed at all.
I think you are right. And in fact, it has no dependency on
libgpg-error symbols when I do `nm t-secmem.o` or `readelf -a
t-secmem`.
> I tried with my environment (Debian GNU/Linux): Clang-3.8, GCC 6, GCC 8,
> GCC 9,... with ld.gold or ld.bfd. I was unable to replicate the linkage
> error.
Switching the linker to gold (by symlinking ld -> ld.gold) resolved
the issue in my case.
So something wrong with my ld.bfd?
--
More information about the Gcrypt-devel
mailing list