aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mips-tdep.c15
2 files changed, 19 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 15eec29..2074eec 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-23 Andrew Cagney <ac131313@redhat.com>
+
+ * mips-tdep.c (mips_push_arguments): Add comment explaining
+ problem with LE o32 GCC.
+
2001-07-23 Elena Zannoni <ezannoni@redhat.com>
* config/powerpc/aix.mh (MH_LDFLAGS): Don't set these, the Gnu linker
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index d84223b..a6e06bb 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -2426,7 +2426,20 @@ mips_push_arguments (int nargs,
same for integral types.
Also don't do this adjustment on EABI and O64
- binaries. */
+ binaries.
+
+ cagney/2001-07-23: gdb/179: Also, GCC, when
+ outputting LE O32 with sizeof (struct) <
+ MIPS_SAVED_REGSIZE, generates a left shift as
+ part of storing the argument in a register a
+ register (the left shift isn't generated when
+ sizeof (struct) >= MIPS_SAVED_REGSIZE). Since it
+ is quite possible that this is GCC contradicting
+ the LE/O32 ABI, GDB has not been adjusted to
+ accommodate this. Either someone needs to
+ demonstrate that the LE/O32 ABI specifies such a
+ left shift OR this new ABI gets identified as
+ such and GDB gets tweaked accordingly. */
if (!MIPS_EABI
&& MIPS_SAVED_REGSIZE < 8