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: Powerpc skip prologue


> GDB assumes the gpr registers will be saved starting from a rN register up 
> to r31. This assumption doesn't seem to be right. See this: 
> http://sourceware.org/ml/gdb-patches/2007-12/msg00111.html and this: 
> http://sourceware.org/ml/gdb/2008-07/msg00279.html
> 
> So I devised a micro-patch for handling the saved gprs.

I just realized that we faced the same problem and forgot to submit
the patch to the FSF. The ABI doesn't say anything about requiring
that a sequence of registers be saved, which is why we introduced
the use of a map rather than just save the lowest/highest register
number.

I propose to commit the following in a week unless there are comments/
objections:

2008-08-09  Jerome Guitton  <guitton@adacore.com>

        * rs6000-tdep.c (rs6000_framedata): Add new field.
        (SET_REG_IN_MAP, GET_REG_IN_MAP): New macros.
        (skip_prologue): Update register map when a register is saved.
        (rs6000_frame_cache): Only set register address if the corresponding
        register has been saved.

Tested on ppc-aix.

Cheers,
-- 
Joel

Attachment: rs6000-tdep.diff
Description: Text document


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