Index: head/devel/aarch64-gcc/Makefile
===================================================================
--- head/devel/aarch64-gcc/Makefile
+++ head/devel/aarch64-gcc/Makefile
@@ -1,6 +1,5 @@
# $FreeBSD$
-PORTREVISION= 1
PKGNAMEPREFIX= aarch64-
PLIST= ${.CURDIR}/pkg-plist
Index: head/devel/aarch64-none-elf-gcc/Makefile
===================================================================
--- head/devel/aarch64-none-elf-gcc/Makefile
+++ head/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
Index: head/devel/arm-none-eabi-gcc/Makefile
===================================================================
--- head/devel/arm-none-eabi-gcc/Makefile
+++ head/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
Index: head/devel/mips-gcc/Makefile
===================================================================
--- head/devel/mips-gcc/Makefile
+++ head/devel/mips-gcc/Makefile
@@ -1,6 +1,5 @@
# $FreeBSD$
-PORTREVISION= 1
PKGNAMEPREFIX= mips-
PLIST= ${.CURDIR}/pkg-plist
Index: head/devel/mips64-gcc/Makefile
===================================================================
--- head/devel/mips64-gcc/Makefile
+++ head/devel/mips64-gcc/Makefile
@@ -1,6 +1,5 @@
# $FreeBSD$
-PORTREVISION= 1
PKGNAMEPREFIX= mips64-
PLIST= ${.CURDIR}/pkg-plist
Index: head/devel/powerpc64-gcc/Makefile
===================================================================
--- head/devel/powerpc64-gcc/Makefile
+++ head/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 @@
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 @@
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}" \
Index: head/devel/powerpc64-gcc/distinfo
===================================================================
--- head/devel/powerpc64-gcc/distinfo
+++ head/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
Index: head/devel/powerpc64-gcc/files/patch-aarch64-support
===================================================================
--- head/devel/powerpc64-gcc/files/patch-aarch64-support
+++ head/devel/powerpc64-gcc/files/patch-aarch64-support
@@ -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
-+# .
-+
-+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
-+ . */
-+
-+#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;
Index: head/devel/powerpc64-gcc/files/patch-gcc_ubsan.c
===================================================================
--- head/devel/powerpc64-gcc/files/patch-gcc_ubsan.c
+++ head/devel/powerpc64-gcc/files/patch-gcc_ubsan.c
@@ -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;
-
Index: head/devel/sparc64-gcc/Makefile
===================================================================
--- head/devel/sparc64-gcc/Makefile
+++ head/devel/sparc64-gcc/Makefile
@@ -1,6 +1,5 @@
# $FreeBSD$
-PORTREVISION= 1
PKGNAMEPREFIX= sparc64-
PLIST= ${.CURDIR}/pkg-plist