[Lldb-commits] [lldb] [lldb] Call FixUpPointer in WritePointerToMemory (try 2) (PR #153585)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Fri Aug 29 06:24:58 PDT 2025


DavidSpickett wrote:

Could it be because I run to main and then load the other symbols? Also I forgot to mention why I added the cast:
```
(lldb) run
Process 441637 launched: '/tmp/test.o' (aarch64)
Process 441637 stopped
* thread #1, name = 'test.o', stop reason = breakpoint 1.1
    frame #0: 0x0000aaaaaaaa0728 test.o`main at test.c:5:21
   2   	
   3   	void* return_ptr(void* ptr) { return ptr; }
   4   	
-> 5   	int main() { return 0; }
(lldb) p return_ptr
(void *(*)(void *)) 0x0000aaaaaaaa0714 (test.o`return_ptr at test.c:3:29)
(lldb) target symbol add ~/symbol.json
symbol file '/home/david.spickett/symbol.json' has been added to '/tmp/test.o'
(lldb) p return_ptr
         ˄
         ╰─ error: 'return_ptr' has unknown type; cast it to its declared type to use it
```
Something clearly happens to the previous symbols. Maybe they are removed and we know enough to say that `return_ptr` is a function but no more than that and the expression evaluator does its best to make it work.

https://github.com/llvm/llvm-project/pull/153585


More information about the lldb-commits mailing list