2003-09-29 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Tue, 30 Sep 2003 21:16:39 +0000 (21:16 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 30 Sep 2003 21:16:39 +0000 (21:16 +0000)
* rs6000-tdep.c (rs6000_gdbarch_init): Set the PowerOpen red zone
to 224, not 220.

gdb/ChangeLog
gdb/rs6000-tdep.c

index 0ecd4c2..8ebd90d 100644 (file)
@@ -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.
index 5175bd8..d638587 100644 (file)
@@ -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);