[llvm-dev] Linux/ARM: Segfault issue when we build clang sources including __thread variable using -O2 flag

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Tue May 10 06:39:30 PDT 2016


On 9 May 2016 at 23:37, Geunsik Lim <leemgs at gmail.com> wrote:
> arm at target# objdump -d ./libcoreclr.so  | grep tls_get_addr <--- version
> 2.25
> 00037b70 <__tls_get_addr at plt>:
>    a0732: f797 ea1e blx 37b70 <__tls_get_addr at plt>

This is exactly what I see, so I'm not sure what you're actually looking for.

That first line (37b70) is the PLT stub for __tls_get_addr that lives
in libcoreclr.so. If you look at the following 3 lines, they call into
ld-linux.so, which looks up where the real __tls_get_addr function is
and calls that instead.

In this case the real definition also happens to be in ld-linux.so,
but that's not typical. E.g. printf would be in libc.so.


More information about the llvm-commits mailing list