Subject: libgcc
To: None <tech-toolchain@netbsd.org>
From: Nick Hudson <skrll@netbsd.org>
List: tech-toolchain
Date: 01/07/2004 16:03:47
--Boundary-00=_j3C//xIAJnW0g5F
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I've been looking at how the in tree libgcc is built and used to hopefully fix
a few bugs and improve support for sh3 and hppa. The attached diff does the
following:

	- creates libgcc, libgcc_eh and libgcc_s

	- updates LIBGCC_SPEC to use them appropriately.

	  There's a hack in here at the moment with respect to libgcc_so in that it
	  is preferable to link against libgcc_so will only when -shared-libgcc is
	  specified (the c++ frontend does this automatically.) Configurations where
	  LINK_EH_SPEC is defined already do this. The gcc configuration for
	  NetBSD/alpha and another NetBSD platform (I forget which) actually define
	  LINK_EH_SPEC probably by accident rather than design.

	- updates share/mk to use the compiler's knowledge of what needs linking into 
	  libraries and executables. This removes an hppa hack.

	- updates tools/gcc/mknative-gcc to collect the right variables and adds a
	  README/

	- updates some gcc config so it works with tools/gcc/mknative-gcc. powerpc
	  has a hack - how did config/rs6000 get into G_INCLUDES? sun2 just doesn't
	  work - I think it should have some if not all of
	  gnu/dist/gcc/gcc/config/m68k/t-m68kelf

	- updates the sets for the newly created libgcc* files. I've probably got
	  this wrong.

What it doesn't do is prefer NetBSD versions of source over gcc.

I've still got a list of ML messages and PRs I need to go through, but I'm at
a point I'd like people to comment and test.

Nick





--Boundary-00=_j3C//xIAJnW0g5F
Content-Type: text/x-diff;
  charset="us-ascii";
  name="libgcc.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="libgcc.diff"

Index: Makefile
===================================================================
RCS file: /cvsroot/src/Makefile,v
retrieving revision 1.222
diff -u -r1.222 Makefile
--- Makefile	5 Dec 2003 22:33:01 -0000	1.222
+++ Makefile	7 Jan 2004 15:29:33 -0000
@@ -1,5 +1,6 @@
 #	$NetBSD: Makefile,v 1.222 2003/12/05 22:33:01 lukem Exp $
 
+
 #
 # This is the top-level makefile for building NetBSD. For an outline of
 # how to build a snapshot or release, as well as other release engineering
@@ -184,10 +185,11 @@
 BUILDTARGETS+=	includes
 .endif
 BUILDTARGETS+=	do-tools-compat
+BUILDTARGETS+=	do-lib-csu
 .if ${MKGCC} != "no"
 BUILDTARGETS+=	do-gnu-lib-libgcc${LIBGCC_EXT}
 .endif
-BUILDTARGETS+=	do-lib-csu do-lib-libc do-lib-libdes do-lib do-gnu-lib \
+BUILDTARGETS+=	do-lib-libc do-lib-libdes do-lib do-gnu-lib \
 		do-ld.so do-build
 BUILDTARGETS+=	do-obsolete
 
Index: distrib/sets/lists/comp/gcc.mi
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/comp/gcc.mi,v
retrieving revision 1.4
diff -u -r1.4 gcc.mi
--- distrib/sets/lists/comp/gcc.mi	29 Dec 2003 03:13:26 -0000	1.4
+++ distrib/sets/lists/comp/gcc.mi	7 Jan 2004 15:29:34 -0000
@@ -318,4 +318,5 @@
 ./usr/include/stdbool.h				comp-c-include
 ./usr/lib/libfrtbegin.a				comp-c-lib
 ./usr/lib/libgcc_p.a				comp-c-proflib
+./usr/lib/libgcc_eh_p.a				comp-c-proflib
 ./usr/lib/libsupc++.a				comp-cxx-lib
Index: distrib/sets/lists/comp/gcc.shl
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/comp/gcc.shl,v
retrieving revision 1.3
diff -u -r1.3 gcc.shl
--- distrib/sets/lists/comp/gcc.shl	13 Dec 2003 22:03:48 -0000	1.3
+++ distrib/sets/lists/comp/gcc.shl	7 Jan 2004 15:29:34 -0000
@@ -5,7 +5,11 @@
 ./usr/lib/libg2c.so.2				comp-fortran-shlib
 ./usr/lib/libg2c.so.2.0				comp-fortran-shlib
 ./usr/lib/libg2c_pic.a				comp-fortran-lib
+./usr/lib/libgcc_eh_pic.a			comp-c-piclib
 ./usr/lib/libgcc_pic.a				comp-c-piclib
+./usr/lib/libgcc_s.so				comp-c-lib
+./usr/lib/libgcc_s.so.1				comp-c-shlib
+./usr/lib/libgcc_s.so.1.0			comp-c-shlib
 ./usr/lib/libobjc.so				comp-objc-lib
 ./usr/lib/libobjc_pic.a				comp-objc-piclib
 ./usr/lib/libopcodes.so.1			comp-c-shlib
Index: distrib/sets/lists/comp/mi
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/comp/mi,v
retrieving revision 1.649
diff -u -r1.649 mi
--- distrib/sets/lists/comp/mi	29 Dec 2003 03:13:27 -0000	1.649
+++ distrib/sets/lists/comp/mi	7 Jan 2004 15:29:49 -0000
@@ -1606,6 +1606,7 @@
 ./usr/lib/libg2c.a		comp-fortran-lib
 ./usr/lib/libg2c_p.a		comp-fortran-proflib
 ./usr/lib/libgcc.a		comp-c-lib
