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
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to