aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2018-01-26 09:50:19 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2018-01-26 09:50:19 +0000
commitfa772845f4307f41fb789fd548759a622091b37f (patch)
tree94abb57eef8f9b125fefb850bd9df41b8d0b4846 /lang
parent987dde5a0857128650bc26eee8626132ab7c73bf (diff)
downloadports-fa772845f4307f41fb789fd548759a622091b37f.tar.gz
ports-fa772845f4307f41fb789fd548759a622091b37f.zip
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/gcc7/Makefile3
-rw-r--r--lang/gcc7/distinfo6
-rw-r--r--lang/gcc7/files/patch-armv7-support21
-rw-r--r--lang/gcc7/files/patch-freebsd-unwind.h90
4 files changed, 4 insertions, 116 deletions
diff --git a/lang/gcc7/Makefile b/lang/gcc7/Makefile
index 067e32cf9cd2..eb7aaea05dba 100644
--- a/lang/gcc7/Makefile
+++ b/lang/gcc7/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= gcc
-PORTVERSION= 7.2.0
-PORTREVISION= 4
+PORTVERSION= 7.3.0
CATEGORIES= lang
MASTER_SITES= GCC/releases/gcc-${DISTVERSION}
PKGNAMESUFFIX= ${SUFFIX}
diff --git a/lang/gcc7/distinfo b/lang/gcc7/distinfo
index 506ad88dbd4c..3485bd3405f5 100644
--- a/lang/gcc7/distinfo
+++ b/lang/gcc7/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1502753387
-SHA256 (gcc-7.2.0.tar.xz) = 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a
-SIZE (gcc-7.2.0.tar.xz) = 62312628
+TIMESTAMP = 1516953569
+SHA256 (gcc-7.3.0.tar.xz) = 832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c
+SIZE (gcc-7.3.0.tar.xz) = 62462388
diff --git a/lang/gcc7/files/patch-armv7-support b/lang/gcc7/files/patch-armv7-support
deleted file mode 100644
index faaec9c9d5c2..000000000000
--- a/lang/gcc7/files/patch-armv7-support
+++ /dev/null
@@ -1,21 +0,0 @@
---- UTC
-Index: gcc/config.gcc
-===================================================================
---- gcc/config.gcc (revision 253513)
-+++ gcc/config.gcc (working copy)
-@@ -1077,11 +1077,14 @@
- case $target in
- armv6*-*-freebsd*)
- target_cpu_cname="arm1176jzfs"
-- tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
- if test $fbsd_major -ge 11; then
- tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
- fi
- ;;
-+ armv7*-*-freebsd*)
-+ target_cpu_cname="genericv7a"
-+ tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
-+ ;;
- *)
- target_cpu_cname="arm9"
- ;;
diff --git a/lang/gcc7/files/patch-freebsd-unwind.h b/lang/gcc7/files/patch-freebsd-unwind.h
deleted file mode 100644
index dfc68fc0191c..000000000000
--- a/lang/gcc7/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. */