+./usr/lib/libgcc_eh.a		comp-c-lib
 ./usr/lib/libgnumalloc.a	comp-c-lib
 ./usr/lib/libgnumalloc_p.a	comp-c-proflib
 ./usr/lib/libgssapi.a		comp-krb5-lib	kerberos
Index: distrib/sets/lists/comp/tc.shl
===================================================================
RCS file: /cvsroot/src/distrib/sets/lists/comp/tc.shl,v
retrieving revision 1.4
diff -u -r1.4 tc.shl
--- distrib/sets/lists/comp/tc.shl	4 Dec 2003 12:20:43 -0000	1.4
+++ distrib/sets/lists/comp/tc.shl	7 Jan 2004 15:29:49 -0000
@@ -5,6 +5,7 @@
 ./usr/lib/libg2c.so.1				comp-fortran-shlib
 ./usr/lib/libg2c.so.1.0				comp-fortran-shlib
 ./usr/lib/libg2c_pic.a				comp-fortran-lib
+./usr/lib/libgcc_eh_pic.a			comp-c-piclib
 ./usr/lib/libgcc_pic.a				comp-c-piclib
 ./usr/lib/libobjc.so				comp-objc-lib
 ./usr/lib/libobjc_pic.a				comp-objc-piclib
Index: gnu/dist/gcc/gcc/config.gcc
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/config.gcc,v
retrieving revision 1.6
diff -u -r1.6 config.gcc
--- gnu/dist/gcc/gcc/config.gcc	8 Nov 2003 06:57:26 -0000	1.6
+++ gnu/dist/gcc/gcc/config.gcc	7 Jan 2004 15:29:53 -0000
@@ -827,7 +827,7 @@
 	target_cpu_default="MASK_PA_11 | MASK_NO_SPACE_REGS"
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h netbsd.h netbsd-elf.h \
 		 pa/pa-netbsd.h pa/pa32-regs.h pa/pa32-netbsd.h"
-	tmake_file="t-netbsd pa/t-netbsd"
+	tmake_file="${tmake_file} pa/t-netbsd"
 	;;
 hppa*-*-openbsd*)
 	target_cpu_default="MASK_PA_11"
