diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05c5fb5a9dc..e4319c734ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2004-01-27 Alan Modra + + * 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. + 2004-01-27 Jakub Jelinek * config/i386/i386.c (ix86_constant_alignment): Decrease alignment diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 560795e1d75..6bb60d39b13 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -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 @@ -282,10 +287,6 @@ #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() \ do \ diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 3d791a5bfb7..4d83416d548 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -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]; /* register names (0 vs. %r0). */ {"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}}, \