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

Geunsik Lim via llvm-commits llvm-commits at lists.llvm.org
Mon May 9 23:37:03 PDT 2016


>Maybe you've got an older version of objdump?

FYI, We can normally display "__tls_get_addr at plt" by using the binutils
2.25.0 without the existing binutils 2.24

u14.04$> arm-linux-gnueabihf-objdump  -d ./libcoreclr.so  | grep
tls_get_addr  <--- version 2.24
u14.04$> arm-linux-gnueabi-objdump   -d ./libcoreclr.so  | grep
tls_get_addr    <--- version 2.24

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>
   a0754: f797 ea0c blx 37b70 <__tls_get_addr at plt>
   a222e: f795 eca0 blx 37b70 <__tls_get_addr at plt>
   a2b56: f795 e80c blx 37b70 <__tls_get_addr at plt>
  153cc0: f6e3 ef56 blx 37b70 <__tls_get_addr at plt>
  153cf4: f6e3 ef3c blx 37b70 <__tls_get_addr at plt>
  153d26: f6e3 ef24 blx 37b70 <__tls_get_addr at plt>
  153d48: f6e3 ef12 blx 37b70 <__tls_get_addr at plt>
           . . . Below Omission . . .

arm at target# objdump  --version
GNU objdump (GNU Binutils) 2.25.0
Copyright (C) 2014 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later
version.
This program has absolutely no warranty.
arm at target#
arm at target#
arm at target#


On Tue, May 10, 2016 at 2:59 PM, Geunsik Lim <leemgs at gmail.com> wrote:

> It's strange. I my case, I have used  objdump version 2.24 as following on
> the Ubuntu 14.04 X64 PC.
> Could you share me the version of binutils that you have used to display
> the  "*****  <__tls_get_addr at plt>" content?
> Do you mean that you can still display  __tls_getaddr at plt information "objdump
> -d" command
> from the shared object file "./libcoreclr.so"  on your Linux distribution?
>
> invain at target:/work/nfs/runtime-arm-u1404-debug-mode-20160503-global-dynamic-O0$
> arm-linux-gnueabi-objdump  --version
> GNU objdump (GNU Binutils for Ubuntu) 2.24
> Copyright 2013 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or (at your option) any later
> version.
> This program has absolutely no warranty.
> invain at target
> :/work/nfs/runtime-arm-u1404-debug-mode-20160503-global-dynamic-O0$
> invain at target
> :/work/nfs/runtime-arm-u1404-debug-mode-20160503-global-dynamic-O0$
> invain at target:/work/nfs/runtime-arm-u1404-debug-mode-20160503-global-dynamic-O0$
> objdump --version
> GNU objdump (GNU Binutils for Ubuntu) 2.24
> Copyright 2013 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License version 3 or (at your option) any later
> version.
> This program has absolutely no warranty.
> invain at target
> :/work/nfs/runtime-arm-u1404-debug-mode-20160503-global-dynamic-O0$
>
>
> On Tue, May 10, 2016 at 1:11 PM, Tim Northover <t.p.northover at gmail.com>
> wrote:
>
>> >>    28b428:       f8df 06d4       ldr.w   r0, [pc, #1748] ; 28bb00
>> >>    28b42c:       4478            add     r0, pc
>> >>    28b42e:       f5a6 e8c6       blx     315bc <__tls_get_addr at plt>
>> >>    [...]
>> >>
>> > BTW, How could you get the  "*****  <__tls_get_addr at plt>" content?
>> > When I ran the below commands, I could not get the  "*****
>> <__tls_get_addr at plt>" line.
>> > u14.04$> cd ./runtime-arm-u1404-debug-mode-20160503-global-dynamic-O2/
>> > u14.04$> objdump -d ./libcoreclr.so  | grep tls_get_addr
>>
>> Maybe you've got an older version of objdump? I'm afraid I don't
>> really know much about binutils changes over the years.
>>
>> Tim.
>>
>
>
>
> --
> http://leemgs.fedorapeople.org
> Don't try to avoid pain if you fail.
> If you decided to face the challenges in life,
> you can gain a lot by giving your best.
> Cheolsang Jeong's Book & life
> --
>



-- 
http://leemgs.fedorapeople.org
Don't try to avoid pain if you fail.
If you decided to face the challenges in life,
you can gain a lot by giving your best.
Cheolsang Jeong's Book & life
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160510/735ffb9c/attachment.html>


More information about the llvm-commits mailing list