rdhindsa added a comment.

I checked the status with both gdb and lldb using test case added here. It 
looks like breakpoint on main doesn't get hit even for gdb when called through 
ld.so. However, breakpoint on shared library functions is supported by gdb. 
With this patch, we are now able to set breakpoint on functions in shared 
libraries as supported by gdb.

  bin/lldb -- /lib64/ld-linux-x86-64.so.2 --library-path $PWD ./a.out
  (lldb) target create "/lib64/ld-linux-x86-64.so.2"
   Current executable set to '/lib64/ld-linux-x86-64.so.2' (x86_64).
  (lldb) settings set -- target.run-args  "--library-path" "........" "./a.out"
  (lldb) b main
  Breakpoint 1: no locations (pending).
  WARNING:  Unable to resolve breakpoint to any actual locations.
  (lldb) b get_signal_crash
  Breakpoint 2: no locations (pending).
  WARNING:  Unable to resolve breakpoint to any actual locations.
  (lldb) run
  Process 526132 launched: '/lib64/ld-linux-x86-64.so.2' (x86_64)
  1 location added to breakpoint 2
  Process 526132 stopped
  * thread #1, name = 'ld-linux-x86-64', stop reason = breakpoint 2.1
      frame #0: 0x00007ffff7fa1110 libsignal_file.so`get_signal_crash()
  
  gdb --args /lib64/ld-linux-x86-64.so.2 --library-path $PWD ./a.out
  (gdb) b main
  Function "main" not defined.
  Make breakpoint pending on future shared library load? (y or [n]) y
  Breakpoint 1 (main) pending.
  (gdb) b get_signal_crash
  Function "get_signal_crash" not defined.
  Make breakpoint pending on future shared library load? (y or [n]) y
  Breakpoint 2 (get_signal_crash) pending.
  (gdb) run
  Starting program: /lib64/ld-linux-x86-64.so.2 --library-path ...... ./a.out
  Breakpoint 2, 0x00007ffff7fa1114 in get_signal_crash()

This patch adds the support for shared library load. Do you think if it is okay 
if the functionality to be able to breakpoint on the main executable is added 
as next step?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108061

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

Reply via email to