mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-15 03:14:23 +00: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
@ -6,8 +6,6 @@ LIB_DEPENDS= libgmp.so:math/gmp
|
||||
LIB_DEPENDS+= libmpfr.so:math/mpfr
|
||||
LIB_DEPENDS+= libmpc.so:math/mpc
|
||||
|
||||
ONLY_FOR_ARCHS= i386 amd64
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
USES= gmake libtool perl5 tar:bzip2
|
||||
USE_PERL5= build
|
||||
|
@ -3,13 +3,13 @@
|
||||
GCC_BRANCH= 6
|
||||
GCC_POINT= 3.0
|
||||
GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
|
||||
SNAPSHOT= 20161221
|
||||
BUILD_RELEASE= yes
|
||||
SNAPSHOT= 20170202
|
||||
BUILD_RELEASE= no
|
||||
MAIN_PR= 0
|
||||
UTIL_PR= 0
|
||||
ARMV7_PR= 1
|
||||
ARM64_PR= 1
|
||||
X86_PR= 1
|
||||
ARMV7_PR= 0
|
||||
ARM64_PR= 0
|
||||
X86_PR= 0
|
||||
|
||||
.if ${BUILD_RELEASE:Mno}
|
||||
# Snapshot naming pattern
|
||||
|
@ -1,6 +1,6 @@
|
||||
TIMESTAMP = 1482513153
|
||||
SHA256 (gcc-6.3.0.tar.bz2) = f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f
|
||||
SIZE (gcc-6.3.0.tar.bz2) = 99903185
|
||||
TIMESTAMP = 1486228092
|
||||
SHA256 (gcc-6-20170202.tar.bz2) = 339411f9ec780ba1f779417ea2a3206b69ee11de293aea27fff4658d7e56d0c5
|
||||
SIZE (gcc-6-20170202.tar.bz2) = 95743873
|
||||
SHA256 (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 7231209f2600275f554f788ad1d036cf633c4339ebd25bd479a5bb1ddcddedf3
|
||||
SIZE (ada-bootstrap.i386.freebsd.100B.tar.bz2) = 41229192
|
||||
SHA256 (ada-bootstrap.x86_64.dragonfly.41.tar.bz2) = eb7785d8b842aee2bb04b43adfb1346b178ee4e83d8775b4e6705fd23f1586f0
|
||||
|
@ -9,150 +9,30 @@
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
#undef LINK_SPEC
|
||||
--- /dev/null
|
||||
--- gcc/config/aarch64/aarch64-freebsd.h.orig
|
||||
+++ gcc/config/aarch64/aarch64-freebsd.h
|
||||
@@ -0,0 +1,97 @@
|
||||
+/* 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: \
|
||||
+ %{!static: --hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
+ %{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
|
||||
+
|
||||
@@ -41,6 +41,7 @@
|
||||
%{symbolic:-Bsymbolic} \
|
||||
%{static:-Bstatic} \
|
||||
%{!static: \
|
||||
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
%{!shared:-dynamic-linker " FBSD_DYNAMIC_LINKER " }} \
|
||||
-X" SUBTARGET_EXTRA_LINK_SPEC " \
|
||||
@@ -91,4 +92,6 @@
|
||||
#undef TARGET_BINDS_LOCAL_P
|
||||
#define TARGET_BINDS_LOCAL_P default_binds_local_p_2
|
||||
|
||||
+/* Static stack checking is supported by means of probes. */
|
||||
+#define STACK_CHECK_STATIC_BUILTIN 1
|
||||
+#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
|
||||
#endif /* GCC_AARCH64_FREEBSD_H */
|
||||
--- gcc/config/i386/freebsd.h.orig
|
||||
+++ gcc/config/i386/freebsd.h
|
||||
@@ -77,6 +77,12 @@
|
||||
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 @@
|
||||
@@ -88,6 +88,7 @@
|
||||
%{rdynamic:-export-dynamic} \
|
||||
-dynamic-linker %(fbsd_dynamic_linker) } \
|
||||
%{static:-Bstatic}} \
|
||||
+ %{!static:" ELF_HASH_STYLE "-rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
%{symbolic:-Bsymbolic}"
|
||||
|
||||
/* A C statement to output to the stdio stream FILE an assembler
|
||||
@ -162,20 +42,8 @@
|
||||
%{rdynamic:-export-dynamic} \
|
||||
-dynamic-linker %(fbsd_dynamic_linker) } \
|
||||
%{static:-Bstatic}} \
|
||||
+ %{!static:" ELF_HASH_STYLE "-rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
+ %{!static:--hash-style=gnu -rpath @PREFIX@/@GCCAUX@/lib} \
|
||||
%{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
|
||||
@@ -1185,7 +1185,6 @@
|
||||
@ -237,84 +105,3 @@
|
||||
if [ ! -f gcc-cross$(exeext) ] \
|
||||
&& [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \
|
||||
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>
|
||||
--- libstdc++-v3/src/filesystem/dir.cc.orig
|
||||
+++ libstdc++-v3/src/filesystem/dir.cc
|
||||
@@ -147,7 +147,13 @@
|
||||
@@ -146,7 +146,13 @@
|
||||
|
||||
int err = std::exchange(errno, 0);
|
||||
const auto entp = readdir(dirp);
|
||||
|
Loading…
Reference in New Issue
Block a user