[LLVMdev] [lld] Linker cannot handle sections with non-unique names

Shankar Easwaran shankarke at gmail.com
Sun Apr 19 15:44:43 PDT 2015


Attached patch fixes the issue.

On Sat, Apr 18, 2015 at 6:52 AM, Simon Atanasyan <simon at atanasyan.com>
wrote:

> Hi,
>
> FYI
>
> LLD cannot handle ELF sections with non-unique names. An object file
> with such sections can be generated by the Clang since r234143. I am
> not sure that Clang works absolutely correct but bfd linker works
> fine.
>
> Right now I do not have a time to investigate this problem. If nobody
> take, I will try to solve it later.
>
> Here is the reproduction script for x86_64 host:
>
> $ cat test.cc
> template <class T>
> void foo(T) {}
>
> int main() {
>   foo(0);
>   foo(1.0);
> }
>
> $ clang++ -c test.cc -fno-unique-section-names
> $ lld -flavor gnu -target x86_64 --hash-style=both --build-id \
>   --eh-frame-hdr -m elf_x86_64 \
>   -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out \
>   <bunch of regular linker arguments here>
> $ ./a.out
> Illegal instruction
>
> $ clang++ -c test.cc -funique-section-names
> $ lld -flavor gnu -target x86_64 --hash-style=both --build-id \
>   --eh-frame-hdr -m elf_x86_64 \
>   -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out \
>   <bunch of regular linker arguments here>
> $ ./a.out
>
> --
> Simon Atanasyan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150419/b981ca12/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: no-unique-sections.patch
Type: text/x-patch
Size: 2873 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150419/b981ca12/attachment.bin>


More information about the llvm-dev mailing list