This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[Fwd: Ping; Was: [rfa] NetBSD/PowerPC support]


Is this ok?
	Andrew


Hello,

Ref: http://gcc.gnu.org/ml/gcc-patches/2001-07/msg00645.html

the current patch (with approved doco changes) is attached.

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

Index: ./gcc/config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.73
diff -p -r1.73 config.gcc
*** config.gcc	2001/07/13 18:12:16	1.73
--- config.gcc	2001/07/16 23:57:06
*************** powerpc-*-sysv*)
*** 2589,2594 ****
--- 2589,2600 ----
  	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 rs6000/chorus.h"
Index: ./gcc/config/rs6000/netbsd.h
===================================================================
RCS file: netbsd.h
diff -N netbsd.h
*** /dev/null	Tue May  5 13:32:27 1998
--- netbsd.h	Mon Jul 16 16:57:07 2001
***************
*** 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: ./gcc/config/rs6000/sysv4.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.50
diff -p -r1.50 sysv4.h
*** sysv4.h	2001/07/15 10:22:51	1.50
--- sysv4.h	2001/07/16 23:57:07
*************** do {									\
*** 202,207 ****
--- 202,209 ----
      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"))			\
*************** do {									\
*** 1041,1047 ****
  %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
      %{mcall-solaris: -mlittle -msolaris} \
      %{mcall-i960-old: -mlittle} \
!     %{mcall-linux: -mbig} }}}}"
  
  #define	CC1_ENDIAN_BIG_SPEC ""
  
--- 1043,1050 ----
  %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
      %{mcall-solaris: -mlittle -msolaris} \
      %{mcall-i960-old: -mlittle} \
!     %{mcall-linux: -mbig} \
!     %{mcall-netbsd: -mbig} }}}}"
  
  #define	CC1_ENDIAN_BIG_SPEC ""
  
*************** do {									\
*** 1063,1071 ****
      %{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: \
  	    %(cc1_endian_default) \
!     }}}} \
  }}}} \
  %{mcall-solaris: -mregnames } \
  %{mno-sdata: -msdata=none } \
--- 1066,1075 ----
      %{mcall-solaris: -mlittle %(cc1_endian_little) } \
      %{mcall-i960-old: -mlittle %(cc1_endian_little) } \
      %{mcall-linux: -mbig %(cc1_endian_big) } \
!     %{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 } \
*************** do {									\
*** 1074,1080 ****
      %{mrelocatable: -meabi } \
      %{mcall-solaris: -mno-eabi } \
      %{mcall-i960-old: -meabi } \
!     %{mcall-linux: -mno-eabi }}} \
  %{msdata: -msdata=default} \
  %{mno-sdata: -msdata=none} \
  %{profile: -p}"
--- 1078,1085 ----
      %{mrelocatable: -meabi } \
      %{mcall-solaris: -mno-eabi } \
      %{mcall-i960-old: -meabi } \
!     %{mcall-linux: -mno-eabi } \
!     %{mcall-netbsd: -mno-eabi }}} \
  %{msdata: -msdata=default} \
  %{mno-sdata: -msdata=none} \
  %{profile: -p}"
*************** do {									\
*** 1103,1110 ****
  %{mmvme: %(link_start_mvme) } \
  %{msim: %(link_start_sim) } \
  %{mcall-linux: %(link_start_linux) } \
  %{mcall-solaris: %(link_start_solaris) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_start_default) }}}}}}"
  
  #define LINK_START_DEFAULT_SPEC ""
  
--- 1108,1116 ----
  %{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-netbsd: %{!mcall-solaris: %(link_start_default) }}}}}}}"
  
  #define LINK_START_DEFAULT_SPEC ""
  
*************** do {									\
*** 1158,1165 ****
  %{mmvme: %(link_os_mvme) } \
  %{msim: %(link_os_sim) } \
  %{mcall-linux: %(link_os_linux) } \
  %{mcall-solaris: %(link_os_solaris) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_os_default) }}}}}}"
  
  #define LINK_OS_DEFAULT_SPEC ""
  
--- 1164,1172 ----
  %{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-netbsd: %{!mcall-solaris: %(link_os_default) }}}}}}}"
  
  #define LINK_OS_DEFAULT_SPEC ""
  
*************** do {									\
*** 1206,1214 ****
  %{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
      %{mcall-solaris: %(cpp_endian_solaris) } \
      %{mcall-linux: %(cpp_endian_big) } \
      %{mcall-i960-old: %(cpp_endian_little) } \
      %{mcall-aixdesc:  %(cpp_endian_big) } \
!     %{!mcall-solaris: %{!mcall-linux: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}"
  
  #define	CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)"
  
--- 1213,1222 ----
  %{!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-netbsd: %{!mcall-aixdesc: %(cpp_endian_default) }}}}}}}}"
  
  #define	CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)"
  
*************** do {									\
*** 1220,1227 ****
  %{mmvme: %(cpp_os_mvme) } \
  %{msim: %(cpp_os_sim) } \
  %{mcall-linux: %(cpp_os_linux) } \
  %{mcall-solaris: %(cpp_os_solaris) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(cpp_os_default) }}}}}}"
  
  #define	CPP_OS_DEFAULT_SPEC ""
  