Index: gnu/dist/gcc/gcc/gcc.c
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/gcc.c,v
retrieving revision 1.4
diff -u -r1.4 gcc.c
--- gnu/dist/gcc/gcc/gcc.c	26 Oct 2003 09:45:44 -0000	1.4
+++ gnu/dist/gcc/gcc/gcc.c	7 Jan 2004 15:29:59 -0000
@@ -1452,14 +1452,28 @@
 {
   char *buf;
 
-  buf = concat ("%{static|static-libgcc:", static_name, " ", eh_name,
+  buf = concat ("%{static",
+#ifdef LIBGCC_PICSUFFIX
+		": ", static_name, " ", eh_name, "}",
+		"%{static-libgcc: ",
+		"%{!shared:", static_name, " ", eh_name, "}",
+		"%{shared:", static_name, LIBGCC_PICSUFFIX, " ",
+		eh_name, LIBGCC_PICSUFFIX, "}",
+#else
+		"|static-libgcc:", static_name, " ", eh_name, 
+#endif
 		"}%{!static:%{!static-libgcc:",
 		"%{!shared:%{!shared-libgcc:", static_name, " ",
 		eh_name, "}%{shared-libgcc:", shared_name, " ",
 		static_name, "}}%{shared:",
-#ifdef LINK_EH_SPEC
+/* XXX NH XXX */
+#if defined(LINK_EH_SPEC) || 1
 		"%{shared-libgcc:", shared_name,
-		"}%{!shared-libgcc:", static_name, "}",
+		"}%{!shared-libgcc:", static_name, 
+#ifdef LIBGCC_PICSUFFIX
+		LIBGCC_PICSUFFIX ,
+#endif
+		"}",
 #else
 		shared_name,
 #endif
Index: gnu/dist/gcc/gcc/config/netbsd.h
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/config/netbsd.h,v
retrieving revision 1.5
diff -u -r1.5 netbsd.h
--- gnu/dist/gcc/gcc/config/netbsd.h	13 Oct 2003 13:19:41 -0000	1.5
+++ gnu/dist/gcc/gcc/config/netbsd.h	7 Jan 2004 15:30:00 -0000
@@ -140,18 +140,10 @@
 
 /* Provide a LIBGCC_SPEC appropriate for NetBSD.  We also want to exclude
    libgcc with -symbolic.  */
+#define NETBSD_LIBGCC_SPEC			\
+  "%{!symbolic: -lgcc}"
 
-#ifdef NETBSD_NATIVE
-#define NETBSD_LIBGCC_SPEC	\
-  "%{!symbolic:			\
-     %{!shared:			\
-       %{!p:			\
-	 %{!pg: -lgcc}}}	\
-     %{p: -lgcc_p}		\
-     %{pg: -lgcc_p}}"
-#else
-#define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
-#endif
+#define	LIBGCC_PICSUFFIX	"_pic"
 
 #undef LIBGCC_SPEC
 #define LIBGCC_SPEC NETBSD_LIBGCC_SPEC
Index: gnu/dist/gcc/gcc/config/pa/t-netbsd
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/config/pa/t-netbsd,v
retrieving revision 1.1
diff -u -r1.1 t-netbsd
--- gnu/dist/gcc/gcc/config/pa/t-netbsd	6 Oct 2003 05:10:14 -0000	1.1
+++ gnu/dist/gcc/gcc/config/pa/t-netbsd	7 Jan 2004 15:30:01 -0000
@@ -8,8 +8,4 @@
 # Compile libgcc2.a as PIC.
 TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1
 
-LIB2FUNCS_EXTRA=fptr.c
-
-fptr.c: $(srcdir)/config/pa/fptr.c
-	rm -f fptr.c
-	cp $(srcdir)/config/pa/fptr.c .
+LIB2FUNCS_EXTRA=$(srcdir)/config/pa/fptr.c
Index: gnu/dist/gcc/gcc/config/rs6000/t-netbsd
===================================================================
RCS file: /cvsroot/src/gnu/dist/gcc/gcc/config/rs6000/t-netbsd,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 t-netbsd
--- gnu/dist/gcc/gcc/config/rs6000/t-netbsd	23 Jul 2003 02:41:56 -0000	1.1.1.1
+++ gnu/dist/gcc/gcc/config/rs6000/t-netbsd	7 Jan 2004 15:30:01 -0000
@@ -1,9 +1,6 @@
 # Support for NetBSD PowerPC ELF targets (SVR4 ABI).
 
-LIB2FUNCS_EXTRA = tramp.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
-	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/tramp.asm
 
 crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
 	cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S
Index: gnu/lib/libgcc3/Makefile
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/Makefile,v
retrieving revision 1.19
diff -u -r1.19 Makefile
--- gnu/lib/libgcc3/Makefile	2 Jan 2004 11:58:32 -0000	1.19
+++ gnu/lib/libgcc3/Makefile	7 Jan 2004 15:30:20 -0000
@@ -1,102 +1,5 @@
 #	$NetBSD: Makefile,v 1.19 2004/01/02 11:58:32 skrll Exp $
 
-REQUIRETOOLS=	yes
-NOLINT=		# defined
+SUBDIR+=	libgcc libgcc_eh libgcc_s
 
-.include <bsd.own.mk>
-
-LIB=		gcc
-
-.cc: # disable .cc->NULL transform
-
-.if exists(${.CURDIR}/arch/${MACHINE_ARCH}.mk) && ${MKGCC} != "no"
-.include "${.CURDIR}/arch/${MACHINE_ARCH}.mk"
-
-DIST=		${NETBSDSRCDIR}/gnu/dist/gcc
-GNUHOSTDIST=	${DIST}
-GCCARCH=	${NETBSDSRCDIR}/gnu/usr.bin/gcc3/arch/${MACHINE_ARCH}
-GCCARCHXX=	${NETBSDSRCDIR}/gnu/lib/libstdc++-v3/arch/${MACHINE_ARCH}
-
-GCPPFLAGS=	${G_LIBGCC2_CFLAGS} ${G_MAYBE_USE_COLLECT2} ${G_INCLUDES}
-CPPFLAGS+=	-I${.CURDIR}
-CPPFLAGS+=	-I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
-CPPFLAGS+=	-I${DIST}/gcc/cp -I${GCCARCHXX} -I.
-
-LIB2FUNCS=	${G_LIB2FUNCS_1:=.c} ${G_LIB2FUNCS_2:=.c} ${G_LIB2FUNCS_ST:=.c}
-LIB2DIVMOD=	${G_LIB2_DIVMOD_FUNCS:=.c}
-LIB2_EH=	${G_LIB2ADDEH:M*.c:T}
-LIB1ASMFUNCS=	${G_LIB1ASMFUNCS:=.S}
-
-SRCS+=		${LIB2FUNCS} ${LIB2DIVMOD} ${LIB2_EH} \
-		${G_LIB2ADD:T:S/.asm/.S/} ${LIB1ASMFUNCS} \
-		${G_LIB2FUNCS_EXTRA}
-
-DPSRCS+=	${.CURDIR}/arch/${MACHINE_ARCH}.mk tconfig.h
-CLEANFILES+=	${LIB2FUNCS} ${LIB2DIVMOD} cs-tconfig.h tconfig.h
-
-# XXX
-.if ${MACHINE_ARCH} == "m68000"
-CPICFLAGS:=
-COMPILE.S=	${CC} ${AFLAGS} ${CPPFLAGS} -c
-_TRADITIONAL_CPP=
-fpgnulib.c: ${DIST}/gcc/config/m68k/fpgnulib.c
-	cp ${DIST}/gcc/config/m68k/fpgnulib.c fpgnulib.c
-xfgnulib.c: ${DIST}/gcc/config/m68k/fpgnulib.c
-	echo '#define EXTFLOAT' > xfgnulib.c
-	cat ${DIST}/gcc/config/m68k/fpgnulib.c >> xfgnulib.c
-.endif
-.if ${MACHINE_ARCH} == "powerpc"
-_TRADITIONAL_CPP=
-COMPILE.S=	${CC} ${AFLAGS} ${CPPFLAGS} -c
-.endif
-
-${LIB2FUNCS}: ${.CURDIR}/Makefile
-	${_MKTARGET_CREATE}
-	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}
-
-${LIB2DIVMOD}: ${.CURDIR}/Makefile
-	${_MKTARGET_CREATE}
-	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}
-
-.if !empty(LIB1ASMFUNCS)
-${LIB1ASMFUNCS}: ${.CURDIR}/Makefile
-	${_MKTARGET_CREATE}
-	printf '#define L${.PREFIX}\n#include <${G_LIB1ASMSRC}>\n' >${.TARGET}
-.endif
-
-${G_LIB2ADD:T:S/.asm/.S/}: ${.CURDIR}/Makefile ${G_LIB2ADD}
-	@echo copying ${G_LIB2ADD}
-	for i in ${G_LIB2ADD}; do \
-		j=$${i##*/}; \
-		j=`echo $$j | sed 's/\.asm$$/\.S/'`; \
-		cp $$i $$j; \
-	done
-	@echo copying ${G_LIB2ADD} complete
-
-${LIB2_EH:.c=.o}:
-	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${CPICFLAGS} -fexceptions -o ${.TARGET} ${.IMPSRC}
-
-${G_LIB2_DIVMOD_FUNCS:=.o}:
-	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${CPICFLAGS} -fexceptions -fnon-call-exceptions -o ${.TARGET} ${.IMPSRC}
-
-dp-bit.c: ${.CURDIR}/Makefile
-	${_MKTARGET_CREATE}
-	printf '#define FLOAT\n#include <fp-bit.c>\n' >${.TARGET}
-
-.PATH: ${DIST}/gcc ${DIST}/gcc/cp ${DIST}/gcc/cp/inc ${DIST}/gcc/config \
-	${G_CONFIGDIR}
-
-.include <bsd.lib.mk>
-
-tconfig.h:
-	${_MKTARGET_CREATE}
-	TM_DEFINES="$(G_tm_defines)" \
-	HEADERS="$(G_xm_file)" XM_DEFINES="$(G_xm_defines)" \
-	TARGET_CPU_DEFAULT="" \
-	${HOST_SH} $(GNUHOSTDIST)/gcc/mkconfig.sh tconfig.h
-
-.else
-.include <bsd.prog.mk> # do nothing
-.endif
+.include <bsd.subdir.mk>
Index: gnu/lib/libgcc3/Makefile.inc
===================================================================
RCS file: gnu/lib/libgcc3/Makefile.inc
diff -N gnu/lib/libgcc3/Makefile.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/lib/libgcc3/Makefile.inc	7 Jan 2004 15:30:21 -0000
@@ -0,0 +1,88 @@
+#	$NetBSD$
+
+DIST=		${NETBSDSRCDIR}/gnu/dist/gcc
+GNUHOSTDIST=	${DIST}
+GCCARCH=	${NETBSDSRCDIR}/gnu/usr.bin/gcc3/arch/${MACHINE_ARCH}
+GCCARCHXX=	${NETBSDSRCDIR}/gnu/lib/libstdc++-v3/arch/${MACHINE_ARCH}
+
+GCPPFLAGS=	${G_LIBGCC2_CFLAGS} ${G_MAYBE_USE_COLLECT2} ${G_INCLUDES}
+CPPFLAGS+=	-I${.CURDIR}
+CPPFLAGS+=	-I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
+CPPFLAGS+=	-I${DIST}/gcc/cp -I${GCCARCHXX} -I.
+
+LIB2FUNCS=	${G_LIB2FUNCS_1:=.c} ${G_LIB2FUNCS_2:=.c} ${G_LIB2FUNCS_ST:=.c}
+LIB2DIVMOD=	${G_LIB2_DIVMOD_FUNCS:=.c}
+LIB2_EH=	${G_LIB2ADDEH:M*.c:T}
+.if !empty(G_LIB1ASMFUNCS)
+LIB1ASMFUNCS=	${G_LIB1ASMFUNCS:=.S}
+.endif
+
+DPSRCS+=	${.CURDIR}/../arch/${MACHINE_ARCH}.mk tconfig.h
+CLEANFILES+=	${LIB2FUNCS} ${LIB2DIVMOD} cs-tconfig.h tconfig.h
+
+# XXX
+.if ${MACHINE_ARCH} == "m68000"
+CPICFLAGS:=
+COMPILE.S=	${CC} ${AFLAGS} ${CPPFLAGS} -c
+_TRADITIONAL_CPP=
+fpgnulib.c:	${DIST}/gcc/config/m68k/fpgnulib.c
+	cp ${DIST}/gcc/config/m68k/fpgnulib.c fpgnulib.c
+xfgnulib.c:	${DIST}/gcc/config/m68k/fpgnulib.c
+	echo '#define EXTFLOAT' > xfgnulib.c
+	cat ${DIST}/gcc/config/m68k/fpgnulib.c >> xfgnulib.c
+CLEANFILES+=	fpgnulib.c xfgnulib.c
+.endif
+.if ${MACHINE_ARCH} == "powerpc"
+CPPFLAGS+=	-I${DIST}/gcc/config/rs6000
+.endif
+.if ${MACHINE_ARCH} == "powerpc" || \
+    ${MACHINE_ARCH} == "sh3el" || \
+    ${MACHINE_ARCH} == "sh3eb"
+_TRADITIONAL_CPP=
+COMPILE.S=	${CC} ${AFLAGS} ${CPPFLAGS} -c
+.endif
+
+${LIB2FUNCS}: ${.CURDIR}/Makefile
+	${_MKTARGET_CREATE}
+	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}
+
+${LIB2DIVMOD}: ${.CURDIR}/Makefile
+	${_MKTARGET_CREATE}
+	printf '#define L${.PREFIX}\n#include <libgcc2.c>\n' >${.TARGET}
+
+.if !empty(LIB1ASMFUNCS)
+${LIB1ASMFUNCS}: ${.CURDIR}/Makefile
+	${_MKTARGET_CREATE}
+	printf '#define L${.PREFIX}\n#include <${G_LIB1ASMSRC}>\n' >${.TARGET}
+.endif
+
+${G_LIB2ADD:T:S/.asm/.S/}: ${.CURDIR}/Makefile ${G_LIB2ADD}
+	@echo copying ${G_LIB2ADD}
+	for i in ${G_LIB2ADD}; do \
+		j=$${i##*/}; \
+		j=`echo $$j | sed 's/\.asm$$/\.S/'`; \
+		cp $$i $$j; \
+	done
+	@echo copying ${G_LIB2ADD} complete
+
+${LIB2_EH:.c=.o}:
+	${_MKTARGET_COMPILE}
+	${COMPILE.c} ${CPICFLAGS} -fexceptions -o ${.TARGET} ${.IMPSRC}
+
+${G_LIB2_DIVMOD_FUNCS:=.o}:
+	${_MKTARGET_COMPILE}
+	${COMPILE.c} ${CPICFLAGS} -fexceptions -fnon-call-exceptions -o ${.TARGET} ${.IMPSRC}
+
+dp-bit.c: ${.CURDIR}/Makefile
+	${_MKTARGET_CREATE}
+	printf '#define FLOAT\n#include <fp-bit.c>\n' >${.TARGET}
+
+.PATH: ${DIST}/gcc ${DIST}/gcc/cp ${DIST}/gcc/cp/inc ${DIST}/gcc/config \
+	${G_CONFIGDIR}
+
+tconfig.h:
+	${_MKTARGET_CREATE}
+	TM_DEFINES="$(G_tm_defines)" \
+	HEADERS="$(G_xm_file)" XM_DEFINES="$(G_xm_defines)" \
+	TARGET_CPU_DEFAULT="" \
+	${HOST_SH} $(GNUHOSTDIST)/gcc/mkconfig.sh tconfig.h
Index: gnu/lib/libgcc3/arch/alpha.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/alpha.mk,v
retrieving revision 1.1
diff -u -r1.1 alpha.mk
--- gnu/lib/libgcc3/arch/alpha.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/alpha.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.5 2003/07/30 05:10:06 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -mieee -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/arm.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/arm.mk,v
retrieving revision 1.1
diff -u -r1.1 arm.mk
--- gnu/lib/libgcc3/arch/arm.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/arm.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fomit-frame-pointer -fpic -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/armeb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/armeb.mk,v
retrieving revision 1.1
diff -u -r1.1 armeb.mk
--- gnu/lib/libgcc3/arch/armeb.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/armeb.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.7 2003/08/22 00:24:46 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fomit-frame-pointer -fpic -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/hppa.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/hppa.mk,v
retrieving revision 1.1
diff -u -r1.1 hppa.mk
--- gnu/lib/libgcc3/arch/hppa.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/hppa.mk	7 Jan 2004 15:30:21 -0000
@@ -1,16 +1,16 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.7 2003/08/22 00:24:46 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
 G_CXX_LIB2SRCS=
 G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/.  -I${GNUHOSTDIST}/gcc/config -I${GNUHOSTDIST}/gcc/../include
-G_LIB1ASMFUNCS=_divI _divU _remI _remU _div_const _mulI _dyncall
-G_LIB1ASMSRC=pa/milli64.S
 G_LIB2ADD=${GNUHOSTDIST}/gcc/config/pa/fptr.c
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=_divI _divU _remI _remU _div_const _mulI _dyncall
+G_LIB1ASMSRC=pa/milli64.S
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fPIC -DELF=1 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/i386.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/i386.mk,v
retrieving revision 1.1
diff -u -r1.1 i386.mk
--- gnu/lib/libgcc3/arch/i386.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/i386.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/m68000.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/m68000.mk,v
retrieving revision 1.1
diff -u -r1.1 m68000.mk
--- gnu/lib/libgcc3/arch/m68000.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/m68000.mk	7 Jan 2004 15:30:21 -0000
@@ -1,20 +1,19 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.7 2003/08/22 00:24:46 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
 G_CXX_LIB2SRCS=
 G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/.  -I${GNUHOSTDIST}/gcc/config -I${GNUHOSTDIST}/gcc/../include
-G_LIB1ASMSRC=m68k/lb1sf68.asm
-G_LIB1ASMFUNCS=_mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _double _float _floatex _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 G_LIB2ADD=
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
-G_LIB2FUNCS_EXTRA=fpgnulib.c xfgnulib.c
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
-G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
+G_LIBGCC2_CFLAGS=-O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc
 G_MAYBE_USE_COLLECT2=
 G_tm_defines=NETBSD_ENABLE_PTHREADS
 G_xm_file=ansidecl.h  m68k/m68k.h dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/m68k.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/m68k.mk,v
retrieving revision 1.1
diff -u -r1.1 m68k.mk
--- gnu/lib/libgcc3/arch/m68k.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/m68k.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/mipseb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/mipseb.mk,v
retrieving revision 1.1
diff -u -r1.1 mipseb.mk
--- gnu/lib/libgcc3/arch/mipseb.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/mipseb.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/mipsel.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/mipsel.mk,v
retrieving revision 1.1
diff -u -r1.1 mipsel.mk
--- gnu/lib/libgcc3/arch/mipsel.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/mipsel.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/powerpc.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/powerpc.mk,v
retrieving revision 1.1
diff -u -r1.1 powerpc.mk
--- gnu/lib/libgcc3/arch/powerpc.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/powerpc.mk	7 Jan 2004 15:30:21 -0000
@@ -1,15 +1,16 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.5 2003/07/30 05:10:06 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
-G_CONFIGDIR=
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
 G_CXX_LIB2SRCS=
-G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/.  -I${GNUHOSTDIST}/gcc/config -I${GNUHOSTDIST}/gcc/config/rs6000 -I${GNUHOSTDIST}/gcc/../include
+G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/.  -I${GNUHOSTDIST}/gcc/config -I${GNUHOSTDIST}/gcc/../include
 G_LIB2ADD=${GNUHOSTDIST}/gcc/config/rs6000/tramp.asm
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/sh3eb.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh3eb.mk,v
retrieving revision 1.1
diff -u -r1.1 sh3eb.mk
--- gnu/lib/libgcc3/arch/sh3eb.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/sh3eb.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.1 2003/07/25 16:26:53 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -10,10 +10,11 @@
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
 G_LIB1ASMFUNCS=_ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr  _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr  _ic_invalidate
+G_LIB1ASMSRC=sh/lib1funcs.asm
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
-G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fpic -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
+G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
 G_MAYBE_USE_COLLECT2=
-G_tm_defines=
+G_tm_defines=NETBSD_ENABLE_PTHREADS
 G_xm_file=ansidecl.h  sh/sh.h dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h defaults.h
 G_xm_defines=POSIX
Index: gnu/lib/libgcc3/arch/sh3el.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh3el.mk,v
retrieving revision 1.1
diff -u -r1.1 sh3el.mk
--- gnu/lib/libgcc3/arch/sh3el.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/sh3el.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=_ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr  _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr  _ic_invalidate
+G_LIB1ASMSRC=sh/lib1funcs.asm
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/sh5el.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sh5el.mk,v
retrieving revision 1.1
diff -u -r1.1 sh5el.mk
--- gnu/lib/libgcc3/arch/sh5el.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/sh5el.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.10 2003/11/27 10:21:24 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,10 +9,11 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
-G_LIB2FUNCS_EXTRA=
+G_LIB1ASMFUNCS=_sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr  _shcompact_call_trampoline _shcompact_return_trampoline  _shcompact_incoming_args _ic_invalidate _nested_trampoline  _push_pop_shmedia_regs  _udivdi3 _divdi3 _umoddi3 _moddi3
+G_LIB1ASMSRC=sh/lib1funcs.asm
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
-G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
+G_LIBGCC2_CFLAGS=-O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fpic -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc
 G_MAYBE_USE_COLLECT2=
 G_tm_defines=NETBSD_ENABLE_PTHREADS
 G_xm_file=ansidecl.h  sh/little.h sh/sh.h dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h defaults.h
Index: gnu/lib/libgcc3/arch/sparc.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sparc.mk,v
retrieving revision 1.1
diff -u -r1.1 sparc.mk
--- gnu/lib/libgcc3/arch/sparc.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/sparc.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.5 2003/07/30 05:10:06 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/sparc64.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/sparc64.mk,v
retrieving revision 1.1
diff -u -r1.1 sparc64.mk
--- gnu/lib/libgcc3/arch/sparc64.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/sparc64.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.3 2003/07/28 02:35:43 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/arch/x86_64.mk
===================================================================
RCS file: /cvsroot/src/gnu/lib/libgcc3/arch/x86_64.mk,v
retrieving revision 1.1
diff -u -r1.1 x86_64.mk
--- gnu/lib/libgcc3/arch/x86_64.mk	2 Jan 2004 11:58:32 -0000	1.1
+++ gnu/lib/libgcc3/arch/x86_64.mk	7 Jan 2004 15:30:21 -0000
@@ -1,5 +1,5 @@
 # This file is automatically generated.  DO NOT EDIT!
-# Generated from: 	NetBSD: mknative-gcc,v 1.7 2003/08/22 00:24:46 mrg Exp 
+# Generated from: 	NetBSD: mknative-gcc,v 1.11 2004/01/02 11:58:32 skrll Exp 
 #
 G_CXX_EXTRA_HEADERS=
 G_CXX_LIB2FUNCS=
@@ -9,6 +9,8 @@
 G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde.c  ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c
 G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz  _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi  _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi
 G_LIB2FUNCS_2=_floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline __main _exit _absvsi2 _absvdi2 _addvsi3  _addvdi3 _subvsi3 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
+G_LIB1ASMFUNCS=
+G_LIB1ASMSRC=
 G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
 G_LIB2FUNCS_ST=_eprintf _bb __gcc_bcmp
 G_LIBGCC2_CFLAGS=-O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include   -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
Index: gnu/lib/libgcc3/libgcc/Makefile
===================================================================
RCS file: gnu/lib/libgcc3/libgcc/Makefile
diff -N gnu/lib/libgcc3/libgcc/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/lib/libgcc3/libgcc/Makefile	7 Jan 2004 15:30:21 -0000
@@ -0,0 +1,33 @@
+#	$NetBSD$
+
+REQUIRETOOLS=	yes
+NOLINT=		# defined
+
+LIB=		gcc
+
+.include <bsd.own.mk>
+
+.cc: # disable .cc->NULL transform
+
+.if exists(${.CURDIR}/../arch/${MACHINE_ARCH}.mk) && ${MKGCC} != "no"
+.include "${.CURDIR}/../arch/${MACHINE_ARCH}.mk"
+
+SRCS+=         ${LIB2FUNCS} ${LIB2DIVMOD} \
+               ${G_LIB2ADD:T:S/.asm/.S/} ${LIB1ASMFUNCS}
+
+.include <bsd.lib.mk>
+
+.c.so:
+	${_MKTARGET_COMPILE}
+	${COMPILE.c} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET}.tmp
+	${NM} -pg ${.TARGET}.tmp | ${AWK} 'NF == 3 { print "\t.hidden", $$3 }' | ${CC} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET} ${.TARGET}.tmp -xassembler -
+	rm -f ${.TARGET}.tmp
+
+.S.so .s.so:
+	${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.tmp
+	${NM} -pg ${.TARGET}.tmp | ${AWK} 'NF == 3 { print "\t.hidden", $$3 }' | ${CC} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET} ${.TARGET}.tmp -xassembler -
+	rm -f ${.TARGET}.tmp
+
+.else
+.include <bsd.prog.mk> # do nothing
+.endif
Index: gnu/lib/libgcc3/libgcc_eh/Makefile
===================================================================
RCS file: gnu/lib/libgcc3/libgcc_eh/Makefile
diff -N gnu/lib/libgcc3/libgcc_eh/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/lib/libgcc3/libgcc_eh/Makefile	7 Jan 2004 15:30:21 -0000
@@ -0,0 +1,21 @@
+#	$NetBSD$
+
+REQUIRETOOLS=	yes
+NOLINT=		# defined
+
+LIB=		gcc_eh
+
+.include <bsd.own.mk>
+
+.cc: # disable .cc->NULL transform
+
+.if exists(${.CURDIR}/../arch/${MACHINE_ARCH}.mk) && ${MKGCC} != "no"
+.include "${.CURDIR}/../arch/${MACHINE_ARCH}.mk"
+
+SRCS+=         ${LIB2_EH}
+
+.include <bsd.lib.mk>
+
+.else
+.include <bsd.prog.mk> # do nothing
+.endif
Index: gnu/lib/libgcc3/libgcc_s/Makefile
===================================================================
RCS file: gnu/lib/libgcc3/libgcc_s/Makefile
diff -N gnu/lib/libgcc3/libgcc_s/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/lib/libgcc3/libgcc_s/Makefile	7 Jan 2004 15:30:21 -0000
@@ -0,0 +1,32 @@
+#	$NetBSD$
+
+REQUIRETOOLS=	yes
+NOLINT=		# defined
+
+LIB=		gcc_s
+NOSTATICLIB=	# defined
+NOPROFILE=	# defined
+NOPICINSTALL=	# defined
+
+
+.include <bsd.own.mk>
+
+.cc: # disable .cc->NULL transform
+
+.if exists(${.CURDIR}/../arch/${MACHINE_ARCH}.mk) && ${MKGCC} != "no"
+.include "${.CURDIR}/../arch/${MACHINE_ARCH}.mk"
+
+SHLIB_MAJOR=    1
+SHLIB_MINOR=    0
+
+LDFLAGS+=	-nostdlib
+#LDFLAGS+=	-Wl,--version-script=${DIST}/libgcc/libgcc.map
+
+SRCS+=		${LIB2FUNCS} ${LIB2DIVMOD} ${LIB2_EH} \
+		${G_LIB2ADD:T:S/.asm/.S/} ${LIB1ASMFUNCS}
+
+.include <bsd.lib.mk>
+
+.else
+.include <bsd.prog.mk> # do nothing
+.endif
Index: gnu/usr.bin/gcc3/frontend/Makefile
===================================================================
RCS file: /cvsroot/src/gnu/usr.bin/gcc3/frontend/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- gnu/usr.bin/gcc3/frontend/Makefile	1 Aug 2003 17:03:46 -0000	1.4
+++ gnu/usr.bin/gcc3/frontend/Makefile	7 Jan 2004 15:30:21 -0000
@@ -13,7 +13,9 @@
 		${G_ALL_CFLAGS:M-D*} ${G_INCLUDES:M-I*:N-I.*} \
 		-DPREFIX=\"/usr\" \
 		-DDEFAULT_TARGET_VERSION=\"${G_version}\" \
-		-DDEFAULT_TARGET_MACHINE=\"${MACHINE_GNU_PLATFORM}\"
+		-DDEFAULT_TARGET_MACHINE=\"${MACHINE_GNU_PLATFORM}\" \
+		-DENABLE_SHARED_LIBGCC \
+		-DNO_SHARED_LIBGCC_MULTILIB
 HOST_CPPFLAGS+=	-I${GCCARCH} ${G_ALL_CFLAGS:M-D*} ${G_INCLUDES:M-I*:N-I.*}
 
 DPSRCS+=	multilib.h specs.h
