This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: MIPS: o32 ABI problem with structs that require padding
On Mon, Mar 11, 2002 at 05:38:03PM -0800, Eric Christopher wrote:
> > While you're at it, you may want to poke Eric about the other odd-sized
> > structure ABI patch I sent him - we pad 3-byte structures in the wrong
> > direction occasionally (I don't recall on which endianness, but probably
> > little). Eric? You were going to commit it months ago...
> >
>
> Can you send it to me again? I think it got lost in a pile o' patches a
> month or so back.
>
> Sorry 'bout that and thanks.
Here it is.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
Index: mips.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.c,v
retrieving revision 1.166
diff -u -p -r1.166 mips.c
--- mips.c 2001/11/16 02:26:42 1.166
+++ mips.c 2001/11/27 00:05:11
@@ -4192,8 +4192,11 @@ function_arg (cum, mode, type, named)
inefficient. Let's not carry this compatibility to the 64 bit
calling convention for now. */
+ /* ??? At least IRIX only does this for big-endian targets. */
+
if (struct_p && int_size_in_bytes (type) < UNITS_PER_WORD
&& ! TARGET_64BIT
+ && TARGET_BIG_ENDIAN
&& mips_abi != ABI_EABI
&& mips_abi != ABI_MEABI)
{