New breakpoint_re_set call vs remote targets

Daniel Jacobowitz drow@false.org
Wed Jun 24 19:04:00 GMT 2009


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



More information about the Gdb mailing list