diff --git a/lang/gcc7/Makefile b/lang/gcc7/Makefile index 4a19f67870be..7c4fcbee3634 100644 --- a/lang/gcc7/Makefile +++ b/lang/gcc7/Makefile @@ -14,7 +14,7 @@ LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi DEPRECATED= Unsupported by upstream. Use GCC 9 or newer instead. -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpcspe sparc64 +ONLY_FOR_ARCHS= amd64 i386 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ @@ -42,26 +42,10 @@ OPTIONS_DEFAULT= BOOTSTRAP BOOTSTRAP_DESC= Build using a full bootstrap GRAPHITE_DESC= Support for Graphite loop optimizations -.if exists(/usr/lib32/libc.so) -OPTIONS_DEFINE_powerpc64+= MULTILIB -OPTIONS_DEFAULT_powerpc64+= MULTILIB -MULTILIB_DESC= Build support for 32-bit and 64-bit targets -MULTILIB_CONFIGURE_ENABLE= multilib -.else -CONFIGURE_ARGS+= --disable-multilib -.endif - .include .if ${ARCH} == amd64 CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} - -.elif ${ARCH} == powerpc64 -CONFIGURE_ENV+= UNAME_m="powerpc64" -MAKE_ARGS+= CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" BOOT_CFLAGS="-O1" # PR235975 - -.elif ${ARCH} == powerpcspe -CONFIGURE_ARGS+= --with-cpu=8548 --enable-e500_double --without-fp .endif LANGUAGES:= c,c++,objc,fortran @@ -81,6 +65,7 @@ INSTALL_TARGET= install-strip BINMODE= 755 .endif CONFIGURE_ARGS+=--disable-nls \ + --disable-multilib \ --enable-gnu-indirect-function \ --libdir=${TARGLIB} \ --libexecdir=${LIBEXEC} \ @@ -136,11 +121,6 @@ post-stage: # Add target libraries and include files to packaging list. ${RM} ${WRKDIR}/PLIST.lib -.if ${ARCH} == powerpc64 && ${PORT_OPTIONS:MMULTILIB} - ${MKDIR} ${STAGEDIR}${TARGLIB32} - ${MV} ${STAGEDIR}${PREFIX}/lib/lib32 ${STAGEDIR}${TARGLIB32}/gcc${SUFFIX} -.endif - .for d in ${TARGLIB:S/^${PREFIX}\///} ${TARGLIB32:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} cd ${STAGEDIR}${PREFIX} ; if [ -d $d ]; then \ ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ diff --git a/lang/gcc7/files/patch-arm-unwind-cxx-support b/lang/gcc7/files/patch-arm-unwind-cxx-support deleted file mode 100644 index ec6959b9655c..000000000000 --- a/lang/gcc7/files/patch-arm-unwind-cxx-support +++ /dev/null @@ -1,106 +0,0 @@ ---- UTC -Index: gcc/ginclude/unwind-arm-common.h -=================================================================== ---- gcc/ginclude/unwind-arm-common.h (revision 219113) -+++ gcc/ginclude/unwind-arm-common.h (working copy) -@@ -82,7 +82,11 @@ - - struct _Unwind_Control_Block - { -+#ifdef __FreeBSD__ -+ unsigned exception_class __attribute__((__mode__(__DI__))); -+#else - char exception_class[8]; -+#endif - void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); - /* Unwinder cache, private fields for the unwinder's use */ - struct -@@ -181,7 +185,11 @@ - - /* Support functions for the PR. */ - #define _Unwind_Exception _Unwind_Control_Block -+#ifdef __FreeBSD__ -+ typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__))); -+#else - typedef char _Unwind_Exception_Class[8]; -+#endif - - void * _Unwind_GetLanguageSpecificData (_Unwind_Context *); - _Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *); -Index: libstdc++-v3/libsupc++/unwind-cxx.h -=================================================================== ---- libstdc++-v3/libsupc++/unwind-cxx.h (revision 219147) -+++ libstdc++-v3/libsupc++/unwind-cxx.h (working copy) -@@ -235,7 +235,7 @@ - return reinterpret_cast<__cxa_dependent_exception *>(exc + 1) - 1; - } - --#ifdef __ARM_EABI_UNWINDER__ -+#if defined(__ARM_EABI_UNWINDER__) && !defined(__FreeBSD__) - static inline bool - __is_gxx_exception_class(_Unwind_Exception_Class c) - { -@@ -309,13 +309,7 @@ - c[6] = 'R'; - c[7] = '\0'; - } -- --static inline void* --__gxx_caught_object(_Unwind_Exception* eo) --{ -- return (void*)eo->barrier_cache.bitpattern[0]; --} --#else // !__ARM_EABI_UNWINDER__ -+#else // !__ARM_EABI_UNWINDER__ || __FreeBSD__ - // This is the primary exception class we report -- "GNUCC++\0". - const _Unwind_Exception_Class __gxx_primary_exception_class - = ((((((((_Unwind_Exception_Class) 'G' -@@ -339,6 +333,16 @@ - << 8 | (_Unwind_Exception_Class) '+') - << 8 | (_Unwind_Exception_Class) '\x01'); - -+const _Unwind_Exception_Class __gxx_forced_unwind_class -+= ((((((((_Unwind_Exception_Class) 'G' -+ << 8 | (_Unwind_Exception_Class) 'N') -+ << 8 | (_Unwind_Exception_Class) 'U') -+ << 8 | (_Unwind_Exception_Class) 'C') -+ << 8 | (_Unwind_Exception_Class) 'F') -+ << 8 | (_Unwind_Exception_Class) 'O') -+ << 8 | (_Unwind_Exception_Class) 'R') -+ << 8 | (_Unwind_Exception_Class) '\0'); -+ - static inline bool - __is_gxx_exception_class(_Unwind_Exception_Class c) - { -@@ -346,6 +350,12 @@ - || c == __gxx_dependent_exception_class; - } - -+static inline bool -+__is_gxx_forced_unwind_class(_Unwind_Exception_Class c) -+{ -+ return c == __gxx_forced_unwind_class; -+} -+ - // Only checks for primary or dependent, but not that it is a C++ exception at - // all. - static inline bool -@@ -357,7 +367,18 @@ - #define __GXX_INIT_PRIMARY_EXCEPTION_CLASS(c) c = __gxx_primary_exception_class - #define __GXX_INIT_DEPENDENT_EXCEPTION_CLASS(c) \ - c = __gxx_dependent_exception_class -+#define __GXX_INIT_FORCED_UNWIND_CLASS(c) c = __gxx_forced_unwind_class -+#endif // __ARM_EABI_UNWINDER__ && !__FreeBSD__ - -+#ifdef __ARM_EABI_UNWINDER__ -+static inline void* -+__gxx_caught_object(_Unwind_Exception* eo) -+{ -+ return (void*)eo->barrier_cache.bitpattern[0]; -+} -+ -+#else // !__ARM_EABI_UNWINDER__ -+ - // GNU C++ personality routine, Version 0. - extern "C" _Unwind_Reason_Code __gxx_personality_v0 - (int, _Unwind_Action, _Unwind_Exception_Class, diff --git a/lang/gcc7/files/patch-spe-config b/lang/gcc7/files/patch-spe-config deleted file mode 100644 index 276fe8951901..000000000000 --- a/lang/gcc7/files/patch-spe-config +++ /dev/null @@ -1,15 +0,0 @@ ---- 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" - ;;