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 0ecd4c21821c20d4ba51b7bc822094d26b1f75e2..8ebd90d09f5a7ee122075702c05e3445ec958303 100644 (file)
@@ -1,3 +1,8 @@
+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
index 5175bd8cfdcf70335f5e06d8afe173b68907b6a6..d638587b69619cc76241e94ea3d553986a67c135 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);