From 8f6f592374a10d2d38bb8b6a12710f5815db6c31 Mon Sep 17 00:00:00 2001
From: Giacomo Tesio <giacomo@tesio.it>
Date: Wed, 6 Nov 2019 00:34:50 +0100
Subject: [PATCH] gcc native: upgrade to binutils-2.33.1 and gcc-9.2.0

---
 cross/pkgs/gcc/build.sh       | 45 +++++++++++++++++++++++++++++++++--
 cross/pkgs/gcc/src/fetch.json |  8 +++----
 2 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/cross/pkgs/gcc/build.sh b/cross/pkgs/gcc/build.sh
index 1a8a50b..443ccb8 100755
--- a/cross/pkgs/gcc/build.sh
+++ b/cross/pkgs/gcc/build.sh
@@ -92,6 +92,9 @@ echo -n Building binutils... | tee -a $WORKING_DIR/gcc.build.log
 if [ "$BINUTILS_BUILD_DIR" = "" ]; then
 	export BINUTILS_BUILD_DIR=$WORKING_DIR/build-binutils
 fi
+if [ ! -d $BINUTILS_BUILD_DIR ]; then
+	mkdir $BINUTILS_BUILD_DIR
+fi
 ( ( grep -q jehanne src/binutils/config.sub || (
 	sed -i '/jehanne/b; /ELF_TARGET_ID/,/elf_backend_can_gc_sections/s/0x200000/0x1000 \/\/ jehanne hack/g' src/binutils/bfd/elf64-x86-64.c &&
 	sed -i '/jehanne/b; s/| midnightbsd\*/| midnightbsd* | jehanne*/g' src/binutils/config.sub &&
@@ -111,11 +114,49 @@ fi
 	cp $WORKING_DIR/../../patch/MakeNothing.in $WORKING_DIR/src/binutils/gas/doc/Makefile &&
 	cp $WORKING_DIR/../../patch/MakeNothing.in $WORKING_DIR/src/binutils/binutils/doc/Makefile &&
 	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true && 
-	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true DESTDIR=$JEHANNE/pkgs/binutils/2.31/ install
+	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true DESTDIR=$JEHANNE/pkgs/binutils/2.33.1/ install
 ) >> $WORKING_DIR/gcc.build.log 2>&1
 failOnError $? "Building binutils"
 fi
 echo done.
 
 # Copy to /posix (to emulate bind during cross compilation)
-cp -pfr $JEHANNE/pkgs/binutils/2.31/posix/* $JEHANNE/posix
+cp -pfr $JEHANNE/pkgs/binutils/2.33.1/posix/* $JEHANNE/posix
+
+
+#echo -n Building gcc... | tee -a $WORKING_DIR/gcc.build.log
+## Patch and build gcc
+#if [ "$GCC_BUILD_DIR" = "" ]; then
+#	export GCC_BUILD_DIR=$WORKING_DIR/build-gcc
+#fi
+#if [ ! -d $GCC_BUILD_DIR ]; then
+#	mkdir $GCC_BUILD_DIR
+#fi
+#(
+#	pwd &&
+#	( grep -q jehanne src/gcc/gcc/config.gcc || patch -p1 < patch/gcc/gcc/config.gcc ) &&
+#	cd src &&
+#	cp ../patch/gcc/contrib/download_prerequisites gcc/contrib/download_prerequisites && 
+#	( cd gcc && ./contrib/download_prerequisites ) &&
+#	dynpatch 'gcc/config.sub' '-none)' &&
+#	cp ../patch/gcc/gcc/config/jehanne.h gcc/gcc/config &&
+#	dynpatch 'gcc/libstdc++-v3/crossconfig.m4' '  \*)' &&
+#	cd gcc/libstdc++-v3 && autoconf -i && cd ../../ &&
+#	( pwd && grep -q jehanne gcc/libgcc/config.host ||
+#	  sed  -i -f ../patch/gcc/libgcc/config.host.sed gcc/libgcc/config.host 
+#	) &&
+#	dynpatch 'gcc/fixincludes/mkfixinc.sh' 'i\?86-\*-cygwin\*' &&
+#	cd $GCC_BUILD_DIR &&
+#	$CROSS_DIR/src/gcc/configure --target=x86_64-jehanne --prefix=$JEHANNE/hacking/cross/toolchain --with-sysroot=$JEHANNE --enable-languages=c,c++ &&
+#	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true all-gcc all-target-libgcc && 
+#	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true install-gcc install-target-libgcc
+##	 &&
+##	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true all-target-libstdc++-v3 &&
+##	make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true install-target-libstdc++-v3
+#) >> cross-toolchain.build.log 2>&1
+#failOnError $? "building gcc"
+#
+## add sh
+#ln -sf /bin/bash $JEHANNE/hacking/cross/toolchain/bin/x86_64-jehanne-sh
+
+echo "done."
diff --git a/cross/pkgs/gcc/src/fetch.json b/cross/pkgs/gcc/src/fetch.json
index 05a30b8..6ea8069 100644
--- a/cross/pkgs/gcc/src/fetch.json
+++ b/cross/pkgs/gcc/src/fetch.json
@@ -30,9 +30,9 @@
 		]
 	},
 	"binutils": {
-		"Upstream":"http://ftp.gnu.org/gnu/binutils/binutils-2.31.tar.bz2",
+		"Upstream":"http://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2",
 		"Digest": {
-			"sha256":"2c49536b1ca6b8900531b9e34f211a81caf9bf85b1a71f82b81ae32fcd8ffe19"
+			"sha256":"0cb4843da15a65a953907c96bad658283f3c4419d6bcc56bf2789db16306adb2"
 		},
 		"Compress":"bzip2",
 		"RemovePrefix": true,
@@ -40,9 +40,9 @@
 		]
 	},
 	"gcc": {
-		"Upstream":"https://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz",
+		"Upstream":"https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz",
 		"Digest": {
-			"sha256":"1b0f36be1045ff58cbb9c83743835367b860810f17f0195a4e093458b372020f"
+			"sha256":"a931a750d6feadacbeecb321d73925cd5ebb6dfa7eff0802984af3aef63759f4"
 		},
 		"Compress":"gzip",
 		"RemovePrefix": true,