Module Name:    src
Committed By:   christos
Date:           Wed Oct  4 21:29:43 UTC 2017

Modified Files:
        src/tools/gcc: Makefile mknative-gcc.old

Log Message:
- gcc.old == gcc-5.3, so copy mknative-gcc{,.old} and adjust
- disable dual libstdc++ abi per joerg
  (https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html)
  will require a major libstdc++ major bump.


To generate a diff of this commit:
cvs rdiff -u -r1.82 -r1.83 src/tools/gcc/Makefile
cvs rdiff -u -r1.3 -r1.4 src/tools/gcc/mknative-gcc.old

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.82 src/tools/gcc/Makefile:1.83
--- src/tools/gcc/Makefile:1.82	Tue Aug 22 05:17:50 2017
+++ src/tools/gcc/Makefile	Wed Oct  4 17:29:43 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.82 2017/08/22 09:17:50 mrg Exp $
+#	$NetBSD: Makefile,v 1.83 2017/10/04 21:29:43 christos Exp $
 
 .include <bsd.own.mk>
 
@@ -8,7 +8,7 @@ MODULE=			gcc4
 GCCDIST=	${.CURDIR}/../../external/gpl3/${EXTERNAL_GCC_SUBDIR}/dist
 GNUHOSTDIST=	${GCCDIST}
 
-.if ${HAVE_GCC} == 48
+.if ${HAVE_GCC} == 53
 MKNATIVE=		${.CURDIR}/mknative-gcc.old
 .endif
 
