This is the mail archive of the gdb@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: [RFC] Add commands to dynamically enable/disable shared library support


On Tue, Aug 28, 2007 at 02:05:05PM +0100, Antony KING wrote:
> The intent of this patch is to be able to control the insertion of the
> breakpoint used to monitor when a shared library is loaded (and so
> update GDB's symbolic information). The reason for this is that when
> debugging boot from ROM applications it is only legitimate to insert a
> breakpoint when the application has been re-located from ROM to RAM. At
> present it is only possible to control this by removing the symbolic
> information (so that GDB does not "see" the special symbol in the target
> application). This is not desirable if one wishes to set a breakpoint
> (using a hardware breakpoint) in the loaded application.
> 
> I plan to add these commands to the version of GDB we support, unless
> someone suggests a better solution, but I would also like to get a wider
> opinion (other than my own) on the implementation and whether the
> changes a desirable in standard GDB.

I think that you are fixing a single symptom of a larger problem.
It's not specific to shared library support that the breakpoint can't
be set right away.  No other software breakpoints can be set at the
start of execution either, and ideally they should be set
automatically after the copy to RAM.

Can we somehow arrange for your target to notify GDB to recheck all
its software breakpoints?  That should work if they're just being
overwritten during the copy to RAM.

If they need to be not inserted at the start of execution,
e.g. because RAM is not yet mapped or the RAM controller initialized,
then we will have to find a more complicated solution.

-- 
Daniel Jacobowitz
CodeSourcery


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