diff options
author | Alexander Kabaev <kan@FreeBSD.org> | 2018-05-14 05:46:05 +0800 |
---|---|---|
committer | Alexander Kabaev <kan@FreeBSD.org> | 2018-05-14 05:46:05 +0800 |
commit | 527e1ce0f8c95d6d0b2f48983ebc7acc17b7488e (patch) | |
tree | 03dd314376e92ca38ab873356741473139ba7ee0 | |
parent | a330f0ff1ad055781c8e34b462babd6a177981e7 (diff) | |
download | freebsd-ports-gnome-527e1ce0f8c95d6d0b2f48983ebc7acc17b7488e.tar.gz freebsd-ports-gnome-527e1ce0f8c95d6d0b2f48983ebc7acc17b7488e.tar.zst freebsd-ports-gnome-527e1ce0f8c95d6d0b2f48983ebc7acc17b7488e.zip |
Upgrade ext-toolchain GCC ports to GCC 6.4.0
This is the latest supported release in GCC 6.x series.
Drop aarch64 support patch - it has been committed upstream.
Enable ifunc suppport by default.
PR: 228161
Reviewed by: bapt (update part)
Differential Revision: https://reviews.freebsd.org/D13602
-rw-r--r-- | devel/aarch64-gcc/Makefile | 1 | ||||
-rw-r--r-- | devel/aarch64-none-elf-gcc/Makefile | 1 | ||||
-rw-r--r-- | devel/arm-none-eabi-gcc/Makefile | 1 | ||||
-rw-r--r-- | devel/mips-gcc/Makefile | 1 | ||||
-rw-r--r-- | devel/mips64-gcc/Makefile | 1 | ||||
-rw-r--r-- | devel/powerpc64-gcc/Makefile | 6 | ||||
-rw-r--r-- | devel/powerpc64-gcc/distinfo | 6 | ||||
-rw-r--r-- | devel/powerpc64-gcc/files/patch-aarch64-support | 234 | ||||
-rw-r--r-- | devel/powerpc64-gcc/files/patch-gcc_ubsan.c | 11 | ||||
-rw-r--r-- | devel/sparc64-gcc/Makefile | 1 |
10 files changed, 6 insertions, 257 deletions
diff --git a/devel/aarch64-gcc/Makefile b/devel/aarch64-gcc/Makefile index f64de61ac1ea..020dd89db304 100644 --- a/devel/aarch64-gcc/Makefile +++ b/devel/aarch64-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= aarch64- PLIST= ${.CURDIR}/pkg-plist diff --git a/devel/aarch64-none-elf-gcc/Makefile b/devel/aarch64-none-elf-gcc/Makefile index 5b57601aac3c..f168c4b23233 100644 --- a/devel/aarch64-none-elf-gcc/Makefile +++ b/devel/aarch64-none-elf-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= aarch64-none-elf- COMMENT= GNU Compiler Collection for bare metal arm cross-development GCC_TARGET= aarch64-none-elf diff --git a/devel/arm-none-eabi-gcc/Makefile b/devel/arm-none-eabi-gcc/Makefile index 4c3cfebd2455..b46640c2a973 100644 --- a/devel/arm-none-eabi-gcc/Makefile +++ b/devel/arm-none-eabi-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= arm-none-eabi- COMMENT= GNU Compiler Collection for bare metal arm cross-development GCC_TARGET= arm-none-eabi diff --git a/devel/mips-gcc/Makefile b/devel/mips-gcc/Makefile index 70d0e4a43c28..d5b1a9f6e156 100644 --- a/devel/mips-gcc/Makefile +++ b/devel/mips-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= mips- PLIST= ${.CURDIR}/pkg-plist diff --git a/devel/mips64-gcc/Makefile b/devel/mips64-gcc/Makefile index 19f428526b0a..d432f0d70749 100644 --- a/devel/mips64-gcc/Makefile +++ b/devel/mips64-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= mips64- PLIST= ${.CURDIR}/pkg-plist diff --git a/devel/powerpc64-gcc/Makefile b/devel/powerpc64-gcc/Makefile index 6f36721460c7..41ecac371c23 100644 --- a/devel/powerpc64-gcc/Makefile +++ b/devel/powerpc64-gcc/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= gcc -PORTVERSION= 6.3.0 -PORTREVISION= 5 +PORTVERSION= 6.4.0 CATEGORIES= devel MASTER_SITES= GCC/releases/gcc-${DISTVERSION} PKGNAMEPREFIX?= powerpc64- @@ -19,7 +18,7 @@ LIB_DEPENDS= libgmp.so:math/gmp \ BUILD_DEPENDS= ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils RUN_DEPENDS= ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils -USES= gmake iconv libtool tar:bzip2 makeinfo compiler +USES= gmake iconv libtool tar:xz makeinfo compiler PLIST_SUB= TARGETARCH=${PKGNAMEPREFIX:C/-//g} \ OPSYS=${OPSYS:tl} \ GCC_TARGET=${GCC_TARGET} \ @@ -42,6 +41,7 @@ TARGETARCH=${PKGNAMEPREFIX:C/-//g} GNU_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \ + --enable-gnu-indirect-function \ --without-headers \ --with-gmp=${LOCALBASE} \ --with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \ diff --git a/devel/powerpc64-gcc/distinfo b/devel/powerpc64-gcc/distinfo index 27d816b9e172..625233542871 100644 --- a/devel/powerpc64-gcc/distinfo +++ b/devel/powerpc64-gcc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1482670316 -SHA256 (gcc-6.3.0.tar.bz2) = f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f -SIZE (gcc-6.3.0.tar.bz2) = 99903185 +TIMESTAMP = 1514072608 +SHA256 (gcc-6.4.0.tar.xz) = 850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4 +SIZE (gcc-6.4.0.tar.xz) = 76156220 diff --git a/devel/powerpc64-gcc/files/patch-aarch64-support b/devel/powerpc64-gcc/files/patch-aarch64-support deleted file mode 100644 index 7107bbac4cdb..000000000000 --- a/devel/powerpc64-gcc/files/patch-aarch64-support +++ /dev/null @@ -1,234 +0,0 @@ ---- UTC ---- configure.ac.orig 2016-03-17 23:54:19.000000000 +0100 -+++ configure.ac 2016-10-20 21:29:03.780044000 +0200 -@@ -819,6 +819,9 @@ - *-*-vxworks*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; -+ aarch64*-*-freebsd*) -+ noconfigdirs="$noconfigdirs ${libgcj}" -+ ;; - alpha*-*-*vms*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; ---- configure.orig 2016-03-17 23:54:19.000000000 +0100 -+++ configure 2016-10-20 21:29:03.779159000 +0200 -@@ -3483,6 +3483,9 @@ - *-*-vxworks*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; -+ aarch64*-*-freebsd*) -+ noconfigdirs="$noconfigdirs ${libgcj}" -+ ;; - alpha*-*-*vms*) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; ---- libgcc/config.host.orig 2016-05-17 08:15:52.000000000 +0200 -+++ libgcc/config.host 2016-10-20 21:29:03.782426000 +0200 -@@ -333,6 +333,11 @@ - tmake_file="${tmake_file} ${cpu_type}/t-aarch64" - tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" - ;; -+aarch64*-*-freebsd*) -+ extra_parts="$extra_parts crtfastmath.o" -+ tmake_file="${tmake_file} ${cpu_type}/t-aarch64" -+ tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" -+ ;; - aarch64*-*-linux*) - extra_parts="$extra_parts crtfastmath.o" - md_unwind_header=aarch64/linux-unwind.h ---- gcc/config.host.orig 2016-01-04 15:30:50.000000000 +0100 -+++ gcc/config.host 2016-10-20 21:29:03.781971000 +0200 -@@ -99,7 +99,7 @@ - esac - - case ${host} in -- aarch64*-*-linux*) -+ aarch64*-*-freebsd* | aarch64*-*-linux*) - case ${target} in - aarch64*-*-*) - host_extra_gcc_objs="driver-aarch64.o" ---- gcc/config.gcc.orig 2016-06-08 15:34:25.000000000 +0200 -+++ gcc/config.gcc 2016-10-20 21:29:03.781684000 +0200 -@@ -941,6 +941,11 @@ - done - TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'` - ;; -+aarch64*-*-freebsd*) -+ tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file}" -+ tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-freebsd.h" -+ tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-freebsd" -+ ;; - aarch64*-*-linux*) - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h" - tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" ---- gcc/config/aarch64/t-aarch64-freebsd.orig 2016-10-20 21:29:03.780409000 +0200 -+++ gcc/config/aarch64/t-aarch64-freebsd 2016-10-20 21:29:03.780540000 +0200 -@@ -0,0 +1,21 @@ -+# Machine description for AArch64 architecture. -+# Copyright (C) 2016 Free Software Foundation, Inc. -+# -+# This file is part of GCC. -+# -+# GCC is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3, or (at your option) -+# any later version. -+# -+# GCC is distributed in the hope that it will be useful, but -+# WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with GCC; see the file COPYING3. If not see -+# <http://www.gnu.org/licenses/>. -+ -+LIB1ASMSRC = aarch64/lib1funcs.asm -+LIB1ASMFUNCS = _aarch64_sync_cache_range ---- gcc/config/aarch64/aarch64-freebsd.h.orig 2016-10-20 21:29:03.780130000 +0200 -+++ gcc/config/aarch64/aarch64-freebsd.h 2016-10-20 21:29:03.780349000 +0200 -@@ -0,0 +1,98 @@ -+/* Definitions for AArch64 running FreeBSD -+ Copyright (C) 2016 Free Software Foundation, Inc. -+ -+ This file is part of GCC. -+ -+ GCC is free software; you can redistribute it and/or modify it -+ under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3, or (at your option) -+ any later version. -+ -+ GCC is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with GCC; see the file COPYING3. If not see -+ <http://www.gnu.org/licenses/>. */ -+ -+#ifndef GCC_AARCH64_FREEBSD_H -+#define GCC_AARCH64_FREEBSD_H -+ -+#undef SUBTARGET_CPP_SPEC -+#define SUBTARGET_CPP_SPEC FBSD_CPP_SPEC -+ -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define TARGET_LINKER_EMULATION "aarch64fbsdb" -+#else -+#define TARGET_LINKER_EMULATION "aarch64fbsd" -+#endif -+ -+#undef SUBTARGET_EXTRA_LINK_SPEC -+#define SUBTARGET_EXTRA_LINK_SPEC " -m" TARGET_LINKER_EMULATION -+ -+#undef FBSD_TARGET_LINK_SPEC -+#define FBSD_TARGET_LINK_SPEC " \ -+ %{p:%nconsider using `-pg' instead of `-p' with gprof (1) } \ -+ %{v:-V} \ -+ %{assert*} %{R*} %{rpath*} %{defsym*} \ -+ %{shared:-Bshareable %{h*} %{soname*}} \ -+ %{symbolic:-Bsymbolic} \ -+ %{static:-Bstatic} \ -+ %{!static: \ -+ %{rdynamic:-export-dynamic} \ -+ %{!shared:-dynamic-linker " FBSD_DYNAMIC_LINKER " }} \ -+ -X" SUBTARGET_EXTRA_LINK_SPEC " \ -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" -+ -+#if TARGET_FIX_ERR_A53_835769_DEFAULT -+#define CA53_ERR_835769_SPEC \ -+ " %{!mno-fix-cortex-a53-835769:--fix-cortex-a53-835769}" -+#else -+#define CA53_ERR_835769_SPEC \ -+ " %{mfix-cortex-a53-835769:--fix-cortex-a53-835769}" -+#endif -+ -+#ifdef TARGET_FIX_ERR_A53_843419_DEFAULT -+#define CA53_ERR_843419_SPEC \ -+ " %{!mno-fix-cortex-a53-843419:--fix-cortex-a53-843419}" -+#else -+#define CA53_ERR_843419_SPEC \ -+ " %{mfix-cortex-a53-843419:--fix-cortex-a53-843419}" -+#endif -+ -+#undef LINK_SPEC -+#define LINK_SPEC FBSD_TARGET_LINK_SPEC \ -+ CA53_ERR_835769_SPEC \ -+ CA53_ERR_843419_SPEC -+ -+#define GNU_USER_TARGET_MATHFILE_SPEC \ -+ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ -+ GNU_USER_TARGET_MATHFILE_SPEC " " \ -+ FBSD_ENDFILE_SPEC -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ FBSD_TARGET_OS_CPP_BUILTINS (); \ -+ } \ -+ while (false) -+ -+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack -+ -+/* Uninitialized common symbols in non-PIE executables, even with -+ strong definitions in dependent shared libraries, will resolve -+ to COPY relocated symbol in the executable. See PR65780. */ -+#undef TARGET_BINDS_LOCAL_P -+#define TARGET_BINDS_LOCAL_P default_binds_local_p_2 -+ -+/* Use the AAPCS type for wchar_t, override the one from config/freebsd.h. */ -+#undef WCHAR_TYPE -+#define WCHAR_TYPE "unsigned int" -+ -+#endif /* GCC_AARCH64_FREEBSD_H */ -Index: gcc/dwarf2out.c -=================================================================== ---- gcc/dwarf2out.c (revision 244100) -+++ gcc/dwarf2out.c (working copy) -@@ -23752,7 +23752,16 @@ - { - dw_die_ref die = lookup_decl_die (decl); - if (die) -- add_location_or_const_value_attribute (die, decl, false); -+ { -+ /* We get called via the symtab code invoking late_global_decl -+ for symbols that are optimized out. Do not add locations -+ for those. */ -+ varpool_node *node = varpool_node::get (decl); -+ if (! node || ! node->definition) -+ tree_add_const_value_attribute_for_decl (die, decl); -+ else -+ add_location_or_const_value_attribute (die, decl, false); -+ } - } - } - -Index: gcc/cgraphunit.c -=================================================================== ---- gcc/cgraphunit.c (revision 244100) -+++ gcc/cgraphunit.c (working copy) -@@ -1193,8 +1193,16 @@ - at looking at optimized away DECLs, since - late_global_decl will subsequently be called from the - contents of the now pruned symbol table. */ -- if (!decl_function_context (node->decl)) -- (*debug_hooks->late_global_decl) (node->decl); -+ if (VAR_P (node->decl) -+ && !decl_function_context (node->decl)) -+ { -+ /* We are reclaiming totally unreachable code and variables -+ so they effectively appear as readonly. Show that to -+ the debug machinery. */ -+ TREE_READONLY (node->decl) = 1; -+ node->definition = false; -+ (*debug_hooks->late_global_decl) (node->decl); -+ } - - node->remove (); - continue; diff --git a/devel/powerpc64-gcc/files/patch-gcc_ubsan.c b/devel/powerpc64-gcc/files/patch-gcc_ubsan.c deleted file mode 100644 index 19a42422df61..000000000000 --- a/devel/powerpc64-gcc/files/patch-gcc_ubsan.c +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc/ubsan.c.orig 2016-12-07 22:39:29 UTC -+++ gcc/ubsan.c -@@ -1471,7 +1471,7 @@ ubsan_use_new_style_p (location_t loc) - - expanded_location xloc = expand_location (loc); - if (xloc.file == NULL || strncmp (xloc.file, "\1", 2) == 0 -- || xloc.file == '\0' || xloc.file[0] == '\xff' -+ || xloc.file[0] == '\0' || xloc.file[0] == '\xff' - || xloc.file[1] == '\xff') - return false; - diff --git a/devel/sparc64-gcc/Makefile b/devel/sparc64-gcc/Makefile index 01e8bd082fa5..f1d39f349b69 100644 --- a/devel/sparc64-gcc/Makefile +++ b/devel/sparc64-gcc/Makefile @@ -1,6 +1,5 @@ # $FreeBSD$ -PORTREVISION= 1 PKGNAMEPREFIX= sparc64- PLIST= ${.CURDIR}/pkg-plist |