[Lldb-commits] [PATCH] D39307: Fix global data symbol resolution

Davide Italiano via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Oct 25 16:42:23 PDT 2017


davide added a comment.

Thanks for taking care of the test.

About the libmath question. I thought libmath exported a symbol named `a` ,but I haven't checked the `readelf` output.
This is what I saw for the symbols:

  (lldb) image lookup --address 0x00007ffff77ec290
  Address: libm.so.6[0x00000000000a4290] (libm.so.6..rodata + 186832)
  Summary: libm.so.6`a

But I think there may be another latent bug because what I see here is:

  $ objdump -t libm.so |grep ' a'
  00040040 l     O .rodata        00000008              a11.8714
  00040030 l     O .rodata        00000008              a9.8712
  00040020 l     O .rodata        00000008              a7.8710
  00040010 l     O .rodata        00000008              a5.8708
  00040008 l     O .rodata        00000008              aa5.8709
  00040000 l     O .rodata        00000008              a3.8706
  0003fff8 l     O .rodata        00000008              aa3.8707
  00040080 l     O .rodata        00000008              a27.8724
  00040088 l     O .rodata        00000008              a25.8723
  00040078 l     O .rodata        00000008              a23.8722
  00040070 l     O .rodata        00000008              a21.8721
  00040068 l     O .rodata        00000008              a19.8720
  00040060 l     O .rodata        00000008              a17.8719
  00040058 l     O .rodata        00000008              a15.8718
  00040050 l     O .rodata        00000008              a13.8716
  00040048 l     O .rodata        00000008              aa13.8717
  00040038 l     O .rodata        00000008              aa11.8715
  00040028 l     O .rodata        00000008              aa9.8713
  00040018 l     O .rodata        00000008              aa7.8711
  00010ee0  w    F .text  000000e5              atan2
  0002eb60  w    F .text  00000009              atanl
  00021ea0  w    F .text  00000032              atanf
  00010fd0  w    F .text  0000007b              atanh
  00030090  w    F .text  00000068              acosl
  00010e10  w    F .text  00000054              acosh
  000230d0  w    F .text  00000063              acosf
  00010da0  w    F .text  00000063              acos
  00009570  w    F .text  00000032              atan
  00010e70  w    F .text  00000063              asin
  00023300  w    F .text  0000007b              atanhf
  000302a0  w    F .text  0000007d              atanhl
  00021da0  w    F .text  000000f1              asinhf
  0002ea60  w    F .text  000000f1              asinhl
  00023140  w    F .text  00000057              acoshf
  00030100  w    F .text  00000059              acoshl
  00009470  w    F .text  000000f1              asinh
  00030160  w    F .text  00000068              asinl
  000231a0  w    F .text  00000063              asinf
  000301d0  w    F .text  000000cd              atan2l
  00023210  w    F .text  000000e5              atan2f

So, there' no `a` exported, but a bunch of symbols starting with `a` and then followed by a decimal.
If you want, I may provide the shared object (or probably it's easier for you to try on Fedora yourself).


https://reviews.llvm.org/D39307





More information about the lldb-commits mailing list