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]

New breakpoint_re_set call vs remote targets


This patch:

2009-06-17  Pierre Muller  <muller@ics.u-strasbg.fr>
        Pedro Alves  <pedro@codesourcery.com>

        * infcmd.c (post_create_inferior): Call breakpoint_re_set
	after target
        is pushed for watchpoint promotion to hardware watchpoint.

causes a testcase failure in nodebug.exp for arm-none-eabi.  It will
affect all bare-metal targets.

The sequence is "target remote", which calls post_create_inferior
before any program exists on the remote side.  Then later "load" fills
in the code.  So we're doing prologue skipping - by reading target
memory - before we've written the code to target memory.

I have long had a plan to speed up prologue skipping by making it read
directly from the executable if possible.  We're using the
executable's symbol table, so there's no reason to think the prologue
will have moved around on the target.  The problems with this approach
are (A) it involves changing a lot of symbol readers, and (B) I'm not
sure if we want to handle fix-and-continue style function patching in
which case we need to read from the target anyway.

Thoughts?  Any other approaches to fix this failure?

-- 
Daniel Jacobowitz
CodeSourcery


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