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