Index: head/lang/gcc5/Makefile =================================================================== --- head/lang/gcc5/Makefile +++ head/lang/gcc5/Makefile @@ -15,7 +15,7 @@ LICENSE_COMB= multi DEPRECATED= Unsupported by upstream. Use GCC 6 or newer instead. -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 i386 powerpc powerpc64 powerpcspe sparc64 BROKEN_sparc64= Does not build: bootstrap comparison failure LIB_DEPENDS= libgmp.so:math/gmp \ @@ -66,6 +66,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc5/files/patch-spe-config =================================================================== --- head/lang/gcc5/files/patch-spe-config +++ head/lang/gcc5/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2285,6 +2285,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} rs6000/freebsd.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;; Index: head/lang/gcc6-devel/Makefile =================================================================== --- head/lang/gcc6-devel/Makefile +++ head/lang/gcc6-devel/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ @@ -81,6 +81,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= 5 # Cannot require ourselves, needs to be at least 4.9. + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc6-devel/files/patch-spe-config =================================================================== --- head/lang/gcc6-devel/files/patch-spe-config +++ head/lang/gcc6-devel/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2285,6 +2285,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} rs6000/freebsd.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;; Index: head/lang/gcc6/Makefile =================================================================== --- head/lang/gcc6/Makefile +++ head/lang/gcc6/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 BROKEN_sparc64= fails to configure: cannot compute suffix of object files: cannot compile LIB_DEPENDS= libgmp.so:math/gmp \ @@ -79,6 +79,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= 5 # Cannot require ourselves, needs to be at least 4.9. + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc6/files/patch-spe-config =================================================================== --- head/lang/gcc6/files/patch-spe-config +++ head/lang/gcc6/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2285,6 +2285,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} rs6000/freebsd.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;; Index: head/lang/gcc7-devel/Makefile =================================================================== --- head/lang/gcc7-devel/Makefile +++ head/lang/gcc7-devel/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ @@ -65,6 +65,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= yes + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc7-devel/files/patch-spe-config =================================================================== --- head/lang/gcc7-devel/files/patch-spe-config +++ head/lang/gcc7-devel/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2285,6 +2285,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} rs6000/freebsd.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;; Index: head/lang/gcc7/Makefile =================================================================== --- head/lang/gcc7/Makefile +++ head/lang/gcc7/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ @@ -59,6 +59,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= yes + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc7/files/patch-spe-config =================================================================== --- head/lang/gcc7/files/patch-spe-config +++ head/lang/gcc7/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2285,6 +2285,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} rs6000/freebsd.h rs6000/linuxspe.h rs6000/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;; Index: head/lang/gcc8-devel/Makefile =================================================================== --- head/lang/gcc8-devel/Makefile +++ head/lang/gcc8-devel/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 sparc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ @@ -63,6 +63,9 @@ .elif ${ARCH} == powerpc64 CONFIGURE_ENV+= UNAME_m="powerpc64" USE_GCC= yes + +.elif ${ARCH} == powerpcspe +CONFIGURE_ARGS+= --with-cpu=8540 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran Index: head/lang/gcc8-devel/files/patch-spe-config =================================================================== --- head/lang/gcc8-devel/files/patch-spe-config +++ head/lang/gcc8-devel/files/patch-spe-config @@ -0,0 +1,15 @@ +--- UTC +Index: gcc/config.gcc +=================================================================== +--- gcc/config.gcc.old 2017-04-05 17:48:03.045750000 -0500 ++++ gcc/config.gcc 2017-04-05 17:49:22.143572000 -0500 +@@ -2383,6 +2383,9 @@ + tmake_file="${tmake_file} rs6000/t-freebsd64" + extra_options="${extra_options} rs6000/linux64.opt" + ;; ++ powerpcspe-*) ++ tm_file="${tm_file} powerpcspe/freebsd.h powerpcspe/linuxspe.h powerpcspe/e500.h" ++ ;; + *) + tm_file="${tm_file} rs6000/freebsd.h" + ;;