From: Andrew Cagney Date: Tue, 24 Jul 2001 16:28:36 +0000 (+0000) Subject: Doco LE O32 sizeof(struct) < 4 problem. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=675fb869a9ef875f8cff02be7f941d51b98fe44b;p=binutils-gdb.git Doco LE O32 sizeof(struct) < 4 problem. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 15eec294f15..2074eec6cc2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2001-07-23 Andrew Cagney + + * mips-tdep.c (mips_push_arguments): Add comment explaining + problem with LE o32 GCC. + 2001-07-23 Elena Zannoni * 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 d84223b85d1..a6e06bbf394 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