Issue 179839
Summary [LLDB] LLDB not properly resolving symbols added via `target symbols add file -s shlib`
Labels new issue
Assignees
Reporter k4lizen
    I am trying to symbolicate a stripped file. After I run `target symbols add mysyms -s thefile`, lldb can clearly resolve the added symbols, but when I do not hit a breakpoint set on such a symbol.

Repro:
Im on linux.

```
$ lldb main
(lldb) settings set target.disable-aslr true
(lldb) process launch -s
(lldb) target symbols add forx8664 -s main
(lldb) b main
Breakpoint 1: where = main`main, address = 0x00005555555553a4
(lldb) x/20i 0x00005555555553a4
    0x5555555553a4: pushq  %rbp
    0x5555555553a5: movq   %rsp, %rbp
    0x5555555553a8: subq $0x30, %rsp
    0x5555555553ac: movq   %fs:0x28, %rax
    0x5555555553b5: movq   %rax, -0x8(%rbp)
(lldb) b *0x5555555553ac
Breakpoint 2: where = main`___lldb_unnamed_symbol_13a4 + 8, address = 0x00005555555553ac
(lldb) c
Process 6781 resuming
Process 6781 stopped
* thread #1, name = 'main', stop reason = breakpoint 2.1
    frame #0: 0x00005555555553ac main`___lldb_unnamed_symbol_13a4 + 8
main`___lldb_unnamed_symbol_13a4:
-> 0x5555555553ac <+8>:  int3   
    0x5555555553ad <+9>:  movq   0x28, %rax
 0x5555555553b5 <+17>: movq   %rax, -0x8(%rbp)
    0x5555555553b9 <+21>: xorl   %eax, %eax
```
The first breakpoint was not hit.

Here is the symtab dump:
```
(lldb) target modules dump symtab main
Symtab, file = /home/lamb/code/testing/integra/main, num_symbols = 29:
               Debug symbol
               |Synthetic symbol
               ||Externally Visible
               |||
Index   UserID DSX Type            File Address/Value Load Address       Size               Flags      Name
------- ------ --- --------------- ------------------ ------------------ ------------------ ---------- ----------------------------------
[    0] 1   X Code            0x0000555555555020 0x0000000000000050 0x00000015 sub_1020
[    1]      2   X Code 0x0000555555555070                    0x0000000000000030 0x00000015 start
[ 2]      3   X Code            0x00005555555550a0 0x0000000000000030 0x00000015 sub_10A0
[    3]      4   X Code 0x00005555555550d0                    0x0000000000000040 0x00000015 sub_10D0
[    4]      5   X Code            0x0000555555555110 0x0000000000000050 0x00000015 sub_1110
[    5]      6   X Code 0x0000555555555160                    0x0000000000000009 0x00000015 sub_1160
[    6]      7   X Code            0x0000555555555169 0x00000000000000bb 0x00000015 cute
[    7]      8   X Code 0x0000555555555224                    0x00000000000000c0 0x00000015 kya
[ 8]      9   X Code            0x00005555555552e4 0x00000000000000c0 0x00000015 awa
[    9]     10   X Code 0x00005555555553a4                    0x0000000000002c84 0x00000015 main
[ 10]     11   X Code            0x0000555555558038 0x0000000000000008 0x00000015 __libc_start_main
[   11]     12   X Code 0x0000555555558040                    0x0000000000000008 0x00000015 puts
[   12]     13   X Code            0x0000555555558048 0x0000000000000008 0x00000015 __stack_chk_fail
[   13]     14   X Code 0x0000555555558050                    0x0000000000000008 0x00000015 printf
[   14]     15   X Code            0x0000555555558058 0x0000000000000008 0x00000015 __isoc23_scanf
[   15]     16   X Code 0x0000555555558060                    0x0000000000000010 0x00000015 __cxa_finalize
[   16]     17   X Code            0x0000555555558070 0x0000000000000000 0x00000015 __gmon_start__
[   17]     18   X Code            0x0000555555558028                    0x0000000000000008 0x00000015 off_4028
[   18]     19   X Code            0x0000555555558030 0x0000000000000008 0x00000015 byte_4030
[   19]     20  S Trampoline      0x0000000000001030 0x0000555555555030 0x0000000000000010 0x00000000 puts
[   20]     21  S  Trampoline      0x0000000000001040 0x0000555555555040 0x0000000000000010 0x00000000 __stack_chk_fail
[   21] 22  S  Trampoline      0x0000000000001050 0x0000555555555050 0x0000000000000010 0x00000000 printf
[   22]     23  S  Trampoline 0x0000000000001060 0x0000555555555060 0x0000000000000010 0x00000000 __isoc23_scanf
[   23]     24  SX Code            0x0000000000001020 0x0000555555555020 0x0000000000000010 0x00000000 ___lldb_unnamed_symbol_1020
[   24]     25  SX Code 0x0000000000001070 0x0000555555555070 0x00000000000000f9 0x00000000 ___lldb_unnamed_symbol_1070
[   25]     26  SX Code 0x0000000000001169 0x0000555555555169 0x00000000000000bb 0x00000000 ___lldb_unnamed_symbol_1169
[   26]     27  SX Code 0x0000000000001224 0x0000555555555224 0x00000000000000c0 0x00000000 ___lldb_unnamed_symbol_1224
[   27]     28  SX Code 0x00000000000012e4 0x00005555555552e4 0x00000000000000c0 0x00000000 ___lldb_unnamed_symbol_12e4
[   28]     29  SX Code 0x00000000000013a4 0x00005555555553a4 0x000000000000016e 0x00000000 ___lldb_unnamed_symbol_13a4
```

Here are my two ELFs: [lldbhand.zip](https://github.com/user-attachments/files/25085115/lldbhand.zip) .
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to