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]

powerpc64-linux obvious fixes


Some obvious fixes.  CPP_SYSV_SPEC is no longer used anywhere.
MASK_PROFILE_KERNEL wasn't adjusted when MASK_MFCRF was added to rs6000.h.

	* config/rs6000/rs6000.h: Correct target_flags free bits comment.
	(PREDICATE_CODES): Remove duplicate.
	* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
	(MASK_PROFILE_KERNEL): Adjust define.

Applied mainline.  Regression tested powerpc64-linux.  These should go
on the gcc-3.4 branch too.  OK?

Index: gcc/config/rs6000/linux64.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/linux64.h,v
retrieving revision 1.55
diff -u -p -r1.55 linux64.h
--- gcc/config/rs6000/linux64.h	23 Jan 2004 17:32:11 -0000	1.55
+++ gcc/config/rs6000/linux64.h	27 Jan 2004 10:56:37 -0000
@@ -100,6 +100,11 @@
 	{							\
 	  if (!RS6000_BI_ARCH_P)				\
 	    error (INVALID_32BIT, "32");			\
+	  if (TARGET_PROFILE_KERNEL)				\
+	    {							\
+	      target_flags &= ~MASK_PROFILE_KERNEL;		\
+	      error (INVALID_32BIT, "profile-kernel");		\
+	    }							\
 	}							\
     }								\
   while (0)
@@ -186,7 +191,7 @@
 
 #endif
 
-#define	MASK_PROFILE_KERNEL	0x00080000
+#define	MASK_PROFILE_KERNEL	0x00100000
 
 /* Non-standard profiling for kernels, which just saves LR then calls
    _mcount without worrying about arg saves.  The idea is to change
@@ -281,10 +286,6 @@
 /* Override svr4.h  */
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
-
-/* Override sysv4.h  */
-#undef	CPP_SYSV_SPEC
-#define	CPP_SYSV_SPEC ""
 
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS()            		\
Index: gcc/config/rs6000/rs6000.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.h,v
retrieving revision 1.307
diff -u -p -r1.307 rs6000.h
--- gcc/config/rs6000/rs6000.h	18 Jan 2004 21:36:34 -0000	1.307
+++ gcc/config/rs6000/rs6000.h	27 Jan 2004 10:56:40 -0000
@@ -193,9 +193,9 @@ extern int target_flags;
 /* Use single field mfcr instruction.  */
 #define MASK_MFCRF		0x00080000
 
-/* The only remaining free bits are 0x00700000. sysv4.h uses
-   0x00800000 -> 0x40000000, and 0x80000000 is not available
-   because target_flags is signed.  */
+/* The only remaining free bits are 0x00600000.  linux64.h uses
+   0x00100000, and sysv4.h uses 0x00800000 -> 0x40000000.
+   0x80000000 is not available because target_flags is signed.  */
 
 #define TARGET_POWER		(target_flags & MASK_POWER)
 #define TARGET_POWER2		(target_flags & MASK_POWER2)
@@ -2653,7 +2653,6 @@ extern char rs6000_reg_names[][8];	/* re
   {"reg_or_logical_cint_operand", {SUBREG, REG, CONST_INT, CONST_DOUBLE}}, \
   {"got_operand", {SYMBOL_REF, CONST, LABEL_REF}},			   \
   {"got_no_const_operand", {SYMBOL_REF, LABEL_REF}},			   \
-  {"rs6000_tls_symbol_ref", {SYMBOL_REF}},				   \
   {"easy_fp_constant", {CONST_DOUBLE}},					   \
   {"easy_vector_constant", {CONST_VECTOR}},				   \
   {"easy_vector_constant_add_self", {CONST_VECTOR}},			   \

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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