/* Definitions of target machine for GCC, for ELF on NetBSD/sparc
and NetBSD/sparc64.
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2010, 2011
+ Free Software Foundation, Inc.
Contributed by Matthew Green (mrg@eterna.com.au).
This file is part of GCC.
GCC 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)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
#define TARGET_OS_CPP_BUILTINS() \
do \
} \
while (0)
-/* Make sure these are undefined. */
-#undef MD_EXEC_PREFIX
-#undef MD_STARTFILE_PREFIX
-
/* CPP defines used by all NetBSD targets. */
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC "%(netbsd_cpp_spec)"
#define USER_LABEL_PREFIX ""
#undef ASM_SPEC
-#define ASM_SPEC "%{fpic|fPIC|fpie|fPIE:-K PIC} %{V} %{v:%{!V:-V}} \
-%{mlittle-endian:-EL} \
+#define ASM_SPEC "%{fpic|fPIC|fpie|fPIE:-K PIC} \
%(asm_cpu) %(asm_arch) %(asm_relax)"
#undef STDC_0_IN_SYSTEM_HEADERS
-/* Attempt to enable execute permissions on the stack. */
-#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (%s)", TARGET_NAME);
+#define HAVE_ENABLE_EXECUTE_STACK
/* Below here exists the merged NetBSD/sparc & NetBSD/sparc64 compiler
- description, allowing one to build 32 bit or 64 bit applications
+ description, allowing one to build 32-bit or 64-bit applications
on either. We define the sparc & sparc64 versions of things,
occasionally a neutral version (should be the same as "netbsd-elf.h")
and then based on SPARC_BI_ARCH, DEFAULT_ARCH32_P, and TARGET_CPU_DEFAULT,
definitions, even for the SPARC_BI_ARCH compiler, because NetBSD does
not have a default place to find these libraries.. */
-/* Name the port(s). */
-#define TARGET_NAME64 "NetBSD/sparc64 ELF"
-#define TARGET_NAME32 "NetBSD/sparc ELF"
-
/* TARGET_CPU_DEFAULT is set in Makefile.in. We test for 64-bit default
platform here. */
/* CC1_SPEC for NetBSD/sparc. */
#define CC1_SPEC32 \
- "%{sun4:} %{target:} \
- %{mcypress:-mcpu=cypress} \
- %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
- %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
- %{m32:%{m64:%emay not use both -m32 and -m64}} \
+ "%{m32:%{m64:%emay not use both -m32 and -m64}} \
%{m64: \
-mptr64 -mstack-bias -mno-v8plus -mlong-double-128 \
- %{!mcpu*: \
- %{!mcypress: \
- %{!msparclite: \
- %{!mf930: \
- %{!mf934: \
- %{!mv8*: \
- %{!msupersparc:-mcpu=ultrasparc}}}}}}} \
+ %{!mcpu*:%{!mv8plus:-mcpu=ultrasparc}} \
%{!mno-vis:%{!mcpu=v9:-mvis}} \
%{p:-mcmodel=medlow} \
%{pg:-mcmodel=medlow}}"
#define CC1_SPEC64 \
- "%{sun4:} %{target:} \
- %{mcypress:-mcpu=cypress} \
- %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
- %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
- %{m32:%{m64:%emay not use both -m32 and -m64}} \
+ "%{m32:%{m64:%emay not use both -m32 and -m64}} \
%{m32: \
-mptr32 -mno-stack-bias \
%{!mlong-double-128:-mlong-double-64} \
- %{!mcpu*: \
- %{!mcypress: \
- %{!msparclite: \
- %{!mf930: \
- %{!mf934: \
- %{!mv8*: \
- %{!msupersparc:-mcpu=cypress}}}}}}}} \
+ %{!mcpu*:%{!mv8plus:-mcpu=cypress}}} \
%{!m32: \
%{p:-mcmodel=medlow} \
%{pg:-mcmodel=medlow}}"
{ "netbsd_entry_point", NETBSD_ENTRY_POINT },
-/* What extra switches do we need? */
-#undef SUBTARGET_SWITCHES
-#define SUBTARGET_SWITCHES \
- {"long-double-64", -MASK_LONG_DOUBLE_128, N_("Use 64 bit long doubles") }, \
- {"long-double-128", MASK_LONG_DOUBLE_128, N_("Use 128 bit long doubles") },
-
-
/* Build a compiler that supports -m32 and -m64? */
#ifdef SPARC_BI_ARCH
#define MULTILIB_DEFAULTS { "m64" }
#endif
-/* Name the port. */
-#undef TARGET_NAME
-#define TARGET_NAME (DEFAULT_ARCH32_P ? TARGET_NAME32 : TARGET_NAME64)
-
#else /* SPARC_BI_ARCH */
#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
#undef CC1_SPEC
#define CC1_SPEC CC1_SPEC64
-#undef TARGET_NAME
-#define TARGET_NAME TARGET_NAME64
-
#else /* TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc */
#undef CC1_SPEC
#define CC1_SPEC CC1_SPEC32
-#undef TARGET_NAME
-#define TARGET_NAME TARGET_NAME32
-
#endif /* TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc */