X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmips-tdep.c;h=a6e06bbf394b5657bd30a66dde035c5153f52816;hb=675fb869a9ef875f8cff02be7f941d51b98fe44b;hp=d84223b85d10465ec24158ee76ffebbb0c873562;hpb=067f20748083e4ab752331262c59b9e8e0b091ca;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index d84223b85d..a6e06bbf39 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