This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Assertion failure in elflink.c:2824 (binutils 2.30, powerpc)
- From: Justin Hibbits <chmeeedalf at gmail dot com>
- To: binutils at sourceware dot org
- Cc: dim at freebsd dot org
- Date: Wed, 10 Jul 2019 14:18:36 -0500
- Subject: Assertion failure in elflink.c:2824 (binutils 2.30, powerpc)
Hi,
Building LLVM 6.0 on FreeBSD/powerpc (devel/llvm60 port) the assertion
in the subject trips (displays twice) when linking libLTO.so.1. The
issue has been filed in FreeBSD's bugzilla, at
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237068 . It appears
the 'llvm::hashing::detail::get_execution_seed()::seed@@JL_LLVM_6.0'
symbol is being weakly aliased to an indirect symbol
__bss_start@@JL_LLVM_6.0. Since __bss_start@@JL_LLVM_6.0 is an
indirect symbol, it fails the assertion.
My thought, shown in comment #51, and Mark Millard's comment #52, is
that 'def' may need to itself be resolved to its target as well, by
duplicating the while loop resolving h's indirection.
Is this correct thinking?
The failure is 100% reproducible on FreeBSD/powerpc, with binutils 2.30
and 2.32.
Thanks,
Justin Hibbits