From 66ad1ff51411c24bfad7c1892f7481a9cdc924f8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 28 Jan 2018 11:42:24 -0800 Subject: Upgrade to new releases android-ndk, binutils, gcc, linux, mpfr, ncurses, newlib, uclibc-ng MPC vs MPFR dependencies required modifications in auto-generated templates to also provide non-inclusive older-than/newer-than specifications. Also correct MPC URLs, the website seems to have adjusted its directory layout. Currently, newlib 3.0.0 doesn't build for arm-nano-eabi. Signed-off-by: Alexey Neyman diff --git a/config/comp_libs/gmp.in b/config/comp_libs/gmp.in index 9c7daf0..7270244 100644 --- a/config/comp_libs/gmp.in +++ b/config/comp_libs/gmp.in @@ -2,4 +2,4 @@ config GMP_HAS_MPBSD bool - default y if !GMP_5_1_or_later + default y if !GMP_5_1_0_or_later diff --git a/config/comp_libs/mpc.in b/config/comp_libs/mpc.in index 2d948a7..2ea3c0c 100644 --- a/config/comp_libs/mpc.in +++ b/config/comp_libs/mpc.in @@ -1 +1,6 @@ # MPC options +# MPC 1.1.0 and later requires MPFR 3.0.0 or later and GMP 5.0.0 or later. +# MPC 1.0.x and earlier break with MPFR 4.0.0. +## select MPFR_REQUIRE_3_0_0_or_later if MPFR_NEEDED && MPC_1_1_0_or_later +## select GMP_REQUIRE_5_0_0_or_later if GMP_NEEDED && MPC_1_1_0_or_later +## select MPFR_REQUIRE_older_than_4_0_0 if MPFR_NEEDED && !MPC_1_1_0_or_later diff --git a/config/comp_libs/mpfr.in b/config/comp_libs/mpfr.in index f49d1a7..733d9ed 100644 --- a/config/comp_libs/mpfr.in +++ b/config/comp_libs/mpfr.in @@ -1 +1 @@ -# GMP options +# MPFR options diff --git a/maintainer/kconfig-versions.template b/maintainer/kconfig-versions.template index 37461b7..d5d4cc8 100644 --- a/maintainer/kconfig-versions.template +++ b/maintainer/kconfig-versions.template @@ -190,7 +190,9 @@ config @@fork|@@_VERY_NEW depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM #!foreach milestone select @@master|@@_@@ms|@@_or_later + select @@master|@@_later_than_@@ms|@@ depends on !@@master|@@_REQUIRE_@@ms|@@_or_older + depends on !@@master|@@_REQUIRE_older_than_@@ms|@@ #!end-foreach #!foreach version @@ -203,17 +205,21 @@ config @@fork|@@_V_@@ver_sel|@@ depends on EXPERIMENTAL #!end-if #!foreach milestone +#!if [ "@@version_cmp_milestone@@" -gt 0 ] + depends on !@@master|@@_REQUIRE_@@ms|@@_or_older + select @@master|@@_later_than_@@ms|@@ +#!end-if #!if [ "@@version_cmp_milestone@@" -ge 0 ] + depends on !@@master|@@_REQUIRE_older_than_@@ms|@@ select @@master|@@_@@ms|@@_or_later #!end-if #!if [ "@@version_cmp_milestone@@" -le 0 ] + depends on !@@master|@@_REQUIRE_later_than_@@ms|@@ select @@master|@@_@@ms|@@_or_older #!end-if -#!if [ "@@version_cmp_milestone@@" -gt 0 ] - depends on !@@master|@@_REQUIRE_@@ms|@@_or_older -#!end-if #!if [ "@@version_cmp_milestone@@" -lt 0 ] depends on !@@master|@@_REQUIRE_@@ms|@@_or_later + select @@master|@@_older_than_@@ms|@@ #!end-if #!end-foreach @@ -223,7 +229,10 @@ config @@fork|@@_VERY_OLD depends on OBSOLETE && EXPERIMENTAL depends on @@fork|@@_SRC_DEVEL || @@fork|@@_SRC_CUSTOM #!foreach milestone + select @@master|@@_@@ms|@@_or_older + select @@master|@@_older_than_@@ms|@@ depends on !@@master|@@_REQUIRE_@@ms|@@_or_later + depends on !@@master|@@_REQUIRE_later_than_@@ms|@@ #!end-foreach endchoice @@ -293,18 +302,30 @@ endif #!foreach milestone #!// Milestones selected by a chosen version of this package +config @@master|@@_later_than_@@ms|@@ + bool + config @@master|@@_@@ms|@@_or_later bool config @@master|@@_@@ms|@@_or_older bool +config @@master|@@_older_than_@@ms|@@ + bool + #!// Milestone requirements selected by other packages that restrict #!// the choices in this package +config @@master|@@_REQUIRE_later_than_@@ms|@@ + bool + config @@master|@@_REQUIRE_@@ms|@@_or_later bool config @@master|@@_REQUIRE_@@ms|@@_or_older bool +config @@master|@@_REQUIRE_older_than_@@ms|@@ + bool + #!end-foreach diff --git a/packages/android-ndk/r16/chksum b/packages/android-ndk/r16/chksum deleted file mode 100644 index aefd8ec..0000000 --- a/packages/android-ndk/r16/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 android-ndk-r16-linux-x86_64.zip 0088a21980751b99036834a4f44cf21c -sha1 android-ndk-r16-linux-x86_64.zip b7dcb08fa9fa403e3c0bc3f741a445d7f0399e93 -sha256 android-ndk-r16-linux-x86_64.zip a8550b81771c67cc6ab7b479a6918d29aa78de3482901762b4f9e0132cd9672e -sha512 android-ndk-r16-linux-x86_64.zip 5b9ec70eac78f6cef8572dff9a133c9b18c83155dc6d980237a6925df4ae65b7b2adb3d8ea55b3ce9f3f75868f20eefdb8c87da110683c2dd1a1a27c44dc5b91 diff --git a/packages/android-ndk/r16/version.desc b/packages/android-ndk/r16/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/android-ndk/r16b/chksum b/packages/android-ndk/r16b/chksum new file mode 100644 index 0000000..f56833e --- /dev/null +++ b/packages/android-ndk/r16b/chksum @@ -0,0 +1,4 @@ +md5 android-ndk-r16b-linux-x86_64.zip e21a2687c26b71379beecfd8d0525224 +sha1 android-ndk-r16b-linux-x86_64.zip 42aa43aae89a50d1c66c3f9fdecd676936da6128 +sha256 android-ndk-r16b-linux-x86_64.zip bcdea4f5353773b2ffa85b5a9a2ae35544ce88ec5b507301d8cf6a76b765d901 +sha512 android-ndk-r16b-linux-x86_64.zip 94cd879925ee3174a9267e7da2d18d71874173976b362101ec06598a94b6587a33671e54bbbce5778c04418aacbb831e98386c16f6cde04574ea8c8589553dd7 diff --git a/packages/android-ndk/r16b/version.desc b/packages/android-ndk/r16b/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/binutils/2.30/0000-sh-conf.patch b/packages/binutils/2.30/0000-sh-conf.patch new file mode 100644 index 0000000..2bff5ff --- /dev/null +++ b/packages/binutils/2.30/0000-sh-conf.patch @@ -0,0 +1,34 @@ +r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/configure ++++ b/configure +@@ -3835,7 +3835,7 @@ + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +--- a/configure.ac ++++ b/configure.ac +@@ -1166,7 +1166,7 @@ + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; diff --git a/packages/binutils/2.30/0001-001_ld_makefile_patch.patch b/packages/binutils/2.30/0001-001_ld_makefile_patch.patch new file mode 100644 index 0000000..4623653 --- /dev/null +++ b/packages/binutils/2.30/0001-001_ld_makefile_patch.patch @@ -0,0 +1,27 @@ +--- + ld/Makefile.am | 2 +- + ld/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -57,7 +57,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -446,7 +446,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/packages/binutils/2.30/0002-012_check_ldrunpath_length.patch b/packages/binutils/2.30/0002-012_check_ldrunpath_length.patch new file mode 100644 index 0000000..026f279 --- /dev/null +++ b/packages/binutils/2.30/0002-012_check_ldrunpath_length.patch @@ -0,0 +1,24 @@ +--- + ld/emultempl/elf32.em | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/ld/emultempl/elf32.em ++++ b/ld/emultempl/elf32.em +@@ -1470,6 +1470,8 @@ + && command_line.rpath == NULL) + { + path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((path) && (strlen (path) == 0)) ++ path = NULL; + if (path + && gld${EMULATION_NAME}_search_needed (path, &n, force)) + break; +@@ -1750,6 +1752,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (*rpath == '\0')) ++ rpath = NULL; + + for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next) + if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/packages/binutils/2.30/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.30/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch new file mode 100644 index 0000000..99dee96 --- /dev/null +++ b/packages/binutils/2.30/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch @@ -0,0 +1,15 @@ +--- + gold/gold-threads.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gold/gold-threads.cc ++++ b/gold/gold-threads.cc +@@ -101,7 +101,7 @@ + int err = pthread_mutexattr_init(&attr); + if (err != 0) + gold_fatal(_("pthead_mutexattr_init failed: %s"), strerror(err)); +-#ifdef PTHREAD_MUTEX_ADAPTIVE_NP ++#if defined(PTHREAD_MUTEX_ADAPTIVE_NP) && !defined(_WIN32) + err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); + if (err != 0) + gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err)); diff --git a/packages/binutils/2.30/0004-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.30/0004-Dont-link-to-libfl-as-its-unnecessary.patch new file mode 100644 index 0000000..b1758cd --- /dev/null +++ b/packages/binutils/2.30/0004-Dont-link-to-libfl-as-its-unnecessary.patch @@ -0,0 +1,105 @@ +--- + binutils/configure | 3 +++ + binutils/configure.ac | 3 +++ + gas/configure | 3 +++ + gas/configure.ac | 3 +++ + ld/configure | 3 +++ + ld/configure.ac | 3 +++ + 6 files changed, 18 insertions(+) + +--- a/binutils/configure ++++ b/binutils/configure +@@ -12150,6 +12150,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -12311,6 +12312,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg da es fi fr id it ja ro ru rw sk sv tr uk vi zh_CN zh_TW hr ca" + # If we haven't got the data from the intl directory, +--- a/binutils/configure.ac ++++ b/binutils/configure.ac +@@ -87,7 +87,10 @@ + fi + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg da es fi fr id it ja ro ru rw sk sv tr uk vi zh_CN zh_TW hr ca" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/gas/configure ++++ b/gas/configure +@@ -13003,6 +13003,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -13164,6 +13165,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="fr tr es rw id ru fi ja zh_CN sv" + # If we haven't got the data from the intl directory, +--- a/gas/configure.ac ++++ b/gas/configure.ac +@@ -795,7 +795,10 @@ + AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.]) + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="fr tr es rw id ru fi ja zh_CN sv" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/ld/configure ++++ b/ld/configure +@@ -16222,6 +16222,7 @@ + done + test -n "$YACC" || YACC="yacc" + ++save_LIBS=$LIBS + for ac_prog in flex lex + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -16383,6 +16384,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -234,7 +234,10 @@ + AC_EXEEXT + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + AM_MAINTAINER_MODE + AM_CONDITIONAL(GENINSRC_NEVER, false) diff --git a/packages/binutils/2.30/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.30/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch new file mode 100644 index 0000000..fbc4041 --- /dev/null +++ b/packages/binutils/2.30/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch @@ -0,0 +1,15 @@ +--- + gold/binary.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gold/binary.cc ++++ b/gold/binary.cc +@@ -23,7 +23,7 @@ + #include "gold.h" + + #include +-#include ++#include + + #include "elfcpp.h" + #include "stringpool.h" diff --git a/packages/binutils/2.30/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.30/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch new file mode 100644 index 0000000..f4dc91a --- /dev/null +++ b/packages/binutils/2.30/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch @@ -0,0 +1,70 @@ +From c39479f4ab4d372b518957871e1f205a03e7c3d6 Mon Sep 17 00:00:00 2001 +From: Andrew Hsieh +Date: Wed, 18 Mar 2015 10:57:24 +0800 +Subject: [PATCH] Fix darwin build + +1. In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 + doesn't support ended initializer list +2. wcsncasecmp doesn't exist in MacSDK10.6.x + +Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e +--- + bfd/peXXigen.c | 22 ++++++++++++++++++++++ + gold/gold-threads.cc | 15 ++++++++++++--- + 2 files changed, 34 insertions(+), 3 deletions(-) + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -3609,6 +3609,28 @@ + } + #endif /* HAVE_WCHAR_H and not Cygwin/Mingw */ + ++#if defined __APPLE__ && __DARWIN_C_LEVEL < 200809L ++/* wcsncasecmp isn't always defined in Mac SDK */ ++static int ++wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) ++{ ++ wchar_t c1, c2; ++ ++ if (n == 0) ++ return (0); ++ for (; *s1; s1++, s2++) ++ { ++ c1 = towlower(*s1); ++ c2 = towlower(*s2); ++ if (c1 != c2) ++ return ((int)c1 - c2); ++ if (--n == 0) ++ return (0); ++ } ++ return (-*s2); ++} ++#endif ++ + /* Perform a comparison of two entries. */ + static signed int + rsrc_cmp (bfd_boolean is_name, rsrc_entry * a, rsrc_entry * b) +--- a/gold/gold-threads.cc ++++ b/gold/gold-threads.cc +@@ -284,9 +284,18 @@ + class Once_initialize + { + public: +- Once_initialize() +- : once_(PTHREAD_ONCE_INIT) +- { } ++ Once_initialize() ++#if !defined(__APPLE__) ++ : once_(PTHREAD_ONCE_INIT) ++ { } ++#else ++// In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 doesn't support ++// extended initializer list as above */ ++ { ++ pthread_once_t once_2 = PTHREAD_ONCE_INIT; ++ once_ = once_2; ++ } ++#endif + + // Return a pointer to the pthread_once_t variable. + pthread_once_t* diff --git a/packages/binutils/2.30/0007-sysroot.patch b/packages/binutils/2.30/0007-sysroot.patch new file mode 100644 index 0000000..ba7940a --- /dev/null +++ b/packages/binutils/2.30/0007-sysroot.patch @@ -0,0 +1,41 @@ +Signed-off-by: Sven Rebhan + +Always try to prepend the sysroot prefix to absolute filenames first. + +http://bugs.gentoo.org/275666 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340 + +--- + ld/ldfile.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -338,18 +338,25 @@ + directory first. */ + if (!entry->flags.maybe_archive) + { +- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) ++ /* For absolute pathnames, try to always open the file in the ++ sysroot first. If this fails, try to open the file at the ++ given location. */ ++ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); ++ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) ++ && ld_sysroot) + { + char *name = concat (ld_sysroot, entry->filename, + (const char *) NULL); + if (ldfile_try_open_bfd (name, entry)) + { + entry->filename = name; ++ entry->flags.sysrooted = TRUE; + return TRUE; + } + free (name); + } +- else if (ldfile_try_open_bfd (entry->filename, entry)) ++ ++ if (ldfile_try_open_bfd (entry->filename, entry)) + return TRUE; + + if (IS_ABSOLUTE_PATH (entry->filename)) diff --git a/packages/binutils/2.30/0008-poison-system-directories.patch b/packages/binutils/2.30/0008-poison-system-directories.patch new file mode 100644 index 0000000..503b699 --- /dev/null +++ b/packages/binutils/2.30/0008-poison-system-directories.patch @@ -0,0 +1,279 @@ +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman + +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texinfo | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +--- a/ld/config.in ++++ b/ld/config.in +@@ -27,6 +27,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +--- a/ld/configure ++++ b/ld/configure +@@ -785,6 +785,7 @@ + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1444,6 +1445,8 @@ + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15500,7 +15503,18 @@ + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -95,6 +95,16 @@ + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -175,6 +175,14 @@ + /* If set, display the target memory usage (per memory region). */ + bfd_boolean print_memory_usage; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Should we force section groups to be resolved? Controlled with + --force-group-allocation on the command line or FORCE_GROUP_ALLOCATION + in the linker script. */ +--- a/ld/ld.texinfo ++++ b/ld/ld.texinfo +@@ -2498,6 +2498,18 @@ + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -147,6 +147,8 @@ + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, + OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -261,6 +261,8 @@ + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -538,6 +538,14 @@ + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -550,6 +558,7 @@ + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1534,6 +1543,14 @@ + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1577,6 +1594,10 @@ + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); diff --git a/packages/binutils/2.30/chksum b/packages/binutils/2.30/chksum new file mode 100644 index 0000000..a1f7f20 --- /dev/null +++ b/packages/binutils/2.30/chksum @@ -0,0 +1,12 @@ +md5 binutils-2.30.tar.xz ffc476dd46c96f932875d1b2e27e929f +sha1 binutils-2.30.tar.xz 574d3b5650413d6ee65195a4f5ecbddc3a38f718 +sha256 binutils-2.30.tar.xz 6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6 +sha512 binutils-2.30.tar.xz e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 +md5 binutils-2.30.tar.bz2 cc47a2f256b4a593206b4d7e62a60b32 +sha1 binutils-2.30.tar.bz2 33d807f7fa680b00439eb5560acd0c2ef645e5f9 +sha256 binutils-2.30.tar.bz2 efeade848067e9a03f1918b1da0d37aaffa0b0127a06b5e9236229851d9d0c09 +sha512 binutils-2.30.tar.bz2 c3ce91aa20f058ec589bf18c722bf651331b394db6378900cc813cc0eea3a331a96584d5ae090630b627369510397dccc9edfcd43d4aeefc99579f277a05c72c +md5 binutils-2.30.tar.gz a332503c7f72ad02f4ef624fac34c4af +sha1 binutils-2.30.tar.gz e76fa9bc59f12a4ba03973f1408c80b4b8ca6b75 +sha256 binutils-2.30.tar.gz 8c3850195d1c093d290a716e20ebcaa72eda32abf5e3d8611154b39cff79e9ea +sha512 binutils-2.30.tar.gz 2073fc73e302c6ff7048b4834484ec7407bc2b7aac461aaee3d050add97ea755517d6f1f4452d5b9f66ea4d3ff471c83e6d2a139be7bf917308ca1f5b41a8f3f diff --git a/packages/binutils/2.30/version.desc b/packages/binutils/2.30/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/gcc/7.2.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/7.2.0/0000-libtool-leave-framework-alone.patch deleted file mode 100644 index 1a86e41..0000000 --- a/packages/gcc/7.2.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/7.2.0/0001-uclibc-conf.patch b/packages/gcc/7.2.0/0001-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc/7.2.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/7.2.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/7.2.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index a5f3721..0000000 --- a/packages/gcc/7.2.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 -@@ -20,6 +20,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -30,6 +33,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -81,17 +89,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 -@@ -29478,6 +29478,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -29488,6 +29491,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -29600,23 +29608,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 -@@ -14553,6 +14553,9 @@ - - pluginlibs= - -+ PICFLAG="-fPIC" -+ UNDEFINEDPREAMBLE="extern int X;" -+ UNDEFINEDCODE="return X == 0;" - case "${host}" in - *-*-darwin*) - if test x$build = x$host; then -@@ -14563,6 +14566,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -14675,23 +14683,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/7.2.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/7.2.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch deleted file mode 100644 index 5f9a07a..0000000 --- a/packages/gcc/7.2.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 - #include - #include -+#include - #include - #include - #include "marshall.hh" diff --git a/packages/gcc/7.2.0/0004-arm-softfloat-libgcc.patch b/packages/gcc/7.2.0/0004-arm-softfloat-libgcc.patch deleted file mode 100644 index d980036..0000000 --- a/packages/gcc/7.2.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/7.2.0/0005-cilk-wchar.patch b/packages/gcc/7.2.0/0005-cilk-wchar.patch deleted file mode 100644 index d2230cd..0000000 --- a/packages/gcc/7.2.0/0005-cilk-wchar.patch +++ /dev/null @@ -1,54 +0,0 @@ -[PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3289,7 +3289,9 @@ - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3441,7 +3443,9 @@ - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3567,7 +3571,9 @@ - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3719,7 +3725,9 @@ - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc/7.2.0/0006-xtensa-fix-PR-target-82181.patch b/packages/gcc/7.2.0/0006-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index ec9f1f8..0000000 --- a/packages/gcc/7.2.0/0006-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3ed0c49a8d52e88648c7bb9f21a204b23595a6a9 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -605,6 +605,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc/7.2.0/0007-fix-m68k-uclinux.patch b/packages/gcc/7.2.0/0007-fix-m68k-uclinux.patch deleted file mode 100644 index 9edd7da..0000000 --- a/packages/gcc/7.2.0/0007-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 - ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -820,7 +820,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/7.2.0/0008-libgfortran-missing-include.patch b/packages/gcc/7.2.0/0008-libgfortran-missing-include.patch deleted file mode 100644 index 701e7b4..0000000 --- a/packages/gcc/7.2.0/0008-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 -@@ -25,6 +25,7 @@ - #include "io.h" - #include "unix.h" - #include -+#include - - typedef enum - { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc/7.2.0/0009-nios2-bad-multilib-default.patch b/packages/gcc/7.2.0/0009-nios2-bad-multilib-default.patch deleted file mode 100644 index 4acc491..0000000 --- a/packages/gcc/7.2.0/0009-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/7.2.0/0010-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/7.2.0/0010-libgcc-disable-split-stack-nothreads.patch deleted file mode 100644 index df91a9f..0000000 --- a/packages/gcc/7.2.0/0010-libgcc-disable-split-stack-nothreads.patch +++ /dev/null @@ -1,17 +0,0 @@ -disable split-stack for non-thread builds - -Signed-off-by: Waldemar Brodkorb - ---- - 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/7.2.0/0011-bionic-ndk.patch b/packages/gcc/7.2.0/0011-bionic-ndk.patch deleted file mode 100644 index 474dd8c..0000000 --- a/packages/gcc/7.2.0/0011-bionic-ndk.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f -Author: Howard Chu -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::_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/7.2.0/0012-bionic-errno.patch b/packages/gcc/7.2.0/0012-bionic-errno.patch deleted file mode 100644 index 0a1a632..0000000 --- a/packages/gcc/7.2.0/0012-bionic-errno.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 -Author: Howard Chu -Date: Tue Apr 25 20:17:03 2017 -0700 - - Fix, errno is volatile int - ---- - libstdc++-v3/src/filesystem/dir.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libstdc++-v3/src/filesystem/dir.cc -+++ b/libstdc++-v3/src/filesystem/dir.cc -@@ -146,7 +146,7 @@ - - int err = std::exchange(errno, 0); - const auto entp = readdir(dirp); -- std::swap(errno, err); -+ std::swap((int&)errno, err); - - if (entp) - { diff --git a/packages/gcc/7.2.0/0013-crystax.patch b/packages/gcc/7.2.0/0013-crystax.patch deleted file mode 100644 index 8c87ba3..0000000 --- a/packages/gcc/7.2.0/0013-crystax.patch +++ /dev/null @@ -1,529 +0,0 @@ -commit 080803512c8f6f87c2f1f711170d54033144d628 -Author: Dmitry Moskalchuk -Date: Wed Jul 29 11:28:29 2015 +0300 - - [android] Apply Android-related modifications - - Signed-off-by: Dmitry Moskalchuk - -[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(-) - ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -961,13 +961,17 @@ - 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" - 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 -@@ -2079,6 +2083,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 -+ . */ -+ -+#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 -@@ -1878,10 +1878,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 -@@ -8668,7 +8668,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 -@@ -193,6 +193,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=*} \ - %(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 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" -+ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{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 -+. */ -+ -+#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 - - #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ ---- a/libstdc++-v3/configure -+++ b/libstdc++-v3/configure -@@ -78536,6 +78536,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#if !defined(SYS_gettid) -+#define SYS_gettid __NR_gettid -+#endif -+#if !defined(SYS_futex) -+#define SYS_futex __NR_futex -+#endif - int - main () - { -@@ -78594,6 +78600,12 @@ - /* end confdefs.h. */ - #include - int lk; -+#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 - #include - -+#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ -+// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and -+// ctype::_M_widen_init() methods working wrong if optimization enabled. -+// For ctype::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 -@@ -1102,7 +1116,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 - { - __builtin_memcpy(__to, __lo, __hi - __lo); - return __hi; -@@ -1163,7 +1177,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 -+#if defined(__ANDROID__) -+# include -+# define SYS_futex __NR_futex -+#else - # include -+#endif - # include - # define _GLIBCXX_USE_FUTEX - # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc/7.2.0/0014-crystax.patch b/packages/gcc/7.2.0/0014-crystax.patch deleted file mode 100644 index f1f9eb1..0000000 --- a/packages/gcc/7.2.0/0014-crystax.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 9f057b62caafe08c968103d39b5df82486a175c2 -Author: Dmitry Moskalchuk -Date: Thu Aug 13 16:11:54 2015 +0300 - - [android] Add additional multilib option: mfloat-abi=hard - - Signed-off-by: Dmitry Moskalchuk - ---- - 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/7.2.0/0015-crystax.patch b/packages/gcc/7.2.0/0015-crystax.patch deleted file mode 100644 index 5fd76d7..0000000 --- a/packages/gcc/7.2.0/0015-crystax.patch +++ /dev/null @@ -1,293 +0,0 @@ -commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd -Author: H.J. Lu -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 - ---- - 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 -@@ -2180,6 +2180,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:--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:--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 -@@ -118,8 +118,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:--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:--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 -@@ -805,7 +805,11 @@ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" - - #if defined(HAVE_LD_EH_FRAME_HDR) --# define LINK_EH_SPEC "%{!static:--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 -@@ -367,7 +367,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:--eh-frame-hdr} " -+#endif - #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ - #endif - ---- a/gcc/configure -+++ b/gcc/configure -@@ -939,6 +939,7 @@ - enable_fix_cortex_a53_843419 - with_glibc_version - enable_gnu_unique_object -+enable_eh_frame_hdr_for_static - enable_linker_build_id - enable_default_ssp - with_long_double_128 -@@ -1676,6 +1677,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-default-ssp enable Stack Smashing Protection as default -@@ -28050,6 +28054,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 -@@ -4981,6 +4981,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 - # 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 - # 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 - /* 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/7.2.0/0016-crystax.patch b/packages/gcc/7.2.0/0016-crystax.patch deleted file mode 100644 index cd56a56..0000000 --- a/packages/gcc/7.2.0/0016-crystax.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit 778a9ef107f51544d583f110e92b75f4d9d79117 -Author: Dmitry Moskalchuk -Date: Thu Aug 20 19:11:07 2015 +0300 - - [android] Don't use PIE copyrelocs for x86/x86_64 - - Signed-off-by: Dmitry Moskalchuk - ---- - gcc/config/i386/i386.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/i386/i386.c -+++ b/gcc/config/i386/i386.c -@@ -15753,6 +15753,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/7.2.0/0017-crystax.patch b/packages/gcc/7.2.0/0017-crystax.patch deleted file mode 100644 index 8f2eb43..0000000 --- a/packages/gcc/7.2.0/0017-crystax.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit dbeae1190cabad83999f2540523f045acc1bb4ec -Author: Dmitry Moskalchuk -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 - ---- - 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/7.2.0/0018-crystax.patch b/packages/gcc/7.2.0/0018-crystax.patch deleted file mode 100644 index bbfcd14..0000000 --- a/packages/gcc/7.2.0/0018-crystax.patch +++ /dev/null @@ -1,33 +0,0 @@ -commit 8a66d422721ae5999737d7825701ff22097d287b -Author: Andrew Hsieh -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 - ---- - 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 -@@ -22270,9 +22270,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/7.2.0/0019-crystax.patch b/packages/gcc/7.2.0/0019-crystax.patch deleted file mode 100644 index 8c21a1c..0000000 --- a/packages/gcc/7.2.0/0019-crystax.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 -Author: Dmitry Moskalchuk -Date: Sat Aug 22 09:55:55 2015 +0300 - - [android][i386] Remove throw() declaration from posix_memalign() proto - - Signed-off-by: Dmitry Moskalchuk - ---- - 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/7.2.0/0020-crystax.patch b/packages/gcc/7.2.0/0020-crystax.patch deleted file mode 100644 index ccb81fd..0000000 --- a/packages/gcc/7.2.0/0020-crystax.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit 9ae82f7cfc1073820092dd9f957559667e77db0d -Author: Dmitry Moskalchuk -Date: Tue Aug 25 09:36:42 2015 +0300 - - [android] Explicitly make _Unwind_Resume visible for arm64/mips64 - - Signed-off-by: Dmitry Moskalchuk - ---- - 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/7.2.0/chksum b/packages/gcc/7.2.0/chksum deleted file mode 100644 index ea97442..0000000 --- a/packages/gcc/7.2.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-7.2.0.tar.xz ff370482573133a7fcdd96cd2f552292 -sha1 gcc-7.2.0.tar.xz 08a88199ed94fdf4940d118ba3c07028245cd5b7 -sha256 gcc-7.2.0.tar.xz 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a -sha512 gcc-7.2.0.tar.xz f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 -md5 gcc-7.2.0.tar.gz 2e4be17c604ea555e0dff4a8f81ffe44 -sha1 gcc-7.2.0.tar.gz dec3effe9f73bf2216a88804ac805a05f9b33ea8 -sha256 gcc-7.2.0.tar.gz 0153a003d3b433459336a91610cca2995ee0fb3d71131bd72555f2231a6efcfc -sha512 gcc-7.2.0.tar.gz ae287b4696e78764136a60457dc147b2ef2cc108b2721c5c81d02467f47f08470a1be72b9576dd9af7c86838bc8543eabfe7a1c4ca7bd3166c40929ff5abd3ab diff --git a/packages/gcc/7.2.0/version.desc b/packages/gcc/7.2.0/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/gcc/7.3.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/7.3.0/0000-libtool-leave-framework-alone.patch new file mode 100644 index 0000000..1a86e41 --- /dev/null +++ b/packages/gcc/7.3.0/0000-libtool-leave-framework-alone.patch @@ -0,0 +1,18 @@ +--- + 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/7.3.0/0001-uclibc-conf.patch b/packages/gcc/7.3.0/0001-uclibc-conf.patch new file mode 100644 index 0000000..aef750a --- /dev/null +++ b/packages/gcc/7.3.0/0001-uclibc-conf.patch @@ -0,0 +1,17 @@ +--- + 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/7.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/7.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch new file mode 100644 index 0000000..a5f3721 --- /dev/null +++ b/packages/gcc/7.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -0,0 +1,163 @@ +--- + 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 +@@ -20,6 +20,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -30,6 +33,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -81,17 +89,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 +@@ -29478,6 +29478,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -29488,6 +29491,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -29600,23 +29608,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 +@@ -14553,6 +14553,9 @@ + + pluginlibs= + ++ PICFLAG="-fPIC" ++ UNDEFINEDPREAMBLE="extern int X;" ++ UNDEFINEDCODE="return X == 0;" + case "${host}" in + *-*-darwin*) + if test x$build = x$host; then +@@ -14563,6 +14566,11 @@ + export_sym_check= + fi + ;; ++ *-*-mingw*|*-*-cygwin*|*-*-msys*) ++ PICFLAG="" ++ UNDEFINEDPREAMBLE="" ++ UNDEFINEDCODE="" ++ ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" +@@ -14675,23 +14683,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/7.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/7.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch new file mode 100644 index 0000000..5f9a07a --- /dev/null +++ b/packages/gcc/7.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch @@ -0,0 +1,14 @@ +--- + libcc1/connection.cc | 1 + + 1 file changed, 1 insertion(+) + +--- a/libcc1/connection.cc ++++ b/libcc1/connection.cc +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include "marshall.hh" diff --git a/packages/gcc/7.3.0/0004-arm-softfloat-libgcc.patch b/packages/gcc/7.3.0/0004-arm-softfloat-libgcc.patch new file mode 100644 index 0000000..d980036 --- /dev/null +++ b/packages/gcc/7.3.0/0004-arm-softfloat-libgcc.patch @@ -0,0 +1,31 @@ +--- + 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/7.3.0/0005-cilk-wchar.patch b/packages/gcc/7.3.0/0005-cilk-wchar.patch new file mode 100644 index 0000000..d2230cd --- /dev/null +++ b/packages/gcc/7.3.0/0005-cilk-wchar.patch @@ -0,0 +1,54 @@ +[PATCH] cilk: fix build without wchar + +When building against uClibc with wchar support disabled, WCHAR_MIN and +WCHAR_MAX are not defined leading to compilation errors. + +Fix it by only including the wchar code if available. + +Signed-off-by: Peter Korsgaard +--- + libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/libcilkrts/include/cilk/reducer_min_max.h ++++ b/libcilkrts/include/cilk/reducer_min_max.h +@@ -3289,7 +3289,9 @@ + CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) +@@ -3441,7 +3443,9 @@ + CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) ++#ifdef WCHAR_MIN + CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) ++#endif + CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) + CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) +@@ -3567,7 +3571,9 @@ + CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) +@@ -3719,7 +3725,9 @@ + CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) ++#ifdef WCHAR_MAX + CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) ++#endif + CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) + CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) diff --git a/packages/gcc/7.3.0/0007-fix-m68k-uclinux.patch b/packages/gcc/7.3.0/0007-fix-m68k-uclinux.patch new file mode 100644 index 0000000..9edd7da --- /dev/null +++ b/packages/gcc/7.3.0/0007-fix-m68k-uclinux.patch @@ -0,0 +1,21 @@ +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 + +--- + libgcc/config.host | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libgcc/config.host ++++ b/libgcc/config.host +@@ -820,7 +820,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/7.3.0/0008-libgfortran-missing-include.patch b/packages/gcc/7.3.0/0008-libgfortran-missing-include.patch new file mode 100644 index 0000000..701e7b4 --- /dev/null +++ b/packages/gcc/7.3.0/0008-libgfortran-missing-include.patch @@ -0,0 +1,14 @@ +--- + libgfortran/io/close.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/libgfortran/io/close.c ++++ b/libgfortran/io/close.c +@@ -25,6 +25,7 @@ + #include "io.h" + #include "unix.h" + #include ++#include + + typedef enum + { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc/7.3.0/0009-nios2-bad-multilib-default.patch b/packages/gcc/7.3.0/0009-nios2-bad-multilib-default.patch new file mode 100644 index 0000000..4acc491 --- /dev/null +++ b/packages/gcc/7.3.0/0009-nios2-bad-multilib-default.patch @@ -0,0 +1,31 @@ +--- + 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/7.3.0/0010-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/7.3.0/0010-libgcc-disable-split-stack-nothreads.patch new file mode 100644 index 0000000..df91a9f --- /dev/null +++ b/packages/gcc/7.3.0/0010-libgcc-disable-split-stack-nothreads.patch @@ -0,0 +1,17 @@ +disable split-stack for non-thread builds + +Signed-off-by: Waldemar Brodkorb + +--- + 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/7.3.0/0011-bionic-ndk.patch b/packages/gcc/7.3.0/0011-bionic-ndk.patch new file mode 100644 index 0000000..474dd8c --- /dev/null +++ b/packages/gcc/7.3.0/0011-bionic-ndk.patch @@ -0,0 +1,60 @@ +commit d38d37bdfe24b7ce1bdcb55642fb6b904718e68f +Author: Howard Chu +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::_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/7.3.0/0012-bionic-errno.patch b/packages/gcc/7.3.0/0012-bionic-errno.patch new file mode 100644 index 0000000..0a1a632 --- /dev/null +++ b/packages/gcc/7.3.0/0012-bionic-errno.patch @@ -0,0 +1,21 @@ +commit 6cd4ad106ef87a3c58b0c3478e78409b47000de0 +Author: Howard Chu +Date: Tue Apr 25 20:17:03 2017 -0700 + + Fix, errno is volatile int + +--- + libstdc++-v3/src/filesystem/dir.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/libstdc++-v3/src/filesystem/dir.cc ++++ b/libstdc++-v3/src/filesystem/dir.cc +@@ -146,7 +146,7 @@ + + int err = std::exchange(errno, 0); + const auto entp = readdir(dirp); +- std::swap(errno, err); ++ std::swap((int&)errno, err); + + if (entp) + { diff --git a/packages/gcc/7.3.0/0013-crystax.patch b/packages/gcc/7.3.0/0013-crystax.patch new file mode 100644 index 0000000..8c87ba3 --- /dev/null +++ b/packages/gcc/7.3.0/0013-crystax.patch @@ -0,0 +1,529 @@ +commit 080803512c8f6f87c2f1f711170d54033144d628 +Author: Dmitry Moskalchuk +Date: Wed Jul 29 11:28:29 2015 +0300 + + [android] Apply Android-related modifications + + Signed-off-by: Dmitry Moskalchuk + +[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(-) + +--- a/gcc/config.gcc ++++ b/gcc/config.gcc +@@ -961,13 +961,17 @@ + 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" + 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 +@@ -2079,6 +2083,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 ++ . */ ++ ++#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 +@@ -1878,10 +1878,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 +@@ -8668,7 +8668,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 +@@ -193,6 +193,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=*} \ + %(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 %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}" ++ "--32 %{!mno-sse2avx:%{mavx:-msse2avx}} %{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 ++. */ ++ ++#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 + + #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -78536,6 +78536,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#if !defined(SYS_gettid) ++#define SYS_gettid __NR_gettid ++#endif ++#if !defined(SYS_futex) ++#define SYS_futex __NR_futex ++#endif + int + main () + { +@@ -78594,6 +78600,12 @@ + /* end confdefs.h. */ + #include + int lk; ++#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 + #include + ++#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ == 9 && __i386__ ++// CrystaX: for some reason, x86 gcc-4.9 makes ctype::do_widen() and ++// ctype::_M_widen_init() methods working wrong if optimization enabled. ++// For ctype::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 +@@ -1102,7 +1116,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 + { + __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; +@@ -1163,7 +1177,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 ++#if defined(__ANDROID__) ++# include ++# define SYS_futex __NR_futex ++#else + # include ++#endif + # include + # define _GLIBCXX_USE_FUTEX + # define _GLIBCXX_FUTEX_WAIT 0 diff --git a/packages/gcc/7.3.0/0014-crystax.patch b/packages/gcc/7.3.0/0014-crystax.patch new file mode 100644 index 0000000..f1f9eb1 --- /dev/null +++ b/packages/gcc/7.3.0/0014-crystax.patch @@ -0,0 +1,27 @@ +commit 9f057b62caafe08c968103d39b5df82486a175c2 +Author: Dmitry Moskalchuk +Date: Thu Aug 13 16:11:54 2015 +0300 + + [android] Add additional multilib option: mfloat-abi=hard + + Signed-off-by: Dmitry Moskalchuk + +--- + 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/7.3.0/0015-crystax.patch b/packages/gcc/7.3.0/0015-crystax.patch new file mode 100644 index 0000000..5fd76d7 --- /dev/null +++ b/packages/gcc/7.3.0/0015-crystax.patch @@ -0,0 +1,293 @@ +commit 44a81ebb7698dac41ffa7acd5e0cc1578e5ab1fd +Author: H.J. Lu +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 + +--- + 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 +@@ -2180,6 +2180,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:--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:--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 +@@ -118,8 +118,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:--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:--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 +@@ -805,7 +805,11 @@ + -dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--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 +@@ -367,7 +367,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:--eh-frame-hdr} " ++#endif + #endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */ + #endif + +--- a/gcc/configure ++++ b/gcc/configure +@@ -939,6 +939,7 @@ + enable_fix_cortex_a53_843419 + with_glibc_version + enable_gnu_unique_object ++enable_eh_frame_hdr_for_static + enable_linker_build_id + enable_default_ssp + with_long_double_128 +@@ -1676,6 +1677,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-default-ssp enable Stack Smashing Protection as default +@@ -28050,6 +28054,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 +@@ -4981,6 +4981,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 + # 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 + # 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 + /* 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/7.3.0/0016-crystax.patch b/packages/gcc/7.3.0/0016-crystax.patch new file mode 100644 index 0000000..cd56a56 --- /dev/null +++ b/packages/gcc/7.3.0/0016-crystax.patch @@ -0,0 +1,22 @@ +commit 778a9ef107f51544d583f110e92b75f4d9d79117 +Author: Dmitry Moskalchuk +Date: Thu Aug 20 19:11:07 2015 +0300 + + [android] Don't use PIE copyrelocs for x86/x86_64 + + Signed-off-by: Dmitry Moskalchuk + +--- + gcc/config/i386/i386.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -15753,6 +15753,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/7.3.0/0017-crystax.patch b/packages/gcc/7.3.0/0017-crystax.patch new file mode 100644 index 0000000..8f2eb43 --- /dev/null +++ b/packages/gcc/7.3.0/0017-crystax.patch @@ -0,0 +1,26 @@ +commit dbeae1190cabad83999f2540523f045acc1bb4ec +Author: Dmitry Moskalchuk +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 + +--- + 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/7.3.0/0018-crystax.patch b/packages/gcc/7.3.0/0018-crystax.patch new file mode 100644 index 0000000..bbfcd14 --- /dev/null +++ b/packages/gcc/7.3.0/0018-crystax.patch @@ -0,0 +1,33 @@ +commit 8a66d422721ae5999737d7825701ff22097d287b +Author: Andrew Hsieh +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 + +--- + 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 +@@ -22270,9 +22270,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/7.3.0/0019-crystax.patch b/packages/gcc/7.3.0/0019-crystax.patch new file mode 100644 index 0000000..8c21a1c --- /dev/null +++ b/packages/gcc/7.3.0/0019-crystax.patch @@ -0,0 +1,23 @@ +commit 89d27bc45ee7325dcfff6748da0f8b9c1dc1f234 +Author: Dmitry Moskalchuk +Date: Sat Aug 22 09:55:55 2015 +0300 + + [android][i386] Remove throw() declaration from posix_memalign() proto + + Signed-off-by: Dmitry Moskalchuk + +--- + 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/7.3.0/0020-crystax.patch b/packages/gcc/7.3.0/0020-crystax.patch new file mode 100644 index 0000000..ccb81fd --- /dev/null +++ b/packages/gcc/7.3.0/0020-crystax.patch @@ -0,0 +1,34 @@ +commit 9ae82f7cfc1073820092dd9f957559667e77db0d +Author: Dmitry Moskalchuk +Date: Tue Aug 25 09:36:42 2015 +0300 + + [android] Explicitly make _Unwind_Resume visible for arm64/mips64 + + Signed-off-by: Dmitry Moskalchuk + +--- + 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/7.3.0/chksum b/packages/gcc/7.3.0/chksum new file mode 100644 index 0000000..c2604f0 --- /dev/null +++ b/packages/gcc/7.3.0/chksum @@ -0,0 +1,8 @@ +md5 gcc-7.3.0.tar.xz be2da21680f27624f3a87055c4ba5af2 +sha1 gcc-7.3.0.tar.xz 9689b9cae7b2886fdaa08449a26701f095c04e48 +sha256 gcc-7.3.0.tar.xz 832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c +sha512 gcc-7.3.0.tar.xz ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 +md5 gcc-7.3.0.tar.gz 747d5010b7c6938b480bc6e4d7c4be9a +sha1 gcc-7.3.0.tar.gz 8f11c52db81c30a1780c590bb7ab9a6e326ccea4 +sha256 gcc-7.3.0.tar.gz fa06e455ca198ddc11ea4ddf2a394cf7cfb66aa7e0ab98cc1184189f1d405870 +sha512 gcc-7.3.0.tar.gz 4e203f4ea5e8713e7b0e3d2a269f7a54f6d1074d572b93d39ed6961c82b3c310f389d7f78494f58309b7436d1e0744eba06c22a24747000dfd84e2b4376cbf73 diff --git a/packages/gcc/7.3.0/version.desc b/packages/gcc/7.3.0/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/gmp/package.desc b/packages/gmp/package.desc index d024c39..3bf7dc5 100644 --- a/packages/gmp/package.desc +++ b/packages/gmp/package.desc @@ -1,6 +1,6 @@ repository='hg https://gmplib.org/repo/gmp/' bootstrap='./.bootstrap' mirrors='https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)' -milestones='5.1' +milestones='5.0.0 5.1.0' archive_formats='.tar.xz .tar.lz .tar.bz2' signature_format='packed/.sig' diff --git a/packages/linux/3.16.51/chksum b/packages/linux/3.16.51/chksum deleted file mode 100644 index 65109a1..0000000 --- a/packages/linux/3.16.51/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.16.51.tar.xz 54898e2006e01e9197404d040406393e -sha1 linux-3.16.51.tar.xz 19376fe22474bee9a03782515f977ac74ee524c0 -sha256 linux-3.16.51.tar.xz 45114a04b8eb2958006942c4c78a57822a9dc838b742d07437a87621b7ed8230 -sha512 linux-3.16.51.tar.xz 81e95750fee0f54309099118bd3b6b8a9af557de2807c526d74a37cb63b5c9b8167d2810d17a7577bda384bbf535e7f30a0427d29602494d367147a57c4ad8e8 -md5 linux-3.16.51.tar.gz 3e6a5fb1033b67f55909d32198b941dd -sha1 linux-3.16.51.tar.gz aa9c3eb412bb56eb7b8f33451751c825c4abd07c -sha256 linux-3.16.51.tar.gz 195caeff8de60631516531bad540c152318d7c0be09f56f333424dbbc32de122 -sha512 linux-3.16.51.tar.gz bd1d6676305eff54879c3ba46a55cace5f8a9c09d1785ba4a1141f233caed48ecca2692a13cfcc98fa88b11272beac3e2fe539af0802eaaea8b1b9bd6b338c74 diff --git a/packages/linux/3.16.51/version.desc b/packages/linux/3.16.51/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/3.16.53/chksum b/packages/linux/3.16.53/chksum new file mode 100644 index 0000000..753587b --- /dev/null +++ b/packages/linux/3.16.53/chksum @@ -0,0 +1,8 @@ +md5 linux-3.16.53.tar.xz 4602e7f59660d9d13ba46341fd2c48d5 +sha1 linux-3.16.53.tar.xz 5d55e8c938ff0e26a945052b3453991dea6ee692 +sha256 linux-3.16.53.tar.xz 4286529493629c4fd8e771345e121df81ce85dcfa96ea5c4a3686a5f043eb482 +sha512 linux-3.16.53.tar.xz fea2525255a7bf5efaff6493d67975d803a0790cd7b212e5e53e2eb9fb6493c18771e39d42fd799c47e772fbf067ec701ccce03925a5c4080fc64e2bea6a5c8e +md5 linux-3.16.53.tar.gz e58e603a7dbd34af9d45fb8932fdea07 +sha1 linux-3.16.53.tar.gz 3ffe4e0f484aa0b18279f4b7c203e7547b731d23 +sha256 linux-3.16.53.tar.gz 82e9ec4462787ed7a8002eba3c9d7a29fa64187c5dfa6e55bea82d70d22f600a +sha512 linux-3.16.53.tar.gz 3d8ef3ad0a784bf13751436374bf77422b608cd9571257f90ba54e7c698be8e574dbd3de70f1cc0247cc7dd0046acfa4abf361d6f0d78ed168c407b194a93491 diff --git a/packages/linux/3.16.53/version.desc b/packages/linux/3.16.53/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/3.18.85/chksum b/packages/linux/3.18.85/chksum deleted file mode 100644 index 2bb8676..0000000 --- a/packages/linux/3.18.85/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.18.85.tar.xz 788bb5fc21bf765782496278e9844978 -sha1 linux-3.18.85.tar.xz 52f1de0f1a894a08056752d097e939668a0581a6 -sha256 linux-3.18.85.tar.xz ea282b29d8963ebbe93f7563f37b6c2ec80861afb71fd51c7a0272c128f23d8e -sha512 linux-3.18.85.tar.xz 59fde33ffed5b7243cb34743c26302fcf8f410605a20b9800a3be2c45d440b91aff7d78d0d389a83f9f10d42f3eeedba394da18dcb30fb468032459be1e9ad10 -md5 linux-3.18.85.tar.gz 544b9f560ae920e5d28b7f4c04777c92 -sha1 linux-3.18.85.tar.gz 2acc5ceb0b17be1c13f311d16aa9028cc43081d1 -sha256 linux-3.18.85.tar.gz 560808305dca457213c25d2ec8e8eb119f42f54cb18595d810002595f8887ed4 -sha512 linux-3.18.85.tar.gz f701fffa613b50deac2a0feaea3fbd9bd85c73ee088b3f36bbc61d570fe6f21695e19980c7f175177ebf335c9b27bdcc8734b3705a881200515af9d22b5da976 diff --git a/packages/linux/3.18.85/version.desc b/packages/linux/3.18.85/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.18.85/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.18.92/chksum b/packages/linux/3.18.92/chksum new file mode 100644 index 0000000..8d46168 --- /dev/null +++ b/packages/linux/3.18.92/chksum @@ -0,0 +1,8 @@ +md5 linux-3.18.92.tar.xz e72edc3a98924c66eef3329ab6a95223 +sha1 linux-3.18.92.tar.xz 2b491c749609b1041fe0dee8a674a932657749b3 +sha256 linux-3.18.92.tar.xz 8fcd449165ef2eff890977d870949faa5d1ff1a3f0085cd6409075d7dd0ccdfd +sha512 linux-3.18.92.tar.xz 357610cae55d8927736a331dcf6d36906dcc56c7a610cf96ea4b0f77c8f8a986ebfbc6336f2ec92368e5ee51f5b3b15a2a408cc4767a5f69c05d164307af5eb4 +md5 linux-3.18.92.tar.gz 2fa4030eacc78c2725025311b9cb9272 +sha1 linux-3.18.92.tar.gz 5a4d1cc8aa13322b39594537998ddae540497f43 +sha256 linux-3.18.92.tar.gz 683f743ff5ef06d9eae45ed7a5c424384c385822099c3d08bf75acc0b543b825 +sha512 linux-3.18.92.tar.gz 1235806f3d60197de027b5874ea5cd7776c724e0b43ca7bfd96d00f3bdfeacbbddb03151eee739a86b8ab7551b3419fed527d9cda3ac586ea3b7e9aeb9051ca0 diff --git a/packages/linux/3.18.92/version.desc b/packages/linux/3.18.92/version.desc new file mode 100644 index 0000000..fcfe389 --- /dev/null +++ b/packages/linux/3.18.92/version.desc @@ -0,0 +1 @@ +obsolete='yes' diff --git a/packages/linux/3.2.96/chksum b/packages/linux/3.2.96/chksum deleted file mode 100644 index 41a0279..0000000 --- a/packages/linux/3.2.96/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.2.96.tar.xz 8e1ca9e37999fc0993acd17b6b12e005 -sha1 linux-3.2.96.tar.xz 89e6f627b854da77a2b5d41d5f1304504c651986 -sha256 linux-3.2.96.tar.xz db7ba796715305dd56ff7527d55f2dba2acf79e9179a8b55fbfcb355b80d94d6 -sha512 linux-3.2.96.tar.xz 4258efc7d08386747a2be6f71f2ca603523221aba64e5c8dae1658477a8d33d05eafc38c5eeb61514d5bd3df01858375834f21eea1d10655cbacd015e101850f -md5 linux-3.2.96.tar.gz ba703eac919b94acf1b622c603bf84f1 -sha1 linux-3.2.96.tar.gz 419b7dcb3780ab5de217122b22395b362951a1ed -sha256 linux-3.2.96.tar.gz 7646998d768b52ced8336863d37c7030de15a00236ae95870d7c024fbad10cad -sha512 linux-3.2.96.tar.gz c11a4d39747bbc61df7e852ff387583cfac98255036ff527f0e8cc95d22e527539390bb935fa00b5fb5c2c42e85268c7918bf8b66ab7ac9ed593d5a4ed962016 diff --git a/packages/linux/3.2.96/version.desc b/packages/linux/3.2.96/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/3.2.98/chksum b/packages/linux/3.2.98/chksum new file mode 100644 index 0000000..97d6dc9 --- /dev/null +++ b/packages/linux/3.2.98/chksum @@ -0,0 +1,8 @@ +md5 linux-3.2.98.tar.xz 69980b0323b126fa515e568c0a281398 +sha1 linux-3.2.98.tar.xz 57ac1dc0c6629468a3a3d36c416293641a56c829 +sha256 linux-3.2.98.tar.xz f31dc3ad9473086b413f8cd3daef1a8003481eb25910a617c74cbc640635eb31 +sha512 linux-3.2.98.tar.xz 4fa71ab74ebf804d4446e58f0239cb30a38ef3c503abe0860bfecd841d1e538b8869f284eeadbd8c6f5d124f7487cb38f17c1cfb552a51c3ea49748a8f16bca4 +md5 linux-3.2.98.tar.gz 5f4d2bd50783e94b5fad1b5bac5fd7fa +sha1 linux-3.2.98.tar.gz 2a707999b0935ce02b9baf8dec6b3169f27ee64b +sha256 linux-3.2.98.tar.gz 157b8628f752bb6d998c23266931ad250ee55c80a17a07494a068b4597e89c7f +sha512 linux-3.2.98.tar.gz 71bce64e90347248dd82a223f9e0b16f4eb14bf6ec928213cec7dc5d9065ea9d4ebb3d94e72a664cefaa083f00771f4ad83e957376ed0f4337dcd620b7befae5 diff --git a/packages/linux/3.2.98/version.desc b/packages/linux/3.2.98/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.1.46/chksum b/packages/linux/4.1.46/chksum deleted file mode 100644 index f9b2025..0000000 --- a/packages/linux/4.1.46/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.1.46.tar.xz 453ec9b8336e5494ca81da3df6434ee4 -sha1 linux-4.1.46.tar.xz b0eaf3441befdee593683fdbcebc8638532dad73 -sha256 linux-4.1.46.tar.xz 3d5d64c20f0011c7d00cc15de86d749bbf7442061a3b2b6a58989422d8661540 -sha512 linux-4.1.46.tar.xz ff23f299d8a3062ccd7e3dfc4dd0c611f9ea5c5ae720825bdc483bd0f704a2a37688d4ecbc7266043969e80dca0d937402e52f9ac2cb51ada294a72b87570638 -md5 linux-4.1.46.tar.gz 4bf26ed430f3a47cb6681cf0fb595545 -sha1 linux-4.1.46.tar.gz db0e13ec36fc98213cbe1fe54fe628df01e3bd59 -sha256 linux-4.1.46.tar.gz eeff897ae2a5c1bc712ce938adf7b308122b06d65ae7c299182231cf03e8c7e9 -sha512 linux-4.1.46.tar.gz 8a1174a8eb8c9cce1cb22ff1221f5dd4468fa5658694e65e2d390c0be5a0a59f128416fced2160dd7cfb00d4274c2c2ddb911db723e86fad40ef940fced9beb2 diff --git a/packages/linux/4.1.46/version.desc b/packages/linux/4.1.46/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.1.49/chksum b/packages/linux/4.1.49/chksum new file mode 100644 index 0000000..2da7ec7 --- /dev/null +++ b/packages/linux/4.1.49/chksum @@ -0,0 +1,8 @@ +md5 linux-4.1.49.tar.xz ace2cfeedf9cce9ae2d889a4f00374a3 +sha1 linux-4.1.49.tar.xz 382de01b769569723243e68f697153204441e28d +sha256 linux-4.1.49.tar.xz ff2e0ea5c536650aef64447c3aaa49c1a25e8f1db4ec4f7da700d3176f512ba8 +sha512 linux-4.1.49.tar.xz d5d3a00aa4f496569ed212f27dc010a754d0b622ae543d10ff91c19f9d24dbb930fd6b3382cc51eb59da6f7cc50e99363fefb3a46644f578da6bdfa86f7dbd76 +md5 linux-4.1.49.tar.gz 774073a307d99a3a0fed212633e948b8 +sha1 linux-4.1.49.tar.gz acafd3ba50fe8c5acb0541de1b8bd08cbf80d975 +sha256 linux-4.1.49.tar.gz e8520675304c8c8690d696d09dc5809238174ed9f2769751a6aacb94c2984e32 +sha512 linux-4.1.49.tar.gz 8febbc13d50f23013b6d2d1ed03f3f5fddaeff3b4b847ee7133851369dd0147bd54dec2703aa0325a03973cdbfa088d5359acc9a753eb137f66161d9d8f7bfd3 diff --git a/packages/linux/4.1.49/version.desc b/packages/linux/4.1.49/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.14.15/chksum b/packages/linux/4.14.15/chksum new file mode 100644 index 0000000..4a560ed --- /dev/null +++ b/packages/linux/4.14.15/chksum @@ -0,0 +1,8 @@ +md5 linux-4.14.15.tar.xz e1051f6b15d6399a5de2441dd4e15537 +sha1 linux-4.14.15.tar.xz 654b9214c929fada2226945ca64cb432cf172638 +sha256 linux-4.14.15.tar.xz ffc393a0c66f80375eacd3fb177b92e5c9daa07de0dcf947e925e049352e6142 +sha512 linux-4.14.15.tar.xz 1bb3493d1cd000eb85dc063d77b8a09fa8a5bb16579636947d6d833a60aaaa5dc09861da7d27337372484cef842d65e7015e71880c5ff6d3e1504ddbc27601f1 +md5 linux-4.14.15.tar.gz fba4b32d9b82a0cdb84221fc4393b72a +sha1 linux-4.14.15.tar.gz 3e9629ed8bad890b0cc0c467bf61f99a1df268fb +sha256 linux-4.14.15.tar.gz ed52796dd5a82158fba24ca0b45bab738dffda055cabc1f321d75308e951f1ca +sha512 linux-4.14.15.tar.gz dc182a97165ac7b01a07aa9eae5e0b8333f24b1bb6e306476749eb185c356d83b319c3b8bcc6f18c119cc9174ea8efa5819bf057819c8f6d85623325f24ae3a1 diff --git a/packages/linux/4.14.15/version.desc b/packages/linux/4.14.15/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.14.3/chksum b/packages/linux/4.14.3/chksum deleted file mode 100644 index c3dc60e..0000000 --- a/packages/linux/4.14.3/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.14.3.tar.xz c24ea351d105e48b401fd34db8163495 -sha1 linux-4.14.3.tar.xz dab2de738b495f6705c1311ce81e368370f68d65 -sha256 linux-4.14.3.tar.xz b628134ebb63ec82cb3e304a10aab2fd306fe79212e75ce81d8af73463c80366 -sha512 linux-4.14.3.tar.xz 94a32409e3d884349db329db2dbebab854483d998b7902dccc63e2a01fe36390cc32b0e4ffb7cfe984c76f3de9d0d5a98aa534ce868a04fe73399794844861a1 -md5 linux-4.14.3.tar.gz 5dd7b98842043a862c4e3915c5b7a96d -sha1 linux-4.14.3.tar.gz e7a693d885582605827857e89d71ee93ba35caf3 -sha256 linux-4.14.3.tar.gz 088315065a2ba15791f2ddf5508c8242c0f1b3af7950510099bf17e58c1e2e42 -sha512 linux-4.14.3.tar.gz 6942586d167043e4ba098d8c2665f908da91b0c1532fc12558efb4f528e8fa88e3600374de3a08186e6e86a2321b134c8a03fb53994bff0d0886aac920815db1 diff --git a/packages/linux/4.14.3/version.desc b/packages/linux/4.14.3/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.15/chksum b/packages/linux/4.15/chksum new file mode 100644 index 0000000..2707761 --- /dev/null +++ b/packages/linux/4.15/chksum @@ -0,0 +1,8 @@ +md5 linux-4.15.tar.xz 0d701ac1e2a67d47ce7127432df2c32b +sha1 linux-4.15.tar.xz 5cf2693d2c6bf1e69a9216dceca6183c60eb11d5 +sha256 linux-4.15.tar.xz 5a26478906d5005f4f809402e981518d2b8844949199f60c4b6e1f986ca2a769 +sha512 linux-4.15.tar.xz c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea +md5 linux-4.15.tar.gz dd5a75343cd956de12e8d26e1805ca92 +sha1 linux-4.15.tar.gz f5691dd96fda55d4405b361a664db3b85ab4c81b +sha256 linux-4.15.tar.gz c33b8ba5c45a40b689979caa2421c4d933864cd70eb93c00eb69adf43e9a24fc +sha512 linux-4.15.tar.gz 0fab606a295e0857f774f8adaa9d56bf2cb227fbab2daed374415da216391b156f49e606ba37ac402987c5796d408807da5d1a42c0d85a8552f109a3e279443d diff --git a/packages/linux/4.15/version.desc b/packages/linux/4.15/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/linux/4.4.103/chksum b/packages/linux/4.4.103/chksum deleted file mode 100644 index 2fdfa28..0000000 --- a/packages/linux/4.4.103/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.4.103.tar.xz 3967a9153609e52dbb1c8e262a75663b -sha1 linux-4.4.103.tar.xz e1de56b56f0a6662224d57a34b4dcd8f01b79926 -sha256 linux-4.4.103.tar.xz 1d01d0785fdf52b3f3b9f7ad05b6cff6be034869935962478e19f265b022f904 -sha512 linux-4.4.103.tar.xz 0bf41c697048e5894fe75bbb3c9ba1ddf9bb4f3d5380a9e390e12f37bf3ad0d919d64b492a9255428eecff5e47683f7dc93acd91d44c8de8e910ff1698cb2b75 -md5 linux-4.4.103.tar.gz 85daf9021e021f272aa74ce02dfbe791 -sha1 linux-4.4.103.tar.gz b30baa5d66c912a3d26d9f53372c07a38e06d544 -sha256 linux-4.4.103.tar.gz 74dc3aedda5be8b8683180cea5f818de92d72c1ea4f346f93aeaffa9818e0da5 -sha512 linux-4.4.103.tar.gz dc74f846dff027fb4827c09b126d994178b327461357e1edc01eb6ef09fdeff3ed1076f92870d63c6e484ca8f4f42c5922a2042624a4bd6a92eb2454defd02b0 diff --git a/packages/linux/4.4.103/version.desc b/packages/linux/4.4.103/version.desc deleted file mode 100644 index 7d5188f..0000000 --- a/packages/linux/4.4.103/version.desc +++ /dev/null @@ -1 +0,0 @@ -# Not obsolete: used by Ubuntu16.04, EOL 04/2021 diff --git a/packages/linux/4.4.113/chksum b/packages/linux/4.4.113/chksum new file mode 100644 index 0000000..6f0f566 --- /dev/null +++ b/packages/linux/4.4.113/chksum @@ -0,0 +1,8 @@ +md5 linux-4.4.113.tar.xz d9200a61768f7f030bfd65a1f12486dd +sha1 linux-4.4.113.tar.xz 91900902c63d8beb1a556c87d277329b8d6a11ff +sha256 linux-4.4.113.tar.xz b772d2898d2a791b5bf8bd597beccef385934e237f6c6bb1cf4c609940af773d +sha512 linux-4.4.113.tar.xz c88b76075fe37a5e3fb04d0b47d7b0b8670723b98fa78afede6964ab3454599d556efdd517f239b87ed0264d3d2bcdd7a545b9833b2667b76a94ca5bfcc9669b +md5 linux-4.4.113.tar.gz 16293d51a5b206b1fda7651cdac1b3a3 +sha1 linux-4.4.113.tar.gz 88b77a53a7de42387666ec30ec9cb7504a22a210 +sha256 linux-4.4.113.tar.gz 5771ddf613789278222ced7682d46adfaefe6bd4e0548c915d9db9c5ff2d1a60 +sha512 linux-4.4.113.tar.gz d2f26d0842da5e6123f48f50e36e0c4716e42abdcd646e3986460ddb23b48e5b5061415cbae3e82650791b6902e9c3ca90bee037c81fd5bd0c3ad73170d2646e diff --git a/packages/linux/4.4.113/version.desc b/packages/linux/4.4.113/version.desc new file mode 100644 index 0000000..7d5188f --- /dev/null +++ b/packages/linux/4.4.113/version.desc @@ -0,0 +1 @@ +# Not obsolete: used by Ubuntu16.04, EOL 04/2021 diff --git a/packages/linux/4.9.66/chksum b/packages/linux/4.9.66/chksum deleted file mode 100644 index 6a639aa..0000000 --- a/packages/linux/4.9.66/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.9.66.tar.xz 868a49b73f52f02df72e7e0ada97f42b -sha1 linux-4.9.66.tar.xz ecb5adfa84ab6f06f2cb07b56517883310710a0b -sha256 linux-4.9.66.tar.xz 5e372b2fbf40f84e600007a1d1e273cdc1bc6ac3757ca715c185f322d4aa963b -sha512 linux-4.9.66.tar.xz 5c5583fb50e6b5fd852ae1bebbfa297b1940ae3ceae9548f4d92385f512a9a135b1607095334c760c17d07dda130bdc1322ee57bdfc081376807ada0355752ac -md5 linux-4.9.66.tar.gz 9b7a13ea46d92ac5b37f55325908333b -sha1 linux-4.9.66.tar.gz 60076f763f9426cbca4ff5d0afc9e46c6c114b17 -sha256 linux-4.9.66.tar.gz 84de6080a4d8f7a4e20afb43445404332bad1929c6d14bdbe06ab0cb7e12da9b -sha512 linux-4.9.66.tar.gz 33ce8b6c21c737bbe98b43fd426e21c686819d7c2a4f48970c7e0977a05baff33ab283562f96309dc3556fb2c9045e66339b22f144e24132b9dcb0f81c51f826 diff --git a/packages/linux/4.9.66/version.desc b/packages/linux/4.9.66/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/linux/4.9.78/chksum b/packages/linux/4.9.78/chksum new file mode 100644 index 0000000..bb97c0d --- /dev/null +++ b/packages/linux/4.9.78/chksum @@ -0,0 +1,8 @@ +md5 linux-4.9.78.tar.xz b449e1b9770dfec9c919fab59f490658 +sha1 linux-4.9.78.tar.xz 57f67ae03ca89feed08302c2c47d1a385d727cc2 +sha256 linux-4.9.78.tar.xz d2d14fbef67692f8573af005483d55eab871fb978497c7d61a51f3699317c0f3 +sha512 linux-4.9.78.tar.xz fe596ff1a3301331624273c88e8cc16c48c8982acec4dae79709b3bb4baee284e787c117de9edfdd0df6b7b1899fbc081bb598e191bf420bbf79d69a443cbe92 +md5 linux-4.9.78.tar.gz dc3f5dc41413e317eb7bcf0a08fd11c5 +sha1 linux-4.9.78.tar.gz 0330eeba987f5bc8b8077a5bb9955aef896316f0 +sha256 linux-4.9.78.tar.gz 54b080439066e006b2630d996c994e3f6fe29bc747ab998529f1030d691d537a +sha512 linux-4.9.78.tar.gz bdff2487e187bd56d4f5c0f9121aa31c6895458b7ebdcf5de0e27c9e37eb336a8e7dc2735adec387e3c9543190fb6f7a3b8958b6a914f1f741961b39ec7d78d9 diff --git a/packages/linux/4.9.78/version.desc b/packages/linux/4.9.78/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/mpc/0.7/version.desc b/packages/mpc/0.7/version.desc index b346c76..3832780 100644 --- a/packages/mpc/0.7/version.desc +++ b/packages/mpc/0.7/version.desc @@ -1,3 +1,3 @@ obsolete='yes' -mirrors='http://www.multiprecision.org/mpc/download' +mirrors='http://www.multiprecision.org/downloads' signature_format= diff --git a/packages/mpc/0.8.2/version.desc b/packages/mpc/0.8.2/version.desc index b346c76..3832780 100644 --- a/packages/mpc/0.8.2/version.desc +++ b/packages/mpc/0.8.2/version.desc @@ -1,3 +1,3 @@ obsolete='yes' -mirrors='http://www.multiprecision.org/mpc/download' +mirrors='http://www.multiprecision.org/downloads' signature_format= diff --git a/packages/mpc/0.9/version.desc b/packages/mpc/0.9/version.desc index b346c76..3832780 100644 --- a/packages/mpc/0.9/version.desc +++ b/packages/mpc/0.9/version.desc @@ -1,3 +1,3 @@ obsolete='yes' -mirrors='http://www.multiprecision.org/mpc/download' +mirrors='http://www.multiprecision.org/downloads' signature_format= diff --git a/packages/mpc/1.1.0/chksum b/packages/mpc/1.1.0/chksum new file mode 100644 index 0000000..dbc6554 --- /dev/null +++ b/packages/mpc/1.1.0/chksum @@ -0,0 +1,4 @@ +md5 mpc-1.1.0.tar.gz 4125404e41e482ec68282a2e687f6c73 +sha1 mpc-1.1.0.tar.gz b019d9e1d27ec5fb99497159d43a3164995de2d0 +sha256 mpc-1.1.0.tar.gz 6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e +sha512 mpc-1.1.0.tar.gz 72d657958b07c7812dc9c7cbae093118ce0e454c68a585bfb0e2fa559f1bf7c5f49b93906f580ab3f1073e5b595d23c6494d4d76b765d16dde857a18dd239628 diff --git a/packages/mpc/1.1.0/version.desc b/packages/mpc/1.1.0/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/mpc/package.desc b/packages/mpc/package.desc index 8d865b3..028869e 100644 --- a/packages/mpc/package.desc +++ b/packages/mpc/package.desc @@ -1,5 +1,6 @@ repository='git https://scm.gforge.inria.fr/anonscm/git/mpc/mpc.git' bootstrap='autoreconf -i' -mirrors='http://www.multiprecision.org/mpc/download $(CT_Mirrors GNU mpc)' +mirrors='http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)' archive_formats='.tar.gz' signature_format='packed/.sig' +milestones='1.1.0' diff --git a/packages/mpfr/4.0.0/chksum b/packages/mpfr/4.0.0/chksum new file mode 100644 index 0000000..e5ef777 --- /dev/null +++ b/packages/mpfr/4.0.0/chksum @@ -0,0 +1,16 @@ +md5 mpfr-4.0.0.tar.xz 94c67b3cfbee10605a5e59d0ed9161db +sha1 mpfr-4.0.0.tar.xz 01cb1ad6514757236859d75fe1ff00c00ed22df2 +sha256 mpfr-4.0.0.tar.xz fbe2cd1418b321f5c899ce4f0f0f4e73f5ecc7d02145b0e1fd096f5c3afb8a1d +sha512 mpfr-4.0.0.tar.xz 9c9c4535f33fffd2126d1c290e5eeda7cd2804219244643f09c9a2d2acfa3d410d2cb1e4a7bb77cd86cffc2fac59c7f5d32c9910317cac37dbca474ab6d63808 +md5 mpfr-4.0.0.tar.bz2 ef619f3bb68039e35c4a219e06be72d0 +sha1 mpfr-4.0.0.tar.bz2 799245347044c8f0da9e513f86bb5e4c07974931 +sha256 mpfr-4.0.0.tar.bz2 6aa31fbf3bd1f9f95bcfa241590a9d11cb0f874e2bb93b99c9e2de8eaea6d5fd +sha512 mpfr-4.0.0.tar.bz2 43932f9d5e60fd5545c27ff984784dd7a286656a0297d0be7c106f72a2d2e0408702be16bd27e5b5f17a04a2069d06d644cdb4ca4ab4c26ae1a5896fc77bdefd +md5 mpfr-4.0.0.tar.gz 574a8713f1417913ed8c75fe75f56cfc +sha1 mpfr-4.0.0.tar.gz 1bf74ee8dba8c5cc6be1e36c9cff8e45fce25460 +sha256 mpfr-4.0.0.tar.gz f65bb6c295c8716ea06adc3c2aab2f0e6e410464ba5a86bfd10c6259e64876a2 +sha512 mpfr-4.0.0.tar.gz fa1b9e0136882bf5d39913860ae1946a96cb9919269e10f04c88f4c13bc345dcc1b7ff406c62d50899e8c48bdabfc2461eb04419ca22d5bfdb85078af62d80d5 +md5 mpfr-4.0.0.zip 2c0062d6d51c41604526f6382c97637e +sha1 mpfr-4.0.0.zip bcfb77334d77dce052f8b0d1fc8265a0453711b4 +sha256 mpfr-4.0.0.zip 51971443c8170193d540d87515ce368c2d91c80f07d63fffa1bf22ee8c4b8500 +sha512 mpfr-4.0.0.zip e28f1010f7a45c7dc00bb01ca5c129b3e872942c4994a39f4dfb30a865d3d2619eb94af783772c07b27681a2193b925e8fba068c3c636104f5541dd6d4edbf46 diff --git a/packages/mpfr/4.0.0/version.desc b/packages/mpfr/4.0.0/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/mpfr/package.desc b/packages/mpfr/package.desc index a2e777a..aaddc7d 100644 --- a/packages/mpfr/package.desc +++ b/packages/mpfr/package.desc @@ -4,3 +4,4 @@ bootstrap='wget -O m4/ax_pthread.m4 \\"http://git.savannah.gnu.org/gitweb/?p=aut mirrors='http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)' archive_formats='.tar.xz .tar.bz2 .tar.gz .zip' signature_format='packed/.asc' +milestones='3.0.0 4.0.0' diff --git a/packages/ncurses/6.1/chksum b/packages/ncurses/6.1/chksum new file mode 100644 index 0000000..b414262 --- /dev/null +++ b/packages/ncurses/6.1/chksum @@ -0,0 +1,4 @@ +md5 ncurses-6.1.tar.gz 98c889aaf8d23910d2b92d65be2e737a +sha1 ncurses-6.1.tar.gz 57acf6bc24cacd651d82541929f726f4def780cc +sha256 ncurses-6.1.tar.gz aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 +sha512 ncurses-6.1.tar.gz e308af43f8b7e01e98a55f4f6c4ee4d1c39ce09d95399fa555b3f0cdf5fd0db0f4c4d820b4af78a63f6cf6d8627587114a40af48cfc066134b600520808a77ee diff --git a/packages/ncurses/6.1/version.desc b/packages/ncurses/6.1/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/newlib/2.5.0.20170922/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.5.0.20170922/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.5.0.20170922/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.5.0.20170922/0001-fix-mt-cflags.patch b/packages/newlib/2.5.0.20170922/0001-fix-mt-cflags.patch deleted file mode 100644 index 24a9215..0000000 --- a/packages/newlib/2.5.0.20170922/0001-fix-mt-cflags.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C diff --git a/packages/newlib/2.5.0.20170922/chksum b/packages/newlib/2.5.0.20170922/chksum deleted file mode 100644 index 95c57c6..0000000 --- a/packages/newlib/2.5.0.20170922/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.5.0.20170922.tar.gz 499fb1239b44faf2e4a0873f17fe61ff -sha1 newlib-2.5.0.20170922.tar.gz c47819a6719ed3b13822ba6837a03b76bf81b8b2 -sha256 newlib-2.5.0.20170922.tar.gz 16ccacbb9155b89a8333da057bfd2952d334795a38dfffcef6a4d83ae12e7275 -sha512 newlib-2.5.0.20170922.tar.gz 5f29509c53d2858c0067e2fe33565a8b8e9decfc2761b3616729a274e7747c120a0b82b2c50aae291b182178da274a1540e218d23b86debd56256e17f3651d4b diff --git a/packages/newlib/2.5.0.20170922/version.desc b/packages/newlib/2.5.0.20170922/version.desc deleted file mode 100644 index e69de29..0000000 diff --git a/packages/newlib/2.5.0.20171222/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.5.0.20171222/0000-fix-unaligned-access-memcpy-m68k.patch new file mode 100644 index 0000000..b6709d5 --- /dev/null +++ b/packages/newlib/2.5.0.20171222/0000-fix-unaligned-access-memcpy-m68k.patch @@ -0,0 +1,25 @@ +The m68k mcpu processor does not like unaligned access + +Disable at least mcpu32, m68010 and m68020. These processors certainly +do not like unaligned accesses. + +Signed-off-by: Remy Bohmer +[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] +Signed-off-by: "Yann E. MORIN" +[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] +Signed-off-by: Austin Morton +--- + newlib/libc/machine/m68k/memcpy.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/newlib/libc/machine/m68k/memcpy.S ++++ b/newlib/libc/machine/m68k/memcpy.S +@@ -15,7 +15,7 @@ + + #include "m68kasm.h" + +-#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) ++#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) + # define MISALIGNED_OK 1 + #else + # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.5.0.20171222/0001-fix-mt-cflags.patch b/packages/newlib/2.5.0.20171222/0001-fix-mt-cflags.patch new file mode 100644 index 0000000..24a9215 --- /dev/null +++ b/packages/newlib/2.5.0.20171222/0001-fix-mt-cflags.patch @@ -0,0 +1,13 @@ +--- + config/mt-d30v | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/config/mt-d30v ++++ b/config/mt-d30v +@@ -1,4 +1,4 @@ + # Build libraries optimizing for space, not speed. + # Turn off warnings about symbols named the same as registers +- CFLAGS_FOR_TARGET = -g -Os -Wa,-C +- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C ++ CFLAGS_FOR_TARGET += -g -Os -Wa,-C ++ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C diff --git a/packages/newlib/2.5.0.20171222/chksum b/packages/newlib/2.5.0.20171222/chksum new file mode 100644 index 0000000..bad7d40 --- /dev/null +++ b/packages/newlib/2.5.0.20171222/chksum @@ -0,0 +1,4 @@ +md5 newlib-2.5.0.20171222.tar.gz 98215f83a542fdde946c11661a34ab3f +sha1 newlib-2.5.0.20171222.tar.gz 196e5c4dd72210b84394cc006e7579652368748f +sha256 newlib-2.5.0.20171222.tar.gz d2bf5d0f375381a9e6888e3074ac0e4cae72a7a748a05ef24f81b8df5328ef31 +sha512 newlib-2.5.0.20171222.tar.gz 753a948b96611a75c709e477991117510975a9274f4e6f13f9092b229cae3da48a4a08d339745c00f54fa28584eb471d704f87c997faa9b852771d7bd2cd7f9d diff --git a/packages/newlib/2.5.0.20171222/version.desc b/packages/newlib/2.5.0.20171222/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch new file mode 100644 index 0000000..b6709d5 --- /dev/null +++ b/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch @@ -0,0 +1,25 @@ +The m68k mcpu processor does not like unaligned access + +Disable at least mcpu32, m68010 and m68020. These processors certainly +do not like unaligned accesses. + +Signed-off-by: Remy Bohmer +[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] +Signed-off-by: "Yann E. MORIN" +[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] +Signed-off-by: Austin Morton +--- + newlib/libc/machine/m68k/memcpy.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/newlib/libc/machine/m68k/memcpy.S ++++ b/newlib/libc/machine/m68k/memcpy.S +@@ -15,7 +15,7 @@ + + #include "m68kasm.h" + +-#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) ++#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) + # define MISALIGNED_OK 1 + #else + # define MISALIGNED_OK 0 diff --git a/packages/newlib/3.0.0/0001-fix-mt-cflags.patch b/packages/newlib/3.0.0/0001-fix-mt-cflags.patch new file mode 100644 index 0000000..24a9215 --- /dev/null +++ b/packages/newlib/3.0.0/0001-fix-mt-cflags.patch @@ -0,0 +1,13 @@ +--- + config/mt-d30v | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/config/mt-d30v ++++ b/config/mt-d30v +@@ -1,4 +1,4 @@ + # Build libraries optimizing for space, not speed. + # Turn off warnings about symbols named the same as registers +- CFLAGS_FOR_TARGET = -g -Os -Wa,-C +- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C ++ CFLAGS_FOR_TARGET += -g -Os -Wa,-C ++ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C diff --git a/packages/newlib/3.0.0/chksum b/packages/newlib/3.0.0/chksum new file mode 100644 index 0000000..4da4e03 --- /dev/null +++ b/packages/newlib/3.0.0/chksum @@ -0,0 +1,4 @@ +md5 newlib-3.0.0.tar.gz 81ec873108b8593c586f91ca65963952 +sha1 newlib-3.0.0.tar.gz 641e4d4a50e31016ca90e0d3ea095aabae34c4a7 +sha256 newlib-3.0.0.tar.gz c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332 +sha512 newlib-3.0.0.tar.gz d4730ce9a4fc4e62052e89d20d4a3855a103b3d1a2818e94c7a68626db285aa8db8e56a684103731916bfba3e581db88e3a93264034ea0f2880ee8976283c04f diff --git a/packages/newlib/3.0.0/version.desc b/packages/newlib/3.0.0/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/uClibc-ng/1.0.28/chksum b/packages/uClibc-ng/1.0.28/chksum new file mode 100644 index 0000000..491be89 --- /dev/null +++ b/packages/uClibc-ng/1.0.28/chksum @@ -0,0 +1,16 @@ +md5 uClibc-ng-1.0.28.tar.xz cae003fbeb5b5cdbf0755fef315a944f +sha1 uClibc-ng-1.0.28.tar.xz 94002d2c3576bc5948d20b68aa3fd3a41a6eaa15 +sha256 uClibc-ng-1.0.28.tar.xz a1504ddc34a29cc9bfd1f5a7419c4b63bb510d9e2faed81618d1b596ceb0a5a9 +sha512 uClibc-ng-1.0.28.tar.xz 6505a61b9c3e8fe7d34adf06eeae190e314a64c6e7a68dd5deb3149b88955a8bf97812cb53bf7a565b5e856e27f4cb8eed84ead7d54ac8351e11db605fd543f2 +md5 uClibc-ng-1.0.28.tar.lz ca9e69c64d1dea23cc996fff178abe40 +sha1 uClibc-ng-1.0.28.tar.lz d738918fcd6bb8bfd5cc8856c9c5a58fffd0f146 +sha256 uClibc-ng-1.0.28.tar.lz 5b964d218b516d7a875555ed791fd2a49139af48dc01abf57fbfea655b91dcbc +sha512 uClibc-ng-1.0.28.tar.lz 4eb0bdd2fd4a41dc95920cd1d1fcad971c5534254922258f6be182b3291dff538e097aba67a734e3a63dd58e99162ff8ccf7dc39be49183e930ad245560e2980 +md5 uClibc-ng-1.0.28.tar.bz2 f256729f4e9395797b53ecb99cbdc9af +sha1 uClibc-ng-1.0.28.tar.bz2 1daa2b307ec57b8c5d12f6657549eafc4d6d6530 +sha256 uClibc-ng-1.0.28.tar.bz2 c1140bd6570d47a9518677514a81840051b0ea73de9c770a2b3a4048b763defa +sha512 uClibc-ng-1.0.28.tar.bz2 9e77fece126b6ba6f9903a2fc5689a9f7efb335e38914a3806a7e0831033f5373a4b07e942d28876ed81a6a80b2d64b0fa122dccc4874db263d2d5fb7fef99ba +md5 uClibc-ng-1.0.28.tar.gz a0b2f9a3582e6ab2d8904992b5acc4cb +sha1 uClibc-ng-1.0.28.tar.gz 0700014f36e89a9d6cde46b112310f05aa0a0e7e +sha256 uClibc-ng-1.0.28.tar.gz 5dfc8a7bceda54f15f6001971e0e4743f49cb7b9386039c34b5ffbdd8454181b +sha512 uClibc-ng-1.0.28.tar.gz ffc5c0ebcd9a356854b0ff6dc943cd092a6eec56d8bb82f2a8d407956be1ae1e9aa1174a22e2095a20ab0f26bdb8dd62f0329f3995b1b15fda3dce87e6f2c5f5 diff --git a/packages/uClibc-ng/1.0.28/version.desc b/packages/uClibc-ng/1.0.28/version.desc new file mode 100644 index 0000000..e69de29 -- cgit v0.10.2-6-g49f6