diff options
Diffstat (limited to 'packages/gcc/8.3.0')
25 files changed, 0 insertions, 1644 deletions
diff --git a/packages/gcc/8.3.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/8.3.0/0000-libtool-leave-framework-alone.patch deleted file mode 100644 index 1a86e41..0000000 --- a/packages/gcc/8.3.0/0000-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*|-static-lib*|-shared-lib*|-B*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc/8.3.0/0001-uclibc-conf.patch b/packages/gcc/8.3.0/0001-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc/8.3.0/0001-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc/8.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/8.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index 20a88df..0000000 --- a/packages/gcc/8.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,163 +0,0 @@ ---- - config/gcc-plugin.m4 | 18 +++++++++++++----- - gcc/configure | 22 +++++++++++++++------- - libcc1/configure | 22 +++++++++++++++------- - 3 files changed, 43 insertions(+), 19 deletions(-) - ---- a/config/gcc-plugin.m4 -+++ b/config/gcc-plugin.m4 -@@ -21,6 +21,9 @@ - pluginlibs= - plugin_check=yes - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-mingw*) - # Since plugin support under MinGW is not as straightforward as on -@@ -43,6 +46,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -94,17 +102,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then ---- a/gcc/configure -+++ b/gcc/configure -@@ -29805,6 +29805,9 @@ - pluginlibs= - plugin_check=yes - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-mingw*) - # Since plugin support under MinGW is not as straightforward as on -@@ -29827,6 +29830,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -29939,23 +29947,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/libcc1/configure -+++ b/libcc1/configure -@@ -14554,6 +14554,9 @@ - pluginlibs= - plugin_check=yes - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-mingw*) - # Since plugin support under MinGW is not as straightforward as on -@@ -14576,6 +14579,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -14688,23 +14696,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } diff --git a/packages/gcc/8.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/8.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch deleted file mode 100644 index 5f9a07a..0000000 --- a/packages/gcc/8.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libcc1/connection.cc | 1 + - 1 file changed, 1 insertion(+) - ---- a/libcc1/connection.cc -+++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ - #include <string> - #include <unistd.h> - #include <sys/types.h> -+#include <sys/select.h> - #include <string.h> - #include <errno.h> - #include "marshall.hh" diff --git a/packages/gcc/8.3.0/0004-arm-softfloat-libgcc.patch b/packages/gcc/8.3.0/0004-arm-softfloat-libgcc.patch deleted file mode 100644 index d980036..0000000 --- a/packages/gcc/8.3.0/0004-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -58,7 +58,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc/8.3.0/0005-fix-m68k-uclinux.patch b/packages/gcc/8.3.0/0005-fix-m68k-uclinux.patch deleted file mode 100644 index 02b53bd..0000000 --- a/packages/gcc/8.3.0/0005-fix-m68k-uclinux.patch +++ /dev/null @@ -1,21 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> - ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -847,7 +847,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/packages/gcc/8.3.0/0006-libgfortran-missing-include.patch b/packages/gcc/8.3.0/0006-libgfortran-missing-include.patch deleted file mode 100644 index 6e2e4e4..0000000 --- a/packages/gcc/8.3.0/0006-libgfortran-missing-include.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - libgfortran/io/close.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/libgfortran/io/close.c -+++ b/libgfortran/io/close.c -@@ -28,6 +28,7 @@ - #if !HAVE_UNLINK_OPEN_FILE - #include <string.h> - #endif -+#include <stdlib.h> - - typedef enum - { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc/8.3.0/0007-nios2-bad-multilib-default.patch b/packages/gcc/8.3.0/0007-nios2-bad-multilib-default.patch deleted file mode 100644 index 4acc491..0000000 --- a/packages/gcc/8.3.0/0007-nios2-bad-multilib-default.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/nios2/nios2.h | 4 ++-- - gcc/config/nios2/t-nios2 | 3 +-- - 2 files changed, 3 insertions(+), 4 deletions(-) - ---- a/gcc/config/nios2/nios2.h -+++ b/gcc/config/nios2/nios2.h -@@ -63,11 +63,11 @@ - #if TARGET_ENDIAN_DEFAULT == 0 - # define ASM_SPEC "%{!meb:-EL} %{meb:-EB} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!meb:-EL} %{meb:-EB}" --# define MULTILIB_DEFAULTS { "EL" } -+# define MULTILIB_DEFAULTS { "mel" } - #else - # define ASM_SPEC "%{!mel:-EB} %{mel:-EL} %{march=*:-march=%*}" - # define LINK_SPEC_ENDIAN "%{!mel:-EB} %{mel:-EL}" --# define MULTILIB_DEFAULTS { "EB" } -+# define MULTILIB_DEFAULTS { "meb" } - #endif - - #define LINK_SPEC LINK_SPEC_ENDIAN \ ---- a/gcc/config/nios2/t-nios2 -+++ b/gcc/config/nios2/t-nios2 -@@ -22,6 +22,5 @@ - # MULTILIB_DIRNAMES = nomul mulx fpu-60-1 fpu-60-2 - # MULTILIB_EXCEPTIONS = - --# MULTILIB_OPTIONS += EL/EB -+# MULTILIB_OPTIONS += mel/meb - # MULTILIB_DIRNAMES += le be --# MULTILIB_MATCHES += EL=mel EB=meb diff --git a/packages/gcc/8.3.0/0008-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/8.3.0/0008-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index df91a9f..0000000 --- a/packages/gcc/8.3.0/0008-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,17 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> - ---- - libgcc/config/t-stack | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/libgcc/config/t-stack -+++ b/libgcc/config/t-stack -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/packages/gcc/8.3.0/0009-bionic-ndk.patch b/packages/gcc/8.3.0/0009-bionic-ndk.patch deleted file mode 100644 index 474dd8c..0000000 --- a/packages/gcc/8.3.0/0009-bionic-ndk.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f -Author: Howard Chu <hyc@symas.com> -Date: Tue Apr 25 19:02:18 2017 -0700 - - Fix ctype for newer NDK headers - ---- - libstdc++-v3/config/os/bionic/ctype_base.h | 34 +++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 11 deletions(-) - ---- a/libstdc++-v3/config/os/bionic/ctype_base.h -+++ b/libstdc++-v3/config/os/bionic/ctype_base.h -@@ -28,6 +28,18 @@ - - // Information as gleaned from /usr/include/ctype.h - -+// _CTYPE prefix was added in NDK r14 unified headers -+#ifndef _CTYPE_U -+#define _CTYPE_U _U -+#define _CTYPE_L _L -+#define _CTYPE_D _N -+#define _CTYPE_S _S -+#define _CTYPE_P _P -+#define _CTYPE_C _C -+#define _CTYPE_X _X -+#define _CTYPE_B _B -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -41,17 +53,17 @@ - // NB: Offsets into ctype<char>::_M_table force a particular size - // on the mask type. Because of this, we don't use an enum. - typedef char mask; -- static const mask upper = _U; -- static const mask lower = _L; -- static const mask alpha = _U | _L; -- static const mask digit = _N; -- static const mask xdigit = _X | _N; -- static const mask space = _S; -- static const mask print = _P | _U | _L | _N | _B; -- static const mask graph = _P | _U | _L | _N; -- static const mask cntrl = _C; -- static const mask punct = _P; -- static const mask alnum = _U | _L | _N; -+ static const mask upper = _CTYPE_U; -+ static const mask lower = _CTYPE_L; -+ static const mask alpha = _CTYPE_U | _CTYPE_L; -+ static const mask digit = _CTYPE_D; -+ static const mask xdigit = _CTYPE_X | _CTYPE_D; -+ static const mask space = _CTYPE_S; -+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B; -+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D; -+ static const mask cntrl = _CTYPE_C; -+ static const mask punct = _CTYPE_P; -+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_D; - #if __cplusplus >= 201103L - static const mask blank = space; - #endif diff --git a/packages/gcc/8.3.0/0010-crystax.patch b/packages/gcc/8.3.0/0010-crystax.patch deleted file mode 100644 index 0e3e95c..0000000 --- a/packages/gcc/8.3.0/0010-crystax.patch +++ /dev/null @@ -1,527 +0,0 @@ -commit 080803512c8f6f87c2f1f711170d54033144d628 -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Wed Jul 29 11:28:29 2015 +0300 - - [android] Apply Android-related modifications - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - -[Edited: keep libstdc++, drop libcrystax-related modifications] ---- - gcc/config.gcc | 17 +++++++- - gcc/config/aarch64/aarch64-linux-android.h | 59 +++++++++++++++++++++++++++++ - gcc/config/aarch64/aarch64-linux.h | 9 +++- - gcc/config/arm/arm.h | 3 - - gcc/config/arm/arm.md | 2 - gcc/config/arm/arm.opt | 4 + - gcc/config/arm/elf.h | 9 ++-- - gcc/config/arm/linux-eabi.h | 7 ++- - gcc/config/i386/gnu-user.h | 7 ++- - gcc/config/i386/gnu-user64.h | 5 ++ - gcc/config/i386/linux-common.h | 8 +++ - gcc/config/linux-android.h | 13 +++--- - gcc/config/mips/android.h | 49 ++++++++++++++++++++++++ - gcc/config/mips/gnu-user.h | 6 +- - gcc/config/mips/linux-common.h | 2 - gcc/config/mips/t-linux-android | 3 + - gcc/config/mips/t-linux-android64 | 4 + - libgcc/gthr-posix.h | 13 ++++++ - libstdc++-v3/configure | 12 +++++ - libstdc++-v3/include/bits/locale_facets.h | 18 +++++++- - libstdc++-v3/libsupc++/guard.cc | 5 ++ - 21 files changed, 235 insertions(+), 20 deletions(-) - create mode 100644 gcc/config/aarch64/aarch64-linux-android.h - create mode 100644 gcc/config/mips/android.h - create mode 100644 gcc/config/mips/t-linux-android - create mode 100644 gcc/config/mips/t-linux-android64 - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -981,14 +981,18 @@ - 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} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h" - tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h" -+ extra_options="${extra_options} linux-android.opt" - tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux" - tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" - case $target in - aarch64_be-*) - tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" - ;; -+ aarch64*-*-linux-android*) -+ tm_file="${tm_file} aarch64/aarch64-linux-android.h" -+ ;; - esac - aarch64_multilibs="${with_multilib_list}" - if test "$aarch64_multilibs" = "default"; then -@@ -2133,6 +2137,17 @@ - tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/linux.h mips/linux-common.h" - extra_options="${extra_options} linux-android.opt" - case ${target} in -+ mips64*android*) -+ default_mips_arch=mips64r6 -+ default_mips_abi=64 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="${tmake_file} mips/t-linux-android64" -+ ;; -+ mips*android*) -+ default_mips_arch=mips32 -+ tm_file="${tm_file} mips/android.h" -+ tmake_file="$tmake_file mips/t-linux-android" -+ ;; - mipsisa32r6*) - default_mips_arch=mips32r6 - ;; ---- /dev/null -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -0,0 +1,59 @@ -+/* Machine description for AArch64 architecture. -+ Copyright (C) 2014 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_LINUX_ANDROID_H -+#define GCC_AARCH64_LINUX_ANDROID_H -+ -+ -+#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ -+ } \ -+ while (0) -+ -+#undef LINK_SPEC -+#define LINK_SPEC \ -+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \ -+ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) -+ -+#undef CC1_SPEC -+#define CC1_SPEC \ -+ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) -+ -+#undef LIB_SPEC -+#define LIB_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ -+ GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC) -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ -+ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) -+ -+#endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,14 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - --#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifndef RUNTIME_ROOT_PREFIX -+#define RUNTIME_ROOT_PREFIX "" -+#endif -+#define GLIBC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" -+#ifdef BIONIC_DYNAMIC_LINKER -+#undef BIONIC_DYNAMIC_LINKER -+#endif -+#define BIONIC_DYNAMIC_LINKER RUNTIME_ROOT_PREFIX "/system/bin/linker64" - - #undef MUSL_DYNAMIC_LINKER - #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" ---- a/gcc/config/arm/arm.h -+++ b/gcc/config/arm/arm.h -@@ -1840,10 +1840,11 @@ - - #define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \ - || (TARGET_THUMB1 \ -+ && !inline_thumb1_jump_table \ - && (optimize_size || flag_pic))) - - #define CASE_VECTOR_SHORTEN_MODE(min, max, body) \ -- (TARGET_THUMB1 \ -+ (TARGET_THUMB1 && !inline_thumb1_jump_table \ - ? (min >= 0 && max < 512 \ - ? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \ - : min >= -256 && max < 256 \ ---- a/gcc/config/arm/arm.md -+++ b/gcc/config/arm/arm.md -@@ -8640,7 +8640,7 @@ - (match_operand:SI 2 "const_int_operand" "") ; total range - (match_operand:SI 3 "" "") ; table label - (match_operand:SI 4 "" "")] ; Out of range label -- "(TARGET_32BIT || optimize_size || flag_pic) && !target_pure_code" -+ "(TARGET_32BIT || ((optimize_size || flag_pic) && !inline_thumb1_jump_table)) && !target_pure_code" - " - { - enum insn_code code; ---- a/gcc/config/arm/arm.opt -+++ b/gcc/config/arm/arm.opt -@@ -202,6 +202,10 @@ - Target Report Mask(INTERWORK) - Support calls between Thumb and ARM instruction sets. - -+minline-thumb1-jumptable -+Target Report Var(inline_thumb1_jump_table) -+Inline Thumb1 Jump table code -+ - mtls-dialect= - Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU) - Specify thread local storage scheme. ---- a/gcc/config/arm/elf.h -+++ b/gcc/config/arm/elf.h -@@ -56,8 +56,7 @@ - #undef SUBSUBTARGET_EXTRA_SPECS - #define SUBSUBTARGET_EXTRA_SPECS - --#ifndef ASM_SPEC --#define ASM_SPEC "\ -+#define DEFAULT_ASM_SPEC "\ - %{mbig-endian:-EB} \ - %{mlittle-endian:-EL} \ - %(asm_cpu_spec) \ -@@ -66,6 +65,9 @@ - %{mthumb-interwork:-mthumb-interwork} \ - %{mfloat-abi=*} %{!mfpu=auto: %{mfpu=*}} \ - %(subtarget_extra_asm_spec)" -+ -+#ifndef ASM_SPEC -+#define ASM_SPEC DEFAULT_ASM_SPEC - #endif - - /* The ARM uses @ are a comment character so we need to redefine -@@ -95,7 +97,8 @@ - the code more efficient, but for Thumb-1 it's better to put them out of - band unless we are generating compressed tables. */ - #define JUMP_TABLES_IN_TEXT_SECTION \ -- ((TARGET_32BIT || (TARGET_THUMB && (optimize_size || flag_pic))) \ -+ ((TARGET_32BIT || (TARGET_THUMB && !inline_thumb1_jump_table \ -+ && (optimize_size || flag_pic))) \ - && !target_pure_code) - - #ifndef LINK_SPEC ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -102,11 +102,16 @@ - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC, \ - GNU_USER_TARGET_CC1_SPEC " " ASAN_CC1_SPEC " " \ -- ANDROID_CC1_SPEC) -+ ANDROID_CC1_SPEC("-fpic")) - - #define CC1PLUS_SPEC \ - LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - -+#undef ASM_SPEC -+#define ASM_SPEC \ -+ LINUX_OR_ANDROID_CC (DEFAULT_ASM_SPEC, \ -+ DEFAULT_ASM_SPEC " " ANDROID_ASM_SPEC) -+ - #undef LIB_SPEC - #define LIB_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ ---- a/gcc/config/i386/gnu-user.h -+++ b/gcc/config/i386/gnu-user.h -@@ -65,9 +65,14 @@ - When the -shared link option is used a final link is not being - done. */ - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ " -mssse3 -fno-short-enums " \ -+ - #undef ASM_SPEC - #define ASM_SPEC \ -- "--32 %{msse2avx:%{!mavx:-msse2avx}}" -+ "--32 %{msse2avx:%{!mavx:-msse2avx}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ ---- a/gcc/config/i386/gnu-user64.h -+++ b/gcc/config/i386/gnu-user64.h -@@ -46,6 +46,11 @@ - #define SPEC_X32 "mx32" - #endif - -+#undef ANDROID_TARGET_CC1_SPEC -+#define ANDROID_TARGET_CC1_SPEC \ -+ "%{m32:-mssse3 -fno-short-enums}" \ -+ "%{!m32:-msse4.2 -mpopcnt}" -+ - #undef ASM_SPEC - #define ASM_SPEC "%{" SPEC_32 ":--32} \ - %{" SPEC_64 ":--64} \ ---- a/gcc/config/i386/linux-common.h -+++ b/gcc/config/i386/linux-common.h -@@ -30,7 +30,13 @@ - #undef CC1_SPEC - #define CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC \ -+ ANDROID_TARGET_CC1_SPEC \ -+ " " \ -+ ANDROID_CC1_SPEC("-fPIC")) -+ -+#define CC1PLUS_SPEC \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) - - #undef LINK_SPEC - #define LINK_SPEC \ ---- a/gcc/config/linux-android.h -+++ b/gcc/config/linux-android.h -@@ -38,15 +38,18 @@ - "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" - - #define ANDROID_LINK_SPEC \ -- "%{shared: -Bsymbolic}" -+ "%{shared: -Bsymbolic} -z noexecstack -z relro -z now" - --#define ANDROID_CC1_SPEC \ -+#define ANDROID_CC1_SPEC(ANDROID_PIC_DEFAULT) \ - "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ -- "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" -+ "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: " ANDROID_PIC_DEFAULT "}}}}" - - #define ANDROID_CC1PLUS_SPEC \ -- "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ -- "%{!frtti:%{!fno-rtti: -fno-rtti}}" -+ "%{!fexceptions:%{!fno-exceptions: -fexceptions}} " \ -+ "%{!frtti:%{!fno-rtti: -frtti}}" -+ -+#define ANDROID_ASM_SPEC \ -+ "--noexecstack" - - #define ANDROID_LIB_SPEC \ - "%{!static: -ldl}" ---- /dev/null -+++ b/gcc/config/mips/android.h -@@ -0,0 +1,49 @@ -+/* Target macros for mips*-*android* targets. -+ Copyright (C) 2014 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/>. */ -+ -+#undef DRIVER_SELF_SPECS -+#define DRIVER_SELF_SPECS \ -+ /* Make sure a -mips option is present. This helps us to pick \ -+ the right multilib, and also makes the later specs easier \ -+ to write. */ \ -+ MIPS_ISA_LEVEL_SPEC, \ -+ \ -+ /* Infer the default float setting from -march. */ \ -+ MIPS_ARCH_FLOAT_SPEC, \ -+ \ -+ /* Infer the -msynci setting from -march if not explicitly set. */ \ -+ MIPS_ISA_SYNCI_SPEC, \ -+ \ -+ /* If no ABI option is specified, infer one from the ISA level \ -+ or -mgp setting. */ \ -+ "%{!mabi=*: %{" MIPS_32BIT_OPTION_SPEC ": -mabi=32;: -mabi=64}}", \ -+ \ -+ /* If no FP ABI option is specified, infer one from the \ -+ ABI/ISA level unless there is a conflicting option. */ \ -+ "%{!msoft-float: %{!msingle-float: %{!mfp*: %{!mmsa: %{mabi=32: %{" \ -+ MIPS_FPXX_OPTION_SPEC ": -mfpxx}}}}}}", \ -+ \ -+ /* If no odd-spreg option is specified, infer one from the ISA. */ \ -+ "%{!modd-spreg: %{mabi=32: %{mips32r6: -mno-odd-spreg}}}", \ -+ \ -+ /* Base SPECs. */ \ -+ BASE_DRIVER_SELF_SPECS, \ -+ \ -+ /* Use the standard linux specs for everything else. */ \ -+ LINUX_DRIVER_SELF_SPECS ---- a/gcc/config/mips/gnu-user.h -+++ b/gcc/config/mips/gnu-user.h -@@ -36,6 +36,7 @@ - /* The GNU C++ standard library requires this. */ \ - if (c_dialect_cxx ()) \ - builtin_define ("_GNU_SOURCE"); \ -+ ANDROID_TARGET_OS_CPP_BUILTINS(); \ - } while (0) - - #undef SUBTARGET_CPP_SPEC -@@ -71,7 +72,8 @@ - - #undef SUBTARGET_ASM_SPEC - #define SUBTARGET_ASM_SPEC \ -- "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" -+ "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ -+ LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) - - /* The MIPS assembler has different syntax for .set. We set it to - .dummy to trap any errors. */ -@@ -120,7 +122,7 @@ - #endif - - #define LINUX_DRIVER_SELF_SPECS \ -- NO_SHARED_SPECS \ -+ LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ - MARCH_MTUNE_NATIVE_SPECS, \ - /* -mplt has no effect without -mno-shared. Simplify later \ - specs handling by removing a redundant option. */ \ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -35,7 +35,7 @@ - #undef SUBTARGET_CC1_SPEC - #define SUBTARGET_CC1_SPEC \ - LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ -- GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) -+ GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) - - #undef CC1PLUS_SPEC - #define CC1PLUS_SPEC \ ---- /dev/null -+++ b/gcc/config/mips/t-linux-android -@@ -0,0 +1,3 @@ -+MULTILIB_OPTIONS = mips32r2/mips32r6 -+MULTILIB_DIRNAMES = mips-r2 mips-r6 -+MULTILIB_OSDIRNAMES = ../libr2 ../libr6 ---- /dev/null -+++ b/gcc/config/mips/t-linux-android64 -@@ -0,0 +1,4 @@ -+MULTILIB_OPTIONS = mabi=32 mips32/mips32r2/mips32r6/mips64r2/mips64r6 -+MULTILIB_DIRNAMES = 32 mips-r1 mips-r2 mips-r6 mips64-r2 mips64-r6 -+MULTILIB_OSDIRNAMES = ../lib ../lib ../libr2 ../libr6 ../lib64r2 ../lib64 -+MULTILIB_REQUIRED = mabi=32/mips32 mabi=32/mips32r2 mabi=32/mips32r6 mips64r2 mips64r6 ---- a/libgcc/gthr-posix.h -+++ b/libgcc/gthr-posix.h -@@ -32,6 +32,19 @@ - #define __GTHREADS 1 - #define __GTHREADS_CXX0X 1 - -+/* The following should normally be in a different header file, -+ * but I couldn't find the right location. The point of the macro -+ * definition below is to prevent libsupc++ and libstdc++ to reference -+ * weak symbols in their static C++ constructors. Such code crashes -+ * when a shared object linked statically to these libraries is -+ * loaded on Android 2.1 (Eclair) and older platform releases, due -+ * to a dynamic linker bug. -+ */ -+#ifdef __ANDROID__ -+#undef GTHREAD_USE_WEAK -+#define GTHREAD_USE_WEAK 0 -+#endif -+ - #include <pthread.h> - - #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -78491,6 +78491,18 @@ - /* end confdefs.h. */ - #include <sys/syscall.h> - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { ---- a/libstdc++-v3/include/bits/locale_facets.h -+++ b/libstdc++-v3/include/bits/locale_facets.h -@@ -47,6 +47,20 @@ - #include <ext/numeric_traits.h> - #include <bits/streambuf_iterator.h> - -+#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ -+// CrystaX: for some reason, x86 gcc-4.9 makes ctype<char>::do_widen() and -+// ctype<char>::_M_widen_init() methods working wrong if optimization enabled. -+// For ctype<char>::do_widen(), values of passed arguments (__lo, __hi and __to) -+// are completely messed up and don't correspond to passed values. In case if -+// we disable optimization for those methods, things become correct so we apply -+// this workaround here for a time. -+// TODO: figure out what exactly wrong here - is it bug in GCC optimization -+// algorithm or smth else? -+#define __CRYSTAX_X86_DONT_OPTIMIZE __attribute__((optimize(0))) -+#else -+#define __CRYSTAX_X86_DONT_OPTIMIZE -+#endif -+ - namespace std _GLIBCXX_VISIBILITY(default) - { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -1104,7 +1118,7 @@ - * @return @a __hi. - */ - virtual const char* -- do_widen(const char* __lo, const char* __hi, char_type* __to) const -+ do_widen(const char* __lo, const char* __hi, char_type* __to) const __CRYSTAX_X86_DONT_OPTIMIZE - { - if (__builtin_expect(__hi != __lo, true)) - __builtin_memcpy(__to, __lo, __hi - __lo); -@@ -1167,7 +1181,7 @@ - - private: - void _M_narrow_init() const; -- void _M_widen_init() const; -+ void _M_widen_init() const __CRYSTAX_X86_DONT_OPTIMIZE; - }; - - #ifdef _GLIBCXX_USE_WCHAR_T ---- a/libstdc++-v3/libsupc++/guard.cc -+++ b/libstdc++-v3/libsupc++/guard.cc -@@ -34,7 +34,12 @@ - #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \ - && (ATOMIC_INT_LOCK_FREE > 1) && defined(_GLIBCXX_HAVE_LINUX_FUTEX) - # include <climits> -+#if defined(__ANDROID__) -+# include <sys/syscall.h> -+# define SYS_futex __NR_futex -+#else - # include <syscall.h> -+#endif - # include <unistd.h> - # define _GLIBCXX_USE_FUTEX - # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc/8.3.0/0011-crystax.patch b/packages/gcc/8.3.0/0011-crystax.patch deleted file mode 100644 index f1f9eb1..0000000 --- a/packages/gcc/8.3.0/0011-crystax.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 9f057b62caafe08c968103d39b5df82486a175c2 -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Thu Aug 13 16:11:54 2015 +0300 - - [android] Add additional multilib option: mfloat-abi=hard - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config/arm/t-linux-androideabi | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/gcc/config/arm/t-linux-androideabi -+++ b/gcc/config/arm/t-linux-androideabi -@@ -1,8 +1,9 @@ --MULTILIB_OPTIONS = march=armv7-a mthumb --MULTILIB_DIRNAMES = armv7-a thumb --MULTILIB_EXCEPTIONS = -+MULTILIB_OPTIONS = march=armv7-a mthumb mfloat-abi=hard -+MULTILIB_DIRNAMES = armv7-a thumb hard -+MULTILIB_EXCEPTIONS = mfloat-abi=hard* mthumb/mfloat-abi=hard* - MULTILIB_MATCHES = - MULTILIB_OSDIRNAMES = -+MULTILIB_EXTRA_OPTS = Wl,--no-warn-mismatch - - # The "special" multilib can be used to build native applications for Android, - # as opposed to native shared libraries that are then called via JNI. diff --git a/packages/gcc/8.3.0/0012-crystax.patch b/packages/gcc/8.3.0/0012-crystax.patch deleted file mode 100644 index 2bf6cc7..0000000 --- a/packages/gcc/8.3.0/0012-crystax.patch +++ /dev/null @@ -1,293 +0,0 @@ -commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd -Author: H.J. Lu <hongjiu.lu@intel.com> -Date: Mon Apr 14 15:59:47 2014 -0700 - - [android] Always enable --eh-frame-hdr for static executable - - See 5e6cdf76af295c9a39b695ca228cff675e8ff4ae and - 23e3137ee2897464b051599b85a09f130d3ad05d - - Change-Id: Ibda473188e5a10f2a0592f2494ad00ad1f91e04b - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config.in | 6 +++++ - gcc/config/alpha/elf.h | 4 +++ - gcc/config/freebsd.h | 4 +++ - gcc/config/gnu-user.h | 4 +++ - gcc/config/openbsd.h | 4 +++ - gcc/config/rs6000/sysv4.h | 6 ++++- - gcc/config/sol2.h | 4 +++ - gcc/configure | 36 +++++++++++++++++++++++++++++++++ - gcc/configure.ac | 29 ++++++++++++++++++++++++++ - gcc/testsuite/g++.dg/eh/spec3-static.C | 25 ++++++++++++++++++++++ - libgcc/crtstuff.c | 11 ++++++---- - 11 files changed, 128 insertions(+), 5 deletions(-) - ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -2219,6 +2219,12 @@ - #endif - - -+/* Define if your system supports PT_GNU_EH_FRAME for static executable. */ -+#ifndef USED_FOR_TARGET -+#undef USE_EH_FRAME_HDR_FOR_STATIC -+#endif -+ -+ - /* Define to 1 if the 'long long' type is wider than 'long' but still - efficiently supported by the host hardware. */ - #ifndef USED_FOR_TARGET ---- a/gcc/config/alpha/elf.h -+++ b/gcc/config/alpha/elf.h -@@ -168,5 +168,9 @@ - I imagine that other systems will catch up. In the meantime, it - doesn't harm to make sure that the data exists to be used later. */ - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " - #endif -+#endif ---- a/gcc/config/freebsd.h -+++ b/gcc/config/freebsd.h -@@ -45,8 +45,12 @@ - #define LIB_SPEC FBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " - #endif -+#endif - - #ifdef TARGET_LIBC_PROVIDES_SSP - #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ ---- a/gcc/config/gnu-user.h -+++ b/gcc/config/gnu-user.h -@@ -133,8 +133,12 @@ - #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " - #endif -+#endif - - #undef LINK_GCC_C_SEQUENCE_SPEC - #define LINK_GCC_C_SEQUENCE_SPEC \ ---- a/gcc/config/openbsd.h -+++ b/gcc/config/openbsd.h -@@ -136,8 +136,12 @@ - #define LIB_SPEC OBSD_LIB_SPEC - - #if defined(HAVE_LD_EH_FRAME_HDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " - #endif -+#endif - - #undef LIB_SPEC - #define LIB_SPEC OBSD_LIB_SPEC ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -816,7 +816,11 @@ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" - - #if defined(HAVE_LD_EH_FRAME_HDR) --# define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+# ifdef USE_EH_FRAME_HDR_FOR_STATIC -+# define LINK_EH_SPEC "--eh-frame-hdr " -+# else -+# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " -+# endif - #endif - - #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ ---- a/gcc/config/sol2.h -+++ b/gcc/config/sol2.h -@@ -400,7 +400,11 @@ - /* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs - --eh-frame-hdr to create the required .eh_frame_hdr sections. */ - #if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) -+#ifdef USE_EH_FRAME_HDR_FOR_STATIC -+#define LINK_EH_SPEC "--eh-frame-hdr " -+#else - #define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " -+#endif - #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ - #endif - ---- a/gcc/configure -+++ b/gcc/configure -@@ -943,6 +943,7 @@ - enable_fix_cortex_a53_843419 - with_glibc_version - enable_gnu_unique_object -+enable_eh_frame_hdr_for_static - enable_linker_build_id - enable_libssp - enable_default_ssp -@@ -1684,6 +1685,9 @@ - --enable-gnu-unique-object - enable the use of the @gnu_unique_object ELF - extension on glibc systems -+ --enable-eh-frame-hdr-for-static -+ enable linker PT_GNU_EH_FRAME support for static -+ executable - --enable-linker-build-id - compiler will always pass --build-id to linker - --enable-libssp enable linking against libssp -@@ -28319,6 +28323,38 @@ - - $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h - -+ # Check whether --enable-eh-frame-hdr-for-static was given. -+if test "${enable_eh_frame_hdr_for_static+set}" = set; then : -+ enableval=$enable_eh_frame_hdr_for_static; case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) as_fn_error "'$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'." "$LINENO" 5 ;; -+ esac -+else -+ # Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi -+fi -+ -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ -+$as_echo "#define USE_EH_FRAME_HDR_FOR_STATIC 1" >>confdefs.h -+ -+ fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_ld_eh_frame_hdr" >&5 - $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5140,6 +5140,35 @@ - if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then - AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1, - [Define if your linker supports .eh_frame_hdr.]) -+ AC_ARG_ENABLE(eh-frame-hdr-for-static, -+ [AS_HELP_STRING([--enable-eh-frame-hdr-for-static], -+ [enable linker PT_GNU_EH_FRAME support for static executable])], -+ [case $enable_eh_frame_hdr_for_static in -+ yes | no) ;; -+ *) AC_MSG_ERROR(['$enable_eh_frame_hdr_for_static' is an invalid -+value for --enable-eh-frame-hdr-for-static. -+Valid choices are 'yes' and 'no'.]) ;; -+ esac], -+# Only support for glibc 2.3.0 or higher with AT_PHDR/AT_PHNUM from -+# Linux kernel. -+ [[if test x$host = x$build -a x$host = x$target && -+ ldd --version 2>&1 >/dev/null && -+ glibcver=`ldd --version 2>/dev/null | sed 's/.* //;q'`; then -+ glibcmajor=`expr "$glibcver" : "\([0-9]*\)"` -+ glibcminor=`expr "$glibcver" : "[2-9]*\.\([0-9]*\)"` -+ glibcnum=`expr $glibcmajor \* 1000 + $glibcminor` -+ if test "$glibcnum" -ge 2003 ; then -+ auvx=`LD_SHOW_AUXV=1 ldd 2>/dev/null` -+ if echo "$auvx" | grep AT_PHDR > /dev/null && -+ echo "$auvx" | grep AT_PHNUM > /dev/null; then -+ enable_eh_frame_hdr_for_static=yes -+ fi -+ fi -+ fi]]) -+ if test x$enable_eh_frame_hdr_for_static = xyes; then -+ AC_DEFINE(USE_EH_FRAME_HDR_FOR_STATIC, 1, -+[Define if your system supports PT_GNU_EH_FRAME for static executable.]) -+ fi - fi - AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr) - ---- /dev/null -+++ b/gcc/testsuite/g++.dg/eh/spec3-static.C -@@ -0,0 +1,25 @@ -+// PR c++/4381 -+// Test that exception-specs work properly for classes with virtual bases. -+ -+// { dg-do run } -+// { dg-options "-static" } -+ -+class Base {}; -+ -+struct A : virtual public Base -+{ -+ A() {} -+}; -+ -+struct B {}; -+ -+void func() throw (B,A) -+{ -+ throw A(); -+} -+ -+int main(void) -+{ -+ try { func(); } -+ catch (A& a) { } -+} ---- a/libgcc/crtstuff.c -+++ b/libgcc/crtstuff.c -@@ -88,7 +88,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) - #include <link.h> - # define USE_PT_GNU_EH_FRAME -@@ -97,7 +98,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__sun__) && defined(__svr4__) - #include <link.h> - # define USE_PT_GNU_EH_FRAME -@@ -106,7 +108,8 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \ -+ && !defined(inhibit_libc) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(__GLIBC__) && __GLIBC__ >= 2 - #include <link.h> - /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. -@@ -121,7 +124,7 @@ - #if defined(OBJECT_FORMAT_ELF) \ - && !defined(OBJECT_FORMAT_FLAT) \ - && defined(HAVE_LD_EH_FRAME_HDR) \ -- && !defined(CRTSTUFFT_O) \ -+ && (defined(USE_EH_FRAME_HDR_FOR_STATIC) || !defined(CRTSTUFFT_O)) \ - && defined(inhibit_libc) \ - && (defined(__GLIBC__) || defined(__gnu_linux__) || defined(__GNU__)) - /* On systems using glibc, an inhibit_libc build of libgcc is only diff --git a/packages/gcc/8.3.0/0013-crystax.patch b/packages/gcc/8.3.0/0013-crystax.patch deleted file mode 100644 index 3454df0..0000000 --- a/packages/gcc/8.3.0/0013-crystax.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 778a9ef107f51544d583f110e92b75f4d9d79117 -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Thu Aug 20 19:11:07 2015 +0300 - - [android] Don't use PIE copyrelocs for x86/x86_64 - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config/i386/i386.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/i386/i386.c -+++ b/gcc/config/i386/i386.c -@@ -15971,6 +15971,7 @@ - else if (!SYMBOL_REF_FAR_ADDR_P (op0) - && (SYMBOL_REF_LOCAL_P (op0) - || (HAVE_LD_PIE_COPYRELOC -+ && !TARGET_HAS_BIONIC - && flag_pie - && !SYMBOL_REF_WEAK (op0) - && !SYMBOL_REF_FUNCTION_P (op0))) diff --git a/packages/gcc/8.3.0/0014-crystax.patch b/packages/gcc/8.3.0/0014-crystax.patch deleted file mode 100644 index 8f2eb43..0000000 --- a/packages/gcc/8.3.0/0014-crystax.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit dbeae1190cabad83999f2540523f045acc1bb4ec -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Fri Aug 21 17:41:59 2015 +0300 - - [android] Always use gthr-posix.h instead of gthr-default.h - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - libgcc/gthr.h | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/libgcc/gthr.h -+++ b/libgcc/gthr.h -@@ -145,7 +145,11 @@ - #define GTHREAD_USE_WEAK 1 - #endif - #endif -+#if __ANDROID__ -+#include "gthr-posix.h" -+#else - #include "gthr-default.h" -+#endif - - #ifndef HIDE_EXPORTS - #pragma GCC visibility pop diff --git a/packages/gcc/8.3.0/0015-crystax.patch b/packages/gcc/8.3.0/0015-crystax.patch deleted file mode 100644 index 2424d2b..0000000 --- a/packages/gcc/8.3.0/0015-crystax.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 8a66d422721ae5999737d7825701ff22097d287b -Author: Andrew Hsieh <andrewhsieh@google.com> -Date: Mon Apr 14 21:05:51 2014 -0700 - - [android] Fix ARM generates insufficient alignment for NEON vst/vld - - See d909af3e2469aad87d5c3e79b93c778fd26c03a9 - - Change-Id: Ie1de9f946f397196bb6f1623f5add86933739484 - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config/arm/arm.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/arm.c -+++ b/gcc/config/arm/arm.c -@@ -22619,9 +22619,13 @@ - memsize = MEM_SIZE (x); - - /* Only certain alignment specifiers are supported by the hardware. */ -- if (memsize == 32 && (align % 32) == 0) -+ /* Note that ARM EABI only guarentees 8-byte stack alignment. While GCC -+ honors stricter alignment of composite type in user code, it doesn't -+ observe the alignment of memory passed as an extra argument for function -+ returning large composite type. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271 */ -+ if (memsize == 32 && (align % 32) == 0 && !TARGET_AAPCS_BASED) - align_bits = 256; -- else if ((memsize == 16 || memsize == 32) && (align % 16) == 0) -+ else if ((memsize == 16 || memsize == 32) && (align % 16) == 0 && !TARGET_AAPCS_BASED) - align_bits = 128; - else if (memsize >= 8 && (align % 8) == 0) - align_bits = 64; diff --git a/packages/gcc/8.3.0/0016-crystax.patch b/packages/gcc/8.3.0/0016-crystax.patch deleted file mode 100644 index 8c21a1c..0000000 --- a/packages/gcc/8.3.0/0016-crystax.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Sat Aug 22 09:55:55 2015 +0300 - - [android][i386] Remove throw() declaration from posix_memalign() proto - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config/i386/pmm_malloc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/i386/pmm_malloc.h -+++ b/gcc/config/i386/pmm_malloc.h -@@ -31,7 +31,7 @@ - #ifndef __cplusplus - extern int posix_memalign (void **, size_t, size_t); - #else --extern "C" int posix_memalign (void **, size_t, size_t) throw (); -+extern "C" int posix_memalign (void **, size_t, size_t); - #endif - - static __inline void * diff --git a/packages/gcc/8.3.0/0017-crystax.patch b/packages/gcc/8.3.0/0017-crystax.patch deleted file mode 100644 index ccb81fd..0000000 --- a/packages/gcc/8.3.0/0017-crystax.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 9ae82f7cfc1073820092dd9f957559667e77db0d -Author: Dmitry Moskalchuk <dm@crystax.net> -Date: Tue Aug 25 09:36:42 2015 +0300 - - [android] Explicitly make _Unwind_Resume visible for arm64/mips64 - - Signed-off-by: Dmitry Moskalchuk <dm@crystax.net> - ---- - gcc/config/aarch64/aarch64-linux-android.h | 4 ++++ - gcc/config/mips/linux-common.h | 4 ++++ - 2 files changed, 8 insertions(+) - ---- a/gcc/config/aarch64/aarch64-linux-android.h -+++ b/gcc/config/aarch64/aarch64-linux-android.h -@@ -56,4 +56,8 @@ - #define ENDFILE_SPEC \ - LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) - -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif -+ - #endif /* GCC_AARCH64_LINUX_ANDROID_H */ ---- a/gcc/config/mips/linux-common.h -+++ b/gcc/config/mips/linux-common.h -@@ -62,3 +62,7 @@ - - /* The default value isn't sufficient in 64-bit mode. */ - #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) -+ -+#ifdef IN_LIBGCC2 -+#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((visibility("default"))) -+#endif diff --git a/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch b/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch deleted file mode 100644 index 6c0ff27..0000000 --- a/packages/gcc/8.3.0/0018-ARC-Add-multilib-support-for-linux-targets.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0eacfbcb2bf1834294f468a2bb41fe5d5e8d3883 Mon Sep 17 00:00:00 2001 -From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Mon, 21 May 2018 09:56:57 +0000 -Subject: [PATCH] [ARC] Add multilib support for linux targets - -We used to build baremetal (AKA Elf32) multilibbed toolchains for years -now but never made that for Linux targets since there were problems with -uClibc n multilib setup. Now with help of Crosstool-NG it is finally -possible to create uClibc-based multilibbed toolchains and so we add -relevant CPUs for multilib in case of configuration for "arc*-*-linux*". - -This will be essentially useful for glibc-based multilibbbed toolchains -in the future. - -gcc/ -2018-05-16 Alexey Brodkin <abrodkin@synopsys.com> - - * config.gcc: Add arc/t-multilib-linux to tmake_file for - arc*-*-linux*. - * config/arc/t-multilib-linux: Specify MULTILIB_OPTIONS and - MULTILIB_DIRNAMES - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260434 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config.gcc | 2 +- - gcc/config/arc/t-multilib-linux | 25 +++++++++++++++++++++++++ - 2 files changed, 26 insertions(+), 1 deletion(-) - create mode 100644 gcc/config/arc/t-multilib-linux - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -1063,7 +1063,7 @@ - ;; - arc*-*-linux*) - tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" -- tmake_file="${tmake_file} arc/t-arc" -+ tmake_file="${tmake_file} arc/t-multilib-linux arc/t-arc" - extra_gcc_objs="driver-arc.o" - if test "x$with_cpu" != x; then - tm_defines="${tm_defines} TARGET_CPU_BUILD=PROCESSOR_$with_cpu" ---- /dev/null -+++ b/gcc/config/arc/t-multilib-linux -@@ -0,0 +1,25 @@ -+# Copyright (C) 2018 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/>. -+ -+MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 -+ -+MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 -+ -+# Aliases: -+MULTILIB_MATCHES += mcpu?arc700=mA7 -+MULTILIB_MATCHES += mcpu?arc700=mARC700 diff --git a/packages/gcc/8.3.0/0019-isl-0.20.patch b/packages/gcc/8.3.0/0019-isl-0.20.patch deleted file mode 100644 index 3e14966..0000000 --- a/packages/gcc/8.3.0/0019-isl-0.20.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 9fabe086c9f5c3896297f7f35491d785ba6f49a0 -Author: Alexey Neyman <stilor@att.net> -Date: Mon Sep 24 22:50:11 2018 -0700 - - Fix build with ISL 0.20 - - * gcc/graphite.h: Include <isl/id.h> and <isl/space.h>; these - headers are no longer pulled in by <isl/val.h>. - - Signed-off-by: Alexey Neyman <stilor@att.net> - ---- - gcc/graphite.h | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/gcc/graphite.h -+++ b/gcc/graphite.h -@@ -26,6 +26,8 @@ - #include <isl/options.h> - #include <isl/ctx.h> - #include <isl/val.h> -+#include <isl/id.h> -+#include <isl/space.h> - #include <isl/set.h> - #include <isl/union_set.h> - #include <isl/map.h> diff --git a/packages/gcc/8.3.0/0020-ARM-fix-cmse.patch b/packages/gcc/8.3.0/0020-ARM-fix-cmse.patch deleted file mode 100644 index cf2d243..0000000 --- a/packages/gcc/8.3.0/0020-ARM-fix-cmse.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8155b998a328748ca3d2cd1d012feb5c8286cd65 Mon Sep 17 00:00:00 2001 -From: hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 17 May 2018 16:36:36 +0000 -Subject: [PATCH] 2018-05-17 Jerome Lambourg <lambourg@adacore.com> - - gcc/ - * config/arm/arm_cmse.h (cmse_nsfptr_create, cmse_is_nsfptr): Remove - #include <stdint.h>. Replace intptr_t with __INTPTR_TYPE__. - - libgcc/ - * config/arm/cmse.c (cmse_check_address_range): Replace - UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260330 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config/arm/arm_cmse.h | 5 ++--- - libgcc/config/arm/cmse.c | 5 +++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - ---- a/gcc/config/arm/arm_cmse.h -+++ b/gcc/config/arm/arm_cmse.h -@@ -35,7 +35,6 @@ - #if __ARM_FEATURE_CMSE & 1 - - #include <stddef.h> --#include <stdint.h> - - #ifdef __ARM_BIG_ENDIAN - -@@ -174,9 +173,9 @@ - #define CMSE_MPU_NONSECURE 16 - #define CMSE_NONSECURE 18 - --#define cmse_nsfptr_create(p) ((typeof ((p))) ((intptr_t) (p) & ~1)) -+#define cmse_nsfptr_create(p) ((typeof ((p))) ((__INTPTR_TYPE__) (p) & ~1)) - --#define cmse_is_nsfptr(p) (!((intptr_t) (p) & 1)) -+#define cmse_is_nsfptr(p) (!((__INTPTR_TYPE__) (p) & 1)) - - #endif /* __ARM_FEATURE_CMSE & 2 */ - ---- a/libgcc/config/arm/cmse.c -+++ b/libgcc/config/arm/cmse.c -@@ -36,7 +36,7 @@ - char *pb = (char *) p, *pe; - - /* Check if the range wraps around. */ -- if (UINTPTR_MAX - (uintptr_t) p < size) -+ if (__UINTPTR_MAX__ - (__UINTPTR_TYPE__) p < size) - return NULL; - - /* Check if an unknown flag is present. */ -@@ -51,7 +51,8 @@ - - /* Execute the right variant of the TT instructions. */ - pe = pb + size - 1; -- const int singleCheck = (((uintptr_t) pb ^ (uintptr_t) pe) < 32); -+ const int singleCheck -+ = (((__UINTPTR_TYPE__) pb ^ (__UINTPTR_TYPE__) pe) < 32); - switch (flags & known_secure_level) - { - case 0: diff --git a/packages/gcc/8.3.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch b/packages/gcc/8.3.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch deleted file mode 100644 index afdc1a5..0000000 --- a/packages/gcc/8.3.0/0021-arm-Make-arm_cmse.h-C99-compatible.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 02a72c22044c079becd5307c8b5c9552ba0c7f53 Mon Sep 17 00:00:00 2001 -From: avieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Tue, 5 Jun 2018 15:07:09 +0000 -Subject: [PATCH] [arm] Make arm_cmse.h C99 compatible - -gcc/ChangeLog -2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com> - - * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to - __typeof__. - (cmse_check_pointed_object): Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261204 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config/arm/arm_cmse.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/arm/cmse/cmse-1c99.c - ---- a/gcc/config/arm/arm_cmse.h -+++ b/gcc/config/arm/arm_cmse.h -@@ -173,7 +173,7 @@ - #define CMSE_MPU_NONSECURE 16 - #define CMSE_NONSECURE 18 - --#define cmse_nsfptr_create(p) ((typeof ((p))) ((__INTPTR_TYPE__) (p) & ~1)) -+#define cmse_nsfptr_create(p) ((__typeof__ ((p))) ((__INTPTR_TYPE__) (p) & ~1)) - - #define cmse_is_nsfptr(p) (!((__INTPTR_TYPE__) (p) & 1)) - -@@ -187,7 +187,7 @@ - cmse_check_address_range (void *, size_t, int); - - #define cmse_check_pointed_object(p, f) \ -- ((typeof ((p))) cmse_check_address_range ((p), sizeof (*(p)), (f))) -+ ((__typeof__ ((p))) cmse_check_address_range ((p), sizeof (*(p)), (f))) - - #endif /* __ARM_FEATURE_CMSE & 1 */ - diff --git a/packages/gcc/8.3.0/0022-ARC-Update-fma-expansions.patch b/packages/gcc/8.3.0/0022-ARC-Update-fma-expansions.patch deleted file mode 100644 index c2680d5..0000000 --- a/packages/gcc/8.3.0/0022-ARC-Update-fma-expansions.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 5664ecf49828edb20f53937ab2e417ba173fc903 Mon Sep 17 00:00:00 2001 -From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Wed, 13 Jun 2018 08:54:09 +0000 -Subject: [PATCH] [ARC] Update fma expansions. - -Accept at most a single constant for fma patterns. - -gcc/ -2018-03-21 Claudiu Zissulescu <claziss@synopsys.com> - - * config/arc/fpu.md (fmasf4): Force operand to register. - (fnmasf4): Likewise. - -gcc/testsuite -2018-03-21 Claudiu Zissulescu <claziss@synopsys.com> - - * gcc.target/arc/fma-1.c: New test. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261543 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/config/arc/fpu.md | 6 ++++++ - gcc/testsuite/gcc.target/arc/fma-1.c | 13 +++++++++++++ - 2 files changed, 19 insertions(+) - create mode 100644 gcc/testsuite/gcc.target/arc/fma-1.c - -diff --git a/gcc/config/arc/fpu.md b/gcc/config/arc/fpu.md -index 5c56f76c679..66a4d91616f 100644 ---- a/gcc/config/arc/fpu.md -+++ b/gcc/config/arc/fpu.md -@@ -64,6 +64,9 @@ - tmp = gen_rtx_REG (SFmode, ACCL_REGNO); - emit_move_insn (tmp, operands[3]); - operands[3] = tmp; -+ if (!register_operand (operands[1], SFmode) -+ && !register_operand (operands[2], SFmode)) -+ operands[2] = force_reg (SFmode, operands[2]); - }") - - (define_expand "fnmasf4" -@@ -77,6 +80,9 @@ - tmp = gen_rtx_REG (SFmode, ACCL_REGNO); - emit_move_insn (tmp, operands[3]); - operands[3] = tmp; -+ if (!register_operand (operands[1], SFmode) -+ && !register_operand (operands[2], SFmode)) -+ operands[2] = force_reg (SFmode, operands[2]); - }") - - (define_insn "fmasf4_fpu" -diff --git a/gcc/testsuite/gcc.target/arc/fma-1.c b/gcc/testsuite/gcc.target/arc/fma-1.c -new file mode 100644 -index 00000000000..c195ad98127 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/arc/fma-1.c -@@ -0,0 +1,13 @@ -+/* { dg-do compile } */ -+/* { dg-skip-if "FPU not available" { arc700 || arc6xx } } */ -+/* { dg-options "-s -std=gnu11 -O2 -frounding-math -mfpu=fpus_all" } */ -+ -+const float a, b = 7.8539818525e01; -+ -+/* Check if the fma operation is generated correctly. */ -+ -+int foo (void) -+{ -+ return (float)3.0 * b + a; -+} -+/* { dg-final { scan-assembler "fsmadd" } } */ --- -2.16.2 - diff --git a/packages/gcc/8.3.0/chksum b/packages/gcc/8.3.0/chksum deleted file mode 100644 index bf662ee..0000000 --- a/packages/gcc/8.3.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-8.3.0.tar.xz 65b210b4bfe7e060051f799e0f994896 -sha1 gcc-8.3.0.tar.xz c27f4499dd263fe4fb01bcc5565917f3698583b2 -sha256 gcc-8.3.0.tar.xz 64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c -sha512 gcc-8.3.0.tar.xz 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 -md5 gcc-8.3.0.tar.gz 9972f8c24c02ebcb5a342c1b30de69ff -sha1 gcc-8.3.0.tar.gz f9e58b8aedd77eacc39d45a97ef7692cd59372bf -sha256 gcc-8.3.0.tar.gz ea71adc1c3d86330874b8df19611424b143308f0d6612d542472600532c96d2d -sha512 gcc-8.3.0.tar.gz c0e6c3b6de8e40f1f078583bec0d9c0237fbcfd5c73cebe3c188aee1fd702cabc5f2bd2a3b05b4dfd8336cc214d6158c8ad885fe412fc193a7cca4e519ba7ab3 diff --git a/packages/gcc/8.3.0/version.desc b/packages/gcc/8.3.0/version.desc deleted file mode 100644 index e69de29..0000000 --- a/packages/gcc/8.3.0/version.desc +++ /dev/null |