This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch] doco LE o32 problem


FYI,

Per Elena's suggestion, I've both checked in the attached and created a PR.

	Andrew
2001-07-23  Andrew Cagney  <ac131313@redhat.com>

	* mips-tdep.c (mips_push_arguments): Add comment explaining
	problem with LE o32 GCC.

Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.58
diff -p -r1.58 mips-tdep.c
*** mips-tdep.c	2001/07/15 20:10:02	1.58
--- mips-tdep.c	2001/07/23 20:19:42
*************** mips_push_arguments (int nargs,
*** 2426,2432 ****
  		     same for integral types.
  
  		     Also don't do this adjustment on EABI and O64
! 		     binaries. */
  
  		  if (!MIPS_EABI
  		      && MIPS_SAVED_REGSIZE < 8
--- 2426,2445 ----
  		     same for integral types.
  
  		     Also don't do this adjustment on EABI and O64
! 		     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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]