<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, May 2, 2016 at 6:25 AM, Ed Schouten <span dir="ltr"><<a href="mailto:ed@nuxi.nl" target="_blank">ed@nuxi.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi Peter,<br>
<br>
2016-05-01 6:55 GMT+02:00 Peter Collingbourne via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>>:<br>
<span>> ELF: New symbol table design.<br>
<br>
</span>Sweet! Thanks for working on this.<br>
<br>
While testing this change, I think I ran into a small (potential)<br>
regression. If I create a statically linked, position independent<br>
executable that contains some TLS symbols, I now get the following<br>
error messages:<br>
<br>
$ cat hello.c<br>
#include <stdio.h><br>
int main() {<br>
  dprintf(1, "Hello\n");<br>
}<br>
$ x86_64-unknown-cloudabi-cc -o hello hello.c<br>
TLS attribute mismatch for symbol: errno in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_locale_ctype_us_ascii.o)<br>
TLS attribute mismatch for symbol: errno in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_errno_errno.o)<br>
TLS attribute mismatch for symbol: __pthread_wrlocks in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_pthread_pthread_rwlock_wrlock.o)<br>
TLS attribute mismatch for symbol: __pthread_wrlocks in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_pthread_pthread_wrlocks.o)<br>
TLS attribute mismatch for symbol: __pthread_rdlocks in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_pthread_pthread_rwlock_unlock.o)<br>
TLS attribute mismatch for symbol: __pthread_rdlocks in (internal) and<br>
/usr/local/llvm-trunk/bin/../x86_64-unknown-cloudabi/lib/libc.a(src_libc_pthread_pthread_rdlocks.o)<br>
clang-3.9: error: linker command failed with exit code 1 (use -v to<br>
see invocation)<br>
<br>
With the previous revision of LLD, r268172, the executable seems to<br>
link properly. Would you by any chance know what's causing this? Is<br>
there any more debug info you're interested in?</blockquote><div><br></div><div>I'm not sure, but I have my suspicions. Would it be possible to create a reproducer with the new --reproduce flag? (Pass -Wl,--reproduce,somedir to the compiler and send a tarball of somedir).</div><div><br></div><div>Thanks, </div></div><div><div dir="ltr">-- <div>Peter</div></div></div>
</div></div>