[all-commits] [llvm/llvm-project] eef9cb: [lldb] [testsuite] Fix TestFixIts.py on Linux

Jan Kratochvil via All-commits all-commits at lists.llvm.org
Fri Apr 17 23:35:32 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: eef9cb1628898adb5652a32eb95b53c544de0d6f
      https://github.com/llvm/llvm-project/commit/eef9cb1628898adb5652a32eb95b53c544de0d6f
  Author: Jan Kratochvil <jan.kratochvil at redhat.com>
  Date:   2020-04-18 (Sat, 18 Apr 2020)

  Changed paths:
    M lldb/test/API/commands/expression/fixits/TestFixIts.py

  Log Message:
  -----------
  [lldb] [testsuite] Fix TestFixIts.py on Linux

Since D77214 there is a testsuite regression for TestFixIts.py
on Fedora 31 x86_64.
    File "/home/jkratoch/redhat/llvm-monorepo/lldb/test/API/commands/expression/fixits/TestFixIts.py", line 148, in test_with_target
      self.assertEquals(value.GetError().GetCString(), "error: No value")
  AssertionError: 'error: error: Multiple internal symbols found for \'d\'\nid = {0x00000d2a}, ran [truncated]... != 'error: No value'

That is because Fedora glibc incl. libm.so contains also ELF debug
symbols and there exists a 'd' symbol:
  (gdb) p d
  $1 = {i = {0, 1076887552}, d = 16}
  (gdb) p &d
  $2 = (const number *) 0x7ffff78e8bc0 <d>
  (gdb) info sym 0x7ffff78e8bc0
  d in section .rodata of /lib64/libm.so.6

  $ nm /lib64/libm.so.6 |grep ' d$'
  00000000000bfbc0 r d
  00000000000caa20 r d
  00000000000caa20 r d
  00000000000caa20 r d

  glibc-build$ for i in `find -name "*.o"`;do nm 2>/dev/null $i|grep ' d$' && echo $i;done
  0000000000000080 r d
  ./math/s_atan-fma4.o
  0000000000000080 r d
  ./math/s_atan-avx.o
  0000000000000080 r d
  ./math/s_atan.o




More information about the All-commits mailing list