MIPS: o32 ABI problem with structs that require padding

Daniel Jacobowitz drow@mvista.com
Thu Mar 14 18:24:00 GMT 2002


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)
 	{



More information about the Gcc-patches mailing list