Commit edf1b3f3 by Andrew Cagney Committed by Andrew Cagney

config.gcc: Recognize powerpc-*-netbsd*.

* 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.

From-SVN: r44552
parent bda33a6e
2001-07-11 Andrew Cagney <ac131313@redhat.com>
* 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.
2001-08-01 Mark Kettenis <kettenis@gnu.org> 2001-08-01 Mark Kettenis <kettenis@gnu.org>
* unwind-pe.h (base_of_encoded_value, read_encoded_value): Define * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
......
...@@ -2602,6 +2602,12 @@ powerpc-*-sysv*) ...@@ -2602,6 +2602,12 @@ powerpc-*-sysv*)
extra_headers=ppc-asm.h extra_headers=ppc-asm.h
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm" tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
;; ;;
powerpc-*-netbsd*)
xm_defines=POSIX
tm_file="${tm_file} svr4.h rs6000/sysv4.h rs6000/netbsd.h"
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
powerpc-*-chorusos*) powerpc-*-chorusos*)
xm_defines=POSIX xm_defines=POSIX
tm_file="${tm_file} svr4.h rs6000/sysv4.h chorus.h" tm_file="${tm_file} svr4.h rs6000/sysv4.h chorus.h"
......
/* 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)");
...@@ -275,6 +275,8 @@ do { \ ...@@ -275,6 +275,8 @@ do { \
rs6000_current_abi = ABI_AIX; \ rs6000_current_abi = ABI_AIX; \
else if (!strcmp (rs6000_abi_name, "linux")) \ else if (!strcmp (rs6000_abi_name, "linux")) \
rs6000_current_abi = ABI_V4; \ rs6000_current_abi = ABI_V4; \
else if (!strcmp (rs6000_abi_name, "netbsd")) \
rs6000_current_abi = ABI_V4; \
else if (!strcmp (rs6000_abi_name, "solaris")) \ else if (!strcmp (rs6000_abi_name, "solaris")) \
rs6000_current_abi = ABI_SOLARIS; \ rs6000_current_abi = ABI_SOLARIS; \
else if (!strcmp (rs6000_abi_name, "i960-old")) \ else if (!strcmp (rs6000_abi_name, "i960-old")) \
...@@ -1113,7 +1115,8 @@ do { \ ...@@ -1113,7 +1115,8 @@ do { \
%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
%{mcall-solaris: -mlittle -msolaris} \ %{mcall-solaris: -mlittle -msolaris} \
%{mcall-i960-old: -mlittle} \ %{mcall-i960-old: -mlittle} \
%{mcall-linux: -mbig} }}}}" %{mcall-linux: -mbig} \
%{mcall-netbsd: -mbig} }}}}"
#define CC1_ENDIAN_BIG_SPEC "" #define CC1_ENDIAN_BIG_SPEC ""
...@@ -1135,9 +1138,10 @@ do { \ ...@@ -1135,9 +1138,10 @@ do { \
%{mcall-solaris: -mlittle %(cc1_endian_little) } \ %{mcall-solaris: -mlittle %(cc1_endian_little) } \
%{mcall-i960-old: -mlittle %(cc1_endian_little) } \ %{mcall-i960-old: -mlittle %(cc1_endian_little) } \
%{mcall-linux: -mbig %(cc1_endian_big) } \ %{mcall-linux: -mbig %(cc1_endian_big) } \
%{!mcall-aixdesc: %{!mcall-solaris: %{!mcall-i960-old: %{!mcall-linux: \ %{mcall-netbsd: -mbig %(cc1_endian_big) } \
%{!mcall-aixdesc: %{!mcall-solaris: %{!mcall-i960-old: %{!mcall-linux: %{!mcall-netbsd: \
%(cc1_endian_default) \ %(cc1_endian_default) \
}}}} \ }}}}} \
}}}} \ }}}} \
%{mcall-solaris: -mregnames } \ %{mcall-solaris: -mregnames } \
%{mno-sdata: -msdata=none } \ %{mno-sdata: -msdata=none } \
...@@ -1146,7 +1150,8 @@ do { \ ...@@ -1146,7 +1150,8 @@ do { \
%{mrelocatable: -meabi } \ %{mrelocatable: -meabi } \
%{mcall-solaris: -mno-eabi } \ %{mcall-solaris: -mno-eabi } \
%{mcall-i960-old: -meabi } \ %{mcall-i960-old: -meabi } \
%{mcall-linux: -mno-eabi }}} \ %{mcall-linux: -mno-eabi } \
%{mcall-netbsd: -mno-eabi }}} \
%{msdata: -msdata=default} \ %{msdata: -msdata=default} \
%{mno-sdata: -msdata=none} \ %{mno-sdata: -msdata=none} \
%{profile: -p}" %{profile: -p}"
...@@ -1175,8 +1180,9 @@ do { \ ...@@ -1175,8 +1180,9 @@ do { \
%{mmvme: %(link_start_mvme) } \ %{mmvme: %(link_start_mvme) } \
%{msim: %(link_start_sim) } \ %{msim: %(link_start_sim) } \
%{mcall-linux: %(link_start_linux) } \ %{mcall-linux: %(link_start_linux) } \
%{mcall-netbsd: %(link_start_netbsd) } \
%{mcall-solaris: %(link_start_solaris) } \ %{mcall-solaris: %(link_start_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_start_default) }}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %(link_start_default) }}}}}}}"
#define LINK_START_DEFAULT_SPEC "" #define LINK_START_DEFAULT_SPEC ""
...@@ -1230,8 +1236,9 @@ do { \ ...@@ -1230,8 +1236,9 @@ do { \
%{mmvme: %(link_os_mvme) } \ %{mmvme: %(link_os_mvme) } \
%{msim: %(link_os_sim) } \ %{msim: %(link_os_sim) } \
%{mcall-linux: %(link_os_linux) } \ %{mcall-linux: %(link_os_linux) } \
%{mcall-netbsd: %(link_os_netbsd) } \
%{mcall-solaris: %(link_os_solaris) } \ %{mcall-solaris: %(link_os_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_os_default) }}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %(link_os_default) }}}}}}}"
#define LINK_OS_DEFAULT_SPEC "" #define LINK_OS_DEFAULT_SPEC ""
...@@ -1278,9 +1285,10 @@ do { \ ...@@ -1278,9 +1285,10 @@ do { \
%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
%{mcall-solaris: %(cpp_endian_solaris) } \ %{mcall-solaris: %(cpp_endian_solaris) } \
%{mcall-linux: %(cpp_endian_big) } \ %{mcall-linux: %(cpp_endian_big) } \
%{mcall-netbsd: %(cpp_endian_big) } \
%{mcall-i960-old: %(cpp_endian_little) } \ %{mcall-i960-old: %(cpp_endian_little) } \
%{mcall-aixdesc: %(cpp_endian_big) } \ %{mcall-aixdesc: %(cpp_endian_big) } \
%{!mcall-solaris: %{!mcall-linux: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}" %{!mcall-solaris: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}}"
#define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)" #define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)"
...@@ -1292,8 +1300,9 @@ do { \ ...@@ -1292,8 +1300,9 @@ do { \
%{mmvme: %(cpp_os_mvme) } \ %{mmvme: %(cpp_os_mvme) } \
%{msim: %(cpp_os_sim) } \ %{msim: %(cpp_os_sim) } \
%{mcall-linux: %(cpp_os_linux) } \ %{mcall-linux: %(cpp_os_linux) } \
%{mcall-netbsd: %(cpp_os_netbsd) } \
%{mcall-solaris: %(cpp_os_solaris) } \ %{mcall-solaris: %(cpp_os_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(cpp_os_default) }}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %(cpp_os_default) }}}}}}}"
#define CPP_OS_DEFAULT_SPEC "" #define CPP_OS_DEFAULT_SPEC ""
...@@ -1305,8 +1314,9 @@ do { \ ...@@ -1305,8 +1314,9 @@ do { \
%{mmvme: %(startfile_mvme) } \ %{mmvme: %(startfile_mvme) } \
%{msim: %(startfile_sim) } \ %{msim: %(startfile_sim) } \
%{mcall-linux: %(startfile_linux) } \ %{mcall-linux: %(startfile_linux) } \
%{mcall-netbsd: %(startfile_netbsd) } \
%{mcall-solaris: %(startfile_solaris) } \ %{mcall-solaris: %(startfile_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(startfile_default) }}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %(startfile_default) }}}}}}}"
#define STARTFILE_DEFAULT_SPEC "" #define STARTFILE_DEFAULT_SPEC ""
...@@ -1318,8 +1328,9 @@ do { \ ...@@ -1318,8 +1328,9 @@ do { \
%{mmvme: %(lib_mvme) } \ %{mmvme: %(lib_mvme) } \
%{msim: %(lib_sim) } \ %{msim: %(lib_sim) } \
%{mcall-linux: %(lib_linux) } \ %{mcall-linux: %(lib_linux) } \
%{mcall-netbsd: %(lib_netbsd) } \
%{mcall-solaris: %(lib_solaris) } \ %{mcall-solaris: %(lib_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(lib_default) }}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %(lib_default) }}}}}}}"
#define LIB_DEFAULT_SPEC "" #define LIB_DEFAULT_SPEC ""
...@@ -1331,9 +1342,10 @@ do { \ ...@@ -1331,9 +1342,10 @@ do { \
%{mmvme: %(endfile_mvme)} \ %{mmvme: %(endfile_mvme)} \
%{msim: %(endfile_sim)} \ %{msim: %(endfile_sim)} \
%{mcall-linux: %(endfile_linux) } \ %{mcall-linux: %(endfile_linux) } \
%{mcall-netbsd: %(endfile_netbsd) } \
%{mcall-solaris: %(endfile_solaris)} \ %{mcall-solaris: %(endfile_solaris)} \
%{mvxworks: %(endfile_vxworks) } \ %{mvxworks: %(endfile_vxworks) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}" %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-netbsd: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}}"
#define ENDFILE_DEFAULT_SPEC "" #define ENDFILE_DEFAULT_SPEC ""
...@@ -1429,6 +1441,29 @@ do { \ ...@@ -1429,6 +1441,29 @@ do { \
-Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}" -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"
#endif #endif
/* NetBSD support. */
#define LIB_NETBSD_SPEC "\
%{profile:-lgmon -lc_p} %{!profile:-lc}"
#define STARTFILE_NETBSD_SPEC "\
ncrti.o%s crt0.o%s \
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
#define ENDFILE_NETBSD_SPEC "\
%{!shared:crtend.o%s} %{shared:crtendS.o%s} \
ncrtn.o%s"
#define LINK_START_NETBSD_SPEC "\
"
#define LINK_OS_NETBSD_SPEC "\
%{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}"
#define CPP_OS_NETBSD_SPEC "\
-D__powerpc__ -D__NetBSD__ -D__ELF__ -D__KPRINTF_ATTRIBUTE__"
/* Solaris support. */ /* Solaris support. */
/* For Solaris, Gcc automatically adds in one of the files /* For Solaris, Gcc automatically adds in one of the files
/usr/ccs/lib/values-Xc.o, /usr/ccs/lib/values-Xa.o, or /usr/ccs/lib/values-Xc.o, /usr/ccs/lib/values-Xa.o, or
...@@ -1524,6 +1559,7 @@ do { \ ...@@ -1524,6 +1559,7 @@ do { \
{ "lib_mvme", LIB_MVME_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \
{ "lib_sim", LIB_SIM_SPEC }, \ { "lib_sim", LIB_SIM_SPEC }, \
{ "lib_linux", LIB_LINUX_SPEC }, \ { "lib_linux", LIB_LINUX_SPEC }, \
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
{ "lib_solaris", LIB_SOLARIS_SPEC }, \ { "lib_solaris", LIB_SOLARIS_SPEC }, \
{ "lib_vxworks", LIB_VXWORKS_SPEC }, \ { "lib_vxworks", LIB_VXWORKS_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \
...@@ -1532,6 +1568,7 @@ do { \ ...@@ -1532,6 +1568,7 @@ do { \
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \
{ "startfile_sim", STARTFILE_SIM_SPEC }, \ { "startfile_sim", STARTFILE_SIM_SPEC }, \
{ "startfile_linux", STARTFILE_LINUX_SPEC }, \ { "startfile_linux", STARTFILE_LINUX_SPEC }, \
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
{ "startfile_solaris", STARTFILE_SOLARIS_SPEC }, \ { "startfile_solaris", STARTFILE_SOLARIS_SPEC }, \
{ "startfile_vxworks", STARTFILE_VXWORKS_SPEC }, \ { "startfile_vxworks", STARTFILE_VXWORKS_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \
...@@ -1540,6 +1577,7 @@ do { \ ...@@ -1540,6 +1577,7 @@ do { \
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \
{ "endfile_sim", ENDFILE_SIM_SPEC }, \ { "endfile_sim", ENDFILE_SIM_SPEC }, \
{ "endfile_linux", ENDFILE_LINUX_SPEC }, \ { "endfile_linux", ENDFILE_LINUX_SPEC }, \
{ "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \
{ "endfile_solaris", ENDFILE_SOLARIS_SPEC }, \ { "endfile_solaris", ENDFILE_SOLARIS_SPEC }, \
{ "endfile_vxworks", ENDFILE_VXWORKS_SPEC }, \ { "endfile_vxworks", ENDFILE_VXWORKS_SPEC }, \
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "endfile_default", ENDFILE_DEFAULT_SPEC }, \
...@@ -1552,6 +1590,7 @@ do { \ ...@@ -1552,6 +1590,7 @@ do { \
{ "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \
{ "link_start_sim", LINK_START_SIM_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \
{ "link_start_linux", LINK_START_LINUX_SPEC }, \ { "link_start_linux", LINK_START_LINUX_SPEC }, \
{ "link_start_netbsd", LINK_START_NETBSD_SPEC }, \
{ "link_start_solaris", LINK_START_SOLARIS_SPEC }, \ { "link_start_solaris", LINK_START_SOLARIS_SPEC }, \
{ "link_start_vxworks", LINK_START_VXWORKS_SPEC }, \ { "link_start_vxworks", LINK_START_VXWORKS_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \
...@@ -1561,6 +1600,7 @@ do { \ ...@@ -1561,6 +1600,7 @@ do { \
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \
{ "link_os_sim", LINK_OS_SIM_SPEC }, \ { "link_os_sim", LINK_OS_SIM_SPEC }, \
{ "link_os_linux", LINK_OS_LINUX_SPEC }, \ { "link_os_linux", LINK_OS_LINUX_SPEC }, \
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
{ "link_os_solaris", LINK_OS_SOLARIS_SPEC }, \ { "link_os_solaris", LINK_OS_SOLARIS_SPEC }, \
{ "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \ { "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
...@@ -1577,6 +1617,7 @@ do { \ ...@@ -1577,6 +1617,7 @@ do { \
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
{ "cpp_os_sim", CPP_OS_SIM_SPEC }, \ { "cpp_os_sim", CPP_OS_SIM_SPEC }, \
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \ { "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
{ "cpp_os_solaris", CPP_OS_SOLARIS_SPEC }, \ { "cpp_os_solaris", CPP_OS_SOLARIS_SPEC }, \
{ "cpp_os_vxworks", CPP_OS_VXWORKS_SPEC }, \ { "cpp_os_vxworks", CPP_OS_VXWORKS_SPEC }, \
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC }, { "cpp_os_default", CPP_OS_DEFAULT_SPEC },
......
...@@ -33,16 +33,19 @@ MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \ ...@@ -33,16 +33,19 @@ MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
msoft-float=mcpu?823 \ msoft-float=mcpu?823 \
msoft-float=mcpu?860 msoft-float=mcpu?860
MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian
MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
LIBGCC = stmp-multilib LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \ EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
crtbeginS$(objext) crtendS$(objext) \ crtbeginS$(objext) crtendS$(objext) \
ecrti$(objext) ecrtn$(objext) scrt0$(objext) scrti$(objext) scrtn$(objext) ecrti$(objext) ecrtn$(objext) \
scrt0$(objext) scrti$(objext) scrtn$(objext) \
ncrti$(objext) ncrtn$(objext)
# We build {e,s}crti.o, {e,s}crtn.o, and scrt0.o which serve to add begin and # We build {e,s}crti.o, {e,s}crtn.o, and {s,n}crt0.o which serve to
# end labels to all of the special sections used when we link using gcc. # add begin and end labels to all of the special sections used when we
# link using gcc.
# Assemble startup files. # Assemble startup files.
ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
...@@ -51,6 +54,14 @@ ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm ...@@ -51,6 +54,14 @@ ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S
ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
sed -e 's/__init/_init/' -e 's/__fini/_fini/' \
$(srcdir)/config/rs6000/sol-ci.asm >ncrti.S
ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
sed -e 's/__init/_init/' -e 's/__fini/_fini/' \
$(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
scrti.S: $(srcdir)/config/rs6000/sol-ci.asm scrti.S: $(srcdir)/config/rs6000/sol-ci.asm
cat $(srcdir)/config/rs6000/sol-ci.asm >scrti.S cat $(srcdir)/config/rs6000/sol-ci.asm >scrti.S
...@@ -67,6 +78,12 @@ $(T)ecrti$(objext): ecrti.S ...@@ -67,6 +78,12 @@ $(T)ecrti$(objext): ecrti.S
$(T)ecrtn$(objext): ecrtn.S $(T)ecrtn$(objext): ecrtn.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext)
$(T)ncrti$(objext): ncrti.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext)
$(T)ncrtn$(objext): ncrtn.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)
$(T)scrti$(objext): scrti.S $(T)scrti$(objext): scrti.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrti.S -o $(T)scrti$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrti.S -o $(T)scrti$(objext)
......
...@@ -1359,6 +1359,8 @@ GNU Compiler Collection on your machine. ...@@ -1359,6 +1359,8 @@ GNU Compiler Collection on your machine.
@item @item
@uref{#powerpc-*-linux-gnu*,,powerpc-*-linux-gnu*} @uref{#powerpc-*-linux-gnu*,,powerpc-*-linux-gnu*}
@item @item
@uref{#powerpc-*-netbsd*,,powerpc-*-netbsd*}
@item
@uref{#powerpc-*-eabiaix,,powerpc-*-eabiaix} @uref{#powerpc-*-eabiaix,,powerpc-*-eabiaix}
@item @item
@uref{#powerpc-*-eabisim,,powerpc-*-eabisim} @uref{#powerpc-*-eabisim,,powerpc-*-eabisim}
...@@ -2869,6 +2871,15 @@ if you initially built it with gcc-2.7.2.x. ...@@ -2869,6 +2871,15 @@ if you initially built it with gcc-2.7.2.x.
</p> </p>
<hr> <hr>
@end html @end html
@heading @anchor{powerpc-*-netbsd*}powerpc-*-netbsd*
PowerPC system in big endian mode running NetBSD@. To build the
documentation you will need Texinfo version 4.0 (NetBSD 1.5.1 included
Texinfo version 3.12).
@html
</p>
<hr>
@end html
@heading @anchor{powerpc-*-eabiaix}powerpc-*-eabiaix @heading @anchor{powerpc-*-eabiaix}powerpc-*-eabiaix
Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as
the default. the default.
...@@ -2972,6 +2983,11 @@ the @command{pkginfo} command. To add an optional package, use the ...@@ -2972,6 +2983,11 @@ the @command{pkginfo} command. To add an optional package, use the
@command{pkgadd} command. For further details, see the Solaris @command{pkgadd} command. For further details, see the Solaris
documentation. documentation.
For Solaris 2.0 and 2.1, GCC needs six packages: @samp{SUNWarc},
@samp{SUNWbtool}, @samp{SUNWesu}, @samp{SUNWhea}, @samp{SUNWlibm}, and
@samp{SUNWtoo}.
=======
On some versions of Solaris, trying to use the linker and other tools in On some versions of Solaris, trying to use the linker and other tools in
@file{/usr/ucb} to install GCC has been observed to cause trouble. @file{/usr/ucb} to install GCC has been observed to cause trouble.
For example, the linker may hang indefinitely. The fix is to remove For example, the linker may hang indefinitely. The fix is to remove
......
...@@ -435,7 +435,7 @@ in the following sections. ...@@ -435,7 +435,7 @@ in the following sections.
-mstrict-align -mno-strict-align -mrelocatable @gol -mstrict-align -mno-strict-align -mrelocatable @gol
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol -mno-relocatable -mrelocatable-lib -mno-relocatable-lib @gol
-mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol -mtoc -mno-toc -mlittle -mlittle-endian -mbig -mbig-endian @gol
-mcall-aix -mcall-sysv -mprototype -mno-prototype @gol -mcall-aix -mcall-sysv -mcall-netbsd -mprototype -mno-prototype @gol
-msim -mmvme -mads -myellowknife -memb -msdata @gol -msim -mmvme -mads -myellowknife -memb -msdata @gol
-msdata=@var{opt} -mvxworks -G @var{num}} -msdata=@var{opt} -mvxworks -G @var{num}}
...@@ -6853,6 +6853,11 @@ operating system. ...@@ -6853,6 +6853,11 @@ operating system.
On System V.4 and embedded PowerPC systems compile code for the On System V.4 and embedded PowerPC systems compile code for the
Linux-based GNU system. Linux-based GNU system.
@item -mcall-netbsd
@opindex mcall-netbsd
On System V.4 and embedded PowerPC systems compile code for the
NetBSD operating system.
@item -mprototype @item -mprototype
@itemx -mno-prototype @itemx -mno-prototype
@opindex mprototype @opindex mprototype
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment