summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/alpha/freebsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/alpha/freebsd.h')
-rw-r--r--contrib/gcc/config/alpha/freebsd.h30
1 files changed, 13 insertions, 17 deletions
diff --git a/contrib/gcc/config/alpha/freebsd.h b/contrib/gcc/config/alpha/freebsd.h
index 351fb84..35a9e65 100644
--- a/contrib/gcc/config/alpha/freebsd.h
+++ b/contrib/gcc/config/alpha/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
This file is part of GNU CC.
@@ -25,14 +25,14 @@ Boston, MA 02111-1307, USA. */
deal with the Alpha's FP issues. */
#undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) \
+#define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget) -D__ELF__ \
%{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 "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "%{G*} %{relax:-relax} \
%{p:%e`-p' not supported; use `-pg' and gprof(1)} \
%{Wl,*:%*} \
%{assert*} %{R*} %{rpath*} %{defsym*} \
@@ -44,16 +44,6 @@ Boston, MA 02111-1307, USA. */
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \
%{static:-Bstatic}}"
-/* Provide an ASM_SPEC appropriate for a FreeBSD/Alpha target. This differs
- from the generic FreeBSD ASM_SPEC in that no special handling of PIC is
- necessary on the Alpha. */
-/* Per Richard Henderson <rth@cygnus.com>, it is better to use the `.arch'
- directive in the assembly file. alpha/elf.h gives us this in
- "ASM_FILE_START".
-#undef ASM_SPEC
-#define ASM_SPEC " %| %{mcpu=*:-m%*}"
-*/
-
/************************[ Target stuff ]***********************************/
@@ -65,18 +55,18 @@ Boston, MA 02111-1307, USA. */
#undef WCHAR_TYPE
#undef WCHAR_UNSIGNED
-#define WCHAR_UNSIGNED 0
+#define WCHAR_UNSIGNED 0
#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
+#define WCHAR_TYPE_SIZE 32
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (FreeBSD/alpha ELF)");
-#define TARGET_ELF 1
+#define TARGET_ELF 1
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS)
+#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS)
#undef HAS_INIT_SECTION
@@ -89,3 +79,9 @@ Boston, MA 02111-1307, USA. */
#undef DBX_CONTIN_CHAR
#define DBX_CONTIN_CHAR '?'
+
+/* Don't default to pcc-struct-return, we want to retain compatibility with
+ older FreeBSD releases AND pcc-struct-return may not be reentrant. */
+
+#undef DEFAULT_PCC_STRUCT_RETURN
+#define DEFAULT_PCC_STRUCT_RETURN 0
OpenPOWER on IntegriCloud