[Lldb-commits] [lldb] [LLDB] Serve unknown type symbols through `qSymbol` (PR #200134)
Aurore Poirier via lldb-commits
lldb-commits at lists.llvm.org
Fri May 29 02:58:11 PDT 2026
aurore-poirier wrote:
Here's the simplest reproducer I could pull out for an ELF system that compares the 3 version (my system's LLDB, GDB, and the PR LLDB): [min.tar.gz](https://github.com/user-attachments/files/28386656/min.tar.gz). It has a mock gdb server written in python that handles initial connection then asks for symbols through `qSymbol` queries.
I don't have a Darwin or any MachO system on hand, I guess the conversion should not be too hard, it should only be variables specified when calling `make`.
# Use on my ELF setup
This should work on most distros with llvm binaries in the path. All are in `Makefile` variables hence can be overridden.
`PR_LLDB` should be the path to `lldb` compiled from this PR, for comparison
```sh
tar -xzf min.tar.gz
cd min
make -r elf PR_LLDB=
```
Output of resolved symbols (a bit of noise from GDB suppressed):
```
=== WITH LLDB ===
main: b'111c'
local_address: b'111d'
global_value: b''
local_value: b''
=== WITH GDB ===
main: b'111c'
local_address: b'111d'
global_value: b'1234'
local_value: b'abcd'
=== WITH PR LLDB ===
main: b'111c'
local_address: b'111d'
global_value: b'1234'
local_value: b'abcd'
```
`objdump -t min` of the interesting symbols sorted in the request order (not the ones added by clang):
```objdump
000000000000111c g .text 0000000000000000 main
000000000000111d l .text 0000000000000000 local_address
0000000000001234 g *ABS* 0000000000000000 global_value
000000000000abcd l *ABS* 0000000000000000 local_value
```
# Use on MachO platforms
Should be more or less the same, except it uses `make -r macho` instead of `make -r elf`
https://github.com/llvm/llvm-project/pull/200134
More information about the lldb-commits
mailing list