omjavaid added a comment.

Some new observations:

With this approach of not setting size of a non-last zero-sized symbol we 
somehow mange to zero out size of init (_init symbol) and .text (_start symbol).

To build and evaluate a.out   echo -e '#include <unistd.h>\nint 
main(void){\nsync();return 0;}'|./bin/clang -g -x c -;./bin/lldb -o 'file 
./a.out' -o 'b main' -o r -o 'p (void)sync()'

Please see objdump of a.out here https://pastebin.ubuntu.com/p/N5krm5TWFV/

Please see diff of symtab dump here: https://pastebin.ubuntu.com/p/zwmC9cVTGc/

symtab dump of a.out here with above patch applied: 
https://pastebin.ubuntu.com/p/Fs4yyG82s5/
symtab dump of a.out here without above patch applied: 
https://pastebin.ubuntu.com/p/TCKXVjnGsH/


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63540/new/

https://reviews.llvm.org/D63540



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to