Index: share/mk/bsd.lib.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.lib.mk,v
retrieving revision 1.244
diff -u -r1.244 bsd.lib.mk
--- share/mk/bsd.lib.mk	7 Jan 2004 15:27:08 -0000	1.244
+++ share/mk/bsd.lib.mk	7 Jan 2004 15:30:25 -0000
@@ -133,9 +133,6 @@
 CPPPICFLAGS?= -DPIC
 CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
 APICFLAGS?= -k
-# XXX libraries often need the millicode functions in libgcc.a,
-# so we have to work around the -nostdlib:
-LDADD+= -L${_GCC_LIBGCCDIR} -lgcc_pic
 
 .elif ${MACHINE_ARCH} == "ns32k"
 
Index: share/mk/bsd.own.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.own.mk,v
retrieving revision 1.408
diff -u -r1.408 bsd.own.mk
--- share/mk/bsd.own.mk	7 Jan 2004 12:06:34 -0000	1.408
+++ share/mk/bsd.own.mk	7 Jan 2004 15:30:26 -0000
@@ -31,9 +31,9 @@
 #
 # not working:
 #
-.if ${MACHINE_ARCH} == "sh3el" || \
-    ${MACHINE_ARCH} == "sh3eb" || \
-    ${MACHINE_ARCH} == "vax"
+#.if ${MACHINE_ARCH} == "sh3el"
+#    ${MACHINE_ARCH} == "sh3eb"
+.if ${MACHINE_ARCH} == "vax"
 HAVE_GCC3?=	no
 .else
 HAVE_GCC3?=	yes
