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