aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog24
-rw-r--r--gcc/config.gcc12
-rw-r--r--gcc/config/alpha/elf.h13
-rw-r--r--gcc/config/alpha/freebsd.h3
-rw-r--r--gcc/config/alpha/linux-ecoff.h37
-rw-r--r--gcc/config/alpha/linux-elf.h12
-rw-r--r--gcc/config/alpha/linux.h3
-rw-r--r--gcc/config/alpha/netbsd.h9
-rw-r--r--gcc/config/alpha/openbsd.h2
-rw-r--r--gcc/config/alpha/vms.h2
10 files changed, 43 insertions, 74 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 55e343e..1c8d84d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,27 @@
+2002-04-11 David O'Brien <obrien@FreeBSD.org>
+
+ * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
+ Include {cpu}/{cpu}.h thru tm_file.
+ (alpha*-*-linux*ecoff): Remove target.
+ * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
+ (LINK_SPEC): Remove, is not OS independent.
+ * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
+ (LINK_SPEC): Do not need to #undef any longer.
+ * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
+ any longer.
+ * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
+ __ELF__.
+ (LINK_SPEC): Moved here from alpha/elf.h.
+ * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
+ SUB_CPP_PREDEFINES.
+ * config/alpha/linux-ecoff.h: Remove.
+ * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
+ (CPP_SPEC): Define _POSIX_SOURCE as needed.
+ (CPP_SUBTARGET_SPEC): Do not define.
+ (LINK_SPEC): Do not need to #undef any longer.
+ * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
+ * config/alpha/vms.h: Likewise.
+
2002-04-11 Richard Sandiford <rsand
* doc/extend.texi: Remove old claim that typedefs cannot have
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 2934558..26725d0 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -461,13 +461,6 @@ alpha-*-interix)
#prefix='$$INTERIX_ROOT'/usr/contrib
#local_prefix='$$INTERIX_ROOT'/usr/contrib
;;
-alpha*-*-linux*ecoff*)
- tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
- target_cpu_default="MASK_GAS"
- tmake_file="alpha/t-alpha alpha/t-ieee"
- gas=no
- gas=yes gnu_ld=yes
- ;;
alpha*-*-linux*libc1*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
target_cpu_default="MASK_GAS"
@@ -502,6 +495,7 @@ alpha*-*-netbsd*)
;;
alpha*-*-openbsd*)
+ tm_file="${cpu_type}/${cpu_type}.h ${tm_file}"
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
@@ -559,7 +553,7 @@ alpha*-*-vxworks*)
;;
alpha64-dec-*vms*)
xm_defines=POSIX
- tm_file="alpha/vms.h alpha/vms64.h"
+ tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
xmake_file=alpha/x-vms
@@ -577,7 +571,7 @@ alpha64-dec-*vms*)
;;
alpha*-dec-*vms*)
xm_defines=POSIX
- tm_file=alpha/vms.h
+ tm_file="${tm_file} alpha/vms.h"
xm_file=alpha/xm-vms.h
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
xmake_file=alpha/x-vms
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index 05853c2..22b63f0 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -35,22 +35,15 @@ Boston, MA 02111-1307, USA. */
#undef ASM_FINAL_SPEC
+#undef CPP_SUBTARGET_SPEC
+#define CPP_SUBTARGET_SPEC "-D__ELF__"
+
#undef CC1_SPEC
#define CC1_SPEC "%{G*}"
#undef ASM_SPEC
#define ASM_SPEC "%{G*} %{relax:-relax} %{!gstabs*:-no-mdebug}%{gstabs*:-mdebug}"
-#undef LINK_SPEC
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
- %{static:-static}}"
-
/* Output at beginning of assembler file. */
#undef ASM_FILE_START
#define ASM_FILE_START(FILE) \
diff --git a/gcc/config/alpha/freebsd.h b/gcc/config/alpha/freebsd.h
index a30e7ec..12c333a 100644
--- a/gcc/config/alpha/freebsd.h
+++ b/gcc/config/alpha/freebsd.h
@@ -25,13 +25,12 @@ Boston, MA 02111-1307, USA. */
deal with the Alpha's FP issues. */
#undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget) -D__ELF__ \
+#define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget) \
%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \
%{posix:-D_POSIX_SOURCE} \
%{mieee:-D_IEEE_FP} \
%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}"
-#undef LINK_SPEC
#define LINK_SPEC "%{G*} %{relax:-relax} \
%{p:%e`-p' not supported; use `-pg' and gprof(1)} \
%{Wl,*:%*} \
diff --git a/gcc/config/alpha/linux-ecoff.h b/gcc/config/alpha/linux-ecoff.h
deleted file mode 100644
index 824d028..0000000
--- a/gcc/config/alpha/linux-ecoff.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Definitions of target machine for GNU compiler
- for Alpha Linux-based GNU systems using ECOFF.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
- Contributed by Bob Manson.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ECOFF)");
-
-#undef CPP_SUBTARGET_SPEC
-#define CPP_SUBTARGET_SPEC "-D__ECOFF__"
-
-#undef LINK_SPEC
-#define LINK_SPEC "-G 8 %{O*:-O3} %{!O*:-O1}"
-
-/* stabs get slurped by the assembler into a queer ecoff format. */
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-
-/* We support #pragma. */
-#define HANDLE_SYSV_PRAGMA
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 6430059..506a103 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -27,15 +27,21 @@ Boston, MA 02111-1307, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-#undef SUB_CPP_PREDEFINES
-#define SUB_CPP_PREDEFINES "-D__ELF__"
-
#ifdef USE_GNULIBC_1
#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
#else
#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#endif
+#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
+ %{static:-static}}"
+
#ifndef USE_GNULIBC_1
#undef LIB_SPEC
#define LIB_SPEC \
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
index 8a1b93f..721153a 100644
--- a/gcc/config/alpha/linux.h
+++ b/gcc/config/alpha/linux.h
@@ -25,8 +25,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
-"-Dlinux -Dunix -Asystem=linux -D_LONGLONG -D__alpha__ " \
-SUB_CPP_PREDEFINES
+ "-Dlinux -Dunix -Asystem=linux -D_LONGLONG -D__alpha__"
/* The GNU C++ standard library requires that these macros be defined. */
#undef CPLUSPLUS_CPP_SPEC
diff --git a/gcc/config/alpha/netbsd.h b/gcc/config/alpha/netbsd.h
index e5551da..5ffc271 100644
--- a/gcc/config/alpha/netbsd.h
+++ b/gcc/config/alpha/netbsd.h
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
- "-D__NetBSD__ -D__ELF__ -Asystem=unix -Asystem=NetBSD"
+ "-D__NetBSD__ -Asystem=unix -Asystem=NetBSD"
/* Show that we need a GP when profiling. */
@@ -39,18 +39,13 @@ Boston, MA 02111-1307, USA. */
#define CPP_SPEC \
"%{mieee:-D_IEEE_FP} \
%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT} \
+ %{posix:-D_POSIX_SOURCE} \
%(cpp_cpu) %(cpp_subtarget)"
-#undef CPP_SUBTARGET_SPEC
-#define CPP_SUBTARGET_SPEC \
- "%{posix:-D_POSIX_SOURCE}"
-
-
/* Provide a LINK_SPEC appropriate for a NetBSD/alpha ELF target.
This is a copy of LINK_SPEC from <netbsd-elf.h> tweaked for
the alpha target. */
-#undef LINK_SPEC
#define LINK_SPEC \
"%{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
diff --git a/gcc/config/alpha/openbsd.h b/gcc/config/alpha/openbsd.h
index 3424112..d024749 100644
--- a/gcc/config/alpha/openbsd.h
+++ b/gcc/config/alpha/openbsd.h
@@ -21,8 +21,6 @@ Boston, MA 02111-1307, USA. */
/* We settle for little endian for now. */
#define TARGET_ENDIAN_DEFAULT 0
-#include <alpha/alpha.h>
-
#define OBSD_NO_DYNAMIC_LIBRARIES
#define OBSD_HAS_DECLARE_FUNCTION_NAME
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 7fee6be..79ec5b7 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -29,8 +29,6 @@ Boston, MA 02111-1307, USA. */
#define NO_EXTERNAL_INDIRECT_ADDRESS
-#include "alpha/alpha.h"
-
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__ALPHA -Dvms -DVMS -D__vms__ -D__VMS__ -Asystem=vms"