This is the final bugfix release in the gcc-5 series.
Compile and run tested on macOS 10.13 (Xcode 9), mvebu/ar71xx.
Removed redundant patch for macOS (backported upstream by yours truly)
Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
default "arc-2017.03-release" if GCC_VERSION_6_3_ARC
default "6.3.0" if GCC_USE_VERSION_6
default "7.2.0" if GCC_USE_VERSION_7
- default "5.4.0"
+ default "5.5.0"
config GCC_VERSION_6_3
bool
GCC_DIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-ifeq ($(PKG_VERSION),5.4.0)
- PKG_HASH:=608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a
+ifeq ($(PKG_VERSION),5.5.0)
+ PKG_HASH:=530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87
endif
ifeq ($(PKG_VERSION),6.3.0)
PKG_HASH:=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f
+ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
endif
ifeq ($(PKG_VERSION),7.2.0)
PKG_HASH:=1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a
- PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
endif
ifneq ($(CONFIG_GCC_VERSION_6_3_ARC),)
+++ /dev/null
---- a/gcc/system.h
-+++ b/gcc/system.h
-@@ -216,6 +216,7 @@ extern int errno;
-
- #ifdef __cplusplus
- # include <algorithm>
-+# include <map>
- # include <cstring>
- # include <utility>
- #endif
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
-@@ -2941,18 +2941,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
+@@ -2943,18 +2943,10 @@ doc/gcc.info: $(TEXI_GCC_FILES)
doc/gccint.info: $(TEXI_GCCINT_FILES)
doc/cppinternals.info: $(TEXI_CPPINT_FILES)
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
-@@ -667,7 +667,7 @@ Objective-C and Objective-C++ Dialects}.
+@@ -668,7 +668,7 @@ Objective-C and Objective-C++ Dialects}.
-mcpu=@var{cpu}}
@emph{GNU/Linux Options}
-tno-android-cc -tno-android-ld}
@emph{H8/300 Options}
-@@ -15340,13 +15340,19 @@ These @samp{-m} options are defined for
+@@ -15351,13 +15351,19 @@ These @samp{-m} options are defined for
@item -mglibc
@opindex mglibc
Use the GNU C library. This is the default except
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
--- a/gcc/config/rs6000/secureplt.h
+++ b/gcc/config/rs6000/secureplt.h
-@@ -18,3 +18,4 @@ along with GCC; see the file COPYING3.
+@@ -18,3 +18,4 @@ along with GCC; see the file COPYING3.
<http://www.gnu.org/licenses/>. */
#define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"
+#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","le")
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
-@@ -2416,6 +2416,10 @@ powerpc*-*-linux*)
+@@ -2430,6 +2430,10 @@ powerpc*-*-linux*)
powerpc*-*-linux*paired*)
tm_file="${tm_file} rs6000/750cl.h" ;;
esac
gcc/config.gcc | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index 8827dc8..e544d76 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
-@@ -1465,7 +1465,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-gnu* | i[34567]8
+@@ -1455,7 +1455,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfree
extra_options="${extra_options} linux-android.opt"
# Assume modern glibc if not targeting Android nor uclibc.
case ${target} in
;;
*)
default_gnu_indirect_function=yes
-@@ -1531,7 +1531,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
+@@ -1524,7 +1524,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu
extra_options="${extra_options} linux-android.opt"
# Assume modern glibc if not targeting Android nor uclibc.
case ${target} in
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
-@@ -21500,7 +21500,7 @@ rs6000_savres_strategy (rs6000_stack_t *
+@@ -21528,7 +21528,7 @@ rs6000_savres_strategy (rs6000_stack_t *
/* Define cutoff for using out-of-line functions to save registers. */
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
{
case OPT_fconstant_string_class_:
constant_string_class_name = arg;
break;
-@@ -1034,6 +1043,47 @@ c_common_init (void)
+@@ -1039,6 +1048,47 @@ c_common_init (void)
return false;
}
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-signedness -Wformat-y2k @gol
-@@ -5382,6 +5382,22 @@ This option is only supported for C and
+@@ -5388,6 +5388,22 @@ This option is only supported for C and
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with
@option{-Wno-pointer-sign}.
@item -Wstack-protector
@opindex Wstack-protector
@opindex Wno-stack-protector
-@@ -7860,7 +7876,7 @@ so, the first branch is redirected to ei
+@@ -7866,7 +7882,7 @@ so, the first branch is redirected to ei
second branch or a point immediately following it, depending on whether
the condition is known to be true or false.
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -8807,8 +8807,10 @@ getenv_spec_function (int argc, const ch
+@@ -8828,8 +8828,10 @@ getenv_spec_function (int argc, const ch
value = getenv (argv[0]);
if (!value)
libffi/src/mips/o32.S | 17 +++++++++++++++++
2 files changed, 34 insertions(+)
-diff --git a/libffi/src/mips/n32.S b/libffi/src/mips/n32.S
-index c6985d3..8f25994 100644
--- a/libffi/src/mips/n32.S
+++ b/libffi/src/mips/n32.S
-@@ -107,6 +107,16 @@ loadregs:
+@@ -107,6 +107,16 @@ loadregs:
REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6.
and t4, t6, ((1<<FFI_FLAG_BITS)-1)
REG_L a0, 0*FFI_SIZEOF_ARG(t9)
beqz t4, arg1_next
-@@ -193,6 +203,7 @@ arg7_next:
+@@ -193,6 +203,7 @@ arg7_next:
arg8_doublep:
l.d $f19, 7*FFI_SIZEOF_ARG(t9)
arg8_next:
bne t6, FFI_TYPE_FLOAT, retdouble
jal t9
REG_L t4, 4*FFI_SIZEOF_ARG($fp)
-@@ -272,6 +284,7 @@ retstruct_f_d:
+@@ -272,6 +284,7 @@ retstruct_f_d:
s.s $f0, 0(t4)
s.d $f2, 8(t4)
b epilogue
bne v0, FFI_TYPE_FLOAT, cls_retdouble
l.s $f0, V0_OFF2($sp)
b cls_epilogue
-@@ -500,6 +516,7 @@ cls_retstruct_f_d:
+@@ -500,6 +516,7 @@ cls_retstruct_f_d:
l.s $f0, V0_OFF2($sp)
l.d $f2, V1_OFF2($sp)
b cls_epilogue
cls_retstruct_small2:
REG_L v0, V0_OFF2($sp)
-diff --git a/libffi/src/mips/o32.S b/libffi/src/mips/o32.S
-index eb27981..1aff4b1 100644
--- a/libffi/src/mips/o32.S
+++ b/libffi/src/mips/o32.S
@@ -82,13 +82,16 @@ sixteen:
pass_d:
bne t0, FFI_ARGS_D, pass_f
l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
-@@ -130,6 +133,7 @@ pass_f_d:
+@@ -130,6 +133,7 @@ pass_f_d:
# bne t0, FFI_ARGS_F_D, call_it
l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float
1:
REG_L $3, V1_OFF2($fp)
REG_L $2, V0_OFF2($fp)
---
-2.7.4
-
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
-@@ -1421,7 +1421,7 @@ stamp-bits: ${bits_headers}
+@@ -1422,7 +1422,7 @@ stamp-bits: ${bits_headers}
@$(STAMP) stamp-bits
stamp-bits-sup: stamp-bits ${bits_sup_headers}
@item Machine Dependent Options
@xref{Submodel Options,,Hardware Models and Configurations}.
-@@ -11479,6 +11479,12 @@ be searched for header files only for th
+@@ -11485,6 +11485,12 @@ be searched for header files only for th
"@var{file}"}; they are not searched for @code{#include <@var{file}>},
otherwise just like @option{-I}.
Add directory @var{dir} to the list of directories to be searched
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
-@@ -751,6 +751,9 @@ extern void cpp_set_lang (cpp_reader *,
+@@ -751,6 +751,9 @@ extern void cpp_set_lang (cpp_reader *,
/* Set the include paths. */
extern void cpp_set_include_chains (cpp_reader *, cpp_dir *, cpp_dir *, int);