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]

3.3 PATCH: Fix IRIX 6 O32 bootstrap failure with native as


The mips-sgi-irix6.5o32 configuration with the native as still fails to
bootstrap as described in

	http://gcc.gnu.org/ml/gcc-bugs/2002-06/msg00805.html

While the gas-based configurations work again since this patch

	http://gcc.gnu.org/ml/gcc-patches/2002-07/msg00214.html

the TARGET_GAS test in CONSTANT_ADDRESS_P breaks with native as.  Since it
is highly desirable to use only one assembler when I merge my irix6o32
configuration into the common irix6 one and gas doesn't fully support the
N32 and N64 ABIs yet, this functionality is highly desirable.  I've never
run into any problem with the native as before, so the problem mentioned in
the comment may have only existed in really ancient versions (like IRIX 6.0
or 6.1).  I therefore suggest the following patch to restore the previous
status (and bootstrap :-).

Bootstrapped on mips-sgi-irix6.5o32 with native as, regression test still
in progress.

Ok for mainline if it passes?

	Rainer


Fri Jul 19 01:52:38 2002  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/mips/mips.h (CONSTANT_ADDRESS_P): Remove TARGET_GAS
	test.

Index: gcc/config/mips/mips.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.h,v
retrieving revision 1.199
diff -u -p -r1.199 mips.h
--- gcc/config/mips/mips.h	17 Jul 2002 09:24:08 -0000	1.199
+++ gcc/config/mips/mips.h	19 Jul 2002 17:03:47 -0000
@@ -2969,15 +2990,13 @@ typedef struct mips_args {
    assembler would use $at as a temp to load in the large offset.  In this
    case $at is already in use.  We convert such problem addresses to
    `la $5,s;sw $4,70000($5)' via LEGITIMIZE_ADDRESS.  */
-/* ??? SGI Irix 6 assembler fails for CONST address, so reject them
-   when !TARGET_GAS.  */
+/* ??? SGI Irix 6 assembler fails for CONST address, so reject them.  */
 /* We should be rejecting everything but const addresses.  */
 #define CONSTANT_ADDRESS_P(X)						\
   (GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF		\
     || GET_CODE (X) == CONST_INT || GET_CODE (X) == HIGH		\
     || (GET_CODE (X) == CONST						\
 	&& ! (flag_pic && pic_address_needs_scratch (X))		\
-	&& (TARGET_GAS)							\
 	&& (mips_abi != ABI_N32 					\
 	    && mips_abi != ABI_64)))
 


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