Index: share/mk/bsd.prog.mk
===================================================================
RCS file: /cvsroot/src/share/mk/bsd.prog.mk,v
retrieving revision 1.194
diff -u -r1.194 bsd.prog.mk
--- share/mk/bsd.prog.mk	16 Nov 2003 14:09:00 -0000	1.194
+++ share/mk/bsd.prog.mk	7 Jan 2004 15:30:26 -0000
@@ -152,6 +152,7 @@
 
 .if defined(PROG_CXX)
 _CCLINK=	${CXX}
+# XXX NH is this needed still?
 .if ${USE_LIBSTDCXX} == "no"
 _SUPCXX=	-lsupc++ -lm
 .else
@@ -178,7 +179,11 @@
 .if !commands(${PROG})
 	${_MKTARGET_LINK}
 .if defined(DESTDIR)
-	${_CCLINK} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib ${_PROGLDOPTS} ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -L${_GCC_LIBGCCDIR} -L${DESTDIR}/usr/lib ${_SUPCXX} -lgcc -lc -lgcc ${LIBCRTEND}
+	${_CCLINK} -Wl,-nostdlib \
+	    ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${_PROGLDOPTS} \
+	    -B${_GCC_CRTDIR}/ -B${DESTDIR}/usr/lib/  \
+	    ${OBJS} ${LDADD} \
+	    -L${_GCC_LIBGCCDIR} -L${DESTDIR}/usr/lib
 .else
 	${_CCLINK} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${_PROGLDOPTS} ${OBJS} ${LDADD}
 .endif	# defined(DESTDIR)