@@ -35,6 +35,7 @@ COMMON_CONFIGURE_ARGS=	--target=${MACHIN
 			--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
 			--with-pkgversion="NetBSD ${NETBSD_GCC_VERSION}" \
 			--with-system-zlib \
+			--disable-libstdcxx-dual-abi \
 			--enable-__cxa_atexit \
 			--enable-libstdcxx-time=rt \
 			--enable-libstdcxx-threads
@@ -190,6 +191,7 @@ NATIVE_CONFIGURE_ARGS+=	\
 			--disable-multilib \
 			--disable-symvers \
 			--disable-libstdcxx-pch \
+			--disable-libstdcxx-dual-abi \
 			--build=`${GCCDIST}/config.guess` \
 			--host=${MACHINE_GNU_PLATFORM} \
 			--with-sysroot=${DESTDIR}

Index: src/tools/gcc/mknative-gcc.old
diff -u src/tools/gcc/mknative-gcc.old:1.3 src/tools/gcc/mknative-gcc.old:1.4
--- src/tools/gcc/mknative-gcc.old:1.3	Thu Apr 21 03:22:15 2016
+++ src/tools/gcc/mknative-gcc.old	Wed Oct  4 17:29:43 2017
@@ -1,10 +1,10 @@
 #!/bin/sh
-#	$NetBSD: mknative-gcc.old,v 1.3 2016/04/21 07:22:15 mrg Exp $
+#	$NetBSD: mknative-gcc.old,v 1.4 2017/10/04 21:29:43 christos Exp $
 #
 # Shell script for generating all the constants needed for a native
 # platform build of gcc.
 #
-# This version is for GCC 4.8.
+# This version is for GCC 5.3
 
 # initialise
 
@@ -37,19 +37,6 @@ sanitise_includes () {
 		-e "s,-I/usr/include/[^ 	]*,,"
 }
 
-##### lib/crtstuff #####
-
-get_crtstuff () {
-	_subdir="$1"
-	mkdir -p $_OUTDIR/lib/$_subdir/arch
-
-	getvars gcc/Makefile \
-		INCLUDES CRTSTUFF_CFLAGS CRTSTUFF_T_CFLAGS CRTSTUFF_T_CFLAGS_S \
-		tm_defines xm_file xm_defines \
-		| sanitise_includes \
-		| write_mk $_OUTDIRBASE/lib/$_subdir/arch/$MACHINE_ARCH.mk
-}
-
 ##### lib/libg2c #####
 
 get_libg2c () {
@@ -121,7 +108,10 @@ get_libgcov () {
 
 	{
 		getvars $_mf \
-			LIBGCOV
+			LIBGCOV_MERGE \
+			LIBGCOV_PROFILER \
+			LIBGCOV_INTERFACE \
+			LIBGCOV_DRIVER
 	} | write_mk $_OUTDIRBASE/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk
 
 	write_c $_OUTDIRBASE/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \
@@ -245,9 +235,13 @@ get_libstdcxx_v3 () {
 		getvars $_PLATFORM/libstdc++-v3/src/Makefile \
 			libstdc___la_SOURCES | sed 's/^G_libstdc___la_SOURCES=/G_SRC_SOURCES=/'
 		getvars $_PLATFORM/libstdc++-v3/src/c++11/Makefile \
-			libc__11convenience_la_SOURCES | sed 's/^G_libc__11convenience_la_SOURCES=/G_CPP11_SOURCES=/'
+			libc__11convenience_la_SOURCES | \
+			sed -e 's/^G_libc__11convenience_la_SOURCES=/G_CPP11_SOURCES=/' \
+			    -e 's/codecvt.cc/c11-codecvt.cc/'
 		getvars $_PLATFORM/libstdc++-v3/src/c++98/Makefile \
-			libc__98convenience_la_SOURCES | sed 's/^G_libc__98convenience_la_SOURCES=/G_CPP98_SOURCES=/'
+			GLIBCXX_ABI_FLAGS libc__98convenience_la_SOURCES | \
+			sed -e 's/^G_libc__98convenience_la_SOURCES=/G_CPP98_SOURCES=/' \
+			    -e 's/codecvt.cc/c98-codecvt.cc/'
 		getvars $_PLATFORM/libstdc++-v3/Makefile ATOMICITY_SRCDIR \
 			BASIC_FILE_CC CLOCALE_CC CCODECVT_CC CCOLLATE_CC \
 			CCTYPE_CC  CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC \
@@ -277,6 +271,11 @@ get_gcc_bootstrap () {
 	for f in auto-host tm config; do
 		write_c $_OUTDIRBASE/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h
 	done
+	# XXXGCC5 don't really want to copy insn-modes as we build
+	# it but libgcc needs to too early yet
+	for f in insn-modes; do
+		write_c $_OUTDIRBASE/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h
+	done
 }
 
 get_gcc () {
@@ -307,6 +306,7 @@ get_gcc () {
 			GCC_OBJS GCOV_OBJS GXX_OBJS GTM_H PROTO_OBJS ${_extravars1} \
 			INCLUDES md_file OBJC_OBJS OBJS out_file version \
 			BUILD_PREFIX RTL_H RTL_BASE_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \
+			GGC_H \
 			GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \
 			GTFILES GTFILES_LANG_DIR_NAMES NOEXCEPTION_FLAGS \
 			NATIVE_SYSTEM_HEADER_DIR \
@@ -380,13 +380,17 @@ __EOF__
 
 	# special transforms
 	for f in gtyp-input.list; do
-		sed -e 's/^.*external\/gpl3\/gcc\.old\/dist/SRCDIR/' < $_TMPDIR/gcc/$f > $_OUTDIR/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f
+		sed -e 's/^.*external\/gpl3\/gcc\/dist/SRCDIR/' < $_TMPDIR/gcc/$f > $_OUTDIR/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f
 	done
 
 	# special platforms
 	if [ "${MACHINE_ARCH}" = "sh3el" -o "${MACHINE_ARCH}" = "sh3eb" ]; then
 		write_c $_OUTDIRBASE/usr.bin/$_subdir/arch/$MACHINE_ARCH/sysroot-suffix.h <$_TMPDIR/gcc/sysroot-suffix.h
 	fi
+
+	if [ "${MACHINE_ARCH}" = "i386" -o "${MACHINE_ARCH}" = "x86_64" ]; then
+		write_c $_OUTDIRBASE/usr.bin/$_subdir/arch/$MACHINE_ARCH/i386-builtin-types.inc <$_TMPDIR/gcc/i386-builtin-types.inc
+	fi
 }
 
 ##### main #####
@@ -397,7 +401,6 @@ case "$1" in
 libgcc*-bootstrap)
 	get_libgcc gcc
 	get_libgcov gcc $_PLATFORM/libgcc/Makefile
-	get_crtstuff crtstuff
 	get_gcc_bootstrap gcc
 	exit 0
 	;;
@@ -411,7 +414,7 @@ gcc*)
 	get_gcc gcc
 	get_libgcc gcc
 	get_libgcov gcc $_PLATFORM/libgcc/Makefile
-	get_crtstuff crtstuff
+	get_gcc_bootstrap gcc
 	get_gcc_libiberty gcc
 	get_libobjc libobjc
 	get_libstdcxx_v3 libstdc++-v3 gcc

Reply via email to