https://sourceware.org/bugzilla/show_bug.cgi?id=33767
Bug ID: 33767
Summary: elflint self-tests fail when elfutils is built with
LLVM lld linker
Product: elfutils
Version: unspecified
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: general
Assignee: unassigned at sourceware dot org
Reporter: jychena at ambarella dot com
CC: elfutils-devel at sourceware dot org
Target Milestone: ---
Description:
When elfutils is built with LLVM's lld linker, self-tests
(run-elflint-self.sh, run-strip-strmerge.sh, run-reverse-sections-self.sh) fail
because elflint expects GNU ld output format.
Key differences in lld-generated ELF:
.gnu.version_r: different offset format for version entries
.rodata: SHF_MERGE flag with sh_entsize=0
.relro_padding: lld-specific section (type NOBITS, flags WRITE|ALLOC)
.gnu.version: different version index format
Sample errors:
section [ 8] '.gnu.version_r': entry 3 has invalid offset to next entry
section [14] '.rodata': merge flag set but entry size is zero
section [27] '.relro_padding' has wrong type: expected RELR, is NOBITS
section [ 7] '.gnu.version': symbol 1: invalid version index 2
Proposed solution:
Add --lld option (similar to existing --gnu-ld) to relax these checks for
lld-generated binaries.
My Current workaround:
make check XFAIL_TESTS="run-strip-strmerge.sh run-elflint-self.sh
run-reverse-sections-self.sh"
--
You are receiving this mail because:
You are on the CC list for the bug.