diff options
author | gerald <gerald@FreeBSD.org> | 2018-10-27 04:23:02 +0800 |
---|---|---|
committer | gerald <gerald@FreeBSD.org> | 2018-10-27 04:23:02 +0800 |
commit | 9f471d30bd1e80a710d1281bf355fc8158820971 (patch) | |
tree | e85d1076c75cadb599a6e1742c966feacdba87e4 /lang | |
parent | cb79fcb7656789d644bafc1a558ddc7d5d6a9e68 (diff) | |
download | freebsd-ports-gnome-9f471d30bd1e80a710d1281bf355fc8158820971.tar.gz freebsd-ports-gnome-9f471d30bd1e80a710d1281bf355fc8158820971.tar.zst freebsd-ports-gnome-9f471d30bd1e80a710d1281bf355fc8158820971.zip |
Update to the GCC 6.4.0 upstream release which carries a number of
fixes and closes the GCC 6 release branch.
files/patch-armv7-support and files/patch-freebsd-unwind.h made it
upstream in between GCC 6.4 and GCC 6.5, so remove them.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/gcc6/Makefile | 3 | ||||
-rw-r--r-- | lang/gcc6/distinfo | 6 | ||||
-rw-r--r-- | lang/gcc6/files/patch-armv7-support | 28 | ||||
-rw-r--r-- | lang/gcc6/files/patch-freebsd-unwind.h | 90 |
4 files changed, 4 insertions, 123 deletions
diff --git a/lang/gcc6/Makefile b/lang/gcc6/Makefile index 866fe18702bb..784d79d5f765 100644 --- a/lang/gcc6/Makefile +++ b/lang/gcc6/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 6.4.0 -PORTREVISION= 8 +PORTVERSION= 6.5.0 CATEGORIES= lang java MASTER_SITES= GCC PKGNAMESUFFIX= ${SUFFIX} diff --git a/lang/gcc6/distinfo b/lang/gcc6/distinfo index 6980b2714fe6..085187ae9020 100644 --- a/lang/gcc6/distinfo +++ b/lang/gcc6/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1499443012 -SHA256 (gcc-6.4.0.tar.xz) = 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4 -SIZE (gcc-6.4.0.tar.xz) = 76156220 +TIMESTAMP = 1540568033 +SHA256 (gcc-6.5.0.tar.xz) = 7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945 +SIZE (gcc-6.5.0.tar.xz) = 74355588 diff --git a/lang/gcc6/files/patch-armv7-support b/lang/gcc6/files/patch-armv7-support deleted file mode 100644 index 370dd1b57f01..000000000000 --- a/lang/gcc6/files/patch-armv7-support +++ /dev/null @@ -1,28 +0,0 @@ ---- UTC ---- gcc/config.gcc.orig 2017-01-09 22:01:26.582656000 +0100 -+++ gcc/config.gcc 2017-10-07 17:27:59.564810000 +0200 -@@ -1072,6 +1072,10 @@ - tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" - fi - ;; -+ armv7*-*-freebsd*) -+ tm_defines="${tm_defines} TARGET_FREEBSD_ARMv7=1" -+ tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" -+ ;; - esac - with_tls=${with_tls:-gnu} - ;; ---- gcc/config/arm/freebsd.h.orig 2016-06-15 21:17:15.860618000 +0200 -+++ gcc/config/arm/freebsd.h 2017-10-09 21:38:03.395632000 +0200 -@@ -112,7 +112,10 @@ - #undef WCHAR_TYPE_SIZE - #define WCHAR_TYPE_SIZE BITS_PER_WORD - --#if defined (TARGET_FREEBSD_ARMv6) -+#if defined (TARGET_FREEBSD_ARMv7) -+#undef SUBTARGET_CPU_DEFAULT -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_genericv7a -+#elif defined (TARGET_FREEBSD_ARMv6) - #undef SUBTARGET_CPU_DEFAULT - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm1176jzs - #else diff --git a/lang/gcc6/files/patch-freebsd-unwind.h b/lang/gcc6/files/patch-freebsd-unwind.h deleted file mode 100644 index dfc68fc0191c..000000000000 --- a/lang/gcc6/files/patch-freebsd-unwind.h +++ /dev/null @@ -1,90 +0,0 @@ -2017-11-05 Andreas Tobler <andreast@gcc.gnu.org> - - Backport from mainline - 2017-11-04 Andreas Tobler <andreast@gcc.gnu.org> - - PR libgcc/82635 - * config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a - sysctl to determine whether we're in a trampoline. - Keep the pattern matching method for systems without - KERN_PROC_SIGTRAMP sysctl. - ---- UTC ---- libgcc/config/i386/freebsd-unwind.h 2017/11/05 17:24:37 254430 -+++ libgcc/config/i386/freebsd-unwind.h 2017/11/05 19:30:41 254431 -@@ -28,7 +28,10 @@ - - #include <sys/types.h> - #include <signal.h> -+#include <unistd.h> -+#include <sys/sysctl.h> - #include <sys/ucontext.h> -+#include <sys/user.h> - #include <machine/sigframe.h> - - #define REG_NAME(reg) sf_uc.uc_mcontext.mc_## reg -@@ -36,6 +39,38 @@ - #ifdef __x86_64__ - #define MD_FALLBACK_FRAME_STATE_FOR x86_64_freebsd_fallback_frame_state - -+#ifdef KERN_PROC_SIGTRAMP -+/* FreeBSD past 9.3 provides a kern.proc.sigtramp.<pid> sysctl that -+ returns the location of the signal trampoline. Use this to find -+ out whether we're in a trampoline. -+*/ -+static int -+x86_64_outside_sigtramp_range (unsigned char *pc) -+{ -+ static int sigtramp_range_determined = 0; -+ static unsigned char *sigtramp_start, *sigtramp_end; -+ -+ if (sigtramp_range_determined == 0) -+ { -+ struct kinfo_sigtramp kst = {0}; -+ size_t len = sizeof (kst); -+ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_SIGTRAMP, getpid() }; -+ -+ sigtramp_range_determined = 1; -+ if (sysctl (mib, 4, &kst, &len, NULL, 0) == 0) -+ { -+ sigtramp_range_determined = 2; -+ sigtramp_start = kst.ksigtramp_start; -+ sigtramp_end = kst.ksigtramp_end; -+ } -+ } -+ if (sigtramp_range_determined < 2) /* sysctl failed if < 2 */ -+ return 1; -+ -+ return (pc < sigtramp_start || pc >= sigtramp_end); -+} -+#endif -+ - static _Unwind_Reason_Code - x86_64_freebsd_fallback_frame_state - (struct _Unwind_Context *context, _Unwind_FrameState *fs) -@@ -43,6 +78,7 @@ - struct sigframe *sf; - long new_cfa; - -+#ifndef KERN_PROC_SIGTRAMP - /* Prior to FreeBSD 9, the signal trampoline was located immediately - before the ps_strings. To support non-executable stacks on AMD64, - the sigtramp was moved to a shared page for FreeBSD 9. Unfortunately -@@ -62,12 +98,15 @@ - && *(unsigned int *)(context->ra + 8) == 0x01a1c0c7 - && *(unsigned int *)(context->ra + 12) == 0x050f0000 )) - return _URC_END_OF_STACK; -+#else -+ if (x86_64_outside_sigtramp_range(context->ra)) -+ return _URC_END_OF_STACK; -+#endif - - sf = (struct sigframe *) context->cfa; - new_cfa = sf->REG_NAME(rsp); - fs->regs.cfa_how = CFA_REG_OFFSET; -- /* Register 7 is rsp */ -- fs->regs.cfa_reg = 7; -+ fs->regs.cfa_reg = __LIBGCC_STACK_POINTER_REGNUM__; - fs->regs.cfa_offset = new_cfa - (long) context->cfa; - - /* The SVR4 register numbering macros aren't usable in libgcc. */ |