[llvm-bugs] [Bug 34501] New: [ARM] - LLD does not deduplicate entries in .ARM.exidx

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Sep 6 05:20:44 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=34501

            Bug ID: 34501
           Summary: [ARM] - LLD does not deduplicate entries in .ARM.exidx
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: ELF
          Assignee: unassignedbugs at nondot.org
          Reporter: grimar at accesssoftek.com
                CC: llvm-bugs at lists.llvm.org

It was spotted in comments for PR34407 that
when linking sample with LLD and gnu ld (sample can be taken from following
reply: https://bugs.llvm.org/show_bug.cgi?id=34407#c2) the size of
.ARM.exidx produced is different.

gnu ld output is:
Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf
Al
  [ 3] .ARM.exidx        ARM_EXIDX       0001f098 00f098 000008 00  AL  2   0 
4
Unwind table index '.ARM.exidx' at offset 0xf098 contains 1 entries:
0x1f008 <main>: 0x1 [cantunwind]

and LLD's is:
Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf
Al
  [ 3] .ARM.exidx        ARM_EXIDX       0001f098 001098 000018 00  AL  2   0 
4
Unwind table index '.ARM.exidx' at offset 0x1098 contains 3 entries:
0x1f008 <main>: 0x1 [cantunwind]
0x1f03e <putc>: 0x1 [cantunwind]
0x1f05a <putc+0x1c>: 0x1 [cantunwind]

So LLD produces 3x size of .ARM.exidx at this moment.

I know almost nothing about ARM, but after quick investigation found that gnu
ld do some proccessing for SHT_ARM_EXIDX sections.
One of stepd is deduplicating of entries. Patch implementing this was:
https://sourceware.org/ml/binutils/2009-05/msg00048.html

And also looks they had to add --no-merge-exidx-entries flag to be able
to disable deduplication
(https://sourceware.org/ml/binutils/2010-04/msg00193.html).

Not sure do we want to support this or not, reporting the difference just in
case.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170906/51ea2a6c/attachment.html>


More information about the llvm-bugs mailing list