From 5b8fcab634b94bf988453f93c0c8c413781b26b4 Mon Sep 17 00:00:00 2001 From: David O'Brien Date: Fri, 12 Apr 2002 01:08:20 +0000 Subject: [PATCH] aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ or set Acpu or Amachine. 2002-04-11 David O'Brien * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ or set Acpu or Amachine. Reformat. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. (LINK_SPEC): Do not need to undef. * config/ia64/elf.h (ASM_EXTRA_SPEC): Define. * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define. (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead. (LINK_SPEC): Do not need to undef. (DONT_USE_BUILTIN_SETJMP): Do not define. * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add. (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64. (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define. Remove trailing spaces. * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__, __ELF__, or set Acpu or Amachine. Reformat. (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not define. Approved by: Richard Henderson Message-ID: <20020411160138.A11250@redhat.com> From-SVN: r52191 --- gcc/ChangeLog | 24 +++++++++++++++++++++ gcc/config/ia64/aix.h | 17 +++------------ gcc/config/ia64/elf.h | 6 ++++-- gcc/config/ia64/freebsd.h | 10 --------- gcc/config/ia64/hpux.h | 12 +++++------ gcc/config/ia64/ia64.h | 45 ++++++++++++++++++++++++++++----------- gcc/config/ia64/linux.h | 14 ++---------- 7 files changed, 70 insertions(+), 58 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d6229529c47..9a6ff9bcfe7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,27 @@ +2002-04-11 David O'Brien + + * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__ + or set Acpu or Amachine. Reformat. + (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not + define. + (LINK_SPEC): Do not need to undef. + * config/ia64/elf.h (ASM_EXTRA_SPEC): Define. + * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef. + (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not + define. + * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define. + (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead. + (LINK_SPEC): Do not need to undef. + (DONT_USE_BUILTIN_SETJMP): Do not define. + * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add. + (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64. + (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define. + Remove trailing spaces. + * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__, + __ELF__, or set Acpu or Amachine. Reformat. + (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not + define. + 2002-04-11 David O'Brien * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match diff --git a/gcc/config/ia64/aix.h b/gcc/config/ia64/aix.h index 1e2e922a830..fee073213e2 100644 --- a/gcc/config/ia64/aix.h +++ b/gcc/config/ia64/aix.h @@ -86,10 +86,9 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES "\ --D__ia64 -D__ia64__ -D_AIX -D_AIX64 -D_LONGLONG -Dunix \ --D_LP64 -D__LP64__ -D__ELF__ \ --Asystem=unix -Asystem=aix -Acpu=ia64 -Amachine=ia64 \ --D__64BIT__ -D_LONG_LONG -D_IA64 -D__int128=__size128_t" + -D_AIX -D_AIX64 -D_LONGLONG -Dunix \ + -Asystem=unix -Asystem=aix \ + -D__64BIT__ -D_LONG_LONG -D_IA64 -D__int128=__size128_t" /* The GNU C++ standard library requires that these macros be defined. */ #undef CPLUSPLUS_CPP_SPEC @@ -101,10 +100,6 @@ Boston, MA 02111-1307, USA. */ -D__LONG_MAX__=9223372036854775807L \ %{cpp_cpu}" -/* ia64-specific options for gas */ -#undef ASM_SPEC -#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}" - /* Define this for shared library support. */ #undef LINK_SPEC @@ -116,14 +111,8 @@ Boston, MA 02111-1307, USA. */ %{!dynamic-linker:-dynamic-linker /usr/lib/ia64l64/libc.so.1}} \ %{static:-static}}" -#define DONT_USE_BUILTIN_SETJMP #define JMP_BUF_SIZE 85 -/* Output any profiling code before the prologue. */ - -#undef PROFILE_BEFORE_PROLOGUE -#define PROFILE_BEFORE_PROLOGUE 1 - /* A C statement or compound statement to output to FILE some assembler code to call the profiling subroutine `mcount'. diff --git a/gcc/config/ia64/elf.h b/gcc/config/ia64/elf.h index af8c7a6b4e8..af6d9176a7c 100644 --- a/gcc/config/ia64/elf.h +++ b/gcc/config/ia64/elf.h @@ -17,10 +17,12 @@ #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_AS) != 0 /* GNU AS. */ -#define ASM_SPEC \ - "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x} %{mconstant-gp} %{mauto-pic}" +#undef ASM_EXTRA_SPEC +#define ASM_EXTRA_SPEC \ + "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x}" #else /* Intel ias. */ +#undef ASM_SPEC #define ASM_SPEC \ "%{!mgnu-as:-N so} %{mgnu-as:-x} %{mconstant-gp:-M const_gp}\ %{mauto-pic:-M no_plabel}" diff --git a/gcc/config/ia64/freebsd.h b/gcc/config/ia64/freebsd.h index 6140128df3c..57bb391e270 100644 --- a/gcc/config/ia64/freebsd.h +++ b/gcc/config/ia64/freebsd.h @@ -19,7 +19,6 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -#undef LINK_SPEC #define LINK_SPEC \ "%{p:%e`-p' not supported; use `-pg' and gprof(1)} \ %{Wl,*:%*} \ @@ -32,9 +31,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ %{static:-Bstatic}}" -#undef ASM_SPEC -#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}" - /************************[ Target stuff ]***********************************/ @@ -57,10 +53,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define TARGET_ELF 1 -#define DONT_USE_BUILTIN_SETJMP #define JMP_BUF_SIZE 76 - -/* Output any profiling code before the prologue. */ - -#undef PROFILE_BEFORE_PROLOGUE -#define PROFILE_BEFORE_PROLOGUE 1 diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h index 5f272d67612..d46acf2b6ef 100644 --- a/gcc/config/ia64/hpux.h +++ b/gcc/config/ia64/hpux.h @@ -27,9 +27,9 @@ Boston, MA 02111-1307, USA. */ #undef CPP_PREDEFINES #define CPP_PREDEFINES "\ - -D__IA64__ -D__ia64 -D__ia64__ -D__hpux -D__hpux__ -Dhpux -Dunix \ - -D__BIG_ENDIAN__ -D_LONGLONG -D__ELF__ \ - -Asystem=hpux -Asystem=posix -Asystem=unix -Acpu=ia64 -Amachine=ia64 \ + -D__IA64__ -D__hpux -D__hpux__ -Dhpux -Dunix \ + -D__BIG_ENDIAN__ -D_LONGLONG \ + -Asystem=hpux -Asystem=posix -Asystem=unix \ -D_UINT128_T" /* -D__fpreg=long double is needed to compensate for the lack of __fpreg @@ -46,9 +46,8 @@ Boston, MA 02111-1307, USA. */ -D__float80=long\\ double \ -D__float128=long\\ double" -#undef ASM_SPEC -#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic} \ - %{milp32:-milp32} %{mlp64:-mlp64}" +#undef ASM_EXTRA_SPEC +#define ASM_EXTRA_SPEC "%{milp32:-milp32} %{mlp64:-mlp64}" #undef ENDFILE_SPEC @@ -84,7 +83,6 @@ Boston, MA 02111-1307, USA. */ #define POINTERS_EXTEND_UNSIGNED -1 -#define DONT_USE_BUILTIN_SETJMP #define JMP_BUF_SIZE (8 * 76) #undef CONST_SECTION_ASM_OP diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index ba8c44ca710..30d0a7a5f00 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -31,12 +31,24 @@ Boston, MA 02111-1307, USA. */ /* Run-time target specifications */ -#define CPP_CPU_SPEC "\ - -Acpu=ia64 -Amachine=ia64 \ - %{!ansi:%{!std=c*:%{!std=i*:-Dia64}}} -D__ia64 -D__ia64__" +#define EXTRA_SPECS \ + { "cpp_cpu", CPP_CPU_SPEC }, + { "asm_extra", ASM_EXTRA_SPEC }, + +#define CPP_CPU_SPEC " \ + -Acpu=ia64 -Amachine=ia64 -D__ia64 -D__ia64__ %{!milp32:-D_LP64 -D__LP64__} \ + -D__ELF__" #define CC1_SPEC "%(cc1_cpu) " +#define ASM_EXTRA_SPEC "" + +/* ia64-specific options for gas + ??? ia64 gas doesn't accept standard svr4 assembler options? */ +#undef ASM_SPEC +#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic} %(asm_extra)" + + /* This declaration should be present. */ extern int target_flags; @@ -336,7 +348,7 @@ while (0) /* By default, the C++ compiler will use function addresses in the vtable entries. Setting this non-zero tells the compiler to use function descriptors instead. The value of this macro says how - many words wide the descriptor is (normally 2). It is assumed + many words wide the descriptor is (normally 2). It is assumed that the address of a function descriptor may be treated as a pointer to a function. */ #define TARGET_VTABLE_USES_DESCRIPTORS 2 @@ -391,7 +403,7 @@ while (0) /* Register Basics */ -/* Number of hardware registers known to the compiler. +/* Number of hardware registers known to the compiler. We have 128 general registers, 128 floating point registers, 64 predicate registers, 8 branch registers, one frame pointer, and several "application" registers. */ @@ -453,7 +465,7 @@ while (0) f0: constant 0.0 f1: constant 1.0 p0: constant true - fp: eliminable frame pointer */ + fp: eliminable frame pointer */ /* The last 16 stacked regs are reserved for the 8 input and 8 output registers. */ @@ -523,12 +535,12 @@ while (0) 1, 1, 1, 1, 1, 0, 1 \ } -/* Like `CALL_USED_REGISTERS' but used to overcome a historical +/* Like `CALL_USED_REGISTERS' but used to overcome a historical problem which makes CALL_USED_REGISTERS *always* include - all the FIXED_REGISTERS. Until this problem has been + all the FIXED_REGISTERS. Until this problem has been resolved this macro can be used to overcome this situation. - In particular, block_propagate() requires this list - be acurate, or we can remove registers which should be live. + In particular, block_propagate() requires this list + be acurate, or we can remove registers which should be live. This macro is used in regs_invalidated_by_call. */ #define CALL_REALLY_USED_REGISTERS \ @@ -1360,7 +1372,7 @@ do { \ #define FUNCTION_VALUE_REGNO_P(REGNO) \ (((REGNO) >= GR_RET_FIRST && (REGNO) <= GR_RET_LAST) \ - || ((REGNO) >= FR_RET_FIRST && (REGNO) <= FR_RET_LAST)) + || ((REGNO) >= FR_RET_FIRST && (REGNO) <= FR_RET_LAST)) /* How Large Values are Returned */ @@ -1731,7 +1743,7 @@ do { \ || (CLASS) == GR_AND_FR_REGS ? 4 : 10) /* A C expression for the cost of a branch instruction. A value of 1 is the - default; other values are interpreted relative to that. Used by the + default; other values are interpreted relative to that. Used by the if-conversion code as max instruction count. */ /* ??? This requires investigation. The primary effect might be how many additional insn groups we run into, vs how good the dynamic @@ -2273,7 +2285,7 @@ do { \ fprintf (FILE, "[.%s%d:]\n", PREFIX, NUM) /* Use section-relative relocations for debugging offsets. Unlike other - targets that fake this by putting the section VMA at 0, IA-64 has + targets that fake this by putting the section VMA at 0, IA-64 has proper relocations for them. */ #define ASM_OUTPUT_DWARF_OFFSET(FILE, SIZE, LABEL) \ do { \ @@ -2522,4 +2534,11 @@ enum fetchop_code { IA64_ADD_OP, IA64_SUB_OP, IA64_OR_OP, IA64_AND_OP, IA64_XOR_OP, IA64_NAND_OP }; +#define DONT_USE_BUILTIN_SETJMP + +/* Output any profiling code before the prologue. */ + +#undef PROFILE_BEFORE_PROLOGUE +#define PROFILE_BEFORE_PROLOGUE 1 + /* End of ia64.h */ diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h index 2f57d6ff547..51ba60f1635 100644 --- a/gcc/config/ia64/linux.h +++ b/gcc/config/ia64/linux.h @@ -11,12 +11,8 @@ /* ??? Maybe this should be in sysv4.h? */ #define CPP_PREDEFINES "\ --D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix \ --D_LP64 -D__LP64__ -D__ELF__ -Asystem=linux -Acpu=ia64 -Amachine=ia64" - -/* ??? ia64 gas doesn't accept standard svr4 assembler options? */ -#undef ASM_SPEC -#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}" + -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix \ + -Asystem=linux" /* Need to override linux.h STARTFILE_SPEC, since it has crtbeginT.o in. */ #undef STARTFILE_SPEC @@ -46,14 +42,8 @@ %{static:-static}}" -#define DONT_USE_BUILTIN_SETJMP #define JMP_BUF_SIZE 76 -/* Output any profiling code before the prologue. */ - -#undef PROFILE_BEFORE_PROLOGUE -#define PROFILE_BEFORE_PROLOGUE 1 - /* Override linux.h LINK_EH_SPEC definition. Signalize that because we have fde-glibc, we don't need all C shared libs linked against -lgcc_s. */ -- 2.30.2