2006-05-02 Fred Fish * mips-tdep.c (mips_o64_push_dummy_call): Left shift big endian structs or unions independent of ABI register size. Index: mips-tdep.c =================================================================== RCS file: /cvsroots/latest/src/gdb/gdb/mips-tdep.c,v retrieving revision 1.1.1.4 diff -c -p -r1.1.1.4 mips-tdep.c *** mips-tdep.c 22 Apr 2006 17:31:07 -0000 1.1.1.4 --- mips-tdep.c 2 May 2006 18:19:01 -0000 *************** mips_o64_push_dummy_call (struct gdbarch *** 3721,3728 **** It does not seem to be necessary to do the same for integral types. - Also don't do this adjustment on O64 binaries. - cagney/2001-07-23: gdb/179: Also, GCC, when outputting LE O32 with sizeof (struct) < mips_abi_regsize(), generates a left shift as --- 3721,3726 ---- *************** mips_o64_push_dummy_call (struct gdbarch *** 3737,3744 **** identified as such and GDB gets tweaked accordingly. */ ! if (mips_abi_regsize (gdbarch) < 8 ! && TARGET_BYTE_ORDER == BFD_ENDIAN_BIG && partial_len < mips_abi_regsize (gdbarch) && (typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION)) --- 3735,3741 ---- identified as such and GDB gets tweaked accordingly. */ ! if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG && partial_len < mips_abi_regsize (gdbarch) && (typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION))