OSDN Git Service

* config.gcc: Recognize powerpc-*-netbsd*.
authorcagney <cagney@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Aug 2001 19:25:18 +0000 (19:25 +0000)
committercagney <cagney@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Aug 2001 19:25:18 +0000 (19:25 +0000)
* 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

gcc/ChangeLog
gcc/config.gcc
gcc/config/rs6000/netbsd.h [new file with mode: 0644]
gcc/config/rs6000/sysv4.h
gcc/config/rs6000/t-ppccomm
gcc/doc/install.texi
gcc/doc/invoke.texi

index c78ff25..46b07fe 100644 (file)
@@ -1,3 +1,37 @@
+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>
 
        * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
index ae88835..7f69489 100644 (file)
@@ -2602,6 +2602,12 @@ powerpc-*-sysv*)
        extra_headers=ppc-asm.h
        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*)
        xm_defines=POSIX
        tm_file="${tm_file} svr4.h rs6000/sysv4.h chorus.h"
diff --git a/gcc/config/rs6000/netbsd.h b/gcc/config/rs6000/netbsd.h
new file mode 100644 (file)
index 0000000..9978db5
--- /dev/null
@@ -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)");
index c8930c7..9871d20 100644 (file)
@@ -275,6 +275,8 @@ do {                                                                        \
     rs6000_current_abi = ABI_AIX;                                      \
   else if (!strcmp (rs6000_abi_name, "linux"))                         \
     rs6000_current_abi = ABI_V4;                                       \
+  else if (!strcmp (rs6000_abi_name, "netbsd"))                                \
+    rs6000_current_abi = ABI_V4;                                       \
   else if (!strcmp (rs6000_abi_name, "solaris"))                       \
     rs6000_current_abi = ABI_SOLARIS;                                  \
   else if (!strcmp (rs6000_abi_name, "i960-old"))                      \
@@ -1113,7 +1115,8 @@ do {                                                                      \
 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
     %{mcall-solaris: -mlittle -msolaris} \
     %{mcall-i960-old: -mlittle} \
-    %{mcall-linux: -mbig} }}}}"
+    %{mcall-linux: -mbig} \
+    %{mcall-netbsd: -mbig} }}}}"
 
 #define        CC1_ENDIAN_BIG_SPEC ""
 
@@ -1135,9 +1138,10 @@ do {                                                                     \
     %{mcall-solaris: -mlittle %(cc1_endian_little) } \
     %{mcall-i960-old: -mlittle %(cc1_endian_little) } \
     %{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) \
-    }}}} \
+    }}}}} \
 }}}} \
 %{mcall-solaris: -mregnames } \
 %{mno-sdata: -msdata=none } \
@@ -1146,7 +1150,8 @@ do {                                                                      \
     %{mrelocatable: -meabi } \
     %{mcall-solaris: -mno-eabi } \
     %{mcall-i960-old: -meabi } \
-    %{mcall-linux: -mno-eabi }}} \
+    %{mcall-linux: -mno-eabi } \
+    %{mcall-netbsd: -mno-eabi }}} \
 %{msdata: -msdata=default} \
 %{mno-sdata: -msdata=none} \
 %{profile: -p}"
