From 86c2982568de1ad4d4cc12a65b19231331484405 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Thu, 10 Feb 2022 18:00:59 -0800 Subject: Run patches thru `manage-packages -P` This refreshes the line numbers, removes any fuzz (which would make any future forward ports easier) and standardizes the patch/file headers (which makes them easier to read). Signed-off-by: Alexey Neyman diff --git a/packages/binutils/2.26.1/0013-Fix-a-missing-include-of-string.patch b/packages/binutils/2.26.1/0013-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.26.1/0013-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.26.1/0013-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.27/0012-Fix-a-missing-include-of-string.patch b/packages/binutils/2.27/0012-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.27/0012-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.27/0012-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.28.1/0009-Fix-a-missing-include-of-string.patch b/packages/binutils/2.28.1/0009-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.28.1/0009-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.28.1/0009-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.29.1/0009-Fix-a-missing-include-of-string.patch b/packages/binutils/2.29.1/0009-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.29.1/0009-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.29.1/0009-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.30/0009-Fix-a-missing-include-of-string.patch b/packages/binutils/2.30/0009-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.30/0009-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.30/0009-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.31.1/0012-Fix-a-missing-include-of-string.patch b/packages/binutils/2.31.1/0012-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.31.1/0012-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.31.1/0012-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.32/0009-Fix-a-missing-include-of-string.patch b/packages/binutils/2.32/0009-Fix-a-missing-include-of-string.patch index b04033a..8ba0e8d 100644 --- a/packages/binutils/2.32/0009-Fix-a-missing-include-of-string.patch +++ b/packages/binutils/2.32/0009-Fix-a-missing-include-of-string.patch @@ -9,11 +9,9 @@ gold/ChangeLog: * errors.h: Include string. --- - gold/errors.h | 1 + + gold/errors.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/gold/errors.h b/gold/errors.h -index 1e61c8dbb5..805b25fc9c 100644 --- a/gold/errors.h +++ b/gold/errors.h @@ -24,6 +24,7 @@ diff --git a/packages/binutils/2.33.1/0000-sh-conf.patch b/packages/binutils/2.33.1/0000-sh-conf.patch index f636289..ecd28af 100644 --- a/packages/binutils/2.33.1/0000-sh-conf.patch +++ b/packages/binutils/2.33.1/0000-sh-conf.patch @@ -12,7 +12,7 @@ inept targets than that one, really. Go look, I promise). --- a/configure +++ b/configure -@@ -3865,7 +3865,7 @@ case "${target}" in +@@ -3865,7 +3865,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; @@ -23,7 +23,7 @@ inept targets than that one, really. Go look, I promise). ;; --- a/configure.ac +++ b/configure.ac -@@ -1158,7 +1158,7 @@ case "${target}" in +@@ -1158,7 +1158,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; diff --git a/packages/binutils/2.33.1/0001-ld_makefile_patch.patch b/packages/binutils/2.33.1/0001-ld_makefile_patch.patch index e76207e..f73ff26 100644 --- a/packages/binutils/2.33.1/0001-ld_makefile_patch.patch +++ b/packages/binutils/2.33.1/0001-ld_makefile_patch.patch @@ -5,7 +5,7 @@ --- a/ld/Makefile.am +++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif +@@ -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. @@ -16,7 +16,7 @@ EMULATION_OFILES = @EMULATION_OFILES@ --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -563,7 +563,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. diff --git a/packages/binutils/2.33.1/0002-check_ldrunpath_length.patch b/packages/binutils/2.33.1/0002-check_ldrunpath_length.patch index 131c6bf..95730af 100644 --- a/packages/binutils/2.33.1/0002-check_ldrunpath_length.patch +++ b/packages/binutils/2.33.1/0002-check_ldrunpath_length.patch @@ -4,7 +4,7 @@ --- a/ld/emultempl/elf32.em +++ b/ld/emultempl/elf32.em -@@ -1470,6 +1470,8 @@ fragment <&5 --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -243,7 +243,10 @@ AM_PO_SUBDIRS +@@ -243,7 +243,10 @@ AC_EXEEXT AC_PROG_YACC diff --git a/packages/binutils/2.33.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.33.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch index 0537aa4..2b32b9a 100644 --- a/packages/binutils/2.33.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch +++ b/packages/binutils/2.33.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch @@ -15,7 +15,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c -@@ -3623,6 +3623,28 @@ u16_mbtouc (wchar_t * puc, const unsigne +@@ -3623,6 +3623,28 @@ } #endif /* HAVE_WCHAR_H and not Cygwin/Mingw */ @@ -46,7 +46,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e 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 @@ Condvar::~Condvar() +@@ -284,9 +284,18 @@ class Once_initialize { public: diff --git a/packages/binutils/2.33.1/0007-sysroot.patch b/packages/binutils/2.33.1/0007-sysroot.patch index bcf6f34..ba7940a 100644 --- a/packages/binutils/2.33.1/0007-sysroot.patch +++ b/packages/binutils/2.33.1/0007-sysroot.patch @@ -11,7 +11,7 @@ http://sourceware.org/bugzilla/show_bug.cgi?id=10340 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -338,18 +338,25 @@ ldfile_open_file_search (const char *arc +@@ -338,18 +338,25 @@ directory first. */ if (!entry->flags.maybe_archive) { diff --git a/packages/binutils/2.33.1/0008-poison-system-directories.patch b/packages/binutils/2.33.1/0008-poison-system-directories.patch index 907036c..461c8df 100644 --- a/packages/binutils/2.33.1/0008-poison-system-directories.patch +++ b/packages/binutils/2.33.1/0008-poison-system-directories.patch @@ -85,7 +85,7 @@ Signed-off-by: Scott Garman --- a/ld/configure +++ b/ld/configure -@@ -823,6 +823,7 @@ with_lib_path +@@ -823,6 +823,7 @@ enable_targets enable_64_bit_bfd with_sysroot @@ -93,7 +93,7 @@ Signed-off-by: Scott Garman enable_gold enable_got enable_compressed_debug_sections -@@ -1487,6 +1488,8 @@ Optional Features: +@@ -1487,6 +1488,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) @@ -102,7 +102,7 @@ Signed-off-by: Scott Garman --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15804,7 +15807,18 @@ else +@@ -15804,7 +15807,18 @@ fi @@ -123,7 +123,7 @@ Signed-off-by: Scott Garman if test "${enable_got+set}" = set; then : --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) +@@ -94,6 +94,16 @@ AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -142,7 +142,7 @@ Signed-off-by: Scott Garman dnl "installed_linker" is the installed BFD linker name. --- a/ld/ld.h +++ b/ld/ld.h -@@ -175,6 +175,14 @@ typedef struct +@@ -175,6 +175,14 @@ /* If set, display the target memory usage (per memory region). */ bfd_boolean print_memory_usage; @@ -159,7 +159,7 @@ Signed-off-by: Scott Garman in the linker script. */ --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2557,6 +2557,18 @@ string identifying the original linked f +@@ -2557,6 +2557,18 @@ Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -180,7 +180,7 @@ Signed-off-by: Scott Garman @c man end --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *nam +@@ -116,6 +116,23 @@ new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); @@ -206,7 +206,7 @@ Signed-off-by: Scott Garman /* Try to open a BFD for a lang_input_statement. */ --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -150,6 +150,8 @@ enum option_values +@@ -150,6 +150,8 @@ OPTION_FORCE_GROUP_ALLOCATION, OPTION_PRINT_MAP_DISCARDED, OPTION_NO_PRINT_MAP_DISCARDED, @@ -217,7 +217,7 @@ Signed-off-by: Scott Garman /* The initial parser states. */ --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) +@@ -270,6 +270,8 @@ command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; @@ -228,7 +228,7 @@ Signed-off-by: Scott Garman COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -549,6 +549,14 @@ static const struct ld_option ld_options +@@ -549,6 +549,14 @@ { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, '\0', NULL, N_("Do not show discarded sections in map file output"), TWO_DASHES }, @@ -243,7 +243,7 @@ Signed-off-by: Scott Garman }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -561,6 +569,7 @@ parse_args (unsigned argc, char **argv) +@@ -561,6 +569,7 @@ int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -251,7 +251,7 @@ Signed-off-by: Scott Garman struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1549,6 +1558,14 @@ parse_args (unsigned argc, char **argv) +@@ -1549,6 +1558,14 @@ } break; @@ -266,7 +266,7 @@ Signed-off-by: Scott Garman case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1600,6 +1617,10 @@ parse_args (unsigned argc, char **argv) +@@ -1600,6 +1617,10 @@ command_line.soname = NULL; } diff --git a/packages/binutils/2.35.1/0000-sh-conf.patch b/packages/binutils/2.35.1/0000-sh-conf.patch index 06693ef..b7e07d9 100644 --- a/packages/binutils/2.35.1/0000-sh-conf.patch +++ b/packages/binutils/2.35.1/0000-sh-conf.patch @@ -12,7 +12,7 @@ inept targets than that one, really. Go look, I promise). --- a/configure +++ b/configure -@@ -3937,7 +3937,7 @@ case "${target}" in +@@ -3937,7 +3937,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; @@ -23,7 +23,7 @@ inept targets than that one, really. Go look, I promise). ;; --- a/configure.ac +++ b/configure.ac -@@ -1178,7 +1178,7 @@ case "${target}" in +@@ -1178,7 +1178,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; diff --git a/packages/binutils/2.35.1/0001-ld_makefile_patch.patch b/packages/binutils/2.35.1/0001-ld_makefile_patch.patch index 0eb9496..5a64fb9 100644 --- a/packages/binutils/2.35.1/0001-ld_makefile_patch.patch +++ b/packages/binutils/2.35.1/0001-ld_makefile_patch.patch @@ -5,7 +5,7 @@ --- a/ld/Makefile.am +++ b/ld/Makefile.am -@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -50,7 +50,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. @@ -16,7 +16,7 @@ EMULATION_OFILES = @EMULATION_OFILES@ --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -555,7 +555,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -555,7 +555,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. diff --git a/packages/binutils/2.35.1/0002-check_ldrunpath_length.patch b/packages/binutils/2.35.1/0002-check_ldrunpath_length.patch index 0edd2fe..407b48c 100644 --- a/packages/binutils/2.35.1/0002-check_ldrunpath_length.patch +++ b/packages/binutils/2.35.1/0002-check_ldrunpath_length.patch @@ -4,7 +4,7 @@ --- a/ld/ldelf.c +++ b/ld/ldelf.c -@@ -1247,6 +1247,8 @@ ldelf_after_open (int use_libpath, int n +@@ -1247,6 +1247,8 @@ && command_line.rpath == NULL) { path = (const char *) getenv ("LD_RUN_PATH"); @@ -13,7 +13,7 @@ if (path && ldelf_search_needed (path, &n, force, is_linux, elfsize)) -@@ -1605,6 +1607,8 @@ ldelf_before_allocation (char *audit, ch +@@ -1605,6 +1607,8 @@ rpath = command_line.rpath; if (rpath == NULL) rpath = (const char *) getenv ("LD_RUN_PATH"); diff --git a/packages/binutils/2.35.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.35.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch index c712df5..99dee96 100644 --- a/packages/binutils/2.35.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch +++ b/packages/binutils/2.35.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch @@ -4,7 +4,7 @@ --- a/gold/gold-threads.cc +++ b/gold/gold-threads.cc -@@ -101,7 +101,7 @@ Lock_impl_threads::Lock_impl_threads() +@@ -101,7 +101,7 @@ int err = pthread_mutexattr_init(&attr); if (err != 0) gold_fatal(_("pthead_mutexattr_init failed: %s"), strerror(err)); diff --git a/packages/binutils/2.35.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.35.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch index 02efa21..fd6b203 100644 --- a/packages/binutils/2.35.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch +++ b/packages/binutils/2.35.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch @@ -9,7 +9,7 @@ --- a/binutils/configure +++ b/binutils/configure -@@ -12570,6 +12570,7 @@ fi +@@ -12570,6 +12570,7 @@ done test -n "$YACC" || YACC="yacc" @@ -17,7 +17,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -12733,6 +12734,8 @@ esac +@@ -12733,6 +12734,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -28,7 +28,7 @@ # If we haven't got the data from the intl directory, --- a/binutils/configure.ac +++ b/binutils/configure.ac -@@ -95,7 +95,10 @@ if test -z "$host" ; then +@@ -95,7 +95,10 @@ fi AC_PROG_YACC @@ -41,7 +41,7 @@ ZW_GNU_GETTEXT_SISTER_DIR --- a/gas/configure +++ b/gas/configure -@@ -13519,6 +13519,7 @@ fi +@@ -13519,6 +13519,7 @@ done test -n "$YACC" || YACC="yacc" @@ -49,7 +49,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -13682,6 +13683,8 @@ esac +@@ -13682,6 +13683,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -60,7 +60,7 @@ # If we haven't got the data from the intl directory, --- a/gas/configure.ac +++ b/gas/configure.ac -@@ -924,7 +924,10 @@ AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${tar +@@ -924,7 +924,10 @@ AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.]) AC_PROG_YACC @@ -73,7 +73,7 @@ ZW_GNU_GETTEXT_SISTER_DIR --- a/ld/configure +++ b/ld/configure -@@ -16584,6 +16584,7 @@ fi +@@ -16584,6 +16584,7 @@ done test -n "$YACC" || YACC="yacc" @@ -81,7 +81,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -16747,6 +16748,8 @@ esac +@@ -16747,6 +16748,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -92,7 +92,7 @@ { $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 -@@ -258,7 +258,10 @@ AM_PO_SUBDIRS +@@ -258,7 +258,10 @@ AC_EXEEXT AC_PROG_YACC diff --git a/packages/binutils/2.35.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.35.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch index 631d013..6f2d1e1 100644 --- a/packages/binutils/2.35.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch +++ b/packages/binutils/2.35.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch @@ -15,7 +15,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c -@@ -3696,6 +3696,28 @@ u16_mbtouc (wchar_t * puc, const unsigne +@@ -3696,6 +3696,28 @@ } #endif /* HAVE_WCHAR_H and not Cygwin/Mingw */ @@ -46,7 +46,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e 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 @@ Condvar::~Condvar() +@@ -284,9 +284,18 @@ class Once_initialize { public: diff --git a/packages/binutils/2.35.1/0007-sysroot.patch b/packages/binutils/2.35.1/0007-sysroot.patch index c98f147..0140fe8 100644 --- a/packages/binutils/2.35.1/0007-sysroot.patch +++ b/packages/binutils/2.35.1/0007-sysroot.patch @@ -11,7 +11,7 @@ http://sourceware.org/bugzilla/show_bug.cgi?id=10340 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -340,18 +340,25 @@ ldfile_open_file_search (const char *arc +@@ -340,18 +340,25 @@ directory first. */ if (!entry->flags.maybe_archive) { diff --git a/packages/binutils/2.35.1/0008-poison-system-directories.patch b/packages/binutils/2.35.1/0008-poison-system-directories.patch index d836f8a..970a7a1 100644 --- a/packages/binutils/2.35.1/0008-poison-system-directories.patch +++ b/packages/binutils/2.35.1/0008-poison-system-directories.patch @@ -85,7 +85,7 @@ Signed-off-by: Scott Garman --- a/ld/configure +++ b/ld/configure -@@ -826,6 +826,7 @@ with_lib_path +@@ -826,6 +826,7 @@ enable_targets enable_64_bit_bfd with_sysroot @@ -93,7 +93,7 @@ Signed-off-by: Scott Garman enable_gold enable_got enable_compressed_debug_sections -@@ -1493,6 +1494,8 @@ Optional Features: +@@ -1493,6 +1494,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) @@ -102,7 +102,7 @@ Signed-off-by: Scott Garman --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15814,7 +15817,18 @@ else +@@ -15814,7 +15817,18 @@ fi @@ -123,7 +123,7 @@ Signed-off-by: Scott Garman if test "${enable_got+set}" = set; then : --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) +@@ -94,6 +94,16 @@ AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -142,7 +142,7 @@ Signed-off-by: Scott Garman dnl "installed_linker" is the installed BFD linker name. --- a/ld/ld.h +++ b/ld/ld.h -@@ -161,6 +161,14 @@ typedef struct +@@ -161,6 +161,14 @@ /* If set, display the target memory usage (per memory region). */ bfd_boolean print_memory_usage; @@ -159,7 +159,7 @@ Signed-off-by: Scott Garman in the linker script. */ --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2655,6 +2655,18 @@ string identifying the original linked f +@@ -2655,6 +2655,18 @@ Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -180,7 +180,7 @@ Signed-off-by: Scott Garman @c man end --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *nam +@@ -117,6 +117,23 @@ new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); @@ -206,7 +206,7 @@ Signed-off-by: Scott Garman /* Try to open a BFD for a lang_input_statement. */ --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -155,6 +155,8 @@ enum option_values +@@ -155,6 +155,8 @@ OPTION_NON_CONTIGUOUS_REGIONS, OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS, OPTION_DEPENDENCY_FILE, @@ -217,7 +217,7 @@ Signed-off-by: Scott Garman /* The initial parser states. */ --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -321,6 +321,8 @@ main (int argc, char **argv) +@@ -321,6 +321,8 @@ command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; @@ -228,7 +228,7 @@ Signed-off-by: Scott Garman COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -572,6 +572,14 @@ static const struct ld_option ld_options +@@ -572,6 +572,14 @@ { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED}, '\0', NULL, N_("Do not show discarded sections in map file output"), TWO_DASHES }, @@ -243,7 +243,7 @@ Signed-off-by: Scott Garman }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -584,6 +592,7 @@ parse_args (unsigned argc, char **argv) +@@ -584,6 +592,7 @@ int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -251,7 +251,7 @@ Signed-off-by: Scott Garman struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1591,6 +1600,14 @@ parse_args (unsigned argc, char **argv) +@@ -1591,6 +1600,14 @@ } break; @@ -266,7 +266,7 @@ Signed-off-by: Scott Garman case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1681,6 +1698,10 @@ parse_args (unsigned argc, char **argv) +@@ -1681,6 +1698,10 @@ command_line.soname = NULL; } diff --git a/packages/binutils/2.35.1/0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch b/packages/binutils/2.35.1/0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch index b6b4496..674347f 100644 --- a/packages/binutils/2.35.1/0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch +++ b/packages/binutils/2.35.1/0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch @@ -8,11 +8,13 @@ Subject: [PATCH] Import patch from mainline to fix decoding DWARF information * dwarf2.c (scan_unit_for_symbols): Add member entries to the variable table. --- -diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c -index b8f0008a10d..977bf43a6a1 100644 +--- + bfd/dwarf2.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c -@@ -3404,7 +3404,8 @@ scan_unit_for_symbols (struct comp_unit *unit) +@@ -3404,7 +3404,8 @@ else { func = NULL; @@ -22,7 +24,7 @@ index b8f0008a10d..977bf43a6a1 100644 { size_t amt = sizeof (struct varinfo); var = (struct varinfo *) bfd_zalloc (abfd, amt); -@@ -3516,7 +3517,7 @@ scan_unit_for_symbols (struct comp_unit *unit) +@@ -3516,7 +3517,7 @@ spec_var = lookup_var_by_offset (attr.u.val, unit->variable_table); if (spec_var == NULL) @@ -31,6 +33,3 @@ index b8f0008a10d..977bf43a6a1 100644 _bfd_error_handler (_("DWARF error: could not find " "variable specification " "at offset %lx"), --- -2.25.4 - diff --git a/packages/binutils/2.35.1/0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch b/packages/binutils/2.35.1/0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch index 9ea369a..7276357 100644 --- a/packages/binutils/2.35.1/0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch +++ b/packages/binutils/2.35.1/0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch @@ -36,11 +36,16 @@ gas/ChangeLog: * testsuite/gas/arm/mve-vldr-vstr-bad.l: Likewise. * testsuite/gas/arm/mve-vldr-vstr-bad.s: Likewise. --- -diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c -index a9aaffa3bdd..64475d66729 100644 +--- + gas/config/tc-arm.c | 10 + gas/testsuite/gas/arm/mve-vldr-vstr-bad.d | 5 + gas/testsuite/gas/arm/mve-vldr-vstr-bad.l | 811 ++++++++++++++++++++++++++++++ + gas/testsuite/gas/arm/mve-vldr-vstr-bad.s | 30 + + 4 files changed, 855 insertions(+), 1 deletion(-) + --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c -@@ -5936,7 +5936,15 @@ parse_address_main (char **str, int i, int group_relocations, +@@ -5936,7 +5936,15 @@ if (skip_past_char (&p, '[') == FAIL) { @@ -57,9 +62,6 @@ index a9aaffa3bdd..64475d66729 100644 { /* Bare address - translate to PC-relative offset. */ inst.relocs[0].pc_rel = 1; -diff --git a/gas/testsuite/gas/arm/mve-vldr-vstr-bad.d b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.d -new file mode 100644 -index 00000000000..8989688f0f3 --- /dev/null +++ b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.d @@ -0,0 +1,5 @@ @@ -68,9 +70,6 @@ index 00000000000..8989688f0f3 +#error_output: mve-vldr-vstr-bad.l + +.*: +file format .*arm.* -diff --git a/gas/testsuite/gas/arm/mve-vldr-vstr-bad.l b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.l -new file mode 100644 -index 00000000000..2df3a37ac02 --- /dev/null +++ b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.l @@ -0,0 +1,811 @@ @@ -885,9 +884,6 @@ index 00000000000..2df3a37ac02 +[^:]*:30: Error: syntax error -- `vldrw.s32 q7,r14' +[^:]*:30: Error: syntax error -- `vldrw.u32 q7,r14' +[^:]*:30: Error: syntax error -- `vstrw.32 q7,r14' -diff --git a/gas/testsuite/gas/arm/mve-vldr-vstr-bad.s b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.s -new file mode 100644 -index 00000000000..c72c1296d2f --- /dev/null +++ b/gas/testsuite/gas/arm/mve-vldr-vstr-bad.s @@ -0,0 +1,30 @@ @@ -921,6 +917,3 @@ index 00000000000..c72c1296d2f +vstrw.32 \op2, \op3 +.endr +.endr --- -2.25.4 - diff --git a/packages/binutils/2.36.1/0000-sh-conf.patch b/packages/binutils/2.36.1/0000-sh-conf.patch index 83d40a0..39a56e1 100644 --- a/packages/binutils/2.36.1/0000-sh-conf.patch +++ b/packages/binutils/2.36.1/0000-sh-conf.patch @@ -12,7 +12,7 @@ inept targets than that one, really. Go look, I promise). --- a/configure +++ b/configure -@@ -3887,7 +3887,7 @@ case "${target}" in +@@ -3887,7 +3887,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; @@ -23,7 +23,7 @@ inept targets than that one, really. Go look, I promise). ;; --- a/configure.ac +++ b/configure.ac -@@ -1177,7 +1177,7 @@ case "${target}" in +@@ -1177,7 +1177,7 @@ nvptx*-*-*) noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" ;; diff --git a/packages/binutils/2.36.1/0001-ld_makefile_patch.patch b/packages/binutils/2.36.1/0001-ld_makefile_patch.patch index 1c03d02..7c49085 100644 --- a/packages/binutils/2.36.1/0001-ld_makefile_patch.patch +++ b/packages/binutils/2.36.1/0001-ld_makefile_patch.patch @@ -5,7 +5,7 @@ --- a/ld/Makefile.am +++ b/ld/Makefile.am -@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -50,7 +50,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. @@ -16,7 +16,7 @@ EMULATION_OFILES = @EMULATION_OFILES@ --- a/ld/Makefile.in +++ b/ld/Makefile.in -@@ -561,7 +561,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) +@@ -561,7 +561,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. diff --git a/packages/binutils/2.36.1/0002-check_ldrunpath_length.patch b/packages/binutils/2.36.1/0002-check_ldrunpath_length.patch index d54e656..bf30ca9 100644 --- a/packages/binutils/2.36.1/0002-check_ldrunpath_length.patch +++ b/packages/binutils/2.36.1/0002-check_ldrunpath_length.patch @@ -4,7 +4,7 @@ --- a/ld/ldelf.c +++ b/ld/ldelf.c -@@ -1248,6 +1248,8 @@ ldelf_after_open (int use_libpath, int n +@@ -1248,6 +1248,8 @@ && command_line.rpath == NULL) { path = (const char *) getenv ("LD_RUN_PATH"); @@ -13,7 +13,7 @@ if (path && ldelf_search_needed (path, &n, force, is_linux, elfsize)) -@@ -1608,6 +1610,8 @@ ldelf_before_allocation (char *audit, ch +@@ -1608,6 +1610,8 @@ rpath = command_line.rpath; if (rpath == NULL) rpath = (const char *) getenv ("LD_RUN_PATH"); diff --git a/packages/binutils/2.36.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.36.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch index c712df5..99dee96 100644 --- a/packages/binutils/2.36.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch +++ b/packages/binutils/2.36.1/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch @@ -4,7 +4,7 @@ --- a/gold/gold-threads.cc +++ b/gold/gold-threads.cc -@@ -101,7 +101,7 @@ Lock_impl_threads::Lock_impl_threads() +@@ -101,7 +101,7 @@ int err = pthread_mutexattr_init(&attr); if (err != 0) gold_fatal(_("pthead_mutexattr_init failed: %s"), strerror(err)); diff --git a/packages/binutils/2.36.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.36.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch index 5332426..67bac1f 100644 --- a/packages/binutils/2.36.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch +++ b/packages/binutils/2.36.1/0004-Dont-link-to-libfl-as-its-unnecessary.patch @@ -9,7 +9,7 @@ --- a/binutils/configure +++ b/binutils/configure -@@ -12811,6 +12811,7 @@ fi +@@ -12811,6 +12811,7 @@ done test -n "$YACC" || YACC="yacc" @@ -17,7 +17,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -12974,6 +12975,8 @@ esac +@@ -12974,6 +12975,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -28,7 +28,7 @@ # If we haven't got the data from the intl directory, --- a/binutils/configure.ac +++ b/binutils/configure.ac -@@ -110,7 +110,10 @@ if test -z "$host" ; then +@@ -110,7 +110,10 @@ fi AC_PROG_YACC @@ -41,7 +41,7 @@ ZW_GNU_GETTEXT_SISTER_DIR --- a/gas/configure +++ b/gas/configure -@@ -13558,6 +13558,7 @@ fi +@@ -13558,6 +13558,7 @@ done test -n "$YACC" || YACC="yacc" @@ -49,7 +49,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -13721,6 +13722,8 @@ esac +@@ -13721,6 +13722,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -60,7 +60,7 @@ # If we haven't got the data from the intl directory, --- a/gas/configure.ac +++ b/gas/configure.ac -@@ -931,7 +931,10 @@ AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${tar +@@ -931,7 +931,10 @@ AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.]) AC_PROG_YACC @@ -73,7 +73,7 @@ ZW_GNU_GETTEXT_SISTER_DIR --- a/ld/configure +++ b/ld/configure -@@ -16623,6 +16623,7 @@ fi +@@ -16623,6 +16623,7 @@ done test -n "$YACC" || YACC="yacc" @@ -81,7 +81,7 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. -@@ -16786,6 +16787,8 @@ esac +@@ -16786,6 +16787,8 @@ if test "$LEX" = :; then LEX=${am_missing_run}flex fi @@ -92,7 +92,7 @@ { $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 -@@ -269,7 +269,10 @@ AM_PO_SUBDIRS +@@ -269,7 +269,10 @@ AC_EXEEXT AC_PROG_YACC diff --git a/packages/binutils/2.36.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.36.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch index 87d047c..6d86900 100644 --- a/packages/binutils/2.36.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch +++ b/packages/binutils/2.36.1/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch @@ -15,7 +15,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c -@@ -3589,6 +3589,28 @@ u16_mbtouc (wchar_t * puc, const unsigne +@@ -3589,6 +3589,28 @@ } #endif /* HAVE_WCHAR_H and not Cygwin/Mingw */ @@ -46,7 +46,7 @@ Change-Id: I69204a72f853f5263dffedc448379d75ed4eca2e 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 @@ Condvar::~Condvar() +@@ -284,9 +284,18 @@ class Once_initialize { public: diff --git a/packages/binutils/2.36.1/0007-sysroot.patch b/packages/binutils/2.36.1/0007-sysroot.patch index c98f147..0140fe8 100644 --- a/packages/binutils/2.36.1/0007-sysroot.patch +++ b/packages/binutils/2.36.1/0007-sysroot.patch @@ -11,7 +11,7 @@ http://sourceware.org/bugzilla/show_bug.cgi?id=10340 --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -340,18 +340,25 @@ ldfile_open_file_search (const char *arc +@@ -340,18 +340,25 @@ directory first. */ if (!entry->flags.maybe_archive) { diff --git a/packages/binutils/2.36.1/0008-poison-system-directories.patch b/packages/binutils/2.36.1/0008-poison-system-directories.patch index 126e99c..545a1a3 100644 --- a/packages/binutils/2.36.1/0008-poison-system-directories.patch +++ b/packages/binutils/2.36.1/0008-poison-system-directories.patch @@ -85,7 +85,7 @@ Signed-off-by: Scott Garman --- a/ld/configure +++ b/ld/configure -@@ -828,6 +828,7 @@ with_lib_path +@@ -828,6 +828,7 @@ enable_targets enable_64_bit_bfd with_sysroot @@ -93,7 +93,7 @@ Signed-off-by: Scott Garman enable_gold enable_got enable_compressed_debug_sections -@@ -1496,6 +1497,8 @@ Optional Features: +@@ -1496,6 +1497,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) @@ -102,7 +102,7 @@ Signed-off-by: Scott Garman --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15841,7 +15844,18 @@ else +@@ -15841,7 +15844,18 @@ fi @@ -123,7 +123,7 @@ Signed-off-by: Scott Garman if test "${enable_got+set}" = set; then : --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) +@@ -94,6 +94,16 @@ AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -142,7 +142,7 @@ Signed-off-by: Scott Garman dnl "installed_linker" is the installed BFD linker name. --- a/ld/ld.h +++ b/ld/ld.h -@@ -161,6 +161,14 @@ typedef struct +@@ -161,6 +161,14 @@ /* If set, display the target memory usage (per memory region). */ bfd_boolean print_memory_usage; @@ -159,7 +159,7 @@ Signed-off-by: Scott Garman in the linker script. */ --- a/ld/ld.texi +++ b/ld/ld.texi -@@ -2810,6 +2810,18 @@ string identifying the original linked f +@@ -2810,6 +2810,18 @@ Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -180,7 +180,7 @@ Signed-off-by: Scott Garman @c man end --- a/ld/ldfile.c +++ b/ld/ldfile.c -@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *nam +@@ -117,6 +117,23 @@ new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); @@ -206,7 +206,7 @@ Signed-off-by: Scott Garman /* Try to open a BFD for a lang_input_statement. */ --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -161,6 +161,8 @@ enum option_values +@@ -161,6 +161,8 @@ OPTION_CTF_VARIABLES, OPTION_NO_CTF_VARIABLES, OPTION_CTF_SHARE_TYPES, @@ -217,7 +217,7 @@ Signed-off-by: Scott Garman /* The initial parser states. */ --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -323,6 +323,8 @@ main (int argc, char **argv) +@@ -323,6 +323,8 @@ command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; @@ -228,7 +228,7 @@ Signed-off-by: Scott Garman COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -591,6 +591,14 @@ static const struct ld_option ld_options +@@ -591,6 +591,14 @@ " is: share-unconflicted (default),\n" " share-duplicated"), TWO_DASHES }, @@ -243,7 +243,7 @@ Signed-off-by: Scott Garman }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -603,6 +611,7 @@ parse_args (unsigned argc, char **argv) +@@ -603,6 +611,7 @@ int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -251,7 +251,7 @@ Signed-off-by: Scott Garman struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1633,6 +1642,14 @@ parse_args (unsigned argc, char **argv) +@@ -1633,6 +1642,14 @@ } break; @@ -266,7 +266,7 @@ Signed-off-by: Scott Garman case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1778,6 +1795,10 @@ parse_args (unsigned argc, char **argv) +@@ -1778,6 +1795,10 @@ command_line.soname = NULL; } diff --git a/packages/binutils/2.37/0001-check_ldrunpath_length.patch b/packages/binutils/2.37/0001-check_ldrunpath_length.patch new file mode 100644 index 0000000..13518db --- /dev/null +++ b/packages/binutils/2.37/0001-check_ldrunpath_length.patch @@ -0,0 +1,24 @@ +--- + ld/ldelf.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/ld/ldelf.c ++++ b/ld/ldelf.c +@@ -1250,6 +1250,8 @@ + && command_line.rpath == NULL) + { + path = (const char *) getenv ("LD_RUN_PATH"); ++ if (path && *path == '\0') ++ path = NULL; + if (path + && ldelf_search_needed (path, &n, force, + is_linux, elfsize)) +@@ -1610,6 +1612,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.37/0002-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.37/0002-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch new file mode 100644 index 0000000..99dee96 --- /dev/null +++ b/packages/binutils/2.37/0002-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.37/0002-check_ldrunpath_length.patch b/packages/binutils/2.37/0002-check_ldrunpath_length.patch deleted file mode 100644 index 13518db..0000000 --- a/packages/binutils/2.37/0002-check_ldrunpath_length.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- - ld/ldelf.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/ld/ldelf.c -+++ b/ld/ldelf.c -@@ -1250,6 +1250,8 @@ - && command_line.rpath == NULL) - { - path = (const char *) getenv ("LD_RUN_PATH"); -+ if (path && *path == '\0') -+ path = NULL; - if (path - && ldelf_search_needed (path, &n, force, - is_linux, elfsize)) -@@ -1610,6 +1612,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.37/0003-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.37/0003-Dont-link-to-libfl-as-its-unnecessary.patch new file mode 100644 index 0000000..c3e525a --- /dev/null +++ b/packages/binutils/2.37/0003-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 +@@ -12233,6 +12233,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. +@@ -12396,6 +12397,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" + # If we haven't got the data from the intl directory, +--- a/binutils/configure.ac ++++ b/binutils/configure.ac +@@ -136,7 +136,10 @@ + fi + + AC_PROG_YACC ++save_LIBS=$LIBS + AM_PROG_LEX ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/gas/configure ++++ b/gas/configure +@@ -12880,6 +12880,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. +@@ -13043,6 +13044,8 @@ + if test "$LEX" = :; then + LEX=${am_missing_run}flex + fi ++LIBS=$save_LIBS ++LEXLIB= + + ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN" + # If we haven't got the data from the intl directory, +--- a/gas/configure.ac ++++ b/gas/configure.ac +@@ -930,7 +930,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="es fi fr id ja ru rw sv tr uk zh_CN" + ZW_GNU_GETTEXT_SISTER_DIR +--- a/ld/configure ++++ b/ld/configure +@@ -16035,6 +16035,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. +@@ -16198,6 +16199,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 +@@ -293,7 +293,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.37/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.37/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch deleted file mode 100644 index 99dee96..0000000 --- a/packages/binutils/2.37/0003-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - 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.37/0004-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.37/0004-Darwin-gold-binary-cc-include-string-not-cstring.patch new file mode 100644 index 0000000..fbc4041 --- /dev/null +++ b/packages/binutils/2.37/0004-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.37/0004-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.37/0004-Dont-link-to-libfl-as-its-unnecessary.patch deleted file mode 100644 index c3e525a..0000000 --- a/packages/binutils/2.37/0004-Dont-link-to-libfl-as-its-unnecessary.patch +++ /dev/null @@ -1,105 +0,0 @@ ---- - 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 -@@ -12233,6 +12233,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. -@@ -12396,6 +12397,8 @@ - if test "$LEX" = :; then - LEX=${am_missing_run}flex - fi -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" - # If we haven't got the data from the intl directory, ---- a/binutils/configure.ac -+++ b/binutils/configure.ac -@@ -136,7 +136,10 @@ - fi - - AC_PROG_YACC -+save_LIBS=$LIBS - AM_PROG_LEX -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="bg ca da es fi fr hr id it ja pt ro ru rw sk sr sv tr uk vi zh_CN zh_TW" - ZW_GNU_GETTEXT_SISTER_DIR ---- a/gas/configure -+++ b/gas/configure -@@ -12880,6 +12880,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. -@@ -13043,6 +13044,8 @@ - if test "$LEX" = :; then - LEX=${am_missing_run}flex - fi -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN" - # If we haven't got the data from the intl directory, ---- a/gas/configure.ac -+++ b/gas/configure.ac -@@ -930,7 +930,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="es fi fr id ja ru rw sv tr uk zh_CN" - ZW_GNU_GETTEXT_SISTER_DIR ---- a/ld/configure -+++ b/ld/configure -@@ -16035,6 +16035,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. -@@ -16198,6 +16199,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 -@@ -293,7 +293,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.37/0005-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.37/0005-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch new file mode 100644 index 0000000..6728c6e --- /dev/null +++ b/packages/binutils/2.37/0005-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 +@@ -3614,6 +3614,28 @@ + } + #endif /* 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 (bool 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.37/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.37/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch deleted file mode 100644 index fbc4041..0000000 --- a/packages/binutils/2.37/0005-Darwin-gold-binary-cc-include-string-not-cstring.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - 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.37/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.37/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch deleted file mode 100644 index 6728c6e..0000000 --- a/packages/binutils/2.37/0006-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch +++ /dev/null @@ -1,70 +0,0 @@ -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 -@@ -3614,6 +3614,28 @@ - } - #endif /* 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 (bool 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.37/0006-sysroot.patch b/packages/binutils/2.37/0006-sysroot.patch new file mode 100644 index 0000000..3b3c0ec --- /dev/null +++ b/packages/binutils/2.37/0006-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 +@@ -340,18 +340,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.37/0007-poison-system-directories.patch b/packages/binutils/2.37/0007-poison-system-directories.patch new file mode 100644 index 0000000..0fd1adc --- /dev/null +++ b/packages/binutils/2.37/0007-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.texi | 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 +@@ -43,6 +43,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 +@@ -829,6 +829,7 @@ + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1498,6 +1499,8 @@ + --enable-checking enable run-time checks + --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) +@@ -15236,7 +15239,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 +@@ -106,6 +106,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 +@@ -157,6 +157,14 @@ + /* If set, display the target memory usage (per memory region). */ + bool print_memory_usage; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bool poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bool 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.texi ++++ b/ld/ld.texi +@@ -2863,6 +2863,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 +@@ -117,6 +117,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 +@@ -163,6 +163,8 @@ + OPTION_CTF_VARIABLES, + OPTION_NO_CTF_VARIABLES, + OPTION_CTF_SHARE_TYPES, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -321,6 +321,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 = true; + + /* 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 +@@ -595,6 +595,14 @@ + " is: share-unconflicted (default),\n" + " share-duplicated"), + 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) +@@ -607,6 +615,7 @@ + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1643,6 +1652,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), +@@ -1788,6 +1805,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) + { + einfo (_("%P: missing --end-group; added as last command line option\n")); diff --git a/packages/binutils/2.37/0007-sysroot.patch b/packages/binutils/2.37/0007-sysroot.patch deleted file mode 100644 index 3b3c0ec..0000000 --- a/packages/binutils/2.37/0007-sysroot.patch +++ /dev/null @@ -1,41 +0,0 @@ -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 -@@ -340,18 +340,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.37/0008-arc-Fix-potential-invalid-pointer-access-when-fixing.patch b/packages/binutils/2.37/0008-arc-Fix-potential-invalid-pointer-access-when-fixing.patch new file mode 100644 index 0000000..ade3180 --- /dev/null +++ b/packages/binutils/2.37/0008-arc-Fix-potential-invalid-pointer-access-when-fixing.patch @@ -0,0 +1,217 @@ +From 29d31b4ed96fcbc774740fac91ef77cb3d62a714 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Tue, 17 Aug 2021 13:44:17 +0300 +Subject: [PATCH] arc: Fix potential invalid pointer access when fixing got + symbols. + +When statically linking, it can arrive to an undefined weak symbol of +which its value cannot be determined. However, we are having pieces of +code which doesn't take this situation into account, leading to access +a structure which may not be initialized. Fix this situation and add a +test. + +bfd/ +xxxx-xx-xx Cupertino Miranda + Claudiu Zissulescu + + * arc-got.h (arc_static_sym_data): New structure. + (get_static_sym_data): New function. + (relocate_fix_got_relocs_for_got_info): Move the computation fo + symbol value and section to above introduced function, and use + this new function. + +ld/testsuite/ +xxxx-xx-xx Claudiu Zissulescu + + * ld-arc/got-weak.d: New file. + * ld-arc/got-weak.s: Likewise. + +For all the gory details please refer to [1]. +Original fix could be found here [2]. + +[1] https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/402 +[2] https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/29d31b4ed96fcbc774740fac91ef77cb3d62a714 + +Signed-off-by: Claudiu Zissulescu +[Added links to the origins] +Signed-off-by: Alexey Brodkin +--- + bfd/arc-got.h | 94 ++++++++++++++++++++++++----------------- + ld/testsuite/ld-arc/got-weak.d | 12 +++++ + ld/testsuite/ld-arc/got-weak.s | 7 +++ + 3 files changed, 76 insertions(+), 37 deletions(-) + create mode 100644 ld/testsuite/ld-arc/got-weak.d + create mode 100644 ld/testsuite/ld-arc/got-weak.s + +--- a/bfd/arc-got.h ++++ b/bfd/arc-got.h +@@ -262,6 +262,48 @@ + return true; + } + ++struct arc_static_sym_data { ++ bfd_vma sym_value; ++ const char *symbol_name; ++}; ++ ++static struct arc_static_sym_data ++get_static_sym_data (unsigned long r_symndx, ++ Elf_Internal_Sym *local_syms, ++ asection **local_sections, ++ struct elf_link_hash_entry *h, ++ struct arc_relocation_data *reloc_data) ++{ ++ static const char local_name[] = "(local)"; ++ struct arc_static_sym_data ret = { 0, NULL }; ++ ++ if (h != NULL) ++ { ++ BFD_ASSERT (h->root.type != bfd_link_hash_undefweak ++ && h->root.type != bfd_link_hash_undefined); ++ /* TODO: This should not be here. */ ++ reloc_data->sym_value = h->root.u.def.value; ++ reloc_data->sym_section = h->root.u.def.section; ++ ++ ret.sym_value = h->root.u.def.value ++ + h->root.u.def.section->output_section->vma ++ + h->root.u.def.section->output_offset; ++ ++ ret.symbol_name = h->root.root.string; ++ } ++ else ++ { ++ Elf_Internal_Sym *sym = local_syms + r_symndx; ++ asection *sec = local_sections[r_symndx]; ++ ++ ret.sym_value = sym->st_value ++ + sec->output_section->vma ++ + sec->output_offset; ++ ++ ret.symbol_name = local_name; ++ } ++ return ret; ++} + + static bfd_vma + relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, +@@ -290,38 +332,7 @@ + && SYMBOL_REFERENCES_LOCAL (info, h)))) + { + const char ATTRIBUTE_UNUSED *symbol_name; +- static const char local_name[] = "(local)"; +- asection *tls_sec = NULL; +- bfd_vma sym_value = 0; +- +- if (h != NULL) +- { +- /* TODO: This should not be here. */ +- reloc_data->sym_value = h->root.u.def.value; +- reloc_data->sym_section = h->root.u.def.section; +- +- sym_value = h->root.u.def.value +- + h->root.u.def.section->output_section->vma +- + h->root.u.def.section->output_offset; +- +- tls_sec = elf_hash_table (info)->tls_sec; +- +- symbol_name = h->root.root.string; +- } +- else +- { +- Elf_Internal_Sym *sym = local_syms + r_symndx; +- asection *sec = local_sections[r_symndx]; +- +- sym_value = sym->st_value +- + sec->output_section->vma +- + sec->output_offset; +- +- tls_sec = elf_hash_table (info)->tls_sec; +- +- symbol_name = local_name; +- } +- ++ asection *tls_sec = elf_hash_table (info)->tls_sec; + + if (entry && !entry->processed) + { +@@ -335,8 +346,12 @@ + if (h == NULL || h->forced_local + || !elf_hash_table (info)->dynamic_sections_created) + { ++ struct arc_static_sym_data tmp = ++ get_static_sym_data (r_symndx, local_syms, local_sections, ++ h, reloc_data); ++ + bfd_put_32 (output_bfd, +- sym_value - sec_vma ++ tmp.sym_value - sec_vma + + (elf_hash_table (info)->dynamic_sections_created + ? 0 + : (align_power (0, +@@ -355,7 +370,7 @@ + + entry->offset + + (entry->existing_entries == TLS_GOT_MOD_AND_OFF + ? 4 : 0)), +- symbol_name); ++ tmp.symbol_name); + } + } + break; +@@ -366,8 +381,12 @@ + bfd_vma ATTRIBUTE_UNUSED sec_vma + = tls_sec->output_section->vma; + ++ struct arc_static_sym_data tmp = ++ get_static_sym_data (r_symndx, local_syms, local_sections, ++ h, reloc_data); ++ + bfd_put_32 (output_bfd, +- sym_value - sec_vma ++ tmp.sym_value - sec_vma + + (elf_hash_table (info)->dynamic_sections_created + ? 0 + : (align_power (TCB_SIZE, +@@ -386,7 +405,7 @@ + + entry->offset + + (entry->existing_entries == TLS_GOT_MOD_AND_OFF + ? 4 : 0)), +- symbol_name); ++ tmp.symbol_name); + } + break; + +@@ -415,7 +434,8 @@ + "@ %#08lx for sym %s in got offset %#lx\n", + (long) (reloc_data->sym_value + sec_vma), + (long) (htab->sgot->output_section->vma +- + htab->sgot->output_offset + entry->offset), ++ + htab->sgot->output_offset ++ + entry->offset), + symbol_name, + (long) entry->offset); + } +--- /dev/null ++++ b/ld/testsuite/ld-arc/got-weak.d +@@ -0,0 +1,12 @@ ++#source: got-weak.s ++#as: ++#ld: -Bstatic ++#objdump: -d ++ ++[^:]*: file format elf32-.*arc ++ ++ ++Disassembly of section \.text: ++ ++00000100 <.*>: ++ 100: 2730 7f80 0000 2014 ld r0,\[pcl,0x2014\].* +--- /dev/null ++++ b/ld/testsuite/ld-arc/got-weak.s +@@ -0,0 +1,7 @@ ++ .cpu archs ++ ++ .weak symb ++ .global __start ++ .text ++__start: ++ ld r0,[pcl,@symb@gotpc] diff --git a/packages/binutils/2.37/0008-poison-system-directories.patch b/packages/binutils/2.37/0008-poison-system-directories.patch deleted file mode 100644 index 0fd1adc..0000000 --- a/packages/binutils/2.37/0008-poison-system-directories.patch +++ /dev/null @@ -1,279 +0,0 @@ -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.texi | 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 -@@ -43,6 +43,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 -@@ -829,6 +829,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_compressed_debug_sections -@@ -1498,6 +1499,8 @@ - --enable-checking enable run-time checks - --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) -@@ -15236,7 +15239,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 -@@ -106,6 +106,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 -@@ -157,6 +157,14 @@ - /* If set, display the target memory usage (per memory region). */ - bool print_memory_usage; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bool poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bool 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.texi -+++ b/ld/ld.texi -@@ -2863,6 +2863,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 -@@ -117,6 +117,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 -@@ -163,6 +163,8 @@ - OPTION_CTF_VARIABLES, - OPTION_NO_CTF_VARIABLES, - OPTION_CTF_SHARE_TYPES, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -321,6 +321,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 = true; - - /* 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 -@@ -595,6 +595,14 @@ - " is: share-unconflicted (default),\n" - " share-duplicated"), - 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) -@@ -607,6 +615,7 @@ - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1643,6 +1652,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), -@@ -1788,6 +1805,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) - { - einfo (_("%P: missing --end-group; added as last command line option\n")); diff --git a/packages/binutils/2.37/0009-arc-Fix-potential-invalid-pointer-access-when-fixing.patch b/packages/binutils/2.37/0009-arc-Fix-potential-invalid-pointer-access-when-fixing.patch deleted file mode 100644 index ade3180..0000000 --- a/packages/binutils/2.37/0009-arc-Fix-potential-invalid-pointer-access-when-fixing.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 29d31b4ed96fcbc774740fac91ef77cb3d62a714 Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu -Date: Tue, 17 Aug 2021 13:44:17 +0300 -Subject: [PATCH] arc: Fix potential invalid pointer access when fixing got - symbols. - -When statically linking, it can arrive to an undefined weak symbol of -which its value cannot be determined. However, we are having pieces of -code which doesn't take this situation into account, leading to access -a structure which may not be initialized. Fix this situation and add a -test. - -bfd/ -xxxx-xx-xx Cupertino Miranda - Claudiu Zissulescu - - * arc-got.h (arc_static_sym_data): New structure. - (get_static_sym_data): New function. - (relocate_fix_got_relocs_for_got_info): Move the computation fo - symbol value and section to above introduced function, and use - this new function. - -ld/testsuite/ -xxxx-xx-xx Claudiu Zissulescu - - * ld-arc/got-weak.d: New file. - * ld-arc/got-weak.s: Likewise. - -For all the gory details please refer to [1]. -Original fix could be found here [2]. - -[1] https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/issues/402 -[2] https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/29d31b4ed96fcbc774740fac91ef77cb3d62a714 - -Signed-off-by: Claudiu Zissulescu -[Added links to the origins] -Signed-off-by: Alexey Brodkin ---- - bfd/arc-got.h | 94 ++++++++++++++++++++++++----------------- - ld/testsuite/ld-arc/got-weak.d | 12 +++++ - ld/testsuite/ld-arc/got-weak.s | 7 +++ - 3 files changed, 76 insertions(+), 37 deletions(-) - create mode 100644 ld/testsuite/ld-arc/got-weak.d - create mode 100644 ld/testsuite/ld-arc/got-weak.s - ---- a/bfd/arc-got.h -+++ b/bfd/arc-got.h -@@ -262,6 +262,48 @@ - return true; - } - -+struct arc_static_sym_data { -+ bfd_vma sym_value; -+ const char *symbol_name; -+}; -+ -+static struct arc_static_sym_data -+get_static_sym_data (unsigned long r_symndx, -+ Elf_Internal_Sym *local_syms, -+ asection **local_sections, -+ struct elf_link_hash_entry *h, -+ struct arc_relocation_data *reloc_data) -+{ -+ static const char local_name[] = "(local)"; -+ struct arc_static_sym_data ret = { 0, NULL }; -+ -+ if (h != NULL) -+ { -+ BFD_ASSERT (h->root.type != bfd_link_hash_undefweak -+ && h->root.type != bfd_link_hash_undefined); -+ /* TODO: This should not be here. */ -+ reloc_data->sym_value = h->root.u.def.value; -+ reloc_data->sym_section = h->root.u.def.section; -+ -+ ret.sym_value = h->root.u.def.value -+ + h->root.u.def.section->output_section->vma -+ + h->root.u.def.section->output_offset; -+ -+ ret.symbol_name = h->root.root.string; -+ } -+ else -+ { -+ Elf_Internal_Sym *sym = local_syms + r_symndx; -+ asection *sec = local_sections[r_symndx]; -+ -+ ret.sym_value = sym->st_value -+ + sec->output_section->vma -+ + sec->output_offset; -+ -+ ret.symbol_name = local_name; -+ } -+ return ret; -+} - - static bfd_vma - relocate_fix_got_relocs_for_got_info (struct got_entry ** list_p, -@@ -290,38 +332,7 @@ - && SYMBOL_REFERENCES_LOCAL (info, h)))) - { - const char ATTRIBUTE_UNUSED *symbol_name; -- static const char local_name[] = "(local)"; -- asection *tls_sec = NULL; -- bfd_vma sym_value = 0; -- -- if (h != NULL) -- { -- /* TODO: This should not be here. */ -- reloc_data->sym_value = h->root.u.def.value; -- reloc_data->sym_section = h->root.u.def.section; -- -- sym_value = h->root.u.def.value -- + h->root.u.def.section->output_section->vma -- + h->root.u.def.section->output_offset; -- -- tls_sec = elf_hash_table (info)->tls_sec; -- -- symbol_name = h->root.root.string; -- } -- else -- { -- Elf_Internal_Sym *sym = local_syms + r_symndx; -- asection *sec = local_sections[r_symndx]; -- -- sym_value = sym->st_value -- + sec->output_section->vma -- + sec->output_offset; -- -- tls_sec = elf_hash_table (info)->tls_sec; -- -- symbol_name = local_name; -- } -- -+ asection *tls_sec = elf_hash_table (info)->tls_sec; - - if (entry && !entry->processed) - { -@@ -335,8 +346,12 @@ - if (h == NULL || h->forced_local - || !elf_hash_table (info)->dynamic_sections_created) - { -+ struct arc_static_sym_data tmp = -+ get_static_sym_data (r_symndx, local_syms, local_sections, -+ h, reloc_data); -+ - bfd_put_32 (output_bfd, -- sym_value - sec_vma -+ tmp.sym_value - sec_vma - + (elf_hash_table (info)->dynamic_sections_created - ? 0 - : (align_power (0, -@@ -355,7 +370,7 @@ - + entry->offset - + (entry->existing_entries == TLS_GOT_MOD_AND_OFF - ? 4 : 0)), -- symbol_name); -+ tmp.symbol_name); - } - } - break; -@@ -366,8 +381,12 @@ - bfd_vma ATTRIBUTE_UNUSED sec_vma - = tls_sec->output_section->vma; - -+ struct arc_static_sym_data tmp = -+ get_static_sym_data (r_symndx, local_syms, local_sections, -+ h, reloc_data); -+ - bfd_put_32 (output_bfd, -- sym_value - sec_vma -+ tmp.sym_value - sec_vma - + (elf_hash_table (info)->dynamic_sections_created - ? 0 - : (align_power (TCB_SIZE, -@@ -386,7 +405,7 @@ - + entry->offset - + (entry->existing_entries == TLS_GOT_MOD_AND_OFF - ? 4 : 0)), -- symbol_name); -+ tmp.symbol_name); - } - break; - -@@ -415,7 +434,8 @@ - "@ %#08lx for sym %s in got offset %#lx\n", - (long) (reloc_data->sym_value + sec_vma), - (long) (htab->sgot->output_section->vma -- + htab->sgot->output_offset + entry->offset), -+ + htab->sgot->output_offset -+ + entry->offset), - symbol_name, - (long) entry->offset); - } ---- /dev/null -+++ b/ld/testsuite/ld-arc/got-weak.d -@@ -0,0 +1,12 @@ -+#source: got-weak.s -+#as: -+#ld: -Bstatic -+#objdump: -d -+ -+[^:]*: file format elf32-.*arc -+ -+ -+Disassembly of section \.text: -+ -+00000100 <.*>: -+ 100: 2730 7f80 0000 2014 ld r0,\[pcl,0x2014\].* ---- /dev/null -+++ b/ld/testsuite/ld-arc/got-weak.s -@@ -0,0 +1,7 @@ -+ .cpu archs -+ -+ .weak symb -+ .global __start -+ .text -+__start: -+ ld r0,[pcl,@symb@gotpc] diff --git a/packages/binutils/2.37/0009-change-uint-to-unsigned.patch b/packages/binutils/2.37/0009-change-uint-to-unsigned.patch new file mode 100644 index 0000000..016016e --- /dev/null +++ b/packages/binutils/2.37/0009-change-uint-to-unsigned.patch @@ -0,0 +1,52 @@ +From 999566402e3d7c69032bbf47e28b44fc0926fe62 Mon Sep 17 00:00:00 2001 +From: Christopher Wellons +Date: Sun, 18 Jul 2021 16:57:19 -0400 +Subject: [PATCH] Change "uint" to "unsigned" + +This fixes a defect introduced in 25162c795. The "uint" type has not +been explicitly defined here on mingw, causing compilation to fail. + +On linux we have this in /usr/include/sys/types.h + +/* Old compatibility names for C types. */ +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + +So it's easy to see how such bugs can creep in. + + * rust-demangle.c (struct rust_demangler): Change type of + "recursion" to unsigned. + (RUST_NO_RECURSION_LIMIT): Similarly in cast. +--- + libiberty/ChangeLog | 6 ++++++ + libiberty/rust-demangle.c | 4 ++-- + 2 files changed, 8 insertions(+), 2 deletions(-) + +--- a/libiberty/ChangeLog ++++ b/libiberty/ChangeLog +@@ -1,3 +1,9 @@ ++2021-07-19 Christopher Wellons ++ ++ * rust-demangle.c (struct rust_demangler): Change type of ++ "recursion" to unsigned. ++ (RUST_NO_RECURSION_LIMIT): Similarly in cast. ++ + 2021-07-15 Nick Clifton + + PR 99935 +--- a/libiberty/rust-demangle.c ++++ b/libiberty/rust-demangle.c +@@ -75,10 +75,10 @@ + int version; + + /* Recursion depth. */ +- uint recursion; ++ unsigned recursion; + /* Maximum number of times demangle_path may be called recursively. */ + #define RUST_MAX_RECURSION_COUNT 1024 +-#define RUST_NO_RECURSION_LIMIT ((uint) -1) ++#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) + + uint64_t bound_lifetime_depth; + }; diff --git a/packages/binutils/2.37/0010-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch b/packages/binutils/2.37/0010-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch new file mode 100644 index 0000000..1fe3d9c --- /dev/null +++ b/packages/binutils/2.37/0010-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch @@ -0,0 +1,201 @@ +From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Mon, 26 Jul 2021 05:59:55 -0700 +Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd + +Close the file descriptor if there is no archive plugin file descriptor +to avoid running out of file descriptors on thin archives with many +archive members. + +bfd/ + + PR ld/28138 + * plugin.c (bfd_plugin_close_file_descriptor): Close the file + descriptor there is no archive plugin file descriptor. + +ld/ + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for + native build. + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. + * testsuite/ld-plugin/pr28138.c: New file. + * testsuite/ld-plugin/pr28138-1.c: Likewise. + * testsuite/ld-plugin/pr28138-2.c: Likewise. + * testsuite/ld-plugin/pr28138-3.c: Likewise. + * testsuite/ld-plugin/pr28138-4.c: Likewise. + * testsuite/ld-plugin/pr28138-5.c: Likewise. + * testsuite/ld-plugin/pr28138-6.c: Likewise. + * testsuite/ld-plugin/pr28138-7.c: Likewise. + +(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) +(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) +--- + bfd/plugin.c | 8 ++++++++ + ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++++ + 10 files changed, 104 insertions(+) + create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c + create mode 100644 ld/testsuite/ld-plugin/pr28138.c + +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -291,6 +291,14 @@ + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + ++ /* Close the file descriptor if there is no archive plugin file ++ descriptor. */ ++ if (abfd->archive_plugin_fd == -1) ++ { ++ close (fd); ++ return; ++ } ++ + abfd->archive_plugin_fd_open_count--; + /* Dup the archive plugin file descriptor for later use, which + will be closed by _bfd_archive_close_and_cleanup. */ +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -687,6 +687,40 @@ + } + } + ++run_cc_link_tests [list \ ++ [list \ ++ "Build pr28138.a" \ ++ "-T" "" \ ++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ ++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ ++ ] \ ++ [list \ ++ "Build pr28138.o" \ ++ "" "" \ ++ {pr28138.c} {} \ ++ ] \ ++] ++ ++set exec_output [run_host_cmd "sh" \ ++ "-c \"ulimit -n 20; \ ++ $CC -Btmpdir/ld -o tmpdir/pr28138 \ ++ tmpdir/pr28138.o tmpdir/pr28138.a\""] ++set exec_output [prune_warnings $exec_output] ++if [string match "" $exec_output] then { ++ if { [isnative] } { ++ set exec_output [run_host_cmd "tmpdir/pr28138" ""] ++ if [string match "PASS" $exec_output] then { ++ pass "PR ld/28138" ++ } else { ++ fail "PR ld/28138" ++ } ++ } else { ++ pass "PR ld/28138" ++ } ++} else { ++ fail "PR ld/28138" ++} ++ + set testname "Build liblto-11.a" + remote_file host delete "tmpdir/liblto-11.a" + set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-1.c +@@ -0,0 +1,6 @@ ++extern int a0(void); ++int ++a1(void) ++{ ++ return 1 + a0(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-2.c +@@ -0,0 +1,6 @@ ++extern int a1(void); ++int ++a2(void) ++{ ++ return 1 + a1(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-3.c +@@ -0,0 +1,6 @@ ++extern int a2(void); ++int ++a3(void) ++{ ++ return 1 + a2(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-4.c +@@ -0,0 +1,6 @@ ++extern int a3(void); ++int ++a4(void) ++{ ++ return 1 + a3(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-5.c +@@ -0,0 +1,6 @@ ++extern int a4(void); ++int ++a5(void) ++{ ++ return 1 + a4(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-6.c +@@ -0,0 +1,6 @@ ++extern int a5(void); ++int ++a6(void) ++{ ++ return 1 + a5(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-7.c +@@ -0,0 +1,6 @@ ++extern int a6(void); ++int ++a7(void) ++{ ++ return 1 + a6(); ++} +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138.c +@@ -0,0 +1,20 @@ ++#include ++ ++extern int a7(void); ++ ++int ++a0(void) ++{ ++ return 0; ++} ++ ++int ++main() ++{ ++ if (a7() == 7) ++ { ++ printf ("PASS\n"); ++ return 0; ++ } ++ return 1; ++} diff --git a/packages/binutils/2.37/0010-change-uint-to-unsigned.patch b/packages/binutils/2.37/0010-change-uint-to-unsigned.patch deleted file mode 100644 index d44b12e..0000000 --- a/packages/binutils/2.37/0010-change-uint-to-unsigned.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 999566402e3d7c69032bbf47e28b44fc0926fe62 Mon Sep 17 00:00:00 2001 -From: Christopher Wellons -Date: Sun, 18 Jul 2021 16:57:19 -0400 -Subject: [PATCH] Change "uint" to "unsigned" - -This fixes a defect introduced in 25162c795. The "uint" type has not -been explicitly defined here on mingw, causing compilation to fail. - -On linux we have this in /usr/include/sys/types.h - -/* Old compatibility names for C types. */ -typedef unsigned long int ulong; -typedef unsigned short int ushort; -typedef unsigned int uint; - -So it's easy to see how such bugs can creep in. - - * rust-demangle.c (struct rust_demangler): Change type of - "recursion" to unsigned. - (RUST_NO_RECURSION_LIMIT): Similarly in cast. ---- - libiberty/ChangeLog | 6 ++++++ - libiberty/rust-demangle.c | 4 ++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog -index 8e39fd28eba8..3f749455f05d 100644 ---- a/libiberty/ChangeLog -+++ b/libiberty/ChangeLog -@@ -1,3 +1,9 @@ -+2021-07-19 Christopher Wellons -+ -+ * rust-demangle.c (struct rust_demangler): Change type of -+ "recursion" to unsigned. -+ (RUST_NO_RECURSION_LIMIT): Similarly in cast. -+ - 2021-07-15 Nick Clifton - - PR 99935 -diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c -index df09b7b8fddb..ac1eb8eb02c6 100644 ---- a/libiberty/rust-demangle.c -+++ b/libiberty/rust-demangle.c -@@ -75,10 +75,10 @@ struct rust_demangler - int version; - - /* Recursion depth. */ -- uint recursion; -+ unsigned recursion; - /* Maximum number of times demangle_path may be called recursively. */ - #define RUST_MAX_RECURSION_COUNT 1024 --#define RUST_NO_RECURSION_LIMIT ((uint) -1) -+#define RUST_NO_RECURSION_LIMIT ((unsigned) -1) - - uint64_t bound_lifetime_depth; - }; diff --git a/packages/binutils/2.37/0011-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch b/packages/binutils/2.37/0011-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch deleted file mode 100644 index 192d4e0..0000000 --- a/packages/binutils/2.37/0011-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch +++ /dev/null @@ -1,232 +0,0 @@ -From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 26 Jul 2021 05:59:55 -0700 -Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd - -Close the file descriptor if there is no archive plugin file descriptor -to avoid running out of file descriptors on thin archives with many -archive members. - -bfd/ - - PR ld/28138 - * plugin.c (bfd_plugin_close_file_descriptor): Close the file - descriptor there is no archive plugin file descriptor. - -ld/ - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for - native build. - - PR ld/28138 - * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. - * testsuite/ld-plugin/pr28138.c: New file. - * testsuite/ld-plugin/pr28138-1.c: Likewise. - * testsuite/ld-plugin/pr28138-2.c: Likewise. - * testsuite/ld-plugin/pr28138-3.c: Likewise. - * testsuite/ld-plugin/pr28138-4.c: Likewise. - * testsuite/ld-plugin/pr28138-5.c: Likewise. - * testsuite/ld-plugin/pr28138-6.c: Likewise. - * testsuite/ld-plugin/pr28138-7.c: Likewise. - -(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) -(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) ---- - bfd/plugin.c | 8 +++++++ - ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ - ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ - ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ - 10 files changed, 104 insertions(+) - create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c - create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c - create mode 100644 ld/testsuite/ld-plugin/pr28138.c - -diff --git a/bfd/plugin.c b/bfd/plugin.c -index 6cfa2b66470..3bab8febe88 100644 ---- a/bfd/plugin.c -+++ b/bfd/plugin.c -@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) - && !bfd_is_thin_archive (abfd->my_archive)) - abfd = abfd->my_archive; - -+ /* Close the file descriptor if there is no archive plugin file -+ descriptor. */ -+ if (abfd->archive_plugin_fd == -1) -+ { -+ close (fd); -+ return; -+ } -+ - abfd->archive_plugin_fd_open_count--; - /* Dup the archive plugin file descriptor for later use, which - will be closed by _bfd_archive_close_and_cleanup. */ -diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp -index def69e43ab3..999d911ce6a 100644 ---- a/ld/testsuite/ld-plugin/lto.exp -+++ b/ld/testsuite/ld-plugin/lto.exp -@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { - } - } - -+run_cc_link_tests [list \ -+ [list \ -+ "Build pr28138.a" \ -+ "-T" "" \ -+ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ -+ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ -+ ] \ -+ [list \ -+ "Build pr28138.o" \ -+ "" "" \ -+ {pr28138.c} {} \ -+ ] \ -+] -+ -+set exec_output [run_host_cmd "sh" \ -+ "-c \"ulimit -n 20; \ -+ $CC -Btmpdir/ld -o tmpdir/pr28138 \ -+ tmpdir/pr28138.o tmpdir/pr28138.a\""] -+set exec_output [prune_warnings $exec_output] -+if [string match "" $exec_output] then { -+ if { [isnative] } { -+ set exec_output [run_host_cmd "tmpdir/pr28138" ""] -+ if [string match "PASS" $exec_output] then { -+ pass "PR ld/28138" -+ } else { -+ fail "PR ld/28138" -+ } -+ } else { -+ pass "PR ld/28138" -+ } -+} else { -+ fail "PR ld/28138" -+} -+ - set testname "Build liblto-11.a" - remote_file host delete "tmpdir/liblto-11.a" - set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] -diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c -new file mode 100644 -index 00000000000..51d119e1642 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-1.c -@@ -0,0 +1,6 @@ -+extern int a0(void); -+int -+a1(void) -+{ -+ return 1 + a0(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c -new file mode 100644 -index 00000000000..1120cd797e9 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-2.c -@@ -0,0 +1,6 @@ -+extern int a1(void); -+int -+a2(void) -+{ -+ return 1 + a1(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c -new file mode 100644 -index 00000000000..ec464947ee6 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-3.c -@@ -0,0 +1,6 @@ -+extern int a2(void); -+int -+a3(void) -+{ -+ return 1 + a2(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c -new file mode 100644 -index 00000000000..475701b2c5c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-4.c -@@ -0,0 +1,6 @@ -+extern int a3(void); -+int -+a4(void) -+{ -+ return 1 + a3(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c -new file mode 100644 -index 00000000000..e24f86c363e ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-5.c -@@ -0,0 +1,6 @@ -+extern int a4(void); -+int -+a5(void) -+{ -+ return 1 + a4(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c -new file mode 100644 -index 00000000000..b5b938bdb21 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-6.c -@@ -0,0 +1,6 @@ -+extern int a5(void); -+int -+a6(void) -+{ -+ return 1 + a5(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c -new file mode 100644 -index 00000000000..4ef75bf0f0c ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138-7.c -@@ -0,0 +1,6 @@ -+extern int a6(void); -+int -+a7(void) -+{ -+ return 1 + a6(); -+} -diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c -new file mode 100644 -index 00000000000..68252c9f382 ---- /dev/null -+++ b/ld/testsuite/ld-plugin/pr28138.c -@@ -0,0 +1,20 @@ -+#include -+ -+extern int a7(void); -+ -+int -+a0(void) -+{ -+ return 0; -+} -+ -+int -+main() -+{ -+ if (a7() == 7) -+ { -+ printf ("PASS\n"); -+ return 0; -+ } -+ return 1; -+} --- -2.27.0 - diff --git a/packages/binutils/2.37/0011-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch b/packages/binutils/2.37/0011-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch new file mode 100644 index 0000000..de54af3 --- /dev/null +++ b/packages/binutils/2.37/0011-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch @@ -0,0 +1,44 @@ +From 6b02746a0e29b1007efd4feb137e2da3e681fc68 Mon Sep 17 00:00:00 2001 +From: Gleb Fotengauer-Malinovskiy +Date: Tue, 28 Sep 2021 20:11:26 +0930 +Subject: [PATCH] PR28391, strip/objcopy --preserve-dates *.a: cannot set time + +After commit 985e0264516 copy_archive function began to pass invalid +values to the utimensat(2) function when it tries to preserve +timestamps in ar archives. This happens because the bfd_stat_arch_elt +implementation for ar archives fills only the st_mtim.tv_sec part of +the st_mtim timespec structure, but leaves the st_mtim.tv_nsec part +and the whole st_atim timespec untouched leaving them uninitialized + + PR 28391 + * ar.c (extract_file): Clear buf for preserve_dates. + * objcopy.c (copy_archive): Likewise. + +(cherry picked from commit 0d62064867c74286360e821b75ef6799bedc4b34) +--- + binutils/ar.c | 3 +++ + binutils/objcopy.c | 1 + + 2 files changed, 4 insertions(+) + +--- a/binutils/ar.c ++++ b/binutils/ar.c +@@ -1180,6 +1180,9 @@ + bfd_size_type size; + struct stat buf; + ++ if (preserve_dates) ++ memset (&buf, 0, sizeof (buf)); ++ + if (bfd_stat_arch_elt (abfd, &buf) != 0) + /* xgettext:c-format */ + fatal (_("internal stat error on %s"), bfd_get_filename (abfd)); +--- a/binutils/objcopy.c ++++ b/binutils/objcopy.c +@@ -3600,6 +3600,7 @@ + + if (preserve_dates) + { ++ memset (&buf, 0, sizeof (buf)); + stat_status = bfd_stat_arch_elt (this_element, &buf); + + if (stat_status != 0) diff --git a/packages/binutils/2.37/0012-ld-pru-fix-resource_table-output-section-alignment.patch b/packages/binutils/2.37/0012-ld-pru-fix-resource_table-output-section-alignment.patch new file mode 100644 index 0000000..863253e --- /dev/null +++ b/packages/binutils/2.37/0012-ld-pru-fix-resource_table-output-section-alignment.patch @@ -0,0 +1,53 @@ +From a9c3934f6cb4407c5aaae82ada3b859d8ca9df83 Mon Sep 17 00:00:00 2001 +From: Dimitar Dimitrov +Date: Mon, 27 Sep 2021 22:43:24 +0300 +Subject: [PATCH] ld: pru: Fix resource_table output section alignment + +My commit 261980de18b added alignment for the resource table symbol. +But it is wrong. The Linux remoteproc driver loads and interprets the +contents of the .resource_table ELF section, not of a table symbol. + +Without this patch, if the linker happens to output padding for symbol +alignment, then the resource table contents as viewed by the kernel +loader would "shift" and look corrupted. + +ld/ChangeLog: + + * scripttempl/pru.sc (.resource_table): Align the output + section, not the first symbol. + +Signed-off-by: Dimitar Dimitrov +(cherry picked from commit 5109a7bd9b87bdad530f2ebf97036e6087b4504d) +--- + ld/ChangeLog | 5 +++++ + ld/scripttempl/pru.sc | 7 +++---- + 2 files changed, 8 insertions(+), 4 deletions(-) + +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,8 @@ ++2021-09-30 Dimitar Dimitrov ++ ++ * scripttempl/pru.sc (.resource_table): Align the output ++ section, not the first symbol. ++ + 2021-07-18 Nick Clifton + + * 2.37 release. +--- a/ld/scripttempl/pru.sc ++++ b/ld/scripttempl/pru.sc +@@ -151,11 +151,10 @@ + ${RELOCATING+ PROVIDE (_data_end = .) ; } + } ${RELOCATING+ > dmem } + +- .resource_table ${RELOCATING-0} : ++ /* Linux remoteproc loader requires the resource_table section ++ start address to be aligned to 8 bytes. */ ++ .resource_table ${RELOCATING-0} ${RELOCATING+ ALIGN(8)} : + { +- /* Linux remoteproc loader requires the resource table address +- to be aligned to 8 bytes. */ +- ${RELOCATING+. = ALIGN(8);} + KEEP (*(.resource_table)) + } ${RELOCATING+ > dmem} + diff --git a/packages/binutils/2.37/0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch b/packages/binutils/2.37/0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch deleted file mode 100644 index f7b5221..0000000 --- a/packages/binutils/2.37/0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 6b02746a0e29b1007efd4feb137e2da3e681fc68 Mon Sep 17 00:00:00 2001 -From: Gleb Fotengauer-Malinovskiy -Date: Tue, 28 Sep 2021 20:11:26 +0930 -Subject: [PATCH] PR28391, strip/objcopy --preserve-dates *.a: cannot set time - -After commit 985e0264516 copy_archive function began to pass invalid -values to the utimensat(2) function when it tries to preserve -timestamps in ar archives. This happens because the bfd_stat_arch_elt -implementation for ar archives fills only the st_mtim.tv_sec part of -the st_mtim timespec structure, but leaves the st_mtim.tv_nsec part -and the whole st_atim timespec untouched leaving them uninitialized - - PR 28391 - * ar.c (extract_file): Clear buf for preserve_dates. - * objcopy.c (copy_archive): Likewise. - -(cherry picked from commit 0d62064867c74286360e821b75ef6799bedc4b34) ---- - binutils/ar.c | 3 +++ - binutils/objcopy.c | 1 + - 2 files changed, 4 insertions(+) - -diff --git a/binutils/ar.c b/binutils/ar.c -index 5d6976c7027..8885585ef75 100644 ---- a/binutils/ar.c -+++ b/binutils/ar.c -@@ -1180,6 +1180,9 @@ extract_file (bfd *abfd) - bfd_size_type size; - struct stat buf; - -+ if (preserve_dates) -+ memset (&buf, 0, sizeof (buf)); -+ - if (bfd_stat_arch_elt (abfd, &buf) != 0) - /* xgettext:c-format */ - fatal (_("internal stat error on %s"), bfd_get_filename (abfd)); -diff --git a/binutils/objcopy.c b/binutils/objcopy.c -index a6c2e0dcc26..fd7557fe433 100644 ---- a/binutils/objcopy.c -+++ b/binutils/objcopy.c -@@ -3600,6 +3600,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target, - - if (preserve_dates) - { -+ memset (&buf, 0, sizeof (buf)); - stat_status = bfd_stat_arch_elt (this_element, &buf); - - if (stat_status != 0) --- -2.27.0 - diff --git a/packages/binutils/2.37/0013-ld-pru-fix-resource_table-output-section-alignment.patch b/packages/binutils/2.37/0013-ld-pru-fix-resource_table-output-section-alignment.patch deleted file mode 100644 index 58921f1..0000000 --- a/packages/binutils/2.37/0013-ld-pru-fix-resource_table-output-section-alignment.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a9c3934f6cb4407c5aaae82ada3b859d8ca9df83 Mon Sep 17 00:00:00 2001 -From: Dimitar Dimitrov -Date: Mon, 27 Sep 2021 22:43:24 +0300 -Subject: [PATCH] ld: pru: Fix resource_table output section alignment - -My commit 261980de18b added alignment for the resource table symbol. -But it is wrong. The Linux remoteproc driver loads and interprets the -contents of the .resource_table ELF section, not of a table symbol. - -Without this patch, if the linker happens to output padding for symbol -alignment, then the resource table contents as viewed by the kernel -loader would "shift" and look corrupted. - -ld/ChangeLog: - - * scripttempl/pru.sc (.resource_table): Align the output - section, not the first symbol. - -Signed-off-by: Dimitar Dimitrov -(cherry picked from commit 5109a7bd9b87bdad530f2ebf97036e6087b4504d) ---- - ld/ChangeLog | 5 +++++ - ld/scripttempl/pru.sc | 7 +++---- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/ld/ChangeLog b/ld/ChangeLog -index 5048b5b6a17..ee3259a06de 100644 ---- a/ld/ChangeLog -+++ b/ld/ChangeLog -@@ -1,3 +1,8 @@ -+2021-09-30 Dimitar Dimitrov -+ -+ * scripttempl/pru.sc (.resource_table): Align the output -+ section, not the first symbol. -+ - 2021-07-18 Nick Clifton - - * 2.37 release. -diff --git a/ld/scripttempl/pru.sc b/ld/scripttempl/pru.sc -index b2c941b7911..97d8be0a0a4 100644 ---- a/ld/scripttempl/pru.sc -+++ b/ld/scripttempl/pru.sc -@@ -151,11 +151,10 @@ SECTIONS - ${RELOCATING+ PROVIDE (_data_end = .) ; } - } ${RELOCATING+ > dmem } - -- .resource_table ${RELOCATING-0} : -+ /* Linux remoteproc loader requires the resource_table section -+ start address to be aligned to 8 bytes. */ -+ .resource_table ${RELOCATING-0} ${RELOCATING+ ALIGN(8)} : - { -- /* Linux remoteproc loader requires the resource table address -- to be aligned to 8 bytes. */ -- ${RELOCATING+. = ALIGN(8);} - KEEP (*(.resource_table)) - } ${RELOCATING+ > dmem} - --- -2.27.0 - diff --git a/packages/binutils/2.37/0013-pr28422-build_id-use-after-free.patch b/packages/binutils/2.37/0013-pr28422-build_id-use-after-free.patch new file mode 100644 index 0000000..97308ca --- /dev/null +++ b/packages/binutils/2.37/0013-pr28422-build_id-use-after-free.patch @@ -0,0 +1,26 @@ +From c20c7adbeaa3af18a58ba1e20e6c33e7186356e3 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Wed, 6 Oct 2021 18:28:47 +1030 +Subject: [PATCH] PR28422, build_id use-after-free + +This fixes a bug in commit 5d9bbb73c1df. All fields preserved from a +bfd in struct bfd_preserve need to be cleared in bfd_reinit. + + PR 28422 + * format.c (bfd_reinit): Clear build_id. + +(cherry picked from commit 6d661cdc5be46e890ed9255e749806f46a88e26c) +--- + bfd/format.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/bfd/format.c ++++ b/bfd/format.c +@@ -151,6 +151,7 @@ + abfd->tdata.any = NULL; + abfd->arch_info = &bfd_default_arch_struct; + abfd->flags &= BFD_FLAGS_SAVED; ++ abfd->build_id = NULL; + bfd_section_list_clear (abfd); + } + diff --git a/packages/binutils/2.37/0014-pr28422-build_id-use-after-free.patch b/packages/binutils/2.37/0014-pr28422-build_id-use-after-free.patch deleted file mode 100644 index 5f6c81a..0000000 --- a/packages/binutils/2.37/0014-pr28422-build_id-use-after-free.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c20c7adbeaa3af18a58ba1e20e6c33e7186356e3 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Wed, 6 Oct 2021 18:28:47 +1030 -Subject: [PATCH] PR28422, build_id use-after-free - -This fixes a bug in commit 5d9bbb73c1df. All fields preserved from a -bfd in struct bfd_preserve need to be cleared in bfd_reinit. - - PR 28422 - * format.c (bfd_reinit): Clear build_id. - -(cherry picked from commit 6d661cdc5be46e890ed9255e749806f46a88e26c) ---- - bfd/format.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/bfd/format.c b/bfd/format.c -index 5d08d1d642c..408c984690e 100644 ---- a/bfd/format.c -+++ b/bfd/format.c -@@ -151,6 +151,7 @@ bfd_reinit (bfd *abfd, unsigned int section_id, bfd_cleanup cleanup) - abfd->tdata.any = NULL; - abfd->arch_info = &bfd_default_arch_struct; - abfd->flags &= BFD_FLAGS_SAVED; -+ abfd->build_id = NULL; - bfd_section_list_clear (abfd); - } - --- -2.27.0 - diff --git a/packages/binutils/2.37/0014-pr28459-readelf-issues-bogus-warning.patch b/packages/binutils/2.37/0014-pr28459-readelf-issues-bogus-warning.patch new file mode 100644 index 0000000..0a1d6d7 --- /dev/null +++ b/packages/binutils/2.37/0014-pr28459-readelf-issues-bogus-warning.patch @@ -0,0 +1,35 @@ +From 61b08178e4cafca911bf909f54f8c373f16f0a70 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Sun, 17 Oct 2021 17:34:46 +1030 +Subject: [PATCH] PR28459, readelf issues bogus warning + +I'd missed the fact that the .debug_rnglists dump doesn't exactly +display the contents of the section. Instead readelf rummages through +.debug_info looking for DW_AT_ranges entries, then displays the +entries in .debug_rnglists pointed at, sorted. A simpler dump of the +actual section contents might be more useful and robust, but it was +likely done that way to detect overlap and holes. + +Anyway, the headers in .debug_rnglists besides the first are ignored, +and limiting to the unit length of the first header fails if there is +more than one unit. + + PR 28459 + * dwarf.c (display_debug_ranges): Don't constrain data to length + in header. + +(cherry picked from commit e7f024765a48fba4452535a5fc006a7e858730fd) +--- + binutils/dwarf.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/binutils/dwarf.c ++++ b/binutils/dwarf.c +@@ -7727,7 +7727,6 @@ + return 0; + } + } +- finish = start + initial_length; + + /* Get and check the version number. */ + SAFE_BYTE_GET_AND_INC (version, start, 2, finish); diff --git a/packages/binutils/2.37/0015-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch b/packages/binutils/2.37/0015-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch new file mode 100644 index 0000000..f26591e --- /dev/null +++ b/packages/binutils/2.37/0015-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch @@ -0,0 +1,38 @@ +From 0effb90eb7c9a50408d98ce174f1b4bc5562f017 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Wed, 20 Oct 2021 10:09:57 +1030 +Subject: [PATCH] PR28417, std::string no longer allows accepting nullptr_t + + PR 28417 + * incremental.cc (Sized_relobj_incr::do_section_name): Avoid + std:string undefined behaviour. + * options.h (Search_directory::Search_directory): Likewise. + +(cherry picked from commit 068a039b8bd7c7386bb0d88f0ae245b0fe4132e9) +--- + gold/incremental.cc | 2 +- + gold/options.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/gold/incremental.cc ++++ b/gold/incremental.cc +@@ -2280,7 +2280,7 @@ + const Output_sections& out_sections(this->output_sections()); + const Output_section* os = out_sections[shndx]; + if (os == NULL) +- return NULL; ++ return std::string(); + return os->name(); + } + +--- a/gold/options.h ++++ b/gold/options.h +@@ -611,7 +611,7 @@ + // We need a default constructor because we put this in a + // std::vector. + Search_directory() +- : name_(NULL), put_in_sysroot_(false), is_in_sysroot_(false) ++ : name_(), put_in_sysroot_(false), is_in_sysroot_(false) + { } + + // This is the usual constructor. diff --git a/packages/binutils/2.37/0015-pr28459-readelf-issues-bogus-warning.patch b/packages/binutils/2.37/0015-pr28459-readelf-issues-bogus-warning.patch deleted file mode 100644 index a860029..0000000 --- a/packages/binutils/2.37/0015-pr28459-readelf-issues-bogus-warning.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 61b08178e4cafca911bf909f54f8c373f16f0a70 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Sun, 17 Oct 2021 17:34:46 +1030 -Subject: [PATCH] PR28459, readelf issues bogus warning - -I'd missed the fact that the .debug_rnglists dump doesn't exactly -display the contents of the section. Instead readelf rummages through -.debug_info looking for DW_AT_ranges entries, then displays the -entries in .debug_rnglists pointed at, sorted. A simpler dump of the -actual section contents might be more useful and robust, but it was -likely done that way to detect overlap and holes. - -Anyway, the headers in .debug_rnglists besides the first are ignored, -and limiting to the unit length of the first header fails if there is -more than one unit. - - PR 28459 - * dwarf.c (display_debug_ranges): Don't constrain data to length - in header. - -(cherry picked from commit e7f024765a48fba4452535a5fc006a7e858730fd) ---- - binutils/dwarf.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/binutils/dwarf.c b/binutils/dwarf.c -index 1e7f4db7b7c..e73078f496f 100644 ---- a/binutils/dwarf.c -+++ b/binutils/dwarf.c -@@ -7727,7 +7727,6 @@ display_debug_ranges (struct dwarf_section *section, - return 0; - } - } -- finish = start + initial_length; - - /* Get and check the version number. */ - SAFE_BYTE_GET_AND_INC (version, start, 2, finish); --- -2.27.0 - diff --git a/packages/binutils/2.37/0016-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch b/packages/binutils/2.37/0016-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch deleted file mode 100644 index 7fa92df..0000000 --- a/packages/binutils/2.37/0016-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0effb90eb7c9a50408d98ce174f1b4bc5562f017 Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Wed, 20 Oct 2021 10:09:57 +1030 -Subject: [PATCH] PR28417, std::string no longer allows accepting nullptr_t - - PR 28417 - * incremental.cc (Sized_relobj_incr::do_section_name): Avoid - std:string undefined behaviour. - * options.h (Search_directory::Search_directory): Likewise. - -(cherry picked from commit 068a039b8bd7c7386bb0d88f0ae245b0fe4132e9) ---- - gold/incremental.cc | 2 +- - gold/options.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gold/incremental.cc b/gold/incremental.cc -index 52941985e6f..327a1527a29 100644 ---- a/gold/incremental.cc -+++ b/gold/incremental.cc -@@ -2286,7 +2286,7 @@ Sized_relobj_incr::do_section_name(unsigned int shndx) const - const Output_sections& out_sections(this->output_sections()); - const Output_section* os = out_sections[shndx]; - if (os == NULL) -- return NULL; -+ return std::string(); - return os->name(); - } - -diff --git a/gold/options.h b/gold/options.h -index 757ebf18fec..47299a37834 100644 ---- a/gold/options.h -+++ b/gold/options.h -@@ -611,7 +611,7 @@ class Search_directory - // We need a default constructor because we put this in a - // std::vector. - Search_directory() -- : name_(NULL), put_in_sysroot_(false), is_in_sysroot_(false) -+ : name_(), put_in_sysroot_(false), is_in_sysroot_(false) - { } - - // This is the usual constructor. --- -2.27.0 - diff --git a/packages/binutils/2.37/0016-pr28540-segmentation-fault-on-NULL-byte_get.patch b/packages/binutils/2.37/0016-pr28540-segmentation-fault-on-NULL-byte_get.patch new file mode 100644 index 0000000..e0be9b7 --- /dev/null +++ b/packages/binutils/2.37/0016-pr28540-segmentation-fault-on-NULL-byte_get.patch @@ -0,0 +1,25 @@ +From 96eb21265ebffbc28f767bed9a2b7650ecb9818d Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Thu, 4 Nov 2021 14:11:02 +1030 +Subject: [PATCH] PR28540, segmentation fault on NULL byte_get + + PR 28540 + * objdump.c (dump_bfd): Don't attempt load_separate_debug_files + when byte_get is NULL. + +(cherry picked from commit f2f105f518413ea3e4c212f89585f9a8a5dddcdd) +--- + binutils/objdump.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/binutils/objdump.c ++++ b/binutils/objdump.c +@@ -4869,7 +4869,7 @@ + + The test on is_mainfile is there because the chain of separate debug + info files is a global variable shared by all invocations of dump_bfd. */ +- if (is_mainfile) ++ if (byte_get != NULL && is_mainfile) + { + load_separate_debug_files (abfd, bfd_get_filename (abfd)); + diff --git a/packages/binutils/2.37/0017-gold-place-note-gnu-property-section-before-other-note-sections.patch b/packages/binutils/2.37/0017-gold-place-note-gnu-property-section-before-other-note-sections.patch new file mode 100644 index 0000000..0063e0d --- /dev/null +++ b/packages/binutils/2.37/0017-gold-place-note-gnu-property-section-before-other-note-sections.patch @@ -0,0 +1,50 @@ +From bd711d6329ebb9328a99bd4be501932082248e44 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Mon, 25 Oct 2021 08:42:24 -0700 +Subject: [PATCH] gold: Place .note.gnu.property section before other note + sections + +Place the .note.gnu.property section before all other note sections to +avoid being placed between other note sections with different alignments. + + PR gold/28494 + * layout.cc (Layout::create_note): Set order to ORDER_PROPERTY_NOTE + for the .note.gnu.property section. + * layout.h (Output_section_order): Add ORDER_PROPERTY_NOTE. + +(cherry picked from commit f85dcfc3af9cf7c2859241253f1d37b1133abea2) +--- + gold/layout.cc | 3 ++- + gold/layout.h | 9 +++++++-- + 2 files changed, 9 insertions(+), 3 deletions(-) + +--- a/gold/layout.cc ++++ b/gold/layout.cc +@@ -3245,7 +3245,8 @@ + if (allocate) + { + flags = elfcpp::SHF_ALLOC; +- order = ORDER_RO_NOTE; ++ order = (note_type == elfcpp::NT_GNU_PROPERTY_TYPE_0 ++ ? ORDER_PROPERTY_NOTE : ORDER_RO_NOTE); + } + Output_section* os = this->choose_output_section(NULL, section_name, + elfcpp::SHT_NOTE, +--- a/gold/layout.h ++++ b/gold/layout.h +@@ -399,8 +399,13 @@ + // linker can pick it up quickly. + ORDER_INTERP, + +- // Loadable read-only note sections come next so that the PT_NOTE +- // segment is on the first page of the executable. ++ // The .note.gnu.property section comes next so that the PT_NOTE ++ // segment is on the first page of the executable and it won't be ++ // placed between other note sections with different alignments. ++ ORDER_PROPERTY_NOTE, ++ ++ // Loadable read-only note sections come after the .note.gnu.property ++ // section. + ORDER_RO_NOTE, + + // Put read-only sections used by the dynamic linker early in the diff --git a/packages/binutils/2.37/0017-pr28540-segmentation-fault-on-NULL-byte_get.patch b/packages/binutils/2.37/0017-pr28540-segmentation-fault-on-NULL-byte_get.patch deleted file mode 100644 index f7f26a7..0000000 --- a/packages/binutils/2.37/0017-pr28540-segmentation-fault-on-NULL-byte_get.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 96eb21265ebffbc28f767bed9a2b7650ecb9818d Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Thu, 4 Nov 2021 14:11:02 +1030 -Subject: [PATCH] PR28540, segmentation fault on NULL byte_get - - PR 28540 - * objdump.c (dump_bfd): Don't attempt load_separate_debug_files - when byte_get is NULL. - -(cherry picked from commit f2f105f518413ea3e4c212f89585f9a8a5dddcdd) ---- - binutils/objdump.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/binutils/objdump.c b/binutils/objdump.c -index a7b8303b992..50317b3d48f 100644 ---- a/binutils/objdump.c -+++ b/binutils/objdump.c -@@ -4869,7 +4869,7 @@ dump_bfd (bfd *abfd, bool is_mainfile) - - The test on is_mainfile is there because the chain of separate debug - info files is a global variable shared by all invocations of dump_bfd. */ -- if (is_mainfile) -+ if (byte_get != NULL && is_mainfile) - { - load_separate_debug_files (abfd, bfd_get_filename (abfd)); - --- -2.27.0 - diff --git a/packages/binutils/2.37/0018-gold-place-note-gnu-property-section-before-other-note-sections.patch b/packages/binutils/2.37/0018-gold-place-note-gnu-property-section-before-other-note-sections.patch deleted file mode 100644 index 9b53a90..0000000 --- a/packages/binutils/2.37/0018-gold-place-note-gnu-property-section-before-other-note-sections.patch +++ /dev/null @@ -1,57 +0,0 @@ -From bd711d6329ebb9328a99bd4be501932082248e44 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Mon, 25 Oct 2021 08:42:24 -0700 -Subject: [PATCH] gold: Place .note.gnu.property section before other note - sections - -Place the .note.gnu.property section before all other note sections to -avoid being placed between other note sections with different alignments. - - PR gold/28494 - * layout.cc (Layout::create_note): Set order to ORDER_PROPERTY_NOTE - for the .note.gnu.property section. - * layout.h (Output_section_order): Add ORDER_PROPERTY_NOTE. - -(cherry picked from commit f85dcfc3af9cf7c2859241253f1d37b1133abea2) ---- - gold/layout.cc | 3 ++- - gold/layout.h | 9 +++++++-- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/gold/layout.cc b/gold/layout.cc -index a27cb071c75..38e9bceec7e 100644 ---- a/gold/layout.cc -+++ b/gold/layout.cc -@@ -3245,7 +3245,8 @@ Layout::create_note(const char* name, int note_type, - if (allocate) - { - flags = elfcpp::SHF_ALLOC; -- order = ORDER_RO_NOTE; -+ order = (note_type == elfcpp::NT_GNU_PROPERTY_TYPE_0 -+ ? ORDER_PROPERTY_NOTE : ORDER_RO_NOTE); - } - Output_section* os = this->choose_output_section(NULL, section_name, - elfcpp::SHT_NOTE, -diff --git a/gold/layout.h b/gold/layout.h -index 0b378003679..05c31714e47 100644 ---- a/gold/layout.h -+++ b/gold/layout.h -@@ -399,8 +399,13 @@ enum Output_section_order - // linker can pick it up quickly. - ORDER_INTERP, - -- // Loadable read-only note sections come next so that the PT_NOTE -- // segment is on the first page of the executable. -+ // The .note.gnu.property section comes next so that the PT_NOTE -+ // segment is on the first page of the executable and it won't be -+ // placed between other note sections with different alignments. -+ ORDER_PROPERTY_NOTE, -+ -+ // Loadable read-only note sections come after the .note.gnu.property -+ // section. - ORDER_RO_NOTE, - - // Put read-only sections used by the dynamic linker early in the --- -2.27.0 - diff --git a/packages/binutils/2.37/0018-waddress-warning-in-ldelf.c.patch b/packages/binutils/2.37/0018-waddress-warning-in-ldelf.c.patch new file mode 100644 index 0000000..685af62 --- /dev/null +++ b/packages/binutils/2.37/0018-waddress-warning-in-ldelf.c.patch @@ -0,0 +1,31 @@ +From c912b88e003a43e10020f56675fbd7e180d255ab Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Thu, 21 Oct 2021 19:18:34 +1030 +Subject: [PATCH] -Waddress warning in ldelf.c + +ldelf.c: In function 'ldelf_after_open': +ldelf.c:1049:43: warning: the comparison will always evaluate as 'true' for the address of 'elf_header' will never be NULL [-Waddress] + 1049 | && elf_tdata (abfd)->elf_header != NULL + | ^~ +In file included from ldelf.c:37: +../bfd/elf-bfd.h:1957:21: note: 'elf_header' declared here + 1957 | Elf_Internal_Ehdr elf_header[1]; /* Actual data, but ref like ptr */ + + PR ld/28734 + * ldelf.c (ldelf_after_open): Remove useless elf_header test. + +(cherry picked from commit ced10cb78d01652f9e1bb1d1e465327dfe1debaa) +--- + ld/ldelf.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/ld/ldelf.c ++++ b/ld/ldelf.c +@@ -1046,7 +1046,6 @@ + if (abfd->xvec->flavour == bfd_target_elf_flavour + && !bfd_input_just_syms (abfd) + && elf_tdata (abfd) != NULL +- && elf_tdata (abfd)->elf_header != NULL + /* FIXME: Maybe check for other non-supportable types as well ? */ + && (elf_tdata (abfd)->elf_header->e_type == ET_EXEC + || (elf_tdata (abfd)->elf_header->e_type == ET_DYN diff --git a/packages/binutils/2.37/0019-waddress-warning-in-ldelf.c.patch b/packages/binutils/2.37/0019-waddress-warning-in-ldelf.c.patch deleted file mode 100644 index 4091806..0000000 --- a/packages/binutils/2.37/0019-waddress-warning-in-ldelf.c.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c912b88e003a43e10020f56675fbd7e180d255ab Mon Sep 17 00:00:00 2001 -From: Alan Modra -Date: Thu, 21 Oct 2021 19:18:34 +1030 -Subject: [PATCH] -Waddress warning in ldelf.c - -ldelf.c: In function 'ldelf_after_open': -ldelf.c:1049:43: warning: the comparison will always evaluate as 'true' for the address of 'elf_header' will never be NULL [-Waddress] - 1049 | && elf_tdata (abfd)->elf_header != NULL - | ^~ -In file included from ldelf.c:37: -../bfd/elf-bfd.h:1957:21: note: 'elf_header' declared here - 1957 | Elf_Internal_Ehdr elf_header[1]; /* Actual data, but ref like ptr */ - - PR ld/28734 - * ldelf.c (ldelf_after_open): Remove useless elf_header test. - -(cherry picked from commit ced10cb78d01652f9e1bb1d1e465327dfe1debaa) ---- - ld/ldelf.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/ld/ldelf.c b/ld/ldelf.c -index 21e655bb55c..0c39eb6024f 100644 ---- a/ld/ldelf.c -+++ b/ld/ldelf.c -@@ -1046,7 +1046,6 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, - if (abfd->xvec->flavour == bfd_target_elf_flavour - && !bfd_input_just_syms (abfd) - && elf_tdata (abfd) != NULL -- && elf_tdata (abfd)->elf_header != NULL - /* FIXME: Maybe check for other non-supportable types as well ? */ - && (elf_tdata (abfd)->elf_header->e_type == ET_EXEC - || (elf_tdata (abfd)->elf_header->e_type == ET_DYN --- -2.27.0 - diff --git a/packages/duma/2_5_15/0003-cpp17_throw.patch b/packages/duma/2_5_15/0003-cpp17_throw.patch new file mode 100644 index 0000000..f468c5d --- /dev/null +++ b/packages/duma/2_5_15/0003-cpp17_throw.patch @@ -0,0 +1,73 @@ +--- + testoperators.cpp | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/testoperators.cpp ++++ b/testoperators.cpp +@@ -37,26 +37,26 @@ + { + public: + /* 1x : SINGLE OBJECT FORM - NO DEBUG INFORMATION */ +- void * operator new( DUMA_SIZE_T ) throw(std::bad_alloc); ++ void * operator new( DUMA_SIZE_T ) NEW_THROW_SPEC; + void * operator new( DUMA_SIZE_T , const std::nothrow_t & ) throw(); + void operator delete( void * ) throw(); + void operator delete( void * , const std::nothrow_t & ) throw(); + + /* 2x : ARRAY OBJECT FORM - NO DEBUG INFORMATION */ +- void * operator new[]( DUMA_SIZE_T ) throw(std::bad_alloc); ++ void * operator new[]( DUMA_SIZE_T ) NEW_THROW_SPEC; + void * operator new[]( DUMA_SIZE_T , const std::nothrow_t & ) throw(); + void operator delete[]( void * ) throw(); + void operator delete[]( void *, const std::nothrow_t & ) throw(); + + #ifndef DUMA_NO_LEAKDETECTION + /* 3x : SINGLE OBJECT FORM - WITH DEBUG INFORMATION */ +- void * operator new( DUMA_SIZE_T, const char *, int ) throw( std::bad_alloc ); ++ void * operator new( DUMA_SIZE_T, const char *, int ) NEW_THROW_SPEC; + void * operator new( DUMA_SIZE_T, const std::nothrow_t &, const char *, int ) throw(); + void operator delete( void *, const char *, int ) throw(); + void operator delete( void *, const std::nothrow_t &, const char *, int ) throw(); + + /* 4x : ARRAY OBJECT FORM - WITH DEBUG INFORMATION */ +- void * operator new[]( DUMA_SIZE_T, const char *, int ) throw( std::bad_alloc ); ++ void * operator new[]( DUMA_SIZE_T, const char *, int ) NEW_THROW_SPEC; + void * operator new[]( DUMA_SIZE_T, const std::nothrow_t &, const char *, int ) throw(); + void operator delete[]( void *, const char *, int ) throw(); + void operator delete[]( void *, const std::nothrow_t &, const char *, int ) throw(); +@@ -70,7 +70,7 @@ + /* 1x : SINGLE OBJECT FORM - NO DEBUG INFORMATION */ + + void * optest::operator new( DUMA_SIZE_T s ) +-throw(std::bad_alloc) ++NEW_THROW_SPEC + { + (void)s; + return ::new optest; +@@ -101,7 +101,7 @@ + + /* 2x : ARRAY OBJECT FORM - NO DEBUG INFORMATION */ + void * optest::operator new[]( DUMA_SIZE_T s ) +-throw(std::bad_alloc) ++NEW_THROW_SPEC + { + return ::new optest[ s / sizeof(optest) ]; // "s / sizeof()" not correct but works for this test + } +@@ -129,7 +129,7 @@ + + /* 3x : SINGLE OBJECT FORM - WITH DEBUG INFORMATION */ + void * optest::operator new( DUMA_SIZE_T s, const char * f, int l ) +-throw( std::bad_alloc ) ++NEW_THROW_SPEC + { + (void)s; + return ::new(f,l) optest; +@@ -157,7 +157,7 @@ + + /* 4x : ARRAY OBJECT FORM - WITH DEBUG INFORMATION */ + void * optest::operator new[]( DUMA_SIZE_T s, const char * f, int l ) +-throw( std::bad_alloc ) ++NEW_THROW_SPEC + { + return ::new(f,l) optest[s / sizeof(optest)]; // "s / sizeof()" not correct but works for this test + } diff --git a/packages/duma/2_5_15/0003_cpp17_throw.patch b/packages/duma/2_5_15/0003_cpp17_throw.patch deleted file mode 100644 index d61bd49..0000000 --- a/packages/duma/2_5_15/0003_cpp17_throw.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/testoperators.cpp 2009-03-17 16:04:43.000000000 -0700 -+++ b/testoperators.cpp 2021-05-01 01:15:25.385421628 -0700 -@@ -37,26 +37,26 @@ - { - public: - /* 1x : SINGLE OBJECT FORM - NO DEBUG INFORMATION */ -- void * operator new( DUMA_SIZE_T ) throw(std::bad_alloc); -+ void * operator new( DUMA_SIZE_T ) NEW_THROW_SPEC; - void * operator new( DUMA_SIZE_T , const std::nothrow_t & ) throw(); - void operator delete( void * ) throw(); - void operator delete( void * , const std::nothrow_t & ) throw(); - - /* 2x : ARRAY OBJECT FORM - NO DEBUG INFORMATION */ -- void * operator new[]( DUMA_SIZE_T ) throw(std::bad_alloc); -+ void * operator new[]( DUMA_SIZE_T ) NEW_THROW_SPEC; - void * operator new[]( DUMA_SIZE_T , const std::nothrow_t & ) throw(); - void operator delete[]( void * ) throw(); - void operator delete[]( void *, const std::nothrow_t & ) throw(); - - #ifndef DUMA_NO_LEAKDETECTION - /* 3x : SINGLE OBJECT FORM - WITH DEBUG INFORMATION */ -- void * operator new( DUMA_SIZE_T, const char *, int ) throw( std::bad_alloc ); -+ void * operator new( DUMA_SIZE_T, const char *, int ) NEW_THROW_SPEC; - void * operator new( DUMA_SIZE_T, const std::nothrow_t &, const char *, int ) throw(); - void operator delete( void *, const char *, int ) throw(); - void operator delete( void *, const std::nothrow_t &, const char *, int ) throw(); - - /* 4x : ARRAY OBJECT FORM - WITH DEBUG INFORMATION */ -- void * operator new[]( DUMA_SIZE_T, const char *, int ) throw( std::bad_alloc ); -+ void * operator new[]( DUMA_SIZE_T, const char *, int ) NEW_THROW_SPEC; - void * operator new[]( DUMA_SIZE_T, const std::nothrow_t &, const char *, int ) throw(); - void operator delete[]( void *, const char *, int ) throw(); - void operator delete[]( void *, const std::nothrow_t &, const char *, int ) throw(); -@@ -70,7 +70,7 @@ - /* 1x : SINGLE OBJECT FORM - NO DEBUG INFORMATION */ - - void * optest::operator new( DUMA_SIZE_T s ) --throw(std::bad_alloc) -+NEW_THROW_SPEC - { - (void)s; - return ::new optest; -@@ -101,7 +101,7 @@ - - /* 2x : ARRAY OBJECT FORM - NO DEBUG INFORMATION */ - void * optest::operator new[]( DUMA_SIZE_T s ) --throw(std::bad_alloc) -+NEW_THROW_SPEC - { - return ::new optest[ s / sizeof(optest) ]; // "s / sizeof()" not correct but works for this test - } -@@ -129,7 +129,7 @@ - - /* 3x : SINGLE OBJECT FORM - WITH DEBUG INFORMATION */ - void * optest::operator new( DUMA_SIZE_T s, const char * f, int l ) --throw( std::bad_alloc ) -+NEW_THROW_SPEC - { - (void)s; - return ::new(f,l) optest; -@@ -157,7 +157,7 @@ - - /* 4x : ARRAY OBJECT FORM - WITH DEBUG INFORMATION */ - void * optest::operator new[]( DUMA_SIZE_T s, const char * f, int l ) --throw( std::bad_alloc ) -+NEW_THROW_SPEC - { - return ::new(f,l) optest[s / sizeof(optest)]; // "s / sizeof()" not correct but works for this test - } diff --git a/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch index b5804ea..1a86e41 100644 --- a/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch +++ b/packages/gcc/10.3.0/0000-libtool-leave-framework-alone.patch @@ -4,7 +4,7 @@ --- a/libtool-ldflags +++ b/libtool-ldflags -@@ -36,6 +36,11 @@ prev_arg= +@@ -36,6 +36,11 @@ for arg do case $arg in diff --git a/packages/gcc/10.3.0/0001-uclibc-conf.patch b/packages/gcc/10.3.0/0001-uclibc-conf.patch index a9ae872..aef750a 100644 --- a/packages/gcc/10.3.0/0001-uclibc-conf.patch +++ b/packages/gcc/10.3.0/0001-uclibc-conf.patch @@ -4,7 +4,7 @@ --- a/contrib/regression/objs-gcc.sh +++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H +@@ -106,6 +106,10 @@ then make all-gdb all-dejagnu all-ld || exit 1 make install-gdb install-dejagnu install-ld || exit 1 diff --git a/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch index 394dd49..ca9b8ba 100644 --- a/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ b/packages/gcc/10.3.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -6,7 +6,7 @@ --- a/config/gcc-plugin.m4 +++ b/config/gcc-plugin.m4 -@@ -21,6 +21,9 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -21,6 +21,9 @@ pluginlibs= plugin_check=yes @@ -16,7 +16,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -43,6 +46,11 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -43,6 +46,11 @@ export_sym_check= fi ;; @@ -28,7 +28,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -94,17 +102,17 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -94,17 +102,17 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` @@ -53,7 +53,7 @@ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then --- a/gcc/configure +++ b/gcc/configure -@@ -30375,6 +30375,9 @@ fi +@@ -30385,6 +30385,9 @@ pluginlibs= plugin_check=yes @@ -63,7 +63,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -30397,6 +30400,11 @@ fi +@@ -30407,6 +30410,11 @@ export_sym_check= fi ;; @@ -75,7 +75,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -30509,23 +30517,23 @@ fi +@@ -30519,23 +30527,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` @@ -108,7 +108,7 @@ } --- a/libcc1/configure +++ b/libcc1/configure -@@ -14795,6 +14795,9 @@ fi +@@ -14812,6 +14812,9 @@ pluginlibs= plugin_check=yes @@ -118,7 +118,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -14817,6 +14820,11 @@ fi +@@ -14834,6 +14837,11 @@ export_sym_check= fi ;; @@ -130,7 +130,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -14929,23 +14937,23 @@ fi +@@ -14946,23 +14954,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` diff --git a/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch index 3040e23..5f9a07a 100644 --- a/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ b/packages/gcc/10.3.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch @@ -4,7 +4,7 @@ --- a/libcc1/connection.cc +++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. +@@ -21,6 +21,7 @@ #include #include #include diff --git a/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch b/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch index 9d176d3..452a4bb 100644 --- a/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch +++ b/packages/gcc/10.3.0/0005-fix-m68k-uclinux.patch @@ -10,7 +10,7 @@ Signed-off-by: Waldemar Brodkorb --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -949,7 +949,7 @@ m68k*-*-netbsdelf*) +@@ -949,7 +949,7 @@ m68k*-*-openbsd*) ;; m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc diff --git a/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch b/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch index 866d2cc..d4917ee 100644 --- a/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch +++ b/packages/gcc/10.3.0/0006-libgfortran-missing-include.patch @@ -4,7 +4,7 @@ --- a/libgfortran/io/close.c +++ b/libgfortran/io/close.c -@@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTI +@@ -29,6 +29,7 @@ #if !HAVE_UNLINK_OPEN_FILE #include #endif diff --git a/packages/gcc/10.3.0/0009-bionic-ndk.patch b/packages/gcc/10.3.0/0009-bionic-ndk.patch index 090172d..474dd8c 100644 --- a/packages/gcc/10.3.0/0009-bionic-ndk.patch +++ b/packages/gcc/10.3.0/0009-bionic-ndk.patch @@ -29,7 +29,7 @@ Date: Tue Apr 25 19:02:18 2017 -0700 namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -41,17 +53,17 @@ _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; diff --git a/packages/gcc/10.3.0/0010-crystax.patch b/packages/gcc/10.3.0/0010-crystax.patch index 98bd2fe..5b15ffb 100644 --- a/packages/gcc/10.3.0/0010-crystax.patch +++ b/packages/gcc/10.3.0/0010-crystax.patch @@ -37,7 +37,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -1083,14 +1083,18 @@ aarch64*-*-netbsd*) +@@ -1113,14 +1113,18 @@ extra_options="${extra_options} netbsd.opt netbsd-elf.opt" ;; aarch64*-*-linux*) @@ -57,7 +57,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 esac aarch64_multilibs="${with_multilib_list}" if test "$aarch64_multilibs" = "default"; then -@@ -2501,6 +2505,17 @@ mips*-*-linux*) # Linux MIPS, either +@@ -2532,6 +2536,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 @@ -157,7 +157,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #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 -@@ -1974,12 +1974,13 @@ enum arm_auto_incmodes +@@ -1974,12 +1974,13 @@ #define CASE_VECTOR_PC_RELATIVE ((TARGET_THUMB2 \ || (TARGET_THUMB1 \ @@ -174,7 +174,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 : min >= -256 && max < 256 \ --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md -@@ -9342,7 +9342,7 @@ +@@ -9346,7 +9346,7 @@ (match_operand:SI 2 "const_int_operand") ; total range (match_operand:SI 3 "" "") ; table label (match_operand:SI 4 "" "")] ; Out of range label @@ -185,7 +185,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 enum insn_code code; --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt -@@ -202,6 +202,10 @@ mthumb-interwork +@@ -202,6 +202,10 @@ Target Report Mask(INTERWORK) Support calls between Thumb and ARM instruction sets. @@ -250,7 +250,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 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 @@ along with GCC; see the file COPYING3. +@@ -65,9 +65,14 @@ When the -shared link option is used a final link is not being done. */ @@ -268,7 +268,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #define SUBTARGET_EXTRA_SPECS \ --- a/gcc/config/i386/gnu-user64.h +++ b/gcc/config/i386/gnu-user64.h -@@ -46,6 +46,11 @@ see the files COPYING3 and COPYING.RUNTI +@@ -46,6 +46,11 @@ #define SPEC_X32 "mx32" #endif @@ -282,7 +282,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 %{" SPEC_64 ":--64} \ --- a/gcc/config/i386/linux-common.h +++ b/gcc/config/i386/linux-common.h -@@ -36,7 +36,13 @@ along with GCC; see the file COPYING3. +@@ -36,7 +36,13 @@ #undef CC1_SPEC #define CC1_SPEC \ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ @@ -377,7 +377,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 + LINUX_DRIVER_SELF_SPECS --- a/gcc/config/mips/gnu-user.h +++ b/gcc/config/mips/gnu-user.h -@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. +@@ -36,6 +36,7 @@ /* The GNU C++ standard library requires this. */ \ if (c_dialect_cxx ()) \ builtin_define ("_GNU_SOURCE"); \ @@ -385,7 +385,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 } while (0) #undef SUBTARGET_CPP_SPEC -@@ -71,7 +72,8 @@ along with GCC; see the file COPYING3. +@@ -71,7 +72,8 @@ #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC \ @@ -395,7 +395,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 /* The MIPS assembler has different syntax for .set. We set it to .dummy to trap any errors. */ -@@ -120,7 +122,7 @@ extern const char *host_detect_local_cpu +@@ -120,7 +122,7 @@ #endif #define LINUX_DRIVER_SELF_SPECS \ @@ -406,7 +406,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 specs handling by removing a redundant option. */ \ --- a/gcc/config/mips/linux-common.h +++ b/gcc/config/mips/linux-common.h -@@ -38,7 +38,7 @@ along with GCC; see the file COPYING3. +@@ -38,7 +38,7 @@ #undef SUBTARGET_CC1_SPEC #define SUBTARGET_CC1_SPEC \ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ @@ -430,7 +430,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 +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 @@ see the files COPYING3 and COPYING.RUNTI +@@ -32,6 +32,19 @@ #define __GTHREADS 1 #define __GTHREADS_CXX0X 1 @@ -452,7 +452,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -74306,6 +74306,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ +@@ -73677,6 +73677,18 @@ #include #include int lk; @@ -494,7 +494,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -1104,7 +1118,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1104,7 +1118,7 @@ * @return @a __hi. */ virtual const char* @@ -503,7 +503,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 { if (__builtin_expect(__hi != __lo, true)) __builtin_memcpy(__to, __lo, __hi - __lo); -@@ -1167,7 +1181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1167,7 +1181,7 @@ private: void _M_narrow_init() const; diff --git a/packages/gcc/10.3.0/0012-crystax.patch b/packages/gcc/10.3.0/0012-crystax.patch index e7476ba..a61ec09 100644 --- a/packages/gcc/10.3.0/0012-crystax.patch +++ b/packages/gcc/10.3.0/0012-crystax.patch @@ -16,13 +16,12 @@ Date: Mon Apr 14 15:59:47 2014 -0700 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(-) + 10 files changed, 123 insertions(+), 4 deletions(-) --- a/gcc/config.in +++ b/gcc/config.in @@ -41,7 +40,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #ifndef USED_FOR_TARGET --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h -@@ -142,5 +142,9 @@ extern int alpha_this_gpdisp_sequence_nu +@@ -142,5 +142,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) @@ -53,7 +52,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 +#endif --- a/gcc/config/freebsd.h +++ b/gcc/config/freebsd.h -@@ -45,8 +45,12 @@ along with GCC; see the file COPYING3. +@@ -45,8 +45,12 @@ #define LIB_SPEC FBSD_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -68,7 +67,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h -@@ -106,8 +106,12 @@ see the files COPYING3 and COPYING.RUNTI +@@ -106,8 +106,12 @@ #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -83,7 +82,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 "%{static|static-pie:--start-group} %G %{!nolibc:%L} \ --- a/gcc/config/openbsd.h +++ b/gcc/config/openbsd.h -@@ -136,8 +136,12 @@ while (0) +@@ -136,8 +136,12 @@ #define LIB_SPEC OBSD_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -98,7 +97,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #define LIB_SPEC OBSD_LIB_SPEC --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h -@@ -434,7 +434,11 @@ along with GCC; see the file COPYING3. +@@ -434,7 +434,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) @@ -112,7 +111,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/configure +++ b/gcc/configure -@@ -1000,6 +1000,7 @@ enable_fix_cortex_a53_835769 +@@ -1000,6 +1000,7 @@ enable_fix_cortex_a53_843419 with_glibc_version enable_gnu_unique_object @@ -120,7 +119,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 enable_linker_build_id enable_libssp enable_default_ssp -@@ -1754,6 +1755,9 @@ Optional Features: +@@ -1754,6 +1755,9 @@ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on glibc systems @@ -130,7 +129,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --enable-linker-build-id compiler will always pass --build-id to linker --enable-libssp enable linking against libssp -@@ -28836,6 +28840,38 @@ if test x"$gcc_cv_ld_eh_frame_hdr" = xye +@@ -28843,6 +28847,38 @@ $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h @@ -171,7 +170,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -5371,6 +5371,35 @@ GCC_TARGET_TEMPLATE([HAVE_LD_EH_FRAME_HD +@@ -5376,6 +5376,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.]) @@ -237,7 +236,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 +} --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c -@@ -88,7 +88,8 @@ call_ ## FUNC (void) \ +@@ -88,7 +88,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ @@ -247,7 +246,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) #include # define USE_PT_GNU_EH_FRAME -@@ -97,7 +98,8 @@ call_ ## FUNC (void) \ +@@ -97,7 +98,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ @@ -257,7 +256,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && defined(__sun__) && defined(__svr4__) #include # define USE_PT_GNU_EH_FRAME -@@ -106,7 +108,8 @@ call_ ## FUNC (void) \ +@@ -106,7 +108,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ @@ -267,7 +266,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && 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 @@ call_ ## FUNC (void) \ +@@ -121,7 +124,7 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ diff --git a/packages/gcc/10.3.0/0013-crystax.patch b/packages/gcc/10.3.0/0013-crystax.patch index 4414940..bf1bc1c 100644 --- a/packages/gcc/10.3.0/0013-crystax.patch +++ b/packages/gcc/10.3.0/0013-crystax.patch @@ -12,7 +12,7 @@ Date: Thu Aug 20 19:11:07 2015 +0300 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c -@@ -10344,6 +10344,7 @@ legitimate_pic_address_disp_p (rtx disp) +@@ -10340,6 +10340,7 @@ else if (!SYMBOL_REF_FAR_ADDR_P (op0) && (SYMBOL_REF_LOCAL_P (op0) || (HAVE_LD_PIE_COPYRELOC diff --git a/packages/gcc/10.3.0/0014-crystax.patch b/packages/gcc/10.3.0/0014-crystax.patch index 5acc6b9..8f2eb43 100644 --- a/packages/gcc/10.3.0/0014-crystax.patch +++ b/packages/gcc/10.3.0/0014-crystax.patch @@ -12,7 +12,7 @@ Date: Fri Aug 21 17:41:59 2015 +0300 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h -@@ -145,7 +145,11 @@ see the files COPYING3 and COPYING.RUNTI +@@ -145,7 +145,11 @@ #define GTHREAD_USE_WEAK 1 #endif #endif diff --git a/packages/gcc/10.3.0/0015-crystax.patch b/packages/gcc/10.3.0/0015-crystax.patch index 1a4f6b3..4f1c28e 100644 --- a/packages/gcc/10.3.0/0015-crystax.patch +++ b/packages/gcc/10.3.0/0015-crystax.patch @@ -15,7 +15,7 @@ Date: Mon Apr 14 21:05:51 2014 -0700 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c -@@ -24077,9 +24077,13 @@ arm_print_operand (FILE *stream, rtx x, +@@ -24131,9 +24131,13 @@ memsize = MEM_SIZE (x); /* Only certain alignment specifiers are supported by the hardware. */ diff --git a/packages/gcc/10.3.0/0017-crystax.patch b/packages/gcc/10.3.0/0017-crystax.patch index 1a46aed..28284ff 100644 --- a/packages/gcc/10.3.0/0017-crystax.patch +++ b/packages/gcc/10.3.0/0017-crystax.patch @@ -24,7 +24,7 @@ Date: Tue Aug 25 09:36:42 2015 +0300 #endif /* GCC_AARCH64_LINUX_ANDROID_H */ --- a/gcc/config/mips/linux-common.h +++ b/gcc/config/mips/linux-common.h -@@ -65,3 +65,7 @@ along with GCC; see the file COPYING3. +@@ -65,3 +65,7 @@ /* The default value isn't sufficient in 64-bit mode. */ #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) diff --git a/packages/gcc/10.3.0/0018-isl-0.20.patch b/packages/gcc/10.3.0/0018-isl-0.20.patch index de188b1..3e14966 100644 --- a/packages/gcc/10.3.0/0018-isl-0.20.patch +++ b/packages/gcc/10.3.0/0018-isl-0.20.patch @@ -15,7 +15,7 @@ Date: Mon Sep 24 22:50:11 2018 -0700 --- a/gcc/graphite.h +++ b/gcc/graphite.h -@@ -26,6 +26,8 @@ along with GCC; see the file COPYING3. +@@ -26,6 +26,8 @@ #include #include #include diff --git a/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch b/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch index a618707..0001169 100644 --- a/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch +++ b/packages/gcc/10.3.0/0019-AArch64-Fix-build-issue-with-aarch64-builtins.c-on-M.patch @@ -13,14 +13,12 @@ Fix this by adding '-std=gnu++11' to the compile line. Signed-off-by: Kumar Gala --- - gcc/config/aarch64/t-aarch64 | 2 +- + gcc/config/aarch64/t-aarch64 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64 -index 11d20b7be14..d4c3154cf40 100644 --- a/gcc/config/aarch64/t-aarch64 +++ b/gcc/config/aarch64/t-aarch64 -@@ -41,7 +41,7 @@ aarch64-builtins.o: $(srcdir)/config/aarch64/aarch64-builtins.c $(CONFIG_H) \ +@@ -41,7 +41,7 @@ $(srcdir)/config/aarch64/aarch64-simd-builtins.def \ $(srcdir)/config/aarch64/aarch64-simd-builtin-types.def \ aarch64-builtin-iterators.h @@ -29,6 +27,3 @@ index 11d20b7be14..d4c3154cf40 100644 $(srcdir)/config/aarch64/aarch64-builtins.c aarch64-sve-builtins.o: $(srcdir)/config/aarch64/aarch64-sve-builtins.cc \ --- -2.25.4 - diff --git a/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch b/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch index da92ba3..7e3e6e6 100644 --- a/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch +++ b/packages/gcc/10.3.0/0020-libstdcxx-pure-stdio.patch @@ -28,17 +28,15 @@ libstdc++-v3/ChangeLog: * config.h.in: Regenerate. * configure: Regenerate. --- - libstdc++-v3/acinclude.m4 | 20 ++++++---- - libstdc++-v3/config.h.in | 3 ++ - libstdc++-v3/config/io/basic_file_stdio.cc | 46 +++++++++++++++++++--- - libstdc++-v3/configure | 17 +++++--- + libstdc++-v3/acinclude.m4 | 20 ++++++++---- + libstdc++-v3/config.h.in | 3 + + libstdc++-v3/config/io/basic_file_stdio.cc | 46 +++++++++++++++++++++++++---- + libstdc++-v3/configure | 17 +++++++--- 4 files changed, 69 insertions(+), 17 deletions(-) -diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 -index ee5e0336f2c..9604533c306 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 -@@ -2826,24 +2826,30 @@ AC_DEFUN([GLIBCXX_ENABLE_PARALLEL], [ +@@ -2797,24 +2797,30 @@ dnl @@ -76,11 +74,9 @@ index ee5e0336f2c..9604533c306 100644 ;; esac -diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in -index 8940e0c7acd..eabcf18b52b 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in -@@ -1031,6 +1031,9 @@ +@@ -974,6 +974,9 @@ /* Define if sendfile is available in . */ #undef _GLIBCXX_USE_SENDFILE @@ -90,11 +86,9 @@ index 8940e0c7acd..eabcf18b52b 100644 /* Define if struct stat has timespec members. */ #undef _GLIBCXX_USE_ST_MTIM -diff --git a/libstdc++-v3/config/io/basic_file_stdio.cc b/libstdc++-v3/config/io/basic_file_stdio.cc -index ba830fb9e97..eedffb017b6 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.cc +++ b/libstdc++-v3/config/io/basic_file_stdio.cc -@@ -111,13 +111,21 @@ namespace +@@ -111,13 +111,21 @@ // Wrapper handling partial write. static std::streamsize @@ -116,7 +110,7 @@ index ba830fb9e97..eedffb017b6 100644 if (__ret == -1L && errno == EINTR) continue; if (__ret == -1L) -@@ -133,7 +141,7 @@ namespace +@@ -133,7 +141,7 @@ return __n - __nleft; } @@ -125,7 +119,7 @@ index ba830fb9e97..eedffb017b6 100644 // Wrapper handling partial writev. static std::streamsize xwritev(int __fd, const char* __s1, std::streamsize __n1, -@@ -286,9 +294,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -286,9 +294,11 @@ __basic_file::is_open() const throw () { return _M_cfile != 0; } @@ -137,7 +131,7 @@ index ba830fb9e97..eedffb017b6 100644 __c_file* __basic_file::file() throw () -@@ -315,28 +325,46 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -315,29 +325,47 @@ { streamsize __ret; do @@ -182,11 +176,12 @@ index ba830fb9e97..eedffb017b6 100644 + __ret += xwrite(this->file(), __s2, __n2); +#else __ret += xwrite(this->fd(), __s2, __n2); -+#endif #endif ++#endif return __ret; } -@@ -350,7 +378,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + +@@ -350,8 +378,12 @@ if (__off > numeric_limits::max() || __off < numeric_limits::min()) return -1L; @@ -194,11 +189,12 @@ index ba830fb9e97..eedffb017b6 100644 + return fseek(this->file(), __off, __way); +#else return lseek(this->fd(), __off, __way); -+#endif #endif ++#endif } -@@ -361,7 +393,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + int +@@ -361,7 +393,7 @@ streamsize __basic_file::showmanyc() { @@ -207,7 +203,7 @@ index ba830fb9e97..eedffb017b6 100644 #ifdef FIONREAD // Pipes and sockets. int __num = 0; -@@ -371,7 +403,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -371,7 +403,7 @@ #endif #endif @@ -216,7 +212,7 @@ index ba830fb9e97..eedffb017b6 100644 // Cheap test. struct pollfd __pfd[1]; __pfd[0].fd = this->fd(); -@@ -395,8 +427,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -395,9 +427,13 @@ struct stat __buffer; const int __err = fstat(this->fd(), &__buffer); if (!__err && _GLIBCXX_ISREG(__buffer.st_mode)) @@ -225,15 +221,14 @@ index ba830fb9e97..eedffb017b6 100644 +#else return __buffer.st_size - lseek(this->fd(), 0, ios_base::cur); #endif -+#endif #endif ++#endif return 0; } -diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 9f9c5a2419a..50c8f00a41c 100755 + --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -16299,7 +16299,7 @@ $as_echo_n "checking for underlying I/O to use... " >&6; } +@@ -16301,7 +16301,7 @@ if test "${enable_cstdio+set}" = set; then : enableval=$enable_cstdio; case "$enableval" in @@ -242,7 +237,7 @@ index 9f9c5a2419a..50c8f00a41c 100755 *) as_fn_error $? "Unknown argument to enable/disable cstdio" "$LINENO" 5 ;; esac -@@ -16309,16 +16309,23 @@ fi +@@ -16311,16 +16311,23 @@ @@ -270,6 +265,3 @@ index 9f9c5a2419a..50c8f00a41c 100755 ;; esac --- -2.29.2 - diff --git a/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch b/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch index 12d99f8..dc63fe5 100644 --- a/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch +++ b/packages/gcc/10.3.0/0021-Darwin-Arm64-Initial-support-for-the-self-host-drive.patch @@ -13,18 +13,16 @@ See commit 89dc5a9d5ed3e6b2ba6a4725bd51841ee758b6cd Its been backported to gcc-10.2 --- - gcc/config.host | 7 +++++- - gcc/config/aarch64/host-aarch64-darwin.c | 32 ++++++++++++++++++++++++ - gcc/config/aarch64/x-darwin | 3 +++ + gcc/config.host | 7 +++++- + gcc/config/aarch64/host-aarch64-darwin.c | 32 +++++++++++++++++++++++++++++++ + gcc/config/aarch64/x-darwin | 3 ++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 gcc/config/aarch64/host-aarch64-darwin.c create mode 100644 gcc/config/aarch64/x-darwin -diff --git a/gcc/config.host b/gcc/config.host -index 84f0433e2ad..8489145e1b1 100644 --- a/gcc/config.host +++ b/gcc/config.host -@@ -99,7 +99,8 @@ case ${host} in +@@ -99,7 +99,8 @@ esac case ${host} in @@ -34,7 +32,7 @@ index 84f0433e2ad..8489145e1b1 100644 case ${target} in aarch64*-*-*) host_extra_gcc_objs="driver-aarch64.o" -@@ -251,6 +252,10 @@ case ${host} in +@@ -251,6 +252,10 @@ host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" host_lto_plugin_soname=liblto_plugin-0.dll ;; @@ -45,9 +43,6 @@ index 84f0433e2ad..8489145e1b1 100644 i[34567]86-*-darwin* | x86_64-*-darwin*) out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..1a2cd4c9dab --- /dev/null +++ b/gcc/config/aarch64/host-aarch64-darwin.c @@ -0,0 +1,32 @@ @@ -83,15 +78,9 @@ index 00000000000..1a2cd4c9dab + exists just to include the generic config/host-darwin.h. */ + +const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c --- /dev/null +++ b/gcc/config/aarch64/x-darwin @@ -0,0 +1,3 @@ +host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c + $(COMPILE) $< + $(POSTCOMPILE) --- -2.28.0 - diff --git a/packages/gcc/10.3.0/0022-Remove-use-of-include_next-from-c-headers.patch b/packages/gcc/10.3.0/0022-Remove-use-of-include_next-from-c-headers.patch new file mode 100644 index 0000000..b32fe55 --- /dev/null +++ b/packages/gcc/10.3.0/0022-Remove-use-of-include_next-from-c-headers.patch @@ -0,0 +1,262 @@ +From 4cea8f51c23ce7112f21ff4091e7d97272b81664 Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Sun, 24 Jan 2021 14:20:33 -0800 +Subject: [PATCH] Remove use of include_next from c++ headers + +Using include_next bypasses the default header search path and lets +files later in the include path take priority over earlier files. + +This makes replacing libc impossible as the default libc headers will +occur after the libstdc++ headers, and so be picked up in place of +headers inserted at the begining of the search path or appended to the +end of the search path. + +Using include_next is a hack to work-around broken combinations of +libraries, and is not necessary in a well constructed toolchain. + +Signed-off-by: Keith Packard +--- + libstdc++-v3/include/bits/std_abs.h | 4 ++-- + libstdc++-v3/include/c/cassert | 2 +- + libstdc++-v3/include/c/cctype | 2 +- + libstdc++-v3/include/c/cerrno | 2 +- + libstdc++-v3/include/c/cfloat | 2 +- + libstdc++-v3/include/c/climits | 2 +- + libstdc++-v3/include/c/clocale | 2 +- + libstdc++-v3/include/c/cmath | 2 +- + libstdc++-v3/include/c/csetjmp | 2 +- + libstdc++-v3/include/c/csignal | 2 +- + libstdc++-v3/include/c/cstdarg | 2 +- + libstdc++-v3/include/c/cstddef | 2 +- + libstdc++-v3/include/c/cstdio | 2 +- + libstdc++-v3/include/c/cstdlib | 2 +- + libstdc++-v3/include/c/cstring | 2 +- + libstdc++-v3/include/c/ctime | 2 +- + libstdc++-v3/include/c/cuchar | 2 +- + libstdc++-v3/include/c/cwchar | 2 +- + libstdc++-v3/include/c/cwctype | 2 +- + libstdc++-v3/include/c_global/cmath | 2 +- + libstdc++-v3/include/c_global/cstdlib | 2 +- + 21 files changed, 22 insertions(+), 22 deletions(-) + +--- a/libstdc++-v3/include/bits/std_abs.h ++++ b/libstdc++-v3/include/bits/std_abs.h +@@ -35,9 +35,9 @@ + #include + + #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS +-#include_next ++#include + #ifdef __CORRECT_ISO_CPP_MATH_H_PROTO +-# include_next ++# include + #endif + #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + +--- a/libstdc++-v3/include/c/cassert ++++ b/libstdc++-v3/include/c/cassert +@@ -31,4 +31,4 @@ + #pragma GCC system_header + + #include +-#include_next ++#include +--- a/libstdc++-v3/include/c/cctype ++++ b/libstdc++-v3/include/c/cctype +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cerrno ++++ b/libstdc++-v3/include/c/cerrno +@@ -41,7 +41,7 @@ + #pragma GCC system_header + + #include +-#include_next ++#include + + // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 + #ifndef errno +--- a/libstdc++-v3/include/c/cfloat ++++ b/libstdc++-v3/include/c/cfloat +@@ -32,6 +32,6 @@ + #pragma GCC system_header + + #include +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/climits ++++ b/libstdc++-v3/include/c/climits +@@ -32,6 +32,6 @@ + #pragma GCC system_header + + #include +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/clocale ++++ b/libstdc++-v3/include/c/clocale +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cmath ++++ b/libstdc++-v3/include/c/cmath +@@ -33,7 +33,7 @@ + + #include + +-#include_next ++#include + + // Get rid of those macros defined in in lieu of real functions. + #undef abs +--- a/libstdc++-v3/include/c/csetjmp ++++ b/libstdc++-v3/include/c/csetjmp +@@ -31,7 +31,7 @@ + + #pragma GCC system_header + +-#include_next ++#include + + // Get rid of those macros defined in in lieu of real functions. + #undef longjmp +--- a/libstdc++-v3/include/c/csignal ++++ b/libstdc++-v3/include/c/csignal +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cstdarg ++++ b/libstdc++-v3/include/c/cstdarg +@@ -32,6 +32,6 @@ + #pragma GCC system_header + + #undef __need___va_list +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cstddef ++++ b/libstdc++-v3/include/c/cstddef +@@ -35,6 +35,6 @@ + #define __need_ptrdiff_t + #define __need_NULL + #define __need_offsetof +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cstdio ++++ b/libstdc++-v3/include/c/cstdio +@@ -31,7 +31,7 @@ + + #pragma GCC system_header + +-#include_next ++#include + + // Get rid of those macros defined in in lieu of real functions. + #undef clearerr +--- a/libstdc++-v3/include/c/cstdlib ++++ b/libstdc++-v3/include/c/cstdlib +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cstring ++++ b/libstdc++-v3/include/c/cstring +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/ctime ++++ b/libstdc++-v3/include/c/ctime +@@ -31,6 +31,6 @@ + + #pragma GCC system_header + +-#include_next ++#include + + #endif +--- a/libstdc++-v3/include/c/cuchar ++++ b/libstdc++-v3/include/c/cuchar +@@ -39,7 +39,7 @@ + #include + + #if _GLIBCXX_USE_C11_UCHAR_CXX11 +-# include_next ++# include + #endif + + #endif // C++11 +--- a/libstdc++-v3/include/c/cwchar ++++ b/libstdc++-v3/include/c/cwchar +@@ -36,7 +36,7 @@ + #include + + #if _GLIBCXX_HAVE_WCHAR_H +-#include_next ++#include + #endif + + // Need to do a bit of trickery here with mbstate_t as char_traits +--- a/libstdc++-v3/include/c/cwctype ++++ b/libstdc++-v3/include/c/cwctype +@@ -34,7 +34,7 @@ + #include + + #if _GLIBCXX_HAVE_WCTYPE_H +-#include_next ++#include + #endif + + #endif +--- a/libstdc++-v3/include/c_global/cmath ++++ b/libstdc++-v3/include/c_global/cmath +@@ -42,7 +42,7 @@ + #include + #include + #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS +-#include_next ++#include + #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + #include + +--- a/libstdc++-v3/include/c_global/cstdlib ++++ b/libstdc++-v3/include/c_global/cstdlib +@@ -72,7 +72,7 @@ + // Need to ensure this finds the C library's not a libstdc++ + // wrapper that might already be installed later in the include search path. + #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS +-#include_next ++#include + #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS + #include + diff --git a/packages/gcc/10.3.0/0023-Remove-use-of-include_next-from-c-headers.patch b/packages/gcc/10.3.0/0023-Remove-use-of-include_next-from-c-headers.patch deleted file mode 100644 index 47584c2..0000000 --- a/packages/gcc/10.3.0/0023-Remove-use-of-include_next-from-c-headers.patch +++ /dev/null @@ -1,307 +0,0 @@ -From 4cea8f51c23ce7112f21ff4091e7d97272b81664 Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Sun, 24 Jan 2021 14:20:33 -0800 -Subject: [PATCH] Remove use of include_next from c++ headers - -Using include_next bypasses the default header search path and lets -files later in the include path take priority over earlier files. - -This makes replacing libc impossible as the default libc headers will -occur after the libstdc++ headers, and so be picked up in place of -headers inserted at the begining of the search path or appended to the -end of the search path. - -Using include_next is a hack to work-around broken combinations of -libraries, and is not necessary in a well constructed toolchain. - -Signed-off-by: Keith Packard ---- - libstdc++-v3/include/bits/std_abs.h | 4 ++-- - libstdc++-v3/include/c/cassert | 2 +- - libstdc++-v3/include/c/cctype | 2 +- - libstdc++-v3/include/c/cerrno | 2 +- - libstdc++-v3/include/c/cfloat | 2 +- - libstdc++-v3/include/c/climits | 2 +- - libstdc++-v3/include/c/clocale | 2 +- - libstdc++-v3/include/c/cmath | 2 +- - libstdc++-v3/include/c/csetjmp | 2 +- - libstdc++-v3/include/c/csignal | 2 +- - libstdc++-v3/include/c/cstdarg | 2 +- - libstdc++-v3/include/c/cstddef | 2 +- - libstdc++-v3/include/c/cstdio | 2 +- - libstdc++-v3/include/c/cstdlib | 2 +- - libstdc++-v3/include/c/cstring | 2 +- - libstdc++-v3/include/c/ctime | 2 +- - libstdc++-v3/include/c/cuchar | 2 +- - libstdc++-v3/include/c/cwchar | 2 +- - libstdc++-v3/include/c/cwctype | 2 +- - libstdc++-v3/include/c_global/cmath | 2 +- - libstdc++-v3/include/c_global/cstdlib | 2 +- - 21 files changed, 22 insertions(+), 22 deletions(-) - -diff --git a/libstdc++-v3/include/bits/std_abs.h b/libstdc++-v3/include/bits/std_abs.h -index ae6bfc1b1ac..249ed53a3ce 100644 ---- a/libstdc++-v3/include/bits/std_abs.h -+++ b/libstdc++-v3/include/bits/std_abs.h -@@ -35,9 +35,9 @@ - #include - - #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS --#include_next -+#include - #ifdef __CORRECT_ISO_CPP_MATH_H_PROTO --# include_next -+# include - #endif - #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - -diff --git a/libstdc++-v3/include/c/cassert b/libstdc++-v3/include/c/cassert -index abd8c0538ef..3e1b97f1626 100644 ---- a/libstdc++-v3/include/c/cassert -+++ b/libstdc++-v3/include/c/cassert -@@ -31,4 +31,4 @@ - #pragma GCC system_header - - #include --#include_next -+#include -diff --git a/libstdc++-v3/include/c/cctype b/libstdc++-v3/include/c/cctype -index d53cb3d43f3..3def33f2077 100644 ---- a/libstdc++-v3/include/c/cctype -+++ b/libstdc++-v3/include/c/cctype -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cerrno b/libstdc++-v3/include/c/cerrno -index a8d3869efb6..3725137c115 100644 ---- a/libstdc++-v3/include/c/cerrno -+++ b/libstdc++-v3/include/c/cerrno -@@ -41,7 +41,7 @@ - #pragma GCC system_header - - #include --#include_next -+#include - - // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 - #ifndef errno -diff --git a/libstdc++-v3/include/c/cfloat b/libstdc++-v3/include/c/cfloat -index 5865d427c20..df821645e4d 100644 ---- a/libstdc++-v3/include/c/cfloat -+++ b/libstdc++-v3/include/c/cfloat -@@ -32,6 +32,6 @@ - #pragma GCC system_header - - #include --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/climits b/libstdc++-v3/include/c/climits -index 849afadeffc..b153fa8c27c 100644 ---- a/libstdc++-v3/include/c/climits -+++ b/libstdc++-v3/include/c/climits -@@ -32,6 +32,6 @@ - #pragma GCC system_header - - #include --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale -index fc84745397d..5ebccdf5006 100644 ---- a/libstdc++-v3/include/c/clocale -+++ b/libstdc++-v3/include/c/clocale -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath -index 2c51f2f13bc..2fcd09e4ef9 100644 ---- a/libstdc++-v3/include/c/cmath -+++ b/libstdc++-v3/include/c/cmath -@@ -33,7 +33,7 @@ - - #include - --#include_next -+#include - - // Get rid of those macros defined in in lieu of real functions. - #undef abs -diff --git a/libstdc++-v3/include/c/csetjmp b/libstdc++-v3/include/c/csetjmp -index db83610d95f..5abafcb160d 100644 ---- a/libstdc++-v3/include/c/csetjmp -+++ b/libstdc++-v3/include/c/csetjmp -@@ -31,7 +31,7 @@ - - #pragma GCC system_header - --#include_next -+#include - - // Get rid of those macros defined in in lieu of real functions. - #undef longjmp -diff --git a/libstdc++-v3/include/c/csignal b/libstdc++-v3/include/c/csignal -index 986c5d3daca..77cb7634a69 100644 ---- a/libstdc++-v3/include/c/csignal -+++ b/libstdc++-v3/include/c/csignal -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cstdarg b/libstdc++-v3/include/c/cstdarg -index 6b6e1850753..0dfc60cc6ba 100644 ---- a/libstdc++-v3/include/c/cstdarg -+++ b/libstdc++-v3/include/c/cstdarg -@@ -32,6 +32,6 @@ - #pragma GCC system_header - - #undef __need___va_list --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cstddef b/libstdc++-v3/include/c/cstddef -index 7fc8ce34efc..fc90dfb3f18 100644 ---- a/libstdc++-v3/include/c/cstddef -+++ b/libstdc++-v3/include/c/cstddef -@@ -35,6 +35,6 @@ - #define __need_ptrdiff_t - #define __need_NULL - #define __need_offsetof --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cstdio b/libstdc++-v3/include/c/cstdio -index e943aa8e725..89bcd2d7391 100644 ---- a/libstdc++-v3/include/c/cstdio -+++ b/libstdc++-v3/include/c/cstdio -@@ -31,7 +31,7 @@ - - #pragma GCC system_header - --#include_next -+#include - - // Get rid of those macros defined in in lieu of real functions. - #undef clearerr -diff --git a/libstdc++-v3/include/c/cstdlib b/libstdc++-v3/include/c/cstdlib -index 86d9587482f..a26013286be 100644 ---- a/libstdc++-v3/include/c/cstdlib -+++ b/libstdc++-v3/include/c/cstdlib -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cstring b/libstdc++-v3/include/c/cstring -index 8b1e89b13b6..ca56c75e753 100644 ---- a/libstdc++-v3/include/c/cstring -+++ b/libstdc++-v3/include/c/cstring -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/ctime b/libstdc++-v3/include/c/ctime -index 367172b21eb..135da2a25c4 100644 ---- a/libstdc++-v3/include/c/ctime -+++ b/libstdc++-v3/include/c/ctime -@@ -31,6 +31,6 @@ - - #pragma GCC system_header - --#include_next -+#include - - #endif -diff --git a/libstdc++-v3/include/c/cuchar b/libstdc++-v3/include/c/cuchar -index e63b55ae12c..c79708fba6a 100644 ---- a/libstdc++-v3/include/c/cuchar -+++ b/libstdc++-v3/include/c/cuchar -@@ -39,7 +39,7 @@ - #include - - #if _GLIBCXX_USE_C11_UCHAR_CXX11 --# include_next -+# include - #endif - - #endif // C++11 -diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar -index 05d4d70c6fc..0fc9a9a394a 100644 ---- a/libstdc++-v3/include/c/cwchar -+++ b/libstdc++-v3/include/c/cwchar -@@ -36,7 +36,7 @@ - #include - - #if _GLIBCXX_HAVE_WCHAR_H --#include_next -+#include - #endif - - // Need to do a bit of trickery here with mbstate_t as char_traits -diff --git a/libstdc++-v3/include/c/cwctype b/libstdc++-v3/include/c/cwctype -index 0626765d6c8..4839b693e46 100644 ---- a/libstdc++-v3/include/c/cwctype -+++ b/libstdc++-v3/include/c/cwctype -@@ -34,7 +34,7 @@ - #include - - #if _GLIBCXX_HAVE_WCTYPE_H --#include_next -+#include - #endif - - #endif -diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath -index 39a6b036b8c..bfb6dcd4c88 100644 ---- a/libstdc++-v3/include/c_global/cmath -+++ b/libstdc++-v3/include/c_global/cmath -@@ -42,7 +42,7 @@ - #include - #include - #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS --#include_next -+#include - #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - #include - -diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib -index 47b954cf2fa..996a87b372c 100644 ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -72,7 +72,7 @@ namespace std - // Need to ensure this finds the C library's not a libstdc++ - // wrapper that might already be installed later in the include search path. - #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS --#include_next -+#include - #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS - #include - --- -2.30.0 - diff --git a/packages/gcc/11.2.0/0005-libstdc-Add-nostdinc-for-c-17-sources-PR100017.patch b/packages/gcc/11.2.0/0005-libstdc-Add-nostdinc-for-c-17-sources-PR100017.patch index 8851e98..4a4daf6 100644 --- a/packages/gcc/11.2.0/0005-libstdc-Add-nostdinc-for-c-17-sources-PR100017.patch +++ b/packages/gcc/11.2.0/0005-libstdc-Add-nostdinc-for-c-17-sources-PR100017.patch @@ -43,15 +43,13 @@ libstdc++-v3/ChangeLog: * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++. * src/c++17/Makefile.in: Regenerate. --- - libstdc++-v3/src/c++17/Makefile.am | 2 +- - libstdc++-v3/src/c++17/Makefile.in | 2 +- + libstdc++-v3/src/c++17/Makefile.am | 2 +- + libstdc++-v3/src/c++17/Makefile.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/libstdc++-v3/src/c++17/Makefile.am b/libstdc++-v3/src/c++17/Makefile.am -index f08553a1dd78..3d53f652fac9 100644 --- a/libstdc++-v3/src/c++17/Makefile.am +++ b/libstdc++-v3/src/c++17/Makefile.am -@@ -79,7 +79,7 @@ endif +@@ -79,7 +79,7 @@ # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden # as the occasion calls for it. AM_CXXFLAGS = \ @@ -60,11 +58,9 @@ index f08553a1dd78..3d53f652fac9 100644 $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ -diff --git a/libstdc++-v3/src/c++17/Makefile.in b/libstdc++-v3/src/c++17/Makefile.in -index 63984ecd52ad..8c02be6514f8 100644 --- a/libstdc++-v3/src/c++17/Makefile.in +++ b/libstdc++-v3/src/c++17/Makefile.in -@@ -455,7 +455,7 @@ libc__17convenience_la_SOURCES = $(sources) $(inst_sources) +@@ -455,7 +455,7 @@ # OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden # as the occasion calls for it. AM_CXXFLAGS = \ @@ -73,6 +69,3 @@ index 63984ecd52ad..8c02be6514f8 100644 $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ --- -2.34.1 - diff --git a/packages/gcc/11.2.0/0009-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch b/packages/gcc/11.2.0/0009-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch index b237d9d..ab73edb 100644 --- a/packages/gcc/11.2.0/0009-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch +++ b/packages/gcc/11.2.0/0009-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch @@ -14,18 +14,16 @@ gcc/ChangeLog: * config/aarch64/host-aarch64-darwin.c: New file. * config/aarch64/x-darwin: New file. --- - gcc/config.host | 7 ++++- - gcc/config/aarch64/host-aarch64-darwin.c | 33 ++++++++++++++++++++++++ - gcc/config/aarch64/x-darwin | 3 +++ + gcc/config.host | 7 +++++- + gcc/config/aarch64/host-aarch64-darwin.c | 33 +++++++++++++++++++++++++++++++ + gcc/config/aarch64/x-darwin | 3 ++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 gcc/config/aarch64/host-aarch64-darwin.c create mode 100644 gcc/config/aarch64/x-darwin -diff --git a/gcc/config.host b/gcc/config.host -index 0a02c33cc80..81ff7ed1043 100644 --- a/gcc/config.host +++ b/gcc/config.host -@@ -99,7 +99,8 @@ case ${host} in +@@ -99,7 +99,8 @@ esac case ${host} in @@ -35,7 +33,7 @@ index 0a02c33cc80..81ff7ed1043 100644 case ${target} in aarch64*-*-*) host_extra_gcc_objs="driver-aarch64.o" -@@ -251,6 +252,10 @@ case ${host} in +@@ -251,6 +252,10 @@ host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" host_lto_plugin_soname=liblto_plugin.dll ;; @@ -46,9 +44,6 @@ index 0a02c33cc80..81ff7ed1043 100644 i[34567]86-*-darwin* | x86_64-*-darwin*) out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o" host_xmake_file="${host_xmake_file} i386/x-darwin" -diff --git a/gcc/config/aarch64/host-aarch64-darwin.c b/gcc/config/aarch64/host-aarch64-darwin.c -new file mode 100644 -index 00000000000..d70f2df3bf1 --- /dev/null +++ b/gcc/config/aarch64/host-aarch64-darwin.c @@ -0,0 +1,33 @@ @@ -85,15 +80,9 @@ index 00000000000..d70f2df3bf1 + exists just to include the generic config/host-darwin.h. */ + +const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER; -diff --git a/gcc/config/aarch64/x-darwin b/gcc/config/aarch64/x-darwin -new file mode 100644 -index 00000000000..6d788d5e89c --- /dev/null +++ b/gcc/config/aarch64/x-darwin @@ -0,0 +1,3 @@ +host-aarch64-darwin.o : $(srcdir)/config/aarch64/host-aarch64-darwin.c + $(COMPILE) $< + $(POSTCOMPILE) --- -2.34.1 - diff --git a/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch b/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch index 398f904..26df26b 100644 --- a/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch +++ b/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch @@ -5,6 +5,12 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57295 Fix c6x mulitibs build for uclinux Reported by: Dan Tejada +--- + gcc/config/c6x/c6x.md | 2 +- + gcc/config/c6x/predicates.md | 13 +++++++++++++ + gcc/config/c6x/t-c6x-uclinux | 4 +++- + 3 files changed, 17 insertions(+), 2 deletions(-) + --- a/gcc/config/c6x/c6x.md +++ b/gcc/config/c6x/c6x.md @@ -775,7 +775,7 @@ @@ -16,7 +22,6 @@ Reported by: Dan Tejada { emit_insn (gen_movmisalign_store (operands[0], operands[1])); DONE; - --- a/gcc/config/c6x/predicates.md +++ b/gcc/config/c6x/predicates.md @@ -224,3 +224,16 @@ @@ -36,7 +41,6 @@ Reported by: Dan Tejada + (if_then_else (match_test "reload_in_progress") + (match_test "strict_memory_address_p (mode, XEXP (op, 0))") + (match_test "memory_address_p (mode, XEXP (op, 0))"))))) - --- a/gcc/config/c6x/t-c6x-uclinux +++ b/gcc/config/c6x/t-c6x-uclinux @@ -1,3 +1,5 @@ diff --git a/packages/gcc/4.9.4/0034-c++17-build-failure.patch b/packages/gcc/4.9.4/0034-c++17-build-failure.patch index cc56aca..f545c85 100644 --- a/packages/gcc/4.9.4/0034-c++17-build-failure.patch +++ b/packages/gcc/4.9.4/0034-c++17-build-failure.patch @@ -4,8 +4,12 @@ Fixes Fixed upstream in GCC6+ in d57c99458933. ---- gcc-4.9.4/gcc/reload.h 2022-01-01 15:51:43.293254281 -0800 -+++ gcc-4.9.4/gcc/reload.h 2022-01-01 15:51:58.437424873 -0800 +--- + gcc/reload.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/gcc/reload.h ++++ b/gcc/reload.h @@ -166,7 +166,7 @@ value indicates the level of indirect addressing supported, e.g., two means that (MEM (MEM (REG n))) is also valid if (REG n) does not get diff --git a/packages/gcc/8.5.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/8.5.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch index 20a88df..11cb9e0 100644 --- a/packages/gcc/8.5.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ b/packages/gcc/8.5.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -53,7 +53,7 @@ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then --- a/gcc/configure +++ b/gcc/configure -@@ -29805,6 +29805,9 @@ +@@ -29872,6 +29872,9 @@ pluginlibs= plugin_check=yes @@ -63,7 +63,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -29827,6 +29830,11 @@ +@@ -29894,6 +29897,11 @@ export_sym_check= fi ;; @@ -75,7 +75,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -29939,23 +29947,23 @@ +@@ -30006,23 +30014,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` diff --git a/packages/gcc/8.5.0/0005-fix-m68k-uclinux.patch b/packages/gcc/8.5.0/0005-fix-m68k-uclinux.patch index 02b53bd..4dd3260 100644 --- a/packages/gcc/8.5.0/0005-fix-m68k-uclinux.patch +++ b/packages/gcc/8.5.0/0005-fix-m68k-uclinux.patch @@ -10,7 +10,7 @@ Signed-off-by: Waldemar Brodkorb --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -847,7 +847,7 @@ +@@ -857,7 +857,7 @@ m68k*-*-openbsd*) ;; m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc diff --git a/packages/gcc/8.5.0/0010-crystax.patch b/packages/gcc/8.5.0/0010-crystax.patch index 0e3e95c..ab6c01e 100644 --- a/packages/gcc/8.5.0/0010-crystax.patch +++ b/packages/gcc/8.5.0/0010-crystax.patch @@ -57,7 +57,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 esac aarch64_multilibs="${with_multilib_list}" if test "$aarch64_multilibs" = "default"; then -@@ -2133,6 +2137,17 @@ +@@ -2142,6 +2146,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 @@ -172,7 +172,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 : min >= -256 && max < 256 \ --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md -@@ -8640,7 +8640,7 @@ +@@ -8698,7 +8698,7 @@ (match_operand:SI 2 "const_int_operand" "") ; total range (match_operand:SI 3 "" "") ; table label (match_operand:SI 4 "" "")] ; Out of range label @@ -450,7 +450,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -78491,6 +78491,18 @@ +@@ -78672,6 +78672,18 @@ /* end confdefs.h. */ #include int lk; diff --git a/packages/gcc/8.5.0/0012-crystax.patch b/packages/gcc/8.5.0/0012-crystax.patch index 2bf6cc7..332e59f 100644 --- a/packages/gcc/8.5.0/0012-crystax.patch +++ b/packages/gcc/8.5.0/0012-crystax.patch @@ -26,7 +26,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/config.in +++ b/gcc/config.in -@@ -2219,6 +2219,12 @@ +@@ -2233,6 +2233,12 @@ #endif @@ -127,7 +127,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/configure +++ b/gcc/configure -@@ -943,6 +943,7 @@ +@@ -944,6 +944,7 @@ enable_fix_cortex_a53_843419 with_glibc_version enable_gnu_unique_object @@ -135,7 +135,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 enable_linker_build_id enable_libssp enable_default_ssp -@@ -1684,6 +1685,9 @@ +@@ -1685,6 +1686,9 @@ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on glibc systems @@ -145,7 +145,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --enable-linker-build-id compiler will always pass --build-id to linker --enable-libssp enable linking against libssp -@@ -28319,6 +28323,38 @@ +@@ -28383,6 +28387,38 @@ $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h @@ -186,7 +186,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -5140,6 +5140,35 @@ +@@ -5147,6 +5147,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.]) diff --git a/packages/gcc/8.5.0/0013-crystax.patch b/packages/gcc/8.5.0/0013-crystax.patch index 3454df0..c695798 100644 --- a/packages/gcc/8.5.0/0013-crystax.patch +++ b/packages/gcc/8.5.0/0013-crystax.patch @@ -12,7 +12,7 @@ Date: Thu Aug 20 19:11:07 2015 +0300 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c -@@ -15971,6 +15971,7 @@ +@@ -15895,6 +15895,7 @@ else if (!SYMBOL_REF_FAR_ADDR_P (op0) && (SYMBOL_REF_LOCAL_P (op0) || (HAVE_LD_PIE_COPYRELOC diff --git a/packages/gcc/8.5.0/0015-crystax.patch b/packages/gcc/8.5.0/0015-crystax.patch index 2424d2b..d62a57b 100644 --- a/packages/gcc/8.5.0/0015-crystax.patch +++ b/packages/gcc/8.5.0/0015-crystax.patch @@ -15,7 +15,7 @@ Date: Mon Apr 14 21:05:51 2014 -0700 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c -@@ -22619,9 +22619,13 @@ +@@ -22671,9 +22671,13 @@ memsize = MEM_SIZE (x); /* Only certain alignment specifiers are supported by the hardware. */ diff --git a/packages/gcc/8.5.0/0022-ARC-Update-fma-expansions.patch b/packages/gcc/8.5.0/0022-ARC-Update-fma-expansions.patch index c2680d5..380618f 100644 --- a/packages/gcc/8.5.0/0022-ARC-Update-fma-expansions.patch +++ b/packages/gcc/8.5.0/0022-ARC-Update-fma-expansions.patch @@ -18,13 +18,11 @@ gcc/testsuite git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261543 138bc75d-0d04-0410-961f-82ee72b054a4 --- - gcc/config/arc/fpu.md | 6 ++++++ - gcc/testsuite/gcc.target/arc/fma-1.c | 13 +++++++++++++ + gcc/config/arc/fpu.md | 6 ++++++ + gcc/testsuite/gcc.target/arc/fma-1.c | 13 +++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 gcc/testsuite/gcc.target/arc/fma-1.c -diff --git a/gcc/config/arc/fpu.md b/gcc/config/arc/fpu.md -index 5c56f76c679..66a4d91616f 100644 --- a/gcc/config/arc/fpu.md +++ b/gcc/config/arc/fpu.md @@ -64,6 +64,9 @@ @@ -47,9 +45,6 @@ index 5c56f76c679..66a4d91616f 100644 }") (define_insn "fmasf4_fpu" -diff --git a/gcc/testsuite/gcc.target/arc/fma-1.c b/gcc/testsuite/gcc.target/arc/fma-1.c -new file mode 100644 -index 00000000000..c195ad98127 --- /dev/null +++ b/gcc/testsuite/gcc.target/arc/fma-1.c @@ -0,0 +1,13 @@ @@ -66,6 +61,3 @@ index 00000000000..c195ad98127 + return (float)3.0 * b + a; +} +/* { dg-final { scan-assembler "fsmadd" } } */ --- -2.16.2 - diff --git a/packages/gcc/9.4.0/0000-libtool-leave-framework-alone.patch b/packages/gcc/9.4.0/0000-libtool-leave-framework-alone.patch index b5804ea..1a86e41 100644 --- a/packages/gcc/9.4.0/0000-libtool-leave-framework-alone.patch +++ b/packages/gcc/9.4.0/0000-libtool-leave-framework-alone.patch @@ -4,7 +4,7 @@ --- a/libtool-ldflags +++ b/libtool-ldflags -@@ -36,6 +36,11 @@ prev_arg= +@@ -36,6 +36,11 @@ for arg do case $arg in diff --git a/packages/gcc/9.4.0/0001-uclibc-conf.patch b/packages/gcc/9.4.0/0001-uclibc-conf.patch index a9ae872..aef750a 100644 --- a/packages/gcc/9.4.0/0001-uclibc-conf.patch +++ b/packages/gcc/9.4.0/0001-uclibc-conf.patch @@ -4,7 +4,7 @@ --- a/contrib/regression/objs-gcc.sh +++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H +@@ -106,6 +106,10 @@ then make all-gdb all-dejagnu all-ld || exit 1 make install-gdb install-dejagnu install-ld || exit 1 diff --git a/packages/gcc/9.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/9.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch index 18fe931..0f2c7c1 100644 --- a/packages/gcc/9.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ b/packages/gcc/9.4.0/0002-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch @@ -6,7 +6,7 @@ --- a/config/gcc-plugin.m4 +++ b/config/gcc-plugin.m4 -@@ -21,6 +21,9 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -21,6 +21,9 @@ pluginlibs= plugin_check=yes @@ -16,7 +16,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -43,6 +46,11 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -43,6 +46,11 @@ export_sym_check= fi ;; @@ -28,7 +28,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -94,17 +102,17 @@ AC_DEFUN([GCC_ENABLE_PLUGINS], +@@ -94,17 +102,17 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` @@ -53,7 +53,7 @@ if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then --- a/gcc/configure +++ b/gcc/configure -@@ -29862,6 +29862,9 @@ fi +@@ -29898,6 +29898,9 @@ pluginlibs= plugin_check=yes @@ -63,7 +63,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -29884,6 +29887,11 @@ fi +@@ -29920,6 +29923,11 @@ export_sym_check= fi ;; @@ -75,7 +75,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -29996,23 +30004,23 @@ fi +@@ -30032,23 +30040,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` @@ -108,7 +108,7 @@ } --- a/libcc1/configure +++ b/libcc1/configure -@@ -14785,6 +14785,9 @@ fi +@@ -14802,6 +14802,9 @@ pluginlibs= plugin_check=yes @@ -118,7 +118,7 @@ case "${host}" in *-*-mingw*) # Since plugin support under MinGW is not as straightforward as on -@@ -14807,6 +14810,11 @@ fi +@@ -14824,6 +14827,11 @@ export_sym_check= fi ;; @@ -130,7 +130,7 @@ *) if test x$build = x$host; then export_sym_check="objdump${exeext} -T" -@@ -14919,23 +14927,23 @@ fi +@@ -14936,23 +14944,23 @@ case "${host}" in *-*-darwin*) CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` diff --git a/packages/gcc/9.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/9.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch index 3040e23..5f9a07a 100644 --- a/packages/gcc/9.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch +++ b/packages/gcc/9.4.0/0003-gcc-plugin-POSIX-include-sys-select-h.patch @@ -4,7 +4,7 @@ --- a/libcc1/connection.cc +++ b/libcc1/connection.cc -@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. +@@ -21,6 +21,7 @@ #include #include #include diff --git a/packages/gcc/9.4.0/0005-fix-m68k-uclinux.patch b/packages/gcc/9.4.0/0005-fix-m68k-uclinux.patch index 62bea0e..67d22db 100644 --- a/packages/gcc/9.4.0/0005-fix-m68k-uclinux.patch +++ b/packages/gcc/9.4.0/0005-fix-m68k-uclinux.patch @@ -10,7 +10,7 @@ Signed-off-by: Waldemar Brodkorb --- a/libgcc/config.host +++ b/libgcc/config.host -@@ -875,7 +875,7 @@ m68k*-*-netbsdelf*) +@@ -885,7 +885,7 @@ m68k*-*-openbsd*) ;; m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc diff --git a/packages/gcc/9.4.0/0006-libgfortran-missing-include.patch b/packages/gcc/9.4.0/0006-libgfortran-missing-include.patch index f93524b..d4917ee 100644 --- a/packages/gcc/9.4.0/0006-libgfortran-missing-include.patch +++ b/packages/gcc/9.4.0/0006-libgfortran-missing-include.patch @@ -4,11 +4,11 @@ --- a/libgfortran/io/close.c +++ b/libgfortran/io/close.c -@@ -29,6 +29,7 @@ see the files COPYING3 and COPYING.RUNTI +@@ -29,6 +29,7 @@ #if !HAVE_UNLINK_OPEN_FILE #include #endif +#include typedef enum - { CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } + { CLOSE_INVALID = - 1, CLOSE_DELETE, CLOSE_KEEP, CLOSE_UNSPECIFIED } diff --git a/packages/gcc/9.4.0/0009-bionic-ndk.patch b/packages/gcc/9.4.0/0009-bionic-ndk.patch index 090172d..474dd8c 100644 --- a/packages/gcc/9.4.0/0009-bionic-ndk.patch +++ b/packages/gcc/9.4.0/0009-bionic-ndk.patch @@ -29,7 +29,7 @@ Date: Tue Apr 25 19:02:18 2017 -0700 namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -41,17 +53,17 @@ _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; diff --git a/packages/gcc/9.4.0/0010-crystax.patch b/packages/gcc/9.4.0/0010-crystax.patch index 8ac327a..2b67aed 100644 --- a/packages/gcc/9.4.0/0010-crystax.patch +++ b/packages/gcc/9.4.0/0010-crystax.patch @@ -37,7 +37,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -1022,14 +1022,18 @@ aarch64*-*-freebsd*) +@@ -1023,14 +1023,18 @@ tm_defines="${tm_defines} TARGET_DEFAULT_ASYNC_UNWIND_TABLES=1" ;; aarch64*-*-linux*) @@ -57,7 +57,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 esac aarch64_multilibs="${with_multilib_list}" if test "$aarch64_multilibs" = "default"; then -@@ -2272,6 +2276,17 @@ mips*-*-linux*) # Linux MIPS, either +@@ -2273,6 +2277,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 @@ -157,7 +157,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #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 -@@ -1856,12 +1856,13 @@ enum arm_auto_incmodes +@@ -1856,12 +1856,13 @@ #define CASE_VECTOR_PC_RELATIVE ((TARGET_THUMB2 \ || (TARGET_THUMB1 \ @@ -174,7 +174,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 : min >= -256 && max < 256 \ --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md -@@ -8920,7 +8920,7 @@ +@@ -8987,7 +8987,7 @@ (match_operand:SI 2 "const_int_operand" "") ; total range (match_operand:SI 3 "" "") ; table label (match_operand:SI 4 "" "")] ; Out of range label @@ -185,7 +185,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 enum insn_code code; --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt -@@ -202,6 +202,10 @@ mthumb-interwork +@@ -202,6 +202,10 @@ Target Report Mask(INTERWORK) Support calls between Thumb and ARM instruction sets. @@ -250,7 +250,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 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 @@ along with GCC; see the file COPYING3. +@@ -65,9 +65,14 @@ When the -shared link option is used a final link is not being done. */ @@ -268,7 +268,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #define SUBTARGET_EXTRA_SPECS \ --- a/gcc/config/i386/gnu-user64.h +++ b/gcc/config/i386/gnu-user64.h -@@ -46,6 +46,11 @@ see the files COPYING3 and COPYING.RUNTI +@@ -46,6 +46,11 @@ #define SPEC_X32 "mx32" #endif @@ -282,7 +282,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 %{" SPEC_64 ":--64} \ --- a/gcc/config/i386/linux-common.h +++ b/gcc/config/i386/linux-common.h -@@ -36,7 +36,13 @@ along with GCC; see the file COPYING3. +@@ -36,7 +36,13 @@ #undef CC1_SPEC #define CC1_SPEC \ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ @@ -377,7 +377,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 + LINUX_DRIVER_SELF_SPECS --- a/gcc/config/mips/gnu-user.h +++ b/gcc/config/mips/gnu-user.h -@@ -36,6 +36,7 @@ along with GCC; see the file COPYING3. +@@ -36,6 +36,7 @@ /* The GNU C++ standard library requires this. */ \ if (c_dialect_cxx ()) \ builtin_define ("_GNU_SOURCE"); \ @@ -385,7 +385,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 } while (0) #undef SUBTARGET_CPP_SPEC -@@ -71,7 +72,8 @@ along with GCC; see the file COPYING3. +@@ -71,7 +72,8 @@ #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC \ @@ -395,7 +395,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 /* The MIPS assembler has different syntax for .set. We set it to .dummy to trap any errors. */ -@@ -120,7 +122,7 @@ extern const char *host_detect_local_cpu +@@ -120,7 +122,7 @@ #endif #define LINUX_DRIVER_SELF_SPECS \ @@ -406,7 +406,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 specs handling by removing a redundant option. */ \ --- a/gcc/config/mips/linux-common.h +++ b/gcc/config/mips/linux-common.h -@@ -38,7 +38,7 @@ along with GCC; see the file COPYING3. +@@ -38,7 +38,7 @@ #undef SUBTARGET_CC1_SPEC #define SUBTARGET_CC1_SPEC \ LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ @@ -430,7 +430,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 +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 @@ see the files COPYING3 and COPYING.RUNTI +@@ -32,6 +32,19 @@ #define __GTHREADS 1 #define __GTHREADS_CXX0X 1 @@ -452,7 +452,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 #if ((defined(_LIBOBJC) || defined(_LIBOBJC_WEAK)) \ --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -78982,6 +78982,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ +@@ -78984,6 +78984,18 @@ /* end confdefs.h. */ #include int lk; @@ -494,7 +494,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -1104,7 +1118,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1104,7 +1118,7 @@ * @return @a __hi. */ virtual const char* @@ -503,7 +503,7 @@ Date: Wed Jul 29 11:28:29 2015 +0300 { if (__builtin_expect(__hi != __lo, true)) __builtin_memcpy(__to, __lo, __hi - __lo); -@@ -1167,7 +1181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -1167,7 +1181,7 @@ private: void _M_narrow_init() const; diff --git a/packages/gcc/9.4.0/0012-crystax.patch b/packages/gcc/9.4.0/0012-crystax.patch index 1363d29..ec0faf6 100644 --- a/packages/gcc/9.4.0/0012-crystax.patch +++ b/packages/gcc/9.4.0/0012-crystax.patch @@ -16,17 +16,16 @@ Date: Mon Apr 14 15:59:47 2014 -0700 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(-) + 10 files changed, 123 insertions(+), 4 deletions(-) --- a/gcc/config.in +++ b/gcc/config.in -@@ -2197,6 +2197,12 @@ +@@ -2204,6 +2204,12 @@ #endif @@ -41,7 +40,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #ifndef USED_FOR_TARGET --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h -@@ -142,5 +142,9 @@ extern int alpha_this_gpdisp_sequence_nu +@@ -142,5 +142,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) @@ -53,7 +52,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 +#endif --- a/gcc/config/freebsd.h +++ b/gcc/config/freebsd.h -@@ -45,8 +45,12 @@ along with GCC; see the file COPYING3. +@@ -45,8 +45,12 @@ #define LIB_SPEC FBSD_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -68,7 +67,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ --- a/gcc/config/gnu-user.h +++ b/gcc/config/gnu-user.h -@@ -106,8 +106,12 @@ see the files COPYING3 and COPYING.RUNTI +@@ -106,8 +106,12 @@ #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -83,7 +82,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 "%{static|static-pie:--start-group} %G %{!nolibc:%L} \ --- a/gcc/config/openbsd.h +++ b/gcc/config/openbsd.h -@@ -136,8 +136,12 @@ while (0) +@@ -136,8 +136,12 @@ #define LIB_SPEC OBSD_LIB_SPEC #if defined(HAVE_LD_EH_FRAME_HDR) @@ -98,7 +97,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 #define LIB_SPEC OBSD_LIB_SPEC --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h -@@ -434,7 +434,11 @@ along with GCC; see the file COPYING3. +@@ -434,7 +434,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) @@ -112,7 +111,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --- a/gcc/configure +++ b/gcc/configure -@@ -986,6 +986,7 @@ enable_fix_cortex_a53_835769 +@@ -986,6 +986,7 @@ enable_fix_cortex_a53_843419 with_glibc_version enable_gnu_unique_object @@ -120,7 +119,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 enable_linker_build_id enable_libssp enable_default_ssp -@@ -1737,6 +1738,9 @@ Optional Features: +@@ -1737,6 +1738,9 @@ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on glibc systems @@ -130,7 +129,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 --enable-linker-build-id compiler will always pass --build-id to linker --enable-libssp enable linking against libssp -@@ -28349,6 +28353,38 @@ if test x"$gcc_cv_ld_eh_frame_hdr" = xye +@@ -28382,6 +28386,38 @@ $as_echo "#define HAVE_LD_EH_FRAME_HDR 1" >>confdefs.h @@ -171,7 +170,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 $as_echo "$gcc_cv_ld_eh_frame_hdr" >&6; } --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -5171,6 +5171,35 @@ GCC_TARGET_TEMPLATE([HAVE_LD_EH_FRAME_HD +@@ -5176,6 +5176,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.]) @@ -237,7 +236,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 +} --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c -@@ -88,7 +88,8 @@ call_ ## FUNC (void) \ +@@ -88,7 +88,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ @@ -247,7 +246,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && defined(BSD_DL_ITERATE_PHDR_AVAILABLE) #include # define USE_PT_GNU_EH_FRAME -@@ -97,7 +98,8 @@ call_ ## FUNC (void) \ +@@ -97,7 +98,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR) \ @@ -257,7 +256,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && defined(__sun__) && defined(__svr4__) #include # define USE_PT_GNU_EH_FRAME -@@ -106,7 +108,8 @@ call_ ## FUNC (void) \ +@@ -106,7 +108,8 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ @@ -267,7 +266,7 @@ Date: Mon Apr 14 15:59:47 2014 -0700 && 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 @@ call_ ## FUNC (void) \ +@@ -121,7 +124,7 @@ #if defined(OBJECT_FORMAT_ELF) \ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ diff --git a/packages/gcc/9.4.0/0013-crystax.patch b/packages/gcc/9.4.0/0013-crystax.patch index e7fdd6e..a4bac50 100644 --- a/packages/gcc/9.4.0/0013-crystax.patch +++ b/packages/gcc/9.4.0/0013-crystax.patch @@ -12,7 +12,7 @@ Date: Thu Aug 20 19:11:07 2015 +0300 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c -@@ -15635,6 +15635,7 @@ legitimate_pic_address_disp_p (rtx disp) +@@ -15674,6 +15674,7 @@ else if (!SYMBOL_REF_FAR_ADDR_P (op0) && (SYMBOL_REF_LOCAL_P (op0) || (HAVE_LD_PIE_COPYRELOC diff --git a/packages/gcc/9.4.0/0014-crystax.patch b/packages/gcc/9.4.0/0014-crystax.patch index 5acc6b9..8f2eb43 100644 --- a/packages/gcc/9.4.0/0014-crystax.patch +++ b/packages/gcc/9.4.0/0014-crystax.patch @@ -12,7 +12,7 @@ Date: Fri Aug 21 17:41:59 2015 +0300 --- a/libgcc/gthr.h +++ b/libgcc/gthr.h -@@ -145,7 +145,11 @@ see the files COPYING3 and COPYING.RUNTI +@@ -145,7 +145,11 @@ #define GTHREAD_USE_WEAK 1 #endif #endif diff --git a/packages/gcc/9.4.0/0015-crystax.patch b/packages/gcc/9.4.0/0015-crystax.patch index a0bad24..63d0efb 100644 --- a/packages/gcc/9.4.0/0015-crystax.patch +++ b/packages/gcc/9.4.0/0015-crystax.patch @@ -15,7 +15,7 @@ Date: Mon Apr 14 21:05:51 2014 -0700 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c -@@ -22862,9 +22862,13 @@ arm_print_operand (FILE *stream, rtx x, +@@ -22868,9 +22868,13 @@ memsize = MEM_SIZE (x); /* Only certain alignment specifiers are supported by the hardware. */ diff --git a/packages/gcc/9.4.0/0017-crystax.patch b/packages/gcc/9.4.0/0017-crystax.patch index 1a46aed..28284ff 100644 --- a/packages/gcc/9.4.0/0017-crystax.patch +++ b/packages/gcc/9.4.0/0017-crystax.patch @@ -24,7 +24,7 @@ Date: Tue Aug 25 09:36:42 2015 +0300 #endif /* GCC_AARCH64_LINUX_ANDROID_H */ --- a/gcc/config/mips/linux-common.h +++ b/gcc/config/mips/linux-common.h -@@ -65,3 +65,7 @@ along with GCC; see the file COPYING3. +@@ -65,3 +65,7 @@ /* The default value isn't sufficient in 64-bit mode. */ #define STACK_CHECK_PROTECT (TARGET_64BIT ? 16 * 1024 : 12 * 1024) diff --git a/packages/gcc/9.4.0/0018-isl-0.20.patch b/packages/gcc/9.4.0/0018-isl-0.20.patch index de188b1..3e14966 100644 --- a/packages/gcc/9.4.0/0018-isl-0.20.patch +++ b/packages/gcc/9.4.0/0018-isl-0.20.patch @@ -15,7 +15,7 @@ Date: Mon Sep 24 22:50:11 2018 -0700 --- a/gcc/graphite.h +++ b/gcc/graphite.h -@@ -26,6 +26,8 @@ along with GCC; see the file COPYING3. +@@ -26,6 +26,8 @@ #include #include #include diff --git a/packages/gdb/11.2/0002-allow-android.patch b/packages/gdb/11.2/0002-allow-android.patch index d6c5869..3365d87 100644 --- a/packages/gdb/11.2/0002-allow-android.patch +++ b/packages/gdb/11.2/0002-allow-android.patch @@ -5,7 +5,7 @@ --- a/gdbserver/configure +++ b/gdbserver/configure -@@ -10028,17 +10028,6 @@ +@@ -10052,17 +10052,6 @@ case "${target}" in diff --git a/packages/gdb/7.12.1/0006-duplicate-typedef.patch b/packages/gdb/7.12.1/0006-duplicate-typedef.patch index cbbc3e2..4d51a48 100644 --- a/packages/gdb/7.12.1/0006-duplicate-typedef.patch +++ b/packages/gdb/7.12.1/0006-duplicate-typedef.patch @@ -1,6 +1,9 @@ -diff -urpN gdb-7.12.1.orig/gdb/event-loop.h gdb-7.12.1/gdb/event-loop.h ---- gdb-7.12.1.orig/gdb/event-loop.h 2017-01-21 05:46:46.000000000 -0800 -+++ gdb-7.12.1/gdb/event-loop.h 2019-03-14 11:55:56.280325742 -0700 +--- + gdb/event-loop.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/gdb/event-loop.h ++++ b/gdb/event-loop.h @@ -66,6 +66,8 @@ infinite loop. @@ -10,7 +13,7 @@ diff -urpN gdb-7.12.1.orig/gdb/event-loop.h gdb-7.12.1/gdb/event-loop.h typedef void *gdb_client_data; struct async_signal_handler; -@@ -127,3 +129,5 @@ extern void mark_async_event_handler (st +@@ -127,3 +129,5 @@ extern void clear_async_event_handler (struct async_event_handler *handler); extern void initialize_async_signal_handlers (void); diff --git a/packages/gdb/8.2.1/0005-musl-aarch64-sigcontext.patch b/packages/gdb/8.2.1/0005-musl-aarch64-sigcontext.patch index 9456dbb..a45a8c1 100644 --- a/packages/gdb/8.2.1/0005-musl-aarch64-sigcontext.patch +++ b/packages/gdb/8.2.1/0005-musl-aarch64-sigcontext.patch @@ -1,15 +1,13 @@ --- - gdb/nat/aarch64-sve-linux-ptrace.h | 2 +- + gdb/nat/aarch64-sve-linux-ptrace.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h -index 029e753ffe..172ae39432 100644 --- a/gdb/nat/aarch64-sve-linux-ptrace.h +++ b/gdb/nat/aarch64-sve-linux-ptrace.h @@ -20,7 +20,7 @@ #ifndef AARCH64_SVE_LINUX_PTRACE_H #define AARCH64_SVE_LINUX_PTRACE_H - + -#include +#include #include diff --git a/packages/glibc/2.17/0018-fix-GCC-10-detection.patch b/packages/glibc/2.17/0018-fix-GCC-10-detection.patch index b522ae7..6ee9444 100644 --- a/packages/glibc/2.17/0018-fix-GCC-10-detection.patch +++ b/packages/glibc/2.17/0018-fix-GCC-10-detection.patch @@ -4,14 +4,12 @@ Date: Fri, 5 Jun 2020 09:11:40 +0200 Subject: [PATCH] Fix GCC 10+ detection --- - configure | 2 +- + configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/configure b/configure -index 8799b7de78..0f99f04bfc 100755 --- a/configure +++ b/configure -@@ -4909,7 +4909,7 @@ $as_echo_n "checking version of $CC... " >&6; } +@@ -4909,7 +4909,7 @@ ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -20,6 +18,3 @@ index 8799b7de78..0f99f04bfc 100755 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; --- -2.25.1 - diff --git a/packages/glibc/2.17/0019-glibc-rh731833-misc-5.patch b/packages/glibc/2.17/0019-glibc-rh731833-misc-5.patch index ad46fe5..8074621 100644 --- a/packages/glibc/2.17/0019-glibc-rh731833-misc-5.patch +++ b/packages/glibc/2.17/0019-glibc-rh731833-misc-5.patch @@ -7,14 +7,12 @@ This patch reserves four pointer to be used in future Event-Based Branch framework for PowerPC. (cherry picked from commit e55a9b256d53c7fc5145e3e4d338d3741b23e232) --- - nptl/sysdeps/powerpc/tls.h | 5 +++++ - 2 files changed, 10 insertions(+) + nptl/sysdeps/powerpc/tls.h | 5 +++++ + 1 file changed, 5 insertions(+) -diff --git glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h -index 4c09eec..611c773 100644 ---- glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h -+++ glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h -@@ -61,6 +61,11 @@ typedef union dtv +--- a/nptl/sysdeps/powerpc/tls.h ++++ b/nptl/sysdeps/powerpc/tls.h +@@ -61,6 +61,11 @@ are private. */ typedef struct { @@ -26,6 +24,3 @@ index 4c09eec..611c773 100644 uintptr_t pointer_guard; uintptr_t stack_guard; dtv_t *dtv; --- -1.7.11.7 - diff --git a/packages/glibc/2.17/0020-glibc-rh731833-libm-3.patch b/packages/glibc/2.17/0020-glibc-rh731833-libm-3.patch index 89fe7a2..15e6010 100644 --- a/packages/glibc/2.17/0020-glibc-rh731833-libm-3.patch +++ b/packages/glibc/2.17/0020-glibc-rh731833-libm-3.patch @@ -7,18 +7,16 @@ This patch removes redudant definition from PowerPC specific math_ldbl, using the definitions from ieee754 math_ldbl.h. (backported from commit edf66e57fc2bac083ecc9756a5fe47f9041ed3bb) --- - sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 10 +- - sysdeps/powerpc/Implies | 1 + - sysdeps/powerpc/fpu/math_ldbl.h | 171 ++------------------------------ - sysdeps/unix/sysv/linux/powerpc/Implies | 4 - - 5 files changed, 34 insertions(+), 168 deletions(-) + sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 10 + + sysdeps/powerpc/Implies | 1 + sysdeps/powerpc/fpu/math_ldbl.h | 171 +------------------------------- + sysdeps/unix/sysv/linux/powerpc/Implies | 4 + 4 files changed, 18 insertions(+), 168 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/powerpc/Implies -diff --git glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h -index be9ac71..1cce1fc 100644 ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h -@@ -125,7 +125,7 @@ ldbl_insert_mantissa (int sign, int exp, int64_t hi64, u_int64_t lo64) +--- a/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ++++ b/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h +@@ -125,7 +125,7 @@ /* Handy utility functions to pack/unpack/cononicalize and find the nearbyint of long double implemented as double double. */ static inline long double @@ -27,7 +25,7 @@ index be9ac71..1cce1fc 100644 { union ibm_extended_long_double u; u.dd[0] = a; -@@ -134,7 +134,7 @@ ldbl_pack (double a, double aa) +@@ -134,7 +134,7 @@ } static inline void @@ -36,7 +34,7 @@ index be9ac71..1cce1fc 100644 { union ibm_extended_long_double u; u.d = l; -@@ -142,6 +142,12 @@ ldbl_unpack (long double l, double *a, double *aa) +@@ -142,6 +142,12 @@ *aa = u.dd[1]; } @@ -49,20 +47,16 @@ index be9ac71..1cce1fc 100644 /* Convert a finite long double to canonical form. Does not handle +/-Inf properly. */ -diff --git glibc-2.17-c758a686/sysdeps/powerpc/Implies glibc-2.17-c758a686/sysdeps/powerpc/Implies -index 7ccf9a7..78dba95 100644 ---- glibc-2.17-c758a686/sysdeps/powerpc/Implies -+++ glibc-2.17-c758a686/sysdeps/powerpc/Implies +--- a/sysdeps/powerpc/Implies ++++ b/sysdeps/powerpc/Implies @@ -1,4 +1,5 @@ # On PowerPC we use the IBM extended long double format. ieee754/ldbl-128ibm +ieee754/ldbl-opt ieee754/dbl-64 ieee754/flt-32 -diff --git glibc-2.17-c758a686/sysdeps/powerpc/fpu/math_ldbl.h glibc-2.17-c758a686/sysdeps/powerpc/fpu/math_ldbl.h -index 6cd6d0b..36378c0 100644 ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/math_ldbl.h -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/math_ldbl.h +--- a/sysdeps/powerpc/fpu/math_ldbl.h ++++ b/sysdeps/powerpc/fpu/math_ldbl.h @@ -2,132 +2,12 @@ #error "Never use directly; include instead." #endif @@ -201,7 +195,7 @@ index 6cd6d0b..36378c0 100644 { register long double x __asm__ ("fr1"); register double xh __asm__ ("fr1"); -@@ -139,7 +19,7 @@ ldbl_pack (double a, double aa) +@@ -139,7 +19,7 @@ } static inline void @@ -210,7 +204,7 @@ index 6cd6d0b..36378c0 100644 { register long double x __asm__ ("fr1"); register double xh __asm__ ("fr1"); -@@ -150,40 +30,7 @@ ldbl_unpack (long double l, double *a, double *aa) +@@ -150,40 +30,7 @@ *aa = xl; } @@ -254,16 +248,10 @@ index 6cd6d0b..36378c0 100644 - return a; -} +#include -diff --git glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Implies glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Implies -deleted file mode 100644 -index ff27cdb..0000000 ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Implies +--- a/sysdeps/unix/sysv/linux/powerpc/Implies +++ /dev/null @@ -1,4 +0,0 @@ -# Make sure these routines come before ldbl-opt. -ieee754/ldbl-128ibm -# These supply the ABI compatibility for when long double was double. -ieee754/ldbl-opt --- -1.7.11.7 - diff --git a/packages/glibc/2.17/0021-glibc-rh731833-libm-4.patch b/packages/glibc/2.17/0021-glibc-rh731833-libm-4.patch index a513494..ee6056b 100644 --- a/packages/glibc/2.17/0021-glibc-rh731833-libm-4.patch +++ b/packages/glibc/2.17/0021-glibc-rh731833-libm-4.patch @@ -15,9 +15,13 @@ Subject: [PATCH 21/42] PowerPC: fix libm ABI issue for llroundl (cherry picked from commit fce14d4e9c6e08ad8c825fe88d8cbdac5c739565) -diff -pruN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c 2012-12-25 08:32:13.000000000 +0530 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c 2013-08-06 17:45:56.719534470 +0530 +--- + sysdeps/powerpc/fpu/s_llround.c | 4 ++++ + sysdeps/powerpc/fpu/w_sqrt.c | 4 ++++ + 2 files changed, 8 insertions(+) + +--- a/sysdeps/powerpc/fpu/s_llround.c ++++ b/sysdeps/powerpc/fpu/s_llround.c @@ -17,6 +17,7 @@ . */ @@ -26,16 +30,15 @@ diff -pruN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c glibc-2.17-c758a6 /* I think that what this routine is supposed to do is round a value to the nearest integer, with values exactly on the boundary rounded -@@ -47,3 +48,6 @@ weak_alias (__llround, llround) +@@ -47,3 +48,6 @@ strong_alias (__llround, __llroundl) weak_alias (__llround, llroundl) #endif +#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1) +compat_symbol (libm, __llround, llroundl, GLIBC_2_1); +#endif -diff -pruN glibc-2.17-c758a686/sysdeps/powerpc/fpu/w_sqrt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/w_sqrt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/w_sqrt.c 2012-12-25 08:32:13.000000000 +0530 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/w_sqrt.c 2013-08-06 17:45:53.459534613 +0530 +--- a/sysdeps/powerpc/fpu/w_sqrt.c ++++ b/sysdeps/powerpc/fpu/w_sqrt.c @@ -19,6 +19,7 @@ #include #include @@ -44,7 +47,7 @@ diff -pruN glibc-2.17-c758a686/sysdeps/powerpc/fpu/w_sqrt.c glibc-2.17-c758a686/ double __sqrt (double x) /* wrapper sqrt */ -@@ -42,3 +43,6 @@ weak_alias (__sqrt, sqrt) +@@ -42,3 +43,6 @@ #ifdef NO_LONG_DOUBLE strong_alias (__sqrt, __sqrtl) weak_alias (__sqrt, sqrtl) #endif diff --git a/packages/glibc/2.17/0022-glibc-powerpc-ldbl_high.patch b/packages/glibc/2.17/0022-glibc-powerpc-ldbl_high.patch index 68faeee..fd0f439 100644 --- a/packages/glibc/2.17/0022-glibc-powerpc-ldbl_high.patch +++ b/packages/glibc/2.17/0022-glibc-powerpc-ldbl_high.patch @@ -1,7 +1,10 @@ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 19:59:00.000000000 -0500 -@@ -190,6 +190,9 @@ +--- + sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ++++ b/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h +@@ -149,6 +149,9 @@ # define ldbl_unpack default_ldbl_unpack #endif diff --git a/packages/glibc/2.17/0023-glibc-ppc64le-01.patch b/packages/glibc/2.17/0023-glibc-ppc64le-01.patch index e2a86d7..062bd99 100644 --- a/packages/glibc/2.17/0023-glibc-ppc64le-01.patch +++ b/packages/glibc/2.17/0023-glibc-ppc64le-01.patch @@ -9,9 +9,13 @@ # machine specific Makefiles to define different abifiles names # (for instance *-le.abilist for powerpc64le). # -diff -urN glibc-2.17-c758a686/Makerules glibc-2.17-c758a686/Makerules ---- glibc-2.17-c758a686/Makerules 2014-06-02 15:29:42.000000000 +0000 -+++ glibc-2.17-c758a686/Makerules 2014-06-02 15:25:21.000000000 +0000 +--- +# Makerules | 32 ++++++++++++++++++++++++++++++++ +# sysdeps/powerpc/Makefile | 4 ++++ +# 2 files changed, 36 insertions(+) +# +--- a/Makerules ++++ b/Makerules @@ -1152,6 +1152,14 @@ LC_ALL=C $(OBJDUMP) --dynamic-syms $< > $@T mv -f $@T $@ @@ -70,9 +74,8 @@ diff -urN glibc-2.17-c758a686/Makerules glibc-2.17-c758a686/Makerules define update-abi @if cmp -s $^ 2> /dev/null; \ then \ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/Makefile glibc-2.17-c758a686/sysdeps/powerpc/Makefile ---- glibc-2.17-c758a686/sysdeps/powerpc/Makefile 2014-06-02 15:29:42.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/powerpc/Makefile 2014-06-02 15:25:21.000000000 +0000 +--- a/sysdeps/powerpc/Makefile ++++ b/sysdeps/powerpc/Makefile @@ -27,3 +27,7 @@ sysdep_headers += sys/platform/ppc.h tests += test-gettimebase diff --git a/packages/glibc/2.17/0024-glibc-ppc64le-02.patch b/packages/glibc/2.17/0024-glibc-ppc64le-02.patch index 3878826..8efe799 100644 --- a/packages/glibc/2.17/0024-glibc-ppc64le-02.patch +++ b/packages/glibc/2.17/0024-glibc-ppc64le-02.patch @@ -6,9 +6,24 @@ # # This patch is the abifiles for powerpc64le based on GLIBC 2.17. # -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist | 11 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist | 3 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist | 6 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist | 2168 ++++++++++ +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist | 9 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist | 11 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist | 402 + +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist | 123 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist | 224 + +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist | 93 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist | 37 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist | 42 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist | 8 +# 13 files changed, 3137 insertions(+) +# +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld-le.abilist @@ -0,0 +1,11 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -21,16 +36,14 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld- + free F + malloc F + realloc F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale-le.abilist @@ -0,0 +1,3 @@ +GLIBC_2.17 + GLIBC_2.17 A + __ctype_get_mb_cur_max F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl-le.abilist @@ -0,0 +1,6 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -38,9 +51,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + gai_error F + gai_suspend F + getaddrinfo_a F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc-le.abilist @@ -0,0 +1,2168 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2210,9 +2222,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + xencrypt F + xprt_register F + xprt_unregister F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt-le.abilist @@ -0,0 +1,9 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2223,9 +2234,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + fcrypt F + setkey F + setkey_r F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl-le.abilist @@ -0,0 +1,11 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2238,9 +2248,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + dlopen F + dlsym F + dlvsym F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm-le.abilist @@ -0,0 +1,402 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2644,9 +2653,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + yn F + ynf F + ynl F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl-le.abilist @@ -0,0 +1,123 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2771,9 +2779,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + ypbinderr_string F + yperr_string F + ypprot_err F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread-le.abilist @@ -0,0 +1,224 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -2999,9 +3006,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + wait F + waitpid F + write F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv-le.abilist @@ -0,0 +1,93 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -3096,9 +3102,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + res_gethostbyname2 F + res_send_setqhook F + res_send_setrhook F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt-le.abilist @@ -0,0 +1,37 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -3137,9 +3142,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + timer_getoverrun F + timer_gettime F + timer_settime F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db-le.abilist @@ -0,0 +1,42 @@ +GLIBC_2.17 + GLIBC_2.17 A @@ -3183,9 +3187,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/lib + td_thr_tlsbase F + td_thr_tsd F + td_thr_validate F -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist 1970-01-01 00:00:00.000000000 +0000 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist 2014-06-02 15:22:40.000000000 +0000 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil-le.abilist @@ -0,0 +1,8 @@ +GLIBC_2.17 + GLIBC_2.17 A diff --git a/packages/glibc/2.17/0025-glibc-ppc64le-03.patch b/packages/glibc/2.17/0025-glibc-ppc64le-03.patch index 40b6e71..24b5de9 100644 --- a/packages/glibc/2.17/0025-glibc-ppc64le-03.patch +++ b/packages/glibc/2.17/0025-glibc-ppc64le-03.patch @@ -4,9 +4,16 @@ # # Update miscellaneous scripts from upstream. # -diff -urN glibc-2.17-c758a686/scripts/config.guess glibc-2.17-c758a686/scripts/config.guess ---- glibc-2.17-c758a686/scripts/config.guess 2014-05-26 15:59:45.000000000 -0500 -+++ glibc-2.17-c758a686/scripts/config.guess 2014-05-26 16:01:00.000000000 -0500 +--- +# scripts/config.guess | 177 +++++++----- +# scripts/config.sub | 93 +++--- +# scripts/install-sh | 707 ++++++++++++++++++++++++++++++++++--------------- +# scripts/mkinstalldirs | 174 ++++++++++-- +# scripts/move-if-change | 92 +++++- +# 5 files changed, 874 insertions(+), 369 deletions(-) +# +--- a/scripts/config.guess ++++ b/scripts/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. @@ -320,9 +327,8 @@ diff -urN glibc-2.17-c758a686/scripts/config.guess glibc-2.17-c758a686/scripts/c echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) -diff -urN glibc-2.17-c758a686/scripts/config.sub glibc-2.17-c758a686/scripts/config.sub ---- glibc-2.17-c758a686/scripts/config.sub 2014-05-26 15:59:45.000000000 -0500 -+++ glibc-2.17-c758a686/scripts/config.sub 2014-05-26 16:00:52.000000000 -0500 +--- a/scripts/config.sub ++++ b/scripts/config.sub @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. @@ -578,9 +584,8 @@ diff -urN glibc-2.17-c758a686/scripts/config.sub glibc-2.17-c758a686/scripts/con or32-*) os=-coff ;; -diff -urN glibc-2.17-c758a686/scripts/install-sh glibc-2.17-c758a686/scripts/install-sh ---- glibc-2.17-c758a686/scripts/install-sh 2014-05-26 15:59:45.000000000 -0500 -+++ glibc-2.17-c758a686/scripts/install-sh 2014-05-26 16:00:34.000000000 -0500 +--- a/scripts/install-sh ++++ b/scripts/install-sh @@ -1,250 +1,527 @@ -#! /bin/sh -# @@ -1324,9 +1329,8 @@ diff -urN glibc-2.17-c758a686/scripts/install-sh glibc-2.17-c758a686/scripts/ins +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: -diff -urN glibc-2.17-c758a686/scripts/mkinstalldirs glibc-2.17-c758a686/scripts/mkinstalldirs ---- glibc-2.17-c758a686/scripts/mkinstalldirs 2014-05-26 15:59:45.000000000 -0500 -+++ glibc-2.17-c758a686/scripts/mkinstalldirs 2014-05-26 16:00:34.000000000 -0500 +--- a/scripts/mkinstalldirs ++++ b/scripts/mkinstalldirs @@ -1,38 +1,162 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy @@ -1515,9 +1519,8 @@ diff -urN glibc-2.17-c758a686/scripts/mkinstalldirs glibc-2.17-c758a686/scripts/ +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: -diff -urN glibc-2.17-c758a686/scripts/move-if-change glibc-2.17-c758a686/scripts/move-if-change ---- glibc-2.17-c758a686/scripts/move-if-change 2014-05-26 15:59:45.000000000 -0500 -+++ glibc-2.17-c758a686/scripts/move-if-change 2014-05-26 16:00:34.000000000 -0500 +--- a/scripts/move-if-change ++++ b/scripts/move-if-change @@ -1,17 +1,83 @@ #!/bin/sh # Like mv $1 $2, but if the files are the same, just delete $1. diff --git a/packages/glibc/2.17/0026-glibc-ppc64le-04.patch b/packages/glibc/2.17/0026-glibc-ppc64le-04.patch index 8f6840b..2b7a713 100644 --- a/packages/glibc/2.17/0026-glibc-ppc64le-04.patch +++ b/packages/glibc/2.17/0026-glibc-ppc64le-04.patch @@ -24,9 +24,21 @@ # * sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Likewise. # * sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c 2014-05-26 21:08:10.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/e_exp10l.c | 6 +- +# sysdeps/ieee754/ldbl-128ibm/e_expl.c | 34 ++++++++-------- +# sysdeps/ieee754/ldbl-128ibm/ieee754.h | 26 +----------- +# sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c | 20 ++++----- +# sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 60 ++++++++++++++--------------- +# sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c | 36 ++++++++--------- +# sysdeps/ieee754/ldbl-128ibm/printf_fphex.c | 32 +++++++-------- +# sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c | 54 +++++++++++++------------- +# sysdeps/ieee754/ldbl-128ibm/strtold_l.c | 11 ++--- +# sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c | 26 ++++++------ +# 10 files changed, 142 insertions(+), 163 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c @@ -36,9 +36,9 @@ else if (arg > LDBL_MAX_10_EXP + 1) return LDBL_MAX * LDBL_MAX; @@ -40,9 +52,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_exp10l.c glibc-2.17- exp_high = arg_high * log10_high; exp_low = arg_high * log10_low + arg_low * M_LN10l; return __ieee754_expl (exp_high) * __ieee754_expl (exp_low); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_expl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_expl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_expl.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_expl.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_expl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_expl.c @@ -162,39 +162,39 @@ x = x + xl; @@ -116,9 +127,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_expl.c glibc-2.17-c7 } /* Exceptional cases: */ else if (isless (x, himark)) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/ieee754.h ++++ b/sysdeps/ieee754/ldbl-128ibm/ieee754.h @@ -180,29 +180,9 @@ union ibm_extended_long_double @@ -152,9 +162,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h glibc-2.17-c __END_DECLS -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c ++++ b/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c @@ -36,22 +36,22 @@ union ibm_extended_long_double u; unsigned long long hi, lo; @@ -205,9 +214,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c glibc-2.17- { /* A biased exponent of zero is a special case. Either it is a zero or it is a denormal number. */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ++++ b/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h @@ -14,28 +14,28 @@ as bit 53 of the mantissa. */ uint64_t hi, lo; @@ -338,9 +346,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17 } #ifndef ldbl_pack -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c @@ -34,11 +34,11 @@ unsigned long long hi, lo; int exponent2; @@ -415,9 +422,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c glibc-2.17- - return u.d; + return u.ld; } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ++++ b/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c @@ -27,31 +27,31 @@ unsigned long long int num0, num1; \ unsigned long long hi, lo; \ @@ -503,9 +509,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c glibc-2 } \ } while (0) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c @@ -33,11 +33,11 @@ fenv_t env; static const long double TWO52 = 4503599627370496.0L; @@ -613,9 +618,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c glibc-2 } long_double_symbol (libm, __nearbyintl, nearbyintl); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/strtold_l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/strtold_l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/strtold_l.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/strtold_l.c 2014-05-26 21:12:01.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/strtold_l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/strtold_l.c @@ -43,12 +43,11 @@ #define FLOAT_HUGE_VAL HUGE_VALL # define SET_MANTISSA(flt, mant) \ @@ -634,9 +638,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/strtold_l.c glibc-2.17 } while (0) #include -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c 2014-05-26 21:08:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c 2014-05-26 21:08:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/x2y2m1l.c @@ -89,23 +89,23 @@ double vals[12]; SET_RESTORE_ROUND (FE_TONEAREST); diff --git a/packages/glibc/2.17/0027-glibc-ppc64le-05.patch b/packages/glibc/2.17/0027-glibc-ppc64le-05.patch index d089fda..9363f34 100644 --- a/packages/glibc/2.17/0027-glibc-ppc64le-05.patch +++ b/packages/glibc/2.17/0027-glibc-ppc64le-05.patch @@ -56,9 +56,16 @@ # (__mpn_construct_long_double): Fix test for overflow of high # mantissa and correct normalisation. Avoid undefined shift. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c 2014-05-27 19:13:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c 2014-05-27 19:14:45.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c | 2 +# sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c | 34 +++-- +# sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 167 ++++++++++++++++++----------- +# sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c | 44 +++---- +# sysdeps/ieee754/ldbl-128ibm/printf_fphex.c | 14 +- +# 5 files changed, 155 insertions(+), 106 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c @@ -243,7 +243,7 @@ We split the 113 bits of the mantissa into 5 24bit integers stored in a double array. */ @@ -68,9 +75,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c glibc-2. ldbl_extract_mantissa (&ixd, &lxd, &exp, x); exp = exp - 23; /* This is faster than doing this in floating point, because we -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c 2014-05-27 19:13:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c 2014-05-27 19:14:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c ++++ b/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c @@ -36,6 +36,7 @@ union ibm_extended_long_double u; unsigned long long hi, lo; @@ -128,9 +134,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ldbl2mpn.c glibc-2.17- { /* we have a borrow from the hidden bit, so shift left 1. */ hi = 0x0ffffffffffffeLL | (lo >> 51); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 19:13:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 19:51:13.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ++++ b/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h @@ -13,77 +13,118 @@ the number before the decimal point and the second implicit bit as bit 53 of the mantissa. */ @@ -353,7 +358,7 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17 static inline void default_ldbl_unpack (long double l, double *a, double *aa) { -@@ -162,13 +203,13 @@ +@@ -165,13 +206,13 @@ *aa = xl; } @@ -369,9 +374,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17 if (__builtin_expect ((__builtin_fabs (a) < two52), 1)) { -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 2014-05-27 19:13:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c 2014-05-27 19:14:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c @@ -70,9 +70,9 @@ else lzcount = __builtin_clzl ((long) val) + 32; @@ -458,9 +462,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c glibc-2.17- return u.ld; } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-27 19:13:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-27 19:14:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ++++ b/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c @@ -43,15 +43,15 @@ lo <<= 1; \ /* The lower double is normalized separately from the upper. We \ diff --git a/packages/glibc/2.17/0028-glibc-ppc64le-06.patch b/packages/glibc/2.17/0028-glibc-ppc64le-06.patch index fe7cf61..c94079d 100644 --- a/packages/glibc/2.17/0028-glibc-ppc64le-06.patch +++ b/packages/glibc/2.17/0028-glibc-ppc64le-06.patch @@ -27,9 +27,20 @@ # ports/ # * sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change. # -diff -urN glibc-2.17-c758a686/math/test-misc.c glibc-2.17-c758a686/math/test-misc.c ---- glibc-2.17-c758a686/math/test-misc.c 2014-05-27 19:53:22.000000000 -0500 -+++ glibc-2.17-c758a686/math/test-misc.c 2014-05-27 19:53:45.000000000 -0500 +--- +# math/test-misc.c | 289 +++++++---------------------- +# ports/sysdeps/ia64/fpu/printf_fphex.c | 10 - +# stdio-common/printf_fp.c | 3 +# stdio-common/printf_fphex.c | 14 - +# stdio-common/printf_size.c | 12 - +# sysdeps/ieee754/ldbl-128/printf_fphex.c | 14 - +# sysdeps/ieee754/ldbl-128ibm/printf_fphex.c | 4 +# sysdeps/ieee754/ldbl-96/printf_fphex.c | 8 +# sysdeps/x86_64/fpu/printf_fphex.c | 9 +# 9 files changed, 113 insertions(+), 250 deletions(-) +# +--- a/math/test-misc.c ++++ b/math/test-misc.c @@ -721,300 +721,161 @@ #ifndef NO_LONG_DOUBLE @@ -406,9 +417,8 @@ diff -urN glibc-2.17-c758a686/math/test-misc.c glibc-2.17-c758a686/math/test-mis result = 1; } -diff -urN glibc-2.17-c758a686/ports/sysdeps/ia64/fpu/printf_fphex.c glibc-2.17-c758a686/ports/sysdeps/ia64/fpu/printf_fphex.c ---- glibc-2.17-c758a686/ports/sysdeps/ia64/fpu/printf_fphex.c 2014-05-27 19:53:21.000000000 -0500 -+++ glibc-2.17-c758a686/ports/sysdeps/ia64/fpu/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/ports/sysdeps/ia64/fpu/printf_fphex.c ++++ b/ports/sysdeps/ia64/fpu/printf_fphex.c @@ -25,9 +25,11 @@ /* The "strange" 80 bit format on ia64 has an explicit \ leading digit in the 64 bit mantissa. */ \ @@ -434,9 +444,8 @@ diff -urN glibc-2.17-c758a686/ports/sysdeps/ia64/fpu/printf_fphex.c glibc-2.17-c if (exponent == 0) \ { \ if (zero_mantissa) \ -diff -urN glibc-2.17-c758a686/stdio-common/printf_fp.c glibc-2.17-c758a686/stdio-common/printf_fp.c ---- glibc-2.17-c758a686/stdio-common/printf_fp.c 2014-05-27 19:53:22.000000000 -0500 -+++ glibc-2.17-c758a686/stdio-common/printf_fp.c 2014-05-27 19:53:45.000000000 -0500 +--- a/stdio-common/printf_fp.c ++++ b/stdio-common/printf_fp.c @@ -335,8 +335,7 @@ int res; if (__isnanl (fpnum.ldbl)) @@ -447,9 +456,8 @@ diff -urN glibc-2.17-c758a686/stdio-common/printf_fp.c glibc-2.17-c758a686/stdio if (isupper (info->spec)) { special = "NAN"; -diff -urN glibc-2.17-c758a686/stdio-common/printf_fphex.c glibc-2.17-c758a686/stdio-common/printf_fphex.c ---- glibc-2.17-c758a686/stdio-common/printf_fphex.c 2014-05-27 19:53:22.000000000 -0500 -+++ glibc-2.17-c758a686/stdio-common/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/stdio-common/printf_fphex.c ++++ b/stdio-common/printf_fphex.c @@ -93,7 +93,7 @@ union { @@ -497,9 +505,8 @@ diff -urN glibc-2.17-c758a686/stdio-common/printf_fphex.c glibc-2.17-c758a686/st } else #endif /* no long double */ -diff -urN glibc-2.17-c758a686/stdio-common/printf_size.c glibc-2.17-c758a686/stdio-common/printf_size.c ---- glibc-2.17-c758a686/stdio-common/printf_size.c 2014-05-27 19:53:22.000000000 -0500 -+++ glibc-2.17-c758a686/stdio-common/printf_size.c 2014-05-27 19:53:45.000000000 -0500 +--- a/stdio-common/printf_size.c ++++ b/stdio-common/printf_size.c @@ -103,7 +103,7 @@ union { @@ -540,9 +547,8 @@ diff -urN glibc-2.17-c758a686/stdio-common/printf_size.c glibc-2.17-c758a686/std ++tag; } } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128/printf_fphex.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128/printf_fphex.c 2014-05-27 19:53:20.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128/printf_fphex.c ++++ b/sysdeps/ieee754/ldbl-128/printf_fphex.c @@ -24,13 +24,15 @@ digits we use only the implicit digits for the number before \ the decimal point. */ \ @@ -575,9 +581,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128/printf_fphex.c glibc-2.17 \ if (exponent == 0) \ { \ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-27 19:53:20.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c ++++ b/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c @@ -28,14 +28,14 @@ unsigned long long hi, lo; \ int ediff; \ @@ -595,9 +600,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/printf_fphex.c glibc-2 53rd bit. */ \ if (u.d[1].ieee.exponent != 0) \ lo |= (1ULL << (52 + 7)); \ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-96/printf_fphex.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-96/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-96/printf_fphex.c 2014-05-27 19:53:20.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-96/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-96/printf_fphex.c ++++ b/sysdeps/ieee754/ldbl-96/printf_fphex.c @@ -25,11 +25,13 @@ /* The "strange" 80 bit format on ix86 and m68k has an explicit \ leading digit in the 64 bit mantissa. */ \ @@ -623,9 +627,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-96/printf_fphex.c glibc-2.17- \ if (exponent == 0) \ { \ -diff -urN glibc-2.17-c758a686/sysdeps/x86_64/fpu/printf_fphex.c glibc-2.17-c758a686/sysdeps/x86_64/fpu/printf_fphex.c ---- glibc-2.17-c758a686/sysdeps/x86_64/fpu/printf_fphex.c 2014-05-27 19:53:20.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/x86_64/fpu/printf_fphex.c 2014-05-27 19:53:45.000000000 -0500 +--- a/sysdeps/x86_64/fpu/printf_fphex.c ++++ b/sysdeps/x86_64/fpu/printf_fphex.c @@ -25,10 +25,11 @@ /* The "strange" 80 bit format on ix86 and m68k has an explicit \ leading digit in the 64 bit mantissa. */ \ diff --git a/packages/glibc/2.17/0029-glibc-ppc64le-07.patch b/packages/glibc/2.17/0029-glibc-ppc64le-07.patch index 120576e..eff61d3 100644 --- a/packages/glibc/2.17/0029-glibc-ppc64le-07.patch +++ b/packages/glibc/2.17/0029-glibc-ppc64le-07.patch @@ -42,9 +42,35 @@ # * sysdeps/ieee754/ldbl-128ibm/s_tanl.c (__tanl): Likewise. # * sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c (__logbl): Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c 2014-05-27 19:59:00.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/e_acoshl.c | 8 ++++- +# sysdeps/ieee754/ldbl-128ibm/e_acosl.c | 36 ++++++++++++------------- +# sysdeps/ieee754/ldbl-128ibm/e_asinl.c | 26 +++++++----------- +# sysdeps/ieee754/ldbl-128ibm/e_atanhl.c | 6 ++-- +# sysdeps/ieee754/ldbl-128ibm/e_coshl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/e_log2l.c | 8 +++-- +# sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c | 5 ++- +# sysdeps/ieee754/ldbl-128ibm/e_sinhl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/k_cosl.c | 10 ++++-- +# sysdeps/ieee754/ldbl-128ibm/k_sincosl.c | 12 +++++--- +# sysdeps/ieee754/ldbl-128ibm/k_sinl.c | 8 ++++- +# sysdeps/ieee754/ldbl-128ibm/s_asinhl.c | 5 ++- +# sysdeps/ieee754/ldbl-128ibm/s_atanl.c | 15 ++++------ +# sysdeps/ieee754/ldbl-128ibm/s_cosl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/s_fabsl.c | 10 +++++- +# sysdeps/ieee754/ldbl-128ibm/s_finitel.c | 12 +++++--- +# sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c | 5 ++- +# sysdeps/ieee754/ldbl-128ibm/s_isnanl.c | 14 +++++---- +# sysdeps/ieee754/ldbl-128ibm/s_logbl.c | 5 ++- +# sysdeps/ieee754/ldbl-128ibm/s_signbitl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/s_sincosl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/s_sinl.c | 4 ++ +# sysdeps/ieee754/ldbl-128ibm/s_tanl.c | 4 ++ +# sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c | 8 ++--- +# 24 files changed, 134 insertions(+), 87 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c @@ -36,8 +36,12 @@ { long double t; @@ -60,9 +86,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acoshl.c glibc-2.17- if(hx<0x3ff0000000000000LL) { /* x < 1 */ return (x-x)/(x-x); } else if(hx >=0x41b0000000000000LL) { /* x > 2**28 */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acosl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acosl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acosl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acosl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_acosl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_acosl.c @@ -151,26 +151,25 @@ long double __ieee754_acosl (long double x) @@ -147,9 +172,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_acosl.c glibc-2.17-c w = w - f2 * f2; w = w / (2.0 * s); /* Arcsine of s. */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_asinl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_asinl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_asinl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_asinl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_asinl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_asinl.c @@ -131,19 +131,18 @@ long double __ieee754_asinl (long double x) @@ -217,9 +241,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_asinl.c glibc-2.17-c c = (t - w * w) / (s + w); r = p / q; p = 2.0 * s * r - (pio2_lo - 2.0 * c); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c @@ -40,8 +40,10 @@ { long double t; @@ -233,9 +256,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atanhl.c glibc-2.17- ix = hx&0x7fffffffffffffffLL; if (ix >= 0x3ff0000000000000LL) { /* |x|>=1 */ if (ix > 0x3ff0000000000000LL) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_coshl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_coshl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_coshl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_coshl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_coshl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_coshl.c @@ -41,9 +41,11 @@ { long double t,w; @@ -249,9 +271,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_coshl.c glibc-2.17-c ix &= 0x7fffffffffffffffLL; /* x is INF or NaN */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log2l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log2l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log2l.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log2l.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_log2l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_log2l.c @@ -177,11 +177,13 @@ long double z; long double y; @@ -269,9 +290,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log2l.c glibc-2.17-c return (-1.0L / (x - x)); if (hx < 0) return (x - x) / (x - x); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c @@ -200,10 +200,11 @@ double tx[8]; int exp; @@ -286,9 +306,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c glibc-2. ix = hx & 0x7fffffffffffffffLL; if (ix <= 0x3fe921fb54442d10LL) /* x in <-pi/4, pi/4> */ { -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c @@ -38,9 +38,11 @@ { long double t,w,h; @@ -302,9 +321,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c glibc-2.17-c ix = jx&0x7fffffffffffffffLL; /* x is INF or NaN */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_cosl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_cosl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_cosl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_cosl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/k_cosl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/k_cosl.c @@ -81,8 +81,11 @@ { long double h, l, z, sin_l, cos_l_m1; @@ -329,9 +347,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_cosl.c glibc-2.17-c7 l = y - (h - x); z = l * l; sin_l = l*(ONE+z*(SSIN1+z*(SSIN2+z*(SSIN3+z*(SSIN4+z*SSIN5))))); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c @@ -100,9 +100,12 @@ { long double h, l, z, sin_l, cos_l_m1; @@ -358,9 +375,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sincosl.c glibc-2.17 if (iy) l = y - (h - x); else -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sinl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sinl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sinl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sinl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/k_sinl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/k_sinl.c @@ -82,7 +82,10 @@ long double h, l, z, sin_l, cos_l_m1; int64_t ix; @@ -383,9 +399,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_sinl.c glibc-2.17-c7 if (iy) l = (ix < 0 ? -y : y) - (h - x); else -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c @@ -38,7 +38,10 @@ { long double t,w; @@ -398,9 +413,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_asinhl.c glibc-2.17- ix = hx&0x7fffffffffffffffLL; if(ix>=0x7ff0000000000000LL) return x+x; /* x is inf or NaN */ if(ix< 0x3e20000000000000LL) { /* |x|<2**-29 */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_atanl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_atanl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_atanl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_atanl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_atanl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_atanl.c @@ -173,23 +173,20 @@ long double __atanl (long double x) @@ -431,9 +445,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_atanl.c glibc-2.17-c return (x + x); /* Infinity. */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_cosl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_cosl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_cosl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_cosl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_cosl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_cosl.c @@ -53,9 +53,11 @@ { long double y[2],z=0.0L; @@ -447,9 +460,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_cosl.c glibc-2.17-c7 /* |x| ~< pi/4 */ ix &= 0x7fffffffffffffffLL; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c @@ -29,10 +29,16 @@ long double __fabsl(long double x) { @@ -469,9 +481,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fabsl.c glibc-2.17-c return x; } long_double_symbol (libm, __fabsl, fabsl); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_finitel.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_finitel.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_finitel.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_finitel.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_finitel.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_finitel.c @@ -29,10 +29,14 @@ int ___finitel (long double x) @@ -491,9 +502,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_finitel.c glibc-2.17 } hidden_ver (___finitel, __finitel) weak_alias (___finitel, ____finitel) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c @@ -46,8 +46,10 @@ { u_int64_t hx, lx; @@ -514,9 +524,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c glibc- if ((lx & 0x7fffffffffffffff) /* lower is non-zero */ && ((lx^hx) & 0x8000000000000000ULL)) { /* and sign differs */ /* +/- denormal */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c 2014-05-27 19:59:00.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c @@ -29,12 +29,14 @@ int ___isnanl (long double x) @@ -538,9 +547,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isnanl.c glibc-2.17- } hidden_ver (___isnanl, __isnanl) #ifndef IS_IN_libm -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_logbl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_logbl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_logbl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_logbl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_logbl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_logbl.c @@ -27,9 +27,10 @@ __logbl (long double x) { @@ -554,9 +562,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_logbl.c glibc-2.17-c hx &= 0x7fffffffffffffffLL; /* high |x| */ if (hx == 0) return -1.0 / fabs (x); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c @@ -25,8 +25,10 @@ ___signbitl (long double x) { @@ -569,9 +576,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_signbitl.c glibc-2.1 return e < 0; } #ifdef IS_IN_libm -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c @@ -27,9 +27,11 @@ __sincosl (long double x, long double *sinx, long double *cosx) { @@ -585,9 +591,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sincosl.c glibc-2.17 /* |x| ~< pi/4 */ ix &= 0x7fffffffffffffffLL; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sinl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sinl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sinl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sinl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_sinl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_sinl.c @@ -53,9 +53,11 @@ { long double y[2],z=0.0L; @@ -601,9 +606,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_sinl.c glibc-2.17-c7 /* |x| ~< pi/4 */ ix &= 0x7fffffffffffffffLL; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_tanl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_tanl.c @@ -53,9 +53,11 @@ { long double y[2],z=0.0L; @@ -617,9 +621,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanl.c glibc-2.17-c7 /* |x| ~< pi/4 */ ix &= 0x7fffffffffffffffLL; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c 2014-05-27 19:58:07.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c 2014-05-27 19:59:19.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c ++++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_logbl.c @@ -35,14 +35,14 @@ long double __logbl (long double x) diff --git a/packages/glibc/2.17/0030-glibc-ppc64le-08.patch b/packages/glibc/2.17/0030-glibc-ppc64le-08.patch index 5f79844..4e40482 100644 --- a/packages/glibc/2.17/0030-glibc-ppc64le-08.patch +++ b/packages/glibc/2.17/0030-glibc-ppc64le-08.patch @@ -47,9 +47,33 @@ # * sysdeps/ieee754/ldbl-128ibm/s_tanhl.c (__tanhl): Likewise. # * sysdeps/powerpc/fpu/libm-test-ulps: Adjust tan_towardzero ulps. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c 2014-05-27 23:05:55.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/e_atan2l.c | 14 +- +# sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c | 7 - +# sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c | 16 +-- +# sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 32 +++--- +# sysdeps/ieee754/ldbl-128ibm/e_log10l.c | 8 + +# sysdeps/ieee754/ldbl-128ibm/e_logl.c | 32 +++--- +# sysdeps/ieee754/ldbl-128ibm/e_powl.c | 136 +++++++++++----------------- +# sysdeps/ieee754/ldbl-128ibm/k_tanl.c | 34 +++---- +# sysdeps/ieee754/ldbl-128ibm/s_expm1l.c | 12 +- +# sysdeps/ieee754/ldbl-128ibm/s_frexpl.c | 19 ++- +# sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c | 15 ++- +# sysdeps/ieee754/ldbl-128ibm/s_isinfl.c | 17 ++- +# sysdeps/ieee754/ldbl-128ibm/s_log1pl.c | 11 +- +# sysdeps/ieee754/ldbl-128ibm/s_modfl.c | 27 +++-- +# sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c | 57 +++++++---- +# sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c | 14 +- +# sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c | 8 - +# sysdeps/ieee754/ldbl-128ibm/s_remquol.c | 14 +- +# sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c | 21 +++- +# sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c | 21 +++- +# sysdeps/ieee754/ldbl-128ibm/s_tanhl.c | 8 + +# sysdeps/powerpc/fpu/libm-test-ulps | 3 +# 22 files changed, 287 insertions(+), 239 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c @@ -56,11 +56,15 @@ { long double z; @@ -87,9 +111,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c glibc-2.17- /* when x is INF */ if(ix==0x7ff0000000000000LL) { -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c @@ -29,11 +29,12 @@ and the exp function. But due to the required boundary conditions we must check some values separately. */ @@ -106,9 +129,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c glibc-2.1 { /* Return value for x == 0 is Inf with divide by zero exception. */ *signgamp = 0; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c @@ -31,26 +31,24 @@ int __ieee754_ilogbl(long double x) @@ -143,9 +165,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_ilogbl.c glibc-2.17- return INT_MAX; } return FP_ILOGBNAN; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_jnl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_jnl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_jnl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_jnl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c @@ -70,26 +70,25 @@ long double __ieee754_jnl (int n, long double x) @@ -226,9 +247,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_jnl.c glibc-2.17-c75 a = temp; } } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log10l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log10l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log10l.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log10l.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_log10l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_log10l.c @@ -182,11 +182,13 @@ long double z; long double y; @@ -246,9 +266,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_log10l.c glibc-2.17- return (-1.0L / (x - x)); if (hx < 0) return (x - x) / (x - x); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_logl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_logl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_logl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_logl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_logl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_logl.c @@ -185,18 +185,20 @@ long double __ieee754_logl(long double x) @@ -328,9 +347,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_logl.c glibc-2.17-c7 y += e * ln2a; return y; } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_powl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_powl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_powl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_powl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_powl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_powl.c @@ -151,37 +151,32 @@ long double y1, t1, t2, r, s, t, u, v, w; long double s2, s_h, s_l, t_h, t_l, ay; @@ -584,9 +602,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_powl.c glibc-2.17-c7 u = t * lg2_h; v = (p_l - (t - p_h)) * lg2 + t * lg2_l; z = u + v; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_tanl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_tanl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_tanl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_tanl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/k_tanl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/k_tanl.c @@ -85,17 +85,17 @@ __kernel_tanl (long double x, long double y, int iy) { @@ -645,9 +662,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/k_tanl.c glibc-2.17-c7 + return z1 + z * (s + z1 * v); } } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c @@ -92,19 +92,19 @@ __expm1l (long double x) { @@ -682,9 +698,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c glibc-2.17- return x; /* Overflow. */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c @@ -36,16 +36,21 @@ long double __frexpl(long double x, int *eptr) @@ -731,9 +746,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c glibc-2.17- return x; } #ifdef IS_IN_libm -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c @@ -1,6 +1,7 @@ /* * __isinf_nsl(x) returns != 0 if x is ±inf, else 0; @@ -761,9 +775,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c glibc-2. + mask >>= 63; + return ~mask; } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c @@ -11,6 +11,7 @@ /* * isinfl(x) returns 1 if x is inf, -1 if x is -inf, else 0; @@ -795,9 +808,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_isinfl.c glibc-2.17- } hidden_ver (___isinfl, __isinfl) #ifndef IS_IN_libm -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c @@ -126,19 +126,18 @@ __log1pl (long double xm1) { @@ -823,9 +835,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c glibc-2.17- return xm1; x = xm1 + 1.0L; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_modfl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_modfl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_modfl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_modfl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_modfl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_modfl.c @@ -37,43 +37,54 @@ { int64_t i0,i1,j0; @@ -889,9 +900,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_modfl.c glibc-2.17-c return x - *iptr; } } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c @@ -30,27 +30,28 @@ long double __nextafterl(long double x, long double y) @@ -994,9 +1004,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c glibc-2 return x + u; } } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c 2014-05-27 23:10:26.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c @@ -34,23 +34,23 @@ { int32_t hx,ix; @@ -1028,9 +1037,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttoward.c glibc-2 u = math_opt_barrier (x); u = u * u; math_force_eval (u); /* raise underflow flag */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c @@ -27,16 +27,16 @@ { int32_t hx,ix; @@ -1052,9 +1060,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_nexttowardf.c glibc- /* y is nan */ return x+y; if((long double) x==y) return y; /* x=y, return y */ -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_remquol.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_remquol.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_remquol.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_remquol.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_remquol.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_remquol.c @@ -33,20 +33,24 @@ int64_t hx,hy; u_int64_t sx,lx,ly,qs; @@ -1085,9 +1092,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_remquol.c glibc-2.17 return (x * y) / (x * y); if (hy <= 0x7fbfffffffffffffLL) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c 2014-05-27 23:15:30.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c @@ -41,11 +41,15 @@ { int64_t k,l,hx,lx; @@ -1139,9 +1145,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalblnl.c glibc-2.1 return x*twolm54; } long_double_symbol (libm, __scalblnl, scalblnl); -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c 2014-05-27 23:16:25.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c @@ -41,11 +41,15 @@ { int64_t k,l,hx,lx; @@ -1193,9 +1198,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c glibc-2.17 return x*twolm54; } #ifdef IS_IN_libm -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c 2014-05-27 23:05:55.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c @@ -47,10 +47,12 @@ long double __tanhl(long double x) { @@ -1220,9 +1224,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_tanhl.c glibc-2.17-c return x; /* x == +-0 */ if (ix<0x3c60000000000000LL) /* |x|<2**-57 */ return x*(one+x); /* tanh(small) = small */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps 2014-05-27 23:05:51.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps 2014-05-27 23:08:26.000000000 -0500 +--- a/sysdeps/powerpc/fpu/libm-test-ulps ++++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -2641,6 +2641,9 @@ ifloat: 1 ildouble: 2 diff --git a/packages/glibc/2.17/0031-glibc-ppc64le-09.patch b/packages/glibc/2.17/0031-glibc-ppc64le-09.patch index 969d3a1..22ac662 100644 --- a/packages/glibc/2.17/0031-glibc-ppc64le-09.patch +++ b/packages/glibc/2.17/0031-glibc-ppc64le-09.patch @@ -42,9 +42,16 @@ # * math/libm-test.inc: Add tests for errors discovered in IBM long # double versions of fmodl, remainderl, erfl and erfcl. # -diff -urN glibc-2.17-c758a686/math/libm-test.inc glibc-2.17-c758a686/math/libm-test.inc ---- glibc-2.17-c758a686/math/libm-test.inc 2014-05-27 20:02:29.000000000 -0500 -+++ glibc-2.17-c758a686/math/libm-test.inc 2014-05-27 20:09:59.000000000 -0500 +--- +# math/libm-test.inc | 18 ++++ +# sysdeps/ieee754/ldbl-128ibm/e_fmodl.c | 127 +++++++++++++++-------------- +# sysdeps/ieee754/ldbl-128ibm/e_hypotl.c | 88 ++++++++++---------- +# sysdeps/ieee754/ldbl-128ibm/e_remainderl.c | 18 ++-- +# sysdeps/ieee754/ldbl-128ibm/s_erfl.c | 57 ++++++------- +# 5 files changed, 172 insertions(+), 136 deletions(-) +# +--- a/math/libm-test.inc ++++ b/math/libm-test.inc @@ -4040,6 +4040,10 @@ TEST_f_f (erf, 2.0L, 0.995322265018952734162069256367252929L); TEST_f_f (erf, 4.125L, 0.999999994576599200434933994687765914L); @@ -91,9 +98,8 @@ diff -urN glibc-2.17-c758a686/math/libm-test.inc glibc-2.17-c758a686/math/libm-t END (remainder); } -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c 2014-05-27 20:02:27.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c 2014-05-27 20:04:08.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c @@ -27,76 +27,83 @@ long double __ieee754_fmodl (long double x, long double y) @@ -254,9 +260,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_fmodl.c glibc-2.17-c return Zero[(u_int64_t)sx>>63]; while(hx<0x0001000000000000LL) { /* normalize x */ hx = hx+hx+(lx>>63); lx = lx+lx; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c 2014-05-27 20:02:27.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c 2014-05-27 20:04:08.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c @@ -45,76 +45,84 @@ #include #include @@ -382,9 +387,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_hypotl.c glibc-2.17- } if(k!=0) return w*kld; -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c 2014-05-27 20:02:27.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c 2014-05-27 20:04:08.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c @@ -33,18 +33,22 @@ int64_t hx,hp; u_int64_t sx,lx,lp; @@ -424,9 +428,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_remainderl.c glibc-2 return x; } strong_alias (__ieee754_remainderl, __remainderl_finite) -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_erfl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_erfl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_erfl.c 2014-05-27 20:02:27.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/s_erfl.c 2014-05-27 20:04:08.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/s_erfl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/s_erfl.c @@ -760,16 +760,16 @@ __erfl (long double x) { diff --git a/packages/glibc/2.17/0032-glibc-ppc64le-10.patch b/packages/glibc/2.17/0032-glibc-ppc64le-10.patch index ae80fe6..8e1c1df 100644 --- a/packages/glibc/2.17/0032-glibc-ppc64le-10.patch +++ b/packages/glibc/2.17/0032-glibc-ppc64le-10.patch @@ -13,9 +13,13 @@ # * sysdeps/ieee754/ldbl-128ibm/math_ldbl.h: Don't include ieee854 # version of math_ldbl.h. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h 2014-05-27 22:10:43.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h 2014-05-27 22:11:10.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/ieee754.h | 55 -------------------------------- +# sysdeps/ieee754/ldbl-128ibm/math_ldbl.h | 1 +# 2 files changed, 56 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/ieee754.h ++++ b/sysdeps/ieee754/ldbl-128ibm/ieee754.h @@ -112,61 +112,6 @@ #define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ @@ -78,9 +82,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/ieee754.h glibc-2.17-c /* IBM extended format for long double. Each long double is made up of two IEEE doubles. The value of the -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 22:10:43.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h 2014-05-27 22:11:10.000000000 -0500 +--- a/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h ++++ b/sysdeps/ieee754/ldbl-128ibm/math_ldbl.h @@ -2,7 +2,6 @@ #error "Never use directly; include instead." #endif diff --git a/packages/glibc/2.17/0033-glibc-ppc64le-11.patch b/packages/glibc/2.17/0033-glibc-ppc64le-11.patch index ec12797..a168e37 100644 --- a/packages/glibc/2.17/0033-glibc-ppc64le-11.patch +++ b/packages/glibc/2.17/0033-glibc-ppc64le-11.patch @@ -12,9 +12,12 @@ # (t515, tm256): Double rather than long double. # (__ieee754_sqrtl): Rewrite using 64-bit arithmetic. # -diff -urN glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c ---- glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c 2014-05-27 22:20:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c 2014-05-27 22:21:39.000000000 -0500 +--- +# sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c | 51 +++++++++++++++------------------- +# 1 file changed, 23 insertions(+), 28 deletions(-) +# +--- a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c ++++ b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c @@ -34,15 +34,13 @@ #include diff --git a/packages/glibc/2.17/0034-glibc-ppc64le-12.patch b/packages/glibc/2.17/0034-glibc-ppc64le-12.patch index 5e2d378..52e5b3c 100644 --- a/packages/glibc/2.17/0034-glibc-ppc64le-12.patch +++ b/packages/glibc/2.17/0034-glibc-ppc64le-12.patch @@ -11,9 +11,12 @@ # (lrint): Correct for little-endian. # (lrintf): Call lrint. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/bits/mathinline.h glibc-2.17-c758a686/sysdeps/powerpc/fpu/bits/mathinline.h ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/bits/mathinline.h 2014-05-27 22:28:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/bits/mathinline.h 2014-05-27 22:28:37.000000000 -0500 +--- +# sysdeps/powerpc/fpu/bits/mathinline.h | 26 ++++++++++++++------------ +# 1 file changed, 14 insertions(+), 12 deletions(-) +# +--- a/sysdeps/powerpc/fpu/bits/mathinline.h ++++ b/sysdeps/powerpc/fpu/bits/mathinline.h @@ -62,21 +62,28 @@ __MATH_INLINE int __NTH (__signbitf (float __x)) diff --git a/packages/glibc/2.17/0035-glibc-ppc64le-13.patch b/packages/glibc/2.17/0035-glibc-ppc64le-13.patch index 52830a1..345a19c 100644 --- a/packages/glibc/2.17/0035-glibc-ppc64le-13.patch +++ b/packages/glibc/2.17/0035-glibc-ppc64le-13.patch @@ -23,9 +23,25 @@ # * sysdeps/powerpc/fpu/fsetexcptflg.c (__fesetexceptflag): Adjust. # * sysdeps/powerpc/fpu/ftestexcept.c (fetestexcept): Adjust. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrt.c 2014-05-27 22:31:43.000000000 -0500 +--- +# sysdeps/powerpc/fpu/e_sqrt.c | 2 +- +# sysdeps/powerpc/fpu/e_sqrtf.c | 2 +- +# sysdeps/powerpc/fpu/fclrexcpt.c | 4 ++-- +# sysdeps/powerpc/fpu/fedisblxcpt.c | 10 +++++----- +# sysdeps/powerpc/fpu/feenablxcpt.c | 10 +++++----- +# sysdeps/powerpc/fpu/fegetexcept.c | 10 +++++----- +# sysdeps/powerpc/fpu/feholdexcpt.c | 5 ++--- +# sysdeps/powerpc/fpu/fenv_libc.h | 2 +- +# sysdeps/powerpc/fpu/fesetenv.c | 4 ++-- +# sysdeps/powerpc/fpu/feupdateenv.c | 6 +++--- +# sysdeps/powerpc/fpu/fgetexcptflg.c | 2 +- +# sysdeps/powerpc/fpu/fraiseexcpt.c | 12 ++++++------ +# sysdeps/powerpc/fpu/fsetexcptflg.c | 8 ++++---- +# sysdeps/powerpc/fpu/ftestexcept.c | 2 +- +# 14 files changed, 39 insertions(+), 40 deletions(-) +# +--- a/sysdeps/powerpc/fpu/e_sqrt.c ++++ b/sysdeps/powerpc/fpu/e_sqrt.c @@ -145,7 +145,7 @@ feraiseexcept (FE_INVALID_SQRT); @@ -35,9 +51,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrt.c glibc-2.17-c758a686/s #endif feraiseexcept (FE_INVALID); x = a_nan.value; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrtf.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrtf.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrtf.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrtf.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/e_sqrtf.c ++++ b/sysdeps/powerpc/fpu/e_sqrtf.c @@ -121,7 +121,7 @@ feraiseexcept (FE_INVALID_SQRT); @@ -47,9 +62,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/e_sqrtf.c glibc-2.17-c758a686/ #endif feraiseexcept (FE_INVALID); x = a_nan.value; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fclrexcpt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fclrexcpt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fclrexcpt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fclrexcpt.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fclrexcpt.c ++++ b/sysdeps/powerpc/fpu/fclrexcpt.c @@ -28,8 +28,8 @@ u.fenv = fegetenv_register (); @@ -61,9 +75,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fclrexcpt.c glibc-2.17-c758a68 /* Put the new state in effect. */ fesetenv_register (u.fenv); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fedisblxcpt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fedisblxcpt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fedisblxcpt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fedisblxcpt.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fedisblxcpt.c ++++ b/sysdeps/powerpc/fpu/fedisblxcpt.c @@ -32,15 +32,15 @@ fe.fenv = fegetenv_register (); @@ -85,9 +98,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fedisblxcpt.c glibc-2.17-c758a fesetenv_register (fe.fenv); new = __fegetexcept (); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feenablxcpt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/feenablxcpt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/feenablxcpt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/feenablxcpt.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/feenablxcpt.c ++++ b/sysdeps/powerpc/fpu/feenablxcpt.c @@ -32,15 +32,15 @@ fe.fenv = fegetenv_register (); @@ -109,9 +121,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feenablxcpt.c glibc-2.17-c758a fesetenv_register (fe.fenv); new = __fegetexcept (); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fegetexcept.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fegetexcept.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fegetexcept.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fegetexcept.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fegetexcept.c ++++ b/sysdeps/powerpc/fpu/fegetexcept.c @@ -27,15 +27,15 @@ fe.fenv = fegetenv_register (); @@ -133,9 +144,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fegetexcept.c glibc-2.17-c758a result |= FE_INVALID; return result; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feholdexcpt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/feholdexcpt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/feholdexcpt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/feholdexcpt.c 2014-05-27 22:33:09.000000000 -0500 +--- a/sysdeps/powerpc/fpu/feholdexcpt.c ++++ b/sysdeps/powerpc/fpu/feholdexcpt.c @@ -30,13 +30,12 @@ /* Clear everything except for the rounding modes and non-IEEE arithmetic @@ -152,9 +162,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feholdexcpt.c glibc-2.17-c758a (void)__fe_mask_env (); /* Put the new state in effect. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fenv_libc.h glibc-2.17-c758a686/sysdeps/powerpc/fpu/fenv_libc.h ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fenv_libc.h 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fenv_libc.h 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fenv_libc.h ++++ b/sysdeps/powerpc/fpu/fenv_libc.h @@ -69,7 +69,7 @@ typedef union { @@ -164,9 +173,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fenv_libc.h glibc-2.17-c758a68 } fenv_union_t; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fesetenv.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fesetenv.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fesetenv.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fesetenv.c 2014-05-27 22:35:18.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fesetenv.c ++++ b/sysdeps/powerpc/fpu/fesetenv.c @@ -36,14 +36,14 @@ exceptions, then unmask SIGFPE in the MSR FE0/FE1 bits. This will put the hardware into "precise mode" and may cause the FPU to run slower on some @@ -184,9 +192,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fesetenv.c glibc-2.17-c758a686 (void)__fe_mask_env (); fesetenv_register (*envp); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feupdateenv.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/feupdateenv.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/feupdateenv.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/feupdateenv.c 2014-05-27 22:34:23.000000000 -0500 +--- a/sysdeps/powerpc/fpu/feupdateenv.c ++++ b/sysdeps/powerpc/fpu/feupdateenv.c @@ -36,20 +36,20 @@ /* Restore rounding mode and exception enable from *envp and merge exceptions. Leave fraction rounded/inexact and FP result/CC bits @@ -211,9 +218,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/feupdateenv.c glibc-2.17-c758a (void)__fe_mask_env (); /* Atomically enable and raise (if appropriate) exceptions set in `new'. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fgetexcptflg.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fgetexcptflg.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fgetexcptflg.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fgetexcptflg.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fgetexcptflg.c ++++ b/sysdeps/powerpc/fpu/fgetexcptflg.c @@ -28,7 +28,7 @@ u.fenv = fegetenv_register (); @@ -223,9 +229,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fgetexcptflg.c glibc-2.17-c758 /* Success. */ return 0; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fraiseexcpt.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fraiseexcpt.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fraiseexcpt.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fraiseexcpt.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fraiseexcpt.c ++++ b/sysdeps/powerpc/fpu/fraiseexcpt.c @@ -34,11 +34,11 @@ u.fenv = fegetenv_register (); @@ -252,9 +257,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fraiseexcpt.c glibc-2.17-c758a set_fpscr_bit (FPSCR_VXSNAN); } -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fsetexcptflg.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/fsetexcptflg.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fsetexcptflg.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fsetexcptflg.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/fsetexcptflg.c ++++ b/sysdeps/powerpc/fpu/fsetexcptflg.c @@ -32,10 +32,10 @@ flag = *flagp & excepts; @@ -270,9 +274,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fsetexcptflg.c glibc-2.17-c758 /* Store the new status word (along with the rest of the environment). This may cause floating-point exceptions if the restored state -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/ftestexcept.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/ftestexcept.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/ftestexcept.c 2014-05-27 22:31:42.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/ftestexcept.c 2014-05-27 22:31:43.000000000 -0500 +--- a/sysdeps/powerpc/fpu/ftestexcept.c ++++ b/sysdeps/powerpc/fpu/ftestexcept.c @@ -28,6 +28,6 @@ /* The FE_INVALID bit is dealt with correctly by the hardware, so we can diff --git a/packages/glibc/2.17/0036-glibc-ppc64le-14.patch b/packages/glibc/2.17/0036-glibc-ppc64le-14.patch index 9025fd7..769d12b 100644 --- a/packages/glibc/2.17/0036-glibc-ppc64le-14.patch +++ b/packages/glibc/2.17/0036-glibc-ppc64le-14.patch @@ -15,9 +15,12 @@ # use vector int constants. # (__float_and_test24, __float_and8, __float_get_exp): Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_float_bitwise.h glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_float_bitwise.h ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_float_bitwise.h 2014-05-27 22:37:18.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_float_bitwise.h 2014-05-27 22:37:20.000000000 -0500 +--- +# sysdeps/powerpc/fpu/s_float_bitwise.h | 54 ++++++++++++++++++---------------- +# 1 file changed, 29 insertions(+), 25 deletions(-) +# +--- a/sysdeps/powerpc/fpu/s_float_bitwise.h ++++ b/sysdeps/powerpc/fpu/s_float_bitwise.h @@ -23,18 +23,19 @@ #include diff --git a/packages/glibc/2.17/0037-glibc-ppc64le-15.patch b/packages/glibc/2.17/0037-glibc-ppc64le-15.patch index 29b3b54..1acfede 100644 --- a/packages/glibc/2.17/0037-glibc-ppc64le-15.patch +++ b/packages/glibc/2.17/0037-glibc-ppc64le-15.patch @@ -20,9 +20,13 @@ # * sysdeps/powerpc/fpu/s_llround.c (__llround): Rewrite. # * sysdeps/powerpc/fpu/s_llroundf.c (__llroundf): Rewrite. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c 2014-05-27 22:38:55.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c 2014-05-27 22:38:58.000000000 -0500 +--- +# sysdeps/powerpc/fpu/s_llround.c | 33 ++++++++++++++++----------------- +# sysdeps/powerpc/fpu/s_llroundf.c | 33 ++++++++++++++++----------------- +# 2 files changed, 32 insertions(+), 34 deletions(-) +# +--- a/sysdeps/powerpc/fpu/s_llround.c ++++ b/sysdeps/powerpc/fpu/s_llround.c @@ -19,29 +19,28 @@ #include #include @@ -69,9 +73,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llround.c glibc-2.17-c758a68 } weak_alias (__llround, llround) #ifdef NO_LONG_DOUBLE -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llroundf.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llroundf.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llroundf.c 2014-05-27 22:38:55.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/s_llroundf.c 2014-05-27 22:38:58.000000000 -0500 +--- a/sysdeps/powerpc/fpu/s_llroundf.c ++++ b/sysdeps/powerpc/fpu/s_llroundf.c @@ -18,28 +18,27 @@ #include diff --git a/packages/glibc/2.17/0038-glibc-ppc64le-16.patch b/packages/glibc/2.17/0038-glibc-ppc64le-16.patch index 0da0865..3f4bfba 100644 --- a/packages/glibc/2.17/0038-glibc-ppc64le-16.patch +++ b/packages/glibc/2.17/0038-glibc-ppc64le-16.patch @@ -13,9 +13,13 @@ # * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_GET_DI_FPSCR): Likewise. # (_SET_DI_FPSCR, _GET_SI_FPSCR, _SET_SI_FPSCR): Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fpu_control.h glibc-2.17-c758a686/sysdeps/powerpc/fpu/fpu_control.h ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/fpu_control.h 2014-05-27 22:40:18.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/fpu_control.h 2014-05-27 22:43:40.000000000 -0500 +--- +# sysdeps/powerpc/fpu/fpu_control.h | 32 ++++++----- +# sysdeps/powerpc/fpu/tst-setcontext-fpscr.c | 83 ++++++++++++++--------------- +# 2 files changed, 60 insertions(+), 55 deletions(-) +# +--- a/sysdeps/powerpc/fpu/fpu_control.h ++++ b/sysdeps/powerpc/fpu/fpu_control.h @@ -45,22 +45,26 @@ #define _FPU_IEEE 0x000000f0 @@ -57,9 +61,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/fpu_control.h glibc-2.17-c758a /* Default control word set at startup. */ extern fpu_control_t __fpu_control; -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c glibc-2.17-c758a686/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c 2014-05-27 22:40:18.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c 2014-05-27 22:40:21.000000000 -0500 +--- a/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c ++++ b/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c @@ -83,7 +83,7 @@ return 0; } diff --git a/packages/glibc/2.17/0039-glibc-ppc64le-17.patch b/packages/glibc/2.17/0039-glibc-ppc64le-17.patch index 5ed69a9..204c09e 100644 --- a/packages/glibc/2.17/0039-glibc-ppc64le-17.patch +++ b/packages/glibc/2.17/0039-glibc-ppc64le-17.patch @@ -28,9 +28,30 @@ # * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Use HISHORT. # * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysign.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysign.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysign.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysign.S 2014-05-27 22:45:46.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/fpu/s_copysign.S | 2 +- +# sysdeps/powerpc/powerpc32/fpu/s_copysignl.S | 2 +- +# sysdeps/powerpc/powerpc32/fpu/s_lrint.S | 4 ++-- +# sysdeps/powerpc/powerpc32/fpu/s_lround.S | 2 +- +# sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S | 2 +- +# sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S | 5 ++--- +# sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S | 7 +++---- +# sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S | 4 ++-- +# sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S | 6 ++---- +# sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S | 5 ++--- +# sysdeps/powerpc/sysdep.h | 15 +++++++++++++++ +# 19 files changed, 48 insertions(+), 38 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/fpu/s_copysign.S ++++ b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S @@ -29,7 +29,7 @@ stwu r1,-16(r1) cfi_adjust_cfa_offset (16) @@ -40,9 +61,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysign.S glibc-2 cmpwi r3,0 addi r1,r1,16 cfi_adjust_cfa_offset (-16) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S ++++ b/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S @@ -30,7 +30,7 @@ fmr fp0,fp1 fabs fp1,fp1 @@ -52,9 +72,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_copysignl.S glibc- cmpwi cr6,r3,0 addi r1,r1,16 cfi_adjust_cfa_offset (-16) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lrint.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lrint.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lrint.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lrint.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S ++++ b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S @@ -24,10 +24,10 @@ stwu r1,-16(r1) fctiw fp13,fp1 @@ -68,9 +87,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lrint.S glibc-2.17 addi r1,r1,16 blr END (__lrint) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lround.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lround.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S ++++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S @@ -67,7 +67,7 @@ nop /* Ensure the following load is in a different dispatch */ nop /* group to avoid pipe stall on POWER4&5. */ @@ -80,9 +98,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_lround.S glibc-2.1 .Lout: addi r1,r1,16 blr -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S 2014-05-27 22:48:09.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S ++++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S @@ -29,8 +29,8 @@ nop /* Insure the following load is in a different dispatch group */ nop /* to avoid pipe stall on POWER4&5. */ @@ -94,9 +111,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S gl addi r1,r1,16 blr END (__llrint) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S 2014-05-27 22:48:44.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S ++++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S @@ -28,8 +28,8 @@ nop /* Insure the following load is in a different dispatch group */ nop /* to avoid pipe stall on POWER4&5. */ @@ -108,9 +124,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S g addi r1,r1,16 blr END (__llrintf) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S ++++ b/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S @@ -27,8 +27,8 @@ ori r1,r1,0 stfd fp1,24(r1) /* copy FPR to GPR */ @@ -122,9 +137,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S gli lis r0,0x7ff0 /* const long r0 0x7ff00000 00000000 */ clrlwi r4,r4,1 /* x = fabs(x) */ cmpw cr7,r4,r0 /* if (fabs(x) =< inf) */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S ++++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S @@ -39,8 +39,8 @@ nop /* Ensure the following load is in a different dispatch */ nop /* group to avoid pipe stall on POWER4&5. */ @@ -136,9 +150,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S addi r1,r1,16 blr END (__llround) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S ++++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S @@ -38,7 +38,7 @@ nop /* Ensure the following load is in a different dispatch */ nop /* group to avoid pipe stall on POWER4&5. */ @@ -148,9 +161,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S g addi r1,r1,16 blr END (__lround) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S ++++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S @@ -27,8 +27,8 @@ ori r1,r1,0 stfd fp1,24(r1) /* copy FPR to GPR */ @@ -162,9 +174,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S gli lis r0,0x7ff0 /* const long r0 0x7ff00000 00000000 */ clrlwi r4,r4,1 /* x = fabs(x) */ cmpw cr7,r4,r0 /* if (fabs(x) =< inf) */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S 2014-05-27 22:46:52.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S ++++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S @@ -29,8 +29,8 @@ /* Insure the following load is in a different dispatch group by inserting "group ending nop". */ @@ -176,9 +187,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S gl addi r1,r1,16 blr END (__llrint) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S 2014-05-27 22:47:29.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S ++++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S @@ -28,8 +28,8 @@ /* Insure the following load is in a different dispatch group by inserting "group ending nop". */ @@ -190,9 +200,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S g addi r1,r1,16 blr END (__llrintf) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S ++++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S @@ -39,8 +39,8 @@ /* Insure the following load is in a different dispatch group by inserting "group ending nop". */ @@ -204,9 +213,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S g addi r1,r1,16 blr END (__llround) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S ++++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S @@ -54,9 +54,8 @@ stfd fp1,8(r1) /* Transfer FP to GPR's. */ @@ -219,9 +227,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S gl clrlwi r0,r0,17 /* r0 = abs(r0). */ addi r1,r1,16 /* Reset the stack pointer. */ cmpwi cr7,r0,0x7ff0 /* r4 == 0x7ff0?. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S ++++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S @@ -48,14 +48,13 @@ li r3,0 bflr 29 /* If not INF, return. */ @@ -240,9 +247,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S gli addi r1,r1,16 /* Reset the stack pointer. */ cmpwi cr7,r4,0x7ff0 /* r4 == 0x7ff0? */ li r3,1 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S ++++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S @@ -53,8 +53,8 @@ stwu r1,-16(r1) /* Allocate stack space. */ stfd fp1,8(r1) /* Transfer FP to GPR's. */ @@ -254,9 +260,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S gli addi r1,r1,16 /* Reset the stack pointer. */ lis r0,0x7ff0 /* Load the upper portion for an INF/NaN. */ clrlwi r4,r4,1 /* r4 = abs(r4). */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S ++++ b/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S @@ -39,10 +39,8 @@ stfd fp1,-16(r1) /* Transfer FP to GPR's. */ @@ -270,9 +275,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S gl clrlwi r4,r4,17 /* r4 = abs(r4). */ cmpwi cr7,r4,0x7ff0 /* r4 == 0x7ff0? */ bltlr cr7 /* LT means finite, other non-finite. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S ++++ b/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S @@ -38,9 +38,8 @@ stfd fp1,-16(r1) /* Transfer FP to GPR's. */ @@ -285,9 +289,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S gli cmpwi cr7,r4,0x7ff0 /* r4 == 0x7ff0? */ li r3,1 beqlr cr7 /* EQ means INF, otherwise -INF. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/sysdep.h glibc-2.17-c758a686/sysdeps/powerpc/sysdep.h ---- glibc-2.17-c758a686/sysdeps/powerpc/sysdep.h 2014-05-27 22:45:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/sysdep.h 2014-05-27 22:45:46.000000000 -0500 +--- a/sysdeps/powerpc/sysdep.h ++++ b/sysdeps/powerpc/sysdep.h @@ -144,6 +144,21 @@ #define VRSAVE 256 diff --git a/packages/glibc/2.17/0040-glibc-ppc64le-18.patch b/packages/glibc/2.17/0040-glibc-ppc64le-18.patch index f5e327e..7ed51b9 100644 --- a/packages/glibc/2.17/0040-glibc-ppc64le-18.patch +++ b/packages/glibc/2.17/0040-glibc-ppc64le-18.patch @@ -12,9 +12,13 @@ # constant for 0x1p52. Load little-endian words of double from # correct stack offsets. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_roundf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_roundf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_roundf.S 2014-05-27 22:50:13.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_roundf.S 2014-05-27 22:50:13.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/fpu/s_roundf.S | 3 +-- +# sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S | 20 +++++++++----------- +# 2 files changed, 10 insertions(+), 13 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/fpu/s_roundf.S ++++ b/sysdeps/powerpc/powerpc32/fpu/s_roundf.S @@ -19,7 +19,7 @@ #include @@ -32,9 +36,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/s_roundf.S glibc-2.1 lfs fp10,.LC1@l(r9) #endif ble- cr6,.L4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S 2014-05-27 22:50:13.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S 2014-05-27 22:50:13.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S ++++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S @@ -19,12 +19,10 @@ #include #include diff --git a/packages/glibc/2.17/0041-glibc-ppc64le-19.patch b/packages/glibc/2.17/0041-glibc-ppc64le-19.patch index bbf7228..9655e0b 100644 --- a/packages/glibc/2.17/0041-glibc-ppc64le-19.patch +++ b/packages/glibc/2.17/0041-glibc-ppc64le-19.patch @@ -15,9 +15,17 @@ # * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise. # * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S 2014-05-27 22:52:18.000000000 -0500 +--- +# sysdeps/powerpc/powerpc64/fpu/s_ceilf.S | 4 +++- +# sysdeps/powerpc/powerpc64/fpu/s_floorf.S | 4 +++- +# sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S | 4 +++- +# sysdeps/powerpc/powerpc64/fpu/s_rintf.S | 4 +++- +# sysdeps/powerpc/powerpc64/fpu/s_roundf.S | 6 ++++-- +# sysdeps/powerpc/powerpc64/fpu/s_truncf.S | 4 +++- +# 6 files changed, 19 insertions(+), 7 deletions(-) +# +--- a/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S @@ -19,8 +19,10 @@ #include @@ -30,9 +38,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S glibc-2.17 .section ".text" EALIGN (__ceilf, 4, 0) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_floorf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_floorf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_floorf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_floorf.S 2014-05-27 22:52:18.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/fpu/s_floorf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_floorf.S @@ -19,8 +19,10 @@ #include @@ -45,9 +52,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_floorf.S glibc-2.1 .section ".text" EALIGN (__floorf, 4, 0) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S 2014-05-27 22:52:18.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S @@ -26,8 +26,10 @@ /* float [fp1] nearbyintf(float [fp1]) */ @@ -60,9 +66,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S glibc .section ".text" EALIGN (__nearbyintf, 4, 0) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_rintf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_rintf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_rintf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_rintf.S 2014-05-27 22:52:18.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/fpu/s_rintf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_rintf.S @@ -19,8 +19,10 @@ #include @@ -75,9 +80,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_rintf.S glibc-2.17 .section ".text" EALIGN (__rintf, 4, 0) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_roundf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_roundf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_roundf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_roundf.S 2014-05-27 22:52:18.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/fpu/s_roundf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_roundf.S @@ -19,10 +19,12 @@ #include @@ -93,9 +97,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_roundf.S glibc-2.1 .section ".text" /* float [fp1] roundf (float x [fp1]) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_truncf.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_truncf.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_truncf.S 2014-05-27 22:52:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_truncf.S 2014-05-27 22:52:18.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/fpu/s_truncf.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_truncf.S @@ -19,8 +19,10 @@ #include diff --git a/packages/glibc/2.17/0042-glibc-ppc64le-20.patch b/packages/glibc/2.17/0042-glibc-ppc64le-20.patch index 1342f97..fe20d66 100644 --- a/packages/glibc/2.17/0042-glibc-ppc64le-20.patch +++ b/packages/glibc/2.17/0042-glibc-ppc64le-20.patch @@ -10,9 +10,12 @@ # * sysdeps/powerpc/powerpc32/power4/hp-timing.h (HP_TIMING_NOW): # Don't use a union to pack hi/low value. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h 2014-05-27 22:53:37.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h 2014-05-27 22:53:39.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power4/hp-timing.h | 21 +++++++++------------ +# 1 file changed, 9 insertions(+), 12 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power4/hp-timing.h ++++ b/sysdeps/powerpc/powerpc32/power4/hp-timing.h @@ -87,18 +87,15 @@ #define HP_TIMING_NOW(Var) \ diff --git a/packages/glibc/2.17/0043-glibc-ppc64le-21.patch b/packages/glibc/2.17/0043-glibc-ppc64le-21.patch index a945404..630b52a 100644 --- a/packages/glibc/2.17/0043-glibc-ppc64le-21.patch +++ b/packages/glibc/2.17/0043-glibc-ppc64le-21.patch @@ -26,9 +26,16 @@ # * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise CR save. Don't # destroy vmx regs when saving unaligned. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/jmpbuf-offsets.h glibc-2.17-c758a686/sysdeps/powerpc/jmpbuf-offsets.h ---- glibc-2.17-c758a686/sysdeps/powerpc/jmpbuf-offsets.h 2014-05-27 22:55:23.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/jmpbuf-offsets.h 2014-05-27 22:55:27.000000000 -0500 +--- +# sysdeps/powerpc/jmpbuf-offsets.h | 6 - +# sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S | 8 +- +# sysdeps/powerpc/powerpc32/fpu/setjmp-common.S | 81 +++++++++++------------ +# sysdeps/powerpc/powerpc64/__longjmp-common.S | 4 - +# sysdeps/powerpc/powerpc64/setjmp-common.S | 80 ++++++++++------------ +# 5 files changed, 86 insertions(+), 93 deletions(-) +# +--- a/sysdeps/powerpc/jmpbuf-offsets.h ++++ b/sysdeps/powerpc/jmpbuf-offsets.h @@ -21,12 +21,10 @@ #define JB_LR 2 /* The address we will return to */ #if __WORDSIZE == 64 @@ -44,9 +51,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/jmpbuf-offsets.h glibc-2.17-c758a6 # define JB_VRS 40 /* VRs 20 through 31 are saved, 12*4 words total. */ #else # define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S 2014-05-27 22:55:23.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S 2014-05-27 22:55:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S ++++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S @@ -46,16 +46,16 @@ # endif mtlr r6 @@ -68,9 +74,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S g # endif andis. r5,r5,(PPC_FEATURE_HAS_ALTIVEC >> 16) beq L(no_vmx) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S 2014-05-27 22:55:23.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S 2014-05-27 22:55:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S ++++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S @@ -97,14 +97,14 @@ # else lwz r5,_rtld_global_ro@got(r5) @@ -171,9 +176,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S glib b L(no_vmx) L(aligned_save_vmx): -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S 2014-05-27 22:55:23.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S 2014-05-27 22:55:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S ++++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S @@ -60,7 +60,7 @@ beq L(no_vmx) la r5,((JB_VRS)*8)(3) @@ -192,9 +196,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S glibc ld r23,((JB_GPRS+9)*8)(r3) lfd fp23,((JB_FPRS+9)*8)(r3) ld r24,((JB_GPRS+10)*8)(r3) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-27 22:55:23.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-27 22:55:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/setjmp-common.S ++++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -98,7 +98,7 @@ mfcr r0 std r16,((JB_GPRS+2)*8)(3) diff --git a/packages/glibc/2.17/0044-glibc-ppc64le-22.patch b/packages/glibc/2.17/0044-glibc-ppc64le-22.patch index 12a0ff0..657fbae 100644 --- a/packages/glibc/2.17/0044-glibc-ppc64le-22.patch +++ b/packages/glibc/2.17/0044-glibc-ppc64le-22.patch @@ -24,9 +24,21 @@ # * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. # * nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Likewise. # -diff -urN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c ---- glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c 2014-05-27 23:22:12.000000000 -0500 -+++ glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c 2014-05-27 23:23:44.000000000 -0500 +--- +# nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c | 13 ++++--------- +# sysdeps/powerpc/longjmp.c | 6 +++--- +# sysdeps/powerpc/novmx-longjmp.c | 12 +++--------- +# sysdeps/powerpc/powerpc32/bsd-_setjmp.S | 4 ++-- +# sysdeps/powerpc/powerpc32/bsd-setjmp.S | 4 ++-- +# sysdeps/powerpc/powerpc32/fpu/__longjmp.S | 4 ++-- +# sysdeps/powerpc/powerpc32/fpu/setjmp.S | 4 ++-- +# sysdeps/powerpc/powerpc32/mcount.c | 2 +- +# sysdeps/powerpc/powerpc32/setjmp.S | 4 ++-- +# sysdeps/powerpc/powerpc64/setjmp.S | 12 ++++++------ +# 10 files changed, 27 insertions(+), 38 deletions(-) +# +--- a/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c ++++ b/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c @@ -41,13 +41,8 @@ __novmx__libc_longjmp (env, val); } @@ -51,9 +63,8 @@ diff -urN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c -versioned_symbol (libc, __vmx_siglongjmp, siglongjmp, GLIBC_2_3_4); +versioned_symbol (libpthread, __vmx_longjmp, longjmp, GLIBC_2_3_4); +versioned_symbol (libpthread, __vmx_siglongjmp, siglongjmp, GLIBC_2_3_4); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/longjmp.c glibc-2.17-c758a686/sysdeps/powerpc/longjmp.c ---- glibc-2.17-c758a686/sysdeps/powerpc/longjmp.c 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/longjmp.c 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/longjmp.c ++++ b/sysdeps/powerpc/longjmp.c @@ -56,6 +56,6 @@ default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_PRIVATE); @@ -64,9 +75,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/longjmp.c glibc-2.17-c758a686/sysd +versioned_symbol (libc, __vmx_longjmp, _longjmp, GLIBC_2_3_4); +versioned_symbol (libc, __vmxlongjmp, longjmp, GLIBC_2_3_4); +versioned_symbol (libc, __vmxsiglongjmp, siglongjmp, GLIBC_2_3_4); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/novmx-longjmp.c glibc-2.17-c758a686/sysdeps/powerpc/novmx-longjmp.c ---- glibc-2.17-c758a686/sysdeps/powerpc/novmx-longjmp.c 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/novmx-longjmp.c 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/novmx-longjmp.c ++++ b/sysdeps/powerpc/novmx-longjmp.c @@ -51,13 +51,7 @@ weak_alias (__novmx__libc_siglongjmp, __novmxlongjmp) weak_alias (__novmx__libc_siglongjmp, __novmxsiglongjmp) @@ -84,9 +94,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/novmx-longjmp.c glibc-2.17-c758a68 +compat_symbol (libc, __novmxlongjmp, longjmp, GLIBC_2_0); +compat_symbol (libc, __novmxsiglongjmp, siglongjmp, GLIBC_2_0); #endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)) */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-_setjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-_setjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-_setjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-_setjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/bsd-_setjmp.S ++++ b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S @@ -32,7 +32,7 @@ /* Build a versioned object for libc. */ @@ -105,9 +114,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-_setjmp.S glibc-2.17 /* __GI__setjmp prototype is needed for ntpl i.e. _setjmp is defined as a libc_hidden_proto & is used in sysdeps/generic/libc-start.c if HAVE_CLEANUP_JMP_BUF is defined */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-setjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-setjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-setjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-setjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/bsd-setjmp.S ++++ b/sysdeps/powerpc/powerpc32/bsd-setjmp.S @@ -27,7 +27,7 @@ b __novmx__sigsetjmp@local END (__novmxsetjmp) @@ -123,9 +131,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/bsd-setjmp.S glibc-2.17- strong_alias (__vmx__setjmp, __setjmp) -default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4) +versioned_symbol (libc, __vmxsetjmp, setjmp, GLIBC_2_3_4) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/__longjmp.S ++++ b/sysdeps/powerpc/powerpc32/fpu/__longjmp.S @@ -26,14 +26,14 @@ #else /* !NOT_IN_libc */ @@ -143,9 +150,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/__longjmp.S glibc-2. # undef __longjmp # define __longjmp __novmx__longjmp # include "__longjmp-common.S" -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/fpu/setjmp.S ++++ b/sysdeps/powerpc/powerpc32/fpu/setjmp.S @@ -26,7 +26,7 @@ #else /* !NOT_IN_libc */ @@ -164,9 +170,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/fpu/setjmp.S glibc-2.17- # define __sigsetjmp __novmx__sigsetjmp # define __sigjmp_save __novmx__sigjmp_save # include "setjmp-common.S" -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/mcount.c glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/mcount.c ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/mcount.c 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/mcount.c 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/mcount.c ++++ b/sysdeps/powerpc/powerpc32/mcount.c @@ -9,7 +9,7 @@ /* __mcount_internal was added in glibc 2.15 with version GLIBC_PRIVATE, but it should have been put in version GLIBC_2.15. Mark the @@ -176,9 +181,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/mcount.c glibc-2.17-c758 #if SHLIB_COMPAT (libc, GLIBC_2_15, GLIBC_2_16) strong_alias (___mcount_internal, ___mcount_internal_private); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/setjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/setjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/setjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/setjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/setjmp.S ++++ b/sysdeps/powerpc/powerpc32/setjmp.S @@ -25,7 +25,7 @@ #else /* !NOT_IN_libc */ @@ -197,9 +201,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/setjmp.S glibc-2.17-c758 # define __sigsetjmp __novmx__sigsetjmp # define __sigjmp_save __novmx__sigjmp_save # include "setjmp-common.S" -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp.S 2014-05-27 23:22:10.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp.S 2014-05-27 23:22:12.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/setjmp.S ++++ b/sysdeps/powerpc/powerpc64/setjmp.S @@ -26,9 +26,9 @@ #else /* !NOT_IN_libc */ diff --git a/packages/glibc/2.17/0045-glibc-ppc64le-23.patch b/packages/glibc/2.17/0045-glibc-ppc64le-23.patch index 00288b9..aa2fd93 100644 --- a/packages/glibc/2.17/0045-glibc-ppc64le-23.patch +++ b/packages/glibc/2.17/0045-glibc-ppc64le-23.patch @@ -12,9 +12,14 @@ # * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Ditto. # * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Ditto. # -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S 2014-05-27 23:25:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S 2014-05-27 23:25:38.000000000 -0500 +--- +# sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S | 8 ++--- +# sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S | 8 ++--- +# sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S | 16 +++++----- +# 3 files changed, 16 insertions(+), 16 deletions(-) +# +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S @@ -151,15 +151,15 @@ # ifdef SHARED lwz r7,_rtld_global_ro@got(r7) @@ -35,9 +40,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/getconte # endif andis. r7,r7,(PPC_FEATURE_HAS_ALTIVEC >> 16) -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S 2014-05-27 23:25:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S 2014-05-27 23:25:38.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S @@ -79,15 +79,15 @@ # ifdef SHARED lwz r7,_rtld_global_ro@got(r7) @@ -58,9 +62,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/setconte #endif #ifdef __CONTEXT_ENABLE_FPRS -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S 2014-05-27 23:25:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S 2014-05-27 23:25:38.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S @@ -152,15 +152,15 @@ # ifdef SHARED lwz r7,_rtld_global_ro@got(r7) diff --git a/packages/glibc/2.17/0046-glibc-ppc64le-24.patch b/packages/glibc/2.17/0046-glibc-ppc64le-24.patch index 5870d4f..ee0b7d8 100644 --- a/packages/glibc/2.17/0046-glibc-ppc64le-24.patch +++ b/packages/glibc/2.17/0046-glibc-ppc64le-24.patch @@ -12,9 +12,13 @@ # conditional form of branch and link when obtaining pc. # * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S 2014-05-28 12:25:49.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S 2014-05-28 12:25:51.000000000 -0500 +--- +# sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S | 8 ++++++-- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S | 6 ++++-- +# 2 files changed, 10 insertions(+), 4 deletions(-) +# +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S @@ -47,7 +47,9 @@ #ifdef PIC mflr r0 @@ -37,9 +41,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecont 1: mflr r6 addi r6,r6,L(novec_exitcode)-1b mtlr r0 -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-28 12:25:49.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-28 12:25:51.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S @@ -124,8 +124,10 @@ /* If the target function returns we need to do some cleanup. We use a diff --git a/packages/glibc/2.17/0047-glibc-ppc64le-25.patch b/packages/glibc/2.17/0047-glibc-ppc64le-25.patch index 144d3f3..c7d741a 100644 --- a/packages/glibc/2.17/0047-glibc-ppc64le-25.patch +++ b/packages/glibc/2.17/0047-glibc-ppc64le-25.patch @@ -30,9 +30,15 @@ # Rearrange tmp reg use to suit. Comment. # * sysdeps/powerpc/powerpc32/strlen.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strlen.S 2014-05-28 12:28:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strlen.S 2014-05-28 12:28:45.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power7/strlen.S | 17 ++++-- +# sysdeps/powerpc/powerpc32/strlen.S | 69 ++++++++++++++++++++------ +# sysdeps/powerpc/powerpc64/power7/strlen.S | 17 ++++-- +# sysdeps/powerpc/powerpc64/strlen.S | 77 +++++++++++++++++++++--------- +# 4 files changed, 132 insertions(+), 48 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power7/strlen.S ++++ b/sysdeps/powerpc/powerpc32/power7/strlen.S @@ -31,7 +31,11 @@ li r0,0 /* Word with null chars to use with cmpb. */ li r5,-1 /* MASK = 0xffffffffffffffff. */ @@ -73,9 +79,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strlen.S glibc-2. add r3,r5,r0 /* Compute final length. */ blr END (BP_SYM (strlen)) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strlen.S 2014-05-28 12:28:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strlen.S 2014-05-28 12:32:24.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/strlen.S ++++ b/sysdeps/powerpc/powerpc32/strlen.S @@ -31,7 +31,12 @@ 1 is subtracted you get a value in the range 0x00-0x7f, none of which have their high bit set. The expression here is @@ -212,9 +217,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strlen.S glibc-2.17-c758 + END (BP_SYM (strlen)) libc_hidden_builtin_def (strlen) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strlen.S 2014-05-28 12:28:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strlen.S 2014-05-28 12:28:45.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/strlen.S ++++ b/sysdeps/powerpc/powerpc64/power7/strlen.S @@ -32,7 +32,11 @@ with cmpb. */ li r5,-1 /* MASK = 0xffffffffffffffff. */ @@ -255,9 +259,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strlen.S glibc-2. add r3,r5,r0 /* Compute final length. */ blr END (BP_SYM (strlen)) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strlen.S 2014-05-28 12:28:44.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strlen.S 2014-05-28 12:38:17.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/strlen.S ++++ b/sysdeps/powerpc/powerpc64/strlen.S @@ -31,7 +31,12 @@ 1 is subtracted you get a value in the range 0x00-0x7f, none of which have their high bit set. The expression here is diff --git a/packages/glibc/2.17/0048-glibc-ppc64le-26.patch b/packages/glibc/2.17/0048-glibc-ppc64le-26.patch index 93fd255..7b10bfb 100644 --- a/packages/glibc/2.17/0048-glibc-ppc64le-26.patch +++ b/packages/glibc/2.17/0048-glibc-ppc64le-26.patch @@ -17,9 +17,13 @@ # Delete "zero" tail, use "end_max" instead. # * sysdeps/powerpc/powerpc32/power7/strnlen.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strnlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strnlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strnlen.S 2014-05-28 12:40:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strnlen.S 2014-05-28 12:44:52.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power7/strnlen.S | 106 ++++++++++++++------------- +# sysdeps/powerpc/powerpc64/power7/strnlen.S | 111 +++++++++++++++-------------- +# 2 files changed, 115 insertions(+), 102 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power7/strnlen.S ++++ b/sysdeps/powerpc/powerpc32/power7/strnlen.S @@ -30,51 +30,47 @@ add r7,r3,r4 /* Calculate the last acceptable address. */ cmplwi r4,16 @@ -194,9 +198,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strnlen.S glibc-2 END (BP_SYM (__strnlen)) weak_alias (BP_SYM (__strnlen), BP_SYM(strnlen)) libc_hidden_builtin_def (strnlen) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strnlen.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strnlen.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strnlen.S 2014-05-28 12:40:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strnlen.S 2014-05-28 13:24:41.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/strnlen.S ++++ b/sysdeps/powerpc/powerpc64/power7/strnlen.S @@ -26,33 +26,29 @@ ENTRY (BP_SYM (__strnlen)) CALL_MCOUNT 2 diff --git a/packages/glibc/2.17/0049-glibc-ppc64le-27.patch b/packages/glibc/2.17/0049-glibc-ppc64le-27.patch index 83ca794..188cdf2 100644 --- a/packages/glibc/2.17/0049-glibc-ppc64le-27.patch +++ b/packages/glibc/2.17/0049-glibc-ppc64le-27.patch @@ -23,9 +23,19 @@ # * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise. # * sysdeps/powerpc/powerpc32/power7/strncmp.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/strncmp.S 2014-05-28 13:27:02.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power4/strncmp.S | 56 ++++++++++++++++++------ +# sysdeps/powerpc/powerpc32/power7/strncmp.S | 55 +++++++++++++++++------- +# sysdeps/powerpc/powerpc32/strcmp.S | 42 +++++++++++++++++- +# sysdeps/powerpc/powerpc32/strncmp.S | 56 ++++++++++++++++++------ +# sysdeps/powerpc/powerpc64/power4/strncmp.S | 63 ++++++++++++++++++++++++---- +# sysdeps/powerpc/powerpc64/power7/strncmp.S | 61 +++++++++++++++++++++++---- +# sysdeps/powerpc/powerpc64/strcmp.S | 65 ++++++++++++++++++++++++----- +# sysdeps/powerpc/powerpc64/strncmp.S | 65 ++++++++++++++++++++++++----- +# 8 files changed, 381 insertions(+), 82 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power4/strncmp.S ++++ b/sysdeps/powerpc/powerpc32/power4/strncmp.S @@ -26,7 +26,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) @@ -124,9 +134,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/strncmp.S glibc-2 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strncmp.S 2014-05-28 13:27:02.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/strncmp.S ++++ b/sysdeps/powerpc/powerpc32/power7/strncmp.S @@ -28,7 +28,7 @@ EALIGN (BP_SYM(strncmp),5,0) @@ -225,9 +234,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strncmp.S glibc-2 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcmp.S 2014-05-28 13:27:02.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/strcmp.S ++++ b/sysdeps/powerpc/powerpc32/strcmp.S @@ -26,7 +26,7 @@ EALIGN (BP_SYM (strcmp), 4, 0) @@ -301,9 +309,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcmp.S glibc-2.17-c758 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strncmp.S 2014-05-28 13:27:02.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/strncmp.S ++++ b/sysdeps/powerpc/powerpc32/strncmp.S @@ -26,7 +26,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) @@ -402,9 +409,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strncmp.S glibc-2.17-c75 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/strncmp.S 2014-05-28 13:27:02.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power4/strncmp.S ++++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S @@ -27,7 +27,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) CALL_MCOUNT 3 @@ -516,9 +522,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/strncmp.S glibc-2 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strncmp.S 2014-05-28 13:27:02.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/strncmp.S ++++ b/sysdeps/powerpc/powerpc64/power7/strncmp.S @@ -29,7 +29,7 @@ EALIGN (BP_SYM(strncmp),5,0) CALL_MCOUNT 3 @@ -628,9 +633,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strncmp.S glibc-2 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcmp.S 2014-05-28 13:37:15.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/strcmp.S ++++ b/sysdeps/powerpc/powerpc64/strcmp.S @@ -27,7 +27,7 @@ EALIGN (BP_SYM(strcmp), 4, 0) CALL_MCOUNT 2 @@ -743,9 +747,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcmp.S glibc-2.17-c758 /* Oh well. In this case, we just do a byte-by-byte comparison. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strncmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strncmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strncmp.S 2014-05-28 13:26:59.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strncmp.S 2014-05-28 13:38:31.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/strncmp.S ++++ b/sysdeps/powerpc/powerpc64/strncmp.S @@ -27,7 +27,7 @@ EALIGN (BP_SYM(strncmp), 4, 0) CALL_MCOUNT 3 diff --git a/packages/glibc/2.17/0050-glibc-ppc64le-28.patch b/packages/glibc/2.17/0050-glibc-ppc64le-28.patch index 05f63e9..e3e23d7 100644 --- a/packages/glibc/2.17/0050-glibc-ppc64le-28.patch +++ b/packages/glibc/2.17/0050-glibc-ppc64le-28.patch @@ -16,9 +16,15 @@ # * sysdeps/powerpc/powerpc64/stpcpy.S: Likewise. # * sysdeps/powerpc/powerpc32/stpcpy.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/stpcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/stpcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/stpcpy.S 2014-05-28 13:40:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/stpcpy.S 2014-05-28 13:40:01.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/stpcpy.S | 18 +++++++++++++++++- +# sysdeps/powerpc/powerpc32/strcpy.S | 18 +++++++++++++++++- +# sysdeps/powerpc/powerpc64/stpcpy.S | 18 +++++++++++++++++- +# sysdeps/powerpc/powerpc64/strcpy.S | 27 +++++++++++++++++++++++++++ +# 4 files changed, 78 insertions(+), 3 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/stpcpy.S ++++ b/sysdeps/powerpc/powerpc32/stpcpy.S @@ -74,7 +74,22 @@ mr rALT, rWORD @@ -51,9 +57,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/stpcpy.S glibc-2.17-c758 /* Oh well. In this case, we just do a byte-by-byte copy. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcpy.S 2014-05-28 13:40:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcpy.S 2014-05-28 13:40:01.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/strcpy.S ++++ b/sysdeps/powerpc/powerpc32/strcpy.S @@ -78,7 +78,22 @@ mr rALT, rWORD @@ -86,9 +91,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strcpy.S glibc-2.17-c758 /* Oh well. In this case, we just do a byte-by-byte copy. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/stpcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/stpcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/stpcpy.S 2014-05-28 13:40:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/stpcpy.S 2014-05-28 13:40:01.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/stpcpy.S ++++ b/sysdeps/powerpc/powerpc64/stpcpy.S @@ -75,7 +75,22 @@ mr rALT, rWORD @@ -121,9 +125,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/stpcpy.S glibc-2.17-c758 /* Oh well. In this case, we just do a byte-by-byte copy. */ .align 4 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcpy.S 2014-05-28 13:40:01.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strcpy.S 2014-05-28 13:40:01.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/strcpy.S ++++ b/sysdeps/powerpc/powerpc64/strcpy.S @@ -90,6 +90,32 @@ mr rALT, rWORD /* We've hit the end of the string. Do the rest byte-by-byte. */ diff --git a/packages/glibc/2.17/0051-glibc-ppc64le-29.patch b/packages/glibc/2.17/0051-glibc-ppc64le-29.patch index 291155e..f0817e5 100644 --- a/packages/glibc/2.17/0051-glibc-ppc64le-29.patch +++ b/packages/glibc/2.17/0051-glibc-ppc64le-29.patch @@ -30,11 +30,18 @@ # earlier in tail. # * sysdeps/powerpc/powerpc32/strchr.S: Likewise. # -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S -@@ -37,8 +37,8 @@ ENTRY (BP_SYM(strchr)) +--- +# sysdeps/powerpc/powerpc32/power7/strchr.S | 51 +++++++++++++----- +# sysdeps/powerpc/powerpc32/power7/strchrnul.S | 27 +++++++-- +# sysdeps/powerpc/powerpc32/strchr.S | 71 ++++++++++++++++++------- +# sysdeps/powerpc/powerpc64/power7/strchr.S | 43 ++++++++++++--- +# sysdeps/powerpc/powerpc64/power7/strchrnul.S | 19 +++++- +# sysdeps/powerpc/powerpc64/strchr.S | 75 +++++++++++++++++++-------- +# 6 files changed, 212 insertions(+), 74 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power7/strchr.S ++++ b/sysdeps/powerpc/powerpc32/power7/strchr.S +@@ -37,8 +37,8 @@ beq cr7,L(null_match) /* Replicate byte to word. */ @@ -45,7 +52,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S /* Now r4 has a word of c bytes and r0 has a word of null bytes. */ -@@ -48,11 +48,17 @@ ENTRY (BP_SYM(strchr)) +@@ -48,11 +48,17 @@ /* Move the words left and right to discard the bits that are not part of the string and to bring them back as zeros. */ @@ -64,7 +71,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S or r5,r10,r11 /* OR the results to speed things up. */ cmpwi cr7,r5,0 /* If r5 == 0, no c or null bytes have been found. */ -@@ -67,7 +73,7 @@ ENTRY (BP_SYM(strchr)) +@@ -67,7 +73,7 @@ /* Handle WORD2 of pair. */ lwzu r12,4(r8) @@ -73,7 +80,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S cmpb r11,r12,r0 or r5,r10,r11 cmpwi cr7,r5,0 -@@ -102,22 +108,31 @@ L(loop): +@@ -102,22 +108,31 @@ bne cr6,L(done) /* The c/null byte must be in the second word. Adjust the address @@ -112,7 +119,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S add r3,r8,r0 /* Return address of the matching c byte or null in case c was not found. */ blr -@@ -135,10 +150,14 @@ L(null_match): +@@ -135,10 +150,14 @@ cmpb r5,r12,r0 /* Compare each byte against null bytes. */ /* Move the words left and right to discard the bits that are @@ -129,7 +136,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S cmpwi cr7,r5,0 /* If r10 == 0, no c or null bytes have been found. */ bne cr7,L(done_null) -@@ -193,7 +212,13 @@ L(loop_null): +@@ -193,7 +212,13 @@ 0xff in the same position as the null byte in the original word from the string. Use that to calculate the pointer. */ L(done_null): @@ -143,11 +150,9 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchr.S srwi r0,r0,3 /* Convert leading zeros to bytes. */ add r3,r8,r0 /* Return address of the matching null byte. */ blr -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S -@@ -29,8 +29,8 @@ ENTRY (BP_SYM(__strchrnul)) +--- a/sysdeps/powerpc/powerpc32/power7/strchrnul.S ++++ b/sysdeps/powerpc/powerpc32/power7/strchrnul.S +@@ -29,8 +29,8 @@ clrrwi r8,r3,2 /* Align the address to word boundary. */ /* Replicate byte to word. */ @@ -158,7 +163,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S rlwinm r6,r3,3,27,28 /* Calculate padding. */ lwz r12,0(r8) /* Load word from memory. */ -@@ -45,10 +45,17 @@ ENTRY (BP_SYM(__strchrnul)) +@@ -45,10 +45,17 @@ /* Move the words left and right to discard the bits that are not part of the string and bring them back as zeros. */ @@ -176,7 +181,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S or r5,r9,r10 /* OR the results to speed things up. */ cmpwi cr7,r5,0 /* If r5 == 0, no c or null bytes have been found. */ -@@ -56,7 +63,7 @@ ENTRY (BP_SYM(__strchrnul)) +@@ -56,7 +63,7 @@ mtcrf 0x01,r8 @@ -185,7 +190,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S the main loop. Otherwise, go through the alignment code. */ bt 29,L(loop) -@@ -78,7 +85,7 @@ L(loop): +@@ -78,7 +85,7 @@ single register for speed. This is an attempt to speed up the null-checking process for bigger strings. */ lwz r12,4(r8) @@ -194,7 +199,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S cmpb r10,r12,r0 cmpb r9,r12,r4 cmpb r6,r11,r0 -@@ -97,9 +104,9 @@ L(loop): +@@ -97,9 +104,9 @@ addi r8,r8,-4 bne cr6,L(done) @@ -207,7 +212,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S mr r5,r10 addi r8,r8,4 -@@ -107,7 +114,13 @@ L(loop): +@@ -107,7 +114,13 @@ 0xff in the same position as the c/null byte in the original word from the string. Use that to calculate the pointer. */ L(done): @@ -221,11 +226,9 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/strchrnul.S srwi r0,r0,3 /* Convert leading zeros to bytes. */ add r3,r8,r0 /* Return address of matching c/null byte. */ blr -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S -@@ -44,6 +44,8 @@ ENTRY (BP_SYM (strchr)) +--- a/sysdeps/powerpc/powerpc32/strchr.S ++++ b/sysdeps/powerpc/powerpc32/strchr.S +@@ -44,6 +44,8 @@ #define rIGN r10 /* number of bits we should ignore in the first word */ #define rMASK r11 /* mask with the bits to ignore set to 0 */ #define rTMP3 r12 @@ -234,7 +237,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S CHECK_BOUNDS_LOW (rSTR, rTMP1, rTMP2) STORE_RETURN_BOUNDS (rTMP1, rTMP2) -@@ -59,53 +61,74 @@ ENTRY (BP_SYM (strchr)) +@@ -59,53 +61,74 @@ addi r7F7F, r7F7F, 0x7f7f /* Test the first (partial?) word. */ lwz rWORD, 0(rSTR) @@ -327,7 +330,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S srwi rCLZB, rCLZB, 3 add rRTN, rSTR, rCLZB CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, twlge) -@@ -113,13 +136,21 @@ L(missed): +@@ -113,13 +136,21 @@ blr L(foundit): @@ -351,11 +354,9 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/strchr.S add rRTN, rSTR, rCLZB CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, twlge) STORE_RETURN_VALUE (rSTR) -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S -@@ -37,8 +37,8 @@ ENTRY (BP_SYM(strchr)) +--- a/sysdeps/powerpc/powerpc64/power7/strchr.S ++++ b/sysdeps/powerpc/powerpc64/power7/strchr.S +@@ -37,8 +37,8 @@ beq cr7,L(null_match) /* Replicate byte to doubleword. */ @@ -366,7 +367,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S insrdi r4,r4,32,0 /* Now r4 has a doubleword of c bytes and r0 has -@@ -49,11 +49,17 @@ ENTRY (BP_SYM(strchr)) +@@ -49,11 +49,17 @@ /* Move the doublewords left and right to discard the bits that are not part of the string and bring them back as zeros. */ @@ -385,7 +386,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S or r5,r10,r11 /* OR the results to speed things up. */ cmpdi cr7,r5,0 /* If r5 == 0, no c or null bytes have been found. */ -@@ -110,15 +116,24 @@ L(loop): +@@ -110,15 +116,24 @@ mr r11,r7 addi r8,r8,8 @@ -415,7 +416,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S add r3,r8,r0 /* Return address of the matching c byte or null in case c was not found. */ blr -@@ -137,9 +152,13 @@ L(null_match): +@@ -137,9 +152,13 @@ /* Move the doublewords left and right to discard the bits that are not part of the string and bring them back as zeros. */ @@ -430,7 +431,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S cmpdi cr7,r5,0 /* If r10 == 0, no c or null bytes have been found. */ bne cr7,L(done_null) -@@ -194,7 +213,13 @@ L(loop_null): +@@ -194,7 +213,13 @@ 0xff in the same position as the null byte in the original doubleword from the string. Use that to calculate the pointer. */ L(done_null): @@ -444,11 +445,9 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchr.S srdi r0,r0,3 /* Convert leading zeros to bytes. */ add r3,r8,r0 /* Return address of the matching null byte. */ blr -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S -@@ -29,8 +29,8 @@ ENTRY (BP_SYM(__strchrnul)) +--- a/sysdeps/powerpc/powerpc64/power7/strchrnul.S ++++ b/sysdeps/powerpc/powerpc64/power7/strchrnul.S +@@ -29,8 +29,8 @@ clrrdi r8,r3,3 /* Align the address to doubleword boundary. */ /* Replicate byte to doubleword. */ @@ -459,7 +458,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S insrdi r4,r4,32,0 rlwinm r6,r3,3,26,28 /* Calculate padding. */ -@@ -46,10 +46,17 @@ ENTRY (BP_SYM(__strchrnul)) +@@ -46,10 +46,17 @@ /* Move the doublewords left and right to discard the bits that are not part of the string and to bring them back as zeros. */ @@ -477,7 +476,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S or r5,r9,r10 /* OR the results to speed things up. */ cmpdi cr7,r5,0 /* If r5 == 0, no c or null bytes have been found. */ -@@ -99,7 +106,7 @@ L(loop): +@@ -99,7 +106,7 @@ bne cr6,L(done) /* The c/null byte must be in the second doubleword. Adjust the @@ -486,7 +485,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S the pointer. */ mr r5,r10 addi r8,r8,8 -@@ -108,7 +115,13 @@ L(loop): +@@ -108,7 +115,13 @@ 0xff in the same position as the c/null byte in the original doubleword from the string. Use that to calculate the pointer. */ L(done): @@ -500,11 +499,9 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/strchrnul.S srdi r0,r0,3 /* Convert leading zeros to bytes. */ add r3,r8,r0 /* Return address of matching c/null byte. */ blr -Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strchr.S -=================================================================== ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strchr.S.orig -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strchr.S -@@ -50,14 +50,16 @@ ENTRY (BP_SYM (strchr)) +--- a/sysdeps/powerpc/powerpc64/strchr.S ++++ b/sysdeps/powerpc/powerpc64/strchr.S +@@ -50,14 +50,16 @@ #define rIGN r10 /* number of bits we should ignore in the first word */ #define rMASK r11 /* mask with the bits to ignore set to 0 */ #define rTMP3 r12 @@ -523,7 +520,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strchr.S rlwinm rIGN, rRTN, 3, 26, 28 insrdi rCHR, rCHR, 32, 0 lis rFEFE, -0x101 -@@ -70,53 +72,74 @@ ENTRY (BP_SYM (strchr)) +@@ -70,53 +72,74 @@ add rFEFE, rFEFE, rTMP1 /* Test the first (partial?) word. */ ld rWORD, 0(rSTR) @@ -616,7 +613,7 @@ Index: glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/strchr.S srdi rCLZB, rCLZB, 3 add rRTN, rSTR, rCLZB CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, tdlge) -@@ -124,13 +147,21 @@ L(missed): +@@ -124,13 +147,21 @@ blr L(foundit): diff --git a/packages/glibc/2.17/0052-glibc-ppc64le-30.patch b/packages/glibc/2.17/0052-glibc-ppc64le-30.patch index 3834dcc..0b8f04a 100644 --- a/packages/glibc/2.17/0052-glibc-ppc64le-30.patch +++ b/packages/glibc/2.17/0052-glibc-ppc64le-30.patch @@ -34,9 +34,15 @@ # addi 1,1,64 to pop stack frame. Simplify return value code. # * sysdeps/powerpc/powerpc32/power4/memcmp.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcmp.S 2014-05-28 19:22:37.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcmp.S 2014-05-28 23:55:52.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power4/memcmp.S | 1070 +++++++++++++------ +# sysdeps/powerpc/powerpc32/power7/memcmp.S | 1624 ++++++++++++++++++----------- +# sysdeps/powerpc/powerpc64/power4/memcmp.S | 1156 ++++++++++++++------- +# sysdeps/powerpc/powerpc64/power7/memcmp.S | 1648 ++++++++++++++++++------------ +# 4 files changed, 3523 insertions(+), 1975 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power4/memcmp.S ++++ b/sysdeps/powerpc/powerpc32/power4/memcmp.S @@ -1,4 +1,4 @@ -/* Optimized strcmp implementation for PowerPC64. +/* Optimized strcmp implementation for PowerPC32. @@ -1700,9 +1706,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcmp.S glibc-2. blr END (BP_SYM (memcmp)) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcmp.S 2014-05-28 19:22:37.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcmp.S 2014-05-28 21:44:57.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/memcmp.S ++++ b/sysdeps/powerpc/powerpc32/power7/memcmp.S @@ -25,10 +25,9 @@ size_t size [r5]) */ @@ -3663,9 +3668,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcmp.S glibc-2. + libc_hidden_builtin_def (memcmp) weak_alias (memcmp,bcmp) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcmp.S 2014-05-28 19:22:37.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcmp.S 2014-05-29 09:35:25.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power4/memcmp.S ++++ b/sysdeps/powerpc/powerpc64/power4/memcmp.S @@ -1,5 +1,5 @@ -/* Optimized strcmp implementation for PowerPC64. - Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc. @@ -5395,9 +5399,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcmp.S glibc-2. +END (memcmp) libc_hidden_builtin_def (memcmp) weak_alias (memcmp, bcmp) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcmp.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcmp.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcmp.S 2014-05-28 19:22:37.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcmp.S 2014-05-29 09:35:08.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/memcmp.S ++++ b/sysdeps/powerpc/powerpc64/power7/memcmp.S @@ -1,5 +1,5 @@ /* Optimized memcmp implementation for POWER7/PowerPC64. - Copyright (C) 2010, 2011 Free Software Foundation, Inc. diff --git a/packages/glibc/2.17/0053-glibc-ppc64le-31.patch b/packages/glibc/2.17/0053-glibc-ppc64le-31.patch index de90661..8f8fa74 100644 --- a/packages/glibc/2.17/0053-glibc-ppc64le-31.patch +++ b/packages/glibc/2.17/0053-glibc-ppc64le-31.patch @@ -21,9 +21,20 @@ # * sysdeps/powerpc/powerpc64/power7/mempcpy.S: Likewise. Make better # use of regs. Use power7 mtocrf. Tidy function tails. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power4/memcpy.S | 58 ++ +# sysdeps/powerpc/powerpc32/power6/memcpy.S | 81 +++ +# sysdeps/powerpc/powerpc32/power7/memcpy.S | 24 +# sysdeps/powerpc/powerpc32/power7/mempcpy.S | 28 - +# sysdeps/powerpc/powerpc64/memcpy.S | 27 + +# sysdeps/powerpc/powerpc64/power4/memcpy.S | 157 ++++-- +# sysdeps/powerpc/powerpc64/power6/memcpy.S | 451 +++++++++++++++--- +# sysdeps/powerpc/powerpc64/power7/memcpy.S | 706 +++++++++++++---------------- +# sysdeps/powerpc/powerpc64/power7/mempcpy.S | 26 - +# 9 files changed, 1035 insertions(+), 523 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power4/memcpy.S ++++ b/sysdeps/powerpc/powerpc32/power4/memcpy.S @@ -205,15 +205,28 @@ blt cr6,5f srwi 7,6,16 @@ -163,9 +174,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memcpy.S glibc-2. or 0,0,8 stw 0,0(4) 3: -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/memcpy.S ++++ b/sysdeps/powerpc/powerpc32/power6/memcpy.S @@ -221,15 +221,28 @@ blt cr6,5f srwi 7,6,16 @@ -385,9 +395,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memcpy.S glibc-2. b L(wdu_32tailx) .align 4 L(wdu_32tailx): -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/memcpy.S ++++ b/sysdeps/powerpc/powerpc32/power7/memcpy.S @@ -385,7 +385,7 @@ beq L(copy_GE_32_unaligned_cont) @@ -441,9 +450,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memcpy.S glibc-2. addi 11,11,32 stvx 6,0,10 stvx 10,10,6 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/mempcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/mempcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/mempcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/mempcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/mempcpy.S ++++ b/sysdeps/powerpc/powerpc32/power7/mempcpy.S @@ -327,7 +327,7 @@ beq L(copy_GE_32_unaligned_cont) @@ -499,9 +507,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/mempcpy.S glibc-2 addi 11,11,32 stvx 6,0,10 stvx 10,10,6 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/memcpy.S ++++ b/sysdeps/powerpc/powerpc64/memcpy.S @@ -214,15 +214,28 @@ blt cr6,5f srdi 7,6,16 @@ -569,9 +576,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memcpy.S glibc-2.17-c758 or 0,0,8 beq 8f ld 7,16(5) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcpy.S 2014-05-29 13:05:51.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power4/memcpy.S ++++ b/sysdeps/powerpc/powerpc64/power4/memcpy.S @@ -1,5 +1,5 @@ /* Optimized memcpy implementation for PowerPC64. - Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc. @@ -954,9 +960,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memcpy.S glibc-2. -END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS) +END_GEN_TB (memcpy,TB_TOCLESS) libc_hidden_builtin_def (memcpy) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memcpy.S 2014-05-29 13:05:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power6/memcpy.S ++++ b/sysdeps/powerpc/powerpc64/power6/memcpy.S @@ -1,5 +1,5 @@ /* Optimized memcpy implementation for PowerPC64. - Copyright (C) 2003, 2006, 2007, 2011 Free Software Foundation, Inc. @@ -2073,9 +2078,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memcpy.S glibc-2. -END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS) +END_GEN_TB (memcpy,TB_TOCLESS) libc_hidden_builtin_def (memcpy) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcpy.S 2014-05-29 13:05:40.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/memcpy.S ++++ b/sysdeps/powerpc/powerpc64/power7/memcpy.S @@ -1,5 +1,5 @@ /* Optimized memcpy implementation for PowerPC64/POWER7. - Copyright (C) 2010, 2011 Free Software Foundation, Inc. @@ -2892,9 +2896,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memcpy.S glibc-2. -END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS) +END_GEN_TB (memcpy,TB_TOCLESS) libc_hidden_builtin_def (memcpy) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/mempcpy.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/mempcpy.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/mempcpy.S 2014-05-29 13:04:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/mempcpy.S 2014-05-29 13:04:56.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/mempcpy.S ++++ b/sysdeps/powerpc/powerpc64/power7/mempcpy.S @@ -367,13 +367,21 @@ mr 11,12 mtcrf 0x01,9 diff --git a/packages/glibc/2.17/0054-glibc-ppc64le-32.patch b/packages/glibc/2.17/0054-glibc-ppc64le-32.patch index 058d53a..808741e 100644 --- a/packages/glibc/2.17/0054-glibc-ppc64le-32.patch +++ b/packages/glibc/2.17/0054-glibc-ppc64le-32.patch @@ -18,9 +18,18 @@ # * sysdeps/powerpc/powerpc32/power6/memset.S: Likewise. # * sysdeps/powerpc/powerpc32/power7/memset.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power4/memset.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power6/memset.S | 4 ++-- +# sysdeps/powerpc/powerpc32/power7/memset.S | 4 ++-- +# sysdeps/powerpc/powerpc64/memset.S | 10 +++++----- +# sysdeps/powerpc/powerpc64/power4/memset.S | 30 +++++++++++++++--------------- +# sysdeps/powerpc/powerpc64/power6/memset.S | 10 +++++----- +# sysdeps/powerpc/powerpc64/power7/memset.S | 6 +++--- +# 7 files changed, 34 insertions(+), 34 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power4/memset.S ++++ b/sysdeps/powerpc/powerpc32/power4/memset.S @@ -52,7 +52,7 @@ /* Align to word boundary. */ @@ -39,9 +48,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/memset.S glibc-2. ble cr5, L(medium) /* Align to 32-byte boundary. */ andi. rALIGN, rMEMP, 0x1C -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power6/memset.S ++++ b/sysdeps/powerpc/powerpc32/power6/memset.S @@ -50,7 +50,7 @@ ble- cr1, L(small) /* Align to word boundary. */ @@ -60,9 +68,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power6/memset.S glibc-2. ble cr5, L(medium) /* Align to 32-byte boundary. */ andi. rALIGN, rMEMP, 0x1C -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/memset.S ++++ b/sysdeps/powerpc/powerpc32/power7/memset.S @@ -37,8 +37,8 @@ cfi_offset(31,-8) @@ -74,9 +81,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memset.S glibc-2. ble cr6,L(small) /* If length <= 8, use short copy code. */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/memset.S ++++ b/sysdeps/powerpc/powerpc64/memset.S @@ -73,14 +73,14 @@ /* Align to doubleword boundary. */ @@ -120,9 +126,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/memset.S glibc-2.17-c758 cmpldi cr1, rLEN, 16 L(medium_tail2): add rMEMP, rMEMP, rLEN -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power4/memset.S ++++ b/sysdeps/powerpc/powerpc64/power4/memset.S @@ -68,14 +68,14 @@ /* Align to doubleword boundary. */ @@ -201,9 +206,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power4/memset.S glibc-2. cmpldi cr1, rLEN, 16 L(medium_tail2): add rMEMP, rMEMP, rLEN -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power6/memset.S ++++ b/sysdeps/powerpc/powerpc64/power6/memset.S @@ -65,14 +65,14 @@ /* Align to doubleword boundary. */ @@ -247,9 +251,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power6/memset.S glibc-2. cmpldi cr1, rLEN, 16 L(medium_tail2): add rMEMP, rMEMP, rLEN -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memset.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memset.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memset.S 2014-05-29 13:07:41.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memset.S 2014-05-29 13:07:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/memset.S ++++ b/sysdeps/powerpc/powerpc64/power7/memset.S @@ -34,8 +34,8 @@ mr 10,3 diff --git a/packages/glibc/2.17/0055-glibc-ppc64le-33.patch b/packages/glibc/2.17/0055-glibc-ppc64le-33.patch index 9da11df..bba83ad 100644 --- a/packages/glibc/2.17/0055-glibc-ppc64le-33.patch +++ b/packages/glibc/2.17/0055-glibc-ppc64le-33.patch @@ -48,9 +48,17 @@ # support. Avoid rlwimi. # * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: Likewise. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memchr.S 2014-05-29 13:13:37.000000000 -0500 +--- +# sysdeps/powerpc/powerpc32/power7/memchr.S | 195 +++++++++++-------------- +# sysdeps/powerpc/powerpc32/power7/memrchr.S | 197 ++++++++++++++------------ +# sysdeps/powerpc/powerpc32/power7/rawmemchr.S | 17 +- +# sysdeps/powerpc/powerpc64/power7/memchr.S | 204 ++++++++++++--------------- +# sysdeps/powerpc/powerpc64/power7/memrchr.S | 204 ++++++++++++++------------- +# sysdeps/powerpc/powerpc64/power7/rawmemchr.S | 17 +- +# 6 files changed, 424 insertions(+), 410 deletions(-) +# +--- a/sysdeps/powerpc/powerpc32/power7/memchr.S ++++ b/sysdeps/powerpc/powerpc32/power7/memchr.S @@ -1,5 +1,5 @@ /* Optimized memchr implementation for PowerPC32/POWER7 using cmpb insn. - Copyright (C) 2010-2012 Free Software Foundation, Inc. @@ -330,9 +338,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memchr.S glibc-2. +END (__memchr) +weak_alias (__memchr, memchr) libc_hidden_builtin_def (memchr) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memrchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memrchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memrchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memrchr.S 2014-05-29 13:13:47.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/memrchr.S ++++ b/sysdeps/powerpc/powerpc32/power7/memrchr.S @@ -1,5 +1,5 @@ /* Optimized memrchr implementation for PowerPC32/POWER7 using cmpb insn. - Copyright (C) 2010 Free Software Foundation, Inc. @@ -602,9 +609,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/memrchr.S glibc-2 +END (__memrchr) +weak_alias (__memrchr, memrchr) libc_hidden_builtin_def (memrchr) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/rawmemchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/rawmemchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/rawmemchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/rawmemchr.S 2014-05-29 13:09:19.000000000 -0500 +--- a/sysdeps/powerpc/powerpc32/power7/rawmemchr.S ++++ b/sysdeps/powerpc/powerpc32/power7/rawmemchr.S @@ -29,16 +29,21 @@ clrrwi r8,r3,2 /* Align the address to word boundary. */ @@ -645,9 +651,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power7/rawmemchr.S glibc add r3,r8,r0 /* Return address of the matching char. */ blr END (BP_SYM (__rawmemchr)) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memchr.S 2014-05-29 13:13:57.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/memchr.S ++++ b/sysdeps/powerpc/powerpc64/power7/memchr.S @@ -1,5 +1,5 @@ /* Optimized memchr implementation for PowerPC64/POWER7 using cmpb insn. - Copyright (C) 2010-2012 Free Software Foundation, Inc. @@ -932,9 +937,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memchr.S glibc-2. +END (__memchr) +weak_alias (__memchr, memchr) libc_hidden_builtin_def (memchr) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memrchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memrchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memrchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memrchr.S 2014-05-29 13:14:06.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/memrchr.S ++++ b/sysdeps/powerpc/powerpc64/power7/memrchr.S @@ -1,5 +1,5 @@ /* Optimized memrchr implementation for PowerPC64/POWER7 using cmpb insn. - Copyright (C) 2010 Free Software Foundation, Inc. @@ -1209,9 +1213,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/memrchr.S glibc-2 +END (__memrchr) +weak_alias (__memrchr, memrchr) libc_hidden_builtin_def (memrchr) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/rawmemchr.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/rawmemchr.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/rawmemchr.S 2014-05-29 13:09:17.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/power7/rawmemchr.S 2014-05-29 13:09:19.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/power7/rawmemchr.S ++++ b/sysdeps/powerpc/powerpc64/power7/rawmemchr.S @@ -29,8 +29,8 @@ clrrdi r8,r3,3 /* Align the address to doubleword boundary. */ diff --git a/packages/glibc/2.17/0056-glibc-ppc64le-34.patch b/packages/glibc/2.17/0056-glibc-ppc64le-34.patch index ef6362d..7ad1853 100644 --- a/packages/glibc/2.17/0056-glibc-ppc64le-34.patch +++ b/packages/glibc/2.17/0056-glibc-ppc64le-34.patch @@ -18,10 +18,16 @@ # # PowerPC: Change powerpc64le start ABI to 2.17. # -diff -urN glibc-2.17-c758a686/configure glibc-2.17-c758a686/configure ---- glibc-2.17-c758a686/configure 2014-05-26 19:52:31.000000000 -0500 -+++ glibc-2.17-c758a686/configure 2014-05-26 19:54:13.000000000 -0500 -@@ -4195,8 +4195,8 @@ +--- +# configure | 4 ++-- +# configure.in | 4 ++-- +# nptl/shlib-versions | 1 + +# shlib-versions | 1 + +# 4 files changed, 6 insertions(+), 4 deletions(-) +# +--- a/configure ++++ b/configure +@@ -4176,8 +4176,8 @@ # base_machine, we don't change it. test -n "$base_machine" || case "$machine" in i[34567]86) base_machine=i386 machine=i386/$machine ;; @@ -32,10 +38,9 @@ diff -urN glibc-2.17-c758a686/configure glibc-2.17-c758a686/configure s390) base_machine=s390 machine=s390/s390-32 ;; s390x) base_machine=s390 machine=s390/s390-64 ;; sh3*) base_machine=sh machine=sh/sh3 ;; -diff -urN glibc-2.17-c758a686/configure.in glibc-2.17-c758a686/configure.in ---- glibc-2.17-c758a686/configure.in 2014-05-26 19:52:30.000000000 -0500 -+++ glibc-2.17-c758a686/configure.in 2014-05-26 19:54:45.000000000 -0500 -@@ -549,8 +549,8 @@ +--- a/configure.in ++++ b/configure.in +@@ -539,8 +539,8 @@ # base_machine, we don't change it. test -n "$base_machine" || case "$machine" in i[34567]86) base_machine=i386 machine=i386/$machine ;; @@ -46,18 +51,16 @@ diff -urN glibc-2.17-c758a686/configure.in glibc-2.17-c758a686/configure.in s390) base_machine=s390 machine=s390/s390-32 ;; s390x) base_machine=s390 machine=s390/s390-64 ;; sh3*) base_machine=sh machine=sh/sh3 ;; -diff -urN glibc-2.17-c758a686/nptl/shlib-versions glibc-2.17-c758a686/nptl/shlib-versions ---- glibc-2.17-c758a686/nptl/shlib-versions 2014-05-26 19:52:31.000000000 -0500 -+++ glibc-2.17-c758a686/nptl/shlib-versions 2014-05-26 19:53:31.000000000 -0500 +--- a/nptl/shlib-versions ++++ b/nptl/shlib-versions @@ -2,4 +2,5 @@ sh.*-.*-linux.* libpthread=0 GLIBC_2.2 s390x-.*-linux.* libpthread=0 GLIBC_2.2 powerpc64-.*-linux.* libpthread=0 GLIBC_2.3 +powerpc.*le-.*-linux.* libpthread=0 GLIBC_2.17 .*-.*-linux.* libpthread=0 -diff -urN glibc-2.17-c758a686/shlib-versions glibc-2.17-c758a686/shlib-versions ---- glibc-2.17-c758a686/shlib-versions 2014-05-26 19:52:31.000000000 -0500 -+++ glibc-2.17-c758a686/shlib-versions 2014-05-26 19:53:31.000000000 -0500 +--- a/shlib-versions ++++ b/shlib-versions @@ -23,6 +23,7 @@ s390x-.*-linux.* DEFAULT GLIBC_2.2 diff --git a/packages/glibc/2.17/0057-glibc-ppc64le-35.patch b/packages/glibc/2.17/0057-glibc-ppc64le-35.patch index 17434b9..2aa0053 100644 --- a/packages/glibc/2.17/0057-glibc-ppc64le-35.patch +++ b/packages/glibc/2.17/0057-glibc-ppc64le-35.patch @@ -29,9 +29,13 @@ # is already done on other platforms. This fixes the libgo # regression on ELFv2. # -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-29 13:16:16.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-29 13:16:17.000000000 -0500 +--- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S | 9 ++++++++ +# sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S | 18 ++++++++++++++++ +# 2 files changed, 27 insertions(+) +# +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S @@ -129,6 +129,10 @@ the cpu link stack used to predict blr return addresses. */ bcl 20,31,L(gotexitcodeaddr); @@ -55,9 +59,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecont /* The address of the exit code is in the link register. Store the lr in the ucontext as LNK so the target function will return to our exit code. */ -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S 2014-05-29 13:16:16.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S 2014-05-29 13:16:17.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S @@ -129,6 +129,10 @@ lfd fp1,(SIGCONTEXT_FP_REGS+(PT_R1*8))(r31) lfd fp0,(SIGCONTEXT_FP_REGS+(PT_R0*8))(r31) diff --git a/packages/glibc/2.17/0058-glibc-ppc64le-36.patch b/packages/glibc/2.17/0058-glibc-ppc64le-36.patch index fbe351c..b710258 100644 --- a/packages/glibc/2.17/0058-glibc-ppc64le-36.patch +++ b/packages/glibc/2.17/0058-glibc-ppc64le-36.patch @@ -19,10 +19,14 @@ # The patch also fixes a bug in overflow checking for the R_PPC64_ADDR30 # and R_PPC64_ADDR32 relocations. # -diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h ---- glibc-2.17-c758a686/elf/elf.h 2014-05-29 13:17:35.000000000 -0500 -+++ glibc-2.17-c758a686/elf/elf.h 2014-05-29 13:17:35.000000000 -0500 -@@ -2243,6 +2243,17 @@ +--- +# elf/elf.h | 11 +++++++++++ +# sysdeps/powerpc/powerpc64/dl-machine.h | 24 ++++++++++++++++++++++-- +# 2 files changed, 33 insertions(+), 2 deletions(-) +# +--- a/elf/elf.h ++++ b/elf/elf.h +@@ -2240,6 +2240,17 @@ #define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */ #define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */ #define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */ @@ -40,9 +44,8 @@ diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h /* GNU extension to support local ifunc. */ #define R_PPC64_JMP_IREL 247 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 13:17:34.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 13:17:35.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-machine.h ++++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -663,11 +663,25 @@ case R_PPC64_TPREL16_HI: diff --git a/packages/glibc/2.17/0059-glibc-ppc64le-37.patch b/packages/glibc/2.17/0059-glibc-ppc64le-37.patch index dad59a6..84e3ffe 100644 --- a/packages/glibc/2.17/0059-glibc-ppc64le-37.patch +++ b/packages/glibc/2.17/0059-glibc-ppc64le-37.patch @@ -17,9 +17,12 @@ # to avoid changing the ABI; see the recent discussion when adding # the EBB fields. # -diff -urN glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h ---- glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h 2014-05-29 13:19:25.000000000 -0500 -+++ glibc-2.17-c758a686/nptl/sysdeps/powerpc/tls.h 2014-05-29 13:19:25.000000000 -0500 +--- +# nptl/sysdeps/powerpc/tls.h | 2 ++ +# 1 file changed, 2 insertions(+) +# +--- a/nptl/sysdeps/powerpc/tls.h ++++ b/nptl/sysdeps/powerpc/tls.h @@ -61,6 +61,8 @@ are private. */ typedef struct diff --git a/packages/glibc/2.17/0060-glibc-ppc64le-38.patch b/packages/glibc/2.17/0060-glibc-ppc64le-38.patch index 196f0ad..43a4a92 100644 --- a/packages/glibc/2.17/0060-glibc-ppc64le-38.patch +++ b/packages/glibc/2.17/0060-glibc-ppc64le-38.patch @@ -16,9 +16,16 @@ # # No relevant change in generated code expected. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 13:56:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 13:56:37.000000000 -0500 +--- +# sysdeps/powerpc/powerpc64/crti.S | 24 +---------------- +# sysdeps/powerpc/powerpc64/dl-machine.h | 18 ------------ +# sysdeps/powerpc/powerpc64/dl-trampoline.S | 24 ++++------------- +# sysdeps/powerpc/powerpc64/sysdep.h | 31 ++++++++++++++++++++-- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S | 4 -- +# 5 files changed, 39 insertions(+), 62 deletions(-) +# +--- a/sysdeps/powerpc/powerpc64/crti.S ++++ b/sysdeps/powerpc/powerpc64/crti.S @@ -60,18 +60,8 @@ .LC0: .tc PREINIT_FUNCTION[TC], PREINIT_FUNCTION @@ -59,9 +66,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a6 .align ALIGNARG (2) BODY_LABEL (_fini): mflr 0 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 13:56:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 13:56:37.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-machine.h ++++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -122,14 +122,7 @@ #define RTLD_START \ asm (".pushsection \".text\"\n" \ @@ -109,9 +115,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17- " bctr\n" \ ".LT__dl_start_user:\n" \ " .long 0\n" \ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 13:56:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 13:56:37.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-trampoline.S ++++ b/sysdeps/powerpc/powerpc64/dl-trampoline.S @@ -71,12 +71,8 @@ ld r5,INT_PARMS+16(r1) ld r4,INT_PARMS+8(r1) @@ -160,9 +165,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2. /* Load the floating point registers. */ lfd fp1,FPR_PARMS+0(r1) lfd fp2,FPR_PARMS+8(r1) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 13:56:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 13:56:37.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/sysdep.h ++++ b/sysdeps/powerpc/powerpc64/sysdep.h @@ -74,6 +74,14 @@ #endif .endm @@ -246,9 +250,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758 # define END_2(name) \ ".size " #name ",.-" BODY_PREFIX #name ";\n" \ ".size " BODY_PREFIX #name ",.-" BODY_PREFIX #name ";" -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S 2014-05-29 13:56:35.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S 2014-05-29 13:56:37.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S @@ -104,9 +104,7 @@ std r2,40(r1) diff --git a/packages/glibc/2.17/0061-glibc-ppc64le-39.patch b/packages/glibc/2.17/0061-glibc-ppc64le-39.patch index f837d99..f39f271 100644 --- a/packages/glibc/2.17/0061-glibc-ppc64le-39.patch +++ b/packages/glibc/2.17/0061-glibc-ppc64le-39.patch @@ -33,10 +33,20 @@ # The hack in VDSO_IFUNC_RET to "synthesize" a function descriptor # for vDSO routines is also no longer necessary for ELFv2. # -diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h ---- glibc-2.17-c758a686/elf/elf.h 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/elf/elf.h 2014-05-29 13:58:25.000000000 -0500 -@@ -2263,6 +2263,12 @@ +--- +# elf/elf.h | 6 +# sysdeps/powerpc/powerpc64/crti.S | 2 +# sysdeps/powerpc/powerpc64/dl-irel.h | 4 +# sysdeps/powerpc/powerpc64/dl-machine.h | 99 ++++++++++++---- +# sysdeps/powerpc/powerpc64/setjmp-common.S | 21 +-- +# sysdeps/powerpc/powerpc64/sysdep.h | 54 ++++++++ +# sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h | 4 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S | 7 + +# 8 files changed, 162 insertions(+), 35 deletions(-) +# +--- a/elf/elf.h ++++ b/elf/elf.h +@@ -2260,6 +2260,12 @@ #define R_PPC64_REL16_HI 251 /* half16 (sym+add-.)@h */ #define R_PPC64_REL16_HA 252 /* half16 (sym+add-.)@ha */ @@ -49,9 +59,8 @@ diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h /* PowerPC64 specific values for the Dyn d_tag field. */ #define DT_PPC64_GLINK (DT_LOPROC + 0) #define DT_PPC64_OPD (DT_LOPROC + 1) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 13:58:25.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/crti.S ++++ b/sysdeps/powerpc/powerpc64/crti.S @@ -64,6 +64,7 @@ ENTRY_2(_init) .align ALIGNARG (2) @@ -68,9 +77,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a6 mflr 0 std 0, 16(r1) stdu r1, -112(r1) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-irel.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-irel.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-irel.h 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-irel.h 2014-05-29 13:58:25.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-irel.h ++++ b/sysdeps/powerpc/powerpc64/dl-irel.h @@ -50,7 +50,11 @@ { Elf64_Addr *const reloc_addr = (void *) reloc->r_offset; @@ -83,9 +91,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-irel.h glibc-2.17-c75 } else __libc_fatal ("unexpected reloc type in static binary"); -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 14:05:46.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-machine.h ++++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -31,6 +31,7 @@ in l_info array. */ #define DT_PPC64(x) (DT_PPC64_##x - DT_LOPROC + DT_NUM) @@ -311,9 +318,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17- return ((Elf64_Addr (*) (unsigned long int)) value) (GLRO(dl_hwcap)); } -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-29 14:00:27.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/setjmp-common.S ++++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -55,21 +55,22 @@ that saves r2 since the call won't go via a plt call stub. See bugz #269. __GI__setjmp is used in csu/libc-start.c when @@ -366,9 +372,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S glibc-2. #endif -END (BP_SYM (__sigsetjmp)) +END (__sigsetjmp) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 13:58:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 13:58:25.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/sysdep.h ++++ b/sysdeps/powerpc/powerpc64/sysdep.h @@ -74,6 +74,8 @@ #endif .endm @@ -463,9 +468,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758 +#endif /* _CALL_ELF */ #endif /* __ASSEMBLER__ */ -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h 2014-05-29 13:58:24.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h 2014-05-29 13:58:25.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs.h @@ -23,6 +23,8 @@ /* Now define our stuff. */ @@ -482,9 +486,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ldsodefs +#endif + #endif /* ldsodefs.h */ -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-29 13:58:24.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S 2014-05-29 13:58:25.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S @@ -111,6 +111,7 @@ L(noparms): diff --git a/packages/glibc/2.17/0062-glibc-ppc64le-40.patch b/packages/glibc/2.17/0062-glibc-ppc64le-40.patch index 663d2f3..87b707d 100644 --- a/packages/glibc/2.17/0062-glibc-ppc64le-40.patch +++ b/packages/glibc/2.17/0062-glibc-ppc64le-40.patch @@ -27,10 +27,15 @@ # the target function for the first time, since it assumed that function # would always reload its own TOC anyway ... # -diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h ---- glibc-2.17-c758a686/elf/elf.h 2014-05-29 14:08:44.000000000 -0500 -+++ glibc-2.17-c758a686/elf/elf.h 2014-05-29 14:08:44.000000000 -0500 -@@ -2273,8 +2273,19 @@ +--- +# elf/elf.h | 11 +++++++ +# sysdeps/powerpc/powerpc64/dl-machine.h | 44 ++++++++++++++++++++++++++++-- +# sysdeps/powerpc/powerpc64/dl-trampoline.S | 8 +++++ +# 3 files changed, 61 insertions(+), 2 deletions(-) +# +--- a/elf/elf.h ++++ b/elf/elf.h +@@ -2270,8 +2270,19 @@ #define DT_PPC64_GLINK (DT_LOPROC + 0) #define DT_PPC64_OPD (DT_LOPROC + 1) #define DT_PPC64_OPDSZ (DT_LOPROC + 2) @@ -50,9 +55,8 @@ diff -urN glibc-2.17-c758a686/elf/elf.h glibc-2.17-c758a686/elf/elf.h /* ARM specific declarations */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 14:08:40.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 14:08:44.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-machine.h ++++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -425,6 +425,42 @@ return lazy; } @@ -132,9 +136,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17- #else elf_machine_fixup_plt (map, sym_map, reloc, reloc_addr, value); #endif -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:08:40.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:08:44.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-trampoline.S ++++ b/sysdeps/powerpc/powerpc64/dl-trampoline.S @@ -74,6 +74,10 @@ /* Prepare for calling the function returned by fixup. */ PPC64_LOAD_FUNCPTR r3 diff --git a/packages/glibc/2.17/0063-glibc-ppc64le-41.patch b/packages/glibc/2.17/0063-glibc-ppc64le-41.patch index 506d761..2df36ef 100644 --- a/packages/glibc/2.17/0063-glibc-ppc64le-41.patch +++ b/packages/glibc/2.17/0063-glibc-ppc64le-41.patch @@ -34,9 +34,24 @@ # a stack frame, and the patch changes them to add extra space in # these frames as temporary space for the ELFv2 ABI. # -diff -urN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h ---- glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h 2014-05-29 14:10:00.000000000 -0500 -+++ glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h 2014-05-29 14:10:00.000000000 -0500 +--- +# nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 60 ++++--- +# sysdeps/powerpc/powerpc64/__longjmp-common.S | 4 +# sysdeps/powerpc/powerpc64/crti.S | 8 - +# sysdeps/powerpc/powerpc64/crtn.S | 8 - +# sysdeps/powerpc/powerpc64/dl-trampoline.S | 48 +++--- +# sysdeps/powerpc/powerpc64/ppc-mcount.S | 14 - +# sysdeps/powerpc/powerpc64/setjmp-common.S | 16 +- +# sysdeps/powerpc/powerpc64/sysdep.h | 76 +++++++--- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S | 16 +- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S | 4 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S | 32 ++-- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S | 29 ++- +# sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym | 21 -- +# 13 files changed, 186 insertions(+), 150 deletions(-) +# +--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h ++++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h @@ -31,6 +31,14 @@ # define DASHDASHPFX(str) __##str # endif @@ -131,9 +146,8 @@ diff -urN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sys # ifdef IS_IN_libpthread # ifdef SHARED -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S ++++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S @@ -133,7 +133,7 @@ ld r14,((JB_GPRS+0)*8)(r3) lfd fp14,((JB_FPRS+0)*8)(r3) @@ -152,9 +166,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/__longjmp-common.S glibc ld r21,((JB_GPRS+7)*8)(r3) lfd fp21,((JB_FPRS+7)*8)(r3) ld r22,((JB_GPRS+8)*8)(r3) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/crti.S ++++ b/sysdeps/powerpc/powerpc64/crti.S @@ -66,8 +66,8 @@ BODY_LABEL (_init): LOCALENTRY(_init) @@ -174,9 +187,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crti.S glibc-2.17-c758a6 - stdu r1, -112(r1) + std 0, FRAME_LR_SAVE(r1) + stdu r1, -FRAME_MIN_SIZE_PARM(r1) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crtn.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crtn.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crtn.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crtn.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/crtn.S ++++ b/sysdeps/powerpc/powerpc64/crtn.S @@ -39,13 +39,13 @@ #include @@ -195,9 +207,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/crtn.S glibc-2.17-c758a6 + ld r0, FRAME_LR_SAVE(r1) mtlr r0 blr -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-trampoline.S ++++ b/sysdeps/powerpc/powerpc64/dl-trampoline.S @@ -26,13 +26,13 @@ parm1 (r3) and the index (r0) need to be converted to an offset (index * 24) in parm2 (r4). */ @@ -363,9 +374,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2. ld r31,584(r1) ld r30,576(r1) mtlr r0 -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/ppc-mcount.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/ppc-mcount.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/ppc-mcount.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/ppc-mcount.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/ppc-mcount.S ++++ b/sysdeps/powerpc/powerpc64/ppc-mcount.S @@ -24,16 +24,16 @@ ENTRY(_mcount) mflr r4 @@ -390,9 +400,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/ppc-mcount.S glibc-2.17- blr END(_mcount) -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/setjmp-common.S ++++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -56,7 +56,7 @@ bugz #269. __GI__setjmp is used in csu/libc-start.c when HAVE_CLEANUP_JMP_BUF is defined. */ @@ -432,9 +441,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/setjmp-common.S glibc-2. mtlr r0 blr #endif -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/sysdep.h ++++ b/sysdeps/powerpc/powerpc64/sysdep.h @@ -20,25 +20,67 @@ #ifdef __ASSEMBLER__ @@ -557,9 +565,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/sysdep.h glibc-2.17-c758 mtlr 0; \ cfi_restore(lr); \ blr; \ -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/____longjmp_chk.S @@ -33,24 +33,24 @@ cmpld reg, r1; \ bge+ .Lok; \ @@ -593,9 +600,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/____long add r4,r4,r0; \ sub r3,r3,reg; \ cmpld r3,r0; \ -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S @@ -31,9 +31,9 @@ CALL_MCOUNT 1 DISCARD_BOUNDS (r3) /* the bounds are meaningless, so toss 'em. */ @@ -608,9 +614,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S gl ld r5,.LC__curbrk@toc(r2) std r3,0(r5) cmpld r6,r3 -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S @@ -45,22 +45,22 @@ cror cr0*4+eq,cr1*4+eq,cr0*4+eq beq- cr0,L(badargs) @@ -679,9 +684,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S #ifdef RESET_PID cfi_restore(r29) #endif -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S @@ -46,8 +46,13 @@ # endif #endif @@ -731,9 +735,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S mtlr r4 mtcr r0 addi r1,r1,FRAMESIZE -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym 2014-05-29 14:09:56.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym 2014-05-29 14:10:00.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.sym @@ -8,27 +8,6 @@ SIG_SETMASK diff --git a/packages/glibc/2.17/0064-glibc-ppc64le-42.patch b/packages/glibc/2.17/0064-glibc-ppc64le-42.patch index f5fa53e..3d3150a 100644 --- a/packages/glibc/2.17/0064-glibc-ppc64le-42.patch +++ b/packages/glibc/2.17/0064-glibc-ppc64le-42.patch @@ -26,9 +26,16 @@ # were stored in the wrong place, and it removes the unnecessary # save/restore of CR. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/bits/link.h glibc-2.17-c758a686/sysdeps/powerpc/bits/link.h ---- glibc-2.17-c758a686/sysdeps/powerpc/bits/link.h 2014-05-29 14:11:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/bits/link.h 2014-05-29 14:11:20.000000000 -0500 +--- +# sysdeps/powerpc/bits/link.h | 46 ++++++++++ +# sysdeps/powerpc/ldsodefs.h | 18 +++- +# sysdeps/powerpc/powerpc64/dl-machine.h | 5 + +# sysdeps/powerpc/powerpc64/dl-trampoline.S | 131 ++++++++++++++++++++---------- +# sysdeps/powerpc/powerpc64/tst-audit.h | 8 + +# 5 files changed, 163 insertions(+), 45 deletions(-) +# +--- a/sysdeps/powerpc/bits/link.h ++++ b/sysdeps/powerpc/bits/link.h @@ -63,7 +63,7 @@ __END_DECLS @@ -87,9 +94,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/bits/link.h glibc-2.17-c758a686/sy +__END_DECLS + #endif -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/ldsodefs.h glibc-2.17-c758a686/sysdeps/powerpc/ldsodefs.h ---- glibc-2.17-c758a686/sysdeps/powerpc/ldsodefs.h 2014-05-29 14:11:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/ldsodefs.h 2014-05-29 14:11:20.000000000 -0500 +--- a/sysdeps/powerpc/ldsodefs.h ++++ b/sysdeps/powerpc/ldsodefs.h @@ -25,6 +25,8 @@ struct La_ppc32_retval; struct La_ppc64_regs; @@ -129,9 +135,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/ldsodefs.h glibc-2.17-c758a686/sys #include_next -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 14:11:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h 2014-05-29 14:11:20.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-machine.h ++++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -546,8 +546,13 @@ @@ -146,9 +151,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-machine.h glibc-2.17- #endif /* dl_machine_h */ -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:11:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S 2014-05-29 14:11:20.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/dl-trampoline.S ++++ b/sysdeps/powerpc/powerpc64/dl-trampoline.S @@ -50,11 +50,8 @@ /* Store the LR in the LR Save area. */ std r0,FRAME_SIZE+FRAME_LR_SAVE(r1) @@ -382,9 +386,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/dl-trampoline.S glibc-2. mtlr r0 ld r1,0(r1) blr -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/tst-audit.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/tst-audit.h ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/tst-audit.h 2014-05-29 14:11:12.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/tst-audit.h 2014-05-29 14:11:20.000000000 -0500 +--- a/sysdeps/powerpc/powerpc64/tst-audit.h ++++ b/sysdeps/powerpc/powerpc64/tst-audit.h @@ -18,8 +18,16 @@ License along with the GNU C Library. If not, see . */ diff --git a/packages/glibc/2.17/0065-glibc-ppc64le-43.patch b/packages/glibc/2.17/0065-glibc-ppc64le-43.patch index 8c43abb..ab73b1c 100644 --- a/packages/glibc/2.17/0065-glibc-ppc64le-43.patch +++ b/packages/glibc/2.17/0065-glibc-ppc64le-43.patch @@ -18,9 +18,16 @@ # check in sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac, # replacing the hard-coded value of default-abi in the Makefile. # -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Makefile glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Makefile ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Makefile 2014-05-29 14:12:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Makefile 2014-05-29 14:12:30.000000000 -0500 +--- +# sysdeps/unix/sysv/linux/powerpc/Makefile | 11 - +# sysdeps/unix/sysv/linux/powerpc/ldconfig.h | 3 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile | 2 +# sysdeps/unix/sysv/linux/powerpc/powerpc64/configure | 166 +++++++++++++++++ +# sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac | 15 + +# 5 files changed, 190 insertions(+), 7 deletions(-) +# +--- a/sysdeps/unix/sysv/linux/powerpc/Makefile ++++ b/sysdeps/unix/sysv/linux/powerpc/Makefile @@ -1,9 +1,12 @@ -abi-variants := 32 64 +abi-variants := 32 64-v1 64-v2 @@ -38,9 +45,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/Makefile glibc-2.1 ifeq ($(subdir),rt) librt-routines += rt-sysdep -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/ldconfig.h glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/ldconfig.h ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/ldconfig.h 2014-05-29 14:12:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/ldconfig.h 2014-05-29 14:12:30.000000000 -0500 +--- a/sysdeps/unix/sysv/linux/powerpc/ldconfig.h ++++ b/sysdeps/unix/sysv/linux/powerpc/ldconfig.h @@ -20,7 +20,8 @@ #define SYSDEP_KNOWN_INTERPRETER_NAMES \ @@ -51,15 +57,13 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/ldconfig.h glibc-2 #define SYSDEP_KNOWN_LIBRARY_NAMES \ { "libc.so.6", FLAG_ELF_LIBC6 }, \ { "libm.so.6", FLAG_ELF_LIBC6 }, -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile 2014-05-29 14:12:25.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile 1969-12-31 18:00:00.000000000 -0600 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Makefile ++++ /dev/null @@ -1,2 +0,0 @@ -# See Makeconfig regarding the use of default-abi. -default-abi := 64 -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure 1969-12-31 18:00:00.000000000 -0600 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure 2014-05-29 14:12:30.000000000 -0500 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure @@ -0,0 +1,166 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/. @@ -227,9 +231,8 @@ diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configur + config_vars="$config_vars +default-abi = 64-v1" +fi -diff -urN glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac ---- glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac 1969-12-31 18:00:00.000000000 -0600 -+++ glibc-2.17-c758a686/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac 2014-05-29 14:12:30.000000000 -0500 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac @@ -0,0 +1,15 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/unix/sysv/linux/powerpc/powerpc64/. diff --git a/packages/glibc/2.17/0066-glibc-ppc64le-44.patch b/packages/glibc/2.17/0066-glibc-ppc64le-44.patch index e074cb9..8ae0f5d 100644 --- a/packages/glibc/2.17/0066-glibc-ppc64le-44.patch +++ b/packages/glibc/2.17/0066-glibc-ppc64le-44.patch @@ -7,9 +7,12 @@ # [BZ #16786] # * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Don't trash stack. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_copysign.S glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_copysign.S ---- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_copysign.S 2014-05-29 14:13:47.000000000 -0500 -+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/fpu/s_copysign.S 2014-05-29 14:13:50.000000000 -0500 +--- +# sysdeps/powerpc/powerpc64/fpu/s_copysign.S | 4 ++-- +# 1 file changed, 2 insertions(+), 2 deletions(-) +# +--- a/sysdeps/powerpc/powerpc64/fpu/s_copysign.S ++++ b/sysdeps/powerpc/powerpc64/fpu/s_copysign.S @@ -27,11 +27,11 @@ /* double [f1] copysign (double [f1] x, double [f2] y); copysign(x,y) returns a value with the magnitude of x and diff --git a/packages/glibc/2.17/0067-glibc-ppc64le-45.patch b/packages/glibc/2.17/0067-glibc-ppc64le-45.patch index 9030fc2..f68f0cb 100644 --- a/packages/glibc/2.17/0067-glibc-ppc64le-45.patch +++ b/packages/glibc/2.17/0067-glibc-ppc64le-45.patch @@ -12,9 +12,12 @@ # # The ABI testing for libpthread.so now passes for ppc64le. # -diff -urN glibc-2.17-c758a686/Versions.def glibc-2.17-c758a686/Versions.def ---- glibc-2.17-c758a686/Versions.def 2014-06-02 21:13:12.000000000 +0000 -+++ glibc-2.17-c758a686/Versions.def 2014-06-02 21:14:38.000000000 +0000 +--- +# Versions.def | 2 ++ +# 1 file changed, 2 insertions(+) +# +--- a/Versions.def ++++ b/Versions.def @@ -92,6 +92,7 @@ GLIBC_2.2 GLIBC_2.2.3 diff --git a/packages/glibc/2.17/0068-glibc-ppc64le-46.patch b/packages/glibc/2.17/0068-glibc-ppc64le-46.patch index 6f3d1d9..8c65c5c 100644 --- a/packages/glibc/2.17/0068-glibc-ppc64le-46.patch +++ b/packages/glibc/2.17/0068-glibc-ppc64le-46.patch @@ -7,9 +7,12 @@ # ppc64le patch that touches the same ULPs file. See glibc-power-libm-test-ulps.patch # for the ppc64/ppc version. # -diff -urN glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps ---- glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps 2014-07-25 22:07:06.280020855 -0400 -+++ glibc-2.17-c758a686/sysdeps/powerpc/fpu/libm-test-ulps 2014-07-25 22:26:54.650021033 -0400 +--- +# sysdeps/powerpc/fpu/libm-test-ulps | 3 +++ +# 1 file changed, 3 insertions(+) +# +--- a/sysdeps/powerpc/fpu/libm-test-ulps ++++ b/sysdeps/powerpc/fpu/libm-test-ulps @@ -2644,6 +2644,9 @@ Test "tan_towardzero (2)": ildouble: 1 diff --git a/packages/glibc/2.17/0069-uses-power6-mtfsf-when-not-supported.patch b/packages/glibc/2.17/0069-uses-power6-mtfsf-when-not-supported.patch index 8864739..d99da10 100644 --- a/packages/glibc/2.17/0069-uses-power6-mtfsf-when-not-supported.patch +++ b/packages/glibc/2.17/0069-uses-power6-mtfsf-when-not-supported.patch @@ -6,11 +6,14 @@ * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S (__novec_swapcontext): Likewise. -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S -index e47a57a..a1ed419 100644 +--- + sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S | 18 ++++++++++------ + sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S | 18 ++++++++++++---- + 2 files changed, 26 insertions(+), 10 deletions(-) + --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S -@@ -79,12 +79,13 @@ ENTRY(__novec_setcontext) +@@ -80,12 +80,13 @@ lfd fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31) lfd fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31) @@ -26,7 +29,7 @@ index e47a57a..a1ed419 100644 /* Availability of DFP indicates a 64-bit FPSCR. */ andi. r6,r5,PPC_FEATURE_HAS_DFP beq 5f -@@ -95,8 +96,10 @@ ENTRY(__novec_setcontext) +@@ -96,8 +97,10 @@ 5: mtfsf 0xff,fp0 6: @@ -38,7 +41,7 @@ index e47a57a..a1ed419 100644 lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) lfd fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31) -@@ -362,12 +365,13 @@ L(has_no_vec): +@@ -363,12 +366,13 @@ lfd fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31) lfd fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31) @@ -54,7 +57,7 @@ index e47a57a..a1ed419 100644 /* Availability of DFP indicates a 64-bit FPSCR. */ andi. r6,r5,PPC_FEATURE_HAS_DFP beq 7f -@@ -378,8 +382,10 @@ L(has_no_vec): +@@ -379,8 +383,10 @@ 7: mtfsf 0xff,fp0 8: @@ -66,11 +69,9 @@ index e47a57a..a1ed419 100644 lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) lfd fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31) -diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S -index bc02a21..b25904d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S -@@ -173,6 +173,10 @@ ENTRY(__novec_swapcontext) +@@ -174,6 +174,10 @@ lfd fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31) lfd fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31) lfd fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31) @@ -81,7 +82,7 @@ index bc02a21..b25904d 100644 # ifdef _ARCH_PWR6 /* Use the extended four-operand version of the mtfsf insn. */ mtfsf 0xff,fp0,1,0 -@@ -189,8 +193,10 @@ ENTRY(__novec_swapcontext) +@@ -190,8 +194,10 @@ 5: mtfsf 0xff,fp0 6: @@ -93,7 +94,7 @@ index bc02a21..b25904d 100644 lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31) lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31) lfd fp27,(SIGCONTEXT_FP_REGS+(PT_R27*8))(r31) -@@ -652,12 +658,14 @@ L(has_no_vec2): +@@ -653,12 +659,14 @@ lfd fp0,(SIGCONTEXT_FP_REGS+(32*8))(r31) lfd fp31,(SIGCONTEXT_FP_REGS+(PT_R31*8))(r31) lfd fp30,(SIGCONTEXT_FP_REGS+(PT_R30*8))(r31) @@ -110,7 +111,7 @@ index bc02a21..b25904d 100644 /* Availability of DFP indicates a 64-bit FPSCR. */ andi. r6,r8,PPC_FEATURE_HAS_DFP beq 7f -@@ -668,8 +676,10 @@ L(has_no_vec2): +@@ -669,8 +677,10 @@ 7: mtfsf 0xff,fp0 8: diff --git a/packages/glibc/2.19/0017-Fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.19/0017-Fix-cmpli-usage-in-power6-memset.patch index 5213378..a660266 100644 --- a/packages/glibc/2.19/0017-Fix-cmpli-usage-in-power6-memset.patch +++ b/packages/glibc/2.19/0017-Fix-cmpli-usage-in-power6-memset.patch @@ -24,9 +24,14 @@ the powerpc32 change. sysdeps/powerpc/powerpc32/power6/memset.S (memset): Use cmplwi instead of cmpli. sysdeps/powerpc/powerpc64/power6/memset.S (memset): Use cmpldi instead of cmpli. +--- + sysdeps/powerpc/powerpc32/power6/memset.S | 2 +- + sysdeps/powerpc/powerpc64/power6/memset.S | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + --- a/sysdeps/powerpc/powerpc32/power6/memset.S +++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): +@@ -394,7 +394,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): @@ -35,10 +40,9 @@ the powerpc32 change. blt cr1,L(cacheAligned1) dcbz 0,rMEMP addi rLEN,rLEN,-128 - --- a/sysdeps/powerpc/powerpc64/power6/memset.S +++ b/sysdeps/powerpc/powerpc64/power6/memset.S -@@ -251,7 +251,7 @@ L(cacheAlignedx): +@@ -251,7 +251,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): diff --git a/packages/glibc/2.19/0017-fix-GCC-10-detection.patch b/packages/glibc/2.19/0017-fix-GCC-10-detection.patch deleted file mode 100644 index 1fe4ee8..0000000 --- a/packages/glibc/2.19/0017-fix-GCC-10-detection.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0db03b80d05d059c2f98cc9fc28cce90095d0876 Mon Sep 17 00:00:00 2001 -From: Jakub Labenski -Date: Fri, 5 Jun 2020 09:11:40 +0200 -Subject: [PATCH] Fix GCC 10+ detection - ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index fc023d0c70..b201f71b4b 100755 ---- a/configure -+++ b/configure -@@ -4710,7 +4710,7 @@ $as_echo_n "checking version of $CC... " >&6; } - ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* ) -+ 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* | [1-9][0-9].* ) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - --- -2.25.1 - diff --git a/packages/glibc/2.19/0018-fix-GCC-10-detection.patch b/packages/glibc/2.19/0018-fix-GCC-10-detection.patch new file mode 100644 index 0000000..d4a7796 --- /dev/null +++ b/packages/glibc/2.19/0018-fix-GCC-10-detection.patch @@ -0,0 +1,20 @@ +From 0db03b80d05d059c2f98cc9fc28cce90095d0876 Mon Sep 17 00:00:00 2001 +From: Jakub Labenski +Date: Fri, 5 Jun 2020 09:11:40 +0200 +Subject: [PATCH] Fix GCC 10+ detection + +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure ++++ b/configure +@@ -4710,7 +4710,7 @@ + ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* ) ++ 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* | [1-9][0-9].* ) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + diff --git a/packages/glibc/2.23/0013-Fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.23/0013-Fix-cmpli-usage-in-power6-memset.patch index 5213378..a660266 100644 --- a/packages/glibc/2.23/0013-Fix-cmpli-usage-in-power6-memset.patch +++ b/packages/glibc/2.23/0013-Fix-cmpli-usage-in-power6-memset.patch @@ -24,9 +24,14 @@ the powerpc32 change. sysdeps/powerpc/powerpc32/power6/memset.S (memset): Use cmplwi instead of cmpli. sysdeps/powerpc/powerpc64/power6/memset.S (memset): Use cmpldi instead of cmpli. +--- + sysdeps/powerpc/powerpc32/power6/memset.S | 2 +- + sysdeps/powerpc/powerpc64/power6/memset.S | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + --- a/sysdeps/powerpc/powerpc32/power6/memset.S +++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): +@@ -394,7 +394,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): @@ -35,10 +40,9 @@ the powerpc32 change. blt cr1,L(cacheAligned1) dcbz 0,rMEMP addi rLEN,rLEN,-128 - --- a/sysdeps/powerpc/powerpc64/power6/memset.S +++ b/sysdeps/powerpc/powerpc64/power6/memset.S -@@ -251,7 +251,7 @@ L(cacheAlignedx): +@@ -251,7 +251,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): diff --git a/packages/glibc/2.24/0013-fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.24/0013-fix-cmpli-usage-in-power6-memset.patch index 9dc84b2..391d104 100644 --- a/packages/glibc/2.24/0013-fix-cmpli-usage-in-power6-memset.patch +++ b/packages/glibc/2.24/0013-fix-cmpli-usage-in-power6-memset.patch @@ -24,15 +24,13 @@ Machado Filho * sysdeps/powerpc/powerpc64/power6/memset.S (memset): Use cmpldi instead of cmpli. --- - sysdeps/powerpc/powerpc32/power6/memset.S | 2 +- - sysdeps/powerpc/powerpc64/power6/memset.S | 2 +- + sysdeps/powerpc/powerpc32/power6/memset.S | 2 +- + sysdeps/powerpc/powerpc64/power6/memset.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/sysdeps/powerpc/powerpc32/power6/memset.S b/sysdeps/powerpc/powerpc32/power6/memset.S -index b2a222edd22..d5dbe83af2f 100644 --- a/sysdeps/powerpc/powerpc32/power6/memset.S +++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): +@@ -394,7 +394,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): @@ -41,11 +39,9 @@ index b2a222edd22..d5dbe83af2f 100644 blt cr1,L(cacheAligned1) dcbz 0,rMEMP addi rLEN,rLEN,-128 -diff --git a/sysdeps/powerpc/powerpc64/power6/memset.S b/sysdeps/powerpc/powerpc64/power6/memset.S -index c2d1c4e600c..d445b1e1ef1 100644 --- a/sysdeps/powerpc/powerpc64/power6/memset.S +++ b/sysdeps/powerpc/powerpc64/power6/memset.S -@@ -251,7 +251,7 @@ L(cacheAlignedx): +@@ -251,7 +251,7 @@ /* A simple loop for the longer (>640 bytes) lengths. This form limits the branch miss-predicted to exactly 1 at loop exit.*/ L(cacheAligned512): diff --git a/packages/glibc/2.27/0001-Fix-build-with-GCC-10-when-long-double-double.patch b/packages/glibc/2.27/0001-Fix-build-with-GCC-10-when-long-double-double.patch index ca0d8a7..ff5fe14 100644 --- a/packages/glibc/2.27/0001-Fix-build-with-GCC-10-when-long-double-double.patch +++ b/packages/glibc/2.27/0001-Fix-build-with-GCC-10-when-long-double-double.patch @@ -25,14 +25,12 @@ irrelevant for other reasons). Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and glibcs builds), where it fixes the build that previously failed. --- - math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ + math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -diff --git a/math/Makefile b/math/Makefile -index 84a8b94c74..0a5a40430e 100644 --- a/math/Makefile +++ b/math/Makefile -@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes) +@@ -568,6 +568,128 @@ # We won't compile the `long double' code at all. Tell the `double' code # to define aliases for the `FUNCl' names. math-CPPFLAGS += -DNO_LONG_DOUBLE @@ -161,6 +159,3 @@ index 84a8b94c74..0a5a40430e 100644 endif # These files quiet sNaNs in a way that is optimized away without --- -2.25.1 - diff --git a/packages/glibc/2.28/0001-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch b/packages/glibc/2.28/0001-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch index b3c82e1..faface3 100644 --- a/packages/glibc/2.28/0001-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch +++ b/packages/glibc/2.28/0001-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch @@ -10,16 +10,13 @@ references to _dl_cet_check and _dl_open_check. (cherry picked from commit 9fb8139079ef0bb1aa33a4ae418cbb113b9b9da7) --- - NEWS | 1 + - configure | 23 ++++++++++++++++++++++- - configure.ac | 9 ++++++++- - 3 files changed, 31 insertions(+), 2 deletions(-) + configure | 23 ++++++++++++++++++++++- + configure.ac | 9 ++++++++- + 2 files changed, 30 insertions(+), 2 deletions(-) -diff --git a/configure b/configure -index fde57d63fe..c02753c0fe 100755 --- a/configure +++ b/configure -@@ -3762,11 +3762,32 @@ else +@@ -3762,11 +3762,32 @@ fi @@ -53,11 +50,9 @@ index fde57d63fe..c02753c0fe 100755 fi -diff --git a/configure.ac b/configure.ac -index 014e09a5d5..139554b94a 100644 --- a/configure.ac +++ b/configure.ac -@@ -464,11 +464,18 @@ AC_ARG_ENABLE([mathvec], +@@ -464,11 +464,18 @@ [build_mathvec=$enableval], [build_mathvec=notset]) @@ -77,6 +72,3 @@ index 014e09a5d5..139554b94a 100644 # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses --- -2.20.1 - diff --git a/packages/glibc/2.28/0002-Fix-build-with-GCC-10-when-long-double-double.patch b/packages/glibc/2.28/0002-Fix-build-with-GCC-10-when-long-double-double.patch index ca0d8a7..6eeb460 100644 --- a/packages/glibc/2.28/0002-Fix-build-with-GCC-10-when-long-double-double.patch +++ b/packages/glibc/2.28/0002-Fix-build-with-GCC-10-when-long-double-double.patch @@ -25,14 +25,12 @@ irrelevant for other reasons). Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and glibcs builds), where it fixes the build that previously failed. --- - math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ + math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -diff --git a/math/Makefile b/math/Makefile -index 84a8b94c74..0a5a40430e 100644 --- a/math/Makefile +++ b/math/Makefile -@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes) +@@ -664,6 +664,128 @@ # We won't compile the `long double' code at all. Tell the `double' code # to define aliases for the `FUNCl' names. math-CPPFLAGS += -DNO_LONG_DOUBLE @@ -161,6 +159,3 @@ index 84a8b94c74..0a5a40430e 100644 endif # These files quiet sNaNs in a way that is optimized away without --- -2.25.1 - diff --git a/packages/glibc/2.29/0001-Add-ARC-architecture.patch b/packages/glibc/2.29/0001-Add-ARC-architecture.patch index f7441dd..8ccdb65 100644 --- a/packages/glibc/2.29/0001-Add-ARC-architecture.patch +++ b/packages/glibc/2.29/0001-Add-ARC-architecture.patch @@ -11,11 +11,115 @@ Signed-off-by: Alexey Brodkin Upstream-Status: Pending --- -diff --git a/elf/elf.h b/elf/elf.h -index 47a514a389f..bc2184f643c 100644 +--- + elf/elf.h | 70 + scripts/build-many-glibcs.py | 4 + support/Makefile | 5 + sysdeps/arc/Implies | 4 + sysdeps/arc/Makefile | 25 + sysdeps/arc/Versions | 6 + sysdeps/arc/__longjmp.S | 50 + sysdeps/arc/abort-instr.h | 2 + sysdeps/arc/atomic-machine.h | 73 + sysdeps/arc/bits/endian.h | 12 + sysdeps/arc/bits/fenv.h | 72 + sysdeps/arc/bits/link.h | 52 + sysdeps/arc/bits/setjmp.h | 26 + sysdeps/arc/bsd-_setjmp.S | 1 + sysdeps/arc/bsd-setjmp.S | 1 + sysdeps/arc/configure | 14 + sysdeps/arc/configure.ac | 11 + sysdeps/arc/dl-machine.h | 340 +++ + sysdeps/arc/dl-runtime.c | 39 + sysdeps/arc/dl-sysdep.h | 25 + sysdeps/arc/dl-tls.h | 30 + sysdeps/arc/dl-trampoline.S | 80 + sysdeps/arc/entry.h | 5 + sysdeps/arc/gccframe.h | 21 + sysdeps/arc/gmp-mparam.h | 23 + sysdeps/arc/jmpbuf-offsets.h | 47 + sysdeps/arc/jmpbuf-unwind.h | 47 + sysdeps/arc/ldsodefs.h | 43 + sysdeps/arc/libc-tls.c | 27 + sysdeps/arc/machine-gmon.h | 35 + sysdeps/arc/memusage.h | 23 + sysdeps/arc/nofpu/Implies | 1 + sysdeps/arc/nofpu/libm-test-ulps | 390 +++ + sysdeps/arc/nofpu/libm-test-ulps-name | 1 + sysdeps/arc/nofpu/math-tests-exceptions.h | 27 + sysdeps/arc/nofpu/math-tests-rounding.h | 27 + sysdeps/arc/nptl/Makefile | 22 + sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 71 + sysdeps/arc/nptl/bits/semaphore.h | 32 + sysdeps/arc/nptl/pthread-offsets.h | 4 + sysdeps/arc/nptl/pthreaddef.h | 32 + sysdeps/arc/nptl/tcb-offsets.sym | 11 + sysdeps/arc/nptl/tls.h | 150 + + sysdeps/arc/preconfigure | 14 + sysdeps/arc/setjmp.S | 66 + sysdeps/arc/sfp-machine.h | 73 + sysdeps/arc/sotruss-lib.c | 51 + sysdeps/arc/stackinfo.h | 33 + sysdeps/arc/start.S | 89 + sysdeps/arc/sysdep.h | 48 + sysdeps/arc/tls-macros.h | 47 + sysdeps/arc/tst-audit.h | 23 + sysdeps/unix/make-syscalls.sh | 2 + sysdeps/unix/sysv/linux/arc/Implies | 3 + sysdeps/unix/sysv/linux/arc/Makefile | 20 + sysdeps/unix/sysv/linux/arc/Versions | 16 + sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h | 12 + sysdeps/unix/sysv/linux/arc/c++-types.data | 67 + sysdeps/unix/sysv/linux/arc/clone.S | 98 + sysdeps/unix/sysv/linux/arc/configure | 4 + sysdeps/unix/sysv/linux/arc/configure.ac | 4 + sysdeps/unix/sysv/linux/arc/dl-static.c | 84 + sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21 + sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + sysdeps/unix/sysv/linux/arc/ld.abilist | 9 + sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 + sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist | 1 + sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 + sysdeps/unix/sysv/linux/arc/libc.abilist | 2089 ++++++++++++++++++++ + sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + sysdeps/unix/sysv/linux/arc/libm.abilist | 753 +++++++ + sysdeps/unix/sysv/linux/arc/libpthread.abilist | 235 ++ + sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 + sysdeps/unix/sysv/linux/arc/librt.abilist | 35 + sysdeps/unix/sysv/linux/arc/libthread_db.abilist | 40 + sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 + sysdeps/unix/sysv/linux/arc/localplt.data | 16 + sysdeps/unix/sysv/linux/arc/makecontext.c | 75 + sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 + sysdeps/unix/sysv/linux/arc/profil-counter.h | 2 + sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 + sysdeps/unix/sysv/linux/arc/setcontext.S | 92 + sysdeps/unix/sysv/linux/arc/shlib-versions | 2 + sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 23 + sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 + sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 + sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 + sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63 + sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + sysdeps/unix/sysv/linux/arc/syscall.S | 38 + sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + sysdeps/unix/sysv/linux/arc/sysdep.h | 251 ++ + sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 + sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 + sysdeps/unix/sysv/linux/arc/vfork.S | 42 + sysdeps/unix/sysv/linux/syscall-names.list | 3 + timezone/zic.c | 2 + 103 files changed, 7115 insertions(+), 8 deletions(-) + --- a/elf/elf.h +++ b/elf/elf.h -@@ -330,7 +330,7 @@ typedef struct +@@ -330,7 +330,7 @@ #define EM_CLOUDSHIELD 192 /* CloudShield */ #define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */ #define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */ @@ -24,7 +128,7 @@ index 47a514a389f..bc2184f643c 100644 #define EM_OPEN8 196 /* Open8 RISC */ #define EM_RL78 197 /* Renesas RL78 */ #define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */ -@@ -3996,6 +3996,74 @@ enum +@@ -3996,6 +3996,74 @@ #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 @@ -99,11 +203,9 @@ index 47a514a389f..bc2184f643c 100644 __END_DECLS #endif /* elf.h */ -diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py -index 025876486a3..40bf9398d48 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py -@@ -155,6 +155,9 @@ class Context(object): +@@ -155,6 +155,9 @@ 'cfg': ['--disable-multi-arch']}]) self.add_config(arch='aarch64_be', os_name='linux-gnu') @@ -113,7 +215,7 @@ index 025876486a3..40bf9398d48 100755 self.add_config(arch='alpha', os_name='linux-gnu') self.add_config(arch='arm', -@@ -1265,6 +1268,7 @@ class Config(object): +@@ -1265,6 +1268,7 @@ def install_linux_headers(self, cmdlist): """Install Linux kernel headers.""" arch_map = {'aarch64': 'arm64', @@ -121,11 +223,9 @@ index 025876486a3..40bf9398d48 100755 'alpha': 'alpha', 'arm': 'arm', 'csky': 'csky', -diff --git a/support/Makefile b/support/Makefile -index 432cf2fe6cb..e2a0c0cccf4 100644 --- a/support/Makefile +++ b/support/Makefile -@@ -169,12 +169,7 @@ CFLAGS-support_paths.c = \ +@@ -169,12 +169,7 @@ -DINSTDIR_PATH=\"$(prefix)\" \ -DLIBDIR_PATH=\"$(libdir)\" @@ -138,9 +238,6 @@ index 432cf2fe6cb..e2a0c0cccf4 100644 LDLIBS-test-container = $(libsupport) -diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies -new file mode 100644 -index 00000000000..a0f0b00cfac --- /dev/null +++ b/sysdeps/arc/Implies @@ -0,0 +1,4 @@ @@ -148,9 +245,6 @@ index 00000000000..a0f0b00cfac +wordsize-32 +ieee754/flt-32 +ieee754/dbl-64 -diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile -new file mode 100644 -index 00000000000..8d2fbe00c5e --- /dev/null +++ b/sysdeps/arc/Makefile @@ -0,0 +1,25 @@ @@ -179,9 +273,6 @@ index 00000000000..8d2fbe00c5e +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -funwind-tables +endif -diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions -new file mode 100644 -index 00000000000..a41ad34f953 --- /dev/null +++ b/sysdeps/arc/Versions @@ -0,0 +1,6 @@ @@ -191,9 +282,6 @@ index 00000000000..a41ad34f953 + __mcount; + } +} -diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S -new file mode 100644 -index 00000000000..8296aa445f6 --- /dev/null +++ b/sysdeps/arc/__longjmp.S @@ -0,0 +1,50 @@ @@ -247,17 +335,11 @@ index 00000000000..8296aa445f6 + mov.z r0, 1 ; can't let setjmp return 0 when it is due to longjmp + +END (__longjmp) -diff --git a/sysdeps/arc/abort-instr.h b/sysdeps/arc/abort-instr.h -new file mode 100644 -index 00000000000..49f33613c40 --- /dev/null +++ b/sysdeps/arc/abort-instr.h @@ -0,0 +1,2 @@ +/* FLAG 1 is privilege mode only instruction, hence will crash any program. */ +#define ABORT_INSTRUCTION asm ("flag 1") -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -new file mode 100644 -index 00000000000..bdc91d0558f --- /dev/null +++ b/sysdeps/arc/atomic-machine.h @@ -0,0 +1,73 @@ @@ -334,9 +416,6 @@ index 00000000000..bdc91d0558f +#endif + +#endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/arc/bits/endian.h b/sysdeps/arc/bits/endian.h -new file mode 100644 -index 00000000000..46f41e3cffe --- /dev/null +++ b/sysdeps/arc/bits/endian.h @@ -0,0 +1,12 @@ @@ -352,9 +431,6 @@ index 00000000000..46f41e3cffe +#ifdef __BIG_ENDIAN__ +# error "Big Endian NOt supported on ARC" +#endif -diff --git a/sysdeps/arc/bits/fenv.h b/sysdeps/arc/bits/fenv.h -new file mode 100644 -index 00000000000..58388fb43a3 --- /dev/null +++ b/sysdeps/arc/bits/fenv.h @@ -0,0 +1,72 @@ @@ -430,9 +506,6 @@ index 00000000000..58388fb43a3 +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif -diff --git a/sysdeps/arc/bits/link.h b/sysdeps/arc/bits/link.h -new file mode 100644 -index 00000000000..c4508ab6664 --- /dev/null +++ b/sysdeps/arc/bits/link.h @@ -0,0 +1,52 @@ @@ -488,9 +561,6 @@ index 00000000000..c4508ab6664 + const char *symname); + +__END_DECLS -diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h -new file mode 100644 -index 00000000000..3cb457d097c --- /dev/null +++ b/sysdeps/arc/bits/setjmp.h @@ -0,0 +1,26 @@ @@ -520,23 +590,14 @@ index 00000000000..3cb457d097c +typedef long int __jmp_buf[32]; + +#endif -diff --git a/sysdeps/arc/bsd-_setjmp.S b/sysdeps/arc/bsd-_setjmp.S -new file mode 100644 -index 00000000000..90b99cd8c3e --- /dev/null +++ b/sysdeps/arc/bsd-_setjmp.S @@ -0,0 +1 @@ +/* _setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/bsd-setjmp.S b/sysdeps/arc/bsd-setjmp.S -new file mode 100644 -index 00000000000..d3b823c118b --- /dev/null +++ b/sysdeps/arc/bsd-setjmp.S @@ -0,0 +1 @@ +/* setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure -new file mode 100644 -index 00000000000..52e286da2eb --- /dev/null +++ b/sysdeps/arc/configure @@ -0,0 +1,14 @@ @@ -554,9 +615,6 @@ index 00000000000..52e286da2eb +cat >>confdefs.h <<_ACEOF +#define ASM_LINE_SEP $libc_cv_asm_line_sep +_ACEOF -diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac -new file mode 100644 -index 00000000000..1074d312f03 --- /dev/null +++ b/sysdeps/arc/configure.ac @@ -0,0 +1,11 @@ @@ -571,9 +629,6 @@ index 00000000000..1074d312f03 +# canonical newline as there's lots of code out there which will break +libc_cv_asm_line_sep='`' +AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) -diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h -new file mode 100644 -index 00000000000..c81acb9d4fd --- /dev/null +++ b/sysdeps/arc/dl-machine.h @@ -0,0 +1,340 @@ @@ -917,9 +972,6 @@ index 00000000000..c81acb9d4fd +} + +#endif /* RESOLVE_MAP */ -diff --git a/sysdeps/arc/dl-runtime.c b/sysdeps/arc/dl-runtime.c -new file mode 100644 -index 00000000000..48f4a5a7e1d --- /dev/null +++ b/sysdeps/arc/dl-runtime.c @@ -0,0 +1,39 @@ @@ -962,9 +1014,6 @@ index 00000000000..48f4a5a7e1d +#define reloc_offset reloc_index * sizeof (PLTREL) + +#include -diff --git a/sysdeps/arc/dl-sysdep.h b/sysdeps/arc/dl-sysdep.h -new file mode 100644 -index 00000000000..ffc30b69372 --- /dev/null +++ b/sysdeps/arc/dl-sysdep.h @@ -0,0 +1,25 @@ @@ -993,9 +1042,6 @@ index 00000000000..ffc30b69372 +#define DL_ARGV_NOT_RELRO 1 + +#define DL_EXTERN_PROTECTED_DATA -diff --git a/sysdeps/arc/dl-tls.h b/sysdeps/arc/dl-tls.h -new file mode 100644 -index 00000000000..7f0cf91e402 --- /dev/null +++ b/sysdeps/arc/dl-tls.h @@ -0,0 +1,30 @@ @@ -1029,9 +1075,6 @@ index 00000000000..7f0cf91e402 + +/* Value used for dtv entries for which the allocation is delayed. */ +#define TLS_DTV_UNALLOCATED ((void *) -1l) -diff --git a/sysdeps/arc/dl-trampoline.S b/sysdeps/arc/dl-trampoline.S -new file mode 100644 -index 00000000000..9da75fb1fe2 --- /dev/null +++ b/sysdeps/arc/dl-trampoline.S @@ -0,0 +1,80 @@ @@ -1115,9 +1158,6 @@ index 00000000000..9da75fb1fe2 + cfi_adjust_cfa_offset (-4) + cfi_restore (r0) +END (_dl_runtime_resolve) -diff --git a/sysdeps/arc/entry.h b/sysdeps/arc/entry.h -new file mode 100644 -index 00000000000..adb01d981af --- /dev/null +++ b/sysdeps/arc/entry.h @@ -0,0 +1,5 @@ @@ -1126,9 +1166,6 @@ index 00000000000..adb01d981af +#endif + +#define ENTRY_POINT __start -diff --git a/sysdeps/arc/gccframe.h b/sysdeps/arc/gccframe.h -new file mode 100644 -index 00000000000..40487fa77b4 --- /dev/null +++ b/sysdeps/arc/gccframe.h @@ -0,0 +1,21 @@ @@ -1153,9 +1190,6 @@ index 00000000000..40487fa77b4 +#define FIRST_PSEUDO_REGISTER 40 + +#include -diff --git a/sysdeps/arc/gmp-mparam.h b/sysdeps/arc/gmp-mparam.h -new file mode 100644 -index 00000000000..e30695fc6b2 --- /dev/null +++ b/sysdeps/arc/gmp-mparam.h @@ -0,0 +1,23 @@ @@ -1182,9 +1216,6 @@ index 00000000000..e30695fc6b2 +#include + +#define IEEE_DOUBLE_BIG_ENDIAN 0 -diff --git a/sysdeps/arc/jmpbuf-offsets.h b/sysdeps/arc/jmpbuf-offsets.h -new file mode 100644 -index 00000000000..9760f3a3891 --- /dev/null +++ b/sysdeps/arc/jmpbuf-offsets.h @@ -0,0 +1,47 @@ @@ -1235,9 +1266,6 @@ index 00000000000..9760f3a3891 + +/* Helper for generic ____longjmp_chk(). */ +#define JB_FRAME_ADDRESS(buf) ((void *) (unsigned long int) (buf[JB_SP])) -diff --git a/sysdeps/arc/jmpbuf-unwind.h b/sysdeps/arc/jmpbuf-unwind.h -new file mode 100644 -index 00000000000..47be5758c75 --- /dev/null +++ b/sysdeps/arc/jmpbuf-unwind.h @@ -0,0 +1,47 @@ @@ -1288,9 +1316,6 @@ index 00000000000..47be5758c75 + +/* We use the normal longjmp for unwinding. */ +#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val) -diff --git a/sysdeps/arc/ldsodefs.h b/sysdeps/arc/ldsodefs.h -new file mode 100644 -index 00000000000..53ef4e1e83d --- /dev/null +++ b/sysdeps/arc/ldsodefs.h @@ -0,0 +1,43 @@ @@ -1337,9 +1362,6 @@ index 00000000000..53ef4e1e83d +#include_next + +#endif -diff --git a/sysdeps/arc/libc-tls.c b/sysdeps/arc/libc-tls.c -new file mode 100644 -index 00000000000..903a75a41b5 --- /dev/null +++ b/sysdeps/arc/libc-tls.c @@ -0,0 +1,27 @@ @@ -1370,9 +1392,6 @@ index 00000000000..903a75a41b5 + dtv_t *dtv = THREAD_DTV (); + return (char *) dtv[1].pointer.val + ti->ti_offset; +} -diff --git a/sysdeps/arc/machine-gmon.h b/sysdeps/arc/machine-gmon.h -new file mode 100644 -index 00000000000..1d9e8108d9b --- /dev/null +++ b/sysdeps/arc/machine-gmon.h @@ -0,0 +1,35 @@ @@ -1411,9 +1430,6 @@ index 00000000000..1d9e8108d9b + __mcount_internal ((unsigned long int) frompc, \ + (unsigned long int) __builtin_return_address(0)); \ +} -diff --git a/sysdeps/arc/memusage.h b/sysdeps/arc/memusage.h -new file mode 100644 -index 00000000000..29f234f5bac --- /dev/null +++ b/sysdeps/arc/memusage.h @@ -0,0 +1,23 @@ @@ -1440,16 +1456,10 @@ index 00000000000..29f234f5bac +#define uatomic32_t unsigned int + +#include -diff --git a/sysdeps/arc/nofpu/Implies b/sysdeps/arc/nofpu/Implies -new file mode 100644 -index 00000000000..abcbadb25f2 --- /dev/null +++ b/sysdeps/arc/nofpu/Implies @@ -0,0 +1 @@ +ieee754/soft-fp -diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps -new file mode 100644 -index 00000000000..0e8ef313fa9 --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -0,0 +1,390 @@ @@ -1843,16 +1853,10 @@ index 00000000000..0e8ef313fa9 +ifloat: 3 + +# end of automatic generation -diff --git a/sysdeps/arc/nofpu/libm-test-ulps-name b/sysdeps/arc/nofpu/libm-test-ulps-name -new file mode 100644 -index 00000000000..8c4fba4f9ae --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps-name @@ -0,0 +1 @@ +ARC -diff --git a/sysdeps/arc/nofpu/math-tests-exceptions.h b/sysdeps/arc/nofpu/math-tests-exceptions.h -new file mode 100644 -index 00000000000..f5c0b73589e --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-exceptions.h @@ -0,0 +1,27 @@ @@ -1883,9 +1887,6 @@ index 00000000000..f5c0b73589e +#define EXCEPTION_TESTS_long_double 0 + +#endif -diff --git a/sysdeps/arc/nofpu/math-tests-rounding.h b/sysdeps/arc/nofpu/math-tests-rounding.h -new file mode 100644 -index 00000000000..e8f76338b1e --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-rounding.h @@ -0,0 +1,27 @@ @@ -1916,9 +1917,6 @@ index 00000000000..e8f76338b1e +#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST) + +#endif -diff --git a/sysdeps/arc/nptl/Makefile b/sysdeps/arc/nptl/Makefile -new file mode 100644 -index 00000000000..3c33c9cc112 --- /dev/null +++ b/sysdeps/arc/nptl/Makefile @@ -0,0 +1,22 @@ @@ -1944,9 +1942,6 @@ index 00000000000..3c33c9cc112 +ifeq ($(subdir),csu) +gen-as-const-headers += tcb-offsets.sym +endif -diff --git a/sysdeps/arc/nptl/bits/pthreadtypes-arch.h b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h -new file mode 100644 -index 00000000000..eae884f61cf --- /dev/null +++ b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h @@ -0,0 +1,71 @@ @@ -2021,9 +2016,6 @@ index 00000000000..eae884f61cf +#define __PTHREAD_RWLOCK_ELISION_EXTRA 0 + +#endif /* bits/pthreadtypes-arch.h */ -diff --git a/sysdeps/arc/nptl/bits/semaphore.h b/sysdeps/arc/nptl/bits/semaphore.h -new file mode 100644 -index 00000000000..662d08401d0 --- /dev/null +++ b/sysdeps/arc/nptl/bits/semaphore.h @@ -0,0 +1,32 @@ @@ -2059,9 +2051,6 @@ index 00000000000..662d08401d0 + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; -diff --git a/sysdeps/arc/nptl/pthread-offsets.h b/sysdeps/arc/nptl/pthread-offsets.h -new file mode 100644 -index 00000000000..c363e8cda8d --- /dev/null +++ b/sysdeps/arc/nptl/pthread-offsets.h @@ -0,0 +1,4 @@ @@ -2069,9 +2058,6 @@ index 00000000000..c363e8cda8d +#define __PTHREAD_MUTEX_KIND_OFFSET 16 +#define __PTHREAD_MUTEX_SPINS_OFFSET 20 +#define __PTHREAD_MUTEX_LIST_OFFSET 24 -diff --git a/sysdeps/arc/nptl/pthreaddef.h b/sysdeps/arc/nptl/pthreaddef.h -new file mode 100644 -index 00000000000..80a109bbd52 --- /dev/null +++ b/sysdeps/arc/nptl/pthreaddef.h @@ -0,0 +1,32 @@ @@ -2107,9 +2093,6 @@ index 00000000000..80a109bbd52 + +/* Location of current stack frame. */ +#define CURRENT_STACK_FRAME __builtin_frame_address (0) -diff --git a/sysdeps/arc/nptl/tcb-offsets.sym b/sysdeps/arc/nptl/tcb-offsets.sym -new file mode 100644 -index 00000000000..56950e0676e --- /dev/null +++ b/sysdeps/arc/nptl/tcb-offsets.sym @@ -0,0 +1,11 @@ @@ -2124,9 +2107,6 @@ index 00000000000..56950e0676e +TLS_TCB_SIZE sizeof(tcbhead_t) + +PTHREAD_TID offsetof(struct pthread, tid) -diff --git a/sysdeps/arc/nptl/tls.h b/sysdeps/arc/nptl/tls.h -new file mode 100644 -index 00000000000..2c90109d570 --- /dev/null +++ b/sysdeps/arc/nptl/tls.h @@ -0,0 +1,150 @@ @@ -2280,9 +2260,6 @@ index 00000000000..2c90109d570 +#endif /* __ASSEMBLER__ */ + +#endif /* tls.h */ -diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure -new file mode 100644 -index 00000000000..1152a179c4a --- /dev/null +++ b/sysdeps/arc/preconfigure @@ -0,0 +1,14 @@ @@ -2300,9 +2277,6 @@ index 00000000000..1152a179c4a + fi + ;; +esac -diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S -new file mode 100644 -index 00000000000..518545a99e8 --- /dev/null +++ b/sysdeps/arc/setjmp.S @@ -0,0 +1,66 @@ @@ -2372,9 +2346,6 @@ index 00000000000..518545a99e8 +END (__sigsetjmp) + +libc_hidden_def (__sigsetjmp) -diff --git a/sysdeps/arc/sfp-machine.h b/sysdeps/arc/sfp-machine.h -new file mode 100644 -index 00000000000..5ceaf56a988 --- /dev/null +++ b/sysdeps/arc/sfp-machine.h @@ -0,0 +1,73 @@ @@ -2451,9 +2422,6 @@ index 00000000000..5ceaf56a988 + } while (0) + +#define _FP_TININESS_AFTER_ROUNDING 0 -diff --git a/sysdeps/arc/sotruss-lib.c b/sysdeps/arc/sotruss-lib.c -new file mode 100644 -index 00000000000..ffbb5bbd6d0 --- /dev/null +++ b/sysdeps/arc/sotruss-lib.c @@ -0,0 +1,51 @@ @@ -2508,9 +2476,6 @@ index 00000000000..ffbb5bbd6d0 + + return 0; +} -diff --git a/sysdeps/arc/stackinfo.h b/sysdeps/arc/stackinfo.h -new file mode 100644 -index 00000000000..fe69161382a --- /dev/null +++ b/sysdeps/arc/stackinfo.h @@ -0,0 +1,33 @@ @@ -2547,9 +2512,6 @@ index 00000000000..fe69161382a +#define DEFAULT_STACK_PERMS (PF_R|PF_W) + +#endif /* stackinfo.h */ -diff --git a/sysdeps/arc/start.S b/sysdeps/arc/start.S -new file mode 100644 -index 00000000000..4ade1e871f6 --- /dev/null +++ b/sysdeps/arc/start.S @@ -0,0 +1,89 @@ @@ -2642,9 +2604,6 @@ index 00000000000..4ade1e871f6 + .long 0 + .weak data_start + data_start = __data_start -diff --git a/sysdeps/arc/sysdep.h b/sysdeps/arc/sysdep.h -new file mode 100644 -index 00000000000..127e9b01e73 --- /dev/null +++ b/sysdeps/arc/sysdep.h @@ -0,0 +1,48 @@ @@ -2696,9 +2655,6 @@ index 00000000000..127e9b01e73 +# define CALL_MCOUNT /* Do nothing for now. */ + +#endif /* __ASSEMBLER__ */ -diff --git a/sysdeps/arc/tls-macros.h b/sysdeps/arc/tls-macros.h -new file mode 100644 -index 00000000000..4d54683eda4 --- /dev/null +++ b/sysdeps/arc/tls-macros.h @@ -0,0 +1,47 @@ @@ -2749,9 +2705,6 @@ index 00000000000..4d54683eda4 + "add %0, %1, %0 \n" \ + : "=&r" (__result) : "r" (tp)); \ + __result; }) -diff --git a/sysdeps/arc/tst-audit.h b/sysdeps/arc/tst-audit.h -new file mode 100644 -index 00000000000..9237ad2440c --- /dev/null +++ b/sysdeps/arc/tst-audit.h @@ -0,0 +1,23 @@ @@ -2778,8 +2731,6 @@ index 00000000000..9237ad2440c +#define La_regs La_arc_regs +#define La_retval La_arc_retval +#define int_retval lrv_reg[0] -diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh -index e39b2d6d521..6a5c10d54e8 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -7,7 +7,7 @@ @@ -2791,18 +2742,12 @@ index e39b2d6d521..6a5c10d54e8 100644 # actual wrapper. # # Syscall Signature Prefixes: -diff --git a/sysdeps/unix/sysv/linux/arc/Implies b/sysdeps/unix/sysv/linux/arc/Implies -new file mode 100644 -index 00000000000..7f739a0340b --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Implies @@ -0,0 +1,3 @@ +arc/nptl +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic -diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile -new file mode 100644 -index 00000000000..a6c6dfc6ec6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Makefile @@ -0,0 +1,20 @@ @@ -2826,9 +2771,6 @@ index 00000000000..a6c6dfc6ec6 +sysdep-dl-routines += dl-static +endif +endif -diff --git a/sysdeps/unix/sysv/linux/arc/Versions b/sysdeps/unix/sysv/linux/arc/Versions -new file mode 100644 -index 00000000000..3d12161f7fe --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Versions @@ -0,0 +1,16 @@ @@ -2848,9 +2790,6 @@ index 00000000000..3d12161f7fe + __default_rt_sa_restorer; + } +} -diff --git a/sysdeps/unix/sysv/linux/arc/bits/procfs.h b/sysdeps/unix/sysv/linux/arc/bits/procfs.h -new file mode 100644 -index 00000000000..b37deaee587 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h @@ -0,0 +1,35 @@ @@ -2889,9 +2828,6 @@ index 00000000000..b37deaee587 + +/* There's no seperate floating point reg file in ARCv2. */ +typedef struct { } elf_fpregset_t; -diff --git a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h -new file mode 100644 -index 00000000000..795638a30bd --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h @@ -0,0 +1,12 @@ @@ -2907,9 +2843,6 @@ index 00000000000..795638a30bd +} __sigset_t; + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/c++-types.data -new file mode 100644 -index 00000000000..303f4570c8e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/c++-types.data @@ -0,0 +1,67 @@ @@ -2980,9 +2913,6 @@ index 00000000000..303f4570c8e +useconds_t:j +ushort:t +u_short:t -diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S -new file mode 100644 -index 00000000000..55c2a2b60ed --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/clone.S @@ -0,0 +1,98 @@ @@ -3084,9 +3014,6 @@ index 00000000000..55c2a2b60ed +PSEUDO_END (__clone) +libc_hidden_def (__clone) +weak_alias (__clone, clone) -diff --git a/sysdeps/unix/sysv/linux/arc/configure b/sysdeps/unix/sysv/linux/arc/configure -new file mode 100644 -index 00000000000..f74fa7cb025 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure @@ -0,0 +1,4 @@ @@ -3094,9 +3021,6 @@ index 00000000000..f74fa7cb025 + # Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/configure.ac b/sysdeps/unix/sysv/linux/arc/configure.ac -new file mode 100644 -index 00000000000..a9528032d32 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure.ac @@ -0,0 +1,4 @@ @@ -3104,9 +3028,6 @@ index 00000000000..a9528032d32 +# Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/dl-static.c b/sysdeps/unix/sysv/linux/arc/dl-static.c -new file mode 100644 -index 00000000000..1a8757c9840 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/dl-static.c @@ -0,0 +1,84 @@ @@ -3194,9 +3115,6 @@ index 00000000000..1a8757c9840 +} + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S -new file mode 100644 -index 00000000000..723cc237d87 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/getcontext.S @@ -0,0 +1,63 @@ @@ -3263,9 +3181,6 @@ index 00000000000..723cc237d87 + +PSEUDO_END (__getcontext) +weak_alias (__getcontext, getcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/ipc_priv.h b/sysdeps/unix/sysv/linux/arc/ipc_priv.h -new file mode 100644 -index 00000000000..309eb3064e9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ipc_priv.h @@ -0,0 +1,21 @@ @@ -3290,9 +3205,6 @@ index 00000000000..309eb3064e9 +#include /* For __key_t */ + +#define __IPC_64 0x0 -diff --git a/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h -new file mode 100644 -index 00000000000..6c129398483 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h @@ -0,0 +1,6 @@ @@ -3302,9 +3214,6 @@ index 00000000000..6c129398483 +#define SIGJMP_BUF_ALIGN __alignof__ (unsigned long int) +#define MASK_WAS_SAVED_OFFSET (32 * sizeof (unsigned long int)) +#define SAVED_MASK_OFFSET (33 * sizeof (unsigned long int)) -diff --git a/sysdeps/unix/sysv/linux/arc/kernel-features.h b/sysdeps/unix/sysv/linux/arc/kernel-features.h -new file mode 100644 -index 00000000000..00255337bc8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h @@ -0,0 +1,28 @@ @@ -3336,9 +3245,6 @@ index 00000000000..00255337bc8 + +#undef __ASSUME_CLONE_DEFAULT +#define __ASSUME_CLONE_BACKWARDS 1 -diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/ld.abilist -new file mode 100644 -index 00000000000..71576160edd --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ld.abilist @@ -0,0 +1,9 @@ @@ -3351,9 +3257,6 @@ index 00000000000..71576160edd +GLIBC_2.29 free F +GLIBC_2.29 malloc F +GLIBC_2.29 realloc F -diff --git a/sysdeps/unix/sysv/linux/arc/ldsodefs.h b/sysdeps/unix/sysv/linux/arc/ldsodefs.h -new file mode 100644 -index 00000000000..8c5c6800af1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ldsodefs.h @@ -0,0 +1,32 @@ @@ -3389,16 +3292,10 @@ index 00000000000..8c5c6800af1 +#define DL_STATIC_INIT(map) _dl_static_init (map) + +#endif /* ldsodefs.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist -new file mode 100644 -index 00000000000..96b4163a254 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist @@ -0,0 +1 @@ +GLIBC_2.29 __ctype_get_mb_cur_max F -diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/libanl.abilist -new file mode 100644 -index 00000000000..416a6f8ddb2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist @@ -0,0 +1,4 @@ @@ -3406,9 +3303,6 @@ index 00000000000..416a6f8ddb2 +GLIBC_2.29 gai_error F +GLIBC_2.29 gai_suspend F +GLIBC_2.29 getaddrinfo_a F -diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist -new file mode 100644 -index 00000000000..1e9a5dc9f09 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -0,0 +1,2089 @@ @@ -5501,17 +5395,11 @@ index 00000000000..1e9a5dc9f09 +GLIBC_2.29 xencrypt F +GLIBC_2.29 xprt_register F +GLIBC_2.29 xprt_unregister F -diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist -new file mode 100644 -index 00000000000..da3abbf8fb8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist @@ -0,0 +1,2 @@ +GLIBC_2.29 crypt F +GLIBC_2.29 crypt_r F -diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist -new file mode 100644 -index 00000000000..8fcb609ddcf --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -0,0 +1,9 @@ @@ -5524,9 +5412,6 @@ index 00000000000..8fcb609ddcf +GLIBC_2.29 dlopen F +GLIBC_2.29 dlsym F +GLIBC_2.29 dlvsym F -diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist -new file mode 100644 -index 00000000000..497f6226447 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libm.abilist @@ -0,0 +1,753 @@ @@ -6283,9 +6168,6 @@ index 00000000000..497f6226447 +GLIBC_2.29 ynf32x F +GLIBC_2.29 ynf64 F +GLIBC_2.29 ynl F -diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist -new file mode 100644 -index 00000000000..ea4b79a518e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -0,0 +1,235 @@ @@ -6524,9 +6406,6 @@ index 00000000000..ea4b79a518e +GLIBC_2.29 wait F +GLIBC_2.29 waitpid F +GLIBC_2.29 write F -diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist -new file mode 100644 -index 00000000000..2830a7efd17 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist @@ -0,0 +1,79 @@ @@ -6609,9 +6488,6 @@ index 00000000000..2830a7efd17 +GLIBC_2.29 ns_sprintrr F +GLIBC_2.29 ns_sprintrrf F +GLIBC_2.29 ns_subdomain F -diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist -new file mode 100644 -index 00000000000..c6690ef7c13 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -0,0 +1,35 @@ @@ -6650,9 +6526,6 @@ index 00000000000..c6690ef7c13 +GLIBC_2.29 timer_getoverrun F +GLIBC_2.29 timer_gettime F +GLIBC_2.29 timer_settime F -diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist -new file mode 100644 -index 00000000000..37e9bace552 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist @@ -0,0 +1,40 @@ @@ -6696,9 +6569,6 @@ index 00000000000..37e9bace552 +GLIBC_2.29 td_thr_tlsbase F +GLIBC_2.29 td_thr_tsd F +GLIBC_2.29 td_thr_validate F -diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/libutil.abilist -new file mode 100644 -index 00000000000..cbd11999a4f --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist @@ -0,0 +1,6 @@ @@ -6708,9 +6578,6 @@ index 00000000000..cbd11999a4f +GLIBC_2.29 logout F +GLIBC_2.29 logwtmp F +GLIBC_2.29 openpty F -diff --git a/sysdeps/unix/sysv/linux/arc/localplt.data b/sysdeps/unix/sysv/linux/arc/localplt.data -new file mode 100644 -index 00000000000..e902fd0607a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/localplt.data @@ -0,0 +1,16 @@ @@ -6730,9 +6597,6 @@ index 00000000000..e902fd0607a +ld.so: _dl_catch_error +ld.so: _dl_signal_exception +ld.so: _dl_catch_exception -diff --git a/sysdeps/unix/sysv/linux/arc/makecontext.c b/sysdeps/unix/sysv/linux/arc/makecontext.c -new file mode 100644 -index 00000000000..3d46452e175 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/makecontext.c @@ -0,0 +1,75 @@ @@ -6811,9 +6675,6 @@ index 00000000000..3d46452e175 +} + +weak_alias (__makecontext, makecontext) -diff --git a/sysdeps/unix/sysv/linux/arc/mmap_internal.h b/sysdeps/unix/sysv/linux/arc/mmap_internal.h -new file mode 100644 -index 00000000000..3f28f352d91 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h @@ -0,0 +1,27 @@ @@ -6844,24 +6705,15 @@ index 00000000000..3f28f352d91 +#include_next + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/profil-counter.h b/sysdeps/unix/sysv/linux/arc/profil-counter.h -new file mode 100644 -index 00000000000..8a6a0bcf3d5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/profil-counter.h @@ -0,0 +1,2 @@ +/* We can use the ix86 version. */ +#include -diff --git a/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/sysdeps/unix/sysv/linux/arc/pt-vfork.S -new file mode 100644 -index 00000000000..1cc89317007 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/pt-vfork.S @@ -0,0 +1 @@ +/* Not needed. */ -diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S -new file mode 100644 -index 00000000000..8cf4ffcaf5a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/setcontext.S @@ -0,0 +1,92 @@ @@ -6957,17 +6809,11 @@ index 00000000000..8cf4ffcaf5a + /* Exit with status 0. */ + b HIDDEN_JUMPTARGET(exit) +END (__startcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions -new file mode 100644 -index 00000000000..e527acd7789 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/shlib-versions @@ -0,0 +1,2 @@ +DEFAULT GLIBC_2.29 +ld=ld-linux-arc.so.2 -diff --git a/sysdeps/unix/sysv/linux/arc/sigaction.c b/sysdeps/unix/sysv/linux/arc/sigaction.c -new file mode 100644 -index 00000000000..db7293865f3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigaction.c @@ -0,0 +1,31 @@ @@ -7002,9 +6848,6 @@ index 00000000000..db7293865f3 +#define RESET_SA_RESTORER(act, kact) + +#include -diff --git a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h -new file mode 100644 -index 00000000000..acf03c6afd9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h @@ -0,0 +1,23 @@ @@ -7031,9 +6874,6 @@ index 00000000000..acf03c6afd9 + +#define SIGCONTEXT int _code, struct ucontext_t * +#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.__scratch.__ret) -diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S -new file mode 100644 -index 00000000000..573b54e36cf --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S @@ -0,0 +1,29 @@ @@ -7066,9 +6906,6 @@ index 00000000000..573b54e36cf + ARC_TRAP_INSN + j_s [blink] +PSEUDO_END_NOERRNO (__default_rt_sa_restorer) -diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S -new file mode 100644 -index 00000000000..853d3805de6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S @@ -0,0 +1,92 @@ @@ -7164,9 +7001,6 @@ index 00000000000..853d3805de6 + +PSEUDO_END (__swapcontext) +weak_alias (__swapcontext, swapcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h -new file mode 100644 -index 00000000000..2d93e49e6a9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h @@ -0,0 +1,36 @@ @@ -7206,9 +7040,6 @@ index 00000000000..2d93e49e6a9 +__END_DECLS + +#endif /* sys/cachectl.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h -new file mode 100644 -index 00000000000..7e357bcd65e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h @@ -0,0 +1,63 @@ @@ -7275,9 +7106,6 @@ index 00000000000..7e357bcd65e +#undef __ctx + +#endif /* sys/ucontext.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/user.h b/sysdeps/unix/sysv/linux/arc/sys/user.h -new file mode 100644 -index 00000000000..50d0dc7827a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/user.h @@ -0,0 +1,31 @@ @@ -7312,9 +7140,6 @@ index 00000000000..50d0dc7827a +}; + +#endif /* sys/user.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -new file mode 100644 -index 00000000000..3fe5fcdd041 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscall.S @@ -0,0 +1,38 @@ @@ -7356,18 +7181,12 @@ index 00000000000..3fe5fcdd041 + brhi r0, -1024, .Lcall_syscall_err + j [blink] +PSEUDO_END (syscall) -diff --git a/sysdeps/unix/sysv/linux/arc/syscalls.list b/sysdeps/unix/sysv/linux/arc/syscalls.list -new file mode 100644 -index 00000000000..d0ef5977ee0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscalls.list @@ -0,0 +1,3 @@ +# File name Caller Syscall name Args Strong name Weak names + +cacheflush - cacheflush i:pii _flush_cache cacheflush -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.c b/sysdeps/unix/sysv/linux/arc/sysdep.c -new file mode 100644 -index 00000000000..5618f378515 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.c @@ -0,0 +1,33 @@ @@ -7404,9 +7223,6 @@ index 00000000000..5618f378515 +#if IS_IN (libc) +hidden_def (__syscall_error) +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -new file mode 100644 -index 00000000000..9ad95d97ae1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -0,0 +1,251 @@ @@ -7661,9 +7477,6 @@ index 00000000000..9ad95d97ae1 +#endif /* !__ASSEMBLER__ */ + +#endif /* linux/arc/sysdep.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h -new file mode 100644 -index 00000000000..ed261399c98 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h @@ -0,0 +1,29 @@ @@ -7696,9 +7509,6 @@ index 00000000000..ed261399c98 +#define LOAD_REG(reg, rbase, off) ld reg, [rbase, UCONTEXT_MCONTEXT + off * 4] + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext_i.sym b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym -new file mode 100644 -index 00000000000..d84e92f9f54 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym @@ -0,0 +1,20 @@ @@ -7722,9 +7532,6 @@ index 00000000000..d84e92f9f54 +UCONTEXT_MCONTEXT ucontext (uc_mcontext) +UCONTEXT_SIGMASK ucontext (uc_sigmask) +UCONTEXT_SIZE sizeof (ucontext_t) -diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S -new file mode 100644 -index 00000000000..7f981d0681c --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/vfork.S @@ -0,0 +1,42 @@ @@ -7770,11 +7577,9 @@ index 00000000000..7f981d0681c +libc_hidden_def (__vfork) + +weak_alias (__vfork, vfork) -diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list -index b650dc07cc6..5a9f63ff511 100644 --- a/sysdeps/unix/sysv/linux/syscall-names.list +++ b/sysdeps/unix/sysv/linux/syscall-names.list -@@ -42,6 +42,9 @@ adjtimex +@@ -42,6 +42,9 @@ afs_syscall alarm alloc_hugepages @@ -7784,11 +7589,9 @@ index b650dc07cc6..5a9f63ff511 100644 arch_prctl arm_fadvise64_64 arm_sync_file_range -diff --git a/timezone/zic.c b/timezone/zic.c -index 2ebc66a9af5..8e8d94fac3a 100644 --- a/timezone/zic.c +++ b/timezone/zic.c -@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t; +@@ -39,7 +39,7 @@ #include #endif #ifdef S_IRUSR diff --git a/packages/glibc/2.29/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch b/packages/glibc/2.29/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch index e188dd0..5e3b87f 100644 --- a/packages/glibc/2.29/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch +++ b/packages/glibc/2.29/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch @@ -10,16 +10,13 @@ references to _dl_cet_check and _dl_open_check. (cherry picked from commit 9fb8139079ef0bb1aa33a4ae418cbb113b9b9da7) --- - NEWS | 1 + - configure | 23 ++++++++++++++++++++++- - configure.ac | 9 ++++++++- - 3 files changed, 31 insertions(+), 2 deletions(-) + configure | 23 ++++++++++++++++++++++- + configure.ac | 9 ++++++++- + 2 files changed, 30 insertions(+), 2 deletions(-) -diff --git a/configure b/configure -index 101dfddf37..6a2df7c2be 100755 --- a/configure +++ b/configure -@@ -3777,11 +3777,32 @@ else +@@ -3777,11 +3777,32 @@ fi @@ -53,11 +50,9 @@ index 101dfddf37..6a2df7c2be 100755 fi -diff --git a/configure.ac b/configure.ac -index 46a74687a6..f483afdc2e 100644 --- a/configure.ac +++ b/configure.ac -@@ -472,11 +472,18 @@ AC_ARG_ENABLE([mathvec], +@@ -472,11 +472,18 @@ [build_mathvec=$enableval], [build_mathvec=notset]) @@ -77,6 +72,3 @@ index 46a74687a6..f483afdc2e 100644 # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses --- -2.20.1 - diff --git a/packages/glibc/2.29/0003-Fix-build-with-GCC-10-when-long-double-double.patch b/packages/glibc/2.29/0003-Fix-build-with-GCC-10-when-long-double-double.patch index ca0d8a7..ef5fa4f 100644 --- a/packages/glibc/2.29/0003-Fix-build-with-GCC-10-when-long-double-double.patch +++ b/packages/glibc/2.29/0003-Fix-build-with-GCC-10-when-long-double-double.patch @@ -25,14 +25,12 @@ irrelevant for other reasons). Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and glibcs builds), where it fixes the build that previously failed. --- - math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ + math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -diff --git a/math/Makefile b/math/Makefile -index 84a8b94c74..0a5a40430e 100644 --- a/math/Makefile +++ b/math/Makefile -@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes) +@@ -657,6 +657,128 @@ # We won't compile the `long double' code at all. Tell the `double' code # to define aliases for the `FUNCl' names. math-CPPFLAGS += -DNO_LONG_DOUBLE @@ -161,6 +159,3 @@ index 84a8b94c74..0a5a40430e 100644 endif # These files quiet sNaNs in a way that is optimized away without --- -2.25.1 - diff --git a/packages/glibc/2.30/0001-Add-ARC-architecture.patch b/packages/glibc/2.30/0001-Add-ARC-architecture.patch index be2ee8a..dce1d20 100644 --- a/packages/glibc/2.30/0001-Add-ARC-architecture.patch +++ b/packages/glibc/2.30/0001-Add-ARC-architecture.patch @@ -9,11 +9,116 @@ git diff glibc-2.30..arc-2.30-2019.09.06 ':!NEWS' ':!ChangeLog' Signed-off-by: Alexey Brodkin --- -diff --git a/elf/elf.h b/elf/elf.h -index 7c6d6094edb..0aa5cb58463 100644 +--- + elf/elf.h | 70 + locale/Makefile | 5 + scripts/build-many-glibcs.py | 4 + stdlib/longlong.h | 6 + support/Makefile | 5 + sysdeps/arc/Implies | 4 + sysdeps/arc/Makefile | 25 + sysdeps/arc/Versions | 6 + sysdeps/arc/__longjmp.S | 50 + sysdeps/arc/abort-instr.h | 2 + sysdeps/arc/atomic-machine.h | 73 + sysdeps/arc/bits/endian.h | 12 + sysdeps/arc/bits/fenv.h | 72 + sysdeps/arc/bits/link.h | 52 + sysdeps/arc/bits/setjmp.h | 26 + sysdeps/arc/bsd-_setjmp.S | 1 + sysdeps/arc/bsd-setjmp.S | 1 + sysdeps/arc/configure | 14 + sysdeps/arc/configure.ac | 11 + sysdeps/arc/dl-machine.h | 340 +++ + sysdeps/arc/dl-runtime.c | 39 + sysdeps/arc/dl-sysdep.h | 25 + sysdeps/arc/dl-tls.h | 30 + sysdeps/arc/dl-trampoline.S | 80 + sysdeps/arc/entry.h | 5 + sysdeps/arc/gccframe.h | 21 + sysdeps/arc/gmp-mparam.h | 23 + sysdeps/arc/jmpbuf-offsets.h | 47 + sysdeps/arc/jmpbuf-unwind.h | 47 + sysdeps/arc/ldsodefs.h | 43 + sysdeps/arc/libc-tls.c | 27 + sysdeps/arc/machine-gmon.h | 35 + sysdeps/arc/memusage.h | 23 + sysdeps/arc/nofpu/Implies | 1 + sysdeps/arc/nofpu/libm-test-ulps | 390 +++ + sysdeps/arc/nofpu/libm-test-ulps-name | 1 + sysdeps/arc/nofpu/math-tests-exceptions.h | 27 + sysdeps/arc/nofpu/math-tests-rounding.h | 27 + sysdeps/arc/nptl/Makefile | 22 + sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 71 + sysdeps/arc/nptl/bits/semaphore.h | 32 + sysdeps/arc/nptl/pthread-offsets.h | 4 + sysdeps/arc/nptl/pthreaddef.h | 32 + sysdeps/arc/nptl/tcb-offsets.sym | 11 + sysdeps/arc/nptl/tls.h | 150 + + sysdeps/arc/preconfigure | 15 + sysdeps/arc/setjmp.S | 66 + sysdeps/arc/sfp-machine.h | 73 + sysdeps/arc/sotruss-lib.c | 51 + sysdeps/arc/stackinfo.h | 33 + sysdeps/arc/start.S | 89 + sysdeps/arc/sysdep.h | 48 + sysdeps/arc/tls-macros.h | 47 + sysdeps/arc/tst-audit.h | 23 + sysdeps/unix/sysv/linux/arc/Implies | 3 + sysdeps/unix/sysv/linux/arc/Makefile | 20 + sysdeps/unix/sysv/linux/arc/Versions | 16 + sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h | 12 + sysdeps/unix/sysv/linux/arc/c++-types.data | 67 + sysdeps/unix/sysv/linux/arc/clone.S | 98 + sysdeps/unix/sysv/linux/arc/configure | 4 + sysdeps/unix/sysv/linux/arc/configure.ac | 4 + sysdeps/unix/sysv/linux/arc/dl-static.c | 84 + sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21 + sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + sysdeps/unix/sysv/linux/arc/ld.abilist | 9 + sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 + sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist | 1 + sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 + sysdeps/unix/sysv/linux/arc/libc.abilist | 2084 ++++++++++++++++++++ + sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + sysdeps/unix/sysv/linux/arc/libm.abilist | 753 +++++++ + sysdeps/unix/sysv/linux/arc/libpthread.abilist | 240 ++ + sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 + sysdeps/unix/sysv/linux/arc/librt.abilist | 35 + sysdeps/unix/sysv/linux/arc/libthread_db.abilist | 40 + sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 + sysdeps/unix/sysv/linux/arc/localplt.data | 16 + sysdeps/unix/sysv/linux/arc/makecontext.c | 75 + sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 + sysdeps/unix/sysv/linux/arc/profil-counter.h | 2 + sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 + sysdeps/unix/sysv/linux/arc/setcontext.S | 92 + sysdeps/unix/sysv/linux/arc/shlib-versions | 2 + sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 23 + sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 + sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 + sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 + sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63 + sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + sysdeps/unix/sysv/linux/arc/syscall.S | 38 + sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + sysdeps/unix/sysv/linux/arc/sysdep.h | 251 ++ + sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 + sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 + sysdeps/unix/sysv/linux/arc/vfork.S | 42 + sysdeps/unix/sysv/linux/syscall-names.list | 3 + timezone/zic.c | 2 + 104 files changed, 7120 insertions(+), 13 deletions(-) + --- a/elf/elf.h +++ b/elf/elf.h -@@ -330,7 +330,7 @@ typedef struct +@@ -330,7 +330,7 @@ #define EM_CLOUDSHIELD 192 /* CloudShield */ #define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */ #define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */ @@ -22,7 +127,7 @@ index 7c6d6094edb..0aa5cb58463 100644 #define EM_OPEN8 196 /* Open8 RISC */ #define EM_RL78 197 /* Renesas RL78 */ #define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */ -@@ -4024,6 +4024,74 @@ enum +@@ -4024,6 +4024,74 @@ #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 @@ -97,11 +202,9 @@ index 7c6d6094edb..0aa5cb58463 100644 __END_DECLS #endif /* elf.h */ -diff --git a/locale/Makefile b/locale/Makefile -index d78cf9b83ac..23fe4bcd8a7 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -28,6 +28,7 @@ routines = setlocale findlocale loadlocale loadarchive \ +@@ -28,6 +28,7 @@ localeconv nl_langinfo nl_langinfo_l mb_cur_max \ newlocale duplocale freelocale uselocale tests = tst-C-locale tst-locname tst-duplocale @@ -109,7 +212,7 @@ index d78cf9b83ac..23fe4bcd8a7 100644 categories = ctype messages monetary numeric time paper name \ address telephone measurement identification collate aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ -@@ -62,10 +63,6 @@ lib-modules := charmap-dir simple-hash xmalloc xstrdup \ +@@ -62,10 +63,6 @@ GPERF = gperf GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C @@ -120,11 +223,9 @@ index d78cf9b83ac..23fe4bcd8a7 100644 include ../Rules CFLAGS-md5.c += -I../crypt -diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py -index aa6884e046d..9d3f22e2ccc 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py -@@ -155,6 +155,9 @@ class Context(object): +@@ -155,6 +155,9 @@ 'cfg': ['--disable-multi-arch']}]) self.add_config(arch='aarch64_be', os_name='linux-gnu') @@ -134,7 +235,7 @@ index aa6884e046d..9d3f22e2ccc 100755 self.add_config(arch='alpha', os_name='linux-gnu') self.add_config(arch='arm', -@@ -1259,6 +1262,7 @@ class Config(object): +@@ -1259,6 +1262,7 @@ def install_linux_headers(self, cmdlist): """Install Linux kernel headers.""" arch_map = {'aarch64': 'arm64', @@ -142,11 +243,9 @@ index aa6884e046d..9d3f22e2ccc 100755 'alpha': 'alpha', 'arm': 'arm', 'csky': 'csky', -diff --git a/stdlib/longlong.h b/stdlib/longlong.h -index 3dd8dc3aa80..1f0ce420425 100644 --- a/stdlib/longlong.h +++ b/stdlib/longlong.h -@@ -199,7 +199,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype); +@@ -199,7 +199,8 @@ : "%r" ((USItype) (ah)), \ "rICal" ((USItype) (bh)), \ "%r" ((USItype) (al)), \ @@ -156,7 +255,7 @@ index 3dd8dc3aa80..1f0ce420425 100644 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub.f %1, %4, %5\n\tsbc %0, %2, %3" \ : "=r" ((USItype) (sh)), \ -@@ -207,7 +208,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype); +@@ -207,7 +208,8 @@ : "r" ((USItype) (ah)), \ "rICal" ((USItype) (bh)), \ "r" ((USItype) (al)), \ @@ -166,11 +265,9 @@ index 3dd8dc3aa80..1f0ce420425 100644 #define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v) #ifdef __ARC_NORM__ -diff --git a/support/Makefile b/support/Makefile -index ab66913a02d..c64a0a4b907 100644 --- a/support/Makefile +++ b/support/Makefile -@@ -184,12 +184,7 @@ CFLAGS-support_paths.c = \ +@@ -184,12 +184,7 @@ -DSBINDIR_PATH=\"$(sbindir)\" \ -DROOTSBINDIR_PATH=\"$(rootsbindir)\" @@ -183,9 +280,6 @@ index ab66913a02d..c64a0a4b907 100644 ifeq (yes,$(have-selinux)) LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux -diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies -new file mode 100644 -index 00000000000..a0f0b00cfac --- /dev/null +++ b/sysdeps/arc/Implies @@ -0,0 +1,4 @@ @@ -193,9 +287,6 @@ index 00000000000..a0f0b00cfac +wordsize-32 +ieee754/flt-32 +ieee754/dbl-64 -diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile -new file mode 100644 -index 00000000000..8d2fbe00c5e --- /dev/null +++ b/sysdeps/arc/Makefile @@ -0,0 +1,25 @@ @@ -224,9 +315,6 @@ index 00000000000..8d2fbe00c5e +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -funwind-tables +endif -diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions -new file mode 100644 -index 00000000000..ca0856d2dbd --- /dev/null +++ b/sysdeps/arc/Versions @@ -0,0 +1,6 @@ @@ -236,9 +324,6 @@ index 00000000000..ca0856d2dbd + __mcount; + } +} -diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S -new file mode 100644 -index 00000000000..8296aa445f6 --- /dev/null +++ b/sysdeps/arc/__longjmp.S @@ -0,0 +1,50 @@ @@ -292,17 +377,11 @@ index 00000000000..8296aa445f6 + mov.z r0, 1 ; can't let setjmp return 0 when it is due to longjmp + +END (__longjmp) -diff --git a/sysdeps/arc/abort-instr.h b/sysdeps/arc/abort-instr.h -new file mode 100644 -index 00000000000..49f33613c40 --- /dev/null +++ b/sysdeps/arc/abort-instr.h @@ -0,0 +1,2 @@ +/* FLAG 1 is privilege mode only instruction, hence will crash any program. */ +#define ABORT_INSTRUCTION asm ("flag 1") -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -new file mode 100644 -index 00000000000..bdc91d0558f --- /dev/null +++ b/sysdeps/arc/atomic-machine.h @@ -0,0 +1,73 @@ @@ -379,9 +458,6 @@ index 00000000000..bdc91d0558f +#endif + +#endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/arc/bits/endian.h b/sysdeps/arc/bits/endian.h -new file mode 100644 -index 00000000000..46f41e3cffe --- /dev/null +++ b/sysdeps/arc/bits/endian.h @@ -0,0 +1,12 @@ @@ -397,9 +473,6 @@ index 00000000000..46f41e3cffe +#ifdef __BIG_ENDIAN__ +# error "Big Endian NOt supported on ARC" +#endif -diff --git a/sysdeps/arc/bits/fenv.h b/sysdeps/arc/bits/fenv.h -new file mode 100644 -index 00000000000..58388fb43a3 --- /dev/null +++ b/sysdeps/arc/bits/fenv.h @@ -0,0 +1,72 @@ @@ -475,9 +548,6 @@ index 00000000000..58388fb43a3 +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif -diff --git a/sysdeps/arc/bits/link.h b/sysdeps/arc/bits/link.h -new file mode 100644 -index 00000000000..c4508ab6664 --- /dev/null +++ b/sysdeps/arc/bits/link.h @@ -0,0 +1,52 @@ @@ -533,9 +603,6 @@ index 00000000000..c4508ab6664 + const char *symname); + +__END_DECLS -diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h -new file mode 100644 -index 00000000000..3cb457d097c --- /dev/null +++ b/sysdeps/arc/bits/setjmp.h @@ -0,0 +1,26 @@ @@ -565,23 +632,14 @@ index 00000000000..3cb457d097c +typedef long int __jmp_buf[32]; + +#endif -diff --git a/sysdeps/arc/bsd-_setjmp.S b/sysdeps/arc/bsd-_setjmp.S -new file mode 100644 -index 00000000000..90b99cd8c3e --- /dev/null +++ b/sysdeps/arc/bsd-_setjmp.S @@ -0,0 +1 @@ +/* _setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/bsd-setjmp.S b/sysdeps/arc/bsd-setjmp.S -new file mode 100644 -index 00000000000..d3b823c118b --- /dev/null +++ b/sysdeps/arc/bsd-setjmp.S @@ -0,0 +1 @@ +/* setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure -new file mode 100644 -index 00000000000..52e286da2eb --- /dev/null +++ b/sysdeps/arc/configure @@ -0,0 +1,14 @@ @@ -599,9 +657,6 @@ index 00000000000..52e286da2eb +cat >>confdefs.h <<_ACEOF +#define ASM_LINE_SEP $libc_cv_asm_line_sep +_ACEOF -diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac -new file mode 100644 -index 00000000000..1074d312f03 --- /dev/null +++ b/sysdeps/arc/configure.ac @@ -0,0 +1,11 @@ @@ -616,9 +671,6 @@ index 00000000000..1074d312f03 +# canonical newline as there's lots of code out there which will break +libc_cv_asm_line_sep='`' +AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) -diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h -new file mode 100644 -index 00000000000..c81acb9d4fd --- /dev/null +++ b/sysdeps/arc/dl-machine.h @@ -0,0 +1,340 @@ @@ -962,9 +1014,6 @@ index 00000000000..c81acb9d4fd +} + +#endif /* RESOLVE_MAP */ -diff --git a/sysdeps/arc/dl-runtime.c b/sysdeps/arc/dl-runtime.c -new file mode 100644 -index 00000000000..48f4a5a7e1d --- /dev/null +++ b/sysdeps/arc/dl-runtime.c @@ -0,0 +1,39 @@ @@ -1007,9 +1056,6 @@ index 00000000000..48f4a5a7e1d +#define reloc_offset reloc_index * sizeof (PLTREL) + +#include -diff --git a/sysdeps/arc/dl-sysdep.h b/sysdeps/arc/dl-sysdep.h -new file mode 100644 -index 00000000000..ffc30b69372 --- /dev/null +++ b/sysdeps/arc/dl-sysdep.h @@ -0,0 +1,25 @@ @@ -1038,9 +1084,6 @@ index 00000000000..ffc30b69372 +#define DL_ARGV_NOT_RELRO 1 + +#define DL_EXTERN_PROTECTED_DATA -diff --git a/sysdeps/arc/dl-tls.h b/sysdeps/arc/dl-tls.h -new file mode 100644 -index 00000000000..7f0cf91e402 --- /dev/null +++ b/sysdeps/arc/dl-tls.h @@ -0,0 +1,30 @@ @@ -1074,9 +1117,6 @@ index 00000000000..7f0cf91e402 + +/* Value used for dtv entries for which the allocation is delayed. */ +#define TLS_DTV_UNALLOCATED ((void *) -1l) -diff --git a/sysdeps/arc/dl-trampoline.S b/sysdeps/arc/dl-trampoline.S -new file mode 100644 -index 00000000000..9da75fb1fe2 --- /dev/null +++ b/sysdeps/arc/dl-trampoline.S @@ -0,0 +1,80 @@ @@ -1160,9 +1200,6 @@ index 00000000000..9da75fb1fe2 + cfi_adjust_cfa_offset (-4) + cfi_restore (r0) +END (_dl_runtime_resolve) -diff --git a/sysdeps/arc/entry.h b/sysdeps/arc/entry.h -new file mode 100644 -index 00000000000..adb01d981af --- /dev/null +++ b/sysdeps/arc/entry.h @@ -0,0 +1,5 @@ @@ -1171,9 +1208,6 @@ index 00000000000..adb01d981af +#endif + +#define ENTRY_POINT __start -diff --git a/sysdeps/arc/gccframe.h b/sysdeps/arc/gccframe.h -new file mode 100644 -index 00000000000..40487fa77b4 --- /dev/null +++ b/sysdeps/arc/gccframe.h @@ -0,0 +1,21 @@ @@ -1198,9 +1232,6 @@ index 00000000000..40487fa77b4 +#define FIRST_PSEUDO_REGISTER 40 + +#include -diff --git a/sysdeps/arc/gmp-mparam.h b/sysdeps/arc/gmp-mparam.h -new file mode 100644 -index 00000000000..e30695fc6b2 --- /dev/null +++ b/sysdeps/arc/gmp-mparam.h @@ -0,0 +1,23 @@ @@ -1227,9 +1258,6 @@ index 00000000000..e30695fc6b2 +#include + +#define IEEE_DOUBLE_BIG_ENDIAN 0 -diff --git a/sysdeps/arc/jmpbuf-offsets.h b/sysdeps/arc/jmpbuf-offsets.h -new file mode 100644 -index 00000000000..9760f3a3891 --- /dev/null +++ b/sysdeps/arc/jmpbuf-offsets.h @@ -0,0 +1,47 @@ @@ -1280,9 +1308,6 @@ index 00000000000..9760f3a3891 + +/* Helper for generic ____longjmp_chk(). */ +#define JB_FRAME_ADDRESS(buf) ((void *) (unsigned long int) (buf[JB_SP])) -diff --git a/sysdeps/arc/jmpbuf-unwind.h b/sysdeps/arc/jmpbuf-unwind.h -new file mode 100644 -index 00000000000..47be5758c75 --- /dev/null +++ b/sysdeps/arc/jmpbuf-unwind.h @@ -0,0 +1,47 @@ @@ -1333,9 +1358,6 @@ index 00000000000..47be5758c75 + +/* We use the normal longjmp for unwinding. */ +#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val) -diff --git a/sysdeps/arc/ldsodefs.h b/sysdeps/arc/ldsodefs.h -new file mode 100644 -index 00000000000..53ef4e1e83d --- /dev/null +++ b/sysdeps/arc/ldsodefs.h @@ -0,0 +1,43 @@ @@ -1382,9 +1404,6 @@ index 00000000000..53ef4e1e83d +#include_next + +#endif -diff --git a/sysdeps/arc/libc-tls.c b/sysdeps/arc/libc-tls.c -new file mode 100644 -index 00000000000..903a75a41b5 --- /dev/null +++ b/sysdeps/arc/libc-tls.c @@ -0,0 +1,27 @@ @@ -1415,9 +1434,6 @@ index 00000000000..903a75a41b5 + dtv_t *dtv = THREAD_DTV (); + return (char *) dtv[1].pointer.val + ti->ti_offset; +} -diff --git a/sysdeps/arc/machine-gmon.h b/sysdeps/arc/machine-gmon.h -new file mode 100644 -index 00000000000..1d9e8108d9b --- /dev/null +++ b/sysdeps/arc/machine-gmon.h @@ -0,0 +1,35 @@ @@ -1456,9 +1472,6 @@ index 00000000000..1d9e8108d9b + __mcount_internal ((unsigned long int) frompc, \ + (unsigned long int) __builtin_return_address(0)); \ +} -diff --git a/sysdeps/arc/memusage.h b/sysdeps/arc/memusage.h -new file mode 100644 -index 00000000000..29f234f5bac --- /dev/null +++ b/sysdeps/arc/memusage.h @@ -0,0 +1,23 @@ @@ -1485,16 +1498,10 @@ index 00000000000..29f234f5bac +#define uatomic32_t unsigned int + +#include -diff --git a/sysdeps/arc/nofpu/Implies b/sysdeps/arc/nofpu/Implies -new file mode 100644 -index 00000000000..abcbadb25f2 --- /dev/null +++ b/sysdeps/arc/nofpu/Implies @@ -0,0 +1 @@ +ieee754/soft-fp -diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps -new file mode 100644 -index 00000000000..0e8ef313fa9 --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -0,0 +1,390 @@ @@ -1888,16 +1895,10 @@ index 00000000000..0e8ef313fa9 +ifloat: 3 + +# end of automatic generation -diff --git a/sysdeps/arc/nofpu/libm-test-ulps-name b/sysdeps/arc/nofpu/libm-test-ulps-name -new file mode 100644 -index 00000000000..8c4fba4f9ae --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps-name @@ -0,0 +1 @@ +ARC -diff --git a/sysdeps/arc/nofpu/math-tests-exceptions.h b/sysdeps/arc/nofpu/math-tests-exceptions.h -new file mode 100644 -index 00000000000..f5c0b73589e --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-exceptions.h @@ -0,0 +1,27 @@ @@ -1928,9 +1929,6 @@ index 00000000000..f5c0b73589e +#define EXCEPTION_TESTS_long_double 0 + +#endif -diff --git a/sysdeps/arc/nofpu/math-tests-rounding.h b/sysdeps/arc/nofpu/math-tests-rounding.h -new file mode 100644 -index 00000000000..e8f76338b1e --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-rounding.h @@ -0,0 +1,27 @@ @@ -1961,9 +1959,6 @@ index 00000000000..e8f76338b1e +#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST) + +#endif -diff --git a/sysdeps/arc/nptl/Makefile b/sysdeps/arc/nptl/Makefile -new file mode 100644 -index 00000000000..3c33c9cc112 --- /dev/null +++ b/sysdeps/arc/nptl/Makefile @@ -0,0 +1,22 @@ @@ -1989,9 +1984,6 @@ index 00000000000..3c33c9cc112 +ifeq ($(subdir),csu) +gen-as-const-headers += tcb-offsets.sym +endif -diff --git a/sysdeps/arc/nptl/bits/pthreadtypes-arch.h b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h -new file mode 100644 -index 00000000000..eae884f61cf --- /dev/null +++ b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h @@ -0,0 +1,71 @@ @@ -2066,9 +2058,6 @@ index 00000000000..eae884f61cf +#define __PTHREAD_RWLOCK_ELISION_EXTRA 0 + +#endif /* bits/pthreadtypes-arch.h */ -diff --git a/sysdeps/arc/nptl/bits/semaphore.h b/sysdeps/arc/nptl/bits/semaphore.h -new file mode 100644 -index 00000000000..662d08401d0 --- /dev/null +++ b/sysdeps/arc/nptl/bits/semaphore.h @@ -0,0 +1,32 @@ @@ -2104,9 +2093,6 @@ index 00000000000..662d08401d0 + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; -diff --git a/sysdeps/arc/nptl/pthread-offsets.h b/sysdeps/arc/nptl/pthread-offsets.h -new file mode 100644 -index 00000000000..c363e8cda8d --- /dev/null +++ b/sysdeps/arc/nptl/pthread-offsets.h @@ -0,0 +1,4 @@ @@ -2114,9 +2100,6 @@ index 00000000000..c363e8cda8d +#define __PTHREAD_MUTEX_KIND_OFFSET 16 +#define __PTHREAD_MUTEX_SPINS_OFFSET 20 +#define __PTHREAD_MUTEX_LIST_OFFSET 24 -diff --git a/sysdeps/arc/nptl/pthreaddef.h b/sysdeps/arc/nptl/pthreaddef.h -new file mode 100644 -index 00000000000..80a109bbd52 --- /dev/null +++ b/sysdeps/arc/nptl/pthreaddef.h @@ -0,0 +1,32 @@ @@ -2152,9 +2135,6 @@ index 00000000000..80a109bbd52 + +/* Location of current stack frame. */ +#define CURRENT_STACK_FRAME __builtin_frame_address (0) -diff --git a/sysdeps/arc/nptl/tcb-offsets.sym b/sysdeps/arc/nptl/tcb-offsets.sym -new file mode 100644 -index 00000000000..56950e0676e --- /dev/null +++ b/sysdeps/arc/nptl/tcb-offsets.sym @@ -0,0 +1,11 @@ @@ -2169,9 +2149,6 @@ index 00000000000..56950e0676e +TLS_TCB_SIZE sizeof(tcbhead_t) + +PTHREAD_TID offsetof(struct pthread, tid) -diff --git a/sysdeps/arc/nptl/tls.h b/sysdeps/arc/nptl/tls.h -new file mode 100644 -index 00000000000..2c90109d570 --- /dev/null +++ b/sysdeps/arc/nptl/tls.h @@ -0,0 +1,150 @@ @@ -2325,9 +2302,6 @@ index 00000000000..2c90109d570 +#endif /* __ASSEMBLER__ */ + +#endif /* tls.h */ -diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure -new file mode 100644 -index 00000000000..d9c5429f405 --- /dev/null +++ b/sysdeps/arc/preconfigure @@ -0,0 +1,15 @@ @@ -2346,9 +2320,6 @@ index 00000000000..d9c5429f405 + ;; + +esac -diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S -new file mode 100644 -index 00000000000..518545a99e8 --- /dev/null +++ b/sysdeps/arc/setjmp.S @@ -0,0 +1,66 @@ @@ -2418,9 +2389,6 @@ index 00000000000..518545a99e8 +END (__sigsetjmp) + +libc_hidden_def (__sigsetjmp) -diff --git a/sysdeps/arc/sfp-machine.h b/sysdeps/arc/sfp-machine.h -new file mode 100644 -index 00000000000..5ceaf56a988 --- /dev/null +++ b/sysdeps/arc/sfp-machine.h @@ -0,0 +1,73 @@ @@ -2497,9 +2465,6 @@ index 00000000000..5ceaf56a988 + } while (0) + +#define _FP_TININESS_AFTER_ROUNDING 0 -diff --git a/sysdeps/arc/sotruss-lib.c b/sysdeps/arc/sotruss-lib.c -new file mode 100644 -index 00000000000..ffbb5bbd6d0 --- /dev/null +++ b/sysdeps/arc/sotruss-lib.c @@ -0,0 +1,51 @@ @@ -2554,9 +2519,6 @@ index 00000000000..ffbb5bbd6d0 + + return 0; +} -diff --git a/sysdeps/arc/stackinfo.h b/sysdeps/arc/stackinfo.h -new file mode 100644 -index 00000000000..fe69161382a --- /dev/null +++ b/sysdeps/arc/stackinfo.h @@ -0,0 +1,33 @@ @@ -2593,9 +2555,6 @@ index 00000000000..fe69161382a +#define DEFAULT_STACK_PERMS (PF_R|PF_W) + +#endif /* stackinfo.h */ -diff --git a/sysdeps/arc/start.S b/sysdeps/arc/start.S -new file mode 100644 -index 00000000000..4ade1e871f6 --- /dev/null +++ b/sysdeps/arc/start.S @@ -0,0 +1,89 @@ @@ -2688,9 +2647,6 @@ index 00000000000..4ade1e871f6 + .long 0 + .weak data_start + data_start = __data_start -diff --git a/sysdeps/arc/sysdep.h b/sysdeps/arc/sysdep.h -new file mode 100644 -index 00000000000..127e9b01e73 --- /dev/null +++ b/sysdeps/arc/sysdep.h @@ -0,0 +1,48 @@ @@ -2742,9 +2698,6 @@ index 00000000000..127e9b01e73 +# define CALL_MCOUNT /* Do nothing for now. */ + +#endif /* __ASSEMBLER__ */ -diff --git a/sysdeps/arc/tls-macros.h b/sysdeps/arc/tls-macros.h -new file mode 100644 -index 00000000000..4d54683eda4 --- /dev/null +++ b/sysdeps/arc/tls-macros.h @@ -0,0 +1,47 @@ @@ -2795,9 +2748,6 @@ index 00000000000..4d54683eda4 + "add %0, %1, %0 \n" \ + : "=&r" (__result) : "r" (tp)); \ + __result; }) -diff --git a/sysdeps/arc/tst-audit.h b/sysdeps/arc/tst-audit.h -new file mode 100644 -index 00000000000..9237ad2440c --- /dev/null +++ b/sysdeps/arc/tst-audit.h @@ -0,0 +1,23 @@ @@ -2824,18 +2774,12 @@ index 00000000000..9237ad2440c +#define La_regs La_arc_regs +#define La_retval La_arc_retval +#define int_retval lrv_reg[0] -diff --git a/sysdeps/unix/sysv/linux/arc/Implies b/sysdeps/unix/sysv/linux/arc/Implies -new file mode 100644 -index 00000000000..7f739a0340b --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Implies @@ -0,0 +1,3 @@ +arc/nptl +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic -diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile -new file mode 100644 -index 00000000000..a6c6dfc6ec6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Makefile @@ -0,0 +1,20 @@ @@ -2859,9 +2803,6 @@ index 00000000000..a6c6dfc6ec6 +sysdep-dl-routines += dl-static +endif +endif -diff --git a/sysdeps/unix/sysv/linux/arc/Versions b/sysdeps/unix/sysv/linux/arc/Versions -new file mode 100644 -index 00000000000..3eedf26ae23 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Versions @@ -0,0 +1,16 @@ @@ -2881,9 +2822,6 @@ index 00000000000..3eedf26ae23 + __default_rt_sa_restorer; + } +} -diff --git a/sysdeps/unix/sysv/linux/arc/bits/procfs.h b/sysdeps/unix/sysv/linux/arc/bits/procfs.h -new file mode 100644 -index 00000000000..b37deaee587 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h @@ -0,0 +1,35 @@ @@ -2922,9 +2860,6 @@ index 00000000000..b37deaee587 + +/* There's no seperate floating point reg file in ARCv2. */ +typedef struct { } elf_fpregset_t; -diff --git a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h -new file mode 100644 -index 00000000000..795638a30bd --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h @@ -0,0 +1,12 @@ @@ -2940,9 +2875,6 @@ index 00000000000..795638a30bd +} __sigset_t; + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/c++-types.data -new file mode 100644 -index 00000000000..303f4570c8e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/c++-types.data @@ -0,0 +1,67 @@ @@ -3013,9 +2945,6 @@ index 00000000000..303f4570c8e +useconds_t:j +ushort:t +u_short:t -diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S -new file mode 100644 -index 00000000000..55c2a2b60ed --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/clone.S @@ -0,0 +1,98 @@ @@ -3117,9 +3046,6 @@ index 00000000000..55c2a2b60ed +PSEUDO_END (__clone) +libc_hidden_def (__clone) +weak_alias (__clone, clone) -diff --git a/sysdeps/unix/sysv/linux/arc/configure b/sysdeps/unix/sysv/linux/arc/configure -new file mode 100644 -index 00000000000..f74fa7cb025 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure @@ -0,0 +1,4 @@ @@ -3127,9 +3053,6 @@ index 00000000000..f74fa7cb025 + # Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/configure.ac b/sysdeps/unix/sysv/linux/arc/configure.ac -new file mode 100644 -index 00000000000..a9528032d32 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure.ac @@ -0,0 +1,4 @@ @@ -3137,9 +3060,6 @@ index 00000000000..a9528032d32 +# Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/dl-static.c b/sysdeps/unix/sysv/linux/arc/dl-static.c -new file mode 100644 -index 00000000000..1a8757c9840 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/dl-static.c @@ -0,0 +1,84 @@ @@ -3227,9 +3147,6 @@ index 00000000000..1a8757c9840 +} + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S -new file mode 100644 -index 00000000000..723cc237d87 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/getcontext.S @@ -0,0 +1,63 @@ @@ -3296,9 +3213,6 @@ index 00000000000..723cc237d87 + +PSEUDO_END (__getcontext) +weak_alias (__getcontext, getcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/ipc_priv.h b/sysdeps/unix/sysv/linux/arc/ipc_priv.h -new file mode 100644 -index 00000000000..309eb3064e9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ipc_priv.h @@ -0,0 +1,21 @@ @@ -3323,9 +3237,6 @@ index 00000000000..309eb3064e9 +#include /* For __key_t */ + +#define __IPC_64 0x0 -diff --git a/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h -new file mode 100644 -index 00000000000..6c129398483 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h @@ -0,0 +1,6 @@ @@ -3335,9 +3246,6 @@ index 00000000000..6c129398483 +#define SIGJMP_BUF_ALIGN __alignof__ (unsigned long int) +#define MASK_WAS_SAVED_OFFSET (32 * sizeof (unsigned long int)) +#define SAVED_MASK_OFFSET (33 * sizeof (unsigned long int)) -diff --git a/sysdeps/unix/sysv/linux/arc/kernel-features.h b/sysdeps/unix/sysv/linux/arc/kernel-features.h -new file mode 100644 -index 00000000000..00255337bc8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h @@ -0,0 +1,28 @@ @@ -3369,9 +3277,6 @@ index 00000000000..00255337bc8 + +#undef __ASSUME_CLONE_DEFAULT +#define __ASSUME_CLONE_BACKWARDS 1 -diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/ld.abilist -new file mode 100644 -index 00000000000..41183d7beed --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ld.abilist @@ -0,0 +1,9 @@ @@ -3384,9 +3289,6 @@ index 00000000000..41183d7beed +GLIBC_2.30 free F +GLIBC_2.30 malloc F +GLIBC_2.30 realloc F -diff --git a/sysdeps/unix/sysv/linux/arc/ldsodefs.h b/sysdeps/unix/sysv/linux/arc/ldsodefs.h -new file mode 100644 -index 00000000000..8c5c6800af1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ldsodefs.h @@ -0,0 +1,32 @@ @@ -3422,16 +3324,10 @@ index 00000000000..8c5c6800af1 +#define DL_STATIC_INIT(map) _dl_static_init (map) + +#endif /* ldsodefs.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist -new file mode 100644 -index 00000000000..c6253c0ae8a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist @@ -0,0 +1 @@ +GLIBC_2.30 __ctype_get_mb_cur_max F -diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/libanl.abilist -new file mode 100644 -index 00000000000..d3b753219ee --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist @@ -0,0 +1,4 @@ @@ -3439,9 +3335,6 @@ index 00000000000..d3b753219ee +GLIBC_2.30 gai_error F +GLIBC_2.30 gai_suspend F +GLIBC_2.30 getaddrinfo_a F -diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist -new file mode 100644 -index 00000000000..823ae25bccf --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -0,0 +1,2084 @@ @@ -5529,17 +5422,11 @@ index 00000000000..823ae25bccf +GLIBC_2.30 xencrypt F +GLIBC_2.30 xprt_register F +GLIBC_2.30 xprt_unregister F -diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist -new file mode 100644 -index 00000000000..8d83578d8cf --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist @@ -0,0 +1,2 @@ +GLIBC_2.30 crypt F +GLIBC_2.30 crypt_r F -diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist -new file mode 100644 -index 00000000000..3fc6d95b85b --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -0,0 +1,9 @@ @@ -5552,9 +5439,6 @@ index 00000000000..3fc6d95b85b +GLIBC_2.30 dlopen F +GLIBC_2.30 dlsym F +GLIBC_2.30 dlvsym F -diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist -new file mode 100644 -index 00000000000..43f3a97e6f2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libm.abilist @@ -0,0 +1,753 @@ @@ -6311,9 +6195,6 @@ index 00000000000..43f3a97e6f2 +GLIBC_2.30 ynf32x F +GLIBC_2.30 ynf64 F +GLIBC_2.30 ynl F -diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist -new file mode 100644 -index 00000000000..d89cf8d3014 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -0,0 +1,240 @@ @@ -6557,9 +6438,6 @@ index 00000000000..d89cf8d3014 +GLIBC_2.30 wait F +GLIBC_2.30 waitpid F +GLIBC_2.30 write F -diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist -new file mode 100644 -index 00000000000..ca745f5b987 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist @@ -0,0 +1,79 @@ @@ -6642,9 +6520,6 @@ index 00000000000..ca745f5b987 +GLIBC_2.30 ns_sprintrr F +GLIBC_2.30 ns_sprintrrf F +GLIBC_2.30 ns_subdomain F -diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist -new file mode 100644 -index 00000000000..8d39a086966 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -0,0 +1,35 @@ @@ -6683,9 +6558,6 @@ index 00000000000..8d39a086966 +GLIBC_2.30 timer_getoverrun F +GLIBC_2.30 timer_gettime F +GLIBC_2.30 timer_settime F -diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist -new file mode 100644 -index 00000000000..94220c95927 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist @@ -0,0 +1,40 @@ @@ -6729,9 +6601,6 @@ index 00000000000..94220c95927 +GLIBC_2.30 td_thr_tlsbase F +GLIBC_2.30 td_thr_tsd F +GLIBC_2.30 td_thr_validate F -diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/libutil.abilist -new file mode 100644 -index 00000000000..f745157afa3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist @@ -0,0 +1,6 @@ @@ -6741,9 +6610,6 @@ index 00000000000..f745157afa3 +GLIBC_2.30 logout F +GLIBC_2.30 logwtmp F +GLIBC_2.30 openpty F -diff --git a/sysdeps/unix/sysv/linux/arc/localplt.data b/sysdeps/unix/sysv/linux/arc/localplt.data -new file mode 100644 -index 00000000000..e902fd0607a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/localplt.data @@ -0,0 +1,16 @@ @@ -6763,9 +6629,6 @@ index 00000000000..e902fd0607a +ld.so: _dl_catch_error +ld.so: _dl_signal_exception +ld.so: _dl_catch_exception -diff --git a/sysdeps/unix/sysv/linux/arc/makecontext.c b/sysdeps/unix/sysv/linux/arc/makecontext.c -new file mode 100644 -index 00000000000..3d46452e175 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/makecontext.c @@ -0,0 +1,75 @@ @@ -6844,9 +6707,6 @@ index 00000000000..3d46452e175 +} + +weak_alias (__makecontext, makecontext) -diff --git a/sysdeps/unix/sysv/linux/arc/mmap_internal.h b/sysdeps/unix/sysv/linux/arc/mmap_internal.h -new file mode 100644 -index 00000000000..51d0a25f26b --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h @@ -0,0 +1,27 @@ @@ -6877,24 +6737,15 @@ index 00000000000..51d0a25f26b +#include_next + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/profil-counter.h b/sysdeps/unix/sysv/linux/arc/profil-counter.h -new file mode 100644 -index 00000000000..8a6a0bcf3d5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/profil-counter.h @@ -0,0 +1,2 @@ +/* We can use the ix86 version. */ +#include -diff --git a/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/sysdeps/unix/sysv/linux/arc/pt-vfork.S -new file mode 100644 -index 00000000000..1cc89317007 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/pt-vfork.S @@ -0,0 +1 @@ +/* Not needed. */ -diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S -new file mode 100644 -index 00000000000..8cf4ffcaf5a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/setcontext.S @@ -0,0 +1,92 @@ @@ -6990,17 +6841,11 @@ index 00000000000..8cf4ffcaf5a + /* Exit with status 0. */ + b HIDDEN_JUMPTARGET(exit) +END (__startcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions -new file mode 100644 -index 00000000000..cbe457b9dbe --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/shlib-versions @@ -0,0 +1,2 @@ +DEFAULT GLIBC_2.30 +ld=ld-linux-arc.so.2 -diff --git a/sysdeps/unix/sysv/linux/arc/sigaction.c b/sysdeps/unix/sysv/linux/arc/sigaction.c -new file mode 100644 -index 00000000000..db7293865f3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigaction.c @@ -0,0 +1,31 @@ @@ -7035,9 +6880,6 @@ index 00000000000..db7293865f3 +#define RESET_SA_RESTORER(act, kact) + +#include -diff --git a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h -new file mode 100644 -index 00000000000..acf03c6afd9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h @@ -0,0 +1,23 @@ @@ -7064,9 +6906,6 @@ index 00000000000..acf03c6afd9 + +#define SIGCONTEXT int _code, struct ucontext_t * +#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.__scratch.__ret) -diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S -new file mode 100644 -index 00000000000..573b54e36cf --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S @@ -0,0 +1,29 @@ @@ -7099,9 +6938,6 @@ index 00000000000..573b54e36cf + ARC_TRAP_INSN + j_s [blink] +PSEUDO_END_NOERRNO (__default_rt_sa_restorer) -diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S -new file mode 100644 -index 00000000000..853d3805de6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S @@ -0,0 +1,92 @@ @@ -7197,9 +7033,6 @@ index 00000000000..853d3805de6 + +PSEUDO_END (__swapcontext) +weak_alias (__swapcontext, swapcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h -new file mode 100644 -index 00000000000..2d93e49e6a9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h @@ -0,0 +1,36 @@ @@ -7239,9 +7072,6 @@ index 00000000000..2d93e49e6a9 +__END_DECLS + +#endif /* sys/cachectl.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h -new file mode 100644 -index 00000000000..7e357bcd65e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h @@ -0,0 +1,63 @@ @@ -7308,9 +7138,6 @@ index 00000000000..7e357bcd65e +#undef __ctx + +#endif /* sys/ucontext.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/user.h b/sysdeps/unix/sysv/linux/arc/sys/user.h -new file mode 100644 -index 00000000000..50d0dc7827a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/user.h @@ -0,0 +1,31 @@ @@ -7345,9 +7172,6 @@ index 00000000000..50d0dc7827a +}; + +#endif /* sys/user.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -new file mode 100644 -index 00000000000..3fe5fcdd041 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscall.S @@ -0,0 +1,38 @@ @@ -7389,18 +7213,12 @@ index 00000000000..3fe5fcdd041 + brhi r0, -1024, .Lcall_syscall_err + j [blink] +PSEUDO_END (syscall) -diff --git a/sysdeps/unix/sysv/linux/arc/syscalls.list b/sysdeps/unix/sysv/linux/arc/syscalls.list -new file mode 100644 -index 00000000000..d0ef5977ee0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscalls.list @@ -0,0 +1,3 @@ +# File name Caller Syscall name Args Strong name Weak names + +cacheflush - cacheflush i:pii _flush_cache cacheflush -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.c b/sysdeps/unix/sysv/linux/arc/sysdep.c -new file mode 100644 -index 00000000000..5618f378515 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.c @@ -0,0 +1,33 @@ @@ -7437,9 +7255,6 @@ index 00000000000..5618f378515 +#if IS_IN (libc) +hidden_def (__syscall_error) +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -new file mode 100644 -index 00000000000..9ad95d97ae1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -0,0 +1,251 @@ @@ -7694,9 +7509,6 @@ index 00000000000..9ad95d97ae1 +#endif /* !__ASSEMBLER__ */ + +#endif /* linux/arc/sysdep.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h -new file mode 100644 -index 00000000000..ed261399c98 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h @@ -0,0 +1,29 @@ @@ -7729,9 +7541,6 @@ index 00000000000..ed261399c98 +#define LOAD_REG(reg, rbase, off) ld reg, [rbase, UCONTEXT_MCONTEXT + off * 4] + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext_i.sym b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym -new file mode 100644 -index 00000000000..d84e92f9f54 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym @@ -0,0 +1,20 @@ @@ -7755,9 +7564,6 @@ index 00000000000..d84e92f9f54 +UCONTEXT_MCONTEXT ucontext (uc_mcontext) +UCONTEXT_SIGMASK ucontext (uc_sigmask) +UCONTEXT_SIZE sizeof (ucontext_t) -diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S -new file mode 100644 -index 00000000000..7f981d0681c --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/vfork.S @@ -0,0 +1,42 @@ @@ -7803,11 +7609,9 @@ index 00000000000..7f981d0681c +libc_hidden_def (__vfork) + +weak_alias (__vfork, vfork) -diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list -index 21bf37c6274..1b12c8844a1 100644 --- a/sysdeps/unix/sysv/linux/syscall-names.list +++ b/sysdeps/unix/sysv/linux/syscall-names.list -@@ -42,6 +42,9 @@ adjtimex +@@ -42,6 +42,9 @@ afs_syscall alarm alloc_hugepages @@ -7817,11 +7621,9 @@ index 21bf37c6274..1b12c8844a1 100644 arch_prctl arm_fadvise64_64 arm_sync_file_range -diff --git a/timezone/zic.c b/timezone/zic.c -index 2ebc66a9af5..8e8d94fac3a 100644 --- a/timezone/zic.c +++ b/timezone/zic.c -@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t; +@@ -39,7 +39,7 @@ #include #endif #ifdef S_IRUSR diff --git a/packages/glibc/2.30/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch b/packages/glibc/2.30/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch index 6f5dbc3..5941886 100644 --- a/packages/glibc/2.30/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch +++ b/packages/glibc/2.30/0002-x86-Assume-enable-cet-if-GCC-defaults-to-CET-BZ-2522.patch @@ -8,16 +8,13 @@ is defined, yet CET functionality is not compiled and linked into the dynamic loader, resulting in a linker failure due to undefined references to _dl_cet_check and _dl_open_check. --- - NEWS | 1 + - configure | 23 ++++++++++++++++++++++- - configure.ac | 9 ++++++++- - 3 files changed, 31 insertions(+), 2 deletions(-) + configure | 23 ++++++++++++++++++++++- + configure.ac | 9 ++++++++- + 2 files changed, 30 insertions(+), 2 deletions(-) -diff --git a/configure b/configure -index c773c487b5..6d26b8246f 100755 --- a/configure +++ b/configure -@@ -3777,11 +3777,32 @@ else +@@ -3777,11 +3777,32 @@ fi @@ -51,11 +48,9 @@ index c773c487b5..6d26b8246f 100755 fi -diff --git a/configure.ac b/configure.ac -index 598ba6c4ae..7436485419 100644 --- a/configure.ac +++ b/configure.ac -@@ -472,11 +472,18 @@ AC_ARG_ENABLE([mathvec], +@@ -472,11 +472,18 @@ [build_mathvec=$enableval], [build_mathvec=notset]) @@ -75,6 +70,3 @@ index 598ba6c4ae..7436485419 100644 # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses --- -2.20.1 - diff --git a/packages/glibc/2.30/0003-Fix-build-with-GCC-10-when-long-double-double.patch b/packages/glibc/2.30/0003-Fix-build-with-GCC-10-when-long-double-double.patch index ca0d8a7..d335a23 100644 --- a/packages/glibc/2.30/0003-Fix-build-with-GCC-10-when-long-double-double.patch +++ b/packages/glibc/2.30/0003-Fix-build-with-GCC-10-when-long-double-double.patch @@ -25,14 +25,12 @@ irrelevant for other reasons). Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and glibcs builds), where it fixes the build that previously failed. --- - math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ + math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -diff --git a/math/Makefile b/math/Makefile -index 84a8b94c74..0a5a40430e 100644 --- a/math/Makefile +++ b/math/Makefile -@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes) +@@ -658,6 +658,128 @@ # We won't compile the `long double' code at all. Tell the `double' code # to define aliases for the `FUNCl' names. math-CPPFLAGS += -DNO_LONG_DOUBLE @@ -161,6 +159,3 @@ index 84a8b94c74..0a5a40430e 100644 endif # These files quiet sNaNs in a way that is optimized away without --- -2.25.1 - diff --git a/packages/glibc/2.31/0001-Add-ARC-architecture.patch b/packages/glibc/2.31/0001-Add-ARC-architecture.patch index 6b5d514..e09be18 100644 --- a/packages/glibc/2.31/0001-Add-ARC-architecture.patch +++ b/packages/glibc/2.31/0001-Add-ARC-architecture.patch @@ -15,109 +15,109 @@ from 64-bit platforms), remove inclusion for syscall numbers, GET_PC -> sigcontext_get_pc rename. Only build-tested.] --- - elf/elf.h | 70 +- - locale/Makefile | 5 +- - scripts/build-many-glibcs.py | 4 + - stdlib/longlong.h | 6 +- - support/Makefile | 5 - - sysdeps/arc/Implies | 4 + - sysdeps/arc/Makefile | 25 + - sysdeps/arc/Versions | 6 + - sysdeps/arc/__longjmp.S | 50 + - sysdeps/arc/abort-instr.h | 2 + - sysdeps/arc/atomic-machine.h | 73 + - sysdeps/arc/bits/endianness.h | 15 + - sysdeps/arc/bits/fenv.h | 72 + - sysdeps/arc/bits/link.h | 52 + - sysdeps/arc/bits/setjmp.h | 26 + - sysdeps/arc/bsd-_setjmp.S | 1 + - sysdeps/arc/bsd-setjmp.S | 1 + - sysdeps/arc/configure | 14 + - sysdeps/arc/configure.ac | 11 + - sysdeps/arc/dl-machine.h | 340 +++ - sysdeps/arc/dl-runtime.c | 39 + - sysdeps/arc/dl-sysdep.h | 25 + - sysdeps/arc/dl-tls.h | 30 + - sysdeps/arc/dl-trampoline.S | 80 + - sysdeps/arc/entry.h | 5 + - sysdeps/arc/gccframe.h | 21 + - sysdeps/arc/gmp-mparam.h | 23 + - sysdeps/arc/jmpbuf-offsets.h | 47 + - sysdeps/arc/jmpbuf-unwind.h | 47 + - sysdeps/arc/ldsodefs.h | 43 + - sysdeps/arc/libc-tls.c | 27 + - sysdeps/arc/machine-gmon.h | 35 + - sysdeps/arc/memusage.h | 23 + - sysdeps/arc/nofpu/Implies | 1 + - sysdeps/arc/nofpu/libm-test-ulps | 390 +++ - sysdeps/arc/nofpu/libm-test-ulps-name | 1 + - sysdeps/arc/nofpu/math-tests-exceptions.h | 27 + - sysdeps/arc/nofpu/math-tests-rounding.h | 27 + - sysdeps/arc/nptl/Makefile | 22 + - sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 43 + - sysdeps/arc/nptl/bits/semaphore.h | 32 + - sysdeps/arc/nptl/pthreaddef.h | 32 + - sysdeps/arc/nptl/tcb-offsets.sym | 11 + - sysdeps/arc/nptl/tls.h | 150 ++ - sysdeps/arc/preconfigure | 15 + - sysdeps/arc/setjmp.S | 66 + - sysdeps/arc/sfp-machine.h | 73 + - sysdeps/arc/sotruss-lib.c | 51 + - sysdeps/arc/stackinfo.h | 33 + - sysdeps/arc/start.S | 89 + - sysdeps/arc/sysdep.h | 48 + - sysdeps/arc/tls-macros.h | 47 + - sysdeps/arc/tst-audit.h | 23 + - sysdeps/unix/sysv/linux/arc/Implies | 3 + - sysdeps/unix/sysv/linux/arc/Makefile | 20 + - sysdeps/unix/sysv/linux/arc/Versions | 16 + - sysdeps/unix/sysv/linux/arc/arch-syscall.h | 317 +++ - sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + - .../sysv/linux/arc/bits/types/__sigset_t.h | 12 + - sysdeps/unix/sysv/linux/arc/c++-types.data | 67 + - sysdeps/unix/sysv/linux/arc/clone.S | 98 + - sysdeps/unix/sysv/linux/arc/configure | 4 + - sysdeps/unix/sysv/linux/arc/configure.ac | 4 + - sysdeps/unix/sysv/linux/arc/dl-static.c | 84 + - sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + - sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21 + - sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + - sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + - sysdeps/unix/sysv/linux/arc/ld.abilist | 9 + - sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 + - .../sysv/linux/arc/libBrokenLocale.abilist | 1 + - sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 + - sysdeps/unix/sysv/linux/arc/libc.abilist | 2084 +++++++++++++++++ - sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + - sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + - sysdeps/unix/sysv/linux/arc/libm.abilist | 753 ++++++ - .../unix/sysv/linux/arc/libpthread.abilist | 240 ++ - sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 + - sysdeps/unix/sysv/linux/arc/librt.abilist | 35 + - .../unix/sysv/linux/arc/libthread_db.abilist | 40 + - sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 + - sysdeps/unix/sysv/linux/arc/localplt.data | 16 + - sysdeps/unix/sysv/linux/arc/makecontext.c | 75 + - sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 + - sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 + - sysdeps/unix/sysv/linux/arc/setcontext.S | 92 + - sysdeps/unix/sysv/linux/arc/shlib-versions | 2 + - sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + - sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 31 + - sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 + - sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 + - sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 + - sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63 + - sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + - sysdeps/unix/sysv/linux/arc/syscall.S | 38 + - sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + - sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + - sysdeps/unix/sysv/linux/arc/sysdep.h | 250 ++ - sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 + - sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 + - sysdeps/unix/sysv/linux/arc/vfork.S | 42 + - sysdeps/unix/sysv/linux/syscall-names.list | 3 + - timezone/zic.c | 2 +- + elf/elf.h | 70 + locale/Makefile | 5 + scripts/build-many-glibcs.py | 4 + stdlib/longlong.h | 6 + support/Makefile | 5 + sysdeps/arc/Implies | 4 + sysdeps/arc/Makefile | 25 + sysdeps/arc/Versions | 6 + sysdeps/arc/__longjmp.S | 50 + sysdeps/arc/abort-instr.h | 2 + sysdeps/arc/atomic-machine.h | 73 + sysdeps/arc/bits/endianness.h | 15 + sysdeps/arc/bits/fenv.h | 72 + sysdeps/arc/bits/link.h | 52 + sysdeps/arc/bits/setjmp.h | 26 + sysdeps/arc/bsd-_setjmp.S | 1 + sysdeps/arc/bsd-setjmp.S | 1 + sysdeps/arc/configure | 14 + sysdeps/arc/configure.ac | 11 + sysdeps/arc/dl-machine.h | 340 +++ + sysdeps/arc/dl-runtime.c | 39 + sysdeps/arc/dl-sysdep.h | 25 + sysdeps/arc/dl-tls.h | 30 + sysdeps/arc/dl-trampoline.S | 80 + sysdeps/arc/entry.h | 5 + sysdeps/arc/gccframe.h | 21 + sysdeps/arc/gmp-mparam.h | 23 + sysdeps/arc/jmpbuf-offsets.h | 47 + sysdeps/arc/jmpbuf-unwind.h | 47 + sysdeps/arc/ldsodefs.h | 43 + sysdeps/arc/libc-tls.c | 27 + sysdeps/arc/machine-gmon.h | 35 + sysdeps/arc/memusage.h | 23 + sysdeps/arc/nofpu/Implies | 1 + sysdeps/arc/nofpu/libm-test-ulps | 390 +++ + sysdeps/arc/nofpu/libm-test-ulps-name | 1 + sysdeps/arc/nofpu/math-tests-exceptions.h | 27 + sysdeps/arc/nofpu/math-tests-rounding.h | 27 + sysdeps/arc/nptl/Makefile | 22 + sysdeps/arc/nptl/bits/pthreadtypes-arch.h | 43 + sysdeps/arc/nptl/bits/semaphore.h | 32 + sysdeps/arc/nptl/pthreaddef.h | 32 + sysdeps/arc/nptl/tcb-offsets.sym | 11 + sysdeps/arc/nptl/tls.h | 150 + + sysdeps/arc/preconfigure | 15 + sysdeps/arc/setjmp.S | 66 + sysdeps/arc/sfp-machine.h | 73 + sysdeps/arc/sotruss-lib.c | 51 + sysdeps/arc/stackinfo.h | 33 + sysdeps/arc/start.S | 89 + sysdeps/arc/sysdep.h | 48 + sysdeps/arc/tls-macros.h | 47 + sysdeps/arc/tst-audit.h | 23 + sysdeps/unix/sysv/linux/arc/Implies | 3 + sysdeps/unix/sysv/linux/arc/Makefile | 20 + sysdeps/unix/sysv/linux/arc/Versions | 16 + sysdeps/unix/sysv/linux/arc/arch-syscall.h | 317 +++ + sysdeps/unix/sysv/linux/arc/bits/procfs.h | 35 + sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h | 12 + sysdeps/unix/sysv/linux/arc/c++-types.data | 67 + sysdeps/unix/sysv/linux/arc/clone.S | 98 + sysdeps/unix/sysv/linux/arc/configure | 4 + sysdeps/unix/sysv/linux/arc/configure.ac | 4 + sysdeps/unix/sysv/linux/arc/dl-static.c | 84 + sysdeps/unix/sysv/linux/arc/getcontext.S | 63 + sysdeps/unix/sysv/linux/arc/ipc_priv.h | 21 + sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h | 6 + sysdeps/unix/sysv/linux/arc/kernel-features.h | 28 + sysdeps/unix/sysv/linux/arc/ld.abilist | 9 + sysdeps/unix/sysv/linux/arc/ldsodefs.h | 32 + sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist | 1 + sysdeps/unix/sysv/linux/arc/libanl.abilist | 4 + sysdeps/unix/sysv/linux/arc/libc.abilist | 2084 ++++++++++++++++++++ + sysdeps/unix/sysv/linux/arc/libcrypt.abilist | 2 + sysdeps/unix/sysv/linux/arc/libdl.abilist | 9 + sysdeps/unix/sysv/linux/arc/libm.abilist | 753 +++++++ + sysdeps/unix/sysv/linux/arc/libpthread.abilist | 240 ++ + sysdeps/unix/sysv/linux/arc/libresolv.abilist | 79 + sysdeps/unix/sysv/linux/arc/librt.abilist | 35 + sysdeps/unix/sysv/linux/arc/libthread_db.abilist | 40 + sysdeps/unix/sysv/linux/arc/libutil.abilist | 6 + sysdeps/unix/sysv/linux/arc/localplt.data | 16 + sysdeps/unix/sysv/linux/arc/makecontext.c | 75 + sysdeps/unix/sysv/linux/arc/mmap_internal.h | 27 + sysdeps/unix/sysv/linux/arc/pt-vfork.S | 1 + sysdeps/unix/sysv/linux/arc/setcontext.S | 92 + sysdeps/unix/sysv/linux/arc/shlib-versions | 2 + sysdeps/unix/sysv/linux/arc/sigaction.c | 31 + sysdeps/unix/sysv/linux/arc/sigcontextinfo.h | 31 + sysdeps/unix/sysv/linux/arc/sigrestorer.S | 29 + sysdeps/unix/sysv/linux/arc/swapcontext.S | 92 + sysdeps/unix/sysv/linux/arc/sys/cachectl.h | 36 + sysdeps/unix/sysv/linux/arc/sys/ucontext.h | 63 + sysdeps/unix/sysv/linux/arc/sys/user.h | 31 + sysdeps/unix/sysv/linux/arc/syscall.S | 38 + sysdeps/unix/sysv/linux/arc/syscalls.list | 3 + sysdeps/unix/sysv/linux/arc/sysdep.c | 33 + sysdeps/unix/sysv/linux/arc/sysdep.h | 250 ++ + sysdeps/unix/sysv/linux/arc/ucontext-macros.h | 29 + sysdeps/unix/sysv/linux/arc/ucontext_i.sym | 20 + sysdeps/unix/sysv/linux/arc/vfork.S | 42 + sysdeps/unix/sysv/linux/syscall-names.list | 3 + timezone/zic.c | 2 103 files changed, 7413 insertions(+), 13 deletions(-) create mode 100644 sysdeps/arc/Implies create mode 100644 sysdeps/arc/Makefile @@ -216,11 +216,9 @@ build-tested.] create mode 100644 sysdeps/unix/sysv/linux/arc/ucontext_i.sym create mode 100644 sysdeps/unix/sysv/linux/arc/vfork.S -diff --git a/elf/elf.h b/elf/elf.h -index 2549a177d6..1d235cf3ac 100644 --- a/elf/elf.h +++ b/elf/elf.h -@@ -330,7 +330,7 @@ typedef struct +@@ -330,7 +330,7 @@ #define EM_CLOUDSHIELD 192 /* CloudShield */ #define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */ #define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */ @@ -229,7 +227,7 @@ index 2549a177d6..1d235cf3ac 100644 #define EM_OPEN8 196 /* Open8 RISC */ #define EM_RL78 197 /* Renesas RL78 */ #define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */ -@@ -4027,6 +4027,74 @@ enum +@@ -4027,6 +4027,74 @@ #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 @@ -304,11 +302,9 @@ index 2549a177d6..1d235cf3ac 100644 __END_DECLS #endif /* elf.h */ -diff --git a/locale/Makefile b/locale/Makefile -index c9694e236e..95a4a432a9 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -28,6 +28,7 @@ routines = setlocale findlocale loadlocale loadarchive \ +@@ -28,6 +28,7 @@ localeconv nl_langinfo nl_langinfo_l mb_cur_max \ newlocale duplocale freelocale uselocale tests = tst-C-locale tst-locname tst-duplocale @@ -316,7 +312,7 @@ index c9694e236e..95a4a432a9 100644 categories = ctype messages monetary numeric time paper name \ address telephone measurement identification collate aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ -@@ -62,10 +63,6 @@ lib-modules := charmap-dir simple-hash xmalloc xstrdup \ +@@ -62,10 +63,6 @@ GPERF = gperf GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C @@ -327,11 +323,9 @@ index c9694e236e..95a4a432a9 100644 include ../Rules CFLAGS-md5.c += -I../crypt -diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py -index 90b76caa93..1fdf4d44c7 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py -@@ -155,6 +155,9 @@ class Context(object): +@@ -155,6 +155,9 @@ 'cfg': ['--disable-multi-arch']}]) self.add_config(arch='aarch64_be', os_name='linux-gnu') @@ -341,7 +335,7 @@ index 90b76caa93..1fdf4d44c7 100755 self.add_config(arch='alpha', os_name='linux-gnu') self.add_config(arch='arm', -@@ -1201,6 +1204,7 @@ class LinuxHeadersPolicyForUpdateSyscalls(object): +@@ -1201,6 +1204,7 @@ def install_linux_headers(policy, cmdlist): """Install Linux kernel headers.""" arch_map = {'aarch64': 'arm64', @@ -349,11 +343,9 @@ index 90b76caa93..1fdf4d44c7 100755 'alpha': 'alpha', 'arm': 'arm', 'csky': 'csky', -diff --git a/stdlib/longlong.h b/stdlib/longlong.h -index ee4aac1bb5..638b7894d4 100644 --- a/stdlib/longlong.h +++ b/stdlib/longlong.h -@@ -199,7 +199,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype); +@@ -199,7 +199,8 @@ : "%r" ((USItype) (ah)), \ "rICal" ((USItype) (bh)), \ "%r" ((USItype) (al)), \ @@ -363,7 +355,7 @@ index ee4aac1bb5..638b7894d4 100644 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ __asm__ ("sub.f %1, %4, %5\n\tsbc %0, %2, %3" \ : "=r" ((USItype) (sh)), \ -@@ -207,7 +208,8 @@ extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype); +@@ -207,7 +208,8 @@ : "r" ((USItype) (ah)), \ "rICal" ((USItype) (bh)), \ "r" ((USItype) (al)), \ @@ -373,11 +365,9 @@ index ee4aac1bb5..638b7894d4 100644 #define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v) #ifdef __ARC_NORM__ -diff --git a/support/Makefile b/support/Makefile -index 3325feb790..d9fdc46ffa 100644 --- a/support/Makefile +++ b/support/Makefile -@@ -188,12 +188,7 @@ CFLAGS-support_paths.c = \ +@@ -188,12 +188,7 @@ -DSBINDIR_PATH=\"$(sbindir)\" \ -DROOTSBINDIR_PATH=\"$(rootsbindir)\" @@ -390,9 +380,6 @@ index 3325feb790..d9fdc46ffa 100644 ifeq (yes,$(have-selinux)) LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux -diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies -new file mode 100644 -index 0000000000..a0f0b00cfa --- /dev/null +++ b/sysdeps/arc/Implies @@ -0,0 +1,4 @@ @@ -400,9 +387,6 @@ index 0000000000..a0f0b00cfa +wordsize-32 +ieee754/flt-32 +ieee754/dbl-64 -diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile -new file mode 100644 -index 0000000000..8d2fbe00c5 --- /dev/null +++ b/sysdeps/arc/Makefile @@ -0,0 +1,25 @@ @@ -431,9 +415,6 @@ index 0000000000..8d2fbe00c5 +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -funwind-tables +endif -diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions -new file mode 100644 -index 0000000000..ca0856d2db --- /dev/null +++ b/sysdeps/arc/Versions @@ -0,0 +1,6 @@ @@ -443,9 +424,6 @@ index 0000000000..ca0856d2db + __mcount; + } +} -diff --git a/sysdeps/arc/__longjmp.S b/sysdeps/arc/__longjmp.S -new file mode 100644 -index 0000000000..8296aa445f --- /dev/null +++ b/sysdeps/arc/__longjmp.S @@ -0,0 +1,50 @@ @@ -499,17 +477,11 @@ index 0000000000..8296aa445f + mov.z r0, 1 ; can't let setjmp return 0 when it is due to longjmp + +END (__longjmp) -diff --git a/sysdeps/arc/abort-instr.h b/sysdeps/arc/abort-instr.h -new file mode 100644 -index 0000000000..49f33613c4 --- /dev/null +++ b/sysdeps/arc/abort-instr.h @@ -0,0 +1,2 @@ +/* FLAG 1 is privilege mode only instruction, hence will crash any program. */ +#define ABORT_INSTRUCTION asm ("flag 1") -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -new file mode 100644 -index 0000000000..bdc91d0558 --- /dev/null +++ b/sysdeps/arc/atomic-machine.h @@ -0,0 +1,73 @@ @@ -586,9 +558,6 @@ index 0000000000..bdc91d0558 +#endif + +#endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/arc/bits/endianness.h b/sysdeps/arc/bits/endianness.h -new file mode 100644 -index 0000000000..21fae520cd --- /dev/null +++ b/sysdeps/arc/bits/endianness.h @@ -0,0 +1,15 @@ @@ -607,9 +576,6 @@ index 0000000000..21fae520cd +# error "Big Endian NOt supported on ARC" +#endif +#endif /* bits/endianness.h */ -diff --git a/sysdeps/arc/bits/fenv.h b/sysdeps/arc/bits/fenv.h -new file mode 100644 -index 0000000000..58388fb43a --- /dev/null +++ b/sysdeps/arc/bits/fenv.h @@ -0,0 +1,72 @@ @@ -685,9 +651,6 @@ index 0000000000..58388fb43a +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif -diff --git a/sysdeps/arc/bits/link.h b/sysdeps/arc/bits/link.h -new file mode 100644 -index 0000000000..c4508ab666 --- /dev/null +++ b/sysdeps/arc/bits/link.h @@ -0,0 +1,52 @@ @@ -743,9 +706,6 @@ index 0000000000..c4508ab666 + const char *symname); + +__END_DECLS -diff --git a/sysdeps/arc/bits/setjmp.h b/sysdeps/arc/bits/setjmp.h -new file mode 100644 -index 0000000000..3cb457d097 --- /dev/null +++ b/sysdeps/arc/bits/setjmp.h @@ -0,0 +1,26 @@ @@ -775,23 +735,14 @@ index 0000000000..3cb457d097 +typedef long int __jmp_buf[32]; + +#endif -diff --git a/sysdeps/arc/bsd-_setjmp.S b/sysdeps/arc/bsd-_setjmp.S -new file mode 100644 -index 0000000000..90b99cd8c3 --- /dev/null +++ b/sysdeps/arc/bsd-_setjmp.S @@ -0,0 +1 @@ +/* _setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/bsd-setjmp.S b/sysdeps/arc/bsd-setjmp.S -new file mode 100644 -index 0000000000..d3b823c118 --- /dev/null +++ b/sysdeps/arc/bsd-setjmp.S @@ -0,0 +1 @@ +/* setjmp is in setjmp.S. */ -diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure -new file mode 100644 -index 0000000000..52e286da2e --- /dev/null +++ b/sysdeps/arc/configure @@ -0,0 +1,14 @@ @@ -809,9 +760,6 @@ index 0000000000..52e286da2e +cat >>confdefs.h <<_ACEOF +#define ASM_LINE_SEP $libc_cv_asm_line_sep +_ACEOF -diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac -new file mode 100644 -index 0000000000..1074d312f0 --- /dev/null +++ b/sysdeps/arc/configure.ac @@ -0,0 +1,11 @@ @@ -826,9 +774,6 @@ index 0000000000..1074d312f0 +# canonical newline as there's lots of code out there which will break +libc_cv_asm_line_sep='`' +AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) -diff --git a/sysdeps/arc/dl-machine.h b/sysdeps/arc/dl-machine.h -new file mode 100644 -index 0000000000..c81acb9d4f --- /dev/null +++ b/sysdeps/arc/dl-machine.h @@ -0,0 +1,340 @@ @@ -1172,9 +1117,6 @@ index 0000000000..c81acb9d4f +} + +#endif /* RESOLVE_MAP */ -diff --git a/sysdeps/arc/dl-runtime.c b/sysdeps/arc/dl-runtime.c -new file mode 100644 -index 0000000000..48f4a5a7e1 --- /dev/null +++ b/sysdeps/arc/dl-runtime.c @@ -0,0 +1,39 @@ @@ -1217,9 +1159,6 @@ index 0000000000..48f4a5a7e1 +#define reloc_offset reloc_index * sizeof (PLTREL) + +#include -diff --git a/sysdeps/arc/dl-sysdep.h b/sysdeps/arc/dl-sysdep.h -new file mode 100644 -index 0000000000..ffc30b6937 --- /dev/null +++ b/sysdeps/arc/dl-sysdep.h @@ -0,0 +1,25 @@ @@ -1248,9 +1187,6 @@ index 0000000000..ffc30b6937 +#define DL_ARGV_NOT_RELRO 1 + +#define DL_EXTERN_PROTECTED_DATA -diff --git a/sysdeps/arc/dl-tls.h b/sysdeps/arc/dl-tls.h -new file mode 100644 -index 0000000000..7f0cf91e40 --- /dev/null +++ b/sysdeps/arc/dl-tls.h @@ -0,0 +1,30 @@ @@ -1284,9 +1220,6 @@ index 0000000000..7f0cf91e40 + +/* Value used for dtv entries for which the allocation is delayed. */ +#define TLS_DTV_UNALLOCATED ((void *) -1l) -diff --git a/sysdeps/arc/dl-trampoline.S b/sysdeps/arc/dl-trampoline.S -new file mode 100644 -index 0000000000..9da75fb1fe --- /dev/null +++ b/sysdeps/arc/dl-trampoline.S @@ -0,0 +1,80 @@ @@ -1370,9 +1303,6 @@ index 0000000000..9da75fb1fe + cfi_adjust_cfa_offset (-4) + cfi_restore (r0) +END (_dl_runtime_resolve) -diff --git a/sysdeps/arc/entry.h b/sysdeps/arc/entry.h -new file mode 100644 -index 0000000000..adb01d981a --- /dev/null +++ b/sysdeps/arc/entry.h @@ -0,0 +1,5 @@ @@ -1381,9 +1311,6 @@ index 0000000000..adb01d981a +#endif + +#define ENTRY_POINT __start -diff --git a/sysdeps/arc/gccframe.h b/sysdeps/arc/gccframe.h -new file mode 100644 -index 0000000000..40487fa77b --- /dev/null +++ b/sysdeps/arc/gccframe.h @@ -0,0 +1,21 @@ @@ -1408,9 +1335,6 @@ index 0000000000..40487fa77b +#define FIRST_PSEUDO_REGISTER 40 + +#include -diff --git a/sysdeps/arc/gmp-mparam.h b/sysdeps/arc/gmp-mparam.h -new file mode 100644 -index 0000000000..e30695fc6b --- /dev/null +++ b/sysdeps/arc/gmp-mparam.h @@ -0,0 +1,23 @@ @@ -1437,9 +1361,6 @@ index 0000000000..e30695fc6b +#include + +#define IEEE_DOUBLE_BIG_ENDIAN 0 -diff --git a/sysdeps/arc/jmpbuf-offsets.h b/sysdeps/arc/jmpbuf-offsets.h -new file mode 100644 -index 0000000000..9760f3a389 --- /dev/null +++ b/sysdeps/arc/jmpbuf-offsets.h @@ -0,0 +1,47 @@ @@ -1490,9 +1411,6 @@ index 0000000000..9760f3a389 + +/* Helper for generic ____longjmp_chk(). */ +#define JB_FRAME_ADDRESS(buf) ((void *) (unsigned long int) (buf[JB_SP])) -diff --git a/sysdeps/arc/jmpbuf-unwind.h b/sysdeps/arc/jmpbuf-unwind.h -new file mode 100644 -index 0000000000..47be5758c7 --- /dev/null +++ b/sysdeps/arc/jmpbuf-unwind.h @@ -0,0 +1,47 @@ @@ -1543,9 +1461,6 @@ index 0000000000..47be5758c7 + +/* We use the normal longjmp for unwinding. */ +#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val) -diff --git a/sysdeps/arc/ldsodefs.h b/sysdeps/arc/ldsodefs.h -new file mode 100644 -index 0000000000..53ef4e1e83 --- /dev/null +++ b/sysdeps/arc/ldsodefs.h @@ -0,0 +1,43 @@ @@ -1592,9 +1507,6 @@ index 0000000000..53ef4e1e83 +#include_next + +#endif -diff --git a/sysdeps/arc/libc-tls.c b/sysdeps/arc/libc-tls.c -new file mode 100644 -index 0000000000..903a75a41b --- /dev/null +++ b/sysdeps/arc/libc-tls.c @@ -0,0 +1,27 @@ @@ -1625,9 +1537,6 @@ index 0000000000..903a75a41b + dtv_t *dtv = THREAD_DTV (); + return (char *) dtv[1].pointer.val + ti->ti_offset; +} -diff --git a/sysdeps/arc/machine-gmon.h b/sysdeps/arc/machine-gmon.h -new file mode 100644 -index 0000000000..1d9e8108d9 --- /dev/null +++ b/sysdeps/arc/machine-gmon.h @@ -0,0 +1,35 @@ @@ -1666,9 +1575,6 @@ index 0000000000..1d9e8108d9 + __mcount_internal ((unsigned long int) frompc, \ + (unsigned long int) __builtin_return_address(0)); \ +} -diff --git a/sysdeps/arc/memusage.h b/sysdeps/arc/memusage.h -new file mode 100644 -index 0000000000..29f234f5ba --- /dev/null +++ b/sysdeps/arc/memusage.h @@ -0,0 +1,23 @@ @@ -1695,16 +1601,10 @@ index 0000000000..29f234f5ba +#define uatomic32_t unsigned int + +#include -diff --git a/sysdeps/arc/nofpu/Implies b/sysdeps/arc/nofpu/Implies -new file mode 100644 -index 0000000000..abcbadb25f --- /dev/null +++ b/sysdeps/arc/nofpu/Implies @@ -0,0 +1 @@ +ieee754/soft-fp -diff --git a/sysdeps/arc/nofpu/libm-test-ulps b/sysdeps/arc/nofpu/libm-test-ulps -new file mode 100644 -index 0000000000..0e8ef313fa --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps @@ -0,0 +1,390 @@ @@ -2098,16 +1998,10 @@ index 0000000000..0e8ef313fa +ifloat: 3 + +# end of automatic generation -diff --git a/sysdeps/arc/nofpu/libm-test-ulps-name b/sysdeps/arc/nofpu/libm-test-ulps-name -new file mode 100644 -index 0000000000..8c4fba4f9a --- /dev/null +++ b/sysdeps/arc/nofpu/libm-test-ulps-name @@ -0,0 +1 @@ +ARC -diff --git a/sysdeps/arc/nofpu/math-tests-exceptions.h b/sysdeps/arc/nofpu/math-tests-exceptions.h -new file mode 100644 -index 0000000000..f5c0b73589 --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-exceptions.h @@ -0,0 +1,27 @@ @@ -2138,9 +2032,6 @@ index 0000000000..f5c0b73589 +#define EXCEPTION_TESTS_long_double 0 + +#endif -diff --git a/sysdeps/arc/nofpu/math-tests-rounding.h b/sysdeps/arc/nofpu/math-tests-rounding.h -new file mode 100644 -index 0000000000..e8f76338b1 --- /dev/null +++ b/sysdeps/arc/nofpu/math-tests-rounding.h @@ -0,0 +1,27 @@ @@ -2171,9 +2062,6 @@ index 0000000000..e8f76338b1 +#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST) + +#endif -diff --git a/sysdeps/arc/nptl/Makefile b/sysdeps/arc/nptl/Makefile -new file mode 100644 -index 0000000000..3c33c9cc11 --- /dev/null +++ b/sysdeps/arc/nptl/Makefile @@ -0,0 +1,22 @@ @@ -2199,9 +2087,6 @@ index 0000000000..3c33c9cc11 +ifeq ($(subdir),csu) +gen-as-const-headers += tcb-offsets.sym +endif -diff --git a/sysdeps/arc/nptl/bits/pthreadtypes-arch.h b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h -new file mode 100644 -index 0000000000..c104ad4444 --- /dev/null +++ b/sysdeps/arc/nptl/bits/pthreadtypes-arch.h @@ -0,0 +1,43 @@ @@ -2248,9 +2133,6 @@ index 0000000000..c104ad4444 +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes-arch.h */ -diff --git a/sysdeps/arc/nptl/bits/semaphore.h b/sysdeps/arc/nptl/bits/semaphore.h -new file mode 100644 -index 0000000000..662d08401d --- /dev/null +++ b/sysdeps/arc/nptl/bits/semaphore.h @@ -0,0 +1,32 @@ @@ -2286,9 +2168,6 @@ index 0000000000..662d08401d + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; -diff --git a/sysdeps/arc/nptl/pthreaddef.h b/sysdeps/arc/nptl/pthreaddef.h -new file mode 100644 -index 0000000000..80a109bbd5 --- /dev/null +++ b/sysdeps/arc/nptl/pthreaddef.h @@ -0,0 +1,32 @@ @@ -2324,9 +2203,6 @@ index 0000000000..80a109bbd5 + +/* Location of current stack frame. */ +#define CURRENT_STACK_FRAME __builtin_frame_address (0) -diff --git a/sysdeps/arc/nptl/tcb-offsets.sym b/sysdeps/arc/nptl/tcb-offsets.sym -new file mode 100644 -index 0000000000..56950e0676 --- /dev/null +++ b/sysdeps/arc/nptl/tcb-offsets.sym @@ -0,0 +1,11 @@ @@ -2341,9 +2217,6 @@ index 0000000000..56950e0676 +TLS_TCB_SIZE sizeof(tcbhead_t) + +PTHREAD_TID offsetof(struct pthread, tid) -diff --git a/sysdeps/arc/nptl/tls.h b/sysdeps/arc/nptl/tls.h -new file mode 100644 -index 0000000000..2c90109d57 --- /dev/null +++ b/sysdeps/arc/nptl/tls.h @@ -0,0 +1,150 @@ @@ -2497,9 +2370,6 @@ index 0000000000..2c90109d57 +#endif /* __ASSEMBLER__ */ + +#endif /* tls.h */ -diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure -new file mode 100644 -index 0000000000..d9c5429f40 --- /dev/null +++ b/sysdeps/arc/preconfigure @@ -0,0 +1,15 @@ @@ -2518,9 +2388,6 @@ index 0000000000..d9c5429f40 + ;; + +esac -diff --git a/sysdeps/arc/setjmp.S b/sysdeps/arc/setjmp.S -new file mode 100644 -index 0000000000..518545a99e --- /dev/null +++ b/sysdeps/arc/setjmp.S @@ -0,0 +1,66 @@ @@ -2590,9 +2457,6 @@ index 0000000000..518545a99e +END (__sigsetjmp) + +libc_hidden_def (__sigsetjmp) -diff --git a/sysdeps/arc/sfp-machine.h b/sysdeps/arc/sfp-machine.h -new file mode 100644 -index 0000000000..5ceaf56a98 --- /dev/null +++ b/sysdeps/arc/sfp-machine.h @@ -0,0 +1,73 @@ @@ -2669,9 +2533,6 @@ index 0000000000..5ceaf56a98 + } while (0) + +#define _FP_TININESS_AFTER_ROUNDING 0 -diff --git a/sysdeps/arc/sotruss-lib.c b/sysdeps/arc/sotruss-lib.c -new file mode 100644 -index 0000000000..ffbb5bbd6d --- /dev/null +++ b/sysdeps/arc/sotruss-lib.c @@ -0,0 +1,51 @@ @@ -2726,9 +2587,6 @@ index 0000000000..ffbb5bbd6d + + return 0; +} -diff --git a/sysdeps/arc/stackinfo.h b/sysdeps/arc/stackinfo.h -new file mode 100644 -index 0000000000..fe69161382 --- /dev/null +++ b/sysdeps/arc/stackinfo.h @@ -0,0 +1,33 @@ @@ -2765,9 +2623,6 @@ index 0000000000..fe69161382 +#define DEFAULT_STACK_PERMS (PF_R|PF_W) + +#endif /* stackinfo.h */ -diff --git a/sysdeps/arc/start.S b/sysdeps/arc/start.S -new file mode 100644 -index 0000000000..4ade1e871f --- /dev/null +++ b/sysdeps/arc/start.S @@ -0,0 +1,89 @@ @@ -2860,9 +2715,6 @@ index 0000000000..4ade1e871f + .long 0 + .weak data_start + data_start = __data_start -diff --git a/sysdeps/arc/sysdep.h b/sysdeps/arc/sysdep.h -new file mode 100644 -index 0000000000..127e9b01e7 --- /dev/null +++ b/sysdeps/arc/sysdep.h @@ -0,0 +1,48 @@ @@ -2914,9 +2766,6 @@ index 0000000000..127e9b01e7 +# define CALL_MCOUNT /* Do nothing for now. */ + +#endif /* __ASSEMBLER__ */ -diff --git a/sysdeps/arc/tls-macros.h b/sysdeps/arc/tls-macros.h -new file mode 100644 -index 0000000000..4d54683eda --- /dev/null +++ b/sysdeps/arc/tls-macros.h @@ -0,0 +1,47 @@ @@ -2967,9 +2816,6 @@ index 0000000000..4d54683eda + "add %0, %1, %0 \n" \ + : "=&r" (__result) : "r" (tp)); \ + __result; }) -diff --git a/sysdeps/arc/tst-audit.h b/sysdeps/arc/tst-audit.h -new file mode 100644 -index 0000000000..9237ad2440 --- /dev/null +++ b/sysdeps/arc/tst-audit.h @@ -0,0 +1,23 @@ @@ -2996,18 +2842,12 @@ index 0000000000..9237ad2440 +#define La_regs La_arc_regs +#define La_retval La_arc_retval +#define int_retval lrv_reg[0] -diff --git a/sysdeps/unix/sysv/linux/arc/Implies b/sysdeps/unix/sysv/linux/arc/Implies -new file mode 100644 -index 0000000000..7f739a0340 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Implies @@ -0,0 +1,3 @@ +arc/nptl +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic -diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile -new file mode 100644 -index 0000000000..a6c6dfc6ec --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Makefile @@ -0,0 +1,20 @@ @@ -3031,9 +2871,6 @@ index 0000000000..a6c6dfc6ec +sysdep-dl-routines += dl-static +endif +endif -diff --git a/sysdeps/unix/sysv/linux/arc/Versions b/sysdeps/unix/sysv/linux/arc/Versions -new file mode 100644 -index 0000000000..3eedf26ae2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Versions @@ -0,0 +1,16 @@ @@ -3053,9 +2890,6 @@ index 0000000000..3eedf26ae2 + __default_rt_sa_restorer; + } +} -diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h -new file mode 100644 -index 0000000000..db25a17ad0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h @@ -0,0 +1,317 @@ @@ -3376,9 +3210,6 @@ index 0000000000..db25a17ad0 +#define __NR_waitid 95 +#define __NR_write 64 +#define __NR_writev 66 -diff --git a/sysdeps/unix/sysv/linux/arc/bits/procfs.h b/sysdeps/unix/sysv/linux/arc/bits/procfs.h -new file mode 100644 -index 0000000000..b37deaee58 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/procfs.h @@ -0,0 +1,35 @@ @@ -3417,9 +3248,6 @@ index 0000000000..b37deaee58 + +/* There's no seperate floating point reg file in ARCv2. */ +typedef struct { } elf_fpregset_t; -diff --git a/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h -new file mode 100644 -index 0000000000..795638a30b --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/bits/types/__sigset_t.h @@ -0,0 +1,12 @@ @@ -3435,9 +3263,6 @@ index 0000000000..795638a30b +} __sigset_t; + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/c++-types.data b/sysdeps/unix/sysv/linux/arc/c++-types.data -new file mode 100644 -index 0000000000..303f4570c8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/c++-types.data @@ -0,0 +1,67 @@ @@ -3508,9 +3333,6 @@ index 0000000000..303f4570c8 +useconds_t:j +ushort:t +u_short:t -diff --git a/sysdeps/unix/sysv/linux/arc/clone.S b/sysdeps/unix/sysv/linux/arc/clone.S -new file mode 100644 -index 0000000000..55c2a2b60e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/clone.S @@ -0,0 +1,98 @@ @@ -3612,9 +3434,6 @@ index 0000000000..55c2a2b60e +PSEUDO_END (__clone) +libc_hidden_def (__clone) +weak_alias (__clone, clone) -diff --git a/sysdeps/unix/sysv/linux/arc/configure b/sysdeps/unix/sysv/linux/arc/configure -new file mode 100644 -index 0000000000..f74fa7cb02 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure @@ -0,0 +1,4 @@ @@ -3622,9 +3441,6 @@ index 0000000000..f74fa7cb02 + # Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/configure.ac b/sysdeps/unix/sysv/linux/arc/configure.ac -new file mode 100644 -index 0000000000..a9528032d3 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure.ac @@ -0,0 +1,4 @@ @@ -3632,9 +3448,6 @@ index 0000000000..a9528032d3 +# Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 -diff --git a/sysdeps/unix/sysv/linux/arc/dl-static.c b/sysdeps/unix/sysv/linux/arc/dl-static.c -new file mode 100644 -index 0000000000..1a8757c984 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/dl-static.c @@ -0,0 +1,84 @@ @@ -3722,9 +3535,6 @@ index 0000000000..1a8757c984 +} + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/getcontext.S b/sysdeps/unix/sysv/linux/arc/getcontext.S -new file mode 100644 -index 0000000000..723cc237d8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/getcontext.S @@ -0,0 +1,63 @@ @@ -3791,9 +3601,6 @@ index 0000000000..723cc237d8 + +PSEUDO_END (__getcontext) +weak_alias (__getcontext, getcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/ipc_priv.h b/sysdeps/unix/sysv/linux/arc/ipc_priv.h -new file mode 100644 -index 0000000000..309eb3064e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ipc_priv.h @@ -0,0 +1,21 @@ @@ -3818,9 +3625,6 @@ index 0000000000..309eb3064e +#include /* For __key_t */ + +#define __IPC_64 0x0 -diff --git a/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h -new file mode 100644 -index 0000000000..6c12939848 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/jmp_buf-macros.h @@ -0,0 +1,6 @@ @@ -3830,9 +3634,6 @@ index 0000000000..6c12939848 +#define SIGJMP_BUF_ALIGN __alignof__ (unsigned long int) +#define MASK_WAS_SAVED_OFFSET (32 * sizeof (unsigned long int)) +#define SAVED_MASK_OFFSET (33 * sizeof (unsigned long int)) -diff --git a/sysdeps/unix/sysv/linux/arc/kernel-features.h b/sysdeps/unix/sysv/linux/arc/kernel-features.h -new file mode 100644 -index 0000000000..00255337bc --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/kernel-features.h @@ -0,0 +1,28 @@ @@ -3864,9 +3665,6 @@ index 0000000000..00255337bc + +#undef __ASSUME_CLONE_DEFAULT +#define __ASSUME_CLONE_BACKWARDS 1 -diff --git a/sysdeps/unix/sysv/linux/arc/ld.abilist b/sysdeps/unix/sysv/linux/arc/ld.abilist -new file mode 100644 -index 0000000000..41183d7bee --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ld.abilist @@ -0,0 +1,9 @@ @@ -3879,9 +3677,6 @@ index 0000000000..41183d7bee +GLIBC_2.30 free F +GLIBC_2.30 malloc F +GLIBC_2.30 realloc F -diff --git a/sysdeps/unix/sysv/linux/arc/ldsodefs.h b/sysdeps/unix/sysv/linux/arc/ldsodefs.h -new file mode 100644 -index 0000000000..8c5c6800af --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ldsodefs.h @@ -0,0 +1,32 @@ @@ -3917,16 +3712,10 @@ index 0000000000..8c5c6800af +#define DL_STATIC_INIT(map) _dl_static_init (map) + +#endif /* ldsodefs.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist -new file mode 100644 -index 0000000000..c6253c0ae8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libBrokenLocale.abilist @@ -0,0 +1 @@ +GLIBC_2.30 __ctype_get_mb_cur_max F -diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/libanl.abilist -new file mode 100644 -index 0000000000..d3b753219e --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist @@ -0,0 +1,4 @@ @@ -3934,9 +3723,6 @@ index 0000000000..d3b753219e +GLIBC_2.30 gai_error F +GLIBC_2.30 gai_suspend F +GLIBC_2.30 getaddrinfo_a F -diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist -new file mode 100644 -index 0000000000..823ae25bcc --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -0,0 +1,2084 @@ @@ -6024,17 +5810,11 @@ index 0000000000..823ae25bcc +GLIBC_2.30 xencrypt F +GLIBC_2.30 xprt_register F +GLIBC_2.30 xprt_unregister F -diff --git a/sysdeps/unix/sysv/linux/arc/libcrypt.abilist b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist -new file mode 100644 -index 0000000000..8d83578d8c --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libcrypt.abilist @@ -0,0 +1,2 @@ +GLIBC_2.30 crypt F +GLIBC_2.30 crypt_r F -diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist -new file mode 100644 -index 0000000000..3fc6d95b85 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -0,0 +1,9 @@ @@ -6047,9 +5827,6 @@ index 0000000000..3fc6d95b85 +GLIBC_2.30 dlopen F +GLIBC_2.30 dlsym F +GLIBC_2.30 dlvsym F -diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist -new file mode 100644 -index 0000000000..43f3a97e6f --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libm.abilist @@ -0,0 +1,753 @@ @@ -6806,9 +6583,6 @@ index 0000000000..43f3a97e6f +GLIBC_2.30 ynf32x F +GLIBC_2.30 ynf64 F +GLIBC_2.30 ynl F -diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist -new file mode 100644 -index 0000000000..d89cf8d301 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -0,0 +1,240 @@ @@ -7052,9 +6826,6 @@ index 0000000000..d89cf8d301 +GLIBC_2.30 wait F +GLIBC_2.30 waitpid F +GLIBC_2.30 write F -diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist -new file mode 100644 -index 0000000000..ca745f5b98 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist @@ -0,0 +1,79 @@ @@ -7137,9 +6908,6 @@ index 0000000000..ca745f5b98 +GLIBC_2.30 ns_sprintrr F +GLIBC_2.30 ns_sprintrrf F +GLIBC_2.30 ns_subdomain F -diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist -new file mode 100644 -index 0000000000..8d39a08696 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -0,0 +1,35 @@ @@ -7178,9 +6946,6 @@ index 0000000000..8d39a08696 +GLIBC_2.30 timer_getoverrun F +GLIBC_2.30 timer_gettime F +GLIBC_2.30 timer_settime F -diff --git a/sysdeps/unix/sysv/linux/arc/libthread_db.abilist b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist -new file mode 100644 -index 0000000000..94220c9592 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libthread_db.abilist @@ -0,0 +1,40 @@ @@ -7224,9 +6989,6 @@ index 0000000000..94220c9592 +GLIBC_2.30 td_thr_tlsbase F +GLIBC_2.30 td_thr_tsd F +GLIBC_2.30 td_thr_validate F -diff --git a/sysdeps/unix/sysv/linux/arc/libutil.abilist b/sysdeps/unix/sysv/linux/arc/libutil.abilist -new file mode 100644 -index 0000000000..f745157afa --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/libutil.abilist @@ -0,0 +1,6 @@ @@ -7236,9 +6998,6 @@ index 0000000000..f745157afa +GLIBC_2.30 logout F +GLIBC_2.30 logwtmp F +GLIBC_2.30 openpty F -diff --git a/sysdeps/unix/sysv/linux/arc/localplt.data b/sysdeps/unix/sysv/linux/arc/localplt.data -new file mode 100644 -index 0000000000..e902fd0607 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/localplt.data @@ -0,0 +1,16 @@ @@ -7258,9 +7017,6 @@ index 0000000000..e902fd0607 +ld.so: _dl_catch_error +ld.so: _dl_signal_exception +ld.so: _dl_catch_exception -diff --git a/sysdeps/unix/sysv/linux/arc/makecontext.c b/sysdeps/unix/sysv/linux/arc/makecontext.c -new file mode 100644 -index 0000000000..3d46452e17 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/makecontext.c @@ -0,0 +1,75 @@ @@ -7339,9 +7095,6 @@ index 0000000000..3d46452e17 +} + +weak_alias (__makecontext, makecontext) -diff --git a/sysdeps/unix/sysv/linux/arc/mmap_internal.h b/sysdeps/unix/sysv/linux/arc/mmap_internal.h -new file mode 100644 -index 0000000000..51d0a25f26 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/mmap_internal.h @@ -0,0 +1,27 @@ @@ -7372,16 +7125,10 @@ index 0000000000..51d0a25f26 +#include_next + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/sysdeps/unix/sysv/linux/arc/pt-vfork.S -new file mode 100644 -index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/pt-vfork.S @@ -0,0 +1 @@ +/* Not needed. */ -diff --git a/sysdeps/unix/sysv/linux/arc/setcontext.S b/sysdeps/unix/sysv/linux/arc/setcontext.S -new file mode 100644 -index 0000000000..8cf4ffcaf5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/setcontext.S @@ -0,0 +1,92 @@ @@ -7477,17 +7224,11 @@ index 0000000000..8cf4ffcaf5 + /* Exit with status 0. */ + b HIDDEN_JUMPTARGET(exit) +END (__startcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions -new file mode 100644 -index 0000000000..cbe457b9db --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/shlib-versions @@ -0,0 +1,2 @@ +DEFAULT GLIBC_2.30 +ld=ld-linux-arc.so.2 -diff --git a/sysdeps/unix/sysv/linux/arc/sigaction.c b/sysdeps/unix/sysv/linux/arc/sigaction.c -new file mode 100644 -index 0000000000..db7293865f --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigaction.c @@ -0,0 +1,31 @@ @@ -7522,9 +7263,6 @@ index 0000000000..db7293865f +#define RESET_SA_RESTORER(act, kact) + +#include -diff --git a/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h -new file mode 100644 -index 0000000000..db5f4b6d21 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigcontextinfo.h @@ -0,0 +1,31 @@ @@ -7559,9 +7297,6 @@ index 0000000000..db5f4b6d21 +} + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/sigrestorer.S b/sysdeps/unix/sysv/linux/arc/sigrestorer.S -new file mode 100644 -index 0000000000..573b54e36c --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sigrestorer.S @@ -0,0 +1,29 @@ @@ -7594,9 +7329,6 @@ index 0000000000..573b54e36c + ARC_TRAP_INSN + j_s [blink] +PSEUDO_END_NOERRNO (__default_rt_sa_restorer) -diff --git a/sysdeps/unix/sysv/linux/arc/swapcontext.S b/sysdeps/unix/sysv/linux/arc/swapcontext.S -new file mode 100644 -index 0000000000..853d3805de --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/swapcontext.S @@ -0,0 +1,92 @@ @@ -7692,9 +7424,6 @@ index 0000000000..853d3805de + +PSEUDO_END (__swapcontext) +weak_alias (__swapcontext, swapcontext) -diff --git a/sysdeps/unix/sysv/linux/arc/sys/cachectl.h b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h -new file mode 100644 -index 0000000000..2d93e49e6a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/cachectl.h @@ -0,0 +1,36 @@ @@ -7734,9 +7463,6 @@ index 0000000000..2d93e49e6a +__END_DECLS + +#endif /* sys/cachectl.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/ucontext.h b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h -new file mode 100644 -index 0000000000..7e357bcd65 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/ucontext.h @@ -0,0 +1,63 @@ @@ -7803,9 +7529,6 @@ index 0000000000..7e357bcd65 +#undef __ctx + +#endif /* sys/ucontext.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/sys/user.h b/sysdeps/unix/sysv/linux/arc/sys/user.h -new file mode 100644 -index 0000000000..50d0dc7827 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sys/user.h @@ -0,0 +1,31 @@ @@ -7840,9 +7563,6 @@ index 0000000000..50d0dc7827 +}; + +#endif /* sys/user.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -new file mode 100644 -index 0000000000..3fe5fcdd04 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscall.S @@ -0,0 +1,38 @@ @@ -7884,18 +7604,12 @@ index 0000000000..3fe5fcdd04 + brhi r0, -1024, .Lcall_syscall_err + j [blink] +PSEUDO_END (syscall) -diff --git a/sysdeps/unix/sysv/linux/arc/syscalls.list b/sysdeps/unix/sysv/linux/arc/syscalls.list -new file mode 100644 -index 0000000000..d0ef5977ee --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/syscalls.list @@ -0,0 +1,3 @@ +# File name Caller Syscall name Args Strong name Weak names + +cacheflush - cacheflush i:pii _flush_cache cacheflush -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.c b/sysdeps/unix/sysv/linux/arc/sysdep.c -new file mode 100644 -index 0000000000..5618f37851 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.c @@ -0,0 +1,33 @@ @@ -7932,9 +7646,6 @@ index 0000000000..5618f37851 +#if IS_IN (libc) +hidden_def (__syscall_error) +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -new file mode 100644 -index 0000000000..28547ac448 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -0,0 +1,250 @@ @@ -8188,9 +7899,6 @@ index 0000000000..28547ac448 +#endif /* !__ASSEMBLER__ */ + +#endif /* linux/arc/sysdep.h */ -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext-macros.h b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h -new file mode 100644 -index 0000000000..ed261399c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext-macros.h @@ -0,0 +1,29 @@ @@ -8223,9 +7931,6 @@ index 0000000000..ed261399c9 +#define LOAD_REG(reg, rbase, off) ld reg, [rbase, UCONTEXT_MCONTEXT + off * 4] + +#endif -diff --git a/sysdeps/unix/sysv/linux/arc/ucontext_i.sym b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym -new file mode 100644 -index 0000000000..d84e92f9f5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/ucontext_i.sym @@ -0,0 +1,20 @@ @@ -8249,9 +7954,6 @@ index 0000000000..d84e92f9f5 +UCONTEXT_MCONTEXT ucontext (uc_mcontext) +UCONTEXT_SIGMASK ucontext (uc_sigmask) +UCONTEXT_SIZE sizeof (ucontext_t) -diff --git a/sysdeps/unix/sysv/linux/arc/vfork.S b/sysdeps/unix/sysv/linux/arc/vfork.S -new file mode 100644 -index 0000000000..7f981d0681 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/vfork.S @@ -0,0 +1,42 @@ @@ -8297,11 +7999,9 @@ index 0000000000..7f981d0681 +libc_hidden_def (__vfork) + +weak_alias (__vfork, vfork) -diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list -index 36e087d8f4..60ecb263db 100644 --- a/sysdeps/unix/sysv/linux/syscall-names.list +++ b/sysdeps/unix/sysv/linux/syscall-names.list -@@ -41,6 +41,9 @@ adjtimex +@@ -41,6 +41,9 @@ afs_syscall alarm alloc_hugepages @@ -8311,11 +8011,9 @@ index 36e087d8f4..60ecb263db 100644 arch_prctl arm_fadvise64_64 arm_sync_file_range -diff --git a/timezone/zic.c b/timezone/zic.c -index 2ebc66a9af..8e8d94fac3 100644 --- a/timezone/zic.c +++ b/timezone/zic.c -@@ -39,7 +39,7 @@ typedef int_fast64_t zic_t; +@@ -39,7 +39,7 @@ #include #endif #ifdef S_IRUSR @@ -8324,6 +8022,3 @@ index 2ebc66a9af..8e8d94fac3 100644 #else #define MKDIR_UMASK 0755 #endif --- -2.20.1 - diff --git a/packages/glibc/2.31/0002-Fix-build-with-GCC-10-when-long-double-double.patch b/packages/glibc/2.31/0002-Fix-build-with-GCC-10-when-long-double-double.patch index ca0d8a7..5ec96fe 100644 --- a/packages/glibc/2.31/0002-Fix-build-with-GCC-10-when-long-double-double.patch +++ b/packages/glibc/2.31/0002-Fix-build-with-GCC-10-when-long-double-double.patch @@ -25,14 +25,12 @@ irrelevant for other reasons). Tested with build-many-glibcs.py for arm-linux-gnueabi (compilers and glibcs builds), where it fixes the build that previously failed. --- - math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++ + math/Makefile | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) -diff --git a/math/Makefile b/math/Makefile -index 84a8b94c74..0a5a40430e 100644 --- a/math/Makefile +++ b/math/Makefile -@@ -650,6 +650,128 @@ ifneq ($(long-double-fcts),yes) +@@ -644,6 +644,128 @@ # We won't compile the `long double' code at all. Tell the `double' code # to define aliases for the `FUNCl' names. math-CPPFLAGS += -DNO_LONG_DOUBLE @@ -161,6 +159,3 @@ index 84a8b94c74..0a5a40430e 100644 endif # These files quiet sNaNs in a way that is optimized away without --- -2.25.1 - diff --git a/packages/glibc/2.32/0000-typedef-caddr.patch b/packages/glibc/2.32/0000-typedef-caddr.patch index 451884c..a328da1 100644 --- a/packages/glibc/2.32/0000-typedef-caddr.patch +++ b/packages/glibc/2.32/0000-typedef-caddr.patch @@ -4,7 +4,7 @@ --- a/posix/sys/types.h +++ b/posix/sys/types.h -@@ -112,7 +112,10 @@ typedef __ssize_t ssize_t; +@@ -112,7 +112,10 @@ #ifdef __USE_MISC # ifndef __daddr_t_defined typedef __daddr_t daddr_t; diff --git a/packages/glibc/2.32/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch b/packages/glibc/2.32/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch index e02e69b..6b18501 100644 --- a/packages/glibc/2.32/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch +++ b/packages/glibc/2.32/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch @@ -8,11 +8,9 @@ the expected "stable" by the release manager. This is a mistake that leads to the build using "-g -O1" instead of "-g -O2" if configure was executed with "CFLAGS=" (CFLAGS set but empty). --- - version.h | 2 +- + version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/version.h b/version.h -index 83cd196798..e6ca7a8857 100644 --- a/version.h +++ b/version.h @@ -1,4 +1,4 @@ @@ -21,6 +19,3 @@ index 83cd196798..e6ca7a8857 100644 -#define RELEASE "release" +#define RELEASE "stable" #define VERSION "2.32" --- -2.25.1 - diff --git a/packages/glibc/2.32/0002-Add-ARC700-support.patch b/packages/glibc/2.32/0002-Add-ARC700-support.patch index 23c94a7..22ae16c 100644 --- a/packages/glibc/2.32/0002-Add-ARC700-support.patch +++ b/packages/glibc/2.32/0002-Add-ARC700-support.patch @@ -11,16 +11,14 @@ pieces. I looked at uClibc-ng and a patch by Synopsis for glibc. Signed-off-by: Rosen Penev Signed-off-by: Alexey Brodkin --- - sysdeps/arc/atomic-machine.h | 4 ++++ - sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ - sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ + sysdeps/arc/atomic-machine.h | 4 ++++ + sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ + sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ 3 files changed, 17 insertions(+) -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -index 1c8638bb44..bde66ae137 100644 --- a/sysdeps/arc/atomic-machine.h +++ b/sysdeps/arc/atomic-machine.h -@@ -64,6 +64,10 @@ typedef uintmax_t uatomic_max_t; +@@ -64,6 +64,10 @@ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ mem, new, old, __ATOMIC_ACQUIRE) @@ -31,11 +29,9 @@ index 1c8638bb44..bde66ae137 100644 +#endif #endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -index 6227dbf499..0609dbeeba 100644 --- a/sysdeps/unix/sysv/linux/arc/syscall.S +++ b/sysdeps/unix/sysv/linux/arc/syscall.S -@@ -24,8 +24,13 @@ ENTRY (syscall) +@@ -24,8 +24,13 @@ mov_s r1, r2 mov_s r2, r3 mov_s r3, r4 @@ -49,11 +45,9 @@ index 6227dbf499..0609dbeeba 100644 ARC_TRAP_INSN brhi r0, -4096, L (call_syscall_err) -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -index 8465a2f623..3faff27b1c 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h -@@ -128,7 +128,11 @@ L (call_syscall_err): ASM_LINE_SEP \ +@@ -128,7 +128,11 @@ mov r8, __NR_##syscall_name ASM_LINE_SEP \ ARC_TRAP_INSN ASM_LINE_SEP @@ -65,7 +59,7 @@ index 8465a2f623..3faff27b1c 100644 #else /* !__ASSEMBLER__ */ -@@ -139,7 +143,11 @@ extern long int __syscall_error (long int); +@@ -139,7 +143,11 @@ hidden_proto (__syscall_error) # endif @@ -77,6 +71,3 @@ index 8465a2f623..3faff27b1c 100644 # undef INTERNAL_SYSCALL_NCS # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ --- -2.16.2 - diff --git a/packages/glibc/2.33/0000-typedef-caddr.patch b/packages/glibc/2.33/0000-typedef-caddr.patch index 451884c..a328da1 100644 --- a/packages/glibc/2.33/0000-typedef-caddr.patch +++ b/packages/glibc/2.33/0000-typedef-caddr.patch @@ -4,7 +4,7 @@ --- a/posix/sys/types.h +++ b/posix/sys/types.h -@@ -112,7 +112,10 @@ typedef __ssize_t ssize_t; +@@ -112,7 +112,10 @@ #ifdef __USE_MISC # ifndef __daddr_t_defined typedef __daddr_t daddr_t; diff --git a/packages/glibc/2.33/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch b/packages/glibc/2.33/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch index 9c4b0e4..c3c13d2 100644 --- a/packages/glibc/2.33/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch +++ b/packages/glibc/2.33/0001-Set-version.h-RELEASE-to-stable-Bug-26700.patch @@ -8,7 +8,7 @@ the expected "stable" by the release manager. This is a mistake that leads to the build using "-g -O1" instead of "-g -O2" if configure was executed with "CFLAGS=" (CFLAGS set but empty). --- - version.h | 2 +- + version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/version.h diff --git a/packages/glibc/2.33/0002-Add-ARC700-support.patch b/packages/glibc/2.33/0002-Add-ARC700-support.patch index 23c94a7..22ae16c 100644 --- a/packages/glibc/2.33/0002-Add-ARC700-support.patch +++ b/packages/glibc/2.33/0002-Add-ARC700-support.patch @@ -11,16 +11,14 @@ pieces. I looked at uClibc-ng and a patch by Synopsis for glibc. Signed-off-by: Rosen Penev Signed-off-by: Alexey Brodkin --- - sysdeps/arc/atomic-machine.h | 4 ++++ - sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ - sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ + sysdeps/arc/atomic-machine.h | 4 ++++ + sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ + sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ 3 files changed, 17 insertions(+) -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -index 1c8638bb44..bde66ae137 100644 --- a/sysdeps/arc/atomic-machine.h +++ b/sysdeps/arc/atomic-machine.h -@@ -64,6 +64,10 @@ typedef uintmax_t uatomic_max_t; +@@ -64,6 +64,10 @@ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ mem, new, old, __ATOMIC_ACQUIRE) @@ -31,11 +29,9 @@ index 1c8638bb44..bde66ae137 100644 +#endif #endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -index 6227dbf499..0609dbeeba 100644 --- a/sysdeps/unix/sysv/linux/arc/syscall.S +++ b/sysdeps/unix/sysv/linux/arc/syscall.S -@@ -24,8 +24,13 @@ ENTRY (syscall) +@@ -24,8 +24,13 @@ mov_s r1, r2 mov_s r2, r3 mov_s r3, r4 @@ -49,11 +45,9 @@ index 6227dbf499..0609dbeeba 100644 ARC_TRAP_INSN brhi r0, -4096, L (call_syscall_err) -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -index 8465a2f623..3faff27b1c 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h -@@ -128,7 +128,11 @@ L (call_syscall_err): ASM_LINE_SEP \ +@@ -128,7 +128,11 @@ mov r8, __NR_##syscall_name ASM_LINE_SEP \ ARC_TRAP_INSN ASM_LINE_SEP @@ -65,7 +59,7 @@ index 8465a2f623..3faff27b1c 100644 #else /* !__ASSEMBLER__ */ -@@ -139,7 +143,11 @@ extern long int __syscall_error (long int); +@@ -139,7 +143,11 @@ hidden_proto (__syscall_error) # endif @@ -77,6 +71,3 @@ index 8465a2f623..3faff27b1c 100644 # undef INTERNAL_SYSCALL_NCS # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ --- -2.16.2 - diff --git a/packages/glibc/2.34/0000-typedef-caddr.patch b/packages/glibc/2.34/0000-typedef-caddr.patch index 451884c..a328da1 100644 --- a/packages/glibc/2.34/0000-typedef-caddr.patch +++ b/packages/glibc/2.34/0000-typedef-caddr.patch @@ -4,7 +4,7 @@ --- a/posix/sys/types.h +++ b/posix/sys/types.h -@@ -112,7 +112,10 @@ typedef __ssize_t ssize_t; +@@ -112,7 +112,10 @@ #ifdef __USE_MISC # ifndef __daddr_t_defined typedef __daddr_t daddr_t; diff --git a/packages/glibc/2.34/0001-Add-ARC700-support.patch b/packages/glibc/2.34/0001-Add-ARC700-support.patch index 23c94a7..22ae16c 100644 --- a/packages/glibc/2.34/0001-Add-ARC700-support.patch +++ b/packages/glibc/2.34/0001-Add-ARC700-support.patch @@ -11,16 +11,14 @@ pieces. I looked at uClibc-ng and a patch by Synopsis for glibc. Signed-off-by: Rosen Penev Signed-off-by: Alexey Brodkin --- - sysdeps/arc/atomic-machine.h | 4 ++++ - sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ - sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ + sysdeps/arc/atomic-machine.h | 4 ++++ + sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ + sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ 3 files changed, 17 insertions(+) -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -index 1c8638bb44..bde66ae137 100644 --- a/sysdeps/arc/atomic-machine.h +++ b/sysdeps/arc/atomic-machine.h -@@ -64,6 +64,10 @@ typedef uintmax_t uatomic_max_t; +@@ -64,6 +64,10 @@ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ mem, new, old, __ATOMIC_ACQUIRE) @@ -31,11 +29,9 @@ index 1c8638bb44..bde66ae137 100644 +#endif #endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -index 6227dbf499..0609dbeeba 100644 --- a/sysdeps/unix/sysv/linux/arc/syscall.S +++ b/sysdeps/unix/sysv/linux/arc/syscall.S -@@ -24,8 +24,13 @@ ENTRY (syscall) +@@ -24,8 +24,13 @@ mov_s r1, r2 mov_s r2, r3 mov_s r3, r4 @@ -49,11 +45,9 @@ index 6227dbf499..0609dbeeba 100644 ARC_TRAP_INSN brhi r0, -4096, L (call_syscall_err) -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -index 8465a2f623..3faff27b1c 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h -@@ -128,7 +128,11 @@ L (call_syscall_err): ASM_LINE_SEP \ +@@ -128,7 +128,11 @@ mov r8, __NR_##syscall_name ASM_LINE_SEP \ ARC_TRAP_INSN ASM_LINE_SEP @@ -65,7 +59,7 @@ index 8465a2f623..3faff27b1c 100644 #else /* !__ASSEMBLER__ */ -@@ -139,7 +143,11 @@ extern long int __syscall_error (long int); +@@ -139,7 +143,11 @@ hidden_proto (__syscall_error) # endif @@ -77,6 +71,3 @@ index 8465a2f623..3faff27b1c 100644 # undef INTERNAL_SYSCALL_NCS # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ --- -2.16.2 - diff --git a/packages/glibc/2.35/0000-typedef-caddr.patch b/packages/glibc/2.35/0000-typedef-caddr.patch index 451884c..a328da1 100644 --- a/packages/glibc/2.35/0000-typedef-caddr.patch +++ b/packages/glibc/2.35/0000-typedef-caddr.patch @@ -4,7 +4,7 @@ --- a/posix/sys/types.h +++ b/posix/sys/types.h -@@ -112,7 +112,10 @@ typedef __ssize_t ssize_t; +@@ -112,7 +112,10 @@ #ifdef __USE_MISC # ifndef __daddr_t_defined typedef __daddr_t daddr_t; diff --git a/packages/glibc/2.35/0001-Add-ARC700-support.patch b/packages/glibc/2.35/0001-Add-ARC700-support.patch index 23c94a7..54729d8 100644 --- a/packages/glibc/2.35/0001-Add-ARC700-support.patch +++ b/packages/glibc/2.35/0001-Add-ARC700-support.patch @@ -11,16 +11,14 @@ pieces. I looked at uClibc-ng and a patch by Synopsis for glibc. Signed-off-by: Rosen Penev Signed-off-by: Alexey Brodkin --- - sysdeps/arc/atomic-machine.h | 4 ++++ - sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ - sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ + sysdeps/arc/atomic-machine.h | 4 ++++ + sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++ + sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++ 3 files changed, 17 insertions(+) -diff --git a/sysdeps/arc/atomic-machine.h b/sysdeps/arc/atomic-machine.h -index 1c8638bb44..bde66ae137 100644 --- a/sysdeps/arc/atomic-machine.h +++ b/sysdeps/arc/atomic-machine.h -@@ -64,6 +64,10 @@ typedef uintmax_t uatomic_max_t; +@@ -52,6 +52,10 @@ __atomic_val_bysize (__arch_compare_and_exchange_val, int, \ mem, new, old, __ATOMIC_ACQUIRE) @@ -31,11 +29,9 @@ index 1c8638bb44..bde66ae137 100644 +#endif #endif /* _ARC_BITS_ATOMIC_H */ -diff --git a/sysdeps/unix/sysv/linux/arc/syscall.S b/sysdeps/unix/sysv/linux/arc/syscall.S -index 6227dbf499..0609dbeeba 100644 --- a/sysdeps/unix/sysv/linux/arc/syscall.S +++ b/sysdeps/unix/sysv/linux/arc/syscall.S -@@ -24,8 +24,13 @@ ENTRY (syscall) +@@ -24,8 +24,13 @@ mov_s r1, r2 mov_s r2, r3 mov_s r3, r4 @@ -49,11 +45,9 @@ index 6227dbf499..0609dbeeba 100644 ARC_TRAP_INSN brhi r0, -4096, L (call_syscall_err) -diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h -index 8465a2f623..3faff27b1c 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h -@@ -128,7 +128,11 @@ L (call_syscall_err): ASM_LINE_SEP \ +@@ -128,7 +128,11 @@ mov r8, __NR_##syscall_name ASM_LINE_SEP \ ARC_TRAP_INSN ASM_LINE_SEP @@ -65,7 +59,7 @@ index 8465a2f623..3faff27b1c 100644 #else /* !__ASSEMBLER__ */ -@@ -139,7 +143,11 @@ extern long int __syscall_error (long int); +@@ -139,7 +143,11 @@ hidden_proto (__syscall_error) # endif @@ -77,6 +71,3 @@ index 8465a2f623..3faff27b1c 100644 # undef INTERNAL_SYSCALL_NCS # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ --- -2.16.2 - diff --git a/packages/glibc/2.35/0002-linux-Fix-missing-__convert_scm_timestamps-BZ-28860.patch b/packages/glibc/2.35/0002-linux-Fix-missing-__convert_scm_timestamps-BZ-28860.patch index 30cd1c4..71609df 100644 --- a/packages/glibc/2.35/0002-linux-Fix-missing-__convert_scm_timestamps-BZ-28860.patch +++ b/packages/glibc/2.35/0002-linux-Fix-missing-__convert_scm_timestamps-BZ-28860.patch @@ -10,11 +10,9 @@ always build it for __TIMESIZE != 64. It fixes build for architecture with 32 bit time_t support when configured with minimum kernel of 5.1. --- - sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 4 ++-- + sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c -index 82171bf325..dfc8c2beff 100644 --- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c +++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c @@ -16,9 +16,9 @@ @@ -29,6 +27,3 @@ index 82171bf325..dfc8c2beff 100644 # include # include # include --- -2.35.1 - diff --git a/packages/gmp/6.2.1/0000-Avoid-the-x18-register.patch b/packages/gmp/6.2.1/0000-Avoid-the-x18-register.patch index 5c1c232..02f1fd7 100644 --- a/packages/gmp/6.2.1/0000-Avoid-the-x18-register.patch +++ b/packages/gmp/6.2.1/0000-Avoid-the-x18-register.patch @@ -6,9 +6,22 @@ # Parent 63bce6cacb48d9a1ade560db5f6e5da073969a09 Avoid the x18 register since it is reserved on Darwin. -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aors_n.asm ---- a/mpn/arm64/aors_n.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/aors_n.asm Sun Nov 29 23:07:23 2020 +0100 +--- + mpn/arm64/aors_n.asm | 12 ++++++------ + mpn/arm64/aorsmul_1.asm | 13 +++++++++---- + mpn/arm64/aorsorrlshC_n.asm | 12 ++++++------ + mpn/arm64/cnd_aors_n.asm | 12 ++++++------ + mpn/arm64/logops_n.asm | 12 ++++++------ + mpn/arm64/lshift.asm | 10 +++++----- + mpn/arm64/lshiftc.asm | 10 +++++----- + mpn/arm64/mul_1.asm | 14 +++++++------- + mpn/arm64/rsh1aors_n.asm | 20 ++++++++++---------- + mpn/arm64/rshift.asm | 10 +++++----- + mpn/arm64/sqr_diag_addlsh1.asm | 10 +++++----- + 11 files changed, 70 insertions(+), 65 deletions(-) + +--- a/mpn/arm64/aors_n.asm ++++ b/mpn/arm64/aors_n.asm @@ -68,7 +68,7 @@ EPILOGUE() PROLOGUE(func_n) @@ -56,9 +69,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aors_n.asm L(end): ADDSUBC x12, x6, x10 ADDSUBC x13, x7, x11 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aorsmul_1.asm ---- a/mpn/arm64/aorsmul_1.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/aorsmul_1.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/aorsmul_1.asm ++++ b/mpn/arm64/aorsmul_1.asm @@ -32,10 +32,15 @@ include(`../config.m4') @@ -79,9 +91,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aorsmul_1.asm C NOTES C * It is possible to keep the carry chain alive between the addition blocks -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aorsorrlshC_n.asm ---- a/mpn/arm64/aorsorrlshC_n.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/aorsorrlshC_n.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/aorsorrlshC_n.asm ++++ b/mpn/arm64/aorsorrlshC_n.asm @@ -65,14 +65,14 @@ ASM_START() @@ -128,9 +139,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/aorsorrlshC_n.asm L(end): ldp x4, x5, [up,#16] extr x12, x10, x9, #RSH -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/cnd_aors_n.asm ---- a/mpn/arm64/cnd_aors_n.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/cnd_aors_n.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/cnd_aors_n.asm ++++ b/mpn/arm64/cnd_aors_n.asm @@ -65,7 +65,7 @@ CLRCY @@ -178,9 +188,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/cnd_aors_n.asm L(end): bic x6, x12, cnd bic x7, x13, cnd -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/logops_n.asm ---- a/mpn/arm64/logops_n.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/logops_n.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/logops_n.asm ++++ b/mpn/arm64/logops_n.asm @@ -78,7 +78,7 @@ ASM_START() @@ -228,9 +237,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/logops_n.asm L(end): LOGOP( x12, x6, x10) LOGOP( x13, x7, x11) -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/lshift.asm ---- a/mpn/arm64/lshift.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/lshift.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/lshift.asm ++++ b/mpn/arm64/lshift.asm @@ -61,7 +61,7 @@ add rp, rp_arg, n, lsl #3 add up, up, n, lsl #3 @@ -272,9 +280,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/lshift.asm L(end): orr x10, x10, x13 orr x11, x12, x2 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/lshiftc.asm ---- a/mpn/arm64/lshiftc.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/lshiftc.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/lshiftc.asm ++++ b/mpn/arm64/lshiftc.asm @@ -61,7 +61,7 @@ add rp, rp_arg, n, lsl #3 add up, up, n, lsl #3 @@ -316,9 +323,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/lshiftc.asm L(end): eon x10, x10, x13 eon x11, x12, x2 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/mul_1.asm ---- a/mpn/arm64/mul_1.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/mul_1.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/mul_1.asm ++++ b/mpn/arm64/mul_1.asm @@ -56,7 +56,7 @@ PROLOGUE(mpn_mul_1) @@ -368,9 +374,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/mul_1.asm L(end): mul x8, x4, v0 adcs x13, x9, x10 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/rsh1aors_n.asm ---- a/mpn/arm64/rsh1aors_n.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/rsh1aors_n.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/rsh1aors_n.asm ++++ b/mpn/arm64/rsh1aors_n.asm @@ -59,7 +59,7 @@ ASM_START() @@ -440,9 +445,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/rsh1aors_n.asm L(end): extr x16, x15, x14, #1 extr x17, x12, x15, #1 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/rshift.asm ---- a/mpn/arm64/rshift.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/rshift.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/rshift.asm ++++ b/mpn/arm64/rshift.asm @@ -60,7 +60,7 @@ PROLOGUE(mpn_rshift) mov rp, rp_arg @@ -484,9 +488,8 @@ diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/rshift.asm L(end): orr x10, x10, x13 orr x11, x12, x2 -diff -r 63bce6cacb48 -r f4ff6ff711ed mpn/arm64/sqr_diag_addlsh1.asm ---- a/mpn/arm64/sqr_diag_addlsh1.asm Sun Nov 15 10:25:36 2020 +0100 -+++ b/mpn/arm64/sqr_diag_addlsh1.asm Sun Nov 29 23:07:23 2020 +0100 +--- a/mpn/arm64/sqr_diag_addlsh1.asm ++++ b/mpn/arm64/sqr_diag_addlsh1.asm @@ -47,7 +47,7 @@ ASM_START() PROLOGUE(mpn_sqr_diag_addlsh1) diff --git a/packages/gnuprumcu/0.5.0/0000-HACK-Fix-paths-for-crosstool-ng.patch b/packages/gnuprumcu/0.5.0/0000-HACK-Fix-paths-for-crosstool-ng.patch new file mode 100644 index 0000000..f60280c --- /dev/null +++ b/packages/gnuprumcu/0.5.0/0000-HACK-Fix-paths-for-crosstool-ng.patch @@ -0,0 +1,34 @@ +From b045b2c65e26153813abadc2d065afdd52612fb0 Mon Sep 17 00:00:00 2001 +From: Dimitar Dimitrov +Date: Fri, 15 Jan 2021 18:52:09 +0200 +Subject: [PATCH] HACK: Fix paths for crosstool-ng + +For some reason crosstool-ng modifies the default +binutils/ld path for ldscripts. Align our respective +path. + +Signed-off-by: Dimitar Dimitrov +--- + ldscripts/Makefile.am | 2 +- + ldscripts/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/ldscripts/Makefile.am ++++ b/ldscripts/Makefile.am +@@ -47,4 +47,4 @@ + pruelf-tda4vm.icssg1.tx_pru1.x + + +-prudir = $(exec_prefix)/$(target_alias)/lib ++prudir = $(libdir) +--- a/ldscripts/Makefile.in ++++ b/ldscripts/Makefile.in +@@ -300,7 +300,7 @@ + pruelf-tda4vm.icssg1.tx_pru0.x \ + pruelf-tda4vm.icssg1.tx_pru1.x + +-prudir = $(exec_prefix)/$(target_alias)/lib ++prudir = $(libdir) + all: all-am + + .SUFFIXES: diff --git a/packages/gnuprumcu/0.5.0/0001-HACK-Fix-paths-for-crosstool-ng.patch b/packages/gnuprumcu/0.5.0/0001-HACK-Fix-paths-for-crosstool-ng.patch deleted file mode 100644 index e251180..0000000 --- a/packages/gnuprumcu/0.5.0/0001-HACK-Fix-paths-for-crosstool-ng.patch +++ /dev/null @@ -1,41 +0,0 @@ -From b045b2c65e26153813abadc2d065afdd52612fb0 Mon Sep 17 00:00:00 2001 -From: Dimitar Dimitrov -Date: Fri, 15 Jan 2021 18:52:09 +0200 -Subject: [PATCH] HACK: Fix paths for crosstool-ng - -For some reason crosstool-ng modifies the default -binutils/ld path for ldscripts. Align our respective -path. - -Signed-off-by: Dimitar Dimitrov ---- - ldscripts/Makefile.am | 2 +- - ldscripts/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ldscripts/Makefile.am b/ldscripts/Makefile.am -index 23c5903..b6984d5 100644 ---- a/ldscripts/Makefile.am -+++ b/ldscripts/Makefile.am -@@ -47,4 +47,4 @@ dist_pru_DATA = \ - pruelf-tda4vm.icssg1.tx_pru1.x - - --prudir = $(exec_prefix)/$(target_alias)/lib -+prudir = $(libdir) -diff --git a/ldscripts/Makefile.in b/ldscripts/Makefile.in -index b58975f..b7aecd2 100644 ---- a/ldscripts/Makefile.in -+++ b/ldscripts/Makefile.in -@@ -300,7 +300,7 @@ dist_pru_DATA = \ - pruelf-tda4vm.icssg1.tx_pru0.x \ - pruelf-tda4vm.icssg1.tx_pru1.x - --prudir = $(exec_prefix)/$(target_alias)/lib -+prudir = $(libdir) - all: all-am - - .SUFFIXES: --- -2.20.1 - diff --git a/packages/ltrace/0.7.3/0008-mips-printf-format.patch b/packages/ltrace/0.7.3/0008-mips-printf-format.patch index 6875392..c5568e2 100644 --- a/packages/ltrace/0.7.3/0008-mips-printf-format.patch +++ b/packages/ltrace/0.7.3/0008-mips-printf-format.patch @@ -1,6 +1,9 @@ -diff -Naur ltrace-0.7.3-orig/sysdeps/linux-gnu/mips/plt.c ltrace-0.7.3/sysdeps/linux-gnu/mips/plt.c ---- ltrace-0.7.3-orig/sysdeps/linux-gnu/mips/plt.c 2013-09-17 11:04:28.000000000 +1200 -+++ ltrace-0.7.3/sysdeps/linux-gnu/mips/plt.c 2021-04-14 22:05:45.950413823 +1200 +--- + sysdeps/linux-gnu/mips/plt.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/sysdeps/linux-gnu/mips/plt.c ++++ b/sysdeps/linux-gnu/mips/plt.c @@ -356,8 +356,8 @@ name = strdup(a_name); diff --git a/packages/mingw-w64/v8.0.2/0000-mingw64-malloc.patch b/packages/mingw-w64/v8.0.2/0000-mingw64-malloc.patch index 835be63..8e0add1 100644 --- a/packages/mingw-w64/v8.0.2/0000-mingw64-malloc.patch +++ b/packages/mingw-w64/v8.0.2/0000-mingw64-malloc.patch @@ -1,7 +1,7 @@ --- mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+), 0 deletions(-) + 2 files changed, 5 insertions(+) --- a/mingw-w64-tools/genidl/src/genidl_cfg.h +++ b/mingw-w64-tools/genidl/src/genidl_cfg.h @@ -27,3 +27,4 @@ +#include #include #include + diff --git a/packages/mingw-w64/v9.0.0/0000-mingw64-malloc.patch b/packages/mingw-w64/v9.0.0/0000-mingw64-malloc.patch index 835be63..8e0add1 100644 --- a/packages/mingw-w64/v9.0.0/0000-mingw64-malloc.patch +++ b/packages/mingw-w64/v9.0.0/0000-mingw64-malloc.patch @@ -1,7 +1,7 @@ --- mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+), 0 deletions(-) + 2 files changed, 5 insertions(+) --- a/mingw-w64-tools/genidl/src/genidl_cfg.h +++ b/mingw-w64-tools/genidl/src/genidl_cfg.h @@ -27,3 +27,4 @@ +#include #include #include + diff --git a/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch b/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch new file mode 100644 index 0000000..4b3ecbd --- /dev/null +++ b/packages/picolibc/1.4.7/0000-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch @@ -0,0 +1,150 @@ +From 2adb30bd8e64bf06fb5366585e305c28c4325e01 Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Tue, 3 Nov 2020 16:36:48 -0800 +Subject: [PATCH] tinystdio: Make ungetc buffer type purely + architecture-specific + +Instead of attempting to figure out what type this object should be +based on compiler support for atomics, just make it 32-bits on RISC-V +when using atomic ungetc, otherwise make it 16-bits, then select +whether there are 'real' atomics based on compiler support for the +chosen type, which may depend on the compiler options used to build +the library. + +This ensures that the picolibc ABI is consistent for each +architecture. + +This also removes the use of stdatomic.h from stdio.h, which isn't +supported by C++. + +Signed-off-by: Keith Packard +--- + newlib/libc/tinystdio/exchange.c | 2 - + newlib/libc/tinystdio/stdio.h | 39 +++++++++++++--------------------- + newlib/libc/tinystdio/stdio_private.h | 24 ++++++++++++++------ + 3 files changed, 34 insertions(+), 31 deletions(-) + +--- a/newlib/libc/tinystdio/exchange.c ++++ b/newlib/libc/tinystdio/exchange.c +@@ -39,7 +39,7 @@ + #if defined(ATOMIC_UNGETC) && !defined(PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP) + + __ungetc_t +-__picolibc_non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) ++__picolibc_non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) + { + return __non_atomic_exchange_ungetc(p, v); + } +--- a/newlib/libc/tinystdio/stdio.h ++++ b/newlib/libc/tinystdio/stdio.h +@@ -224,38 +224,31 @@ + * elements of it beyond by using the official interfaces provided. + */ + +-/* Use 32-bit ungetc storage when doing atomic ungetc and when +- * the platform has 4-byte swap intrinsics but not 2-byte swap +- * intrinsics, as is the case for RISC-V processors. This increases +- * the size of the __file struct by four bytes. +- */ +- + #ifdef ATOMIC_UNGETC +-#include +-# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 +- +-# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP +-typedef atomic_uint_least32_t __ungetc_store_t; +-typedef uint_least32_t __ungetc_t; +- +-# else +-# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 ++#ifdef __riscv ++/* ++ * Use 32-bit ungetc storage when doing atomic ungetc on RISC-V, which ++ * has 4-byte swap intrinsics but not 2-byte swap intrinsics. This ++ * increases the size of the __file struct by four bytes. ++ */ ++#define __PICOLIBC_UNGETC_SIZE 4 ++#endif ++#endif + +-# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP +-typedef atomic_uint_least16_t __ungetc_store_t; +-typedef uint_least16_t __ungetc_t; ++#ifndef __PICOLIBC_UNGETC_SIZE ++#define __PICOLIBC_UNGETC_SIZE 2 ++#endif + +-# endif +-# endif ++#if __PICOLIBC_UNGETC_SIZE == 4 ++typedef uint32_t __ungetc_t; + #endif + +-#ifndef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP +-typedef uint16_t __ungetc_store_t; ++#if __PICOLIBC_UNGETC_SIZE == 2 + typedef uint16_t __ungetc_t; + #endif + + struct __file { +- __ungetc_store_t unget; /* ungetc() buffer */ ++ __ungetc_t unget; /* ungetc() buffer */ + uint8_t flags; /* flags, see below */ + #define __SRD 0x0001 /* OK to read */ + #define __SWR 0x0002 /* OK to write */ +--- a/newlib/libc/tinystdio/stdio_private.h ++++ b/newlib/libc/tinystdio/stdio_private.h +@@ -141,7 +141,7 @@ + __atof_engine(uint32_t m10, int e10); + + static inline uint16_t +-__non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) ++__non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) + { + __ungetc_t e = *p; + *p = v; +@@ -159,28 +159,38 @@ + + #ifdef ATOMIC_UNGETC + ++#if __PICOLIBC_UNGETC_SIZE == 4 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) ++#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP ++#endif ++ ++#if __PICOLIBC_UNGETC_SIZE == 2 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) ++#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP ++#endif ++ + #ifdef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP + + /* Use built-in atomic functions if they exist */ + #include + static inline bool +-__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v) ++__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v) + { +- return atomic_compare_exchange_weak(p, &d, v); ++ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p; ++ return atomic_compare_exchange_weak(pa, &d, v); + } + static inline __ungetc_t +-__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) ++__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) + { +- return atomic_exchange_explicit(p, v, memory_order_relaxed); ++ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p; ++ return atomic_exchange_explicit(pa, v, memory_order_relaxed); + } + + #else + + bool +-__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v); ++__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v); + + __ungetc_t +-__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v); ++__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v); + + #endif /* PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP */ + diff --git a/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch b/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch new file mode 100644 index 0000000..233eafa --- /dev/null +++ b/packages/picolibc/1.4.7/0001-Add-ARM-exception-information-to-link-rules.patch @@ -0,0 +1,31 @@ +From 9c39c93d4897c9ee1659dd6df7433d097a84be4a Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Wed, 4 Nov 2020 17:36:14 -0800 +Subject: [PATCH] Add ARM exception information to link rules + +Place any ARM exeception information in ROM for C++ support. + +Signed-off-by: Keith Packard +--- + picolibc.ld | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/picolibc.ld ++++ b/picolibc.ld +@@ -94,6 +94,16 @@ + *(.got .got.*) + } >flash AT>flash :text + ++ .ARM.extab : { ++ *(.ARM.extab* .gnu.linkonce.armextab.*) ++ } >flash AT>flash :text ++ ++ PROVIDE (__exidx_start = .); ++ .ARM.exidx : { ++ *(.ARM.exidx*) ++ } >flash AT>flash :text ++ PROVIDE(__exidx_end = .); ++ + . = ALIGN(8); + + .preinit_array : { diff --git a/packages/picolibc/1.4.7/0001-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch b/packages/picolibc/1.4.7/0001-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch deleted file mode 100644 index 0bedf41..0000000 --- a/packages/picolibc/1.4.7/0001-tinystdio-Make-ungetc-buffer-type-purely-architectur.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 2adb30bd8e64bf06fb5366585e305c28c4325e01 Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Tue, 3 Nov 2020 16:36:48 -0800 -Subject: [PATCH] tinystdio: Make ungetc buffer type purely - architecture-specific - -Instead of attempting to figure out what type this object should be -based on compiler support for atomics, just make it 32-bits on RISC-V -when using atomic ungetc, otherwise make it 16-bits, then select -whether there are 'real' atomics based on compiler support for the -chosen type, which may depend on the compiler options used to build -the library. - -This ensures that the picolibc ABI is consistent for each -architecture. - -This also removes the use of stdatomic.h from stdio.h, which isn't -supported by C++. - -Signed-off-by: Keith Packard ---- - newlib/libc/tinystdio/exchange.c | 2 +- - newlib/libc/tinystdio/stdio.h | 39 +++++++++++---------------- - newlib/libc/tinystdio/stdio_private.h | 24 ++++++++++++----- - 3 files changed, 34 insertions(+), 31 deletions(-) - -diff --git a/newlib/libc/tinystdio/exchange.c b/newlib/libc/tinystdio/exchange.c -index 1272ae36e..e8c785f8a 100644 ---- a/newlib/libc/tinystdio/exchange.c -+++ b/newlib/libc/tinystdio/exchange.c -@@ -39,7 +39,7 @@ - #if defined(ATOMIC_UNGETC) && !defined(PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP) - - __ungetc_t --__picolibc_non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) -+__picolibc_non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) - { - return __non_atomic_exchange_ungetc(p, v); - } -diff --git a/newlib/libc/tinystdio/stdio.h b/newlib/libc/tinystdio/stdio.h -index 1e36f73e9..8bc0f8843 100644 ---- a/newlib/libc/tinystdio/stdio.h -+++ b/newlib/libc/tinystdio/stdio.h -@@ -224,38 +224,31 @@ - * elements of it beyond by using the official interfaces provided. - */ - --/* Use 32-bit ungetc storage when doing atomic ungetc and when -- * the platform has 4-byte swap intrinsics but not 2-byte swap -- * intrinsics, as is the case for RISC-V processors. This increases -- * the size of the __file struct by four bytes. -- */ -- - #ifdef ATOMIC_UNGETC --#include --# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -- --# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP --typedef atomic_uint_least32_t __ungetc_store_t; --typedef uint_least32_t __ungetc_t; -- --# else --# ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -+#ifdef __riscv -+/* -+ * Use 32-bit ungetc storage when doing atomic ungetc on RISC-V, which -+ * has 4-byte swap intrinsics but not 2-byte swap intrinsics. This -+ * increases the size of the __file struct by four bytes. -+ */ -+#define __PICOLIBC_UNGETC_SIZE 4 -+#endif -+#endif - --# define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP --typedef atomic_uint_least16_t __ungetc_store_t; --typedef uint_least16_t __ungetc_t; -+#ifndef __PICOLIBC_UNGETC_SIZE -+#define __PICOLIBC_UNGETC_SIZE 2 -+#endif - --# endif --# endif -+#if __PICOLIBC_UNGETC_SIZE == 4 -+typedef uint32_t __ungetc_t; - #endif - --#ifndef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP --typedef uint16_t __ungetc_store_t; -+#if __PICOLIBC_UNGETC_SIZE == 2 - typedef uint16_t __ungetc_t; - #endif - - struct __file { -- __ungetc_store_t unget; /* ungetc() buffer */ -+ __ungetc_t unget; /* ungetc() buffer */ - uint8_t flags; /* flags, see below */ - #define __SRD 0x0001 /* OK to read */ - #define __SWR 0x0002 /* OK to write */ -diff --git a/newlib/libc/tinystdio/stdio_private.h b/newlib/libc/tinystdio/stdio_private.h -index b8ec66864..1a8b77dc9 100644 ---- a/newlib/libc/tinystdio/stdio_private.h -+++ b/newlib/libc/tinystdio/stdio_private.h -@@ -141,7 +141,7 @@ float - __atof_engine(uint32_t m10, int e10); - - static inline uint16_t --__non_atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) -+__non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) - { - __ungetc_t e = *p; - *p = v; -@@ -159,28 +159,38 @@ __non_atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v) - - #ifdef ATOMIC_UNGETC - -+#if __PICOLIBC_UNGETC_SIZE == 4 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) -+#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP -+#endif -+ -+#if __PICOLIBC_UNGETC_SIZE == 2 && defined (__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) -+#define PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP -+#endif -+ - #ifdef PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP - - /* Use built-in atomic functions if they exist */ - #include - static inline bool --__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v) -+__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v) - { -- return atomic_compare_exchange_weak(p, &d, v); -+ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p; -+ return atomic_compare_exchange_weak(pa, &d, v); - } - static inline __ungetc_t --__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v) -+__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) - { -- return atomic_exchange_explicit(p, v, memory_order_relaxed); -+ _Atomic __ungetc_t *pa = (_Atomic __ungetc_t *) p; -+ return atomic_exchange_explicit(pa, v, memory_order_relaxed); - } - - #else - - bool --__atomic_compare_exchange_ungetc(__ungetc_store_t *p, __ungetc_t d, __ungetc_t v); -+__atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v); - - __ungetc_t --__atomic_exchange_ungetc(__ungetc_store_t *p, __ungetc_t v); -+__atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v); - - #endif /* PICOLIBC_HAVE_SYNC_COMPARE_AND_SWAP */ - --- -2.29.1 - diff --git a/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch b/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch deleted file mode 100644 index 7fd254d..0000000 --- a/packages/picolibc/1.4.7/0002-Add-ARM-exception-information-to-link-rules.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9c39c93d4897c9ee1659dd6df7433d097a84be4a Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Wed, 4 Nov 2020 17:36:14 -0800 -Subject: [PATCH] Add ARM exception information to link rules - -Place any ARM exeception information in ROM for C++ support. - -Signed-off-by: Keith Packard ---- - picolibc.ld | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/picolibc.ld b/picolibc.ld -index 6d14b396f..ff60fe3a3 100644 ---- a/picolibc.ld -+++ b/picolibc.ld -@@ -94,6 +94,16 @@ SECTIONS - *(.got .got.*) - } >flash AT>flash :text - -+ .ARM.extab : { -+ *(.ARM.extab* .gnu.linkonce.armextab.*) -+ } >flash AT>flash :text -+ -+ PROVIDE (__exidx_start = .); -+ .ARM.exidx : { -+ *(.ARM.exidx*) -+ } >flash AT>flash :text -+ PROVIDE(__exidx_end = .); -+ - . = ALIGN(8); - - .preinit_array : { --- -2.28.0 - diff --git a/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch b/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch new file mode 100644 index 0000000..267e1b2 --- /dev/null +++ b/packages/picolibc/1.4.7/0002-Add-picolibc-include-directory-to-cc1plus-spec.patch @@ -0,0 +1,26 @@ +From 1f6b3ddcbba7432a5b2f1061f24297989d6ce791 Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Mon, 9 Nov 2020 13:02:44 -0800 +Subject: [PATCH] Add picolibc include directory to cc1plus spec + +G++ doesn't use the cpp spec to add include directories, so we need to +add the picolibc include directory to the cc1plus spec element as well +as the cpp one. To make sure the libstdc++ headers can use +GCC-provided header directories, so use -idirafter instead of -isystem. + +Signed-off-by: Keith Packard +--- + picolibc.specs.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/picolibc.specs.in ++++ b/picolibc.specs.in +@@ -10,7 +10,7 @@ + @TLSMODEL@ %(picolibc_cc1) @CC1_SPEC@ + + *cc1plus: +-@TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@ ++-idirafter @INCLUDEDIR@ @TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@ + + *link: + @SPECS_PRINTF@ -L@LIBDIR@/%M -L@LIBDIR@ %{!T:-Tpicolibc.ld} %(picolibc_link) --gc-sections @LINK_SPEC@ diff --git a/packages/picolibc/1.4.7/0003-Add-picolibc-include-directory-to-cc1plus-spec.patch b/packages/picolibc/1.4.7/0003-Add-picolibc-include-directory-to-cc1plus-spec.patch deleted file mode 100644 index 885c0c7..0000000 --- a/packages/picolibc/1.4.7/0003-Add-picolibc-include-directory-to-cc1plus-spec.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1f6b3ddcbba7432a5b2f1061f24297989d6ce791 Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Mon, 9 Nov 2020 13:02:44 -0800 -Subject: [PATCH] Add picolibc include directory to cc1plus spec - -G++ doesn't use the cpp spec to add include directories, so we need to -add the picolibc include directory to the cc1plus spec element as well -as the cpp one. To make sure the libstdc++ headers can use -GCC-provided header directories, so use -idirafter instead of -isystem. - -Signed-off-by: Keith Packard ---- - picolibc.specs.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/picolibc.specs.in b/picolibc.specs.in -index c1f916a6f..133e65db9 100644 ---- a/picolibc.specs.in -+++ b/picolibc.specs.in -@@ -10,7 +10,7 @@ - @TLSMODEL@ %(picolibc_cc1) @CC1_SPEC@ - - *cc1plus: --@TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@ -+-idirafter @INCLUDEDIR@ @TLSMODEL@ %(picolibc_cc1plus) @CC1_SPEC@ @CC1PLUS_SPEC@ - - *link: - @SPECS_PRINTF@ -L@LIBDIR@/%M -L@LIBDIR@ %{!T:-Tpicolibc.ld} %(picolibc_link) --gc-sections @LINK_SPEC@ --- -2.28.0 - diff --git a/packages/picolibc/1.5.1/0000-libc-Remove-include-sys-select.h-from-sys-types.h.patch b/packages/picolibc/1.5.1/0000-libc-Remove-include-sys-select.h-from-sys-types.h.patch new file mode 100644 index 0000000..658d2e4 --- /dev/null +++ b/packages/picolibc/1.5.1/0000-libc-Remove-include-sys-select.h-from-sys-types.h.patch @@ -0,0 +1,25 @@ +From 9d0640874425e9f3f265c9baff7a47139b25ea7d Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Thu, 14 Jan 2021 17:54:22 -0800 +Subject: [PATCH 1/2] libc: Remove #include from sys/types.h + +picolibc's sys/select.h is likely to be replaced by the underlying +operating system version (as it is on Zephyr). Don't include it from +sys/types.h as that version may depend on other definitions in +sys/types.h which haven't yet been defined. + +Signed-off-by: Keith Packard +--- + newlib/libc/include/sys/types.h | 1 - + 1 file changed, 1 deletion(-) + +--- a/newlib/libc/include/sys/types.h ++++ b/newlib/libc/include/sys/types.h +@@ -75,7 +75,6 @@ + + #if __BSD_VISIBLE + #include +-#include + # define physadr physadr_t + # define quad quad_t + diff --git a/packages/picolibc/1.5.1/0001-libc-Remove-include-sys-select.h-from-sys-types.h.patch b/packages/picolibc/1.5.1/0001-libc-Remove-include-sys-select.h-from-sys-types.h.patch deleted file mode 100644 index 5536cd4..0000000 --- a/packages/picolibc/1.5.1/0001-libc-Remove-include-sys-select.h-from-sys-types.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9d0640874425e9f3f265c9baff7a47139b25ea7d Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Thu, 14 Jan 2021 17:54:22 -0800 -Subject: [PATCH 1/2] libc: Remove #include from sys/types.h - -picolibc's sys/select.h is likely to be replaced by the underlying -operating system version (as it is on Zephyr). Don't include it from -sys/types.h as that version may depend on other definitions in -sys/types.h which haven't yet been defined. - -Signed-off-by: Keith Packard ---- - newlib/libc/include/sys/types.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h -index ea25222c2..1a0abcb83 100644 ---- a/newlib/libc/include/sys/types.h -+++ b/newlib/libc/include/sys/types.h -@@ -75,7 +75,6 @@ typedef __intptr_t register_t; - - #if __BSD_VISIBLE - #include --#include - # define physadr physadr_t - # define quad quad_t - --- -2.30.0 - diff --git a/packages/picolibc/1.5.1/0001-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch b/packages/picolibc/1.5.1/0001-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch new file mode 100644 index 0000000..911788a --- /dev/null +++ b/packages/picolibc/1.5.1/0001-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch @@ -0,0 +1,70 @@ +From 9df2d784439720abbf67fa96c6515a5c4a9f230a Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Thu, 14 Jan 2021 18:48:44 -0800 +Subject: [PATCH 2/2] tinystdio: Fix snprintf(buf, 0, ...) to not smash buffer + +snprintf(buf, 0) should not write anything to the destination, not +even a trailing '\0'. The tinystdio implementation had a signed +comparison bug where this case would cause a null to be placed in the +output buffer at the size of the data that would have been written. + +Add a test to make sure snprintf respects the 'len' parameter +correctly. + +Signed-off-by: Keith Packard +--- + newlib/libc/tinystdio/snprintf.c | 2 +- + test/printf_scanf.c | 31 +++++++++++++++++++++++++++++++ + 2 files changed, 32 insertions(+), 1 deletion(-) + +--- a/newlib/libc/tinystdio/snprintf.c ++++ b/newlib/libc/tinystdio/snprintf.c +@@ -56,7 +56,7 @@ + i = vfprintf(&f.file, fmt, ap); + va_end(ap); + +- if (n >= 0 && i >= 0) ++ if ((int) n >= 0 && i >= 0) + s[i < n ? i : n] = 0; + + return i; +--- a/test/printf_scanf.c ++++ b/test/printf_scanf.c +@@ -96,6 +96,37 @@ + fflush(stdout); + } + #endif ++ ++ /* ++ * test snprintf to make sure it doesn't overwrite the specified buffer ++ * length (even if that is zero) ++ */ ++ for (x = 0; x <= 6; x++) { ++ char tbuf[10] = "xxxxxxxxx"; ++ const char ref[10] = "xxxxxxxxx"; ++ int i = snprintf(tbuf, x, "%s", "123"); ++ int y = x <= 4 ? x : 4; ++ if (i != 3) { ++ printf("snprintf(tbuf, %d, \"%%s\", \"123\") return %d instead of %d\n", ++ x, i, 3); ++ errors++; ++ } ++ int l = strlen(tbuf); ++ if (y > 0 && l != y - 1) { ++ printf("returned buffer len want %d got %d\n", y - 1, l); ++ errors++; ++ } ++ if (y > 0 && strncmp(tbuf, "123", y - 1) != 0) { ++ strncpy(buf, "123", y - 1); ++ buf[y-1] = '\0'; ++ printf("returned buffer want %s got %s\n", buf, tbuf); ++ errors++; ++ } ++ if (memcmp(tbuf + y, ref + y, sizeof(tbuf) - y) != 0) { ++ printf("tail of buf mangled %s\n", tbuf + y); ++ errors++; ++ } ++ } + for (x = 0; x < 32; x++) { + unsigned int v = 0x12345678 >> x; + unsigned int r; diff --git a/packages/picolibc/1.5.1/0002-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch b/packages/picolibc/1.5.1/0002-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch new file mode 100644 index 0000000..a3e0544 --- /dev/null +++ b/packages/picolibc/1.5.1/0002-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch @@ -0,0 +1,103 @@ +From f0c62653bbcf68291a7dd621db367a9fef666183 Mon Sep 17 00:00:00 2001 +From: Keith Packard +Date: Sun, 24 Jan 2021 15:27:14 -0800 +Subject: [PATCH 3/3] libc: Expose wchar stdio prototypes even for TINY_STDIO + +This makes libstdc++ happy when wrapping these names, even though they +aren't actually available for appplications. + +Signed-off-by: Keith Packard +--- + newlib/libc/include/wchar.h | 39 ++++++++++++++++++++------------------- + 1 file changed, 20 insertions(+), 19 deletions(-) + +--- a/newlib/libc/include/wchar.h ++++ b/newlib/libc/include/wchar.h +@@ -217,8 +217,6 @@ + long double wcstold_l (const wchar_t *, wchar_t **, locale_t); + #endif + +-#ifndef TINY_STDIO +- + wint_t fgetwc (__FILE *); + wchar_t *fgetws (wchar_t *__restrict, int, __FILE *__restrict); + wint_t fputwc (wchar_t, __FILE *); +@@ -232,6 +230,8 @@ + wint_t putwchar (wchar_t); + wint_t ungetwc (wint_t wc, __FILE *); + ++#ifndef TINY_STDIO ++ + struct _reent; + + wint_t _fgetwc_r (struct _reent *, __FILE *); +@@ -253,6 +253,24 @@ + wint_t _putwchar_unlocked_r (struct _reent *, wchar_t); + wint_t _ungetwc_r (struct _reent *, wint_t wc, __FILE *); + ++int _fwprintf_r (struct _reent *, __FILE *, const wchar_t *, ...); ++int _swprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, ...); ++int _vfwprintf_r (struct _reent *, __FILE *, const wchar_t *, va_list); ++int _vswprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, va_list); ++int _vwprintf_r (struct _reent *, const wchar_t *, va_list); ++int _wprintf_r (struct _reent *, const wchar_t *, ...); ++ ++int _fwscanf_r (struct _reent *, __FILE *, const wchar_t *, ...); ++int _swscanf_r (struct _reent *, const wchar_t *, const wchar_t *, ...); ++int _vfwscanf_r (struct _reent *, __FILE *, const wchar_t *, va_list); ++int _vswscanf_r (struct _reent *, const wchar_t *, const wchar_t *, va_list); ++int _vwscanf_r (struct _reent *, const wchar_t *, va_list); ++int _wscanf_r (struct _reent *, const wchar_t *, ...); ++ ++__FILE *_open_wmemstream_r (struct _reent *, wchar_t **, size_t *); ++ ++#endif ++ + #if __GNU_VISIBLE + wint_t fgetwc_unlocked (__FILE *); + wchar_t *fgetws_unlocked (wchar_t *__restrict, int, __FILE *__restrict); +@@ -267,7 +285,6 @@ + #if __POSIX_VISIBLE >= 200809 + __FILE *open_wmemstream (wchar_t **, size_t *); + #endif +-__FILE *_open_wmemstream_r (struct _reent *, wchar_t **, size_t *); + + #if __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE >= 500 + int fwprintf (__FILE *__restrict, const wchar_t *__restrict, ...); +@@ -281,13 +298,6 @@ + int wprintf (const wchar_t *__restrict, ...); + #endif + +-int _fwprintf_r (struct _reent *, __FILE *, const wchar_t *, ...); +-int _swprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, ...); +-int _vfwprintf_r (struct _reent *, __FILE *, const wchar_t *, va_list); +-int _vswprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, va_list); +-int _vwprintf_r (struct _reent *, const wchar_t *, va_list); +-int _wprintf_r (struct _reent *, const wchar_t *, ...); +- + #if __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE >= 500 + int fwscanf (__FILE *__restrict, const wchar_t *__restrict, ...); + int swscanf (const wchar_t *__restrict, +@@ -300,13 +310,6 @@ + int wscanf (const wchar_t *__restrict, ...); + #endif + +-int _fwscanf_r (struct _reent *, __FILE *, const wchar_t *, ...); +-int _swscanf_r (struct _reent *, const wchar_t *, const wchar_t *, ...); +-int _vfwscanf_r (struct _reent *, __FILE *, const wchar_t *, va_list); +-int _vswscanf_r (struct _reent *, const wchar_t *, const wchar_t *, va_list); +-int _vwscanf_r (struct _reent *, const wchar_t *, va_list); +-int _wscanf_r (struct _reent *, const wchar_t *, ...); +- + #define getwc(fp) fgetwc(fp) + #define putwc(wc,fp) fputwc((wc), (fp)) + #define getwchar() fgetwc(stdin) +@@ -319,8 +322,6 @@ + #define putwchar_unlocked(wc) fputwc_unlocked((wc), stdout) + #endif + +-#endif /* !TINY_STDIO */ +- + _END_STD_C + + #if __SSP_FORTIFY_LEVEL > 0 diff --git a/packages/picolibc/1.5.1/0002-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch b/packages/picolibc/1.5.1/0002-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch deleted file mode 100644 index 754957e..0000000 --- a/packages/picolibc/1.5.1/0002-tinystdio-Fix-snprintf-buf-0-.-to-not-smash-buffer.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 9df2d784439720abbf67fa96c6515a5c4a9f230a Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Thu, 14 Jan 2021 18:48:44 -0800 -Subject: [PATCH 2/2] tinystdio: Fix snprintf(buf, 0, ...) to not smash buffer - -snprintf(buf, 0) should not write anything to the destination, not -even a trailing '\0'. The tinystdio implementation had a signed -comparison bug where this case would cause a null to be placed in the -output buffer at the size of the data that would have been written. - -Add a test to make sure snprintf respects the 'len' parameter -correctly. - -Signed-off-by: Keith Packard ---- - newlib/libc/tinystdio/snprintf.c | 2 +- - test/printf_scanf.c | 31 +++++++++++++++++++++++++++++++ - 2 files changed, 32 insertions(+), 1 deletion(-) - -diff --git a/newlib/libc/tinystdio/snprintf.c b/newlib/libc/tinystdio/snprintf.c -index 52d2f84d3..1052c9338 100644 ---- a/newlib/libc/tinystdio/snprintf.c -+++ b/newlib/libc/tinystdio/snprintf.c -@@ -56,7 +56,7 @@ snprintf(char *s, size_t n, const char *fmt, ...) - i = vfprintf(&f.file, fmt, ap); - va_end(ap); - -- if (n >= 0 && i >= 0) -+ if ((int) n >= 0 && i >= 0) - s[i < n ? i : n] = 0; - - return i; -diff --git a/test/printf_scanf.c b/test/printf_scanf.c -index 2bc83e1d0..f89f46e4f 100644 ---- a/test/printf_scanf.c -+++ b/test/printf_scanf.c -@@ -96,6 +96,37 @@ main(int argc, char **argv) - fflush(stdout); - } - #endif -+ -+ /* -+ * test snprintf to make sure it doesn't overwrite the specified buffer -+ * length (even if that is zero) -+ */ -+ for (x = 0; x <= 6; x++) { -+ char tbuf[10] = "xxxxxxxxx"; -+ const char ref[10] = "xxxxxxxxx"; -+ int i = snprintf(tbuf, x, "%s", "123"); -+ int y = x <= 4 ? x : 4; -+ if (i != 3) { -+ printf("snprintf(tbuf, %d, \"%%s\", \"123\") return %d instead of %d\n", -+ x, i, 3); -+ errors++; -+ } -+ int l = strlen(tbuf); -+ if (y > 0 && l != y - 1) { -+ printf("returned buffer len want %d got %d\n", y - 1, l); -+ errors++; -+ } -+ if (y > 0 && strncmp(tbuf, "123", y - 1) != 0) { -+ strncpy(buf, "123", y - 1); -+ buf[y-1] = '\0'; -+ printf("returned buffer want %s got %s\n", buf, tbuf); -+ errors++; -+ } -+ if (memcmp(tbuf + y, ref + y, sizeof(tbuf) - y) != 0) { -+ printf("tail of buf mangled %s\n", tbuf + y); -+ errors++; -+ } -+ } - for (x = 0; x < 32; x++) { - unsigned int v = 0x12345678 >> x; - unsigned int r; --- -2.30.0 - diff --git a/packages/picolibc/1.5.1/0003-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch b/packages/picolibc/1.5.1/0003-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch deleted file mode 100644 index 5e1c5a8..0000000 --- a/packages/picolibc/1.5.1/0003-libc-Expose-wchar-stdio-prototypes-even-for-TINY_STD.patch +++ /dev/null @@ -1,108 +0,0 @@ -From f0c62653bbcf68291a7dd621db367a9fef666183 Mon Sep 17 00:00:00 2001 -From: Keith Packard -Date: Sun, 24 Jan 2021 15:27:14 -0800 -Subject: [PATCH 3/3] libc: Expose wchar stdio prototypes even for TINY_STDIO - -This makes libstdc++ happy when wrapping these names, even though they -aren't actually available for appplications. - -Signed-off-by: Keith Packard ---- - newlib/libc/include/wchar.h | 39 +++++++++++++++++++------------------ - 1 file changed, 20 insertions(+), 19 deletions(-) - -diff --git a/newlib/libc/include/wchar.h b/newlib/libc/include/wchar.h -index 8a9c4b0fe..5dc3af93c 100644 ---- a/newlib/libc/include/wchar.h -+++ b/newlib/libc/include/wchar.h -@@ -217,8 +217,6 @@ float wcstof_l (const wchar_t *, wchar_t **, locale_t); - long double wcstold_l (const wchar_t *, wchar_t **, locale_t); - #endif - --#ifndef TINY_STDIO -- - wint_t fgetwc (__FILE *); - wchar_t *fgetws (wchar_t *__restrict, int, __FILE *__restrict); - wint_t fputwc (wchar_t, __FILE *); -@@ -232,6 +230,8 @@ wint_t putwc (wchar_t, __FILE *); - wint_t putwchar (wchar_t); - wint_t ungetwc (wint_t wc, __FILE *); - -+#ifndef TINY_STDIO -+ - struct _reent; - - wint_t _fgetwc_r (struct _reent *, __FILE *); -@@ -253,6 +253,24 @@ wint_t _putwchar_r (struct _reent *, wchar_t); - wint_t _putwchar_unlocked_r (struct _reent *, wchar_t); - wint_t _ungetwc_r (struct _reent *, wint_t wc, __FILE *); - -+int _fwprintf_r (struct _reent *, __FILE *, const wchar_t *, ...); -+int _swprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, ...); -+int _vfwprintf_r (struct _reent *, __FILE *, const wchar_t *, va_list); -+int _vswprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, va_list); -+int _vwprintf_r (struct _reent *, const wchar_t *, va_list); -+int _wprintf_r (struct _reent *, const wchar_t *, ...); -+ -+int _fwscanf_r (struct _reent *, __FILE *, const wchar_t *, ...); -+int _swscanf_r (struct _reent *, const wchar_t *, const wchar_t *, ...); -+int _vfwscanf_r (struct _reent *, __FILE *, const wchar_t *, va_list); -+int _vswscanf_r (struct _reent *, const wchar_t *, const wchar_t *, va_list); -+int _vwscanf_r (struct _reent *, const wchar_t *, va_list); -+int _wscanf_r (struct _reent *, const wchar_t *, ...); -+ -+__FILE *_open_wmemstream_r (struct _reent *, wchar_t **, size_t *); -+ -+#endif -+ - #if __GNU_VISIBLE - wint_t fgetwc_unlocked (__FILE *); - wchar_t *fgetws_unlocked (wchar_t *__restrict, int, __FILE *__restrict); -@@ -267,7 +285,6 @@ wint_t putwchar_unlocked (wchar_t); - #if __POSIX_VISIBLE >= 200809 - __FILE *open_wmemstream (wchar_t **, size_t *); - #endif --__FILE *_open_wmemstream_r (struct _reent *, wchar_t **, size_t *); - - #if __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE >= 500 - int fwprintf (__FILE *__restrict, const wchar_t *__restrict, ...); -@@ -281,13 +298,6 @@ int vwprintf (const wchar_t *__restrict, va_list); - int wprintf (const wchar_t *__restrict, ...); - #endif - --int _fwprintf_r (struct _reent *, __FILE *, const wchar_t *, ...); --int _swprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, ...); --int _vfwprintf_r (struct _reent *, __FILE *, const wchar_t *, va_list); --int _vswprintf_r (struct _reent *, wchar_t *, size_t, const wchar_t *, va_list); --int _vwprintf_r (struct _reent *, const wchar_t *, va_list); --int _wprintf_r (struct _reent *, const wchar_t *, ...); -- - #if __ISO_C_VISIBLE >= 1999 || __XSI_VISIBLE >= 500 - int fwscanf (__FILE *__restrict, const wchar_t *__restrict, ...); - int swscanf (const wchar_t *__restrict, -@@ -300,13 +310,6 @@ int vwscanf (const wchar_t *__restrict, va_list); - int wscanf (const wchar_t *__restrict, ...); - #endif - --int _fwscanf_r (struct _reent *, __FILE *, const wchar_t *, ...); --int _swscanf_r (struct _reent *, const wchar_t *, const wchar_t *, ...); --int _vfwscanf_r (struct _reent *, __FILE *, const wchar_t *, va_list); --int _vswscanf_r (struct _reent *, const wchar_t *, const wchar_t *, va_list); --int _vwscanf_r (struct _reent *, const wchar_t *, va_list); --int _wscanf_r (struct _reent *, const wchar_t *, ...); -- - #define getwc(fp) fgetwc(fp) - #define putwc(wc,fp) fputwc((wc), (fp)) - #define getwchar() fgetwc(stdin) -@@ -319,8 +322,6 @@ int _wscanf_r (struct _reent *, const wchar_t *, ...); - #define putwchar_unlocked(wc) fputwc_unlocked((wc), stdout) - #endif - --#endif /* !TINY_STDIO */ -- - _END_STD_C - - #if __SSP_FORTIFY_LEVEL > 0 --- -2.30.0 - diff --git a/packages/strace/4.26/0000-mips-o32-fix-build.patch b/packages/strace/4.26/0000-mips-o32-fix-build.patch index d3c828e..afb1f40 100644 --- a/packages/strace/4.26/0000-mips-o32-fix-build.patch +++ b/packages/strace/4.26/0000-mips-o32-fix-build.patch @@ -17,11 +17,14 @@ Date: Tue Jan 8 19:23:44 2019 +0000 Reported-by: Baruch Siach Fixes: v4.26~61 "Refactor stack pointers" -diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c -index 387aa852..e2889f98 100644 +--- + linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++ + syscall.c | 27 ++------------------------- + 2 files changed, 28 insertions(+), 25 deletions(-) + --- a/linux/mips/get_syscall_args.c +++ b/linux/mips/get_syscall_args.c -@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp) +@@ -37,3 +37,29 @@ #endif return 1; } @@ -51,11 +54,9 @@ index 387aa852..e2889f98 100644 + } +} +#endif /* SYS_syscall_subcall */ -diff --git a/syscall.c b/syscall.c -index d78f51dd..51fcc721 100644 --- a/syscall.c +++ b/syscall.c -@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp) +@@ -349,31 +349,8 @@ #endif /* SYS_ipc_subcall */ #ifdef SYS_syscall_subcall diff --git a/packages/strace/5.14/0000-Avoid-relying-on-presence-of-ipx.h.patch b/packages/strace/5.14/0000-Avoid-relying-on-presence-of-ipx.h.patch new file mode 100644 index 0000000..69421a5 --- /dev/null +++ b/packages/strace/5.14/0000-Avoid-relying-on-presence-of-ipx.h.patch @@ -0,0 +1,135 @@ +From d8eb6a06192d982977b3ff12b6d1ca69beaa7bb3 Mon Sep 17 00:00:00 2001 +From: Eugene Syromyatnikov +Date: Wed, 3 Nov 2021 00:48:59 +0100 +Subject: [PATCH] Avoid relying on presence of ipx.h + +After Linux has broken UAPI in commit v5.15-rc1~157^2~207, it is well +possible that neither kernel nor libc (such as musl, for example) +provides an IPX-related header. Avoid relying on its presence +in the strace's code and conditionalise the relevant checks in the tests. + +* configure.ac (AC_CHECK_HEADERS): Add linux/ipx.h. +* src/net.c: Remove / includes. +* src/sockaddr.c: Likewise. +(IPX_NODE_LEN): New macro constant. +(struct sockaddr_ipx): New type definition. +* src/xlat/sock_ipx_options.in (IPX_TYPE): Provide a fallback value. +* tests/net-sockaddr.c [!HAVE_LINUX_IPX_H]: Do not include +. +[!HAVE_LINUX_IPX_H && HAVE_NETIPX_IPX_H]: Include . +[!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)] (check_ipx): Do not +define. +(main) [!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)]: Do not call +check_ipx. + +Closes: https://github.com/strace/strace/issues/201 +--- + configure.ac | 1 + + src/net.c | 5 ----- + src/sockaddr.c | 16 ++++++++++------ + src/xlat/sock_ipx_options.in | 2 +- + tests/net-sockaddr.c | 10 +++++++++- + 5 files changed, 21 insertions(+), 13 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -423,6 +423,7 @@ + elf.h + gcov.h + iconv.h ++ linux/ipx.h + mqueue.h + netinet/sctp.h + netipx/ipx.h +--- a/src/net.c ++++ b/src/net.c +@@ -28,11 +28,6 @@ + #include + #include + #include +-#ifdef HAVE_NETIPX_IPX_H +-# include +-#else +-# include +-#endif + + #include + #include "netlink.h" +--- a/src/sockaddr.c ++++ b/src/sockaddr.c +@@ -24,12 +24,6 @@ + #include + #include + +-#ifdef HAVE_NETIPX_IPX_H +-# include +-#else +-# include +-#endif +- + #include "xlat/addrfams.h" + #include "xlat/arp_hardware_types.h" + #include "xlat/ethernet_protocols.h" +@@ -42,6 +36,16 @@ + + #define SIZEOF_SA_FAMILY sizeof_field(struct sockaddr, sa_family) + ++#define IPX_NODE_LEN 6 ++struct sockaddr_ipx { ++ uint16_t sipx_family; ++ uint16_t sipx_port; ++ uint32_t sipx_network; ++ unsigned char sipx_node[IPX_NODE_LEN]; ++ uint8_t sipx_type; ++ unsigned char sipx_zero; ++}; ++ + const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1; + const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; + +--- a/src/xlat/sock_ipx_options.in ++++ b/src/xlat/sock_ipx_options.in +@@ -1 +1 @@ +-IPX_TYPE ++IPX_TYPE 1 +--- a/tests/net-sockaddr.c ++++ b/tests/net-sockaddr.c +@@ -24,7 +24,11 @@ + #include + #include + #include +-#include ++#if defined HAVE_LINUX_IPX_H ++# include ++#elif defined HAVE_NETIPX_IPX_H ++# include ++#endif + #ifdef HAVE_BLUETOOTH_BLUETOOTH_H + # include + # include +@@ -269,6 +273,7 @@ + printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); + } + ++#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H + static void + check_ipx(void) + { +@@ -295,6 +300,7 @@ + c_ipx.sipx_node[4], c_ipx.sipx_node[5], + c_ipx.sipx_type, len, ret); + } ++#endif /* HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H */ + + /* for a bit more compact AX.25 address definitions */ + #define AX25_ADDR(c_, s_) \ +@@ -773,7 +779,9 @@ + check_un(); + check_in(); + check_in6(); ++#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H + check_ipx(); ++#endif + check_ax25(); + check_x25(); + check_nl(); diff --git a/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch b/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch deleted file mode 100644 index 93955eb..0000000 --- a/packages/strace/5.14/0001-Avoid-relying-on-presence-of-ipx.h.patch +++ /dev/null @@ -1,148 +0,0 @@ -From d8eb6a06192d982977b3ff12b6d1ca69beaa7bb3 Mon Sep 17 00:00:00 2001 -From: Eugene Syromyatnikov -Date: Wed, 3 Nov 2021 00:48:59 +0100 -Subject: [PATCH] Avoid relying on presence of ipx.h - -After Linux has broken UAPI in commit v5.15-rc1~157^2~207, it is well -possible that neither kernel nor libc (such as musl, for example) -provides an IPX-related header. Avoid relying on its presence -in the strace's code and conditionalise the relevant checks in the tests. - -* configure.ac (AC_CHECK_HEADERS): Add linux/ipx.h. -* src/net.c: Remove / includes. -* src/sockaddr.c: Likewise. -(IPX_NODE_LEN): New macro constant. -(struct sockaddr_ipx): New type definition. -* src/xlat/sock_ipx_options.in (IPX_TYPE): Provide a fallback value. -* tests/net-sockaddr.c [!HAVE_LINUX_IPX_H]: Do not include -. -[!HAVE_LINUX_IPX_H && HAVE_NETIPX_IPX_H]: Include . -[!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)] (check_ipx): Do not -define. -(main) [!(HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H)]: Do not call -check_ipx. - -Closes: https://github.com/strace/strace/issues/201 ---- - configure.ac | 1 + - src/net.c | 5 ----- - src/sockaddr.c | 16 ++++++++++------ - src/xlat/sock_ipx_options.in | 2 +- - tests/net-sockaddr.c | 10 +++++++++- - 5 files changed, 21 insertions(+), 13 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2771c0f82..3c7fcb91e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -423,6 +423,7 @@ AC_CHECK_HEADERS(m4_normalize([ - elf.h - gcov.h - iconv.h -+ linux/ipx.h - mqueue.h - netinet/sctp.h - netipx/ipx.h -diff --git a/src/net.c b/src/net.c -index b23911a97..bbc52e15f 100644 ---- a/src/net.c -+++ b/src/net.c -@@ -28,11 +28,6 @@ - #include - #include - #include --#ifdef HAVE_NETIPX_IPX_H --# include --#else --# include --#endif - - #include - #include "netlink.h" -diff --git a/src/sockaddr.c b/src/sockaddr.c -index 8b2b0afaf..66aa04d59 100644 ---- a/src/sockaddr.c -+++ b/src/sockaddr.c -@@ -24,12 +24,6 @@ - #include - #include - --#ifdef HAVE_NETIPX_IPX_H --# include --#else --# include --#endif -- - #include "xlat/addrfams.h" - #include "xlat/arp_hardware_types.h" - #include "xlat/ethernet_protocols.h" -@@ -42,6 +36,16 @@ - - #define SIZEOF_SA_FAMILY sizeof_field(struct sockaddr, sa_family) - -+#define IPX_NODE_LEN 6 -+struct sockaddr_ipx { -+ uint16_t sipx_family; -+ uint16_t sipx_port; -+ uint32_t sipx_network; -+ unsigned char sipx_node[IPX_NODE_LEN]; -+ uint8_t sipx_type; -+ unsigned char sipx_zero; -+}; -+ - const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1; - const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1; - -diff --git a/src/xlat/sock_ipx_options.in b/src/xlat/sock_ipx_options.in -index eba97fd71..b09be117e 100644 ---- a/src/xlat/sock_ipx_options.in -+++ b/src/xlat/sock_ipx_options.in -@@ -1 +1 @@ --IPX_TYPE -+IPX_TYPE 1 -diff --git a/tests/net-sockaddr.c b/tests/net-sockaddr.c -index f1f9b01cd..c8049fd68 100644 ---- a/tests/net-sockaddr.c -+++ b/tests/net-sockaddr.c -@@ -24,7 +24,11 @@ - #include - #include - #include --#include -+#if defined HAVE_LINUX_IPX_H -+# include -+#elif defined HAVE_NETIPX_IPX_H -+# include -+#endif - #ifdef HAVE_BLUETOOTH_BLUETOOTH_H - # include - # include -@@ -269,6 +273,7 @@ check_in6(void) - printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret); - } - -+#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H - static void - check_ipx(void) - { -@@ -295,6 +300,7 @@ check_ipx(void) - c_ipx.sipx_node[4], c_ipx.sipx_node[5], - c_ipx.sipx_type, len, ret); - } -+#endif /* HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H */ - - /* for a bit more compact AX.25 address definitions */ - #define AX25_ADDR(c_, s_) \ -@@ -773,7 +779,9 @@ main(void) - check_un(); - check_in(); - check_in6(); -+#if defined HAVE_LINUX_IPX_H || defined HAVE_NETIPX_IPX_H - check_ipx(); -+#endif - check_ax25(); - check_x25(); - check_nl(); --- -2.33.1 - diff --git a/packages/uClibc-ng/1.0.38/0000-include-sys-personality-h-resync-with-glibc.patch b/packages/uClibc-ng/1.0.38/0000-include-sys-personality-h-resync-with-glibc.patch index 446cd6e..6c1d9ba 100644 --- a/packages/uClibc-ng/1.0.38/0000-include-sys-personality-h-resync-with-glibc.patch +++ b/packages/uClibc-ng/1.0.38/0000-include-sys-personality-h-resync-with-glibc.patch @@ -8,11 +8,9 @@ defined in uClibc-ng, but is used for example by the uftrace project. Signed-off-by: Thomas Petazzoni --- - include/sys/personality.h | 18 +++++++++++++----- + include/sys/personality.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) -diff --git a/include/sys/personality.h b/include/sys/personality.h -index ee1de64..fd77bdb 100644 --- a/include/sys/personality.h +++ b/include/sys/personality.h @@ -1,4 +1,4 @@ @@ -51,7 +49,7 @@ index ee1de64..fd77bdb 100644 }; /* Personality types. -@@ -41,6 +47,7 @@ enum +@@ -41,6 +47,7 @@ { PER_LINUX = 0x0000, PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, @@ -59,7 +57,7 @@ index ee1de64..fd77bdb 100644 PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE, PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE, -@@ -51,14 +58,15 @@ enum +@@ -51,14 +58,15 @@ PER_SUNOS = 0x0006 | STICKY_TIMEOUTS, PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE, PER_LINUX32 = 0x0008, @@ -77,6 +75,3 @@ index ee1de64..fd77bdb 100644 PER_MASK = 0x00ff, }; --- -cgit v0.11.2-3-g2eb4 - diff --git a/packages/zlib/1.2.11/0003-crossbuild-macos-libtool.patch b/packages/zlib/1.2.11/0003-crossbuild-macos-libtool.patch index e04f65d..3220a54 100644 --- a/packages/zlib/1.2.11/0003-crossbuild-macos-libtool.patch +++ b/packages/zlib/1.2.11/0003-crossbuild-macos-libtool.patch @@ -4,11 +4,13 @@ Date: Fri May 22 03:32:33 2020 +0200 configure: use LIBTOOL variable for Darwin builds -diff --git a/configure b/configure -index e974d1f..0c88bf9 100755 +--- + configure | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + --- a/configure +++ b/configure -@@ -66,6 +66,12 @@ if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then +@@ -66,6 +66,12 @@ else NM=${NM-"nm"} fi @@ -21,7 +23,7 @@ index e974d1f..0c88bf9 100755 # set defaults before processing command line options LDCONFIG=${LDCONFIG-"ldconfig"} -@@ -241,8 +247,8 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then +@@ -241,8 +247,8 @@ SHAREDLIBV=libz.$VER$shared_ext SHAREDLIBM=libz.$VER1$shared_ext LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"} -- cgit v0.10.2-6-g49f6