Index: tools/Makefile.gnuhost
===================================================================
RCS file: /cvsroot/src/tools/Makefile.gnuhost,v
retrieving revision 1.24
diff -u -r1.24 Makefile.gnuhost
--- tools/Makefile.gnuhost	26 Oct 2003 07:25:38 -0000	1.24
+++ tools/Makefile.gnuhost	7 Jan 2004 15:30:27 -0000
@@ -55,7 +55,7 @@
 		PATH="${TOOLDIR}/bin:$$PATH" \
 		YACC=${YACC:Q}
 
-CONFIGURE_ARGS+=--prefix=${TOOLDIR} --disable-shared
+CONFIGURE_ARGS+=--prefix=${TOOLDIR}
 
 .ifndef _NOWRAPPER
 # Some systems have a small ARG_MAX.  On such systems, prevent Make
Index: tools/gcc/README.mknative
===================================================================
RCS file: /cvsroot/src/tools/gcc/README.mknative,v
retrieving revision 1.1
diff -u -r1.1 README.mknative
--- tools/gcc/README.mknative	27 Jul 2003 15:00:54 -0000	1.1
+++ tools/gcc/README.mknative	7 Jan 2004 15:30:27 -0000
@@ -1,4 +1,67 @@
 $NetBSD: README.mknative,v 1.1 2003/07/27 15:00:54 mrg Exp $
 
