Module Name: src
Committed By: tls
Date: Sun Aug 10 06:57:41 UTC 2014
Modified Files:
src/tools/gcc [tls-earlyentropy]: Makefile README.mknative mknative-gcc
Added Files:
src/tools/gcc [tls-earlyentropy]: gcc-version.mk
Log Message:
Rebase.
To generate a diff of this commit:
cvs rdiff -u -r1.66 -r1.66.2.1 src/tools/gcc/Makefile
cvs rdiff -u -r1.18 -r1.18.2.1 src/tools/gcc/README.mknative
cvs rdiff -u -r0 -r1.1.2.2 src/tools/gcc/gcc-version.mk
cvs rdiff -u -r1.78 -r1.78.2.1 src/tools/gcc/mknative-gcc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tools/gcc/Makefile
diff -u src/tools/gcc/Makefile:1.66 src/tools/gcc/Makefile:1.66.2.1
--- src/tools/gcc/Makefile:1.66 Thu Feb 27 20:15:53 2014
+++ src/tools/gcc/Makefile Sun Aug 10 06:57:41 2014
@@ -1,15 +1,11 @@
-# $NetBSD: Makefile,v 1.66 2014/02/27 20:15:53 mrg Exp $
+# $NetBSD: Makefile,v 1.66.2.1 2014/08/10 06:57:41 tls Exp $
.include <bsd.own.mk>
GCC_LANGUAGES=c c++ objc
MODULE= gcc4
-.if ${HAVE_GCC} < 45
-GCCDIST= ${.CURDIR}/../../gnu/dist/gcc4
-.else
GCCDIST= ${.CURDIR}/../../external/gpl3/${EXTERNAL_GCC_SUBDIR}/dist
-.endif
GNUHOSTDIST= ${GCCDIST}
.if ${HAVE_GCC} == 48
@@ -35,13 +31,16 @@ MULTILIB_ARGS= --disable-multilib
SOFTFLOAT_ARGS= -with-float=soft
.endif
+.include "gcc-version.mk"
+
COMMON_CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} \
--enable-long-long \
--enable-threads \
--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
- --with-pkgversion="NetBSD nb1 20120916" \
+ --with-pkgversion="NetBSD ${NETBSD_GCC_VERSION}" \
--with-system-zlib \
- --enable-__cxa_atexit
+ --enable-__cxa_atexit \
+ --enable-libstdcxx-threads
.if defined(GCC_CONFIG_ARCH.${MACHINE_ARCH})
COMMON_CONFIGURE_ARGS+= --with-arch=${GCC_CONFIG_ARCH.${MACHINE_ARCH}}
.endif
@@ -50,14 +49,11 @@ COMMON_CONFIGURE_ARGS+= --with-tune=${GC
.endif
CONFIGURE_ARGS= ${COMMON_CONFIGURE_ARGS}
-.if ${HAVE_GCC} >= 45
CONFIGURE_ARGS+= \
--with-sysroot=${DESTDIR} \
--with-mpc=${TOOLDIR} \
--with-mpfr=${TOOLDIR} \
- --with-gmp=${TOOLDIR}
-.endif
-CONFIGURE_ARGS+= \
+ --with-gmp=${TOOLDIR} \
--disable-nls \
${MULTILIB_ARGS} \
${SOFTFLOAT_ARGS} \
@@ -85,23 +81,21 @@ BUILD_MAKE=${TOOL_GMAKE}
# mknative-gcc specific stuff
#
-MKNATIVE_CONFIG_TARGET_LIBS= \
- configure-target-libstdc++-v3 \
- configure-target-libobjc
+MKNATIVE_CONFIG_TARGET_LIBS=
.if ${HAVE_GCC} == 48
-MKNATIVE_CONFIG_TARGET_LIBS += configure-target-libgcc
+MKNATIVE_CONFIG_TARGET_LIBS+= configure-target-libgcc
+MKNATIVE_CONFIG_TARGET_LIBS+= configure-target-libgomp
MKNATIVE_TARGET= gcc48
-MKNATIVE_CONFIG_TARGET_LIBS+= \
- configure-target-libgomp
.elif ${HAVE_GCC} == 45
+MKNATIVE_CONFIG_TARGET_LIBS+= configure-target-libgomp
MKNATIVE_TARGET= gcc45
-MKNATIVE_CONFIG_TARGET_LIBS+= \
- configure-target-libgomp
-.else
-MKNATIVE_TARGET= gcc4
.endif
+MKNATIVE_CONFIG_TARGET_LIBS+= \
+ configure-target-libstdc++-v3 \
+ configure-target-libobjc
+
BINENV= /usr/bin/env -i
@@ -158,7 +152,6 @@ native-gcc: .native/.configure_done
${MACHINE_GNU_PLATFORM} ${DESTDIR} ${TOOLDIR}
NATIVE_CONFIGURE_ARGS= ${COMMON_CONFIGURE_ARGS}
-.if ${HAVE_GCC} >= 45
MPC= ${NETBSDSRCDIR}/external/lgpl3/mpc
MPFR= ${NETBSDSRCDIR}/external/lgpl3/mpfr
GMP= ${NETBSDSRCDIR}/external/lgpl3/gmp
@@ -176,13 +169,13 @@ NATIVE_CONFIGURE_ARGS+= \
--with-mpfr-include=${MPFR}/dist/src \
--with-gmp-include=${GMP}/lib/libgmp/arch/${GMP_MACHINE_ARCH}
-. if ${MACHINE_ARCH} != "vax"
+.if ${MACHINE_ARCH} != "vax"
NATIVE_CONFIGURE_ARGS+= --enable-tls
-. endif
-. if !empty(MACHINE_ARCH:Mearm*)
+.endif
+.if !empty(MACHINE_ARCH:Mearm*)
NATIVE_CONFIGURE_ARGS+= --enable-initfini-array
-. endif
.endif
+
NATIVE_CONFIGURE_ARGS+= \
--disable-multilib \
--disable-symvers \
Index: src/tools/gcc/README.mknative
diff -u src/tools/gcc/README.mknative:1.18 src/tools/gcc/README.mknative:1.18.2.1
--- src/tools/gcc/README.mknative:1.18 Wed Feb 26 09:54:34 2014
+++ src/tools/gcc/README.mknative Sun Aug 10 06:57:41 2014
@@ -1,4 +1,4 @@
-$NetBSD: README.mknative,v 1.18 2014/02/26 09:54:34 mrg Exp $
+$NetBSD: README.mknative,v 1.18.2.1 2014/08/10 06:57:41 tls 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
@@ -29,7 +29,7 @@ work.
to build.sh. Use -M instead. (The differences are in layout and pathname
prefixes in the object directory pointed to by each option.)
-3. In src/tools/gcc, do "nbmake-MACHINE HAVE_GCC=45 bootstrap-libgcc".
+3. In src/tools/gcc, do "nbmake-MACHINE HAVE_GCC=48 bootstrap-libgcc".
This will create just enough glue in src/external/gpl3/gcc/lib/libgcc/arch
to make it possible to build, based on the toolchain built in
@@ -39,28 +39,24 @@ work.
will regenerate the "proper" libgcc config files.
4. At top level, do
- "nbmake-MACHINE obj do-distrib-dirs MKGCC=no MKBINUTILS=no HAVE_GCC=45", and
- "nbmake-MACHINE includes HAVE_GCC= MKGCC=no MKBINUTILS=no HAVE_GCC=45".
- (Note: replace 45 [for gcc 4.5.x] with the appropriate version you are
+ "nbmake-MACHINE obj do-distrib-dirs MKGCC=no MKBINUTILS=no HAVE_GCC=48", and
+ "nbmake-MACHINE includes HAVE_GCC= MKGCC=no MKBINUTILS=no HAVE_GCC=48".
+ (Note: replace 48 [for gcc 4.8.x] with the appropriate version you are
going to mknative-for, the MKGCC=no prevents the standard makefiles from
picking up any gcc version info automatically)
5. In src/lib/csu, do
"nbmake-MACHINE dependall". and "nbmake-MACHINE install".
-6. If the platform sets USE_COMPILERCRTSTUFF=yes, then in
- src/external/gpl3/gcc/lib/crtstuff/ do
- "nbmake-MACHINE obj dependall install"
-
-7. In src/external/gpl3/gcc/lib/libgcc, do
+6. In src/external/gpl3/gcc/lib/libgcc, do
"nbmake-MACHINE obj includes dependall install".
-8. In each of src/external/lgpl3/gmp/lib/libgmp,
+7. In each of src/external/lgpl3/gmp/lib/libgmp,
src/external/lgpl3/mpfr/lib/libmpfr, src/external/lgpl3/mpc/lib/libmpc
do "nbmake-MACHINE obj dependall".
-9. In src/lib, do
- "nbmake-MACHINE dependall install MKGCC=no HAVE_GCC=45".
+8. In src/lib, do
+ "nbmake-MACHINE dependall install MKGCC=no HAVE_GCC=48".
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
@@ -74,7 +70,7 @@ work.
MKSHARE=no
MKRUMP=no
-10. In src/tools/gcc, do "nbmake-MACHINE native-gcc".
+9. 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
@@ -82,7 +78,7 @@ work.
native-to-NetBSD compiler on a cross host, and mknative pulls glue data
from this.
-11. Try out a full build using "nbmake-MACHINE"; the result should include
+10. Try out a full build using "nbmake-MACHINE"; the result should include
a native compiler.
-12. If all is well, commit the glue files added to src/gnu/{lib,usr.bin}/*.
+11. If all is well, commit the glue files added to src/gnu/{lib,usr.bin}/*.
Index: src/tools/gcc/mknative-gcc
diff -u src/tools/gcc/mknative-gcc:1.78 src/tools/gcc/mknative-gcc:1.78.2.1
--- src/tools/gcc/mknative-gcc:1.78 Sun Mar 2 04:58:20 2014
+++ src/tools/gcc/mknative-gcc Sun Aug 10 06:57:41 2014
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: mknative-gcc,v 1.78 2014/03/02 04:58:20 mrg Exp $
+# $NetBSD: mknative-gcc,v 1.78.2.1 2014/08/10 06:57:41 tls Exp $
#
# Shell script for generating all the constants needed for a native
# platform build of gcc.
@@ -219,8 +219,6 @@ get_libstdcxx_v3 () {
<$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h
done
- write_c $_OUTDIRBASE/lib/$_subdir/arch/$MACHINE_ARCH/config.h \
- <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h
write_c $_OUTDIRBASE/lib/$_subdir/arch/$MACHINE_ARCH/gstdint.h \
<$_TMPDIR/$_PLATFORM/libstdc++-v3/include/gstdint.h
Added files:
Index: src/tools/gcc/gcc-version.mk
diff -u /dev/null src/tools/gcc/gcc-version.mk:1.1.2.2
--- /dev/null Sun Aug 10 06:57:41 2014
+++ src/tools/gcc/gcc-version.mk Sun Aug 10 06:57:41 2014
@@ -0,0 +1,5 @@
+# $NetBSD: gcc-version.mk,v 1.1.2.2 2014/08/10 06:57:41 tls Exp $
+
+# common location for tools and native build
+
+NETBSD_GCC_VERSION=nb1 20140527