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

Shankar Easwaram shankarke at gmail.com
Sat Apr 18 05:09:55 PDT 2015


Thanks Simon fir the test. I may be able to get  to this issue later too. The bug is mostly in the elf reader where it's skipping real sections with the same name.



> On Apr 18, 2015, at 06:52, 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




More information about the llvm-dev mailing list