+This file describes how to bootstrap the native toolchain on a new NetBSD
+platform (and how to update the new toolchain files, if needed).  These
+files may be generated on a cross-compile host without problems.
 
-Please see ../toolchain/README.mknative for now.
+NOTE:  DO NOT RUN "mknative" BY HAND!  It requires the Makefile in this
+directory to set up certain environments first.
+
+Since libc's features change over time, the config.h files can change as a
+result; thus the instructions below are the same no matter whether
+bootstrapping on a cross or native host.  This is important: even on a
+"native" host, you should bootstrap the toolchain by building from an
+up-to-date source tree to a $DESTDIR using the exact same instructions.
+
+In these notes, MACHINE is the $MACHINE of the target.  These files can be
+cross-generated.  Though a $MACHINE_ARCH all uses the same config files, you
+must pick a specific $MACHINE so that building the requisite bits below will
+work.
+
+1. Set MKMAINTAINERTOOLS=yes in mk.conf.  (Needed so that src/tools/gettext
+   gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)
+
+2. Build and install a cross toolchain (via "build.sh -m MACHINE tools").
+
+3. In src/tools/gcc, do "nbmake-MACHINE bootstrap-libgcc".
+
+   This will create just enough glue in src/gnu/lib/libgcc3/arch to make it
+   possible to build, based on the toolchain built in ${.OBJDIR}/build.
+   Because the files generated in this step contain things like
+   -DCROSS_COMPILE, they are not suitable for committing.  Step 7 below
+   will regenerate the "proper" libgcc config files.
+
+4. At top level, do
+   "nbmake-MACHINE do-distrib-dirs obj includes MKGCC=no MKBFD=no".
+
+5. In src/gnu/lib/libgcc3/libgcc, do "nbmake-MACHINE obj includes".
+
+6. In each of src/lib/csu, src/gnu/lib/libgcc3/libgcc, src/lib/libdes, and
+   src/lib, do "nbmake-MACHINE all install".
+
+   Optionally, all of the following may be set in the environment to reduce
+   the amount of code needed to build at this step.  Basically, it must be
+   possible for static binaries to build and base system libs to exist so
+   that "configure" can do its job for the target--these MK* options omit
+   the rest for this stage of the build.
+
+   MKCRYPTO=no
+   MKLINT=no
+   MKPIC=no
+   MKPROFILE=no
+   MKSHARE=no
+
+7. In src/tools/gcc, do "nbmake-MACHINE native-gcc".
+
+   This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
+   cross toolchain (--build reflects the host platform, but --host and
+   --target are the target).  The result is a tree that would build a
+   native-to-NetBSD compiler on a cross host, and mknative pulls glue data
+   from this.
+
+8. Try out a full build using "nbmake-MACHINE"; the result should include
+   a native compiler.
+
+9. If all is well, commit the glue files added to src/gnu/{lib,usr.bin}/*.
+
+- tv@NetBSD.org
Index: tools/gcc/mknative-gcc
===================================================================
RCS file: /cvsroot/src/tools/gcc/mknative-gcc,v
retrieving revision 1.11
diff -u -r1.11 mknative-gcc
--- tools/gcc/mknative-gcc	2 Jan 2004 11:58:32 -0000	1.11
+++ tools/gcc/mknative-gcc	7 Jan 2004 15:30:27 -0000
@@ -46,7 +46,7 @@
 	getvars gcc/Makefile \
 		CXX_EXTRA_HEADERS CXX_LIB2FUNCS CXX_LIB2SRCS \
 		INCLUDES LIB2ADD LIB2ADDEH LIB2FUNCS_1 LIB2FUNCS_2 \
-		LIB2FUNCS_EXTRA \
+		LIB1ASMFUNCS LIB1ASMSRC \
 		LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \
 		LIBGCC2_CFLAGS MAYBE_USE_COLLECT2 \
 		tm_defines xm_file xm_defines \

--Boundary-00=_j3C//xIAJnW0g5F--