aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/rs6000
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>1998-12-07 20:28:54 +0000
committerJim Blandy <jimb@codesourcery.com>1998-12-07 20:28:54 +0000
commit63d7a4f12e71aae081676e4d15b615cc9709289c (patch)
treea2ea97d43f74368b5d0adddc6415ba89f384aa44 /gdb/config/rs6000
parent0bd416fe3760be4ca3d66b845a0e691595a6482c (diff)
downloadfsf-binutils-gdb-63d7a4f12e71aae081676e4d15b615cc9709289c.zip
fsf-binutils-gdb-63d7a4f12e71aae081676e4d15b615cc9709289c.tar.gz
fsf-binutils-gdb-63d7a4f12e71aae081676e4d15b615cc9709289c.tar.bz2
* rs6000-tdep.c (pop_frame): Correctly find the registers saved in
the stack frame. Their offset from the previous stack frame is in fdata.gpr_offset and fdata.fpr_offset, not fdata.offset. (gdb.base/return.exp) * config/rs6000/tm-rs6000.h: Doc fixes.
Diffstat (limited to 'gdb/config/rs6000')
-rw-r--r--gdb/config/rs6000/tm-rs6000.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/config/rs6000/tm-rs6000.h b/gdb/config/rs6000/tm-rs6000.h
index 339d8a8..0ea9bf6 100644
--- a/gdb/config/rs6000/tm-rs6000.h
+++ b/gdb/config/rs6000/tm-rs6000.h
@@ -66,14 +66,16 @@ struct fp_status {
/* To be used by skip_prologue. */
struct rs6000_framedata {
- int offset; /* # of bytes in gpr's and fpr's are saved */
+ int offset; /* total size of frame --- the distance
+ by which we decrement sp to allocate
+ the frame */
int saved_gpr; /* smallest # of saved gpr */
int saved_fpr; /* smallest # of saved fpr */
int alloca_reg; /* alloca register number (frame ptr) */
char frameless; /* true if frameless functions. */
char nosavedpc; /* true if pc not saved. */
- int gpr_offset; /* offset of saved gprs */
- int fpr_offset; /* offset of saved fprs */
+ int gpr_offset; /* offset of saved gprs from prev sp */
+ int fpr_offset; /* offset of saved fprs from prev sp */
int lr_offset; /* offset of saved lr */
int cr_offset; /* offset of saved cr */
};
@@ -149,7 +151,7 @@ extern void aix_process_linenos PARAMS ((void));
/* Stack grows downward. */
-#define INNER_THAN <
+#define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
/* This is how arguments pushed onto stack or passed in registers.
Stack must be aligned on 64-bit boundaries when synthesizing