aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-09-30 21:16:39 +0000
committerAndrew Cagney <cagney@redhat.com>2003-09-30 21:16:39 +0000
commit5bffac251d7990b5fb17f86455cf39508d9c0575 (patch)
tree11160b851978631e495da32c9f0a2b8212857436 /gdb
parent30c378fd6068045a2857a3cc78baad58aa787892 (diff)
downloadgdb-5bffac251d7990b5fb17f86455cf39508d9c0575.zip
gdb-5bffac251d7990b5fb17f86455cf39508d9c0575.tar.gz
gdb-5bffac251d7990b5fb17f86455cf39508d9c0575.tar.bz2
2003-09-29 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone to 224, not 220.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/rs6000-tdep.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0ecd4c2..8ebd90d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2003-09-30 Andrew Cagney <cagney@redhat.com>
+ * rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone
+ to 224, not 220.
+
+2003-09-30 Andrew Cagney <cagney@redhat.com>
+
* gdbarch.sh (DEPRECATED_REGISTER_VIRTUAL_SIZE): Rename
REGISTER_VIRTUAL_SIZE.
* gdbarch.h, gdbarch.c: Regenerate.
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 5175bd8..d638587 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -2931,8 +2931,11 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* PPC64 SYSV. */
set_gdbarch_frame_red_zone_size (gdbarch, 288);
else if (!sysv_abi && wordsize == 4)
- /* PowerOpen / AIX 32 bit. */
- set_gdbarch_frame_red_zone_size (gdbarch, 220);
+ /* PowerOpen / AIX 32 bit. The saved area or red zone consists of
+ 19 4 byte GPRS + 18 8 byte FPRs giving a total of 220 bytes.
+ Problem is, 220 isn't frame (16 byte) aligned. Round it up to
+ 224. */
+ set_gdbarch_frame_red_zone_size (gdbarch, 224);
set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, generic_save_dummy_frame_tos);
set_gdbarch_believe_pcc_promotion (gdbarch, 1);