This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch to fix mips-irix6 long double failures on trunk


As noted here:
http://gcc.gnu.org/ml/gcc-testresults/2003-02/msg00053.html

There are a number of execute failures on mips-irix6 for tests using
long double that are specific to the trunk.  The excess failures are
930622-2.c, 960513-1.c, conversion.c, regstack-1.c and
ieee/20010226-1.c.

The failures started when the recent irix6 long double work went in
around 1/28.  The failures do not occur on 3.3 which supposedly got
the same patch.  E.g.:
http://gcc.gnu.org/ml/gcc-testresults/2003-02/msg00034.html

The problem is that on the trunk, mips/_tilib.c includes defaults.h
which is incorrect.  On the trunk (and only on the trunk) we need tm.h
to get a proper target definitions like LIBGCC2_WORDS_BIG_ENDIAN.

Fixed with the patch below for the trunk.  I also stopped including
tsystem.h and deleted the unneccessary definition of
LIBGCC2_WORDS_BIG_ENDIAN.  Neither was needed, and that part should
apply to 3.3 also.

Tested on mips-sgi-irix6.5, the execute failures are gone.  I also
tested the second patch against 3.3, no regressions.  The size of
_tilib.o was cut in half (from around 14K to 6.5K for mabi=n32 and 17K
to 8K for mabi=64) when tsystem.h was removed.  (The .text size was
the same, so I'd guess it's mainly excess debug symbols from decls in
the system headers.)

Ok to install patch1 on trunk and patch2 on 3.3?

		Thanks,
		--Kaveh


2003-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
	define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
	
diff -rup orig/egcc-CVS20030201/gcc/config/mips/_tilib.c egcc-CVS20030201/gcc/config/mips/_tilib.c
--- orig/egcc-CVS20030201/gcc/config/mips/_tilib.c	2003-01-28 10:48:17.000000000 -0500
+++ egcc-CVS20030201/gcc/config/mips/_tilib.c	2003-02-01 18:53:07.297611448 -0500
@@ -21,12 +21,8 @@ Boston, MA 02111-1307, USA.  */
 
 
 #include "tconfig.h"
-#include "tsystem.h"
-#include "defaults.h"
-
-#ifndef LIBGCC2_WORDS_BIG_ENDIAN
-#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
-#endif
+#include "coretypes.h"
+#include "tm.h"
 
 #if _MIPS_SIM == 2 /* N32 */ || _MIPS_SIM == 3 /* 64 */
 



2003-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips/_tilib.c: Don't include tsystem.h.  Don't define
	LIBGCC2_WORDS_BIG_ENDIAN.
	
diff -rup orig/egcc-3.3-CVS20030131/gcc/config/mips/_tilib.c egcc-3.3-CVS20030131/gcc/config/mips/_tilib.c
--- orig/egcc-3.3-CVS20030131/gcc/config/mips/_tilib.c	Mon Jan 27 21:18:37 2003
+++ egcc-3.3-CVS20030131/gcc/config/mips/_tilib.c	Sat Feb  1 18:57:05 2003
@@ -21,11 +21,6 @@ Boston, MA 02111-1307, USA.  */
 
 
 #include "tconfig.h"
-#include "tsystem.h"
-
-#ifndef LIBGCC2_WORDS_BIG_ENDIAN
-#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
-#endif
 
 #if _MIPS_SIM == 2 /* N32 */ || _MIPS_SIM == 3 /* 64 */
 


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