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.

Reply via email to