aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2018-10-26 20:23:02 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2018-10-26 20:23:02 +0000
commitb25f38a2affebf0dab4fc68bdd888b4497992220 (patch)
treee85d1076c75cadb599a6e1742c966feacdba87e4 /lang
parent32d235c45fe00f8998d73ce3d0e3d718375c480f (diff)
downloadports-b25f38a2affebf0dab4fc68bdd888b4497992220.tar.gz
ports-b25f38a2affebf0dab4fc68bdd888b4497992220.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.
Notes
Notes: svn path=/head/; revision=483049
Diffstat (limited to 'lang')
-rw-r--r--lang/gcc6/Makefile3
-rw-r--r--lang/gcc6/distinfo6
-rw-r--r--lang/gcc6/files/patch-armv7-support28
-rw-r--r--lang/gcc6/files/patch-freebsd-unwind.h90
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. */