--- 1228,1236 ----
  %{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-netbsd: %{!mcall-solaris: %(cpp_os_default) }}}}}}}"
  
  #define	CPP_OS_DEFAULT_SPEC ""
  
*************** do {									\
*** 1233,1240 ****
  %{mmvme: %(startfile_mvme) } \
  %{msim: %(startfile_sim) } \
  %{mcall-linux: %(startfile_linux) } \
  %{mcall-solaris: %(startfile_solaris) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(startfile_default) }}}}}}"
  
  #define	STARTFILE_DEFAULT_SPEC ""
  
--- 1242,1250 ----
  %{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-netbsd: %{!mcall-solaris: %(startfile_default) }}}}}}}"
  
  #define	STARTFILE_DEFAULT_SPEC ""
  
*************** do {									\
*** 1246,1253 ****
  %{mmvme: %(lib_mvme) } \
  %{msim: %(lib_sim) } \
  %{mcall-linux: %(lib_linux) } \
  %{mcall-solaris: %(lib_solaris) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(lib_default) }}}}}}"
  
  #define LIB_DEFAULT_SPEC ""
  
--- 1256,1264 ----
  %{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-netbsd: %{!mcall-solaris: %(lib_default) }}}}}}}"
  
  #define LIB_DEFAULT_SPEC ""
  
*************** do {									\
*** 1259,1267 ****
  %{mmvme: %(endfile_mvme)} \
  %{msim: %(endfile_sim)} \
  %{mcall-linux: %(endfile_linux) } \
  %{mcall-solaris: %(endfile_solaris)} \
  %{mvxworks: %(endfile_vxworks) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}"
  
  #define	ENDFILE_DEFAULT_SPEC ""
  
--- 1270,1279 ----
  %{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-netbsd: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}}"
  
  #define	ENDFILE_DEFAULT_SPEC ""
  
*************** do {									\
*** 1357,1362 ****
--- 1369,1397 ----
  -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
*************** do {									\
*** 1452,1457 ****
--- 1487,1493 ----
    { "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 },			\
*************** do {									\
*** 1460,1465 ****
--- 1496,1502 ----
    { "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 },		\
*************** do {									\
*** 1468,1473 ****
--- 1505,1511 ----
    { "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 },			\
*************** do {									\
*** 1480,1485 ****
--- 1518,1524 ----
    { "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 },		\
*************** do {									\
*** 1489,1494 ****
--- 1528,1534 ----
    { "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 },			\
*************** do {									\
*** 1505,1510 ****
--- 1545,1551 ----
    { "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: ./gcc/config/rs6000/t-ppccomm
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/t-ppccomm,v
retrieving revision 1.10
diff -p -r1.10 t-ppccomm
*** t-ppccomm	2001/05/17 03:16:11	1.10
--- t-ppccomm	2001/07/16 23:57:07
*************** MULTILIB_MATCHES_FLOAT	= msoft-float=mcp
*** 33,49 ****
  			  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
  
  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)
  
- # 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.
- 
  # Assemble startup files.
  ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
  	cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S
--- 33,52 ----
  			  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 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) \
!   ncrti$(objext) ncrtn$(objext)
! 
! # 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
  	cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S
*************** ecrti.S: $(srcdir)/config/rs6000/eabi-ci
*** 51,56 ****
--- 54,67 ----
  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
  
*************** $(T)ecrti$(objext): ecrti.S
*** 66,71 ****
--- 77,88 ----
  
  $(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: ./gcc/doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.46
diff -p -r1.46 install.texi
*** install.texi	2001/07/08 00:24:47	1.46
--- install.texi	2001/07/16 23:57:07
*************** GNU Compiler Collection on your machine.
*** 1354,1359 ****
--- 1354,1361 ----
  @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}
*************** You will need
*** 2856,2861 ****
--- 2858,2872 ----
  @uref{ftp://ftp.varesearch.com/pub/support/hjl/binutils,,binutils 2.9.4.0.8}
  or newer for a working GCC@.  It is strongly recommended to recompile binutils
  if you initially built it with gcc-2.7.2.x.
+ 
+ @html
+ </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>
Index: ./gcc/doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.39
diff -p -r1.39 invoke.texi
*** invoke.texi	2001/07/14 22:52:50	1.39
--- invoke.texi	2001/07/16 23:57:09
*************** in the following sections.
*** 435,441 ****
  -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
  -msim  -mmvme  -mads  -myellowknife  -memb -msdata @gol
  -msdata=@var{opt}  -mvxworks -G @var{num}}
  
--- 435,441 ----
  -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 -mcall-netbsd -mprototype  -mno-prototype @gol
  -msim  -mmvme  -mads  -myellowknife  -memb -msdata @gol
  -msdata=@var{opt}  -mvxworks -G @var{num}}
  
*************** operating system.
*** 6839,6844 ****
--- 6839,6849 ----
  @opindex mcall-linux
  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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]