This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Get backtrace at PLT and stepi into PLT


Daniel Jacobowitz writes:
 > On Mon, Jul 20, 2009 at 03:36:18PM +0800, Thinker Li wrote:
 > > And, as what you had said, there are a lot of ABI-defined mapping symbols
 > > ($a, $t) in symbol tables of shared objects.  But, they are generated
 > > only for .text but .plt section.  So, it got nothing to try to issue
 > > a backtrace command when the inferior is stopped at .plt section.
 > > 
 > > Is GNU ld supposed to generate ABI-defined mapping symbols for
 > > .plt?  Or, does GDB need to do more work on this issue?
 > 
 > Mapping symbols are used for other things, like setting breakpoints,
 > but not for backtrace.  What's the actual problem with backtracing?
 > 
You can not do backtrace when you stop at PLT with GDB.
arm_stub_unwind_sniffer create a frame with NORMAL_FRAME type for
PLT.  But, when we do backtrace, get_prev_frame() will check if
this frame inside_entry_func.  Since we can not found any symbol for
PLT, it:s func address is 0, and entry_point_address() is also 0 if
symfile_objfile is NULL (no main symbol table).  It makes problem on
backtracing.

 > Current versions of GNU ld do generate correct mapping symbols for the
 > PLT.  Some earlier versions didn't, though.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]