mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
lang/gcc6-aux: Upgrade version 20161221 => 20170202 (gcc 6.3 snapshot)
The gcc6-aux compiler is being prepared to support aarch63. The last release, 6.3.0, is missing backported support for aarch64 in general and aarch64-*-freebsd* in particularly. Do a rare update the latest snapshot in order to capture aarch64 support.
This commit is contained in:
parent
a2a40c8989
commit
a6b8e36be9
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=433328
5 changed files with 26 additions and 241 deletions
|
@ -6,8 +6,6 @@ LIB_DEPENDS= libgmp.so:math/gmp
|
||||||
LIB_DEPENDS+= libmpfr.so:math/mpfr
|
LIB_DEPENDS+= libmpfr.so:math/mpfr
|
||||||
LIB_DEPENDS+= libmpc.so:math/mpc
|
LIB_DEPENDS+= libmpc.so:math/mpc
|
||||||
|
|
||||||
ONLY_FOR_ARCHS= i386 amd64
|
|
||||||
|
|
||||||
GNU_CONFIGURE= yes
|
GNU_CONFIGURE= yes
|
||||||
USES= gmake libtool perl5 tar:bzip2
|
USES= gmake libtool perl5 tar:bzip2
|
||||||
USE_PERL5= build
|
USE_PERL5= build
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
GCC_BRANCH= 6
|
GCC_BRANCH= 6
|
||||||
GCC_POINT= 3.0
|
GCC_POINT= 3.0
|
||||||
GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
|
GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
|
||||||
SNAPSHOT= 20161221
|
SNAPSHOT= 20170202
|
||||||
BUILD_RELEASE= yes
|
BUILD_RELEASE= no
|
||||||
MAIN_PR= 0
|
MAIN_PR= 0
|
||||||
UTIL_PR= 0
|
UTIL_PR= 0
|
||||||
ARMV7_PR= 1
|
ARMV7_PR= 0
|
||||||
ARM64_PR= 1
|
ARM64_PR= 0
|
||||||
X86_PR= 1
|
X86_PR= 0
|
||||||
|
|
||||||
.if ${BUILD_RELEASE:Mno}
|
.if ${BUILD_RELEASE:Mno}
|
||||||
# Snapshot naming pattern
|
# Snapshot naming pattern
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
TIMESTAMP = 1482513153
|
TIMESTAMP = 1486228092
|
||||||
SHA256 (gcc-6.3.0.tar.bz2) = f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f
|
SHA256 (gcc-6-20170202.tar.bz2) = 339411f9ec780ba1f779417ea2a3206b69ee11de293aea27fff4658d7e56d0c5
|
||||||
SIZE (gcc-6.3.0.tar.bz2) = 99903185
|
SIZE (gcc-6-20170202.tar.bz2) = 95743873
|
||||||
SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3
|
SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3
|
||||||
SIZE (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192
|
SIZE (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192
|
||||||
SHA256 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = eb7785d8b842aee2bb04b43adfb1346b178ee4e83d8775b4e6705fd23f1586f0
|
SHA256 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = eb7785d8b842aee2bb04b43adfb1346b178ee4e83d8775b4e6705fd23f1586f0
|
||||||
|
|
|
@ -9,150 +9,30 @@
|
||||||
%{symbolic:-Bsymbolic}"
|
%{symbolic:-Bsymbolic}"
|
||||||
|
|
||||||
#undef LINK_SPEC
|
#undef LINK_SPEC
|
||||||
--- /dev/null
|
--- gcc/config/aarch64/aarch64-freebsd.h.orig
|
||||||
+++ gcc/config/aarch64/aarch64-freebsd.h
|
+++ gcc/config/aarch64/aarch64-freebsd.h
|
||||||
@@ -0,0 +1,97 @@
|
@@ -41,6 +41,7 @@
|
||||||
+/* Definitions for AArch64 running FreeBSD
|
%{symbolic:-Bsymbolic} \
|
||||||
+ Copyright (C) 2016 Free Software Foundation, Inc.
|
%{static:-Bstatic} \
|
||||||
+
|
%{!static: \
|
||||||
+ 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: \
|
|
||||||
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||||
+ %{rdynamic:-export-dynamic} \
|
%{rdynamic:-export-dynamic} \
|
||||||
+ %{!shared:-dynamic-linker " FBSD_DYNAMIC_LINKER " }} \
|
%{!shared:-dynamic-linker " FBSD_DYNAMIC_LINKER " }} \
|
||||||
+ -X" SUBTARGET_EXTRA_LINK_SPEC " \
|
-X" SUBTARGET_EXTRA_LINK_SPEC " \
|
||||||
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}"
|
@@ -91,4 +92,6 @@
|
||||||
+
|
#undef TARGET_BINDS_LOCAL_P
|
||||||
+#if TARGET_FIX_ERR_A53_835769_DEFAULT
|
#define TARGET_BINDS_LOCAL_P default_binds_local_p_2
|
||||||
+#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
|
|
||||||
+
|
|
||||||
+/* Static stack checking is supported by means of probes. */
|
+/* Static stack checking is supported by means of probes. */
|
||||||
+#define STACK_CHECK_STATIC_BUILTIN 1
|
+#define STACK_CHECK_STATIC_BUILTIN 1
|
||||||
+#endif /* GCC_AARCH64_FREEBSD_H */
|
#endif /* GCC_AARCH64_FREEBSD_H */
|
||||||
--- /dev/null
|
|
||||||
+++ gcc/config/aarch64/t-aarch64-freebsd
|
|
||||||
@@ -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/i386/freebsd.h.orig
|
--- gcc/config/i386/freebsd.h.orig
|
||||||
+++ gcc/config/i386/freebsd.h
|
+++ gcc/config/i386/freebsd.h
|
||||||
@@ -77,6 +77,12 @@
|
@@ -88,6 +88,7 @@
|
||||||
When the -shared link option is used a final link is not being
|
|
||||||
done. */
|
|
||||||
|
|
||||||
+#if FBSD_MAJOR < 10
|
|
||||||
+#define ELF_HASH_STYLE "--hash-style=both "
|
|
||||||
+#else
|
|
||||||
+#define ELF_HASH_STYLE "--hash-style=gnu "
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC "\
|
|
||||||
%{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \
|
|
||||||
@@ -88,6 +94,7 @@
|
|
||||||
%{rdynamic:-export-dynamic} \
|
%{rdynamic:-export-dynamic} \
|
||||||
-dynamic-linker %(fbsd_dynamic_linker) } \
|
-dynamic-linker %(fbsd_dynamic_linker) } \
|
||||||
%{static:-Bstatic}} \
|
%{static:-Bstatic}} \
|
||||||
+ %{!static:" ELF_HASH_STYLE "-rpath @PREFIX@/@GCCAUX@/lib} \
|
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||||
%{symbolic:-Bsymbolic}"
|
%{symbolic:-Bsymbolic}"
|
||||||
|
|
||||||
/* A C statement to output to the stdio stream FILE an assembler
|
/* A C statement to output to the stdio stream FILE an assembler
|
||||||
|
@ -162,20 +42,8 @@
|
||||||
%{rdynamic:-export-dynamic} \
|
%{rdynamic:-export-dynamic} \
|
||||||
-dynamic-linker %(fbsd_dynamic_linker) } \
|
-dynamic-linker %(fbsd_dynamic_linker) } \
|
||||||
%{static:-Bstatic}} \
|
%{static:-Bstatic}} \
|
||||||
+ %{!static:" ELF_HASH_STYLE "-rpath @PREFIX@/@GCCAUX@/lib} \
|
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||||
%{symbolic:-Bsymbolic}"
|
%{symbolic:-Bsymbolic}"
|
||||||
--- configure.orig
|
|
||||||
+++ configure
|
|
||||||
@@ -3483,6 +3483,9 @@
|
|
||||||
*-*-vxworks*)
|
|
||||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
|
||||||
;;
|
|
||||||
+ aarch64*-*-freebsd*)
|
|
||||||
+ noconfigdirs="$noconfigdirs target-libffi"
|
|
||||||
+ ;;
|
|
||||||
alpha*-*-*vms*)
|
|
||||||
noconfigdirs="$noconfigdirs ${libgcj}"
|
|
||||||
;;
|
|
||||||
--- gcc/Makefile.in.orig
|
--- gcc/Makefile.in.orig
|
||||||
+++ gcc/Makefile.in
|
+++ gcc/Makefile.in
|
||||||
@@ -1185,7 +1185,6 @@
|
@@ -1185,7 +1185,6 @@
|
||||||
|
@ -237,84 +105,3 @@
|
||||||
if [ ! -f gcc-cross$(exeext) ] \
|
if [ ! -f gcc-cross$(exeext) ] \
|
||||||
&& [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \
|
&& [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \
|
||||||
rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
|
rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
|
||||||
--- gcc/config.gcc.orig
|
|
||||||
+++ gcc/config.gcc
|
|
||||||
@@ -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"
|
|
||||||
@@ -1445,12 +1450,16 @@
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
|
|
||||||
;;
|
|
||||||
i[34567]86-*-netbsdelf*)
|
|
||||||
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
|
||||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h freebsd-stdint.h"
|
|
||||||
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
|
|
||||||
+ tmake_file="${tmake_file} i386/t-crtstuff"
|
|
||||||
+ use_gcc_stdint=wrap
|
|
||||||
;;
|
|
||||||
x86_64-*-netbsd*)
|
|
||||||
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
|
|
||||||
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h freebsd-stdint.h"
|
|
||||||
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
|
|
||||||
+ tmake_file="${tmake_file} i386/t-crtstuff"
|
|
||||||
+ use_gcc_stdint=wrap
|
|
||||||
;;
|
|
||||||
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
|
|
||||||
tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
|
|
||||||
--- gcc/config.host.orig
|
|
||||||
+++ gcc/config.host
|
|
||||||
@@ -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"
|
|
||||||
--- libgcc/config.host.orig
|
|
||||||
+++ libgcc/config.host
|
|
||||||
@@ -242,7 +242,8 @@
|
|
||||||
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
|
||||||
;;
|
|
||||||
*-*-netbsd*)
|
|
||||||
- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
|
|
||||||
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
|
|
||||||
+ tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
|
|
||||||
# NetBSD 1.7 and later are set up to use GCC's crtstuff for
|
|
||||||
# ELF configurations. We will clear extra_parts in the
|
|
||||||
# a.out configurations.
|
|
||||||
@@ -333,6 +334,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
|
|
||||||
@@ -597,9 +603,12 @@
|
|
||||||
md_unwind_header=i386/freebsd-unwind.h
|
|
||||||
;;
|
|
||||||
i[34567]86-*-netbsdelf*)
|
|
||||||
+ tmake_file="${tmake_file} i386/t-crtstuff"
|
|
||||||
+ #md_unwind_header=i386/netbsd-unwind.h
|
|
||||||
;;
|
|
||||||
x86_64-*-netbsd*)
|
|
||||||
tmake_file="${tmake_file} i386/t-crtstuff"
|
|
||||||
+ #md_unwind_header=i386/netbsd-unwind.h
|
|
||||||
;;
|
|
||||||
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
|
|
||||||
;;
|
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
--- libstdc++-v3/src/filesystem/dir.cc.orig
|
--- libstdc++-v3/src/filesystem/dir.cc.orig
|
||||||
+++ libstdc++-v3/src/filesystem/dir.cc
|
+++ libstdc++-v3/src/filesystem/dir.cc
|
||||||
@@ -147,7 +147,13 @@
|
@@ -146,7 +146,13 @@
|
||||||
|
|
||||||
int err = std::exchange(errno, 0);
|
int err = std::exchange(errno, 0);
|
||||||
const auto entp = readdir(dirp);
|
const auto entp = readdir(dirp);
|
||||||
|
|
Loading…
Add table
Reference in a new issue