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] |
> 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] |