summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/netbsd.h
diff options
context:
space:
mode:
authorcagney <cagney@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-01 19:25:18 +0000
committercagney <cagney@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-01 19:25:18 +0000
commit93006578d2031216f781196b79b51e3a91b48717 (patch)
treec68b354c893c42ae0677cea5323bc79727e4e2b6 /gcc/config/rs6000/netbsd.h
parent8e7f75ad4cf9ecfa1b96d1459edfefd73fb006c5 (diff)
downloadgcc-93006578d2031216f781196b79b51e3a91b48717.tar.gz
* config.gcc: Recognize powerpc-*-netbsd*.
* doc/install.texi (Host/target specific installation notes for GCC): Mention powerpc-*-netbsd*. * config/rs6000/netbsd.h: New file. (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine. (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine. (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine. (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine. (TARGET_VERSION): Redefine. * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize mcall-netbsd as a match for mcall-sysv. (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext). (ncrti.S, ncrtn.S): New targets. ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize "netbsd' as a V4 ABI. (ASM_SPEC): Check for -mcall-netbsd. (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto. (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto. (LIB_SPEC, ENDFILE_SPEC): Ditto. (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define. (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define. (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define. (SUBTARGET_EXTRA_SPECS): Add NetBSD specs. * doc/invoke.texi (Option Summary): Add -mcall-netbsd. (RS/6000 and PowerPC Options): Mention -mcall-netbsd. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44552 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/netbsd.h')
-rw-r--r--gcc/config/rs6000/netbsd.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/gcc/config/rs6000/netbsd.h b/gcc/config/rs6000/netbsd.h
new file mode 100644
index 00000000000..9978db50231
--- /dev/null
+++ b/gcc/config/rs6000/netbsd.h
@@ -0,0 +1,61 @@
+/* Definitions of target machine for GNU compiler,
+ for PowerPC NetBSD systems.
+ Copyright 2001 Free Software Foundation, Inc.
+
+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. */
+
+/* Under NetBSD, the normal location of the various *crt*.o files is
+ the /usr/lib directory [from config/netbsd.h]. */
+
+#undef STANDARD_STARTFILE_PREFIX
+#define STANDARD_STARTFILE_PREFIX "/usr/lib/"
+
+/* FIXME: Should this macro be treated the same as for the other
+ spec's? */
+/* NOTE: -dc and -dp are equivalent yet NetBSD's CC passes both both!
+ NetBSD's CC also passes -O1 but we can skip that. NetBSD explictly
+ sets ``-e _start'', since LD knows this, skip it. */
+
+#undef LINK_SHLIB_SPEC
+#define LINK_SHLIB_SPEC "\
+%{shared:-shared} \
+%{!shared: %{static:-dc -dp -static}} \
+%{!shared: %{!static:-dc -dp}} \
+"
+
+/* Override the defaults. */
+#undef LIB_DEFAULT_SPEC
+#define LIB_DEFAULT_SPEC "%(lib_netbsd)"
+
+#undef STARTFILE_DEFAULT_SPEC
+#define STARTFILE_DEFAULT_SPEC "%(startfile_netbsd)"
+
+#undef ENDFILE_DEFAULT_SPEC
+#define ENDFILE_DEFAULT_SPEC "%(endfile_netbsd)"
+
+#undef LINK_START_DEFAULT_SPEC
+#define LINK_START_DEFAULT_SPEC "%(link_start_netbsd)"
+
+#undef LINK_OS_DEFAULT_SPEC
+#define LINK_OS_DEFAULT_SPEC "%(link_os_netbsd)"
+
+#undef CPP_OS_DEFAULT_SPEC
+#define CPP_OS_DEFAULT_SPEC "%(cpp_os_netbsd)"
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (PowerPC NetBSD/ELF)");