@@ -1175,8 +1180,9 @@ do {                                                                      \
 %{mmvme: %(link_start_mvme) } \
 %{msim: %(link_start_sim) } \
 %{mcall-linux: %(link_start_linux) } \
+%{mcall-netbsd: %(link_start_netbsd) } \
 %{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 ""
 
@@ -1230,8 +1236,9 @@ do {                                                                      \
 %{mmvme: %(link_os_mvme) } \
 %{msim: %(link_os_sim) } \
 %{mcall-linux: %(link_os_linux) } \
+%{mcall-netbsd: %(link_os_netbsd) } \
 %{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 ""
 
@@ -1278,9 +1285,10 @@ do {                                                                     \
 %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
     %{mcall-solaris: %(cpp_endian_solaris) } \
     %{mcall-linux: %(cpp_endian_big) } \
+    %{mcall-netbsd: %(cpp_endian_big) } \
     %{mcall-i960-old: %(cpp_endian_little) } \
     %{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)"
 
@@ -1292,8 +1300,9 @@ do {                                                                      \
 %{mmvme: %(cpp_os_mvme) } \
 %{msim: %(cpp_os_sim) } \
 %{mcall-linux: %(cpp_os_linux) } \
+%{mcall-netbsd: %(cpp_os_netbsd) } \
 %{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 ""
 
@@ -1305,8 +1314,9 @@ do {                                                                      \
 %{mmvme: %(startfile_mvme) } \
 %{msim: %(startfile_sim) } \
 %{mcall-linux: %(startfile_linux) } \
+%{mcall-netbsd: %(startfile_netbsd) } \
 %{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 ""
 
@@ -1318,8 +1328,9 @@ do {                                                                      \
 %{mmvme: %(lib_mvme) } \
 %{msim: %(lib_sim) } \
 %{mcall-linux: %(lib_linux) } \
+%{mcall-netbsd: %(lib_netbsd) } \
 %{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 ""
 
@@ -1331,9 +1342,10 @@ do {                                                                     \
 %{mmvme: %(endfile_mvme)} \
 %{msim: %(endfile_sim)} \
 %{mcall-linux: %(endfile_linux) } \
+%{mcall-netbsd: %(endfile_netbsd) } \
 %{mcall-solaris: %(endfile_solaris)} \
 %{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 ""
 
@@ -1429,6 +1441,29 @@ do {                                                                     \
 -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"
 #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.  */
 /* For Solaris, Gcc automatically adds in one of the files
    /usr/ccs/lib/values-Xc.o, /usr/ccs/lib/values-Xa.o, or
@@ -1524,6 +1559,7 @@ do {                                                                      \
   { "lib_mvme",                        LIB_MVME_SPEC },                        \
   { "lib_sim",                 LIB_SIM_SPEC },                         \
   { "lib_linux",               LIB_LINUX_SPEC },                       \
+  { "lib_netbsd",              LIB_NETBSD_SPEC },                      \
   { "lib_solaris",             LIB_SOLARIS_SPEC },                     \
   { "lib_vxworks",             LIB_VXWORKS_SPEC },                     \
   { "lib_default",             LIB_DEFAULT_SPEC },                     \
@@ -1532,6 +1568,7 @@ do {                                                                      \
   { "startfile_mvme",          STARTFILE_MVME_SPEC },                  \
   { "startfile_sim",           STARTFILE_SIM_SPEC },                   \
   { "startfile_linux",         STARTFILE_LINUX_SPEC },                 \
+  { "startfile_netbsd",                STARTFILE_NETBSD_SPEC },                \
   { "startfile_solaris",       STARTFILE_SOLARIS_SPEC },               \
   { "startfile_vxworks",       STARTFILE_VXWORKS_SPEC },               \
   { "startfile_default",       STARTFILE_DEFAULT_SPEC },               \
@@ -1540,6 +1577,7 @@ do {                                                                      \
   { "endfile_mvme",            ENDFILE_MVME_SPEC },                    \
   { "endfile_sim",             ENDFILE_SIM_SPEC },                     \
   { "endfile_linux",           ENDFILE_LINUX_SPEC },                   \
+  { "endfile_netbsd",          ENDFILE_NETBSD_SPEC },                  \
   { "endfile_solaris",         ENDFILE_SOLARIS_SPEC },                 \
   { "endfile_vxworks",         ENDFILE_VXWORKS_SPEC },                 \
   { "endfile_default",         ENDFILE_DEFAULT_SPEC },                 \
@@ -1552,6 +1590,7 @@ do {                                                                      \
   { "link_start_mvme",         LINK_START_MVME_SPEC },                 \
   { "link_start_sim",          LINK_START_SIM_SPEC },                  \
   { "link_start_linux",                LINK_START_LINUX_SPEC },                \
+  { "link_start_netbsd",       LINK_START_NETBSD_SPEC },               \
   { "link_start_solaris",      LINK_START_SOLARIS_SPEC },              \
   { "link_start_vxworks",      LINK_START_VXWORKS_SPEC },              \
   { "link_start_default",      LINK_START_DEFAULT_SPEC },              \
@@ -1561,6 +1600,7 @@ do {                                                                      \
   { "link_os_mvme",            LINK_OS_MVME_SPEC },                    \
   { "link_os_sim",             LINK_OS_SIM_SPEC },                     \
   { "link_os_linux",           LINK_OS_LINUX_SPEC },                   \
+  { "link_os_netbsd",          LINK_OS_NETBSD_SPEC },                  \
   { "link_os_solaris",         LINK_OS_SOLARIS_SPEC },                 \
   { "link_os_vxworks",         LINK_OS_VXWORKS_SPEC },                 \
   { "link_os_default",         LINK_OS_DEFAULT_SPEC },                 \
@@ -1577,6 +1617,7 @@ do {                                                                      \
   { "cpp_os_mvme",             CPP_OS_MVME_SPEC },                     \
   { "cpp_os_sim",              CPP_OS_SIM_SPEC },                      \
   { "cpp_os_linux",            CPP_OS_LINUX_SPEC },                    \
+  { "cpp_os_netbsd",           CPP_OS_NETBSD_SPEC },                   \
   { "cpp_os_solaris",          CPP_OS_SOLARIS_SPEC },                  \
   { "cpp_os_vxworks",          CPP_OS_VXWORKS_SPEC },                  \
   { "cpp_os_default",          CPP_OS_DEFAULT_SPEC },
index 73e0ff7..8b5e8cb 100644 (file)
@@ -33,16 +33,19 @@ MULTILIB_MATCHES_FLOAT      = msoft-float=mcpu?401 \
                          msoft-float=mcpu?823 \
                          msoft-float=mcpu?860
 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
 INSTALL_LIBGCC = install-multilib
 EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(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
-# end labels to all of the special sections used when we link using gcc.
+# We build {e,s}crti.o, {e,s}crtn.o, and {s,n}crt0.o which serve to
+# add begin and end labels to all of the special sections used when we
+# link using gcc.
 
 # Assemble startup files.
 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
        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
        cat $(srcdir)/config/rs6000/sol-ci.asm >scrti.S
 
@@ -67,6 +78,12 @@ $(T)ecrti$(objext): ecrti.S
 $(T)ecrtn$(objext): ecrtn.S
        $(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
        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrti.S -o $(T)scrti$(objext)
 
index 1e61127..892ae0f 100644 (file)
@@ -1359,6 +1359,8 @@ GNU Compiler Collection on your machine.
 @item
 @uref{#powerpc-*-linux-gnu*,,powerpc-*-linux-gnu*}
 @item
+@uref{#powerpc-*-netbsd*,,powerpc-*-netbsd*}
+@item
 @uref{#powerpc-*-eabiaix,,powerpc-*-eabiaix}
 @item
 @uref{#powerpc-*-eabisim,,powerpc-*-eabisim}
@@ -2869,6 +2871,15 @@ if you initially built it with gcc-2.7.2.x.
 </p>
 <hr>
 @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
 Embedded PowerPC system in big endian mode with @option{-mcall-aix} selected as
 the default.
@@ -2972,6 +2983,11 @@ the @command{pkginfo} command.  To add an optional package, use the
 @command{pkgadd} command.  For further details, see the Solaris
 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
 @file{/usr/ucb} to install GCC has been observed to cause trouble.
 For example, the linker may hang indefinitely.  The fix is to remove
index 4ac1834..d51e201 100644 (file)
@@ -435,7 +435,7 @@ in the following sections.
 -mstrict-align  -mno-strict-align  -mrelocatable @gol
 -mno-relocatable  -mrelocatable-lib  -mno-relocatable-lib @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
 -msdata=@var{opt}  -mvxworks -G @var{num}}
 
@@ -6853,6 +6853,11 @@ operating system.
 On System V.4 and embedded PowerPC systems compile code for the
 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
 @itemx -mno-prototype
 @opindex mprototype