aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog24
-rw-r--r--gcc/config/ia64/aix.h17
-rw-r--r--gcc/config/ia64/elf.h6
-rw-r--r--gcc/config/ia64/freebsd.h10
-rw-r--r--gcc/config/ia64/hpux.h12
-rw-r--r--gcc/config/ia64/ia64.h45
-rw-r--r--gcc/config/ia64/linux.h14
7 files changed, 70 insertions, 58 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d622952..9a6ff9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,29 @@
2002-04-11 David O'Brien <obrien@FreeBSD.org>
+ * 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 <obrien@FreeBSD.org>
+
* config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
all other *-*-freebsd* targets.
diff --git a/gcc/config/ia64/aix.h b/gcc/config/ia64/aix.h
index 1e2e922..fee0732 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 af8c7a6..af6d917 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 6140128..57bb391 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 5f272d6..d46acf2 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 ba8c44c..30d0a7a 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 2f57d6f..51ba60f 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. */