From 9703e669d061d71ad0be2409df804544547fafa1 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 21:09:16 +1200 Subject: gdb: Remove old milestones Now that the oldest supported version of gdb is 7.11.1 we can make some parts of the build unconditional and remove the associated config vars. Signed-off-by: Chris Packham diff --git a/config/debug/gdb.in b/config/debug/gdb.in index d92cd62..aa3235e 100644 --- a/config/debug/gdb.in +++ b/config/debug/gdb.in @@ -5,17 +5,6 @@ source "config/debug/gdb.in.cross" source "config/debug/gdb.in.native" -config GDB_HAS_PKGVERSION_BUGURL - bool - default y if GDB_7_0_or_later - -config GDB_HAS_PYTHON - bool - default y if GDB_7_0_or_later - -config GDB_INSTALL_GDBINIT - bool - default y if GDB_7_0_or_later # GDB 8.0 now requires C++ for build. GDB 7.12 offered a configure # switch to fall back to C. We want to use that option because @@ -32,10 +21,6 @@ config GDB_DEP_CXX11 depends on !CONFIGURE_has_cxx11 select GDB_REQUIRE_older_than_8_0 -config GDB_HAS_IPA_LIB - def_bool y - depends on GDB_7_2_or_later - # Does GDB need ps_get_thread_area with const qualifier? config GDB_CONST_GET_THREAD_AREA bool diff --git a/config/debug/gdb.in.cross b/config/debug/gdb.in.cross index e193548..7ecc2e3 100644 --- a/config/debug/gdb.in.cross +++ b/config/debug/gdb.in.cross @@ -37,7 +37,6 @@ config GDB_CROSS_SIM config GDB_CROSS_PYTHON bool prompt "Enable python scripting" - depends on GDB_HAS_PYTHON depends on !GDB_CROSS_STATIC default y if !CROSS_NATIVE && !CANADIAN help diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index d244790..7ac8ec2 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -30,7 +30,7 @@ config GDB_NATIVE_BUILD_IPA_LIB bool prompt "Build the IPA library" depends on LIBC_GLIBC - depends on GDB_HAS_IPA_LIB && !GDB_NATIVE_STATIC + depends on !GDB_NATIVE_STATIC help gdbserver >= 7.2 comes with an optional library to use tracepoints, the In Process Agent (IPA) library, libinproctrace.so. This library diff --git a/packages/gdb/package.desc b/packages/gdb/package.desc index 7793f4a..06efd37 100644 --- a/packages/gdb/package.desc +++ b/packages/gdb/package.desc @@ -2,5 +2,5 @@ origin='GNU' repository='git git://sourceware.org/git/binutils-gdb.git' mirrors='$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)' relevantpattern='*.*|[a-z.]' -milestones='7.0 7.2 7.12 8.0 8.3 10.2 11.1' +milestones='7.11 7.12 8.0 8.3 10.2 11.1' archive_formats='.tar.xz .tar.gz' diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh index 85f03eb..4afaba4 100644 --- a/scripts/build/debug/300-gdb.sh +++ b/scripts/build/debug/300-gdb.sh @@ -85,23 +85,21 @@ do_debug_gdb_build() CT_DoExecLog ALL make install-{pdf,html}-gdb fi - if [ "${CT_GDB_INSTALL_GDBINIT}" = "y" ]; then - CT_DoLog EXTRA "Installing '.gdbinit' template" - # See in scripts/build/internals.sh for why we do this - # TBD GCC 3.x and older not supported - if [ -f "${CT_SRC_DIR}/gcc/gcc/BASE-VER" ]; then - gcc_version=$(cat "${CT_SRC_DIR}/gcc/gcc/BASE-VER") - else - gcc_version=$(sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ - "${CT_SRC_DIR}/gcc/gcc/version.c" \ - ) - fi - sed -r \ - -e "s:@@PREFIX@@:${CT_PREFIX_DIR}:;" \ - -e "s:@@VERSION@@:${gcc_version}:;" \ - "${CT_LIB_DIR}/scripts/build/debug/gdbinit.in" \ - >"${CT_PREFIX_DIR}/share/gdb/gdbinit" - fi # Install gdbinit sample + CT_DoLog EXTRA "Installing '.gdbinit' template" + # See in scripts/build/internals.sh for why we do this + # TBD GCC 3.x and older not supported + if [ -f "${CT_SRC_DIR}/gcc/gcc/BASE-VER" ]; then + gcc_version=$(cat "${CT_SRC_DIR}/gcc/gcc/BASE-VER") + else + gcc_version=$(sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ + "${CT_SRC_DIR}/gcc/gcc/version.c" \ + ) + fi + sed -r \ + -e "s:@@PREFIX@@:${CT_PREFIX_DIR}:;" \ + -e "s:@@VERSION@@:${gcc_version}:;" \ + "${CT_LIB_DIR}/scripts/build/debug/gdbinit.in" \ + >"${CT_PREFIX_DIR}/share/gdb/gdbinit" CT_Popd CT_EndStep @@ -271,10 +269,8 @@ do_gdb_backend() CT_DoExecLog ALL cp gdb/proc_service.h gdb/gdbserver/proc_service.h fi - if [ "${CT_GDB_HAS_PKGVERSION_BUGURL}" = "y" ]; then - [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") - fi + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") # Disable binutils options when building from the binutils-gdb repo. extra_config+=("--disable-binutils") -- cgit v0.10.2-6-g49f6 From 156e13b78de56e8435e6f21041f7161d839bb40f Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 20:39:02 +1200 Subject: autoconf: Remove rogue version.desc A version.desc file was left at the toplevel package directory. Remove it as it is unused. Signed-off-by: Chris Packham diff --git a/packages/autoconf/version.desc b/packages/autoconf/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/autoconf/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From f5731fc831483f3c961e9e1536c8be5ad01cbaa5 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: android-ndk: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - android-ndk-r10e - android-ndk-r11c - android-ndk-r12b - android-ndk-r13b Signed-off-by: Chris Packham diff --git a/packages/android-ndk/r10e/chksum b/packages/android-ndk/r10e/chksum deleted file mode 100644 index 9c8fa7f..0000000 --- a/packages/android-ndk/r10e/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 android-ndk-r10e-linux-x86_64.zip 070be287539e3e7706f8dabfb6bf9879 -sha1 android-ndk-r10e-linux-x86_64.zip f692681b007071103277f6edc6f91cb5c5494a32 -sha256 android-ndk-r10e-linux-x86_64.zip ee5f405f3b57c4f5c3b3b8b5d495ae12b660e03d2112e4ed5c728d349f1e520c -sha512 android-ndk-r10e-linux-x86_64.zip 319ca7ed8c9ad0b02aad08a1744f319a6822ce6fb2606d55119f2002c48ee4afd2d2bebbc679c74644f678fec23bc6f6f033be6f0c9e3e1b368ebb43bf6a3d78 diff --git a/packages/android-ndk/r10e/version.desc b/packages/android-ndk/r10e/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/android-ndk/r10e/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/android-ndk/r11c/chksum b/packages/android-ndk/r11c/chksum deleted file mode 100644 index 29bf618..0000000 --- a/packages/android-ndk/r11c/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 android-ndk-r11c-linux-x86_64.zip 80bd9bb8c75c3e261bac0784a6d092a5 -sha1 android-ndk-r11c-linux-x86_64.zip de5ce9bddeee16fb6af2b9117e9566352aa7e279 -sha256 android-ndk-r11c-linux-x86_64.zip ba85dbe4d370e4de567222f73a3e034d85fc3011b3cbd90697f3e8dcace3ad94 -sha512 android-ndk-r11c-linux-x86_64.zip c0de562061c9f08bcd1ae05b1de26898788e71cc7dc40502348214edd5a90f1bf8125721e587b341f6fe774fc79b1a6e28b3f702f3275e016baa0382fcea2767 diff --git a/packages/android-ndk/r11c/version.desc b/packages/android-ndk/r11c/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/android-ndk/r11c/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/android-ndk/r12b/chksum b/packages/android-ndk/r12b/chksum deleted file mode 100644 index d3c5435..0000000 --- a/packages/android-ndk/r12b/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 android-ndk-r12b-linux-x86_64.zip 1d1a5ee71a5123be01e0dd9adb5df80d -sha1 android-ndk-r12b-linux-x86_64.zip 170a119bfa0f0ce5dc932405eaa3a7cc61b27694 -sha256 android-ndk-r12b-linux-x86_64.zip eafae2d614e5475a3bcfd7c5f201db5b963cc1290ee3e8ae791ff0c66757781e -sha512 android-ndk-r12b-linux-x86_64.zip 2d85b476436ca50896e4b7c5d0f15547fd14a6ebec7e0081022b28f791709af78ea5ebddcdf4722b5e94daeac288d509bd5f240b0280167edef8e199da3d0501 diff --git a/packages/android-ndk/r12b/version.desc b/packages/android-ndk/r12b/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/android-ndk/r12b/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/android-ndk/r13b/chksum b/packages/android-ndk/r13b/chksum deleted file mode 100644 index 5411004..0000000 --- a/packages/android-ndk/r13b/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 android-ndk-r13b-linux-x86_64.zip 771bb5121a78122620723af92fbfbb18 -sha1 android-ndk-r13b-linux-x86_64.zip 0600157c4ddf50ec15b8a037cfc474143f718fd0 -sha256 android-ndk-r13b-linux-x86_64.zip 3524d7f8fca6dc0d8e7073a7ab7f76888780a22841a6641927123146c3ffd29c -sha512 android-ndk-r13b-linux-x86_64.zip 39f3bd2d0e1daca11870df2e2ef318ad070b19163a55e2c1c4a1a871e02f8ec51263d7cf4b6da54eaadbe4253b5c11b85f4c5aeb67fccfff9147a5c420589d12 diff --git a/packages/android-ndk/r13b/version.desc b/packages/android-ndk/r13b/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/android-ndk/r13b/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From 836fb9165234e50a07094b2c11938c17f92cd356 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: automake: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - automake-1.11.6 - automake-1.14.1 Signed-off-by: Chris Packham diff --git a/packages/automake/1.11.6/0000-escape-left-brace.patch b/packages/automake/1.11.6/0000-escape-left-brace.patch deleted file mode 100644 index 128f871..0000000 --- a/packages/automake/1.11.6/0000-escape-left-brace.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 13f00eb4493c217269b76614759e452d8302955e -Author: Paul Eggert -Date: Thu Mar 31 16:35:29 2016 -0700 - - automake: port to Perl 5.22 and later - - Without this change, Perl 5.22 complains "Unescaped left brace in - regex is deprecated" and this is planned to become a hard error in - Perl 5.26. See: - http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern - * bin/automake.in (substitute_ac_subst_variables): Escape left brace. - ---- - automake.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/automake.in -+++ b/automake.in -@@ -4156,7 +4156,7 @@ - sub substitute_ac_subst_variables ($) - { - my ($text) = @_; -- $text =~ s/\${([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; -+ $text =~ s/\$[{]([^ \t=:+{}]+)}/&substitute_ac_subst_variables_worker ($1)/ge; - return $text; - } - diff --git a/packages/automake/1.11.6/chksum b/packages/automake/1.11.6/chksum deleted file mode 100644 index bda422e..0000000 --- a/packages/automake/1.11.6/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 automake-1.11.6.tar.xz cf4752287ad708f83bd3689da57a32c9 -sha1 automake-1.11.6.tar.xz 765cd19ffefb57604b7208f925b56803166484e9 -sha256 automake-1.11.6.tar.xz 1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5 -sha512 automake-1.11.6.tar.xz 6e4cdf69f07734954f770fd4a7211a8c9dc69fe25a7746bd3c1e01d3139c94cab2900399e87371548833e99687e0d2b59c5e746ab2fdfbc7d47f2c1d439137ba -md5 automake-1.11.6.tar.gz 0286dc30295b62985ca51919202ecfcc -sha1 automake-1.11.6.tar.gz 29d7832b148e2157e03ad0d3620fbb7f5a13bc21 -sha256 automake-1.11.6.tar.gz 53dbf1945401c43f4ce19c1971baecdbf8bc32e0f37fa3f49fe7b6992d0d2030 -sha512 automake-1.11.6.tar.gz 6935efdf73c9fccd2cecf950494b2cf78a9ec1f1c8f1524df9f6ed8f171a68312163fcfc1d5d7862dc610e72b4fcb0bbb5fc2717b051ffc9751ebede0df19c70 diff --git a/packages/automake/1.11.6/version.desc b/packages/automake/1.11.6/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/automake/1.11.6/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/automake/1.14.1/0000-escape-left-brace.patch b/packages/automake/1.14.1/0000-escape-left-brace.patch deleted file mode 100644 index 8a09d18..0000000 --- a/packages/automake/1.14.1/0000-escape-left-brace.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 13f00eb4493c217269b76614759e452d8302955e -Author: Paul Eggert -Date: Thu Mar 31 16:35:29 2016 -0700 - - automake: port to Perl 5.22 and later - - Without this change, Perl 5.22 complains "Unescaped left brace in - regex is deprecated" and this is planned to become a hard error in - Perl 5.26. See: - http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern - * bin/automake.in (substitute_ac_subst_variables): Escape left brace. - ---- - bin/automake.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/bin/automake.in -+++ b/bin/automake.in -@@ -3872,7 +3872,7 @@ - sub substitute_ac_subst_variables - { - my ($text) = @_; -- $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; -+ $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; - return $text; - } - diff --git a/packages/automake/1.14.1/chksum b/packages/automake/1.14.1/chksum deleted file mode 100644 index c72db25..0000000 --- a/packages/automake/1.14.1/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 automake-1.14.1.tar.xz 7fc29854c520f56b07aa232a0f880292 -sha1 automake-1.14.1.tar.xz 2ced676f6b792a95c5919243f81790b1172c7f5b -sha256 automake-1.14.1.tar.xz a9b4f04b8b69cac2e832a38a718943aa976dbdad0097211f8b3448afdacf0669 -sha512 automake-1.14.1.tar.xz 5de971159dfca2ec74c3c9a2f1368331efc437b146d675740c8735fcb0d32a30d0560fd29df64c3279efdf9278152c82a9ff09040b3e64d84743aaf25b26ce69 -md5 automake-1.14.1.tar.gz d052a3e884631b9c7892f2efce542d75 -sha1 automake-1.14.1.tar.gz 0bb1714b78d70cab9907d2013082978a28f48a46 -sha256 automake-1.14.1.tar.gz 814c2333f350ce00034a1fe718e0e4239998ceea7b0aff67e9fd273ed6dfc23b -sha512 automake-1.14.1.tar.gz 782be9113bde2dd661585c2144849eb9b673fcd835e1918623fca04d3840a75e2fad7ec91ba9b1d125e5c75f1305c655d602976100b2723423717bd03b6e84ed diff --git a/packages/automake/1.14.1/version.desc b/packages/automake/1.14.1/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/automake/1.14.1/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From fa992b41918a1dbf05f6830ba659f4ea6ffc5ffa Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:46:06 +1200 Subject: binutils: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - binutils-linaro-2.23.2-2013.10-4 - binutils-linaro-2.24.0-2014.11-2 - binutils-linaro-2.25.0-2015.01-2 - binutils-2.23.2 - binutils-2.24 - binutils-2.25.1 Adjust the milestones now that the old versions have been removed. Signed-off-by: Chris Packham diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index a92dec9..e6371f2 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -2,22 +2,6 @@ comment "GNU binutils" -config BINUTILS_HAS_HASH_STYLE - default y if BINUTILS_2_23_or_later - bool - -config BINUTILS_HAS_GOLD - default y if BINUTILS_2_23_or_later - bool - -config BINUTILS_HAS_PLUGINS - default y if BINUTILS_2_23_or_later - bool - -config BINUTILS_HAS_PKGVERSION_BUGURL - default y if BINUTILS_2_23_or_later - bool - # gold only suports the listed architectures config BINUTILS_GOLD_SUPPORTS_ARCH bool @@ -27,7 +11,6 @@ config BINUTILS_GOLD_SUPPORTS_ARCH config BINUTILS_GOLD_SUPPORT bool default y - depends on BINUTILS_HAS_GOLD depends on BINUTILS_GOLD_SUPPORTS_ARCH depends on ! STATIC_TOOLCHAIN @@ -139,7 +122,6 @@ config BINUTILS_LINKER_DEFAULT config BINUTILS_PLUGINS bool prompt "Enable support for plugins" - depends on BINUTILS_HAS_PLUGINS depends on ! STATIC_TOOLCHAIN help binutils can be extended through the use of plugins. diff --git a/config/cc/gcc.in b/config/cc/gcc.in index f4b0b7e..e068afd 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -373,7 +373,6 @@ config CC_GCC_BUILD_ID choice CC_GCC_LNK_HASH_STYLE_CHOICE bool prompt "linker hash style" - depends on BINUTILS_HAS_HASH_STYLE config CC_GCC_LNK_HASH_STYLE_DEFAULT bool diff --git a/packages/binutils-linaro/2.23.2-2013.10-4/chksum b/packages/binutils-linaro/2.23.2-2013.10-4/chksum deleted file mode 100644 index 640a6dd..0000000 --- a/packages/binutils-linaro/2.23.2-2013.10-4/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 binutils-linaro-2.23.2-2013.10-4.tar.bz2 9f0fe607fa0f11b45080481a1591e812 -sha1 binutils-linaro-2.23.2-2013.10-4.tar.bz2 b8a8fdda3b734ee03b496838eb0c566f7acfab66 -sha256 binutils-linaro-2.23.2-2013.10-4.tar.bz2 18811bb413f693a732e9fd5c0cef68b5f6f45e413dd2ec69e8623774db79aed3 -sha512 binutils-linaro-2.23.2-2013.10-4.tar.bz2 69bffaad521451be6d2d188f0cd00e171eef0d69e92696fc82898089d93db8cd2a113c7d2604e6e31550377690af38a594273c1ca2326ec055eef40eac3db241 diff --git a/packages/binutils-linaro/2.23.2-2013.10-4/version.desc b/packages/binutils-linaro/2.23.2-2013.10-4/version.desc deleted file mode 100644 index a114052..0000000 --- a/packages/binutils-linaro/2.23.2-2013.10-4/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' diff --git a/packages/binutils-linaro/2.24.0-2014.11-2/chksum b/packages/binutils-linaro/2.24.0-2014.11-2/chksum deleted file mode 100644 index 67f952a..0000000 --- a/packages/binutils-linaro/2.24.0-2014.11-2/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 binutils-linaro-2.24.0-2014.11-2.tar.xz 05c1d4bc718ec05f6d53785eea10763f -sha1 binutils-linaro-2.24.0-2014.11-2.tar.xz 749d56dcf1e1262b84c7c9c0d6cbf5696d8319a2 -sha256 binutils-linaro-2.24.0-2014.11-2.tar.xz 9196bb6f53c6f113681f06fc396f615101e5f367a4ea48dbcbe45616d5eb1d06 -sha512 binutils-linaro-2.24.0-2014.11-2.tar.xz 424d833894ffed054ca25481dc501c29557a92efa181475e2b523f84f5cace88da7f3daa8cbb0fb3907a57d9b4f7cd8677066dda9948aa7ec39215470c73c1ab diff --git a/packages/binutils-linaro/2.24.0-2014.11-2/version.desc b/packages/binutils-linaro/2.24.0-2014.11-2/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/binutils-linaro/2.24.0-2014.11-2/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/binutils-linaro/2.25.0-2015.01-2/chksum b/packages/binutils-linaro/2.25.0-2015.01-2/chksum deleted file mode 100644 index 6b57109..0000000 --- a/packages/binutils-linaro/2.25.0-2015.01-2/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 binutils-linaro-2.25.0-2015.01-2.tar.xz 5c4b97c60f8bf624a34e2acef3138eec -sha1 binutils-linaro-2.25.0-2015.01-2.tar.xz 194f85bf029c10e889db4b8b299979e81a234829 -sha256 binutils-linaro-2.25.0-2015.01-2.tar.xz aed2aef13926911923b47a71ee88dc0943d544718d91f8caee5fc48fd20ef3a7 -sha512 binutils-linaro-2.25.0-2015.01-2.tar.xz 1fb74b2ba5c47f9d91664f10aa079cafab877a59c992aec1abd1f94754c1067f18f99f10d32be13416316081bb1c576e99fb34e6b1541a089d908896d43909e5 diff --git a/packages/binutils-linaro/2.25.0-2015.01-2/version.desc b/packages/binutils-linaro/2.25.0-2015.01-2/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/binutils-linaro/2.25.0-2015.01-2/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/binutils/2.23.2/0000-sh-conf.patch b/packages/binutils/2.23.2/0000-sh-conf.patch deleted file mode 100644 index b10d279..0000000 --- a/packages/binutils/2.23.2/0000-sh-conf.patch +++ /dev/null @@ -1,34 +0,0 @@ -r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -3595,7 +3595,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -1021,7 +1021,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; diff --git a/packages/binutils/2.23.2/0001-ld_makefile_patch.patch b/packages/binutils/2.23.2/0001-ld_makefile_patch.patch deleted file mode 100644 index 3992be3..0000000 --- a/packages/binutils/2.23.2/0001-ld_makefile_patch.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -37,7 +37,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -367,7 +367,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/packages/binutils/2.23.2/0002-check_ldrunpath_length.patch b/packages/binutils/2.23.2/0002-check_ldrunpath_length.patch deleted file mode 100644 index a24df5e..0000000 --- a/packages/binutils/2.23.2/0002-check_ldrunpath_length.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1278,6 +1278,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1505,6 +1507,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (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.23.2/0003-fix-gold-pthreads-typo.patch b/packages/binutils/2.23.2/0003-fix-gold-pthreads-typo.patch deleted file mode 100644 index 40861f5..0000000 --- a/packages/binutils/2.23.2/0003-fix-gold-pthreads-typo.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - gold/gold-threads.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/gold/gold-threads.cc -+++ b/gold/gold-threads.cc -@@ -102,9 +102,9 @@ - if (err != 0) - gold_fatal(_("pthead_mutextattr_init failed: %s"), strerror(err)); - #ifdef PTHREAD_MUTEX_ADAPTIVE_NP -- err = pthread_mutextattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); - if (err != 0) -- gold_fatal(_("pthread_mutextattr_settype failed: %s"), strerror(err)); -+ gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err)); - #endif - - err = pthread_mutex_init(&this->mutex_, &attr); diff --git a/packages/binutils/2.23.2/0004-sysroot.patch b/packages/binutils/2.23.2/0004-sysroot.patch deleted file mode 100644 index 13b5288..0000000 --- a/packages/binutils/2.23.2/0004-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 -@@ -341,18 +341,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.23.2/0005-poison-system-directories.patch b/packages/binutils/2.23.2/0005-poison-system-directories.patch deleted file mode 100644 index 539da41..0000000 --- a/packages/binutils/2.23.2/0005-poison-system-directories.patch +++ /dev/null @@ -1,273 +0,0 @@ -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -Signed-off-by: Thomas Petazzoni - -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.in (--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.in | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - ---- a/ld/config.in -+++ b/ld/config.in -@@ -11,6 +11,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 -@@ -773,6 +773,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_werror -@@ -1428,6 +1429,8 @@ - (and sometimes confusing) to the casual installer - --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) -@@ -4338,7 +4341,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.in -+++ b/ld/configure.in -@@ -70,6 +70,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/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ - new_dirs->name = concat (ld_sysroot, name + 1, (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/ld.h -+++ b/ld/ld.h -@@ -203,6 +203,14 @@ - /* If TRUE we'll just print the default output on stdout. */ - bfd_boolean print_output_format; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -265,6 +265,8 @@ - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; - command_line.disable_target_specific_optimizations = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2154,6 +2154,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/lexsup.c -+++ b/ld/lexsup.c -@@ -498,6 +498,14 @@ - TWO_DASHES }, - { {"wrap", required_argument, NULL, OPTION_WRAP}, - '\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), 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) -@@ -510,6 +518,7 @@ - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1427,9 +1436,21 @@ - einfo (_("%P%X: --hash-size needs a numeric argument\n")); - } - 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; - } - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -136,6 +136,8 @@ - #endif /* ENABLE_PLUGINS */ - OPTION_DEFAULT_SCRIPT, - OPTION_PRINT_OUTPUT_FORMAT, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ diff --git a/packages/binutils/2.23.2/0006-xtensa-trampolines.patch b/packages/binutils/2.23.2/0006-xtensa-trampolines.patch deleted file mode 100644 index b4670bc..0000000 --- a/packages/binutils/2.23.2/0006-xtensa-trampolines.patch +++ /dev/null @@ -1,827 +0,0 @@ -From a82c7d9030b67a6a76a5403d0e1641f9e42141ac Mon Sep 17 00:00:00 2001 -From: David Weatherford -Date: Fri, 21 Mar 2014 11:53:42 +0000 -Subject: [PATCH] Add support to the Xtensa target for creating trampolines for - out-of-range branches. - - * tc-xtensa.c (xtensa_check_frag_count, xtensa_create_trampoline_frag) - (xtensa_maybe_create_trampoline_frag, init_trampoline_frag) - (find_trampoline_seg, search_trampolines, get_best_trampoline) - (check_and_update_trampolines, add_jump_to_trampoline) - (dump_trampolines): New function. - (md_parse_option): Add cases for --[no-]trampolines options. - (md_assemble, finish_vinsn, xtensa_end): Add call to - xtensa_check_frag_count. - (xg_assemble_vliw_tokens): Add call to - xtensa_maybe_create_trampoline_frag. - (xtensa_relax_frag): Relax fragments with RELAX_TRAMPOLINE state. - (relax_frag_immed): Relax jump instructions that cannot reach its - target. - * tc-xtensa.h (xtensa_relax_statesE::RELAX_TRAMPOLINE): New relax - state. - - * as.texinfo: Document --[no-]trampolines command-line options. - * c-xtensa.texi: Document trampolines relaxation and command line - options. - - * frags.c (get_frag_count, clear_frag_count): New function. - (frag_alloc): Increment totalfrags counter. - * frags.h (get_frag_count, clear_frag_count): New function. - - * all.exp: Add test for trampoline relaxation. - * trampoline.d: Trampoline relaxation expected dump. - * trampoline.s: Trampoline relaxation test source. ---- -Backported from: a82c7d9030b67a6a76a5403d0e1641f9e42141ac -Changes to Changelog files are dropped. - - gas/config/tc-xtensa.c | 558 +++++++++++++++++++++++++++++++++- - gas/config/tc-xtensa.h | 5 - gas/frags.c | 15 - gas/frags.h | 3 - gas/testsuite/gas/xtensa/all.exp | 1 - gas/testsuite/gas/xtensa/trampoline.d | 26 + - gas/testsuite/gas/xtensa/trampoline.s | 21 + - 7 files changed, 627 insertions(+), 2 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/trampoline.d - create mode 100644 gas/testsuite/gas/xtensa/trampoline.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -469,6 +469,12 @@ - static void finish_vinsn (vliw_insn *); - static bfd_boolean emit_single_op (TInsn *); - static int total_frag_text_expansion (fragS *); -+static bfd_boolean use_trampolines = TRUE; -+static void xtensa_check_frag_count (void); -+static void xtensa_create_trampoline_frag (bfd_boolean); -+static void xtensa_maybe_create_trampoline_frag (void); -+struct trampoline_frag; -+static int init_trampoline_frag (struct trampoline_frag *); - - /* Alignment Functions. */ - -@@ -521,6 +527,7 @@ - static void tinsn_immed_from_frag (TInsn *, fragS *, int); - static int get_num_stack_text_bytes (IStack *); - static int get_num_stack_literal_bytes (IStack *); -+static bfd_boolean tinsn_to_slotbuf (xtensa_format, int, TInsn *, xtensa_insnbuf); - - /* vliw_insn functions. */ - -@@ -688,7 +695,10 @@ - option_prefer_l32r, - option_prefer_const16, - -- option_target_hardware -+ option_target_hardware, -+ -+ option_trampolines, -+ option_no_trampolines, - }; - - const char *md_shortopts = ""; -@@ -761,6 +771,9 @@ - - { "target-hardware", required_argument, NULL, option_target_hardware }, - -+ { "trampolines", no_argument, NULL, option_trampolines }, -+ { "no-trampolines", no_argument, NULL, option_no_trampolines }, -+ - { NULL, no_argument, NULL, 0 } - }; - -@@ -941,6 +954,14 @@ - directive_state[directive_transform] = FALSE; - return 1; - -+ case option_trampolines: -+ use_trampolines = TRUE; -+ return 1; -+ -+ case option_no_trampolines: -+ use_trampolines = FALSE; -+ return 1; -+ - default: - return 0; - } -@@ -964,7 +985,9 @@ - flix bundles\n\ - --no-allow-flix neither allow hand-written nor generate\n\ - flix bundles\n\ -- --rename-section old=new Rename section 'old' to 'new'\n", stream); -+ --rename-section old=new Rename section 'old' to 'new'\n\ -+ --[no-]trampolines [Do not] generate trampolines (jumps to jumps)\n\ -+ when jumps do not reach their targets\n", stream); - } - - -@@ -5569,6 +5592,8 @@ - - /* We've just emitted a new instruction so clear the list of labels. */ - xtensa_clear_insn_labels (); -+ -+ xtensa_check_frag_count (); - } - - -@@ -6373,6 +6398,8 @@ - xg_assemble_vliw_tokens (vinsn); - - xg_clear_vinsn (vinsn); -+ -+ xtensa_check_frag_count (); - } - - -@@ -7141,6 +7168,7 @@ - RELAX_UNREACHABLE, - frag_now->fr_symbol, frag_now->fr_offset, NULL); - xtensa_set_frag_assembly_state (frag_now); -+ xtensa_maybe_create_trampoline_frag (); - } - else if (is_branch && do_align_targets ()) - { -@@ -7223,9 +7251,164 @@ - xtensa_sanity_check (); - - xtensa_add_config_info (); -+ -+ xtensa_check_frag_count (); -+} -+ -+ -+struct trampoline_frag -+{ -+ struct trampoline_frag *next; -+ bfd_boolean needs_jump_around; -+ fragS *fragP; -+ fixS *fixP; -+}; -+ -+struct trampoline_seg -+{ -+ struct trampoline_seg *next; -+ asection *seg; -+ struct trampoline_frag trampoline_list; -+}; -+ -+static struct trampoline_seg trampoline_seg_list; -+#define J_RANGE (128 * 1024) -+ -+static int unreachable_count = 0; -+ -+ -+static void -+xtensa_maybe_create_trampoline_frag (void) -+{ -+ if (!use_trampolines) -+ return; -+ -+ /* We create an area for possible trampolines every 10 unreachable frags. -+ These are preferred over the ones not preceded by an unreachable frag, -+ because we don't have to jump around them. This function is called after -+ each RELAX_UNREACHABLE frag is created. */ -+ -+ if (++unreachable_count > 10) -+ { -+ xtensa_create_trampoline_frag (FALSE); -+ clear_frag_count (); -+ unreachable_count = 0; -+ } -+} -+ -+static void -+xtensa_check_frag_count (void) -+{ -+ if (!use_trampolines || frag_now->tc_frag_data.is_no_transform) -+ return; -+ -+ /* We create an area for possible trampolines every 8000 frags or so. This -+ is an estimate based on the max range of a "j" insn (+/-128K) divided -+ by a typical frag byte count (16), minus a few for safety. This function -+ is called after each source line is processed. */ -+ -+ if (get_frag_count () > 8000) -+ { -+ xtensa_create_trampoline_frag (TRUE); -+ clear_frag_count (); -+ unreachable_count = 0; -+ } -+} -+ -+static xtensa_insnbuf trampoline_buf = NULL; -+static xtensa_insnbuf trampoline_slotbuf = NULL; -+ -+#define TRAMPOLINE_FRAG_SIZE 3000 -+ -+static void -+xtensa_create_trampoline_frag (bfd_boolean needs_jump_around) -+{ -+ /* Emit a frag where we can place intermediate jump instructions, -+ in case we need to jump farther than 128K bytes. -+ Each jump instruction takes three bytes. -+ We allocate enough for 1000 trampolines in each frag. -+ If that's not enough, oh well. */ -+ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ struct trampoline_frag *tf; -+ char *varP; -+ fragS *fragP; -+ int size = TRAMPOLINE_FRAG_SIZE; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ if (ts->seg == now_seg) -+ break; -+ } -+ -+ if (ts == NULL) -+ { -+ ts = (struct trampoline_seg *)xcalloc(sizeof (struct trampoline_seg), 1); -+ ts->next = trampoline_seg_list.next; -+ trampoline_seg_list.next = ts; -+ ts->seg = now_seg; -+ } -+ -+ frag_wane (frag_now); -+ frag_new (0); -+ xtensa_set_frag_assembly_state (frag_now); -+ varP = frag_var (rs_machine_dependent, size, size, RELAX_TRAMPOLINE, NULL, 0, NULL); -+ fragP = (fragS *)(varP - SIZEOF_STRUCT_FRAG); -+ if (trampoline_buf == NULL) -+ { -+ trampoline_buf = xtensa_insnbuf_alloc (xtensa_default_isa); -+ trampoline_slotbuf = xtensa_insnbuf_alloc (xtensa_default_isa); -+ } -+ tf = (struct trampoline_frag *)xmalloc(sizeof (struct trampoline_frag)); -+ tf->next = ts->trampoline_list.next; -+ ts->trampoline_list.next = tf; -+ tf->needs_jump_around = needs_jump_around; -+ tf->fragP = fragP; -+ tf->fixP = NULL; -+} -+ -+ -+static struct trampoline_seg * -+find_trampoline_seg (asection *seg) -+{ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ if (ts->seg == seg) -+ return ts; -+ } -+ -+ return NULL; - } - - -+void dump_trampolines (void); -+ -+void -+dump_trampolines (void) -+{ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ asection *seg = ts->seg; -+ -+ if (seg == NULL) -+ continue; -+ fprintf(stderr, "SECTION %s\n", seg->name); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ for ( ; tf; tf = tf->next) -+ { -+ if (tf->fragP == NULL) -+ continue; -+ fprintf(stderr, " 0x%08x: fix=%d, jump_around=%s\n", -+ (int)tf->fragP->fr_address, (int)tf->fragP->fr_fix, -+ tf->needs_jump_around ? "T" : "F"); -+ } -+ } -+} -+ - static void - xtensa_cleanup_align_frags (void) - { -@@ -8709,6 +8892,149 @@ - new_stretch += relax_frag_for_align (fragP, stretch); - break; - -+ case RELAX_TRAMPOLINE: -+ if (fragP->tc_frag_data.relax_seen) -+ { -+ segment_info_type *seginfo = seg_info (now_seg); -+ fragS *fP; /* The out-of-range jump. */ -+ fixS *fixP; -+ -+ /* Scan for jumps that will not reach. */ -+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ { -+ symbolS *s = fixP->fx_addsy; -+ xtensa_opcode opcode; -+ int target; -+ int addr; -+ int delta; -+ -+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -+ continue; -+ xtensa_insnbuf_from_chars (isa, trampoline_buf, -+ (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where, -+ 0); -+ fmt = xtensa_format_decode (isa, trampoline_buf); -+ gas_assert (fmt != XTENSA_UNDEFINED); -+ slot = fixP->tc_fix_data.slot; -+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -+ if (opcode != xtensa_j_opcode) -+ continue; -+ target = S_GET_VALUE (s); -+ addr = fixP->fx_frag->fr_address; -+ delta = target - addr + stretch; -+ if (delta > J_RANGE || delta < -1 * J_RANGE) -+ { /* Found an out-of-range jump; scan the list of trampolines for the best match. */ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ struct trampoline_frag *prev = &ts->trampoline_list; -+ int lower = (target < addr) ? target : addr; -+ int upper = (target > addr) ? target : addr; -+ int midpoint = lower + (upper - lower) / 2; -+ -+ if ((upper - lower) > 2 * J_RANGE) -+ { -+ /* One trampoline won't suffice; we need multiple jumps. -+ Jump to the trampoline that's farthest, but still in -+ range relative to the original "j" instruction. */ -+ for ( ; tf; prev = tf, tf = tf->next ) -+ { -+ int this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ int next_addr = (tf->next) ? tf->next->fragP->fr_address + tf->next->fragP->fr_fix : 0 ; -+ -+ if (addr == lower) -+ { -+ /* Forward jump. */ -+ if (this_addr - addr < J_RANGE) -+ break; -+ } -+ else -+ { -+ /* Backward jump. */ -+ if (next_addr == 0 || addr - next_addr > J_RANGE) -+ break; -+ } -+ } -+ } -+ else -+ { -+ struct trampoline_frag *best_tf = NULL; -+ int best_delta = 0; -+ -+ for ( ; tf; prev = tf, tf = tf->next ) -+ { -+ int this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ int this_delta = abs (this_addr - midpoint); -+ -+ if (!best_tf || this_delta < best_delta) -+ { -+ best_tf = tf; -+ best_delta = this_delta; -+ } -+ } -+ tf = best_tf; -+ } -+ if (tf->fragP == fragP) -+ { -+ int trampaddr = fragP->fr_address + fragP->fr_fix; -+ -+ if (abs (addr - trampaddr) < J_RANGE) -+ { /* The trampoline is in range of original; fix it! */ -+ fixS *newfixP; -+ int offset; -+ TInsn insn; -+ symbolS *lsym; -+ -+ new_stretch += init_trampoline_frag (tf); -+ offset = fragP->fr_fix; /* Where to assemble the j insn. */ -+ lsym = fragP->fr_symbol; -+ fP = fixP->fx_frag; -+ /* Assemble a jump to the target label here. */ -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], lsym, offset); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)fragP->fr_literal + offset, 3); -+ fragP->fr_fix += 3; -+ fragP->fr_var -= 3; -+ /* Add a fix-up for the original j insn. */ -+ newfixP = fix_new (fP, fixP->fx_where, fixP->fx_size, lsym, fragP->fr_fix - 3, TRUE, fixP->fx_r_type); -+ newfixP->fx_no_overflow = 1; -+ newfixP->tc_fix_data.X_add_symbol = lsym; -+ newfixP->tc_fix_data.X_add_number = offset; -+ newfixP->tc_fix_data.slot = slot; -+ /* Move the fix-up from the original j insn to this one. */ -+ fixP->fx_frag = fragP; -+ fixP->fx_where = fragP->fr_fix - 3; -+ fixP->tc_fix_data.slot = 0; -+ /* Adjust the jump around this trampoline (if present). */ -+ if (tf->fixP != NULL) -+ { -+ tf->fixP->fx_offset += 3; -+ } -+ new_stretch += 3; -+ fragP->tc_frag_data.relax_seen = FALSE; /* Need another pass. */ -+ /* Do we have room for more? */ -+ if (fragP->fr_var < 3) -+ { /* No, convert to fill. */ -+ frag_wane (fragP); -+ fragP->fr_subtype = 0; -+ /* Remove from the trampoline_list. */ -+ prev->next = tf->next; -+ break; -+ } -+ } -+ } -+ } -+ } -+ } -+ break; -+ - default: - as_bad (_("bad relaxation state")); - } -@@ -9147,6 +9473,200 @@ - } - - -+static struct trampoline_frag * -+search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only) -+{ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = (ts) ? ts->trampoline_list.next : NULL; -+ struct trampoline_frag *best_tf = NULL; -+ int best_delta = 0; -+ int best_addr = 0; -+ symbolS *sym = tinsn->tok[0].X_add_symbol; -+ offsetT target = S_GET_VALUE (sym) + tinsn->tok[0].X_add_number; -+ offsetT addr = fragP->fr_address; -+ offsetT lower = (addr < target) ? addr : target; -+ offsetT upper = (addr > target) ? addr : target; -+ int delta = upper - lower; -+ offsetT midpoint = lower + delta / 2; -+ int this_delta = -1; -+ int this_addr = -1; -+ -+ if (delta > 2 * J_RANGE) -+ { -+ /* One trampoline won't do; we need multiple. -+ Choose the farthest trampoline that's still in range of the original -+ and let a later pass finish the job. */ -+ for ( ; tf; tf = tf->next) -+ { -+ int next_addr = (tf->next) ? tf->next->fragP->fr_address + tf->next->fragP->fr_fix : 0; -+ -+ this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ if (lower == addr) -+ { -+ /* Forward jump. */ -+ if (this_addr - addr < J_RANGE) -+ break; -+ } -+ else -+ { -+ /* Backward jump. */ -+ if (next_addr == 0 || addr - next_addr > J_RANGE) -+ break; -+ } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; -+ } -+ } -+ for ( ; tf; tf = tf->next) -+ { -+ this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ this_delta = abs (this_addr - midpoint); -+ if (unreachable_only && tf->needs_jump_around) -+ continue; -+ if (!best_tf || this_delta < best_delta) -+ { -+ best_tf = tf; -+ best_delta = this_delta; -+ best_addr = this_addr; -+ } -+ } -+ -+ if (best_tf && -+ best_delta < J_RANGE && -+ abs(best_addr - lower) < J_RANGE && -+ abs(best_addr - upper) < J_RANGE) -+ return best_tf; -+ -+ return NULL; /* No suitable trampoline found. */ -+} -+ -+ -+static struct trampoline_frag * -+get_best_trampoline (TInsn *tinsn, fragS *fragP) -+{ -+ struct trampoline_frag *tf = NULL; -+ -+ tf = search_trampolines (tinsn, fragP, TRUE); /* Try unreachable first. */ -+ -+ if (tf == NULL) -+ tf = search_trampolines (tinsn, fragP, FALSE); /* Try ones needing a jump-around, too. */ -+ -+ return tf; -+} -+ -+ -+static void -+check_and_update_trampolines (void) -+{ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ struct trampoline_frag *prev = &ts->trampoline_list; -+ -+ for ( ; tf; prev = tf, tf = tf->next) -+ { -+ if (tf->fragP->fr_var < 3) -+ { -+ frag_wane (tf->fragP); -+ prev->next = tf->next; -+ tf->fragP = NULL; -+ } -+ } -+} -+ -+ -+static int -+init_trampoline_frag (struct trampoline_frag *trampP) -+{ -+ fragS *fp = trampP->fragP; -+ int growth = 0; -+ -+ if (fp->fr_fix == 0) -+ { -+ symbolS *lsym; -+ char label[10 + 2 * sizeof(fp)]; -+ sprintf (label, ".L0_TR_%p", fp); -+ -+ lsym = (symbolS *)local_symbol_make (label, now_seg, 0, fp); -+ fp->fr_symbol = lsym; -+ if (trampP->needs_jump_around) -+ { -+ /* Add a jump around this block of jumps, in case -+ control flows into this block. */ -+ fixS *fixP; -+ TInsn insn; -+ xtensa_format fmt; -+ xtensa_isa isa = xtensa_default_isa; -+ -+ fp->tc_frag_data.is_insn = 1; -+ /* Assemble a jump insn. */ -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], lsym, 3); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)fp->fr_literal, 3); -+ fp->fr_fix += 3; -+ fp->fr_var -= 3; -+ growth = 3; -+ fixP = fix_new (fp, 0, 3, lsym, 3, TRUE, BFD_RELOC_XTENSA_SLOT0_OP); -+ trampP->fixP = fixP; -+ } -+ } -+ return growth; -+} -+ -+ -+static int -+add_jump_to_trampoline (struct trampoline_frag *trampP, fragS *origfrag) -+{ -+ fragS *tramp = trampP->fragP; -+ fixS *fixP; -+ int offset = tramp->fr_fix; /* Where to assemble the j insn. */ -+ TInsn insn; -+ symbolS *lsym; -+ symbolS *tsym; -+ int toffset; -+ xtensa_format fmt; -+ xtensa_isa isa = xtensa_default_isa; -+ int growth = 0; -+ -+ lsym = tramp->fr_symbol; -+ /* Assemble a jump to the target label in the trampoline frag. */ -+ tsym = origfrag->tc_frag_data.slot_symbols[0]; -+ toffset = origfrag-> tc_frag_data.slot_offsets[0]; -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], tsym, toffset); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)tramp->fr_literal + offset, 3); -+ tramp->fr_fix += 3; -+ tramp->fr_var -= 3; -+ growth = 3; -+ /* add a fix-up for the trampoline jump. */ -+ fixP = fix_new (tramp, tramp->fr_fix - 3, 3, tsym, toffset, TRUE, BFD_RELOC_XTENSA_SLOT0_OP); -+ /* Modify the jump at the start of this trampoline to point past the newly-added jump. */ -+ fixP = trampP->fixP; -+ if (fixP) -+ fixP->fx_offset += 3; -+ /* Modify the original j to point here. */ -+ origfrag->tc_frag_data.slot_symbols[0] = lsym; -+ origfrag->tc_frag_data.slot_offsets[0] = tramp->fr_fix - 3; -+ /* If trampoline is full, remove it from the list. */ -+ check_and_update_trampolines (); -+ -+ return growth; -+} -+ -+ - static long - relax_frag_immed (segT segP, - fragS *fragP, -@@ -9285,6 +9805,37 @@ - if (negatable_branch && istack.ninsn > 1) - update_next_frag_state (fragP); - -+ /* If last insn is a jump, and it cannot reach its target, try to find a trampoline. */ -+ if (istack.ninsn > 2 && -+ istack.insn[istack.ninsn - 1].insn_type == ITYPE_LABEL && -+ istack.insn[istack.ninsn - 2].insn_type == ITYPE_INSN && -+ istack.insn[istack.ninsn - 2].opcode == xtensa_j_opcode) -+ { -+ TInsn *jinsn = &istack.insn[istack.ninsn - 2]; -+ -+ if (!xg_symbolic_immeds_fit (jinsn, segP, fragP, fragP->fr_offset, total_text_diff)) -+ { -+ struct trampoline_frag *tf = get_best_trampoline (jinsn, fragP); -+ -+ if (tf) -+ { -+ this_text_diff += init_trampoline_frag (tf); -+ this_text_diff += add_jump_to_trampoline (tf, fragP); -+ } -+ else -+ { -+ /* If target symbol is undefined, assume it will reach once linked. */ -+ expressionS *exp = &istack.insn[istack.ninsn - 2].tok[0]; -+ -+ if (exp->X_op == O_symbol && S_IS_DEFINED (exp->X_add_symbol)) -+ { -+ as_bad_where (fragP->fr_file, fragP->fr_line, -+ _("jump target out of range; no usable trampoline found")); -+ } -+ } -+ } -+ } -+ - return this_text_diff; - } - -@@ -9405,6 +9956,9 @@ - else - as_bad (_("invalid relaxation fragment result")); - break; -+ -+ case RELAX_TRAMPOLINE: -+ break; - } - - fragp->fr_var = 0; ---- a/gas/config/tc-xtensa.h -+++ b/gas/config/tc-xtensa.h -@@ -181,6 +181,11 @@ - prevent the linker from changing the size of any frag between the - section start and the org frag. */ - -+ RELAX_TRAMPOLINE, -+ /* Every few thousand frags, we insert one of these, just in case we may -+ need some space for a trampoline (jump to a jump) because the function -+ has gotten too big. If not needed, it disappears. */ -+ - RELAX_NONE - }; - ---- a/gas/frags.c -+++ b/gas/frags.c -@@ -26,6 +26,20 @@ - - extern fragS zero_address_frag; - extern fragS predefined_address_frag; -+ -+static int totalfrags; -+ -+int -+get_frag_count (void) -+{ -+ return totalfrags; -+} -+ -+void -+clear_frag_count (void) -+{ -+ totalfrags = 0; -+} - - /* Initialization for frag routines. */ - -@@ -72,6 +86,7 @@ - ptr = (fragS *) obstack_alloc (ob, SIZEOF_STRUCT_FRAG); - obstack_alignment_mask (ob) = oalign; - memset (ptr, 0, SIZEOF_STRUCT_FRAG); -+ totalfrags++; - return ptr; - } - ---- a/gas/frags.h -+++ b/gas/frags.h -@@ -157,4 +157,7 @@ - - bfd_boolean frag_offset_fixed_p (const fragS *, const fragS *, offsetT *); - -+int get_frag_count (void); -+void clear_frag_count (void); -+ - #endif /* FRAGS_H */ ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -82,6 +82,7 @@ - run_dump_test "pcrel" - run_dump_test "weak-call" - run_dump_test "jlong" -+ run_dump_test "trampoline" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -0,0 +1,26 @@ -+#as: -+#objdump: -d -+#name: trampolines relaxation -+ -+.*: +file format .*xtensa.* -+#... -+.*0:.*j.0x1194c -+.*3:.*j.0x1194f -+.*6:.*j.0x11952 -+.*9:.*j.0x1d4e4 -+#... -+.*11949:.*j.0x11955 -+.*1194c:.*j.0x24a0e -+.*1194f:.*j.0x24a0e -+.*11952:.*j.0x24a11 -+#... -+.*1d4e1:.*j.0x1d4e7 -+.*1d4e4:.*j.0x33462 -+#... -+.*24a0e:.*j.0x24a0e -+.*24a11:.*j.0x24a11 -+#... -+.*3345f:.*ret -+.*33462:.*j.0x49407 -+#... -+.*49407:.*j.0x49407 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -0,0 +1,21 @@ -+ .text -+ j 1f -+ j 1f -+ j 2f -+ j 3f -+ .rep 25000 -+99: -+ and a2, a2, a3 -+ bne a2, a3, 99b -+ .endr -+1: -+ j 1b -+2: -+ j 2b -+ -+ .rep 25000 -+ and a2, a2, a3 -+ _ret -+ .endr -+3: -+ j 3b diff --git a/packages/binutils/2.23.2/0007-xtensa-gas-first-frag-alignment.patch b/packages/binutils/2.23.2/0007-xtensa-gas-first-frag-alignment.patch deleted file mode 100644 index 88e6990..0000000 --- a/packages/binutils/2.23.2/0007-xtensa-gas-first-frag-alignment.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 15 Apr 2014 19:12:46 +0400 -Subject: [PATCH] Fix alignment for the first section frag on xtensa - -Linking object files produced by partial linking with link-time -relaxation enabled sometimes fails with the following error message: - -dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63) - -This happens because no basic block with an XTENSA_PROP_ALIGN flag in the -property table is generated for the first basic block, even if the -.align directive is present. -It was believed that the first frag alignment could be derived from the -section alignment, but this was not implemented for the partial linking -case: after partial linking first frag of a section may become not -first, but no additional alignment frag is inserted before it. -Basic block for such frag may be merged with previous basic block into -extended basic block during relaxation pass losing its alignment -restrictions. - -Fix this by always recording alignment for the first section frag. - -2014-04-22 Max Filippov - -gas/ - * config/tc-xtensa.c (xtensa_handle_align): record alignment for the - first section frag. - ---- -Backported from: a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 -Changes to Changelog files and tests are dropped. - - gas/config/tc-xtensa.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5610,7 +5610,6 @@ - && ! fragP->tc_frag_data.is_literal - && (fragP->fr_type == rs_align - || fragP->fr_type == rs_align_code) -- && fragP->fr_address + fragP->fr_fix > 0 - && fragP->fr_offset > 0 - && now_seg != bss_section) - { diff --git a/packages/binutils/2.23.2/0008-xtensa-gas-ld-diff-relocation-signed.patch b/packages/binutils/2.23.2/0008-xtensa-gas-ld-diff-relocation-signed.patch deleted file mode 100644 index 1989e0a..0000000 --- a/packages/binutils/2.23.2/0008-xtensa-gas-ld-diff-relocation-signed.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 6a17eba5358549d0d6d195bb22b34cdbc068def2 Mon Sep 17 00:00:00 2001 -From: Volodymyr Arbatov -Date: Mon, 6 May 2013 09:43:21 -0800 -Subject: [PATCH] Use signed data type for R_XTENSA_DIFF* relocation offsets. - -R_XTENSA_DIFF relocation offsets are in fact signed. Treat them as such. -Add testcase that examines ld behaviour on R_XTENSA_DIFF relocation -changing sign during relaxation. - -2014-05-02 Volodymyr Arbatov - David Weatherford - Max Filippov - -bfd/ - * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as - signed. - -gas/ - * config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF* - fixups as signed. ---- -Backported from: 1058c7532d0b012ac329219264ddad59049fb6e6 -Changes to Changelog files and tests are dropped. - - bfd/elf32-xtensa.c | 32 +++++++++++++++++--------------- - gas/config/tc-xtensa.c | 3 +++ - 2 files changed, 20 insertions(+), 15 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -223,11 +223,11 @@ - FALSE, 0, 0, FALSE), - - /* Relocations for supporting difference of symbols. */ -- HOWTO (R_XTENSA_DIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF8, 0, 0, 8, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF8", FALSE, 0, 0xff, FALSE), -- HOWTO (R_XTENSA_DIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF16, 0, 1, 16, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF16", FALSE, 0, 0xffff, FALSE), -- HOWTO (R_XTENSA_DIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF32, 0, 2, 32, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF32", FALSE, 0, 0xffffffff, FALSE), - - /* General immediate operand relocations. */ -@@ -9016,7 +9016,8 @@ - || r_type == R_XTENSA_DIFF16 - || r_type == R_XTENSA_DIFF32) - { -- bfd_vma diff_value = 0, new_end_offset, diff_mask = 0; -+ bfd_signed_vma diff_value = 0; -+ bfd_vma new_end_offset, diff_mask = 0; - - if (bfd_get_section_limit (abfd, sec) < old_source_offset) - { -@@ -9030,15 +9031,15 @@ - { - case R_XTENSA_DIFF8: - diff_value = -- bfd_get_8 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_8 (abfd, &contents[old_source_offset]); - break; - case R_XTENSA_DIFF16: - diff_value = -- bfd_get_16 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_16 (abfd, &contents[old_source_offset]); - break; - case R_XTENSA_DIFF32: - diff_value = -- bfd_get_32 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_32 (abfd, &contents[old_source_offset]); - break; - } - -@@ -9050,24 +9051,25 @@ - switch (r_type) - { - case R_XTENSA_DIFF8: -- diff_mask = 0xff; -- bfd_put_8 (abfd, diff_value, -+ diff_mask = 0x7f; -+ bfd_put_signed_8 (abfd, diff_value, - &contents[old_source_offset]); - break; - case R_XTENSA_DIFF16: -- diff_mask = 0xffff; -- bfd_put_16 (abfd, diff_value, -+ diff_mask = 0x7fff; -+ bfd_put_signed_16 (abfd, diff_value, - &contents[old_source_offset]); - break; - case R_XTENSA_DIFF32: -- diff_mask = 0xffffffff; -- bfd_put_32 (abfd, diff_value, -+ diff_mask = 0x7fffffff; -+ bfd_put_signed_32 (abfd, diff_value, - &contents[old_source_offset]); - break; - } - -- /* Check for overflow. */ -- if ((diff_value & ~diff_mask) != 0) -+ /* Check for overflow. Sign bits must be all zeroes or all ones */ -+ if ((diff_value & ~diff_mask) != 0 && -+ (diff_value & ~diff_mask) != (-1 & ~diff_mask)) - { - (*link_info->callbacks->reloc_dangerous) - (link_info, _("overflow after relaxation"), ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5868,12 +5868,15 @@ - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -+ fixP->fx_signed = 1; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -+ fixP->fx_signed = 1; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -+ fixP->fx_signed = 1; - break; - default: - break; diff --git a/packages/binutils/2.23.2/0009-xtensa-fix-ld-segfault-when-linking-linux-modules.patch b/packages/binutils/2.23.2/0009-xtensa-fix-ld-segfault-when-linking-linux-modules.patch deleted file mode 100644 index 57cd0bf..0000000 --- a/packages/binutils/2.23.2/0009-xtensa-fix-ld-segfault-when-linking-linux-modules.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 10 Jul 2014 01:47:33 +0400 -Subject: [PATCH] Fix xtensa ld segfault when linking linux modules - -is_inconsistent_linkonce_section makes an assumption that section name -that starts with ".gnu.linkonce.prop." has one more dot in its suffix. -However gas generates such section name by insertion of "prop." right -after ".gnu.linkonce." part of the name of the original section. So, for -section named ".gnu.linkonce.this_module" corresponding property section -name does not satisfy the assumption. Such section names are common in -linux modules. This bug was exposed by the patch "a35d5e8 Fix alignment -for the first section frag on xtensa", that makes gas produce property -section for each section that has ".align" directive in it. - -Use suffix that immediately follows ".gnu.linkonce.prop." when there are -no more dots following it. - -2014-07-10 Max Filippov - -ld/ - * emultempl/xtensaelf.em (is_inconsistent_linkonce_section): - correctly handle missing dot in section name after - ".gnu.linkonce.prop.". ---- -Backported from: e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 -Changes to ld/ChangeLog file are dropped. - - ld/emultempl/xtensaelf.em | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/ld/emultempl/xtensaelf.em -+++ b/ld/emultempl/xtensaelf.em -@@ -1311,7 +1311,7 @@ - for Tensilica's XCC compiler. */ - name = sec_name + linkonce_len; - if (CONST_STRNEQ (name, "prop.")) -- name = strchr (name + 5, '.') + 1; -+ name = strchr (name + 5, '.') ? strchr (name + 5, '.') + 1 : name + 5; - else if (name[1] == '.' - && (name[0] == 'p' || name[0] == 'e' || name[0] == 'h')) - name += 2; diff --git a/packages/binutils/2.23.2/0010-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch b/packages/binutils/2.23.2/0010-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch deleted file mode 100644 index 5818667..0000000 --- a/packages/binutils/2.23.2/0010-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 7fc39194f8fb48914c995f8ec3826d50086f1ec0 Mon Sep 17 00:00:00 2001 -From: Sterling Augustine -Date: Tue, 25 Jan 2011 13:59:13 -0800 -Subject: [PATCH] Fix 'call8: call target out of range' xtensa ld relaxation - bug - -During link-time relaxation distance between cross-section call site and -its target may grow, producing 'call target out of range' error for -relaxed calls. Be more conservative when calculating whether or not a -callx can be converted to a straight call. - -2014-09-23 Sterling Augustine - -bfd/ - * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section - call relaxation use furthermost addresses where call source and - destination can be to check whether it's in the range of a direct - call. - -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -7128,10 +7128,43 @@ - || is_reloc_sym_weak (abfd, irel))) - return FALSE; - -- self_address = (sec->output_section->vma -- + sec->output_offset + irel->r_offset + 3); -- dest_address = (target_sec->output_section->vma -- + target_sec->output_offset + target_offset); -+ if (target_sec->output_section != sec->output_section) -+ { -+ /* If the two sections are sufficiently far away that relaxation -+ might take the call out of range, we can't simplify. For -+ example, a positive displacement call into another memory -+ could get moved to a lower address due to literal removal, -+ but the destination won't move, and so the displacment might -+ get larger. -+ -+ If the displacement is negative, assume the destination could -+ move as far back as the start of the output section. The -+ self_address will be at least as far into the output section -+ as it is prior to relaxation. -+ -+ If the displacement is postive, assume the destination will be in -+ it's pre-relaxed location (because relaxation only makes sections -+ smaller). The self_address could go all the way to the beginning -+ of the output section. */ -+ -+ dest_address = target_sec->output_section->vma; -+ self_address = sec->output_section->vma; -+ -+ if (sec->output_section->vma > target_sec->output_section->vma) -+ self_address += sec->output_offset + irel->r_offset + 3; -+ else -+ dest_address += bfd_get_section_limit (abfd, target_sec->output_section); -+ /* Call targets should be four-byte aligned. */ -+ dest_address = (dest_address + 3) & ~3; -+ } -+ else -+ { -+ -+ self_address = (sec->output_section->vma -+ + sec->output_offset + irel->r_offset + 3); -+ dest_address = (target_sec->output_section->vma -+ + target_sec->output_offset + target_offset); -+ } - - *is_reachable_p = pcrel_reloc_fits (direct_call_opcode, 0, - self_address, dest_address); diff --git a/packages/binutils/2.23.2/0011-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.23.2/0011-Fix-trampolines-search-code-for-conditional-branches.patch deleted file mode 100644 index a4e7b5c..0000000 --- a/packages/binutils/2.23.2/0011-Fix-trampolines-search-code-for-conditional-branches.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 25 Nov 2014 21:33:21 +0300 -Subject: [PATCH] Fix trampolines search code for conditional branches - -For conditional branches that need more than one trampoline to reach its -target assembler couldn't always find suitable trampoline because -post-loop condition check was placed inside the loop, resulting in -premature loop termination. Move check outside the loop. - -This fixes the following build errors seen when assembling huge files -produced by gcc: - Error: jump target out of range; no usable trampoline found - Error: operand 1 of 'j' has out of range value '307307' - -2014-11-25 Max Filippov - -gas/ - * config/tc-xtensa.c (search_trampolines): Move post-loop - condition check outside the search loop. - -gas/testsuite/ - * gas/xtensa/trampoline.d: Add expected output for branches. - * gas/xtensa/trampoline.s: Add test case for branches. - -Signed-off-by: Max Filippov ---- -Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3 -Changes to ChangeLogs are dropped. - - gas/config/tc-xtensa.c | 8 ++++---- - gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++ - gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++ - 3 files changed, 20 insertions(+), 4 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -9515,11 +9515,11 @@ - if (next_addr == 0 || addr - next_addr > J_RANGE) - break; - } -- if (abs (addr - this_addr) < J_RANGE) -- return tf; -- -- return NULL; - } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; - } - for ( ; tf; tf = tf->next) - { ---- a/gas/testsuite/gas/xtensa/trampoline.d -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -24,3 +24,12 @@ - .*33462:.*j.0x49407 - #... - .*49407:.*j.0x49407 -+.*4940a:.*beqz.n.a2,.0x4940f -+.*4940c:.*j.0x693d1 -+#... -+.*693d1:.*j.0x7ddd4 -+#... -+.*7ddd4:.*j.0x927f5 -+#... -+.*927f5:.*j.0x927f5 -+#... ---- a/gas/testsuite/gas/xtensa/trampoline.s -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -19,3 +19,10 @@ - .endr - 3: - j 3b -+ bnez a2, 4f -+ .rep 50000 -+ and a2, a2, a3 -+ _ret -+ .endr -+4: -+ j 4b diff --git a/packages/binutils/2.23.2/0012-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.23.2/0012-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch deleted file mode 100644 index 624ce11..0000000 --- a/packages/binutils/2.23.2/0012-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 14 May 2015 05:22:55 +0300 -Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections - -elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were -made local, that results in link failure with the following message: - - BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line - 3372 in elf_xtensa_finish_dynamic_sections - -elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by -relocation type. Relocation types are not changed when symbol becomes -local, but its PLT references are added to GOT references and -plt.refcount is set to 0. Such symbol cannot be unreferences in the -elf_xtensa_gc_sweep_hook and its extra references make calculated GOT -relocations section size not match number of GOT relocations. - -Fix it by treating PLT reference as GOT reference when plt.refcount is -not positive. - -2015-05-14 Max Filippov -bfd/ - * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference - as GOT reference when plt.refcount is not positive. - -Signed-off-by: Max Filippov ---- -Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388 -Changes to ChangeLog are dropped. - - bfd/elf32-xtensa.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -1362,10 +1362,14 @@ - { - if (is_plt) - { -+ /* If the symbol has been localized its plt.refcount got moved -+ to got.refcount. Handle it as GOT. */ - if (h->plt.refcount > 0) - h->plt.refcount--; -+ else -+ is_got = TRUE; - } -- else if (is_got) -+ if (is_got) - { - if (h->got.refcount > 0) - h->got.refcount--; diff --git a/packages/binutils/2.23.2/0013-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.23.2/0013-xtensa-fix-gas-segfault-with-text-section-literals.patch deleted file mode 100644 index 013534a..0000000 --- a/packages/binutils/2.23.2/0013-xtensa-fix-gas-segfault-with-text-section-literals.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2d0522e76e4afeeb2e104e0a4332d94fa0d2fbf6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 May 2015 06:46:15 +0300 -Subject: [PATCH] xtensa: fix gas segfault with --text-section-literals - -When --text-section-literals is used and code in the .init or .fini -emits literal in the absence of .literal_position, xtensa_move_literals -segfaults. - -Check that search_frag is non-NULL in the xtensa_move_literals and -report error otherwise. - -2015-05-26 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Check that - search_frag is non-NULL. Report error if literal frag is not - found. - -Signed-off-by: Max Filippov ---- -Backported from: 4de0562a4c69fef4952aa7e19d7bda359f02e8b4 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -10643,13 +10643,21 @@ - frchain_to = NULL; - frag_splice = &(frchain_from->frch_root); - -- while (!search_frag->tc_frag_data.literal_frag) -+ while (search_frag && !search_frag->tc_frag_data.literal_frag) - { - gas_assert (search_frag->fr_fix == 0 - || search_frag->fr_type == rs_align); - search_frag = search_frag->fr_next; - } - -+ if (!search_frag) -+ { -+ search_frag = frchain_from->frch_root; -+ as_bad_where (search_frag->fr_file, search_frag->fr_line, -+ _("literal pool location required for text-section-literals; specify with .literal_position")); -+ continue; -+ } -+ - gas_assert (search_frag->tc_frag_data.literal_frag->fr_subtype - == RELAX_LITERAL_POOL_BEGIN); - xtensa_switch_section_emit_state (&state, segment->seg, 0); diff --git a/packages/binutils/2.23.2/0014-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.23.2/0014-xtensa-fix-signedness-of-gas-relocations.patch deleted file mode 100644 index 7139f5e..0000000 --- a/packages/binutils/2.23.2/0014-xtensa-fix-signedness-of-gas-relocations.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6c7c5c477ef9ccf2d2548cf2ac3cec9bd3c9c5b6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 2 Feb 2016 17:11:38 +0300 -Subject: [PATCH] xtensa: fix signedness of gas relocations - -Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation -offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations -substituted for BFD_RELOC_*. This made it impossible to encode arbitrary -8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc -directive. Revert this part and add test. - -gas/ -2016-02-03 Max Filippov - * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF* - substitutions for BFD_RELOC_* as unsigned. - -Signed-off-by: Max Filippov ---- - gas/config/tc-xtensa.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5868,15 +5868,15 @@ - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - default: - break; diff --git a/packages/binutils/2.23.2/0015-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.23.2/0015-xtensa-fix-.init-.fini-literals-moving.patch deleted file mode 100644 index ee41d54..0000000 --- a/packages/binutils/2.23.2/0015-xtensa-fix-.init-.fini-literals-moving.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 16 Feb 2016 02:23:28 +0300 -Subject: [PATCH] xtensa: fix .init/.fini literals moving - -Despite the documentation and the comment in xtensa_move_literals, in -the presence of --text-section-literals and --auto-litpools literals are -moved from the separate literal sections into .init and .fini, because -the check in the xtensa_move_literals is incorrect. - -This moving was broken with introduction of auto litpools: some literals -now may be lost. This happens because literal frags emitted from .init -and .fini are not closed when new .literal_position marks new literal -pool. Then frag_align(2, 0, 0) changes type of the last literal frag to -rs_align. rs_align frags are skipped in the xtensa_move_literals. As a -result fixups against such literals are not moved out of .init.literal/ -.fini.literal sections producing the following assembler error: - - test.S: Warning: fixes not all moved from .init.literal - test.S: Internal error! - -Fix check for .init.literal/.fini.literal in the xtensa_move_literals -and don't let it move literals from there in the presence of ---text-section-literals or --auto-litpools. - -2016-02-17 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Fix check for - .init.literal/.fini.literal section name. - -Signed-off-by: Max Filippov ---- -Backported from: 4111950f363221c4641dc2f33bea61cc94f34906 - - gas/config/tc-xtensa.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -10624,6 +10624,10 @@ - segT dest_seg; - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; -+ const char *init_name = INIT_SECTION_NAME; -+ const char *fini_name = FINI_SECTION_NAME; -+ int init_name_len = strlen(init_name); -+ int fini_name_len = strlen(fini_name); - - mark_literal_frags (literal_head->next); - -@@ -10632,9 +10636,13 @@ - - for (segment = literal_head->next; segment; segment = segment->next) - { -+ const char *seg_name = segment_name (segment->seg); -+ - /* Keep the literals for .init and .fini in separate sections. */ -- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME) -- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME)) -+ if ((!memcmp (seg_name, init_name, init_name_len) && -+ !strcmp (seg_name + init_name_len, ".literal")) || -+ (!memcmp (seg_name, fini_name, fini_name_len) && -+ !strcmp (seg_name + fini_name_len, ".literal"))) - continue; - - frchain_from = seg_info (segment->seg)->frchainP; diff --git a/packages/binutils/2.23.2/0016-Fix-a-missing-include-of-string.patch b/packages/binutils/2.23.2/0016-Fix-a-missing-include-of-string.patch deleted file mode 100644 index b04033a..0000000 --- a/packages/binutils/2.23.2/0016-Fix-a-missing-include-of-string.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 23272f9927dc95c0cf6f7c5aabcc0551eca572c5 Mon Sep 17 00:00:00 2001 -From: Martin Liska -Date: Fri, 7 Jun 2019 07:36:52 +0200 -Subject: [PATCH] Fix a missing include of - -gold/ChangeLog: - -2019-06-07 Martin Liska - - * errors.h: Include string. ---- - 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 @@ - #define GOLD_ERRORS_H - - #include -+#include - - #include "gold-threads.h" - diff --git a/packages/binutils/2.23.2/chksum b/packages/binutils/2.23.2/chksum deleted file mode 100644 index 00d5702..0000000 --- a/packages/binutils/2.23.2/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 binutils-2.23.2.tar.bz2 4f8fa651e35ef262edc01d60fb45702e -sha1 binutils-2.23.2.tar.bz2 042c51073205ebaf88c272d6168f9deb71984b56 -sha256 binutils-2.23.2.tar.bz2 fe914e56fed7a9ec2eb45274b1f2e14b0d8b4f41906a5194eac6883cfe5c1097 -sha512 binutils-2.23.2.tar.bz2 dec753bbba008f1526b89cf1bd85feba78f362f5333ffdf93953fd131eb755976dec82a0a4ba38c43d2434da007137780cfe674de5414be5cf7ce7fbc6af6d16 -md5 binutils-2.23.2.tar.gz cda9dcc08c86ff2fd3f27e4adb250f6f -sha1 binutils-2.23.2.tar.gz c3fb8bab921678b3e40a14e648c89d24b1d6efec -sha256 binutils-2.23.2.tar.gz d42cb1d82ead40ef55edd978d31c22f2d105712fc3a280dbba42cf7a316d0d56 -sha512 binutils-2.23.2.tar.gz 75c3951567fd9758f5afda51cfe7451d6b027930681871fa6f251dac4f4e2ba14ba9a5cb95b223e753941fa9a74dd122206927872357828966d9fce5593e7e22 diff --git a/packages/binutils/2.23.2/version.desc b/packages/binutils/2.23.2/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/binutils/2.23.2/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/binutils/2.24/0000-fix-enable-install-libiberty-flag.patch b/packages/binutils/2.24/0000-fix-enable-install-libiberty-flag.patch deleted file mode 100644 index 9088d46..0000000 --- a/packages/binutils/2.24/0000-fix-enable-install-libiberty-flag.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 369be6981b26787b2685e3b8c6da779dae8ce35f Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Mon, 6 Jan 2014 18:15:31 +0000 -Subject: [PATCH] libiberty: fix --enable-install-libiberty flag [PR 56780] - -Commit 199570 fixed the --disable-install-libiberty behavior, but it also -added a bug where the enable path never works because the initial clear -of target_header_dir wasn't deleted. So we end up initializing properly -at the top only to reset it at the end all the time. - -[Arnout: adapt to match 2.24 tarball] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - libiberty/configure | 1 - - libiberty/configure.ac | 1 - - 2 files changed, 2 deletions(-) - ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -5507,7 +5507,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac -@@ -405,7 +405,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS diff --git a/packages/binutils/2.24/0001-dont-segv-on-initial-instructions-overflow.patch b/packages/binutils/2.24/0001-dont-segv-on-initial-instructions-overflow.patch deleted file mode 100644 index 02c56b3..0000000 --- a/packages/binutils/2.24/0001-dont-segv-on-initial-instructions-overflow.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: Alan Modra -Date: Fri, 20 Dec 2013 13:27:52 +0000 (+1030) -Subject: Don't segv on cie.initial_instructions[] overflow. -X-Git-Tag: gdb-7.7-release~148 -X-Git-Url: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff_plain;h=99d190fac4d2aab238cfc798dc5c28ab41456882 - -Don't segv on cie.initial_instructions[] overflow. - -Don't attempt to merge CIEs with a larger number of insns than will -fit in the buffer. - - * elf-eh-frame.c (cie_eq): Return false when initial_insn_length - is too large. - (cie_compute_hash): Don't exceed bounds of initial_instructions. - (_bfd_elf_parse_eh_frame): Always set initial_insn_length, and - save as much of insns to initial_instructions[] as will fit. ---- - ---- - bfd/elf-eh-frame.c | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - ---- a/bfd/elf-eh-frame.c -+++ b/bfd/elf-eh-frame.c -@@ -235,6 +235,7 @@ - && c1->lsda_encoding == c2->lsda_encoding - && c1->fde_encoding == c2->fde_encoding - && c1->initial_insn_length == c2->initial_insn_length -+ && c1->initial_insn_length <= sizeof (c1->initial_instructions) - && memcmp (c1->initial_instructions, - c2->initial_instructions, - c1->initial_insn_length) == 0) -@@ -254,6 +255,7 @@ - cie_compute_hash (struct cie *c) - { - hashval_t h = 0; -+ size_t len; - h = iterative_hash_object (c->length, h); - h = iterative_hash_object (c->version, h); - h = iterative_hash (c->augmentation, strlen (c->augmentation) + 1, h); -@@ -267,7 +269,10 @@ - h = iterative_hash_object (c->lsda_encoding, h); - h = iterative_hash_object (c->fde_encoding, h); - h = iterative_hash_object (c->initial_insn_length, h); -- h = iterative_hash (c->initial_instructions, c->initial_insn_length, h); -+ len = c->initial_insn_length; -+ if (len > sizeof (c->initial_instructions)) -+ len = sizeof (c->initial_instructions); -+ h = iterative_hash (c->initial_instructions, len, h); - c->hash = h; - return h; - } -@@ -762,11 +767,10 @@ - cie->fde_encoding = DW_EH_PE_absptr; - - initial_insn_length = end - buf; -- if (initial_insn_length <= sizeof (cie->initial_instructions)) -- { -- cie->initial_insn_length = initial_insn_length; -- memcpy (cie->initial_instructions, buf, initial_insn_length); -- } -+ cie->initial_insn_length = initial_insn_length; -+ memcpy (cie->initial_instructions, buf, -+ initial_insn_length <= sizeof (cie->initial_instructions) -+ ? initial_insn_length : sizeof (cie->initial_instructions)); - insns = buf; - buf += initial_insn_length; - ENSURE_NO_RELOCS (buf); diff --git a/packages/binutils/2.24/0002-sh-conf.patch b/packages/binutils/2.24/0002-sh-conf.patch deleted file mode 100644 index 40887dd..0000000 --- a/packages/binutils/2.24/0002-sh-conf.patch +++ /dev/null @@ -1,34 +0,0 @@ -r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -3793,7 +3793,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -1129,7 +1129,7 @@ - mips*-*-*) - noconfigdirs="$noconfigdirs gprof" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; diff --git a/packages/binutils/2.24/0003-ld_makefile_patch.patch b/packages/binutils/2.24/0003-ld_makefile_patch.patch deleted file mode 100644 index ab6a74f..0000000 --- a/packages/binutils/2.24/0003-ld_makefile_patch.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -54,7 +54,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -386,7 +386,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/packages/binutils/2.24/0004-check_ldrunpath_length.patch b/packages/binutils/2.24/0004-check_ldrunpath_length.patch deleted file mode 100644 index ce28120..0000000 --- a/packages/binutils/2.24/0004-check_ldrunpath_length.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1267,6 +1267,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1518,6 +1520,8 @@ - rpath = command_line.rpath; - if (rpath == NULL) - rpath = (const char *) getenv ("LD_RUN_PATH"); -+ if ((rpath) && (strlen (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.24/0005-fix-gold-pthreads-typo.patch b/packages/binutils/2.24/0005-fix-gold-pthreads-typo.patch deleted file mode 100644 index 40861f5..0000000 --- a/packages/binutils/2.24/0005-fix-gold-pthreads-typo.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - gold/gold-threads.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/gold/gold-threads.cc -+++ b/gold/gold-threads.cc -@@ -102,9 +102,9 @@ - if (err != 0) - gold_fatal(_("pthead_mutextattr_init failed: %s"), strerror(err)); - #ifdef PTHREAD_MUTEX_ADAPTIVE_NP -- err = pthread_mutextattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); - if (err != 0) -- gold_fatal(_("pthread_mutextattr_settype failed: %s"), strerror(err)); -+ gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err)); - #endif - - err = pthread_mutex_init(&this->mutex_, &attr); diff --git a/packages/binutils/2.24/0006-sysroot.patch b/packages/binutils/2.24/0006-sysroot.patch deleted file mode 100644 index 13b5288..0000000 --- a/packages/binutils/2.24/0006-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 -@@ -341,18 +341,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.24/0007-poison-system-directories.patch b/packages/binutils/2.24/0007-poison-system-directories.patch deleted file mode 100644 index dcd8c5c..0000000 --- a/packages/binutils/2.24/0007-poison-system-directories.patch +++ /dev/null @@ -1,273 +0,0 @@ -Patch adapted to binutils 2.23.2 and extended to use -BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. - -Signed-off-by: Thomas Petazzoni - -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.in (--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.in | 10 ++++++++++ - ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - ---- a/ld/config.in -+++ b/ld/config.in -@@ -11,6 +11,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 -@@ -774,6 +774,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_werror -@@ -1429,6 +1430,8 @@ - (and sometimes confusing) to the casual installer - --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) -@@ -4339,7 +4342,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.in -+++ b/ld/configure.in -@@ -87,6 +87,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/ldfile.c -+++ b/ld/ldfile.c -@@ -116,6 +116,23 @@ - new_dirs->name = concat (ld_sysroot, name + 1, (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/ld.h -+++ b/ld/ld.h -@@ -180,6 +180,14 @@ - /* If TRUE we'll just print the default output on stdout. */ - bfd_boolean print_output_format; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -266,6 +266,8 @@ - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2175,6 +2175,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/lexsup.c -+++ b/ld/lexsup.c -@@ -507,6 +507,14 @@ - OPTION_IGNORE_UNRESOLVED_SYMBOL}, - '\0', N_("SYMBOL"), - N_("Unresolved SYMBOL will not cause an error or warning"), 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) -@@ -519,6 +527,7 @@ - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1442,9 +1451,21 @@ - einfo (_("%P%X: --hash-size needs a numeric argument\n")); - } - 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; - } - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -138,6 +138,8 @@ - OPTION_DEFAULT_SCRIPT, - OPTION_PRINT_OUTPUT_FORMAT, - OPTION_IGNORE_UNRESOLVED_SYMBOL, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ diff --git a/packages/binutils/2.24/0008-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.24/0008-Fix-library-paths-on-PowerPC.patch deleted file mode 100644 index 887e93a..0000000 --- a/packages/binutils/2.24/0008-Fix-library-paths-on-PowerPC.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1b967f3cb0682dd05128ef13495c2dca2a04dc4e Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Sat, 11 Mar 2017 17:27:09 -0800 -Subject: [PATCH] Fix library paths on PowerPC - -First, need to match against just the CPU name, not the whole triplet. -Otherwise, the test picks up "*le-*" pattern from x86_64-apple-darwin -triplet. - -Second, it should be testing for $target, not $host. Host may be -little endian by default, and the sysroot directory layout shouldn't -depend on whether it is built on LE or BE machine. - -Signed-off-by: Alexey Neyman ---- - ld/emulparams/elf32ppccommon.sh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/ld/emulparams/elf32ppccommon.sh -+++ b/ld/emulparams/elf32ppccommon.sh -@@ -46,11 +46,11 @@ - - # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first. - # Similarly, look for 32 bit libraries in /lib32, /usr/lib32 etc. --case "$host":"$EMULATION_NAME" in -- *le-*:*64lppc*) LIBPATH_SUFFIX=64 ;; -- *le-*:*32lppc*) LIBPATH_SUFFIX=32 ;; -- *le-*:*64*) LIBPATH_SUFFIX=64be ;; -- *le-*:*32*) LIBPATH_SUFFIX=32be ;; -+case `echo "$target" | sed -e 's/-.*//'`:"$EMULATION_NAME" in -+ *le:*64lppc*) LIBPATH_SUFFIX=64 ;; -+ *le:*32lppc*) LIBPATH_SUFFIX=32 ;; -+ *le:*64*) LIBPATH_SUFFIX=64be ;; -+ *le:*32*) LIBPATH_SUFFIX=32be ;; - *:*64lppc*) LIBPATH_SUFFIX=64le ;; - *:*32lppc*) LIBPATH_SUFFIX=32le ;; - *:*64*) LIBPATH_SUFFIX=64 ;; diff --git a/packages/binutils/2.24/0009-xtensa-trampolines.patch b/packages/binutils/2.24/0009-xtensa-trampolines.patch deleted file mode 100644 index c5bfb01..0000000 --- a/packages/binutils/2.24/0009-xtensa-trampolines.patch +++ /dev/null @@ -1,827 +0,0 @@ -From a82c7d9030b67a6a76a5403d0e1641f9e42141ac Mon Sep 17 00:00:00 2001 -From: David Weatherford -Date: Fri, 21 Mar 2014 11:53:42 +0000 -Subject: [PATCH] Add support to the Xtensa target for creating trampolines for - out-of-range branches. - - * tc-xtensa.c (xtensa_check_frag_count, xtensa_create_trampoline_frag) - (xtensa_maybe_create_trampoline_frag, init_trampoline_frag) - (find_trampoline_seg, search_trampolines, get_best_trampoline) - (check_and_update_trampolines, add_jump_to_trampoline) - (dump_trampolines): New function. - (md_parse_option): Add cases for --[no-]trampolines options. - (md_assemble, finish_vinsn, xtensa_end): Add call to - xtensa_check_frag_count. - (xg_assemble_vliw_tokens): Add call to - xtensa_maybe_create_trampoline_frag. - (xtensa_relax_frag): Relax fragments with RELAX_TRAMPOLINE state. - (relax_frag_immed): Relax jump instructions that cannot reach its - target. - * tc-xtensa.h (xtensa_relax_statesE::RELAX_TRAMPOLINE): New relax - state. - - * as.texinfo: Document --[no-]trampolines command-line options. - * c-xtensa.texi: Document trampolines relaxation and command line - options. - - * frags.c (get_frag_count, clear_frag_count): New function. - (frag_alloc): Increment totalfrags counter. - * frags.h (get_frag_count, clear_frag_count): New function. - - * all.exp: Add test for trampoline relaxation. - * trampoline.d: Trampoline relaxation expected dump. - * trampoline.s: Trampoline relaxation test source. ---- -Backported from: a82c7d9030b67a6a76a5403d0e1641f9e42141ac -Changes to Changelog files are dropped. - - gas/config/tc-xtensa.c | 558 +++++++++++++++++++++++++++++++++- - gas/config/tc-xtensa.h | 5 - gas/frags.c | 15 - gas/frags.h | 3 - gas/testsuite/gas/xtensa/all.exp | 1 - gas/testsuite/gas/xtensa/trampoline.d | 26 + - gas/testsuite/gas/xtensa/trampoline.s | 21 + - 7 files changed, 627 insertions(+), 2 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/trampoline.d - create mode 100644 gas/testsuite/gas/xtensa/trampoline.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -469,6 +469,12 @@ - static void finish_vinsn (vliw_insn *); - static bfd_boolean emit_single_op (TInsn *); - static int total_frag_text_expansion (fragS *); -+static bfd_boolean use_trampolines = TRUE; -+static void xtensa_check_frag_count (void); -+static void xtensa_create_trampoline_frag (bfd_boolean); -+static void xtensa_maybe_create_trampoline_frag (void); -+struct trampoline_frag; -+static int init_trampoline_frag (struct trampoline_frag *); - - /* Alignment Functions. */ - -@@ -521,6 +527,7 @@ - static void tinsn_immed_from_frag (TInsn *, fragS *, int); - static int get_num_stack_text_bytes (IStack *); - static int get_num_stack_literal_bytes (IStack *); -+static bfd_boolean tinsn_to_slotbuf (xtensa_format, int, TInsn *, xtensa_insnbuf); - - /* vliw_insn functions. */ - -@@ -688,7 +695,10 @@ - option_prefer_l32r, - option_prefer_const16, - -- option_target_hardware -+ option_target_hardware, -+ -+ option_trampolines, -+ option_no_trampolines, - }; - - const char *md_shortopts = ""; -@@ -761,6 +771,9 @@ - - { "target-hardware", required_argument, NULL, option_target_hardware }, - -+ { "trampolines", no_argument, NULL, option_trampolines }, -+ { "no-trampolines", no_argument, NULL, option_no_trampolines }, -+ - { NULL, no_argument, NULL, 0 } - }; - -@@ -941,6 +954,14 @@ - directive_state[directive_transform] = FALSE; - return 1; - -+ case option_trampolines: -+ use_trampolines = TRUE; -+ return 1; -+ -+ case option_no_trampolines: -+ use_trampolines = FALSE; -+ return 1; -+ - default: - return 0; - } -@@ -964,7 +985,9 @@ - flix bundles\n\ - --no-allow-flix neither allow hand-written nor generate\n\ - flix bundles\n\ -- --rename-section old=new Rename section 'old' to 'new'\n", stream); -+ --rename-section old=new Rename section 'old' to 'new'\n\ -+ --[no-]trampolines [Do not] generate trampolines (jumps to jumps)\n\ -+ when jumps do not reach their targets\n", stream); - } - - -@@ -5569,6 +5592,8 @@ - - /* We've just emitted a new instruction so clear the list of labels. */ - xtensa_clear_insn_labels (); -+ -+ xtensa_check_frag_count (); - } - - -@@ -6373,6 +6398,8 @@ - xg_assemble_vliw_tokens (vinsn); - - xg_clear_vinsn (vinsn); -+ -+ xtensa_check_frag_count (); - } - - -@@ -7141,6 +7168,7 @@ - RELAX_UNREACHABLE, - frag_now->fr_symbol, frag_now->fr_offset, NULL); - xtensa_set_frag_assembly_state (frag_now); -+ xtensa_maybe_create_trampoline_frag (); - } - else if (is_branch && do_align_targets ()) - { -@@ -7223,9 +7251,164 @@ - xtensa_sanity_check (); - - xtensa_add_config_info (); -+ -+ xtensa_check_frag_count (); -+} -+ -+ -+struct trampoline_frag -+{ -+ struct trampoline_frag *next; -+ bfd_boolean needs_jump_around; -+ fragS *fragP; -+ fixS *fixP; -+}; -+ -+struct trampoline_seg -+{ -+ struct trampoline_seg *next; -+ asection *seg; -+ struct trampoline_frag trampoline_list; -+}; -+ -+static struct trampoline_seg trampoline_seg_list; -+#define J_RANGE (128 * 1024) -+ -+static int unreachable_count = 0; -+ -+ -+static void -+xtensa_maybe_create_trampoline_frag (void) -+{ -+ if (!use_trampolines) -+ return; -+ -+ /* We create an area for possible trampolines every 10 unreachable frags. -+ These are preferred over the ones not preceded by an unreachable frag, -+ because we don't have to jump around them. This function is called after -+ each RELAX_UNREACHABLE frag is created. */ -+ -+ if (++unreachable_count > 10) -+ { -+ xtensa_create_trampoline_frag (FALSE); -+ clear_frag_count (); -+ unreachable_count = 0; -+ } -+} -+ -+static void -+xtensa_check_frag_count (void) -+{ -+ if (!use_trampolines || frag_now->tc_frag_data.is_no_transform) -+ return; -+ -+ /* We create an area for possible trampolines every 8000 frags or so. This -+ is an estimate based on the max range of a "j" insn (+/-128K) divided -+ by a typical frag byte count (16), minus a few for safety. This function -+ is called after each source line is processed. */ -+ -+ if (get_frag_count () > 8000) -+ { -+ xtensa_create_trampoline_frag (TRUE); -+ clear_frag_count (); -+ unreachable_count = 0; -+ } -+} -+ -+static xtensa_insnbuf trampoline_buf = NULL; -+static xtensa_insnbuf trampoline_slotbuf = NULL; -+ -+#define TRAMPOLINE_FRAG_SIZE 3000 -+ -+static void -+xtensa_create_trampoline_frag (bfd_boolean needs_jump_around) -+{ -+ /* Emit a frag where we can place intermediate jump instructions, -+ in case we need to jump farther than 128K bytes. -+ Each jump instruction takes three bytes. -+ We allocate enough for 1000 trampolines in each frag. -+ If that's not enough, oh well. */ -+ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ struct trampoline_frag *tf; -+ char *varP; -+ fragS *fragP; -+ int size = TRAMPOLINE_FRAG_SIZE; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ if (ts->seg == now_seg) -+ break; -+ } -+ -+ if (ts == NULL) -+ { -+ ts = (struct trampoline_seg *)xcalloc(sizeof (struct trampoline_seg), 1); -+ ts->next = trampoline_seg_list.next; -+ trampoline_seg_list.next = ts; -+ ts->seg = now_seg; -+ } -+ -+ frag_wane (frag_now); -+ frag_new (0); -+ xtensa_set_frag_assembly_state (frag_now); -+ varP = frag_var (rs_machine_dependent, size, size, RELAX_TRAMPOLINE, NULL, 0, NULL); -+ fragP = (fragS *)(varP - SIZEOF_STRUCT_FRAG); -+ if (trampoline_buf == NULL) -+ { -+ trampoline_buf = xtensa_insnbuf_alloc (xtensa_default_isa); -+ trampoline_slotbuf = xtensa_insnbuf_alloc (xtensa_default_isa); -+ } -+ tf = (struct trampoline_frag *)xmalloc(sizeof (struct trampoline_frag)); -+ tf->next = ts->trampoline_list.next; -+ ts->trampoline_list.next = tf; -+ tf->needs_jump_around = needs_jump_around; -+ tf->fragP = fragP; -+ tf->fixP = NULL; -+} -+ -+ -+static struct trampoline_seg * -+find_trampoline_seg (asection *seg) -+{ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ if (ts->seg == seg) -+ return ts; -+ } -+ -+ return NULL; - } - - -+void dump_trampolines (void); -+ -+void -+dump_trampolines (void) -+{ -+ struct trampoline_seg *ts = trampoline_seg_list.next; -+ -+ for ( ; ts; ts = ts->next) -+ { -+ asection *seg = ts->seg; -+ -+ if (seg == NULL) -+ continue; -+ fprintf(stderr, "SECTION %s\n", seg->name); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ for ( ; tf; tf = tf->next) -+ { -+ if (tf->fragP == NULL) -+ continue; -+ fprintf(stderr, " 0x%08x: fix=%d, jump_around=%s\n", -+ (int)tf->fragP->fr_address, (int)tf->fragP->fr_fix, -+ tf->needs_jump_around ? "T" : "F"); -+ } -+ } -+} -+ - static void - xtensa_cleanup_align_frags (void) - { -@@ -8709,6 +8892,149 @@ - new_stretch += relax_frag_for_align (fragP, stretch); - break; - -+ case RELAX_TRAMPOLINE: -+ if (fragP->tc_frag_data.relax_seen) -+ { -+ segment_info_type *seginfo = seg_info (now_seg); -+ fragS *fP; /* The out-of-range jump. */ -+ fixS *fixP; -+ -+ /* Scan for jumps that will not reach. */ -+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ { -+ symbolS *s = fixP->fx_addsy; -+ xtensa_opcode opcode; -+ int target; -+ int addr; -+ int delta; -+ -+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -+ continue; -+ xtensa_insnbuf_from_chars (isa, trampoline_buf, -+ (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where, -+ 0); -+ fmt = xtensa_format_decode (isa, trampoline_buf); -+ gas_assert (fmt != XTENSA_UNDEFINED); -+ slot = fixP->tc_fix_data.slot; -+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -+ if (opcode != xtensa_j_opcode) -+ continue; -+ target = S_GET_VALUE (s); -+ addr = fixP->fx_frag->fr_address; -+ delta = target - addr + stretch; -+ if (delta > J_RANGE || delta < -1 * J_RANGE) -+ { /* Found an out-of-range jump; scan the list of trampolines for the best match. */ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ struct trampoline_frag *prev = &ts->trampoline_list; -+ int lower = (target < addr) ? target : addr; -+ int upper = (target > addr) ? target : addr; -+ int midpoint = lower + (upper - lower) / 2; -+ -+ if ((upper - lower) > 2 * J_RANGE) -+ { -+ /* One trampoline won't suffice; we need multiple jumps. -+ Jump to the trampoline that's farthest, but still in -+ range relative to the original "j" instruction. */ -+ for ( ; tf; prev = tf, tf = tf->next ) -+ { -+ int this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ int next_addr = (tf->next) ? tf->next->fragP->fr_address + tf->next->fragP->fr_fix : 0 ; -+ -+ if (addr == lower) -+ { -+ /* Forward jump. */ -+ if (this_addr - addr < J_RANGE) -+ break; -+ } -+ else -+ { -+ /* Backward jump. */ -+ if (next_addr == 0 || addr - next_addr > J_RANGE) -+ break; -+ } -+ } -+ } -+ else -+ { -+ struct trampoline_frag *best_tf = NULL; -+ int best_delta = 0; -+ -+ for ( ; tf; prev = tf, tf = tf->next ) -+ { -+ int this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ int this_delta = abs (this_addr - midpoint); -+ -+ if (!best_tf || this_delta < best_delta) -+ { -+ best_tf = tf; -+ best_delta = this_delta; -+ } -+ } -+ tf = best_tf; -+ } -+ if (tf->fragP == fragP) -+ { -+ int trampaddr = fragP->fr_address + fragP->fr_fix; -+ -+ if (abs (addr - trampaddr) < J_RANGE) -+ { /* The trampoline is in range of original; fix it! */ -+ fixS *newfixP; -+ int offset; -+ TInsn insn; -+ symbolS *lsym; -+ -+ new_stretch += init_trampoline_frag (tf); -+ offset = fragP->fr_fix; /* Where to assemble the j insn. */ -+ lsym = fragP->fr_symbol; -+ fP = fixP->fx_frag; -+ /* Assemble a jump to the target label here. */ -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], lsym, offset); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)fragP->fr_literal + offset, 3); -+ fragP->fr_fix += 3; -+ fragP->fr_var -= 3; -+ /* Add a fix-up for the original j insn. */ -+ newfixP = fix_new (fP, fixP->fx_where, fixP->fx_size, lsym, fragP->fr_fix - 3, TRUE, fixP->fx_r_type); -+ newfixP->fx_no_overflow = 1; -+ newfixP->tc_fix_data.X_add_symbol = lsym; -+ newfixP->tc_fix_data.X_add_number = offset; -+ newfixP->tc_fix_data.slot = slot; -+ /* Move the fix-up from the original j insn to this one. */ -+ fixP->fx_frag = fragP; -+ fixP->fx_where = fragP->fr_fix - 3; -+ fixP->tc_fix_data.slot = 0; -+ /* Adjust the jump around this trampoline (if present). */ -+ if (tf->fixP != NULL) -+ { -+ tf->fixP->fx_offset += 3; -+ } -+ new_stretch += 3; -+ fragP->tc_frag_data.relax_seen = FALSE; /* Need another pass. */ -+ /* Do we have room for more? */ -+ if (fragP->fr_var < 3) -+ { /* No, convert to fill. */ -+ frag_wane (fragP); -+ fragP->fr_subtype = 0; -+ /* Remove from the trampoline_list. */ -+ prev->next = tf->next; -+ break; -+ } -+ } -+ } -+ } -+ } -+ } -+ break; -+ - default: - as_bad (_("bad relaxation state")); - } -@@ -9147,6 +9473,200 @@ - } - - -+static struct trampoline_frag * -+search_trampolines (TInsn *tinsn, fragS *fragP, bfd_boolean unreachable_only) -+{ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = (ts) ? ts->trampoline_list.next : NULL; -+ struct trampoline_frag *best_tf = NULL; -+ int best_delta = 0; -+ int best_addr = 0; -+ symbolS *sym = tinsn->tok[0].X_add_symbol; -+ offsetT target = S_GET_VALUE (sym) + tinsn->tok[0].X_add_number; -+ offsetT addr = fragP->fr_address; -+ offsetT lower = (addr < target) ? addr : target; -+ offsetT upper = (addr > target) ? addr : target; -+ int delta = upper - lower; -+ offsetT midpoint = lower + delta / 2; -+ int this_delta = -1; -+ int this_addr = -1; -+ -+ if (delta > 2 * J_RANGE) -+ { -+ /* One trampoline won't do; we need multiple. -+ Choose the farthest trampoline that's still in range of the original -+ and let a later pass finish the job. */ -+ for ( ; tf; tf = tf->next) -+ { -+ int next_addr = (tf->next) ? tf->next->fragP->fr_address + tf->next->fragP->fr_fix : 0; -+ -+ this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ if (lower == addr) -+ { -+ /* Forward jump. */ -+ if (this_addr - addr < J_RANGE) -+ break; -+ } -+ else -+ { -+ /* Backward jump. */ -+ if (next_addr == 0 || addr - next_addr > J_RANGE) -+ break; -+ } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; -+ } -+ } -+ for ( ; tf; tf = tf->next) -+ { -+ this_addr = tf->fragP->fr_address + tf->fragP->fr_fix; -+ this_delta = abs (this_addr - midpoint); -+ if (unreachable_only && tf->needs_jump_around) -+ continue; -+ if (!best_tf || this_delta < best_delta) -+ { -+ best_tf = tf; -+ best_delta = this_delta; -+ best_addr = this_addr; -+ } -+ } -+ -+ if (best_tf && -+ best_delta < J_RANGE && -+ abs(best_addr - lower) < J_RANGE && -+ abs(best_addr - upper) < J_RANGE) -+ return best_tf; -+ -+ return NULL; /* No suitable trampoline found. */ -+} -+ -+ -+static struct trampoline_frag * -+get_best_trampoline (TInsn *tinsn, fragS *fragP) -+{ -+ struct trampoline_frag *tf = NULL; -+ -+ tf = search_trampolines (tinsn, fragP, TRUE); /* Try unreachable first. */ -+ -+ if (tf == NULL) -+ tf = search_trampolines (tinsn, fragP, FALSE); /* Try ones needing a jump-around, too. */ -+ -+ return tf; -+} -+ -+ -+static void -+check_and_update_trampolines (void) -+{ -+ struct trampoline_seg *ts = find_trampoline_seg (now_seg); -+ struct trampoline_frag *tf = ts->trampoline_list.next; -+ struct trampoline_frag *prev = &ts->trampoline_list; -+ -+ for ( ; tf; prev = tf, tf = tf->next) -+ { -+ if (tf->fragP->fr_var < 3) -+ { -+ frag_wane (tf->fragP); -+ prev->next = tf->next; -+ tf->fragP = NULL; -+ } -+ } -+} -+ -+ -+static int -+init_trampoline_frag (struct trampoline_frag *trampP) -+{ -+ fragS *fp = trampP->fragP; -+ int growth = 0; -+ -+ if (fp->fr_fix == 0) -+ { -+ symbolS *lsym; -+ char label[10 + 2 * sizeof(fp)]; -+ sprintf (label, ".L0_TR_%p", fp); -+ -+ lsym = (symbolS *)local_symbol_make (label, now_seg, 0, fp); -+ fp->fr_symbol = lsym; -+ if (trampP->needs_jump_around) -+ { -+ /* Add a jump around this block of jumps, in case -+ control flows into this block. */ -+ fixS *fixP; -+ TInsn insn; -+ xtensa_format fmt; -+ xtensa_isa isa = xtensa_default_isa; -+ -+ fp->tc_frag_data.is_insn = 1; -+ /* Assemble a jump insn. */ -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], lsym, 3); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)fp->fr_literal, 3); -+ fp->fr_fix += 3; -+ fp->fr_var -= 3; -+ growth = 3; -+ fixP = fix_new (fp, 0, 3, lsym, 3, TRUE, BFD_RELOC_XTENSA_SLOT0_OP); -+ trampP->fixP = fixP; -+ } -+ } -+ return growth; -+} -+ -+ -+static int -+add_jump_to_trampoline (struct trampoline_frag *trampP, fragS *origfrag) -+{ -+ fragS *tramp = trampP->fragP; -+ fixS *fixP; -+ int offset = tramp->fr_fix; /* Where to assemble the j insn. */ -+ TInsn insn; -+ symbolS *lsym; -+ symbolS *tsym; -+ int toffset; -+ xtensa_format fmt; -+ xtensa_isa isa = xtensa_default_isa; -+ int growth = 0; -+ -+ lsym = tramp->fr_symbol; -+ /* Assemble a jump to the target label in the trampoline frag. */ -+ tsym = origfrag->tc_frag_data.slot_symbols[0]; -+ toffset = origfrag-> tc_frag_data.slot_offsets[0]; -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], tsym, toffset); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, trampoline_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, trampoline_buf, trampoline_slotbuf); -+ xtensa_insnbuf_to_chars (isa, trampoline_buf, (unsigned char *)tramp->fr_literal + offset, 3); -+ tramp->fr_fix += 3; -+ tramp->fr_var -= 3; -+ growth = 3; -+ /* add a fix-up for the trampoline jump. */ -+ fixP = fix_new (tramp, tramp->fr_fix - 3, 3, tsym, toffset, TRUE, BFD_RELOC_XTENSA_SLOT0_OP); -+ /* Modify the jump at the start of this trampoline to point past the newly-added jump. */ -+ fixP = trampP->fixP; -+ if (fixP) -+ fixP->fx_offset += 3; -+ /* Modify the original j to point here. */ -+ origfrag->tc_frag_data.slot_symbols[0] = lsym; -+ origfrag->tc_frag_data.slot_offsets[0] = tramp->fr_fix - 3; -+ /* If trampoline is full, remove it from the list. */ -+ check_and_update_trampolines (); -+ -+ return growth; -+} -+ -+ - static long - relax_frag_immed (segT segP, - fragS *fragP, -@@ -9285,6 +9805,37 @@ - if (negatable_branch && istack.ninsn > 1) - update_next_frag_state (fragP); - -+ /* If last insn is a jump, and it cannot reach its target, try to find a trampoline. */ -+ if (istack.ninsn > 2 && -+ istack.insn[istack.ninsn - 1].insn_type == ITYPE_LABEL && -+ istack.insn[istack.ninsn - 2].insn_type == ITYPE_INSN && -+ istack.insn[istack.ninsn - 2].opcode == xtensa_j_opcode) -+ { -+ TInsn *jinsn = &istack.insn[istack.ninsn - 2]; -+ -+ if (!xg_symbolic_immeds_fit (jinsn, segP, fragP, fragP->fr_offset, total_text_diff)) -+ { -+ struct trampoline_frag *tf = get_best_trampoline (jinsn, fragP); -+ -+ if (tf) -+ { -+ this_text_diff += init_trampoline_frag (tf); -+ this_text_diff += add_jump_to_trampoline (tf, fragP); -+ } -+ else -+ { -+ /* If target symbol is undefined, assume it will reach once linked. */ -+ expressionS *exp = &istack.insn[istack.ninsn - 2].tok[0]; -+ -+ if (exp->X_op == O_symbol && S_IS_DEFINED (exp->X_add_symbol)) -+ { -+ as_bad_where (fragP->fr_file, fragP->fr_line, -+ _("jump target out of range; no usable trampoline found")); -+ } -+ } -+ } -+ } -+ - return this_text_diff; - } - -@@ -9405,6 +9956,9 @@ - else - as_bad (_("invalid relaxation fragment result")); - break; -+ -+ case RELAX_TRAMPOLINE: -+ break; - } - - fragp->fr_var = 0; ---- a/gas/config/tc-xtensa.h -+++ b/gas/config/tc-xtensa.h -@@ -181,6 +181,11 @@ - prevent the linker from changing the size of any frag between the - section start and the org frag. */ - -+ RELAX_TRAMPOLINE, -+ /* Every few thousand frags, we insert one of these, just in case we may -+ need some space for a trampoline (jump to a jump) because the function -+ has gotten too big. If not needed, it disappears. */ -+ - RELAX_NONE - }; - ---- a/gas/frags.c -+++ b/gas/frags.c -@@ -26,6 +26,20 @@ - - extern fragS zero_address_frag; - extern fragS predefined_address_frag; -+ -+static int totalfrags; -+ -+int -+get_frag_count (void) -+{ -+ return totalfrags; -+} -+ -+void -+clear_frag_count (void) -+{ -+ totalfrags = 0; -+} - - /* Initialization for frag routines. */ - -@@ -72,6 +86,7 @@ - ptr = (fragS *) obstack_alloc (ob, SIZEOF_STRUCT_FRAG); - obstack_alignment_mask (ob) = oalign; - memset (ptr, 0, SIZEOF_STRUCT_FRAG); -+ totalfrags++; - return ptr; - } - ---- a/gas/frags.h -+++ b/gas/frags.h -@@ -157,4 +157,7 @@ - - bfd_boolean frag_offset_fixed_p (const fragS *, const fragS *, offsetT *); - -+int get_frag_count (void); -+void clear_frag_count (void); -+ - #endif /* FRAGS_H */ ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -99,6 +99,7 @@ - run_dump_test "pcrel" - run_dump_test "weak-call" - run_dump_test "jlong" -+ run_dump_test "trampoline" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -0,0 +1,26 @@ -+#as: -+#objdump: -d -+#name: trampolines relaxation -+ -+.*: +file format .*xtensa.* -+#... -+.*0:.*j.0x1194c -+.*3:.*j.0x1194f -+.*6:.*j.0x11952 -+.*9:.*j.0x1d4e4 -+#... -+.*11949:.*j.0x11955 -+.*1194c:.*j.0x24a0e -+.*1194f:.*j.0x24a0e -+.*11952:.*j.0x24a11 -+#... -+.*1d4e1:.*j.0x1d4e7 -+.*1d4e4:.*j.0x33462 -+#... -+.*24a0e:.*j.0x24a0e -+.*24a11:.*j.0x24a11 -+#... -+.*3345f:.*ret -+.*33462:.*j.0x49407 -+#... -+.*49407:.*j.0x49407 ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -0,0 +1,21 @@ -+ .text -+ j 1f -+ j 1f -+ j 2f -+ j 3f -+ .rep 25000 -+99: -+ and a2, a2, a3 -+ bne a2, a3, 99b -+ .endr -+1: -+ j 1b -+2: -+ j 2b -+ -+ .rep 25000 -+ and a2, a2, a3 -+ _ret -+ .endr -+3: -+ j 3b diff --git a/packages/binutils/2.24/0010-xtensa-gas-first-frag-alignment.patch b/packages/binutils/2.24/0010-xtensa-gas-first-frag-alignment.patch deleted file mode 100644 index 88e6990..0000000 --- a/packages/binutils/2.24/0010-xtensa-gas-first-frag-alignment.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 15 Apr 2014 19:12:46 +0400 -Subject: [PATCH] Fix alignment for the first section frag on xtensa - -Linking object files produced by partial linking with link-time -relaxation enabled sometimes fails with the following error message: - -dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63) - -This happens because no basic block with an XTENSA_PROP_ALIGN flag in the -property table is generated for the first basic block, even if the -.align directive is present. -It was believed that the first frag alignment could be derived from the -section alignment, but this was not implemented for the partial linking -case: after partial linking first frag of a section may become not -first, but no additional alignment frag is inserted before it. -Basic block for such frag may be merged with previous basic block into -extended basic block during relaxation pass losing its alignment -restrictions. - -Fix this by always recording alignment for the first section frag. - -2014-04-22 Max Filippov - -gas/ - * config/tc-xtensa.c (xtensa_handle_align): record alignment for the - first section frag. - ---- -Backported from: a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1 -Changes to Changelog files and tests are dropped. - - gas/config/tc-xtensa.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5610,7 +5610,6 @@ - && ! fragP->tc_frag_data.is_literal - && (fragP->fr_type == rs_align - || fragP->fr_type == rs_align_code) -- && fragP->fr_address + fragP->fr_fix > 0 - && fragP->fr_offset > 0 - && now_seg != bss_section) - { diff --git a/packages/binutils/2.24/0011-xtensa-gas-ld-diff-relocation-signed.patch b/packages/binutils/2.24/0011-xtensa-gas-ld-diff-relocation-signed.patch deleted file mode 100644 index b4f903d..0000000 --- a/packages/binutils/2.24/0011-xtensa-gas-ld-diff-relocation-signed.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 6a17eba5358549d0d6d195bb22b34cdbc068def2 Mon Sep 17 00:00:00 2001 -From: Volodymyr Arbatov -Date: Mon, 6 May 2013 09:43:21 -0800 -Subject: [PATCH] Use signed data type for R_XTENSA_DIFF* relocation offsets. - -R_XTENSA_DIFF relocation offsets are in fact signed. Treat them as such. -Add testcase that examines ld behaviour on R_XTENSA_DIFF relocation -changing sign during relaxation. - -2014-05-02 Volodymyr Arbatov - David Weatherford - Max Filippov - -bfd/ - * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as - signed. - -gas/ - * config/tc-xtensa.c (md_apply_fix): mark BFD_RELOC_XTENSA_DIFF* - fixups as signed. ---- -Backported from: 1058c7532d0b012ac329219264ddad59049fb6e6 -Changes to Changelog files and tests are dropped. - - bfd/elf32-xtensa.c | 32 +++++++++++++++++--------------- - gas/config/tc-xtensa.c | 3 +++ - 2 files changed, 20 insertions(+), 15 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -223,11 +223,11 @@ - FALSE, 0, 0, FALSE), - - /* Relocations for supporting difference of symbols. */ -- HOWTO (R_XTENSA_DIFF8, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF8, 0, 0, 8, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF8", FALSE, 0, 0xff, FALSE), -- HOWTO (R_XTENSA_DIFF16, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF16, 0, 1, 16, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF16", FALSE, 0, 0xffff, FALSE), -- HOWTO (R_XTENSA_DIFF32, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, -+ HOWTO (R_XTENSA_DIFF32, 0, 2, 32, FALSE, 0, complain_overflow_signed, - bfd_elf_xtensa_reloc, "R_XTENSA_DIFF32", FALSE, 0, 0xffffffff, FALSE), - - /* General immediate operand relocations. */ -@@ -9012,7 +9012,8 @@ - || r_type == R_XTENSA_DIFF16 - || r_type == R_XTENSA_DIFF32) - { -- bfd_vma diff_value = 0, new_end_offset, diff_mask = 0; -+ bfd_signed_vma diff_value = 0; -+ bfd_vma new_end_offset, diff_mask = 0; - - if (bfd_get_section_limit (abfd, sec) < old_source_offset) - { -@@ -9026,15 +9027,15 @@ - { - case R_XTENSA_DIFF8: - diff_value = -- bfd_get_8 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_8 (abfd, &contents[old_source_offset]); - break; - case R_XTENSA_DIFF16: - diff_value = -- bfd_get_16 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_16 (abfd, &contents[old_source_offset]); - break; - case R_XTENSA_DIFF32: - diff_value = -- bfd_get_32 (abfd, &contents[old_source_offset]); -+ bfd_get_signed_32 (abfd, &contents[old_source_offset]); - break; - } - -@@ -9046,24 +9047,25 @@ - switch (r_type) - { - case R_XTENSA_DIFF8: -- diff_mask = 0xff; -- bfd_put_8 (abfd, diff_value, -+ diff_mask = 0x7f; -+ bfd_put_signed_8 (abfd, diff_value, - &contents[old_source_offset]); - break; - case R_XTENSA_DIFF16: -- diff_mask = 0xffff; -- bfd_put_16 (abfd, diff_value, -+ diff_mask = 0x7fff; -+ bfd_put_signed_16 (abfd, diff_value, - &contents[old_source_offset]); - break; - case R_XTENSA_DIFF32: -- diff_mask = 0xffffffff; -- bfd_put_32 (abfd, diff_value, -+ diff_mask = 0x7fffffff; -+ bfd_put_signed_32 (abfd, diff_value, - &contents[old_source_offset]); - break; - } - -- /* Check for overflow. */ -- if ((diff_value & ~diff_mask) != 0) -+ /* Check for overflow. Sign bits must be all zeroes or all ones */ -+ if ((diff_value & ~diff_mask) != 0 && -+ (diff_value & ~diff_mask) != (-1 & ~diff_mask)) - { - (*link_info->callbacks->reloc_dangerous) - (link_info, _("overflow after relaxation"), ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5868,12 +5868,15 @@ - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -+ fixP->fx_signed = 1; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -+ fixP->fx_signed = 1; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -+ fixP->fx_signed = 1; - break; - default: - break; diff --git a/packages/binutils/2.24/0012-xtensa-fix-ld-segfault-when-linking-linux-modules.patch b/packages/binutils/2.24/0012-xtensa-fix-ld-segfault-when-linking-linux-modules.patch deleted file mode 100644 index 57cd0bf..0000000 --- a/packages/binutils/2.24/0012-xtensa-fix-ld-segfault-when-linking-linux-modules.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 10 Jul 2014 01:47:33 +0400 -Subject: [PATCH] Fix xtensa ld segfault when linking linux modules - -is_inconsistent_linkonce_section makes an assumption that section name -that starts with ".gnu.linkonce.prop." has one more dot in its suffix. -However gas generates such section name by insertion of "prop." right -after ".gnu.linkonce." part of the name of the original section. So, for -section named ".gnu.linkonce.this_module" corresponding property section -name does not satisfy the assumption. Such section names are common in -linux modules. This bug was exposed by the patch "a35d5e8 Fix alignment -for the first section frag on xtensa", that makes gas produce property -section for each section that has ".align" directive in it. - -Use suffix that immediately follows ".gnu.linkonce.prop." when there are -no more dots following it. - -2014-07-10 Max Filippov - -ld/ - * emultempl/xtensaelf.em (is_inconsistent_linkonce_section): - correctly handle missing dot in section name after - ".gnu.linkonce.prop.". ---- -Backported from: e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2 -Changes to ld/ChangeLog file are dropped. - - ld/emultempl/xtensaelf.em | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/ld/emultempl/xtensaelf.em -+++ b/ld/emultempl/xtensaelf.em -@@ -1311,7 +1311,7 @@ - for Tensilica's XCC compiler. */ - name = sec_name + linkonce_len; - if (CONST_STRNEQ (name, "prop.")) -- name = strchr (name + 5, '.') + 1; -+ name = strchr (name + 5, '.') ? strchr (name + 5, '.') + 1 : name + 5; - else if (name[1] == '.' - && (name[0] == 'p' || name[0] == 'e' || name[0] == 'h')) - name += 2; diff --git a/packages/binutils/2.24/0013-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch b/packages/binutils/2.24/0013-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch deleted file mode 100644 index c31d01c..0000000 --- a/packages/binutils/2.24/0013-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 7fc39194f8fb48914c995f8ec3826d50086f1ec0 Mon Sep 17 00:00:00 2001 -From: Sterling Augustine -Date: Tue, 25 Jan 2011 13:59:13 -0800 -Subject: [PATCH] Fix 'call8: call target out of range' xtensa ld relaxation - bug - -During link-time relaxation distance between cross-section call site and -its target may grow, producing 'call target out of range' error for -relaxed calls. Be more conservative when calculating whether or not a -callx can be converted to a straight call. - -2014-09-23 Sterling Augustine - -bfd/ - * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section - call relaxation use furthermost addresses where call source and - destination can be to check whether it's in the range of a direct - call. - -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -7123,10 +7123,43 @@ - || is_reloc_sym_weak (abfd, irel))) - return FALSE; - -- self_address = (sec->output_section->vma -- + sec->output_offset + irel->r_offset + 3); -- dest_address = (target_sec->output_section->vma -- + target_sec->output_offset + target_offset); -+ if (target_sec->output_section != sec->output_section) -+ { -+ /* If the two sections are sufficiently far away that relaxation -+ might take the call out of range, we can't simplify. For -+ example, a positive displacement call into another memory -+ could get moved to a lower address due to literal removal, -+ but the destination won't move, and so the displacment might -+ get larger. -+ -+ If the displacement is negative, assume the destination could -+ move as far back as the start of the output section. The -+ self_address will be at least as far into the output section -+ as it is prior to relaxation. -+ -+ If the displacement is postive, assume the destination will be in -+ it's pre-relaxed location (because relaxation only makes sections -+ smaller). The self_address could go all the way to the beginning -+ of the output section. */ -+ -+ dest_address = target_sec->output_section->vma; -+ self_address = sec->output_section->vma; -+ -+ if (sec->output_section->vma > target_sec->output_section->vma) -+ self_address += sec->output_offset + irel->r_offset + 3; -+ else -+ dest_address += bfd_get_section_limit (abfd, target_sec->output_section); -+ /* Call targets should be four-byte aligned. */ -+ dest_address = (dest_address + 3) & ~3; -+ } -+ else -+ { -+ -+ self_address = (sec->output_section->vma -+ + sec->output_offset + irel->r_offset + 3); -+ dest_address = (target_sec->output_section->vma -+ + target_sec->output_offset + target_offset); -+ } - - *is_reachable_p = pcrel_reloc_fits (direct_call_opcode, 0, - self_address, dest_address); diff --git a/packages/binutils/2.24/0014-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.24/0014-Fix-trampolines-search-code-for-conditional-branches.patch deleted file mode 100644 index a4e7b5c..0000000 --- a/packages/binutils/2.24/0014-Fix-trampolines-search-code-for-conditional-branches.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 25 Nov 2014 21:33:21 +0300 -Subject: [PATCH] Fix trampolines search code for conditional branches - -For conditional branches that need more than one trampoline to reach its -target assembler couldn't always find suitable trampoline because -post-loop condition check was placed inside the loop, resulting in -premature loop termination. Move check outside the loop. - -This fixes the following build errors seen when assembling huge files -produced by gcc: - Error: jump target out of range; no usable trampoline found - Error: operand 1 of 'j' has out of range value '307307' - -2014-11-25 Max Filippov - -gas/ - * config/tc-xtensa.c (search_trampolines): Move post-loop - condition check outside the search loop. - -gas/testsuite/ - * gas/xtensa/trampoline.d: Add expected output for branches. - * gas/xtensa/trampoline.s: Add test case for branches. - -Signed-off-by: Max Filippov ---- -Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3 -Changes to ChangeLogs are dropped. - - gas/config/tc-xtensa.c | 8 ++++---- - gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++ - gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++ - 3 files changed, 20 insertions(+), 4 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -9515,11 +9515,11 @@ - if (next_addr == 0 || addr - next_addr > J_RANGE) - break; - } -- if (abs (addr - this_addr) < J_RANGE) -- return tf; -- -- return NULL; - } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; - } - for ( ; tf; tf = tf->next) - { ---- a/gas/testsuite/gas/xtensa/trampoline.d -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -24,3 +24,12 @@ - .*33462:.*j.0x49407 - #... - .*49407:.*j.0x49407 -+.*4940a:.*beqz.n.a2,.0x4940f -+.*4940c:.*j.0x693d1 -+#... -+.*693d1:.*j.0x7ddd4 -+#... -+.*7ddd4:.*j.0x927f5 -+#... -+.*927f5:.*j.0x927f5 -+#... ---- a/gas/testsuite/gas/xtensa/trampoline.s -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -19,3 +19,10 @@ - .endr - 3: - j 3b -+ bnez a2, 4f -+ .rep 50000 -+ and a2, a2, a3 -+ _ret -+ .endr -+4: -+ j 4b diff --git a/packages/binutils/2.24/0015-xtensa-optimize-check_section_ebb_pcrels_fit.patch b/packages/binutils/2.24/0015-xtensa-optimize-check_section_ebb_pcrels_fit.patch deleted file mode 100644 index e4af610..0000000 --- a/packages/binutils/2.24/0015-xtensa-optimize-check_section_ebb_pcrels_fit.patch +++ /dev/null @@ -1,497 +0,0 @@ -From 20c79baf82273a0b368587f761f152c4d3a593a4 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 27 Mar 2015 07:13:55 +0300 -Subject: [PATCH 1/4] xtensa: optimize check_section_ebb_pcrels_fit - -The original check_section_ebb_pcrels_fit algorithm checks that text -actions proposed for current EBB are OK for every relocation in a -section. There's no need to check every relocation, because text actions -for EBB can only change size of that EBB, thus only affecting -relocations that in any way cross that EBB. In addition EBBs are -iterated in ascending order of their VMA, making it easier to track -relevant relocations. - -Introduce a structure that can track relocations that cross the range of -VMAs of EBB and use it to only check relocations relevant to current EBB -in check_section_ebb_pcrels_fit. -It takes O(N log N) operations to build it and O(N) operations to move -current EBB VMA window through its entire range, where N is the number -of relocations in a section. The resulting complexity of -compute_text_actions is thus reduced from O(N^2) to O(N log N + N * M), -where M is the average number of relocations crossing each EBB. - -Original profile: - -% time self children called name ------------------------------------------ - 44.26 71.53 6429/6429 compute_text_actions - 50.2 44.26 71.53 6429 check_section_ebb_pcrels_fit - 1.16 20.12 347506666/347576152 pcrel_reloc_fits - 2.95 16.52 347506666/348104944 get_relocation_opnd - 2.01 9.74 347575100/361252208 r_reloc_init - 0.55 7.53 347575100/363381467 r_reloc_get_section - 5.76 0.02 695013332/695013332 xlate_offset_with_removed_text - 0.68 3.89 347575100/363483827 bfd_octets_per_byte - 0.32 0.00 347506666/349910253 is_alt_relocation - 0.18 0.11 6391/6391 build_xlate_map - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 2.56 3.08 6429/6429 compute_text_actions - 8.2 2.56 3.08 6429 check_section_ebb_pcrels_fit - 0.08 0.91 17721075/17790561 pcrel_reloc_fits - 0.17 0.47 17721075/31685977 r_reloc_init - 0.43 0.00 35442150/35442150 xlate_offset_with_removed_text - 0.02 0.37 17721075/33815236 r_reloc_get_section - 0.22 0.11 6391/6391 build_xlate_map - 0.05 0.22 17721075/33917596 bfd_octets_per_byte - 0.03 0.00 17721075/20405299 is_alt_relocation - 0.01 0.00 6429/6429 reloc_range_list_update_range - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry, - reloc_range): new typedef. - (reloc_range_list_struct, reloc_range_list_entry_struct, - reloc_range_struct): new structures. - (reloc_range_compare, build_reloc_ranges, - reloc_range_list_append, reloc_range_list_remove, - reloc_range_list_update_range, free_reloc_range_list): new - functions. - (compute_text_actions): precompute relocation opcodes before the - loop. Add relevant_relocs variable, initialize it before the - loop, pass it to the check_section_ebb_pcrels_fit. - (check_section_ebb_pcrels_fit): add new parameter: - relevant_relocs. Update address range in the relevant_relocs if - it's non-NULL and iterate only over relevant relocations. - -Backported from: b2b326d246f839ee218192ac88da2384d929a072 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 321 +++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 298 insertions(+), 23 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -6614,8 +6614,10 @@ - (bfd *, asection *, struct bfd_link_info *); - static bfd_boolean compute_ebb_proposed_actions (ebb_constraint *); - static bfd_boolean compute_ebb_actions (ebb_constraint *); -+typedef struct reloc_range_list_struct reloc_range_list; - static bfd_boolean check_section_ebb_pcrels_fit -- (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, const ebb_constraint *, -+ (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, -+ reloc_range_list *, const ebb_constraint *, - const xtensa_opcode *); - static bfd_boolean check_section_ebb_reduces (const ebb_constraint *); - static void text_action_add_proposed -@@ -7214,6 +7216,221 @@ - return reloc_opcodes; - } - -+struct reloc_range_struct -+{ -+ bfd_vma addr; -+ bfd_boolean add; /* TRUE if start of a range, FALSE otherwise. */ -+ /* Original irel index in the array of relocations for a section. */ -+ unsigned irel_index; -+}; -+typedef struct reloc_range_struct reloc_range; -+ -+typedef struct reloc_range_list_entry_struct reloc_range_list_entry; -+struct reloc_range_list_entry_struct -+{ -+ reloc_range_list_entry *next; -+ reloc_range_list_entry *prev; -+ Elf_Internal_Rela *irel; -+ xtensa_opcode opcode; -+ int opnum; -+}; -+ -+struct reloc_range_list_struct -+{ -+ /* The rest of the structure is only meaningful when ok is TRUE. */ -+ bfd_boolean ok; -+ -+ unsigned n_range; /* Number of range markers. */ -+ reloc_range *range; /* Sorted range markers. */ -+ -+ unsigned first; /* Index of a first range element in the list. */ -+ unsigned last; /* One past index of a last range element in the list. */ -+ -+ unsigned n_list; /* Number of list elements. */ -+ reloc_range_list_entry *reloc; /* */ -+ reloc_range_list_entry list_root; -+}; -+ -+static int -+reloc_range_compare (const void *a, const void *b) -+{ -+ const reloc_range *ra = a; -+ const reloc_range *rb = b; -+ -+ if (ra->addr != rb->addr) -+ return ra->addr < rb->addr ? -1 : 1; -+ if (ra->add != rb->add) -+ return ra->add ? -1 : 1; -+ return 0; -+} -+ -+static void -+build_reloc_ranges (bfd *abfd, asection *sec, -+ bfd_byte *contents, -+ Elf_Internal_Rela *internal_relocs, -+ xtensa_opcode *reloc_opcodes, -+ reloc_range_list *list) -+{ -+ unsigned i; -+ size_t n = 0; -+ size_t max_n = 0; -+ reloc_range *ranges = NULL; -+ reloc_range_list_entry *reloc = -+ bfd_malloc (sec->reloc_count * sizeof (*reloc)); -+ -+ memset (list, 0, sizeof (*list)); -+ list->ok = TRUE; -+ -+ for (i = 0; i < sec->reloc_count; i++) -+ { -+ Elf_Internal_Rela *irel = &internal_relocs[i]; -+ int r_type = ELF32_R_TYPE (irel->r_info); -+ reloc_howto_type *howto = &elf_howto_table[r_type]; -+ r_reloc r_rel; -+ -+ if (r_type == R_XTENSA_ASM_SIMPLIFY -+ || r_type == R_XTENSA_32_PCREL -+ || !howto->pc_relative) -+ continue; -+ -+ r_reloc_init (&r_rel, abfd, irel, contents, -+ bfd_get_section_limit (abfd, sec)); -+ -+ if (r_reloc_get_section (&r_rel) != sec) -+ continue; -+ -+ if (n + 2 > max_n) -+ { -+ max_n = (max_n + 2) * 2; -+ ranges = bfd_realloc (ranges, max_n * sizeof (*ranges)); -+ } -+ -+ ranges[n].addr = irel->r_offset; -+ ranges[n + 1].addr = r_rel.target_offset; -+ -+ ranges[n].add = ranges[n].addr < ranges[n + 1].addr; -+ ranges[n + 1].add = !ranges[n].add; -+ -+ ranges[n].irel_index = i; -+ ranges[n + 1].irel_index = i; -+ -+ n += 2; -+ -+ reloc[i].irel = irel; -+ -+ /* Every relocation won't possibly be checked in the optimized version of -+ check_section_ebb_pcrels_fit, so this needs to be done here. */ -+ if (is_alt_relocation (ELF32_R_TYPE (irel->r_info))) -+ { -+ /* None of the current alternate relocs are PC-relative, -+ and only PC-relative relocs matter here. */ -+ } -+ else -+ { -+ xtensa_opcode opcode; -+ int opnum; -+ -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ /* Record relocation opcode and opnum as we've calculated them -+ anyway and they won't change. */ -+ reloc[i].opcode = opcode; -+ reloc[i].opnum = opnum; -+ } -+ } -+ -+ if (list->ok) -+ { -+ ranges = bfd_realloc (ranges, n * sizeof (*ranges)); -+ qsort (ranges, n, sizeof (*ranges), reloc_range_compare); -+ -+ list->n_range = n; -+ list->range = ranges; -+ list->reloc = reloc; -+ list->list_root.prev = &list->list_root; -+ list->list_root.next = &list->list_root; -+ } -+ else -+ { -+ free (ranges); -+ free (reloc); -+ } -+} -+ -+static void reloc_range_list_append (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->prev = list->list_root.prev; -+ entry->next = &list->list_root; -+ entry->prev->next = entry; -+ entry->next->prev = entry; -+ ++list->n_list; -+} -+ -+static void reloc_range_list_remove (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->next->prev = entry->prev; -+ entry->prev->next = entry->next; -+ --list->n_list; -+} -+ -+/* Update relocation list object so that it lists all relocations that cross -+ [first; last] range. Range bounds should not decrease with successive -+ invocations. */ -+static void reloc_range_list_update_range (reloc_range_list *list, -+ bfd_vma first, bfd_vma last) -+{ -+ /* This should not happen: EBBs are iterated from lower addresses to higher. -+ But even if that happens there's no need to break: just flush current list -+ and start from scratch. */ -+ if ((list->last > 0 && list->range[list->last - 1].addr > last) || -+ (list->first > 0 && list->range[list->first - 1].addr >= first)) -+ { -+ list->first = 0; -+ list->last = 0; -+ list->n_list = 0; -+ list->list_root.next = &list->list_root; -+ list->list_root.prev = &list->list_root; -+ fprintf (stderr, "%s: move backwards requested\n", __func__); -+ } -+ -+ for (; list->last < list->n_range && -+ list->range[list->last].addr <= last; ++list->last) -+ if (list->range[list->last].add) -+ reloc_range_list_append (list, list->range[list->last].irel_index); -+ -+ for (; list->first < list->n_range && -+ list->range[list->first].addr < first; ++list->first) -+ if (!list->range[list->first].add) -+ reloc_range_list_remove (list, list->range[list->first].irel_index); -+} -+ -+static void free_reloc_range_list (reloc_range_list *list) -+{ -+ free (list->range); -+ free (list->reloc); -+} - - /* The compute_text_actions function will build a list of potential - transformation actions for code in the extended basic block of each -@@ -7240,6 +7457,7 @@ - property_table_entry *prop_table = 0; - int ptblsize = 0; - bfd_size_type sec_size; -+ reloc_range_list relevant_relocs; - - relax_info = get_xtensa_relax_info (sec); - BFD_ASSERT (relax_info); -@@ -7272,6 +7490,12 @@ - goto error_return; - } - -+ /* Precompute the opcode for each relocation. */ -+ reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, internal_relocs); -+ -+ build_reloc_ranges (abfd, sec, contents, internal_relocs, reloc_opcodes, -+ &relevant_relocs); -+ - for (i = 0; i < sec->reloc_count; i++) - { - Elf_Internal_Rela *irel = &internal_relocs[i]; -@@ -7335,17 +7559,13 @@ - ebb->start_reloc_idx = i; - ebb->end_reloc_idx = i; - -- /* Precompute the opcode for each relocation. */ -- if (reloc_opcodes == NULL) -- reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, -- internal_relocs); -- - if (!extend_ebb_bounds (ebb) - || !compute_ebb_proposed_actions (&ebb_table) - || !compute_ebb_actions (&ebb_table) - || !check_section_ebb_pcrels_fit (abfd, sec, contents, -- internal_relocs, &ebb_table, -- reloc_opcodes) -+ internal_relocs, -+ &relevant_relocs, -+ &ebb_table, reloc_opcodes) - || !check_section_ebb_reduces (&ebb_table)) - { - /* If anything goes wrong or we get unlucky and something does -@@ -7367,6 +7587,8 @@ - free_ebb_constraint (&ebb_table); - } - -+ free_reloc_range_list (&relevant_relocs); -+ - #if DEBUG - if (relax_info->action_list.head) - print_action_list (stderr, &relax_info->action_list); -@@ -7969,14 +8191,17 @@ - asection *sec, - bfd_byte *contents, - Elf_Internal_Rela *internal_relocs, -+ reloc_range_list *relevant_relocs, - const ebb_constraint *constraint, - const xtensa_opcode *reloc_opcodes) - { - unsigned i, j; -+ unsigned n = sec->reloc_count; - Elf_Internal_Rela *irel; - xlate_map_t *xmap = NULL; - bfd_boolean ok = TRUE; - xtensa_relax_info *relax_info; -+ reloc_range_list_entry *entry = NULL; - - relax_info = get_xtensa_relax_info (sec); - -@@ -7987,7 +8212,40 @@ - can still be used. */ - } - -- for (i = 0; i < sec->reloc_count; i++) -+ if (relevant_relocs && constraint->action_count) -+ { -+ if (!relevant_relocs->ok) -+ { -+ ok = FALSE; -+ n = 0; -+ } -+ else -+ { -+ bfd_vma min_offset, max_offset; -+ min_offset = max_offset = constraint->actions[0].offset; -+ -+ for (i = 1; i < constraint->action_count; ++i) -+ { -+ proposed_action *action = &constraint->actions[i]; -+ bfd_vma offset = action->offset; -+ -+ if (offset < min_offset) -+ min_offset = offset; -+ if (offset > max_offset) -+ max_offset = offset; -+ } -+ reloc_range_list_update_range (relevant_relocs, min_offset, -+ max_offset); -+ n = relevant_relocs->n_list; -+ entry = &relevant_relocs->list_root; -+ } -+ } -+ else -+ { -+ relevant_relocs = NULL; -+ } -+ -+ for (i = 0; i < n; i++) - { - r_reloc r_rel; - bfd_vma orig_self_offset, orig_target_offset; -@@ -7996,7 +8254,15 @@ - reloc_howto_type *howto; - int self_removed_bytes, target_removed_bytes; - -- irel = &internal_relocs[i]; -+ if (relevant_relocs) -+ { -+ entry = entry->next; -+ irel = entry->irel; -+ } -+ else -+ { -+ irel = internal_relocs + i; -+ } - r_type = ELF32_R_TYPE (irel->r_info); - - howto = &elf_howto_table[r_type]; -@@ -8062,21 +8328,30 @@ - xtensa_opcode opcode; - int opnum; - -- if (reloc_opcodes) -- opcode = reloc_opcodes[i]; -- else -- opcode = get_relocation_opcode (abfd, sec, contents, irel); -- if (opcode == XTENSA_UNDEFINED) -+ if (relevant_relocs) - { -- ok = FALSE; -- break; -+ opcode = entry->opcode; -+ opnum = entry->opnum; - } -- -- opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -- if (opnum == XTENSA_UNDEFINED) -+ else - { -- ok = FALSE; -- break; -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[relevant_relocs ? -+ (unsigned)(entry - relevant_relocs->reloc) : i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } - } - - if (!pcrel_reloc_fits (opcode, opnum, self_offset, target_offset)) -@@ -8773,7 +9048,7 @@ - /* Check all of the PC-relative relocations to make sure they still fit. */ - relocs_fit = check_section_ebb_pcrels_fit (target_sec->owner, target_sec, - target_sec_cache->contents, -- target_sec_cache->relocs, -+ target_sec_cache->relocs, NULL, - &ebb_table, NULL); - - if (!relocs_fit) diff --git a/packages/binutils/2.24/0016-xtensa-optimize-removed_by_actions.patch b/packages/binutils/2.24/0016-xtensa-optimize-removed_by_actions.patch deleted file mode 100644 index 2ce6a19..0000000 --- a/packages/binutils/2.24/0016-xtensa-optimize-removed_by_actions.patch +++ /dev/null @@ -1,351 +0,0 @@ -From 3e3f60207399ab29dd55af109e5ae9facc7d8e83 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 28 Mar 2015 08:46:28 +0300 -Subject: [PATCH 2/4] xtensa: optimize removed_by_actions - -The function removed_by_actions iterates through text actions to -calculate an offset applied by text actions to a given VMA. Although it -has a parameter p_start_action that allows for incremental offset -calculation, in many places it's used with p_start_action explicitly set -to the first action. After the first relaxation pass when the list of -text actions is finalized, an array of offsets sorted by VMA may be used -to speed up this function. - -Original profile: - -% time self children called name ------------------------------------------ - 0.35 0.00 33872/4808961 relax_section_symbols - 3.32 0.00 326022/4808961 relax_property_section - 12.83 0.00 1259379/4808961 offset_with_removed_text - 32.50 0.00 3189688/4808961 translate_reloc - 71.5 49.00 0.00 4808961 removed_by_actions ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 33872/4808537 relax_section_symbols - 0.01 0.00 326022/4808537 relax_property_section - 0.05 0.00 1258955/4808537 offset_with_removed_text_map - 0.13 0.00 3189688/4808537 translate_reloc - 1.0 0.20 0.00 4808537 removed_by_actions_map - 0.00 0.00 120/120 map_removal_by_action ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (removal_by_action_entry_struct, - removal_by_action_map_struct): new structures. - (removal_by_action_entry, removal_by_action_map): new typedefs. - (text_action_list_struct): add new field: map. - (map_removal_by_action, removed_by_actions_map, - offset_with_removed_text_map): new functions. - (relax_section): replace offset_with_removed_text with - offset_with_removed_text_map. - (translate_reloc, relax_property_section, relax_section_symbols): - replace removed_by_actions with removed_by_actions_map. - -Backported from: 071aa5c98a31c966f5fbfc573fcee61350fd1936 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 181 +++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 156 insertions(+), 25 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5415,11 +5415,28 @@ - text_action *next; - }; - -+struct removal_by_action_entry_struct -+{ -+ bfd_vma offset; -+ int removed; -+ int eq_removed; -+ int eq_removed_before_fill; -+}; -+typedef struct removal_by_action_entry_struct removal_by_action_entry; -+ -+struct removal_by_action_map_struct -+{ -+ unsigned n_entries; -+ removal_by_action_entry *entry; -+}; -+typedef struct removal_by_action_map_struct removal_by_action_map; -+ - - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { - text_action *head; -+ removal_by_action_map map; - }; - - -@@ -5631,6 +5648,101 @@ - return count; - } - -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ text_action *r; -+ int removed = 0; -+ removal_by_action_map map; -+ bfd_boolean eq_complete; -+ -+ map.n_entries = 0; -+ map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ eq_complete = FALSE; -+ -+ for (r = action_list->head; r;) -+ { -+ removal_by_action_entry *ientry = map.entry + map.n_entries; -+ -+ if (map.n_entries && (ientry - 1)->offset == r->offset) -+ { -+ --ientry; -+ } -+ else -+ { -+ ++map.n_entries; -+ eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = removed; -+ } -+ -+ if (!eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) -+ { -+ ientry->eq_removed = removed; -+ eq_complete = TRUE; -+ } -+ else -+ ientry->eq_removed = removed + r->removed_bytes; -+ } -+ -+ removed += r->removed_bytes; -+ ientry->removed = removed; -+ r = r->next; -+ } -+ action_list->map = map; -+} -+ -+static int -+removed_by_actions_map (text_action_list *action_list, bfd_vma offset, -+ bfd_boolean before_fill) -+{ -+ unsigned a, b; -+ -+ if (!action_list->map.entry) -+ map_removal_by_action (action_list); -+ -+ if (!action_list->map.n_entries) -+ return 0; -+ -+ a = 0; -+ b = action_list->map.n_entries; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (action_list->map.entry[c].offset <= offset) -+ a = c; -+ else -+ b = c; -+ } -+ -+ if (action_list->map.entry[a].offset < offset) -+ { -+ return action_list->map.entry[a].removed; -+ } -+ else if (action_list->map.entry[a].offset == offset) -+ { -+ return before_fill ? -+ action_list->map.entry[a].eq_removed_before_fill : -+ action_list->map.entry[a].eq_removed; -+ } -+ else -+ { -+ return 0; -+ } -+} -+ -+static bfd_vma -+offset_with_removed_text_map (text_action_list *action_list, bfd_vma offset) -+{ -+ int removed = removed_by_actions_map (action_list, offset, FALSE); -+ return offset - removed; -+} -+ - - /* The find_insn_action routine will only find non-fill actions. */ - -@@ -5904,6 +6016,9 @@ - - relax_info->action_list.head = NULL; - -+ relax_info->action_list.map.n_entries = 0; -+ relax_info->action_list.map.entry = NULL; -+ - relax_info->fix_list = NULL; - relax_info->fix_array = NULL; - relax_info->fix_array_count = 0; -@@ -9213,7 +9328,7 @@ - if (elf_hash_table (link_info)->dynamic_sections_created) - shrink_dynamic_reloc_sections (link_info, abfd, sec, irel); - irel->r_info = ELF32_R_INFO (0, R_XTENSA_NONE); -- irel->r_offset = offset_with_removed_text -+ irel->r_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - continue; - } -@@ -9250,7 +9365,7 @@ - } - } - -- source_offset = offset_with_removed_text -+ source_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - irel->r_offset = source_offset; - } -@@ -9347,7 +9462,7 @@ - break; - } - -- new_end_offset = offset_with_removed_text -+ new_end_offset = offset_with_removed_text_map - (&target_relax_info->action_list, - r_rel.target_offset + diff_value); - diff_value = new_end_offset - new_reloc.target_offset; -@@ -9745,7 +9860,6 @@ - xtensa_relax_info *relax_info; - removed_literal *removed; - bfd_vma target_offset, base_offset; -- text_action *act; - - *new_rel = *orig_rel; - -@@ -9798,19 +9912,26 @@ - offset. */ - - base_offset = r_reloc_get_target_offset (new_rel) - new_rel->rela.r_addend; -- act = relax_info->action_list.head; - if (base_offset <= target_offset) - { -- int base_removed = removed_by_actions (&act, base_offset, FALSE); -- int addend_removed = removed_by_actions (&act, target_offset, FALSE); -+ int base_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE) - -+ base_removed; -+ - new_rel->target_offset = target_offset - base_removed - addend_removed; - new_rel->rela.r_addend -= addend_removed; - } - else - { - /* Handle a negative addend. The base offset comes first. */ -- int tgt_removed = removed_by_actions (&act, target_offset, FALSE); -- int addend_removed = removed_by_actions (&act, base_offset, FALSE); -+ int tgt_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE) - -+ tgt_removed; -+ - new_rel->target_offset = target_offset - tgt_removed; - new_rel->rela.r_addend += addend_removed; - } -@@ -10133,9 +10254,10 @@ - bfd_vma old_offset = val.r_rel.target_offset; - bfd_vma new_offset; - long old_size, new_size; -- text_action *act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, FALSE); -+ int removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, FALSE); -+ new_offset = old_offset - removed_by_old_offset; - - /* Assert that we are not out of bounds. */ - old_size = bfd_get_32 (abfd, size_p); -@@ -10159,9 +10281,10 @@ - - /* Recompute the new_offset, but this time don't - include any fill inserted by relaxation. */ -- act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, TRUE); -+ removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, TRUE); -+ new_offset = old_offset - removed_by_old_offset; - - /* If it is not unreachable and we have not yet - seen an unreachable at this address, place it -@@ -10177,8 +10300,12 @@ - } - } - else -- new_size -= -- removed_by_actions (&act, old_offset + old_size, TRUE); -+ { -+ int removed_by_old_offset_size = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset + old_size, TRUE); -+ new_size -= removed_by_old_offset_size - removed_by_old_offset; -+ } - - if (new_size != old_size) - { -@@ -10436,14 +10563,16 @@ - - if (isym->st_shndx == sec_shndx) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = isym->st_value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- isym->st_value -= removed_by_actions (&act, orig_addr, FALSE); -- -+ isym->st_value -= removed; - if (ELF32_ST_TYPE (isym->st_info) == STT_FUNC) - isym->st_size -= -- removed_by_actions (&act, orig_addr + isym->st_size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + isym->st_size, FALSE) - -+ removed; - } - } - -@@ -10461,15 +10590,17 @@ - || sym_hash->root.type == bfd_link_hash_defweak) - && sym_hash->root.u.def.section == sec) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = sym_hash->root.u.def.value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- sym_hash->root.u.def.value -= -- removed_by_actions (&act, orig_addr, FALSE); -+ sym_hash->root.u.def.value -= removed; - - if (sym_hash->type == STT_FUNC) - sym_hash->size -= -- removed_by_actions (&act, orig_addr + sym_hash->size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + sym_hash->size, FALSE) - -+ removed; - } - } - diff --git a/packages/binutils/2.24/0017-xtensa-optimize-find_removed_literal.patch b/packages/binutils/2.24/0017-xtensa-optimize-find_removed_literal.patch deleted file mode 100644 index 3b64fd8..0000000 --- a/packages/binutils/2.24/0017-xtensa-optimize-find_removed_literal.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 288c2b709e5e6841484e1a129eaccd299db36877 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 4 Apr 2015 14:49:42 +0300 -Subject: [PATCH 3/4] xtensa: optimize find_removed_literal - -find_removed_literal uses linear search to find removed literal by its -VMA. The list of literals is fixed at that point, build an ordered index -array and use binary search instead. - -Original profile: - -% time self children called name ------------------------------------------ - 56.72 0.00 297578/669392 translate_reloc - 70.86 0.00 371814/669392 relax_section - 67.9 127.58 0.00 669392 find_removed_literal ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 297578/669392 translate_reloc - 0.00 0.00 371814/669392 relax_section - 0.0 0.00 0.00 669392 find_removed_literal - 0.00 0.00 23838/23838 map_removed_literal ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (removed_literal_map_entry): new typedef. - (removed_literal_map_entry_struct): new structure. - (removed_literal_list_struct): add new fields: n_map and map. - (map_removed_literal, removed_literal_compare): new functions. - (find_removed_literal): build index array for literals ordered - by VMA, use binary search to find removed literal. - -Backported from: 3439c466273378021821473d3fc84990e089ae34 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 58 insertions(+), 6 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5827,6 +5827,7 @@ - by the "from" offset field. */ - - typedef struct removed_literal_struct removed_literal; -+typedef struct removed_literal_map_entry_struct removed_literal_map_entry; - typedef struct removed_literal_list_struct removed_literal_list; - - struct removed_literal_struct -@@ -5836,10 +5837,19 @@ - removed_literal *next; - }; - -+struct removed_literal_map_entry_struct -+{ -+ bfd_vma addr; -+ removed_literal *literal; -+}; -+ - struct removed_literal_list_struct - { - removed_literal *head; - removed_literal *tail; -+ -+ unsigned n_map; -+ removed_literal_map_entry *map; - }; - - -@@ -5888,6 +5898,39 @@ - } - } - -+static void -+map_removed_literal (removed_literal_list *removed_list) -+{ -+ unsigned n_map = 0; -+ unsigned i; -+ removed_literal_map_entry *map = NULL; -+ removed_literal *r = removed_list->head; -+ -+ for (i = 0; r; ++i, r = r->next) -+ { -+ if (i == n_map) -+ { -+ n_map = (n_map * 2) + 2; -+ map = bfd_realloc (map, n_map * sizeof (*map)); -+ } -+ map[i].addr = r->from.target_offset; -+ map[i].literal = r; -+ } -+ removed_list->map = map; -+ removed_list->n_map = i; -+} -+ -+static int -+removed_literal_compare (const void *a, const void *b) -+{ -+ const removed_literal_map_entry *pa = a; -+ const removed_literal_map_entry *pb = b; -+ -+ if (pa->addr == pb->addr) -+ return 0; -+ else -+ return pa->addr < pb->addr ? -1 : 1; -+} - - /* Check if the list of removed literals contains an entry for the - given address. Return the entry if found. */ -@@ -5895,12 +5938,21 @@ - static removed_literal * - find_removed_literal (removed_literal_list *removed_list, bfd_vma addr) - { -- removed_literal *r = removed_list->head; -- while (r && r->from.target_offset < addr) -- r = r->next; -- if (r && r->from.target_offset == addr) -- return r; -- return NULL; -+ removed_literal_map_entry *p; -+ removed_literal *r = NULL; -+ -+ if (removed_list->map == NULL) -+ map_removed_literal (removed_list); -+ -+ p = bsearch (&addr, removed_list->map, removed_list->n_map, -+ sizeof (*removed_list->map), removed_literal_compare); -+ if (p) -+ { -+ while (p != removed_list->map && (p - 1)->addr == addr) -+ --p; -+ r = p->literal; -+ } -+ return r; - } - - diff --git a/packages/binutils/2.24/0018-xtensa-replace-action-list-with-splay-tree.patch b/packages/binutils/2.24/0018-xtensa-replace-action-list-with-splay-tree.patch deleted file mode 100644 index dd7ff8f..0000000 --- a/packages/binutils/2.24/0018-xtensa-replace-action-list-with-splay-tree.patch +++ /dev/null @@ -1,821 +0,0 @@ -From e5409aedd3ee2192855018a564650ffb75c26e60 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 5 Apr 2015 17:04:22 +0300 -Subject: [PATCH 4/4] xtensa: replace action list with splay tree - -text_action_add uses linear list search to order text actions list by -action VMA. The list is used at the first relaxation pass, when it's not -fixed yet. -Replace the list with splay tree from libiberty. - -Original profile: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 3.62 0.00 25211/158225 remove_dead_literal - 8.42 0.00 58645/158225 coalesce_shared_literal - 10.68 0.00 74355/158225 text_action_add_proposed - 38.8 22.73 0.00 158225 text_action_add - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 0.00 0.00 25211/158225 remove_dead_literal - 0.00 0.01 58645/158225 coalesce_shared_literal - 0.00 0.01 74355/158225 text_action_add_proposed - 0.1 0.00 0.02 158225 text_action_add - 0.01 0.00 144527/144527 splay_tree_insert - 0.00 0.00 144527/195130 splay_tree_lookup - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (splay-tree.h): include header. - (text_action_struct): drop next pointer. - (text_action_list_struct): drop head pointer, add count and - tree fields. - (find_fill_action): instead of linear search in text_action_list - search in the tree. - (text_action_compare, action_first, action_next): new functions. - (text_action_add, text_action_add_literal): instead of linear - search and insertion insert new node into the tree. - (removed_by_actions): pass additional parameter: action_list, - use it to traverse the tree. - (offset_with_removed_text): pass additional action_list parameter - to removed_by_actions. - (map_action_fn_context): new typedef. - (map_action_fn_context_struct): new structure. - (map_action_fn): new function. - (map_removal_by_action): use splay_tree_foreach to build map. - (find_insn_action): replace linear search in text_action_list - with series of splay_tree_lookups. - (print_action, print_action_list_fn): new functions. - (print_action_list): use splay_tree_foreach. - (init_xtensa_relax_info): drop action_list.head initialization. - Initialize the tree. - (compute_text_actions): use non-zero action_list_count instead of - non-NULL action list. - (xlate_map_context): new typedef. - (xlate_map_context_struct): new structure. - (xlate_map_fn): new function. - (build_xlate_map): use splay_tree_foreach to build map. - (action_remove_bytes_fn): new function. - (relax_section): use zero action_list_count instead of NULL - action list. Use splay_tree_foreach to count final section size. - Drop unused variable 'removed'. - -Backported from: 4c2af04fe8b4452bf51d2debf1bb467fafcd0f08 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 488 ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 282 insertions(+), 206 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -29,6 +29,7 @@ - #include "libbfd.h" - #include "elf-bfd.h" - #include "elf/xtensa.h" -+#include "splay-tree.h" - #include "xtensa-isa.h" - #include "xtensa-config.h" - -@@ -5411,8 +5412,6 @@ - bfd_vma virtual_offset; /* Zero except for adding literals. */ - int removed_bytes; - literal_value value; /* Only valid when adding literals. */ -- -- text_action *next; - }; - - struct removal_by_action_entry_struct -@@ -5435,7 +5434,8 @@ - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { -- text_action *head; -+ unsigned count; -+ splay_tree tree; - removal_by_action_map map; - }; - -@@ -5443,20 +5443,18 @@ - static text_action * - find_fill_action (text_action_list *l, asection *sec, bfd_vma offset) - { -- text_action **m_p; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (sec->size == offset) - return NULL; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -- { -- text_action *t = *m_p; -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- return t; -- } -+ a.offset = offset; -+ a.action = ta_fill; -+ -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - return NULL; - } - -@@ -5504,6 +5502,49 @@ - } - - -+static int -+text_action_compare (splay_tree_key a, splay_tree_key b) -+{ -+ text_action *pa = (text_action *)a; -+ text_action *pb = (text_action *)b; -+ static const int action_priority[] = -+ { -+ [ta_fill] = 0, -+ [ta_none] = 1, -+ [ta_convert_longcall] = 2, -+ [ta_narrow_insn] = 3, -+ [ta_remove_insn] = 4, -+ [ta_remove_longcall] = 5, -+ [ta_remove_literal] = 6, -+ [ta_widen_insn] = 7, -+ [ta_add_literal] = 8, -+ }; -+ -+ if (pa->offset == pb->offset) -+ { -+ if (pa->action == pb->action) -+ return 0; -+ return action_priority[pa->action] - action_priority[pb->action]; -+ } -+ else -+ return pa->offset < pb->offset ? -1 : 1; -+} -+ -+static text_action * -+action_first (text_action_list *action_list) -+{ -+ splay_tree_node node = splay_tree_min (action_list->tree); -+ return node ? (text_action *)node->value : NULL; -+} -+ -+static text_action * -+action_next (text_action_list *action_list, text_action *action) -+{ -+ splay_tree_node node = splay_tree_successor (action_list->tree, -+ (splay_tree_key)action); -+ return node ? (text_action *)node->value : NULL; -+} -+ - /* Add a modification action to the text. For the case of adding or - removing space, modify any current fill and assume that - "unreachable_space" bytes can be freely contracted. Note that a -@@ -5516,8 +5557,8 @@ - bfd_vma offset, - int removed) - { -- text_action **m_p; - text_action *ta; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (action == ta_fill && sec->size == offset) -@@ -5527,34 +5568,30 @@ - if (action == ta_fill && removed == 0) - return; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -+ a.action = action; -+ a.offset = offset; -+ -+ if (action == ta_fill) - { -- text_action *t = *m_p; -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); - -- if (action == ta_fill) -+ if (node) - { -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- { -- t->removed_bytes += removed; -- return; -- } -- /* Fills need to happen before widens so that we don't -- insert fill bytes into the instruction stream. */ -- if (t->offset == offset && t->action == ta_widen_insn) -- break; -+ ta = (text_action *)node->value; -+ ta->removed_bytes += removed; -+ return; - } - } -+ else -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)&a) == NULL); - -- /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; - ta->sec = sec; - ta->offset = offset; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5565,7 +5602,6 @@ - const literal_value *value, - int removed) - { -- text_action **m_p; - text_action *ta; - asection *sec = r_reloc_get_section (loc); - bfd_vma offset = loc->target_offset; -@@ -5573,14 +5609,6 @@ - - BFD_ASSERT (action == ta_add_literal); - -- for (m_p = &l->head; *m_p != NULL; m_p = &(*m_p)->next) -- { -- if ((*m_p)->offset > offset -- && ((*m_p)->offset != offset -- || (*m_p)->virtual_offset > virtual_offset)) -- break; -- } -- - /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; -@@ -5589,8 +5617,10 @@ - ta->virtual_offset = virtual_offset; - ta->value = *value; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)ta) == NULL); -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5601,7 +5631,8 @@ - so that each search may begin where the previous one left off. */ - - static int --removed_by_actions (text_action **p_start_action, -+removed_by_actions (text_action_list *action_list, -+ text_action **p_start_action, - bfd_vma offset, - bfd_boolean before_fill) - { -@@ -5609,6 +5640,13 @@ - int removed = 0; - - r = *p_start_action; -+ if (r) -+ { -+ splay_tree_node node = splay_tree_lookup (action_list->tree, -+ (splay_tree_key)r); -+ BFD_ASSERT (node != NULL && r == (text_action *)node->value); -+ } -+ - while (r) - { - if (r->offset > offset) -@@ -5620,7 +5658,7 @@ - - removed += r->removed_bytes; - -- r = r->next; -+ r = action_next (action_list, r); - } - - *p_start_action = r; -@@ -5631,68 +5669,74 @@ - static bfd_vma - offset_with_removed_text (text_action_list *action_list, bfd_vma offset) - { -- text_action *r = action_list->head; -- return offset - removed_by_actions (&r, offset, FALSE); -+ text_action *r = action_first (action_list); -+ -+ return offset - removed_by_actions (action_list, &r, offset, FALSE); - } - - - static unsigned - action_list_count (text_action_list *action_list) - { -- text_action *r = action_list->head; -- unsigned count = 0; -- for (r = action_list->head; r != NULL; r = r->next) -- { -- count++; -- } -- return count; -+ return action_list->count; - } - --static void --map_removal_by_action (text_action_list *action_list) -+typedef struct map_action_fn_context_struct map_action_fn_context; -+struct map_action_fn_context_struct - { -- text_action *r; -- int removed = 0; -+ int removed; - removal_by_action_map map; - bfd_boolean eq_complete; -+}; - -- map.n_entries = 0; -- map.entry = bfd_malloc (action_list_count (action_list) * -- sizeof (removal_by_action_entry)); -- eq_complete = FALSE; -+static int -+map_action_fn (splay_tree_node node, void *p) -+{ -+ map_action_fn_context *ctx = p; -+ text_action *r = (text_action *)node->value; -+ removal_by_action_entry *ientry = ctx->map.entry + ctx->map.n_entries; - -- for (r = action_list->head; r;) -+ if (ctx->map.n_entries && (ientry - 1)->offset == r->offset) - { -- removal_by_action_entry *ientry = map.entry + map.n_entries; -+ --ientry; -+ } -+ else -+ { -+ ++ctx->map.n_entries; -+ ctx->eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = ctx->removed; -+ } - -- if (map.n_entries && (ientry - 1)->offset == r->offset) -+ if (!ctx->eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) - { -- --ientry; -+ ientry->eq_removed = ctx->removed; -+ ctx->eq_complete = TRUE; - } - else -- { -- ++map.n_entries; -- eq_complete = FALSE; -- ientry->offset = r->offset; -- ientry->eq_removed_before_fill = removed; -- } -+ ientry->eq_removed = ctx->removed + r->removed_bytes; -+ } - -- if (!eq_complete) -- { -- if (r->action != ta_fill || r->removed_bytes >= 0) -- { -- ientry->eq_removed = removed; -- eq_complete = TRUE; -- } -- else -- ientry->eq_removed = removed + r->removed_bytes; -- } -+ ctx->removed += r->removed_bytes; -+ ientry->removed = ctx->removed; -+ return 0; -+} - -- removed += r->removed_bytes; -- ientry->removed = removed; -- r = r->next; -- } -- action_list->map = map; -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ map_action_fn_context ctx; -+ -+ ctx.removed = 0; -+ ctx.map.n_entries = 0; -+ ctx.map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ ctx.eq_complete = FALSE; -+ -+ splay_tree_foreach (action_list->tree, map_action_fn, &ctx); -+ action_list->map = ctx.map; - } - - static int -@@ -5749,28 +5793,26 @@ - static text_action * - find_insn_action (text_action_list *action_list, bfd_vma offset) - { -- text_action *t; -- for (t = action_list->head; t; t = t->next) -+ static const text_action_t action[] = - { -- if (t->offset == offset) -- { -- switch (t->action) -- { -- case ta_none: -- case ta_fill: -- break; -- case ta_remove_insn: -- case ta_remove_longcall: -- case ta_convert_longcall: -- case ta_narrow_insn: -- case ta_widen_insn: -- return t; -- case ta_remove_literal: -- case ta_add_literal: -- BFD_ASSERT (0); -- break; -- } -- } -+ ta_convert_longcall, -+ ta_remove_longcall, -+ ta_widen_insn, -+ ta_narrow_insn, -+ ta_remove_insn, -+ }; -+ text_action a; -+ unsigned i; -+ -+ a.offset = offset; -+ for (i = 0; i < sizeof (action) / sizeof (*action); ++i) -+ { -+ splay_tree_node node; -+ -+ a.action = action[i]; -+ node = splay_tree_lookup (action_list->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - } - return NULL; - } -@@ -5779,40 +5821,50 @@ - #if DEBUG - - static void --print_action_list (FILE *fp, text_action_list *action_list) -+print_action (FILE *fp, text_action *r) - { -- text_action *r; -- -- fprintf (fp, "Text Action\n"); -- for (r = action_list->head; r != NULL; r = r->next) -+ const char *t = "unknown"; -+ switch (r->action) - { -- const char *t = "unknown"; -- switch (r->action) -- { -- case ta_remove_insn: -- t = "remove_insn"; break; -- case ta_remove_longcall: -- t = "remove_longcall"; break; -- case ta_convert_longcall: -- t = "convert_longcall"; break; -- case ta_narrow_insn: -- t = "narrow_insn"; break; -- case ta_widen_insn: -- t = "widen_insn"; break; -- case ta_fill: -- t = "fill"; break; -- case ta_none: -- t = "none"; break; -- case ta_remove_literal: -- t = "remove_literal"; break; -- case ta_add_literal: -- t = "add_literal"; break; -- } -+ case ta_remove_insn: -+ t = "remove_insn"; break; -+ case ta_remove_longcall: -+ t = "remove_longcall"; break; -+ case ta_convert_longcall: -+ t = "convert_longcall"; break; -+ case ta_narrow_insn: -+ t = "narrow_insn"; break; -+ case ta_widen_insn: -+ t = "widen_insn"; break; -+ case ta_fill: -+ t = "fill"; break; -+ case ta_none: -+ t = "none"; break; -+ case ta_remove_literal: -+ t = "remove_literal"; break; -+ case ta_add_literal: -+ t = "add_literal"; break; -+ } -+ -+ fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -+ r->sec->owner->filename, -+ r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -+} - -- fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -- r->sec->owner->filename, -- r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -- } -+static int -+print_action_list_fn (splay_tree_node node, void *p) -+{ -+ text_action *r = (text_action *)node->value; -+ -+ print_action (p, r); -+ return 0; -+} -+ -+static void -+print_action_list (FILE *fp, text_action_list *action_list) -+{ -+ fprintf (fp, "Text Action\n"); -+ splay_tree_foreach (action_list->tree, print_action_list_fn, fp); - } - - #endif /* DEBUG */ -@@ -6066,8 +6118,8 @@ - relax_info->removed_list.head = NULL; - relax_info->removed_list.tail = NULL; - -- relax_info->action_list.head = NULL; -- -+ relax_info->action_list.tree = splay_tree_new (text_action_compare, -+ NULL, NULL); - relax_info->action_list.map.n_entries = 0; - relax_info->action_list.map.entry = NULL; - -@@ -7757,7 +7809,7 @@ - free_reloc_range_list (&relevant_relocs); - - #if DEBUG -- if (relax_info->action_list.head) -+ if (action_list_count (&relax_info->action_list)) - print_action_list (stderr, &relax_info->action_list); - #endif - -@@ -8258,6 +8310,54 @@ - return e->new_address - e->orig_address + offset; - } - -+typedef struct xlate_map_context_struct xlate_map_context; -+struct xlate_map_context_struct -+{ -+ xlate_map_t *map; -+ xlate_map_entry_t *current_entry; -+ int removed; -+}; -+ -+static int -+xlate_map_fn (splay_tree_node node, void *p) -+{ -+ text_action *r = (text_action *)node->value; -+ xlate_map_context *ctx = p; -+ unsigned orig_size = 0; -+ -+ switch (r->action) -+ { -+ case ta_none: -+ case ta_remove_insn: -+ case ta_convert_longcall: -+ case ta_remove_literal: -+ case ta_add_literal: -+ break; -+ case ta_remove_longcall: -+ orig_size = 6; -+ break; -+ case ta_narrow_insn: -+ orig_size = 3; -+ break; -+ case ta_widen_insn: -+ orig_size = 2; -+ break; -+ case ta_fill: -+ break; -+ } -+ ctx->current_entry->size = -+ r->offset + orig_size - ctx->current_entry->orig_address; -+ if (ctx->current_entry->size != 0) -+ { -+ ctx->current_entry++; -+ ctx->map->entry_count++; -+ } -+ ctx->current_entry->orig_address = r->offset + orig_size; -+ ctx->removed += r->removed_bytes; -+ ctx->current_entry->new_address = r->offset + orig_size - ctx->removed; -+ ctx->current_entry->size = 0; -+ return 0; -+} - - /* Build a binary searchable offset translation map from a section's - action list. */ -@@ -8265,75 +8365,40 @@ - static xlate_map_t * - build_xlate_map (asection *sec, xtensa_relax_info *relax_info) - { -- xlate_map_t *map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); - text_action_list *action_list = &relax_info->action_list; - unsigned num_actions = 0; -- text_action *r; -- int removed; -- xlate_map_entry_t *current_entry; -+ xlate_map_context ctx; - -- if (map == NULL) -+ ctx.map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); -+ -+ if (ctx.map == NULL) - return NULL; - - num_actions = action_list_count (action_list); -- map->entry = (xlate_map_entry_t *) -+ ctx.map->entry = (xlate_map_entry_t *) - bfd_malloc (sizeof (xlate_map_entry_t) * (num_actions + 1)); -- if (map->entry == NULL) -+ if (ctx.map->entry == NULL) - { -- free (map); -+ free (ctx.map); - return NULL; - } -- map->entry_count = 0; -+ ctx.map->entry_count = 0; - -- removed = 0; -- current_entry = &map->entry[0]; -+ ctx.removed = 0; -+ ctx.current_entry = &ctx.map->entry[0]; - -- current_entry->orig_address = 0; -- current_entry->new_address = 0; -- current_entry->size = 0; -+ ctx.current_entry->orig_address = 0; -+ ctx.current_entry->new_address = 0; -+ ctx.current_entry->size = 0; - -- for (r = action_list->head; r != NULL; r = r->next) -- { -- unsigned orig_size = 0; -- switch (r->action) -- { -- case ta_none: -- case ta_remove_insn: -- case ta_convert_longcall: -- case ta_remove_literal: -- case ta_add_literal: -- break; -- case ta_remove_longcall: -- orig_size = 6; -- break; -- case ta_narrow_insn: -- orig_size = 3; -- break; -- case ta_widen_insn: -- orig_size = 2; -- break; -- case ta_fill: -- break; -- } -- current_entry->size = -- r->offset + orig_size - current_entry->orig_address; -- if (current_entry->size != 0) -- { -- current_entry++; -- map->entry_count++; -- } -- current_entry->orig_address = r->offset + orig_size; -- removed += r->removed_bytes; -- current_entry->new_address = r->offset + orig_size - removed; -- current_entry->size = 0; -- } -+ splay_tree_foreach (action_list->tree, xlate_map_fn, &ctx); - -- current_entry->size = (bfd_get_section_limit (sec->owner, sec) -- - current_entry->orig_address); -- if (current_entry->size != 0) -- map->entry_count++; -+ ctx.current_entry->size = (bfd_get_section_limit (sec->owner, sec) -+ - ctx.current_entry->orig_address); -+ if (ctx.current_entry->size != 0) -+ ctx.map->entry_count++; - -- return map; -+ return ctx.map; - } - - -@@ -9297,6 +9362,16 @@ - - /* Second relaxation pass. */ - -+static int -+action_remove_bytes_fn (splay_tree_node node, void *p) -+{ -+ bfd_size_type *final_size = p; -+ text_action *action = (text_action *)node->value; -+ -+ *final_size -= action->removed_bytes; -+ return 0; -+} -+ - /* Modify all of the relocations to point to the right spot, and if this - is a relaxable section, delete the unwanted literals and fix the - section size. */ -@@ -9329,7 +9404,7 @@ - - internal_relocs = retrieve_internal_relocs (abfd, sec, - link_info->keep_memory); -- if (!internal_relocs && !relax_info->action_list.head) -+ if (!internal_relocs && !action_list_count (&relax_info->action_list)) - return TRUE; - - contents = retrieve_contents (abfd, sec, link_info->keep_memory); -@@ -9407,6 +9482,12 @@ - } - /* Update the action so that the code that moves - the contents will do the right thing. */ -+ /* ta_remove_longcall and ta_remove_insn actions are -+ grouped together in the tree as well as -+ ta_convert_longcall and ta_none, so that changes below -+ can be done w/o removing and reinserting action into -+ the tree. */ -+ - if (action->action == ta_remove_longcall) - action->action = ta_remove_insn; - else -@@ -9579,13 +9660,12 @@ - - if ((relax_info->is_relaxable_literal_section - || relax_info->is_relaxable_asm_section) -- && relax_info->action_list.head) -+ && action_list_count (&relax_info->action_list)) - { - /* Walk through the planned actions and build up a table - of move, copy and fill records. Use the move, copy and - fill records to perform the actions once. */ - -- int removed = 0; - bfd_size_type final_size, copy_size, orig_insn_size; - bfd_byte *scratch = NULL; - bfd_byte *dup_contents = NULL; -@@ -9596,15 +9676,12 @@ - bfd_vma orig_dot_vo = 0; /* Virtual offset from orig_dot. */ - bfd_vma dup_dot = 0; - -- text_action *action = relax_info->action_list.head; -+ text_action *action; - - final_size = sec->size; -- for (action = relax_info->action_list.head; action; -- action = action->next) -- { -- final_size -= action->removed_bytes; -- } - -+ splay_tree_foreach (relax_info->action_list.tree, -+ action_remove_bytes_fn, &final_size); - scratch = (bfd_byte *) bfd_zmalloc (final_size); - dup_contents = (bfd_byte *) bfd_zmalloc (final_size); - -@@ -9613,8 +9690,8 @@ - print_action_list (stderr, &relax_info->action_list); - #endif - -- for (action = relax_info->action_list.head; action; -- action = action->next) -+ for (action = action_first (&relax_info->action_list); action; -+ action = action_next (&relax_info->action_list, action)) - { - virtual_action = FALSE; - if (action->offset > orig_dot) -@@ -9743,7 +9820,6 @@ - break; - } - -- removed += action->removed_bytes; - BFD_ASSERT (dup_dot <= final_size); - BFD_ASSERT (orig_dot <= orig_size); - } diff --git a/packages/binutils/2.24/0019-xtensa-optimize-trampolines-relaxation.patch b/packages/binutils/2.24/0019-xtensa-optimize-trampolines-relaxation.patch deleted file mode 100644 index 4967b61..0000000 --- a/packages/binutils/2.24/0019-xtensa-optimize-trampolines-relaxation.patch +++ /dev/null @@ -1,340 +0,0 @@ -From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 1 May 2015 11:39:12 +0300 -Subject: [PATCH] xtensa: optimize trampolines relaxation - -Currently every fixup in the current segment is checked when relaxing -trampoline frag. This is very expensive. Make a searchable array of -fixups pointing at potentially oversized jumps at the beginning of every -relaxation pass and only check subset of this cache in the reach of -single jump from the trampoline frag currently being relaxed. - -Original profile: - -% time self children called name ------------------------------------------ - 370.16 593.38 12283048/12283048 relax_segment - 98.4 370.16 593.38 12283048 xtensa_relax_frag - 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars - 68.35 68.17 811266668/813338977 S_GET_VALUE - 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode - 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot - 12.39 5.94 2691463834/2699775044 xtensa_format_decode - 0.03 4.60 4101109/4101109 relax_frag_for_align - 0.18 1.76 994617/994617 relax_frag_immed - 0.07 0.09 24556277/24851220 new_logical_line - 0.06 0.00 12283048/14067410 as_where - 0.04 0.00 7094588/15460506 xtensa_format_num_slots - 0.00 0.00 1/712477 xtensa_insnbuf_alloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.51 7.47 12283048/12283048 relax_segment - 58.0 0.51 7.47 12283048 xtensa_relax_frag - 0.02 4.08 4101109/4101109 relax_frag_for_align - 0.18 1.39 994617/994617 relax_frag_immed - 0.01 0.98 555/555 xtensa_cache_relaxable_fixups - 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars - 0.06 0.12 24556277/24851220 new_logical_line - 0.06 0.00 7094588/15460506 xtensa_format_num_slots - 0.02 0.04 7094588/16866079 xtensa_format_decode - 0.05 0.00 12283048/14067410 as_where - 0.00 0.00 1/712477 xtensa_insnbuf_alloc - 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup ------------------------------------------ - -2015-05-02 Max Filippov -gas/ - * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs. - (struct cached_fixup, struct fixup_cache): New structures. - (fixup_order, xtensa_make_cached_fixup), - (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups), - (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup), - (xtensa_add_cached_fixup): New functions. - (xtensa_relax_frag): Cache fixups pointing at potentially - oversized jumps at the beginning of every relaxation pass. Only - check subset of this cache in the reach of single jump from the - trampoline frag currently being relaxed. - -Signed-off-by: Max Filippov ---- -Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 220 ++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 193 insertions(+), 27 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -8786,6 +8786,154 @@ - static long relax_frag_immed - (segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean); - -+typedef struct cached_fixup cached_fixupS; -+struct cached_fixup -+{ -+ int addr; -+ int target; -+ int delta; -+ fixS *fixP; -+}; -+ -+typedef struct fixup_cache fixup_cacheS; -+struct fixup_cache -+{ -+ cached_fixupS *fixups; -+ unsigned n_fixups; -+ unsigned n_max; -+ -+ segT seg; -+ fragS *first_frag; -+}; -+ -+static int fixup_order (const void *a, const void *b) -+{ -+ const cached_fixupS *pa = a; -+ const cached_fixupS *pb = b; -+ -+ if (pa->addr == pb->addr) -+ { -+ if (pa->target == pb->target) -+ { -+ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type) -+ return 0; -+ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1; -+ } -+ return pa->target - pb->target; -+ } -+ return pa->addr - pb->addr; -+} -+ -+static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP) -+{ -+ xtensa_isa isa = xtensa_default_isa; -+ int addr = fixP->fx_frag->fr_address; -+ int target; -+ int delta; -+ symbolS *s = fixP->fx_addsy; -+ int slot; -+ xtensa_format fmt; -+ xtensa_opcode opcode; -+ -+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -+ return FALSE; -+ target = S_GET_VALUE (s); -+ delta = target - addr; -+ -+ if (abs(delta) < J_RANGE / 2) -+ return FALSE; -+ -+ xtensa_insnbuf_from_chars (isa, trampoline_buf, -+ (unsigned char *) fixP->fx_frag->fr_literal + -+ fixP->fx_where, 0); -+ fmt = xtensa_format_decode (isa, trampoline_buf); -+ gas_assert (fmt != XTENSA_UNDEFINED); -+ slot = fixP->tc_fix_data.slot; -+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -+ if (opcode != xtensa_j_opcode) -+ return FALSE; -+ -+ o->addr = addr; -+ o->target = target; -+ o->delta = delta; -+ o->fixP = fixP; -+ -+ return TRUE; -+} -+ -+static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add) -+{ -+ if (cache->n_fixups + add > cache->n_max) -+ { -+ cache->n_max = (cache->n_fixups + add) * 2; -+ cache->fixups = xrealloc (cache->fixups, -+ sizeof (*cache->fixups) * cache->n_max); -+ } -+} -+ -+static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache, -+ segment_info_type *seginfo) -+{ -+ fixS *fixP; -+ -+ cache->n_fixups = 0; -+ -+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ { -+ xtensa_realloc_fixup_cache (cache, 1); -+ -+ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP)) -+ ++cache->n_fixups; -+ } -+ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order); -+} -+ -+static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache, -+ int addr) -+{ -+ unsigned a = 0; -+ unsigned b = cache->n_fixups; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (cache->fixups[c].addr < addr) -+ a = c; -+ else -+ b = c; -+ } -+ return a; -+} -+ -+static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i) -+{ -+ memmove (cache->fixups + i, cache->fixups + i + 1, -+ (cache->n_fixups - i - 1) * sizeof (*cache->fixups)); -+ --cache->n_fixups; -+} -+ -+static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP) -+{ -+ cached_fixupS o; -+ unsigned i; -+ -+ if (!xtensa_make_cached_fixup (&o, fixP)) -+ return FALSE; -+ xtensa_realloc_fixup_cache (cache, 1); -+ i = xtensa_find_first_cached_fixup (cache, o.addr); -+ if (i < cache->n_fixups) -+ { -+ ++i; -+ memmove (cache->fixups + i + 1, cache->fixups + i, -+ (cache->n_fixups - i) * sizeof (*cache->fixups)); -+ } -+ cache->fixups[i] = o; -+ ++cache->n_fixups; -+ return TRUE; -+} - - /* Return the number of bytes added to this fragment, given that the - input has been stretched already by "stretch". */ -@@ -8897,35 +9045,42 @@ - case RELAX_TRAMPOLINE: - if (fragP->tc_frag_data.relax_seen) - { -- segment_info_type *seginfo = seg_info (now_seg); -- fragS *fP; /* The out-of-range jump. */ -- fixS *fixP; -+ static fixup_cacheS fixup_cache; -+ segment_info_type *seginfo = seg_info (now_seg); -+ int trampaddr = fragP->fr_address + fragP->fr_fix; -+ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE; -+ unsigned i; -+ -+ if (now_seg != fixup_cache.seg || -+ fragP == fixup_cache.first_frag || -+ fixup_cache.first_frag == NULL) -+ { -+ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo); -+ fixup_cache.seg = now_seg; -+ fixup_cache.first_frag = fragP; -+ } - - /* Scan for jumps that will not reach. */ -- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr); -+ i < fixup_cache.n_fixups; ++i) -+ - { -- symbolS *s = fixP->fx_addsy; -- xtensa_opcode opcode; -- int target; -- int addr; -- int delta; -- -- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -- continue; -- xtensa_insnbuf_from_chars (isa, trampoline_buf, -- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where, -- 0); -- fmt = xtensa_format_decode (isa, trampoline_buf); -- gas_assert (fmt != XTENSA_UNDEFINED); -- slot = fixP->tc_fix_data.slot; -- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -- if (opcode != xtensa_j_opcode) -+ fixS *fixP = fixup_cache.fixups[i].fixP; -+ int target = fixup_cache.fixups[i].target; -+ int addr = fixup_cache.fixups[i].addr; -+ int delta = fixup_cache.fixups[i].delta + stretch; -+ -+ trampaddr = fragP->fr_address + fragP->fr_fix; -+ -+ if (addr + J_RANGE < trampaddr) -+ continue; -+ if (addr > trampaddr + J_RANGE) -+ break; -+ if (abs (delta) < J_RANGE) - continue; -- target = S_GET_VALUE (s); -- addr = fixP->fx_frag->fr_address; -- delta = target - addr + stretch; -+ -+ slot = fixP->tc_fix_data.slot; -+ - if (delta > J_RANGE || delta < -1 * J_RANGE) - { /* Found an out-of-range jump; scan the list of trampolines for the best match. */ - struct trampoline_seg *ts = find_trampoline_seg (now_seg); -@@ -8979,14 +9134,13 @@ - } - if (tf->fragP == fragP) - { -- int trampaddr = fragP->fr_address + fragP->fr_fix; -- - if (abs (addr - trampaddr) < J_RANGE) - { /* The trampoline is in range of original; fix it! */ - fixS *newfixP; - int offset; - TInsn insn; - symbolS *lsym; -+ fragS *fP; /* The out-of-range jump. */ - - new_stretch += init_trampoline_frag (tf); - offset = fragP->fr_fix; /* Where to assemble the j insn. */ -@@ -9010,10 +9164,20 @@ - newfixP->tc_fix_data.X_add_symbol = lsym; - newfixP->tc_fix_data.X_add_number = offset; - newfixP->tc_fix_data.slot = slot; -+ -+ xtensa_delete_cached_fixup (&fixup_cache, i); -+ xtensa_add_cached_fixup (&fixup_cache, newfixP); -+ - /* Move the fix-up from the original j insn to this one. */ - fixP->fx_frag = fragP; - fixP->fx_where = fragP->fr_fix - 3; - fixP->tc_fix_data.slot = 0; -+ -+ xtensa_add_cached_fixup (&fixup_cache, fixP); -+ -+ /* re-do current fixup */ -+ --i; -+ - /* Adjust the jump around this trampoline (if present). */ - if (tf->fixP != NULL) - { -@@ -9028,6 +9192,8 @@ - fragP->fr_subtype = 0; - /* Remove from the trampoline_list. */ - prev->next = tf->next; -+ if (fragP == fixup_cache.first_frag) -+ fixup_cache.first_frag = NULL; - break; - } - } diff --git a/packages/binutils/2.24/0020-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.24/0020-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch deleted file mode 100644 index 63fc41d..0000000 --- a/packages/binutils/2.24/0020-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 14 May 2015 05:22:55 +0300 -Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections - -elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were -made local, that results in link failure with the following message: - - BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line - 3372 in elf_xtensa_finish_dynamic_sections - -elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by -relocation type. Relocation types are not changed when symbol becomes -local, but its PLT references are added to GOT references and -plt.refcount is set to 0. Such symbol cannot be unreferences in the -elf_xtensa_gc_sweep_hook and its extra references make calculated GOT -relocations section size not match number of GOT relocations. - -Fix it by treating PLT reference as GOT reference when plt.refcount is -not positive. - -2015-05-14 Max Filippov -bfd/ - * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference - as GOT reference when plt.refcount is not positive. - -Signed-off-by: Max Filippov ---- -Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388 -Changes to ChangeLog are dropped. - - bfd/elf32-xtensa.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -1357,10 +1357,14 @@ - { - if (is_plt) - { -+ /* If the symbol has been localized its plt.refcount got moved -+ to got.refcount. Handle it as GOT. */ - if (h->plt.refcount > 0) - h->plt.refcount--; -+ else -+ is_got = TRUE; - } -- else if (is_got) -+ if (is_got) - { - if (h->got.refcount > 0) - h->got.refcount--; diff --git a/packages/binutils/2.24/0021-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.24/0021-xtensa-fix-gas-segfault-with-text-section-literals.patch deleted file mode 100644 index b184987..0000000 --- a/packages/binutils/2.24/0021-xtensa-fix-gas-segfault-with-text-section-literals.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2d0522e76e4afeeb2e104e0a4332d94fa0d2fbf6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 May 2015 06:46:15 +0300 -Subject: [PATCH] xtensa: fix gas segfault with --text-section-literals - -When --text-section-literals is used and code in the .init or .fini -emits literal in the absence of .literal_position, xtensa_move_literals -segfaults. - -Check that search_frag is non-NULL in the xtensa_move_literals and -report error otherwise. - -2015-05-26 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Check that - search_frag is non-NULL. Report error if literal frag is not - found. - -Signed-off-by: Max Filippov ---- -Backported from: 4de0562a4c69fef4952aa7e19d7bda359f02e8b4 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -10809,13 +10809,21 @@ - frchain_to = NULL; - frag_splice = &(frchain_from->frch_root); - -- while (!search_frag->tc_frag_data.literal_frag) -+ while (search_frag && !search_frag->tc_frag_data.literal_frag) - { - gas_assert (search_frag->fr_fix == 0 - || search_frag->fr_type == rs_align); - search_frag = search_frag->fr_next; - } - -+ if (!search_frag) -+ { -+ search_frag = frchain_from->frch_root; -+ as_bad_where (search_frag->fr_file, search_frag->fr_line, -+ _("literal pool location required for text-section-literals; specify with .literal_position")); -+ continue; -+ } -+ - gas_assert (search_frag->tc_frag_data.literal_frag->fr_subtype - == RELAX_LITERAL_POOL_BEGIN); - xtensa_switch_section_emit_state (&state, segment->seg, 0); diff --git a/packages/binutils/2.24/0022-xtensa-add-auto-litpools-option.patch b/packages/binutils/2.24/0022-xtensa-add-auto-litpools-option.patch deleted file mode 100644 index 269e9f2..0000000 --- a/packages/binutils/2.24/0022-xtensa-add-auto-litpools-option.patch +++ /dev/null @@ -1,684 +0,0 @@ -From 978adaaa4cd3921842e2be8a31c05f081fb17fcf Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 29 Jul 2015 17:42:54 +0300 -Subject: [PATCH] xtensa: add --auto-litpools option - -Auto-litpools is the automated version of text-section-literals: literal -pool candidate frags are planted every N frags and during relaxation -they are turned into actual literal pools where literals are moved to -become reachable for their first reference by L32R instruction. - -2015-08-12 David Weatherford -gas/ - * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg): - New structures. - (xtensa_maybe_create_literal_pool_frag): New function. - (litpool_seg_list, auto_litpools, auto_litpool_limit) - (litpool_buf, litpool_slotbuf): New static variables. - (option_auto_litpools, option_no_auto_litpools) - (option_auto_litpool_limit): New enum identifiers. - (md_longopts): Add entries for auto-litpools, no-auto-litpools - and auto-litpool-limit. - (md_parse_option): Handle option_auto_litpools, - option_no_auto_litpools and option_auto_litpool_limit. - (md_show_usage): Add help for --[no-]auto-litpools and - --auto-litpool-limit. - (xtensa_mark_literal_pool_location): Record a place for literal - pool with a call to xtensa_maybe_create_literal_pool_frag. - (get_literal_pool_location): Find highest priority literal pool - or convert candidate to literal pool when auto-litpools are used. - (xg_assemble_vliw_tokens): Create literal pool after jump - instruction. - (xtensa_check_frag_count): Create candidate literal pool every - auto_litpool_limit frags. - (xtensa_relax_frag): Add jump around literals to non-empty - literal pool. - (xtensa_move_literals): Estimate literal pool addresses and move - unreachable literals closer to their users, converting candidate - to literal pool if needed. - (xtensa_switch_to_non_abs_literal_fragment): Only emit error - about missing .literal_position in case auto-litpools are not - used. - * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation - state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN. - -2015-08-12 Max Filippov -gas/testsuite/ - * gas/xtensa/all.exp: Add auto-litpools to the list of xtensa - tests. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test - result pattern. - -Signed-off-by: Max Filippov ---- -Backported from: b46824bd49648c575372e6d9bc6a6defeabd6ed5 -Changes to ChangeLogs and documentation are dropped. - - gas/config/tc-xtensa.c | 432 ++++++++++++++++++++++++++++++- - gas/config/tc-xtensa.h | 1 - gas/testsuite/gas/xtensa/all.exp | 1 - gas/testsuite/gas/xtensa/auto-litpools.d | 12 - gas/testsuite/gas/xtensa/auto-litpools.s | 13 - 5 files changed, 454 insertions(+), 5 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.d - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -441,6 +441,29 @@ - #endif - }; - -+/* A circular list of all potential and actual literal pool locations -+ in a segment. */ -+struct litpool_frag -+{ -+ struct litpool_frag *next; -+ struct litpool_frag *prev; -+ fragS *fragP; -+ addressT addr; -+ short priority; /* 1, 2, or 3 -- 1 is highest */ -+ short original_priority; -+}; -+ -+/* Map a segment to its litpool_frag list. */ -+struct litpool_seg -+{ -+ struct litpool_seg *next; -+ asection *seg; -+ struct litpool_frag frag_list; -+ int frag_count; /* since last litpool location */ -+}; -+ -+static struct litpool_seg litpool_seg_list; -+ - - /* Directive functions. */ - -@@ -475,6 +498,9 @@ - static void xtensa_maybe_create_trampoline_frag (void); - struct trampoline_frag; - static int init_trampoline_frag (struct trampoline_frag *); -+static void xtensa_maybe_create_literal_pool_frag (bfd_boolean, bfd_boolean); -+static bfd_boolean auto_litpools = FALSE; -+static int auto_litpool_limit = 10000; - - /* Alignment Functions. */ - -@@ -699,6 +725,10 @@ - - option_trampolines, - option_no_trampolines, -+ -+ option_auto_litpools, -+ option_no_auto_litpools, -+ option_auto_litpool_limit, - }; - - const char *md_shortopts = ""; -@@ -774,6 +804,10 @@ - { "trampolines", no_argument, NULL, option_trampolines }, - { "no-trampolines", no_argument, NULL, option_no_trampolines }, - -+ { "auto-litpools", no_argument, NULL, option_auto_litpools }, -+ { "no-auto-litpools", no_argument, NULL, option_no_auto_litpools }, -+ { "auto-litpool-limit", required_argument, NULL, option_auto_litpool_limit }, -+ - { NULL, no_argument, NULL, 0 } - }; - -@@ -962,6 +996,34 @@ - use_trampolines = FALSE; - return 1; - -+ case option_auto_litpools: -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ -+ case option_no_auto_litpools: -+ auto_litpools = FALSE; -+ auto_litpool_limit = -1; -+ return 1; -+ -+ case option_auto_litpool_limit: -+ { -+ int value = 0; -+ if (auto_litpool_limit < 0) -+ as_fatal (_("no-auto-litpools is incompatible with auto-litpool-limit")); -+ if (*arg == 0 || *arg == '-') -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ value = strtol (arg, &arg, 10); -+ if (*arg != 0) -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ if (value < 100 || value > 10000) -+ as_fatal (_("invalid auto-litpool-limit argument (range is 100-10000)")); -+ auto_litpool_limit = value; -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ } -+ - default: - return 0; - } -@@ -987,7 +1049,12 @@ - flix bundles\n\ - --rename-section old=new Rename section 'old' to 'new'\n\ - --[no-]trampolines [Do not] generate trampolines (jumps to jumps)\n\ -- when jumps do not reach their targets\n", stream); -+ when jumps do not reach their targets\n\ -+ --[no-]auto-litpools [Do not] automatically create literal pools\n\ -+ --auto-litpool-limit=\n\ -+ (range 100-10000) Maximum number of blocks of\n\ -+ instructions to emit between literal pool\n\ -+ locations; implies --auto-litpools flag\n", stream); - } - - -@@ -4729,6 +4796,8 @@ - pool_location = frag_now; - frag_now->tc_frag_data.lit_frchain = frchain_now; - frag_now->tc_frag_data.literal_frag = frag_now; -+ /* Just record this frag. */ -+ xtensa_maybe_create_literal_pool_frag (FALSE, FALSE); - frag_variant (rs_machine_dependent, 0, 0, - RELAX_LITERAL_POOL_BEGIN, NULL, 0, NULL); - xtensa_set_frag_assembly_state (frag_now); -@@ -4833,6 +4902,31 @@ - static fragS * - get_literal_pool_location (segT seg) - { -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ for ( ; lps && lps->seg->id != seg->id; lps = lps->next) -+ ; -+ if (lps) -+ { -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { /* Skip "candidates" for now. */ -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN && -+ lpf->priority == 1) -+ return lpf->fragP; -+ } -+ /* Must convert a lower-priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ return lpf->fragP; -+ } -+ /* Still no match -- try for a low priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ return lpf->fragP; -+ } -+ } - return seg_info (seg)->tc_segment_info_data.literal_pool_loc; - } - -@@ -7099,6 +7193,11 @@ - frag_now->tc_frag_data.slot_symbols[slot] = tinsn->symbol; - frag_now->tc_frag_data.slot_offsets[slot] = tinsn->offset; - frag_now->tc_frag_data.literal_frags[slot] = tinsn->literal_frag; -+ if (tinsn->opcode == xtensa_l32r_opcode) -+ { -+ frag_now->tc_frag_data.literal_frags[slot] = -+ tinsn->tok[1].X_add_symbol->sy_frag; -+ } - if (tinsn->literal_space != 0) - xg_assemble_literal_space (tinsn->literal_space, slot); - frag_now->tc_frag_data.free_reg[slot] = tinsn->extra_arg; -@@ -7171,6 +7270,8 @@ - frag_now->fr_symbol, frag_now->fr_offset, NULL); - xtensa_set_frag_assembly_state (frag_now); - xtensa_maybe_create_trampoline_frag (); -+ /* Always create one here. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, FALSE); - } - else if (is_branch && do_align_targets ()) - { -@@ -7315,11 +7416,18 @@ - clear_frag_count (); - unreachable_count = 0; - } -+ -+ /* We create an area for a possible literal pool every N (default 5000) -+ frags or so. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, TRUE); - } - - static xtensa_insnbuf trampoline_buf = NULL; - static xtensa_insnbuf trampoline_slotbuf = NULL; - -+static xtensa_insnbuf litpool_buf = NULL; -+static xtensa_insnbuf litpool_slotbuf = NULL; -+ - #define TRAMPOLINE_FRAG_SIZE 3000 - - static void -@@ -7411,6 +7519,135 @@ - } - } - -+static void dump_litpools (void) __attribute__ ((unused)); -+ -+static void -+dump_litpools (void) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ printf("litpool seg %s\n", lps->seg->name); -+ for ( lpf = lps->frag_list.next; lpf->fragP; lpf = lpf->next ) -+ { -+ fragS *litfrag = lpf->fragP->fr_next; -+ int count = 0; -+ while (litfrag && litfrag->fr_subtype != RELAX_LITERAL_POOL_END) -+ { -+ if (litfrag->fr_fix == 4) -+ count++; -+ litfrag = litfrag->fr_next; -+ } -+ printf(" %ld <%d:%d> (%d) [%d]: ", -+ lpf->addr, lpf->priority, lpf->original_priority, -+ lpf->fragP->fr_line, count); -+ //dump_frag(lpf->fragP); -+ } -+ } -+} -+ -+static void -+xtensa_maybe_create_literal_pool_frag (bfd_boolean create, -+ bfd_boolean only_if_needed) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ fragS *fragP; -+ struct litpool_frag *lpf; -+ bfd_boolean needed = FALSE; -+ -+ if (use_literal_section || !auto_litpools) -+ return; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ if (lps->seg == now_seg) -+ break; -+ } -+ -+ if (lps == NULL) -+ { -+ lps = (struct litpool_seg *)xcalloc (sizeof (struct litpool_seg), 1); -+ lps->next = litpool_seg_list.next; -+ litpool_seg_list.next = lps; -+ lps->seg = now_seg; -+ lps->frag_list.next = &lps->frag_list; -+ lps->frag_list.prev = &lps->frag_list; -+ } -+ -+ lps->frag_count++; -+ -+ if (create) -+ { -+ if (only_if_needed) -+ { -+ if (past_xtensa_end || !use_transform() || -+ frag_now->tc_frag_data.is_no_transform) -+ { -+ return; -+ } -+ if (auto_litpool_limit <= 0) -+ { -+ /* Don't create a litpool based only on frag count. */ -+ return; -+ } -+ else if (lps->frag_count > auto_litpool_limit) -+ { -+ needed = TRUE; -+ } -+ else -+ { -+ return; -+ } -+ } -+ else -+ { -+ needed = TRUE; -+ } -+ } -+ -+ if (needed) -+ { -+ int size = (only_if_needed) ? 3 : 0; /* Space for a "j" insn. */ -+ /* Create a potential site for a literal pool. */ -+ frag_wane (frag_now); -+ frag_new (0); -+ xtensa_set_frag_assembly_state (frag_now); -+ fragP = frag_now; -+ fragP->tc_frag_data.lit_frchain = frchain_now; -+ fragP->tc_frag_data.literal_frag = fragP; -+ frag_var (rs_machine_dependent, size, size, -+ (only_if_needed) ? -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN : -+ RELAX_LITERAL_POOL_BEGIN, -+ NULL, 0, NULL); -+ frag_now->tc_frag_data.lit_seg = now_seg; -+ frag_variant (rs_machine_dependent, 0, 0, -+ RELAX_LITERAL_POOL_END, NULL, 0, NULL); -+ xtensa_set_frag_assembly_state (frag_now); -+ } -+ else -+ { -+ /* RELAX_LITERAL_POOL_BEGIN frag is being created; -+ just record it here. */ -+ fragP = frag_now; -+ } -+ -+ lpf = (struct litpool_frag *)xmalloc(sizeof (struct litpool_frag)); -+ /* Insert at tail of circular list. */ -+ lpf->addr = 0; -+ lps->frag_list.prev->next = lpf; -+ lpf->next = &lps->frag_list; -+ lpf->prev = lps->frag_list.prev; -+ lps->frag_list.prev = lpf; -+ lpf->fragP = fragP; -+ lpf->priority = (needed) ? (only_if_needed) ? 3 : 2 : 1; -+ lpf->original_priority = lpf->priority; -+ -+ lps->frag_count = 0; -+} -+ - static void - xtensa_cleanup_align_frags (void) - { -@@ -9030,7 +9267,41 @@ - break; - - case RELAX_LITERAL_POOL_BEGIN: -+ if (fragP->fr_var != 0) -+ { -+ /* We have a converted "candidate" literal pool; -+ assemble a jump around it. */ -+ TInsn insn; -+ if (!litpool_slotbuf) -+ { -+ litpool_buf = xtensa_insnbuf_alloc (isa); -+ litpool_slotbuf = xtensa_insnbuf_alloc (isa); -+ } -+ new_stretch += 3; -+ fragP->tc_frag_data.relax_seen = FALSE; /* Need another pass. */ -+ fragP->tc_frag_data.is_insn = TRUE; -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], fragP->fr_symbol, -+ fragP->fr_fix); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, litpool_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, litpool_buf, litpool_slotbuf); -+ xtensa_insnbuf_to_chars (isa, litpool_buf, -+ (unsigned char *)fragP->fr_literal + -+ fragP->fr_fix, 3); -+ fragP->fr_fix += 3; -+ fragP->fr_var -= 3; -+ /* Add a fix-up. */ -+ fix_new (fragP, 0, 3, fragP->fr_symbol, 0, TRUE, -+ BFD_RELOC_XTENSA_SLOT0_OP); -+ } -+ break; -+ - case RELAX_LITERAL_POOL_END: -+ case RELAX_LITERAL_POOL_CANDIDATE_BEGIN: - case RELAX_MAYBE_UNREACHABLE: - case RELAX_MAYBE_DESIRE_ALIGN: - /* No relaxation required. */ -@@ -10790,12 +11061,115 @@ - segT dest_seg; - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; -+ struct litpool_seg *lps; - - mark_literal_frags (literal_head->next); - - if (use_literal_section) - return; - -+ /* Assign addresses (rough estimates) to the potential literal pool locations -+ and create new ones if the gaps are too large. */ -+ -+ for (lps = litpool_seg_list.next; lps; lps = lps->next) -+ { -+ frchainS *frchP = seg_info (lps->seg)->frchainP; -+ struct litpool_frag *lpf = lps->frag_list.next; -+ addressT addr = 0; -+ -+ for ( ; frchP; frchP = frchP->frch_next) -+ { -+ fragS *fragP; -+ for (fragP = frchP->frch_root; fragP; fragP = fragP->fr_next) -+ { -+ if (lpf && fragP == lpf->fragP) -+ { -+ gas_assert(fragP->fr_type == rs_machine_dependent && -+ (fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN || -+ fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN)); -+ /* Found a litpool location. */ -+ lpf->addr = addr; -+ lpf = lpf->next; -+ } -+ if (fragP->fr_type == rs_machine_dependent && -+ fragP->fr_subtype == RELAX_SLOTS) -+ { -+ int slot; -+ for (slot = 0; slot < MAX_SLOTS; slot++) -+ { -+ if (fragP->tc_frag_data.literal_frags[slot]) -+ { -+ /* L32R; point its literal to the nearest litpool -+ preferring non-"candidate" positions to avoid -+ the jump-around. */ -+ fragS *litfrag = fragP->tc_frag_data.literal_frags[slot]; -+ struct litpool_frag *lp = lpf->prev; -+ if (!lp->fragP) -+ { -+ break; -+ } -+ while (lp->fragP->fr_subtype == -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ { -+ lp = lp->prev; -+ if (lp->fragP == NULL) -+ { -+ /* End of list; have to bite the bullet. -+ Take the nearest. */ -+ lp = lpf->prev; -+ break; -+ } -+ /* Does it (conservatively) reach? */ -+ if (addr - lp->addr <= 128 * 1024) -+ { -+ if (lp->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ { -+ /* Found a good one. */ -+ break; -+ } -+ else if (lp->prev->fragP && -+ addr - lp->prev->addr > 128 * 1024) -+ { -+ /* This is still a "candidate" but the next one -+ will be too far away, so revert to the nearest -+ one, convert it and add the jump around. */ -+ fragS *poolbeg; -+ fragS *poolend; -+ symbolS *lsym; -+ char label[10 + 2 * sizeof (fragS *)]; -+ lp = lpf->prev; -+ poolbeg = lp->fragP; -+ lp->priority = 1; -+ poolbeg->fr_subtype = RELAX_LITERAL_POOL_BEGIN; -+ poolend = poolbeg->fr_next; -+ gas_assert (poolend->fr_type == rs_machine_dependent && -+ poolend->fr_subtype == RELAX_LITERAL_POOL_END); -+ /* Create a local symbol pointing to the -+ end of the pool. */ -+ sprintf (label, ".L0_LT_%p", poolbeg); -+ lsym = (symbolS *)local_symbol_make (label, lps->seg, -+ 0, poolend); -+ poolbeg->fr_symbol = lsym; -+ /* Rest is done in xtensa_relax_frag. */ -+ } -+ } -+ } -+ if (! litfrag->tc_frag_data.literal_frag) -+ { -+ /* Take earliest use of this literal to avoid -+ forward refs. */ -+ litfrag->tc_frag_data.literal_frag = lp->fragP; -+ } -+ } -+ } -+ } -+ addr += fragP->fr_fix; -+ if (fragP->fr_type == rs_fill) -+ addr += fragP->fr_offset; -+ } -+ } -+ } -+ - for (segment = literal_head->next; segment; segment = segment->next) - { - /* Keep the literals for .init and .fini in separate sections. */ -@@ -10840,9 +11214,6 @@ - while (search_frag != frag_now) - { - next_frag = search_frag->fr_next; -- -- /* First, move the frag out of the literal section and -- to the appropriate place. */ - if (search_frag->tc_frag_data.literal_frag) - { - literal_pool = search_frag->tc_frag_data.literal_frag; -@@ -10850,8 +11221,56 @@ - frchain_to = literal_pool->tc_frag_data.lit_frchain; - gas_assert (frchain_to); - } -+ -+ if (search_frag->fr_type == rs_fill && search_frag->fr_fix == 0) -+ { -+ /* Skip empty fill frags. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ if (search_frag->fr_type == rs_align) -+ { -+ /* Skip alignment frags, because the pool as a whole will be -+ aligned if used, and we don't want to force alignment if the -+ pool is unused. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ /* First, move the frag out of the literal section and -+ to the appropriate place. */ -+ -+ /* Insert an aligmnent frag at start of pool. */ -+ if (literal_pool->fr_next->fr_type == rs_machine_dependent && -+ literal_pool->fr_next->fr_subtype == RELAX_LITERAL_POOL_END) -+ { -+ segT pool_seg = literal_pool->fr_next->tc_frag_data.lit_seg; -+ emit_state prev_state; -+ fragS *prev_frag; -+ fragS *align_frag; -+ xtensa_switch_section_emit_state (&prev_state, pool_seg, 0); -+ prev_frag = frag_now; -+ frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); -+ align_frag = frag_now; -+ frag_align (2, 0, 0); -+ /* Splice it into the right place. */ -+ prev_frag->fr_next = align_frag->fr_next; -+ align_frag->fr_next = literal_pool->fr_next; -+ literal_pool->fr_next = align_frag; -+ /* Insert after this one. */ -+ literal_pool->tc_frag_data.literal_frag = align_frag; -+ xtensa_restore_emit_state (&prev_state); -+ } - insert_after = literal_pool->tc_frag_data.literal_frag; - dest_seg = insert_after->fr_next->tc_frag_data.lit_seg; -+ /* Skip align frag. */ -+ if (insert_after->fr_next->fr_type == rs_align) -+ { -+ insert_after = insert_after->fr_next; -+ } - - *frag_splice = next_frag; - search_frag->fr_next = insert_after->fr_next; -@@ -11015,7 +11434,10 @@ - && !recursive - && !is_init && ! is_fini) - { -- as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ if (!auto_litpools) -+ { -+ as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ } - - /* When we mark a literal pool location, we want to put a frag in - the literal pool that points to it. But to do that, we want to ---- a/gas/config/tc-xtensa.h -+++ b/gas/config/tc-xtensa.h -@@ -125,6 +125,7 @@ - - RELAX_LITERAL_POOL_BEGIN, - RELAX_LITERAL_POOL_END, -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN, - /* Technically these are not relaxations at all but mark a location - to store literals later. Note that fr_var stores the frchain for - BEGIN frags and fr_var stores now_seg for END frags. */ ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -100,6 +100,7 @@ - run_dump_test "weak-call" - run_dump_test "jlong" - run_dump_test "trampoline" -+ run_dump_test "auto-litpools" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.d -@@ -0,0 +1,12 @@ -+#as: --auto-litpools -+#objdump: -d -+#name: auto literal pool placement -+ -+.*: +file format .*xtensa.* -+#... -+.*4:.*l32r.a2, 0 .* -+#... -+.*3e437:.*j.3e440 .* -+#... -+.*40750:.*l32r.a2, 3e43c .* -+#... ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.s -@@ -0,0 +1,13 @@ -+ .text -+ .align 4 -+ .literal .L0, 0x12345 -+ .literal .L1, 0x12345 -+ -+f: -+ l32r a2, .L0 -+ .rep 44000 -+ _nop -+ _nop -+ .endr -+ l32r a2, .L1 -+ ret diff --git a/packages/binutils/2.24/0023-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.24/0023-xtensa-fix-signedness-of-gas-relocations.patch deleted file mode 100644 index 1d89655..0000000 --- a/packages/binutils/2.24/0023-xtensa-fix-signedness-of-gas-relocations.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6c7c5c477ef9ccf2d2548cf2ac3cec9bd3c9c5b6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 2 Feb 2016 17:11:38 +0300 -Subject: [PATCH] xtensa: fix signedness of gas relocations - -Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation -offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations -substituted for BFD_RELOC_*. This made it impossible to encode arbitrary -8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc -directive. Revert this part and add test. - -gas/ -2016-02-03 Max Filippov - * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF* - substitutions for BFD_RELOC_* as unsigned. - -Signed-off-by: Max Filippov ---- - gas/config/tc-xtensa.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5962,15 +5962,15 @@ - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - default: - break; diff --git a/packages/binutils/2.24/0024-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.24/0024-xtensa-fix-.init-.fini-literals-moving.patch deleted file mode 100644 index cd8a72c..0000000 --- a/packages/binutils/2.24/0024-xtensa-fix-.init-.fini-literals-moving.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 16 Feb 2016 02:23:28 +0300 -Subject: [PATCH] xtensa: fix .init/.fini literals moving - -Despite the documentation and the comment in xtensa_move_literals, in -the presence of --text-section-literals and --auto-litpools literals are -moved from the separate literal sections into .init and .fini, because -the check in the xtensa_move_literals is incorrect. - -This moving was broken with introduction of auto litpools: some literals -now may be lost. This happens because literal frags emitted from .init -and .fini are not closed when new .literal_position marks new literal -pool. Then frag_align(2, 0, 0) changes type of the last literal frag to -rs_align. rs_align frags are skipped in the xtensa_move_literals. As a -result fixups against such literals are not moved out of .init.literal/ -.fini.literal sections producing the following assembler error: - - test.S: Warning: fixes not all moved from .init.literal - test.S: Internal error! - -Fix check for .init.literal/.fini.literal in the xtensa_move_literals -and don't let it move literals from there in the presence of ---text-section-literals or --auto-litpools. - -2016-02-17 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Fix check for - .init.literal/.fini.literal section name. - -Signed-off-by: Max Filippov ---- -Backported from: 4111950f363221c4641dc2f33bea61cc94f34906 - - gas/config/tc-xtensa.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -11062,6 +11062,10 @@ - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; - struct litpool_seg *lps; -+ const char *init_name = INIT_SECTION_NAME; -+ const char *fini_name = FINI_SECTION_NAME; -+ int init_name_len = strlen(init_name); -+ int fini_name_len = strlen(fini_name); - - mark_literal_frags (literal_head->next); - -@@ -11172,9 +11176,13 @@ - - for (segment = literal_head->next; segment; segment = segment->next) - { -+ const char *seg_name = segment_name (segment->seg); -+ - /* Keep the literals for .init and .fini in separate sections. */ -- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME) -- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME)) -+ if ((!memcmp (seg_name, init_name, init_name_len) && -+ !strcmp (seg_name + init_name_len, ".literal")) || -+ (!memcmp (seg_name, fini_name, fini_name_len) && -+ !strcmp (seg_name + fini_name_len, ".literal"))) - continue; - - frchain_from = seg_info (segment->seg)->frchainP; diff --git a/packages/binutils/2.24/0025-Fix-a-missing-include-of-string.patch b/packages/binutils/2.24/0025-Fix-a-missing-include-of-string.patch deleted file mode 100644 index b04033a..0000000 --- a/packages/binutils/2.24/0025-Fix-a-missing-include-of-string.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 23272f9927dc95c0cf6f7c5aabcc0551eca572c5 Mon Sep 17 00:00:00 2001 -From: Martin Liska -Date: Fri, 7 Jun 2019 07:36:52 +0200 -Subject: [PATCH] Fix a missing include of - -gold/ChangeLog: - -2019-06-07 Martin Liska - - * errors.h: Include string. ---- - 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 @@ - #define GOLD_ERRORS_H - - #include -+#include - - #include "gold-threads.h" - diff --git a/packages/binutils/2.24/chksum b/packages/binutils/2.24/chksum deleted file mode 100644 index 3527a92..0000000 --- a/packages/binutils/2.24/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 binutils-2.24.tar.bz2 e0f71a7b2ddab0f8612336ac81d9636b -sha1 binutils-2.24.tar.bz2 7ac75404ddb3c4910c7594b51ddfc76d4693debb -sha256 binutils-2.24.tar.bz2 e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137 -sha512 binutils-2.24.tar.bz2 5ec95ad47d49b12c4558a8db0ca2109d3ee1955e3776057f3330c4506f8f4d1cf5e505fbf8a16b98403a0fcdeaaf986fe0a22be6456247dbdace63ce1f776b12 -md5 binutils-2.24.tar.gz a5dd5dd2d212a282cc1d4a84633e0d88 -sha1 binutils-2.24.tar.gz 1b2bc33003f4997d38fadaa276c1f0321329ec56 -sha256 binutils-2.24.tar.gz 4930b2886309112c00a279483eaef2f0f8e1b1b62010e0239c16b22af7c346d4 -sha512 binutils-2.24.tar.gz edc88e2ee46aef094806eefb2b9207f5496e98471f66355a6e940fbd8a0cee5b81d93e4aad870524603c272216cc7336f51de460d0720fa3b4d2201c06819759 diff --git a/packages/binutils/2.24/version.desc b/packages/binutils/2.24/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/binutils/2.24/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/binutils/2.25.1/0000-sh-conf.patch b/packages/binutils/2.25.1/0000-sh-conf.patch deleted file mode 100644 index 88024bf..0000000 --- a/packages/binutils/2.25.1/0000-sh-conf.patch +++ /dev/null @@ -1,34 +0,0 @@ -r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines - -Likewise, binutils has no idea about any of these new targets either, so we -fix that up too.. now we're able to actually build a real toolchain for -sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more -inept targets than that one, really. Go look, I promise). - ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -3812,7 +3812,7 @@ - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -1140,7 +1140,7 @@ - or1k*-*-*) - noconfigdirs="$noconfigdirs gdb" - ;; -- sh-*-* | sh64-*-*) -+ sh*-*-* | sh64-*-*) - case "${target}" in - sh*-*-elf) - ;; diff --git a/packages/binutils/2.25.1/0001-ld_makefile_patch.patch b/packages/binutils/2.25.1/0001-ld_makefile_patch.patch deleted file mode 100644 index c47d7d1..0000000 --- a/packages/binutils/2.25.1/0001-ld_makefile_patch.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -54,7 +54,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -388,7 +388,7 @@ - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/packages/binutils/2.25.1/0002-check_ldrunpath_length.patch b/packages/binutils/2.25.1/0002-check_ldrunpath_length.patch deleted file mode 100644 index 712eb19..0000000 --- a/packages/binutils/2.25.1/0002-check_ldrunpath_length.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1198,6 +1198,8 @@ - && command_line.rpath == NULL) - { - lib_path = (const char *) getenv ("LD_RUN_PATH"); -+ if ((lib_path) && (strlen (lib_path) == 0)) -+ lib_path = NULL; - if (gld${EMULATION_NAME}_search_needed (lib_path, &n, - force)) - break; -@@ -1461,6 +1463,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.25.1/0003-fix-gold-pthreads-typo.patch b/packages/binutils/2.25.1/0003-fix-gold-pthreads-typo.patch deleted file mode 100644 index 40861f5..0000000 --- a/packages/binutils/2.25.1/0003-fix-gold-pthreads-typo.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - gold/gold-threads.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/gold/gold-threads.cc -+++ b/gold/gold-threads.cc -@@ -102,9 +102,9 @@ - if (err != 0) - gold_fatal(_("pthead_mutextattr_init failed: %s"), strerror(err)); - #ifdef PTHREAD_MUTEX_ADAPTIVE_NP -- err = pthread_mutextattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); -+ err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP); - if (err != 0) -- gold_fatal(_("pthread_mutextattr_settype failed: %s"), strerror(err)); -+ gold_fatal(_("pthread_mutexattr_settype failed: %s"), strerror(err)); - #endif - - err = pthread_mutex_init(&this->mutex_, &attr); diff --git a/packages/binutils/2.25.1/0004-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.25.1/0004-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch deleted file mode 100644 index c086798..0000000 --- a/packages/binutils/2.25.1/0004-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_mutextattr_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.25.1/0005-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.25.1/0005-Dont-link-to-libfl-as-its-unnecessary.patch deleted file mode 100644 index bf7906d..0000000 --- a/packages/binutils/2.25.1/0005-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 -@@ -12067,6 +12067,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. -@@ -12227,6 +12228,8 @@ - if test "$LEX" = :; then - LEX=${am_missing_run}flex - fi -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="bg da es fi fr id it ja ro ru rw sk sv tr uk vi zh_CN zh_TW hr" - # If we haven't got the data from the intl directory, ---- a/binutils/configure.ac -+++ b/binutils/configure.ac -@@ -87,7 +87,10 @@ - fi - - AC_PROG_YACC -+save_LIBS=$LIBS - AM_PROG_LEX -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="bg da es fi fr id it ja ro ru rw sk sv tr uk vi zh_CN zh_TW hr" - ZW_GNU_GETTEXT_SISTER_DIR ---- a/gas/configure -+++ b/gas/configure -@@ -12795,6 +12795,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. -@@ -12955,6 +12956,8 @@ - if test "$LEX" = :; then - LEX=${am_missing_run}flex - fi -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="fr tr es rw id ru fi ja" - # If we haven't got the data from the intl directory, ---- a/gas/configure.ac -+++ b/gas/configure.ac -@@ -717,7 +717,10 @@ - AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.]) - - AC_PROG_YACC -+save_LIBS=$LIBS - AM_PROG_LEX -+LIBS=$save_LIBS -+LEXLIB= - - ALL_LINGUAS="fr tr es rw id ru fi ja" - ZW_GNU_GETTEXT_SISTER_DIR ---- a/ld/configure -+++ b/ld/configure -@@ -16071,6 +16071,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. -@@ -16231,6 +16232,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 -@@ -173,7 +173,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.25.1/0006-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.25.1/0006-Darwin-gold-binary-cc-include-string-not-cstring.patch deleted file mode 100644 index 73cfde8..0000000 --- a/packages/binutils/2.25.1/0006-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 "safe-ctype.h" - - #include "elfcpp.h" diff --git a/packages/binutils/2.25.1/0007-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.25.1/0007-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch deleted file mode 100644 index d40f95d..0000000 --- a/packages/binutils/2.25.1/0007-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 -@@ -3570,6 +3570,28 @@ - } - #endif /* HAVE_WCHAR_H and not Cygwin/Mingw */ - -+#if defined __APPLE__ && __DARWIN_C_LEVEL < 200809L -+/* wcsncasecmp isn't always defined in Mac SDK */ -+static int -+wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) -+{ -+ wchar_t c1, c2; -+ -+ if (n == 0) -+ return (0); -+ for (; *s1; s1++, s2++) -+ { -+ c1 = towlower(*s1); -+ c2 = towlower(*s2); -+ if (c1 != c2) -+ return ((int)c1 - c2); -+ if (--n == 0) -+ return (0); -+ } -+ return (-*s2); -+} -+#endif -+ - /* Perform a comparison of two entries. */ - static signed int - rsrc_cmp (bfd_boolean is_name, rsrc_entry * a, rsrc_entry * b) ---- a/gold/gold-threads.cc -+++ b/gold/gold-threads.cc -@@ -284,9 +284,18 @@ - class Once_initialize - { - public: -- Once_initialize() -- : once_(PTHREAD_ONCE_INIT) -- { } -+ Once_initialize() -+#if !defined(__APPLE__) -+ : once_(PTHREAD_ONCE_INIT) -+ { } -+#else -+// In Drawin PTHREAD_ONCE_INIT is {0x30B1BCBA, {0}} and the GCC < 4.4 doesn't support -+// extended initializer list as above */ -+ { -+ pthread_once_t once_2 = PTHREAD_ONCE_INIT; -+ once_ = once_2; -+ } -+#endif - - // Return a pointer to the pthread_once_t variable. - pthread_once_t* diff --git a/packages/binutils/2.25.1/0008-arm-rotate_left-fix.patch b/packages/binutils/2.25.1/0008-arm-rotate_left-fix.patch deleted file mode 100644 index 0a40611..0000000 --- a/packages/binutils/2.25.1/0008-arm-rotate_left-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -From d840c081f8082e8b9e63fead5306643975a97bb3 Mon Sep 17 00:00:00 2001 -From: Richard Earnshaw -Date: Thu, 20 Nov 2014 17:02:47 +0000 -Subject: [PATCH] * config/tc-arm.c (rotate_left): Avoid undefined behaviour - when N = 0. - ---- - gas/config/tc-arm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gas/config/tc-arm.c -+++ b/gas/config/tc-arm.c -@@ -7261,7 +7261,7 @@ - - /* Functions for operand encoding. ARM, then Thumb. */ - --#define rotate_left(v, n) (v << n | v >> (32 - n)) -+#define rotate_left(v, n) (v << (n & 31) | v >> ((32 - n) & 31)) - - /* If VAL can be encoded in the immediate field of an ARM instruction, - return the encoded form. Otherwise, return FAIL. */ diff --git a/packages/binutils/2.25.1/0009-sysroot.patch b/packages/binutils/2.25.1/0009-sysroot.patch deleted file mode 100644 index 9377e4e..0000000 --- a/packages/binutils/2.25.1/0009-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 -@@ -339,18 +339,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.25.1/0010-poison-system-directories.patch b/packages/binutils/2.25.1/0010-poison-system-directories.patch deleted file mode 100644 index e3affcd..0000000 --- a/packages/binutils/2.25.1/0010-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.texinfo | 12 ++++++++++++ - ld/ldfile.c | 17 +++++++++++++++++ - ld/ldlex.h | 2 ++ - ld/ldmain.c | 2 ++ - ld/lexsup.c | 21 +++++++++++++++++++++ - 9 files changed, 89 insertions(+) - ---- a/ld/config.in -+++ b/ld/config.in -@@ -11,6 +11,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 -@@ -783,6 +783,7 @@ - enable_targets - enable_64_bit_bfd - with_sysroot -+enable_poison_system_directories - enable_gold - enable_got - enable_werror -@@ -1439,6 +1440,8 @@ - --disable-largefile omit support for large files - --enable-targets alternative target configurations - --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) -+ --enable-poison-system-directories -+ warn for use of native system library directories - --enable-gold[=ARG] build gold [ARG={default,yes,no}] - --enable-got= GOT handling scheme (target, single, negative, - multigot) -@@ -15487,7 +15490,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 -@@ -94,6 +94,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/ldfile.c -+++ b/ld/ldfile.c -@@ -114,6 +114,23 @@ - new_dirs->name = concat (ld_sysroot, name + 1, (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/ld.h -+++ b/ld/ld.h -@@ -161,6 +161,14 @@ - /* If TRUE we'll just print the default output on stdout. */ - bfd_boolean print_output_format; - -+ /* If TRUE (the default) warn for uses of system directories when -+ cross linking. */ -+ bfd_boolean poison_system_directories; -+ -+ /* If TRUE (default FALSE) give an error for uses of system -+ directories when cross linking instead of a warning. */ -+ bfd_boolean error_poison_system_directories; -+ - /* Big or little endian as set on command line. */ - enum endian_enum endian; - ---- a/ld/ldlex.h -+++ b/ld/ldlex.h -@@ -140,6 +140,8 @@ - OPTION_IGNORE_UNRESOLVED_SYMBOL, - OPTION_PUSH_STATE, - OPTION_POP_STATE, -+ OPTION_NO_POISON_SYSTEM_DIRECTORIES, -+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, - }; - - /* The initial parser states. */ ---- a/ld/ldmain.c -+++ b/ld/ldmain.c -@@ -266,6 +266,8 @@ - command_line.warn_mismatch = TRUE; - command_line.warn_search_mismatch = TRUE; - command_line.check_section_addresses = -1; -+ command_line.poison_system_directories = TRUE; -+ command_line.error_poison_system_directories = FALSE; - - /* We initialize DEMANGLING based on the environment variable - COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2212,6 +2212,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/lexsup.c -+++ b/ld/lexsup.c -@@ -513,6 +513,14 @@ - { {"pop-state", no_argument, NULL, OPTION_POP_STATE}, - '\0', NULL, N_("Pop state of flags governing input file handling"), - 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) -@@ -525,6 +533,7 @@ - int ingroup = 0; - char *default_dirlist = NULL; - char *shortopts; -+ char *BR_paranoid_env; - struct option *longopts; - struct option *really_longopts; - int last_optind; -@@ -1458,6 +1467,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), -@@ -1483,6 +1500,10 @@ - command_line.soname = NULL; - } - -+ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); -+ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) -+ command_line.error_poison_system_directories = TRUE; -+ - while (ingroup) - { - lang_leave_group (); diff --git a/packages/binutils/2.25.1/0011-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.25.1/0011-Fix-library-paths-on-PowerPC.patch deleted file mode 100644 index 4bcc748..0000000 --- a/packages/binutils/2.25.1/0011-Fix-library-paths-on-PowerPC.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1b967f3cb0682dd05128ef13495c2dca2a04dc4e Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Sat, 11 Mar 2017 17:27:09 -0800 -Subject: [PATCH] Fix library paths on PowerPC - -First, need to match against just the CPU name, not the whole triplet. -Otherwise, the test picks up "*le-*" pattern from x86_64-apple-darwin -triplet. - -Second, it should be testing for $target, not $host. Host may be -little endian by default, and the sysroot directory layout shouldn't -depend on whether it is built on LE or BE machine. - -Signed-off-by: Alexey Neyman ---- - ld/emulparams/elf32ppccommon.sh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/ld/emulparams/elf32ppccommon.sh -+++ b/ld/emulparams/elf32ppccommon.sh -@@ -44,11 +44,11 @@ - - # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first. - # Similarly, look for 32 bit libraries in /lib32, /usr/lib32 etc. --case "$host":"$EMULATION_NAME" in -- *le-*:*64lppc*) LIBPATH_SUFFIX=64 ;; -- *le-*:*32lppc*) LIBPATH_SUFFIX=32 ;; -- *le-*:*64*) LIBPATH_SUFFIX=64be ;; -- *le-*:*32*) LIBPATH_SUFFIX=32be ;; -+case `echo "$target" | sed -e 's/-.*//'`:"$EMULATION_NAME" in -+ *le:*64lppc*) LIBPATH_SUFFIX=64 ;; -+ *le:*32lppc*) LIBPATH_SUFFIX=32 ;; -+ *le:*64*) LIBPATH_SUFFIX=64be ;; -+ *le:*32*) LIBPATH_SUFFIX=32be ;; - *:*64lppc*) LIBPATH_SUFFIX=64le ;; - *:*32lppc*) LIBPATH_SUFFIX=32le ;; - *:*64*) LIBPATH_SUFFIX=64 ;; diff --git a/packages/binutils/2.25.1/0012-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.25.1/0012-Fix-trampolines-search-code-for-conditional-branches.patch deleted file mode 100644 index ec96a36..0000000 --- a/packages/binutils/2.25.1/0012-Fix-trampolines-search-code-for-conditional-branches.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 415480d6471e67aef97c0241d451ef2423a1da9d Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 25 Nov 2014 21:33:21 +0300 -Subject: [PATCH] Fix trampolines search code for conditional branches - -For conditional branches that need more than one trampoline to reach its -target assembler couldn't always find suitable trampoline because -post-loop condition check was placed inside the loop, resulting in -premature loop termination. Move check outside the loop. - -This fixes the following build errors seen when assembling huge files -produced by gcc: - Error: jump target out of range; no usable trampoline found - Error: operand 1 of 'j' has out of range value '307307' - -2014-11-25 Max Filippov - -gas/ - * config/tc-xtensa.c (search_trampolines): Move post-loop - condition check outside the search loop. - -gas/testsuite/ - * gas/xtensa/trampoline.d: Add expected output for branches. - * gas/xtensa/trampoline.s: Add test case for branches. - -Signed-off-by: Max Filippov ---- -Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3 -Changes to ChangeLogs are dropped. - - gas/config/tc-xtensa.c | 8 ++++---- - gas/testsuite/gas/xtensa/trampoline.d | 9 +++++++++ - gas/testsuite/gas/xtensa/trampoline.s | 7 +++++++ - 3 files changed, 20 insertions(+), 4 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -9514,11 +9514,11 @@ - if (next_addr == 0 || addr - next_addr > J_RANGE) - break; - } -- if (abs (addr - this_addr) < J_RANGE) -- return tf; -- -- return NULL; - } -+ if (abs (addr - this_addr) < J_RANGE) -+ return tf; -+ -+ return NULL; - } - for ( ; tf; tf = tf->next) - { ---- a/gas/testsuite/gas/xtensa/trampoline.d -+++ b/gas/testsuite/gas/xtensa/trampoline.d -@@ -24,3 +24,12 @@ - .*33462:.*j.0x49407 - #... - .*49407:.*j.0x49407 -+.*4940a:.*beqz.n.a2,.0x4940f -+.*4940c:.*j.0x693d1 -+#... -+.*693d1:.*j.0x7ddd4 -+#... -+.*7ddd4:.*j.0x927f5 -+#... -+.*927f5:.*j.0x927f5 -+#... ---- a/gas/testsuite/gas/xtensa/trampoline.s -+++ b/gas/testsuite/gas/xtensa/trampoline.s -@@ -19,3 +19,10 @@ - .endr - 3: - j 3b -+ bnez a2, 4f -+ .rep 50000 -+ and a2, a2, a3 -+ _ret -+ .endr -+4: -+ j 4b diff --git a/packages/binutils/2.25.1/0013-xtensa-optimize-check_section_ebb_pcrels_fit.patch b/packages/binutils/2.25.1/0013-xtensa-optimize-check_section_ebb_pcrels_fit.patch deleted file mode 100644 index 19435b5..0000000 --- a/packages/binutils/2.25.1/0013-xtensa-optimize-check_section_ebb_pcrels_fit.patch +++ /dev/null @@ -1,497 +0,0 @@ -From 20c79baf82273a0b368587f761f152c4d3a593a4 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 27 Mar 2015 07:13:55 +0300 -Subject: [PATCH 1/4] xtensa: optimize check_section_ebb_pcrels_fit - -The original check_section_ebb_pcrels_fit algorithm checks that text -actions proposed for current EBB are OK for every relocation in a -section. There's no need to check every relocation, because text actions -for EBB can only change size of that EBB, thus only affecting -relocations that in any way cross that EBB. In addition EBBs are -iterated in ascending order of their VMA, making it easier to track -relevant relocations. - -Introduce a structure that can track relocations that cross the range of -VMAs of EBB and use it to only check relocations relevant to current EBB -in check_section_ebb_pcrels_fit. -It takes O(N log N) operations to build it and O(N) operations to move -current EBB VMA window through its entire range, where N is the number -of relocations in a section. The resulting complexity of -compute_text_actions is thus reduced from O(N^2) to O(N log N + N * M), -where M is the average number of relocations crossing each EBB. - -Original profile: - -% time self children called name ------------------------------------------ - 44.26 71.53 6429/6429 compute_text_actions - 50.2 44.26 71.53 6429 check_section_ebb_pcrels_fit - 1.16 20.12 347506666/347576152 pcrel_reloc_fits - 2.95 16.52 347506666/348104944 get_relocation_opnd - 2.01 9.74 347575100/361252208 r_reloc_init - 0.55 7.53 347575100/363381467 r_reloc_get_section - 5.76 0.02 695013332/695013332 xlate_offset_with_removed_text - 0.68 3.89 347575100/363483827 bfd_octets_per_byte - 0.32 0.00 347506666/349910253 is_alt_relocation - 0.18 0.11 6391/6391 build_xlate_map - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 2.56 3.08 6429/6429 compute_text_actions - 8.2 2.56 3.08 6429 check_section_ebb_pcrels_fit - 0.08 0.91 17721075/17790561 pcrel_reloc_fits - 0.17 0.47 17721075/31685977 r_reloc_init - 0.43 0.00 35442150/35442150 xlate_offset_with_removed_text - 0.02 0.37 17721075/33815236 r_reloc_get_section - 0.22 0.11 6391/6391 build_xlate_map - 0.05 0.22 17721075/33917596 bfd_octets_per_byte - 0.03 0.00 17721075/20405299 is_alt_relocation - 0.01 0.00 6429/6429 reloc_range_list_update_range - 0.00 0.00 6429/19417168 get_xtensa_relax_info - 0.00 0.00 6391/6391 free_xlate_map ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry, - reloc_range): new typedef. - (reloc_range_list_struct, reloc_range_list_entry_struct, - reloc_range_struct): new structures. - (reloc_range_compare, build_reloc_ranges, - reloc_range_list_append, reloc_range_list_remove, - reloc_range_list_update_range, free_reloc_range_list): new - functions. - (compute_text_actions): precompute relocation opcodes before the - loop. Add relevant_relocs variable, initialize it before the - loop, pass it to the check_section_ebb_pcrels_fit. - (check_section_ebb_pcrels_fit): add new parameter: - relevant_relocs. Update address range in the relevant_relocs if - it's non-NULL and iterate only over relevant relocations. - -Backported from: b2b326d246f839ee218192ac88da2384d929a072 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 321 +++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 298 insertions(+), 23 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -6619,8 +6619,10 @@ - (bfd *, asection *, struct bfd_link_info *); - static bfd_boolean compute_ebb_proposed_actions (ebb_constraint *); - static bfd_boolean compute_ebb_actions (ebb_constraint *); -+typedef struct reloc_range_list_struct reloc_range_list; - static bfd_boolean check_section_ebb_pcrels_fit -- (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, const ebb_constraint *, -+ (bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, -+ reloc_range_list *, const ebb_constraint *, - const xtensa_opcode *); - static bfd_boolean check_section_ebb_reduces (const ebb_constraint *); - static void text_action_add_proposed -@@ -7219,6 +7221,221 @@ - return reloc_opcodes; - } - -+struct reloc_range_struct -+{ -+ bfd_vma addr; -+ bfd_boolean add; /* TRUE if start of a range, FALSE otherwise. */ -+ /* Original irel index in the array of relocations for a section. */ -+ unsigned irel_index; -+}; -+typedef struct reloc_range_struct reloc_range; -+ -+typedef struct reloc_range_list_entry_struct reloc_range_list_entry; -+struct reloc_range_list_entry_struct -+{ -+ reloc_range_list_entry *next; -+ reloc_range_list_entry *prev; -+ Elf_Internal_Rela *irel; -+ xtensa_opcode opcode; -+ int opnum; -+}; -+ -+struct reloc_range_list_struct -+{ -+ /* The rest of the structure is only meaningful when ok is TRUE. */ -+ bfd_boolean ok; -+ -+ unsigned n_range; /* Number of range markers. */ -+ reloc_range *range; /* Sorted range markers. */ -+ -+ unsigned first; /* Index of a first range element in the list. */ -+ unsigned last; /* One past index of a last range element in the list. */ -+ -+ unsigned n_list; /* Number of list elements. */ -+ reloc_range_list_entry *reloc; /* */ -+ reloc_range_list_entry list_root; -+}; -+ -+static int -+reloc_range_compare (const void *a, const void *b) -+{ -+ const reloc_range *ra = a; -+ const reloc_range *rb = b; -+ -+ if (ra->addr != rb->addr) -+ return ra->addr < rb->addr ? -1 : 1; -+ if (ra->add != rb->add) -+ return ra->add ? -1 : 1; -+ return 0; -+} -+ -+static void -+build_reloc_ranges (bfd *abfd, asection *sec, -+ bfd_byte *contents, -+ Elf_Internal_Rela *internal_relocs, -+ xtensa_opcode *reloc_opcodes, -+ reloc_range_list *list) -+{ -+ unsigned i; -+ size_t n = 0; -+ size_t max_n = 0; -+ reloc_range *ranges = NULL; -+ reloc_range_list_entry *reloc = -+ bfd_malloc (sec->reloc_count * sizeof (*reloc)); -+ -+ memset (list, 0, sizeof (*list)); -+ list->ok = TRUE; -+ -+ for (i = 0; i < sec->reloc_count; i++) -+ { -+ Elf_Internal_Rela *irel = &internal_relocs[i]; -+ int r_type = ELF32_R_TYPE (irel->r_info); -+ reloc_howto_type *howto = &elf_howto_table[r_type]; -+ r_reloc r_rel; -+ -+ if (r_type == R_XTENSA_ASM_SIMPLIFY -+ || r_type == R_XTENSA_32_PCREL -+ || !howto->pc_relative) -+ continue; -+ -+ r_reloc_init (&r_rel, abfd, irel, contents, -+ bfd_get_section_limit (abfd, sec)); -+ -+ if (r_reloc_get_section (&r_rel) != sec) -+ continue; -+ -+ if (n + 2 > max_n) -+ { -+ max_n = (max_n + 2) * 2; -+ ranges = bfd_realloc (ranges, max_n * sizeof (*ranges)); -+ } -+ -+ ranges[n].addr = irel->r_offset; -+ ranges[n + 1].addr = r_rel.target_offset; -+ -+ ranges[n].add = ranges[n].addr < ranges[n + 1].addr; -+ ranges[n + 1].add = !ranges[n].add; -+ -+ ranges[n].irel_index = i; -+ ranges[n + 1].irel_index = i; -+ -+ n += 2; -+ -+ reloc[i].irel = irel; -+ -+ /* Every relocation won't possibly be checked in the optimized version of -+ check_section_ebb_pcrels_fit, so this needs to be done here. */ -+ if (is_alt_relocation (ELF32_R_TYPE (irel->r_info))) -+ { -+ /* None of the current alternate relocs are PC-relative, -+ and only PC-relative relocs matter here. */ -+ } -+ else -+ { -+ xtensa_opcode opcode; -+ int opnum; -+ -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ list->ok = FALSE; -+ break; -+ } -+ -+ /* Record relocation opcode and opnum as we've calculated them -+ anyway and they won't change. */ -+ reloc[i].opcode = opcode; -+ reloc[i].opnum = opnum; -+ } -+ } -+ -+ if (list->ok) -+ { -+ ranges = bfd_realloc (ranges, n * sizeof (*ranges)); -+ qsort (ranges, n, sizeof (*ranges), reloc_range_compare); -+ -+ list->n_range = n; -+ list->range = ranges; -+ list->reloc = reloc; -+ list->list_root.prev = &list->list_root; -+ list->list_root.next = &list->list_root; -+ } -+ else -+ { -+ free (ranges); -+ free (reloc); -+ } -+} -+ -+static void reloc_range_list_append (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->prev = list->list_root.prev; -+ entry->next = &list->list_root; -+ entry->prev->next = entry; -+ entry->next->prev = entry; -+ ++list->n_list; -+} -+ -+static void reloc_range_list_remove (reloc_range_list *list, -+ unsigned irel_index) -+{ -+ reloc_range_list_entry *entry = list->reloc + irel_index; -+ -+ entry->next->prev = entry->prev; -+ entry->prev->next = entry->next; -+ --list->n_list; -+} -+ -+/* Update relocation list object so that it lists all relocations that cross -+ [first; last] range. Range bounds should not decrease with successive -+ invocations. */ -+static void reloc_range_list_update_range (reloc_range_list *list, -+ bfd_vma first, bfd_vma last) -+{ -+ /* This should not happen: EBBs are iterated from lower addresses to higher. -+ But even if that happens there's no need to break: just flush current list -+ and start from scratch. */ -+ if ((list->last > 0 && list->range[list->last - 1].addr > last) || -+ (list->first > 0 && list->range[list->first - 1].addr >= first)) -+ { -+ list->first = 0; -+ list->last = 0; -+ list->n_list = 0; -+ list->list_root.next = &list->list_root; -+ list->list_root.prev = &list->list_root; -+ fprintf (stderr, "%s: move backwards requested\n", __func__); -+ } -+ -+ for (; list->last < list->n_range && -+ list->range[list->last].addr <= last; ++list->last) -+ if (list->range[list->last].add) -+ reloc_range_list_append (list, list->range[list->last].irel_index); -+ -+ for (; list->first < list->n_range && -+ list->range[list->first].addr < first; ++list->first) -+ if (!list->range[list->first].add) -+ reloc_range_list_remove (list, list->range[list->first].irel_index); -+} -+ -+static void free_reloc_range_list (reloc_range_list *list) -+{ -+ free (list->range); -+ free (list->reloc); -+} - - /* The compute_text_actions function will build a list of potential - transformation actions for code in the extended basic block of each -@@ -7245,6 +7462,7 @@ - property_table_entry *prop_table = 0; - int ptblsize = 0; - bfd_size_type sec_size; -+ reloc_range_list relevant_relocs; - - relax_info = get_xtensa_relax_info (sec); - BFD_ASSERT (relax_info); -@@ -7277,6 +7495,12 @@ - goto error_return; - } - -+ /* Precompute the opcode for each relocation. */ -+ reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, internal_relocs); -+ -+ build_reloc_ranges (abfd, sec, contents, internal_relocs, reloc_opcodes, -+ &relevant_relocs); -+ - for (i = 0; i < sec->reloc_count; i++) - { - Elf_Internal_Rela *irel = &internal_relocs[i]; -@@ -7340,17 +7564,13 @@ - ebb->start_reloc_idx = i; - ebb->end_reloc_idx = i; - -- /* Precompute the opcode for each relocation. */ -- if (reloc_opcodes == NULL) -- reloc_opcodes = build_reloc_opcodes (abfd, sec, contents, -- internal_relocs); -- - if (!extend_ebb_bounds (ebb) - || !compute_ebb_proposed_actions (&ebb_table) - || !compute_ebb_actions (&ebb_table) - || !check_section_ebb_pcrels_fit (abfd, sec, contents, -- internal_relocs, &ebb_table, -- reloc_opcodes) -+ internal_relocs, -+ &relevant_relocs, -+ &ebb_table, reloc_opcodes) - || !check_section_ebb_reduces (&ebb_table)) - { - /* If anything goes wrong or we get unlucky and something does -@@ -7372,6 +7592,8 @@ - free_ebb_constraint (&ebb_table); - } - -+ free_reloc_range_list (&relevant_relocs); -+ - #if DEBUG - if (relax_info->action_list.head) - print_action_list (stderr, &relax_info->action_list); -@@ -7974,14 +8196,17 @@ - asection *sec, - bfd_byte *contents, - Elf_Internal_Rela *internal_relocs, -+ reloc_range_list *relevant_relocs, - const ebb_constraint *constraint, - const xtensa_opcode *reloc_opcodes) - { - unsigned i, j; -+ unsigned n = sec->reloc_count; - Elf_Internal_Rela *irel; - xlate_map_t *xmap = NULL; - bfd_boolean ok = TRUE; - xtensa_relax_info *relax_info; -+ reloc_range_list_entry *entry = NULL; - - relax_info = get_xtensa_relax_info (sec); - -@@ -7992,7 +8217,40 @@ - can still be used. */ - } - -- for (i = 0; i < sec->reloc_count; i++) -+ if (relevant_relocs && constraint->action_count) -+ { -+ if (!relevant_relocs->ok) -+ { -+ ok = FALSE; -+ n = 0; -+ } -+ else -+ { -+ bfd_vma min_offset, max_offset; -+ min_offset = max_offset = constraint->actions[0].offset; -+ -+ for (i = 1; i < constraint->action_count; ++i) -+ { -+ proposed_action *action = &constraint->actions[i]; -+ bfd_vma offset = action->offset; -+ -+ if (offset < min_offset) -+ min_offset = offset; -+ if (offset > max_offset) -+ max_offset = offset; -+ } -+ reloc_range_list_update_range (relevant_relocs, min_offset, -+ max_offset); -+ n = relevant_relocs->n_list; -+ entry = &relevant_relocs->list_root; -+ } -+ } -+ else -+ { -+ relevant_relocs = NULL; -+ } -+ -+ for (i = 0; i < n; i++) - { - r_reloc r_rel; - bfd_vma orig_self_offset, orig_target_offset; -@@ -8001,7 +8259,15 @@ - reloc_howto_type *howto; - int self_removed_bytes, target_removed_bytes; - -- irel = &internal_relocs[i]; -+ if (relevant_relocs) -+ { -+ entry = entry->next; -+ irel = entry->irel; -+ } -+ else -+ { -+ irel = internal_relocs + i; -+ } - r_type = ELF32_R_TYPE (irel->r_info); - - howto = &elf_howto_table[r_type]; -@@ -8067,21 +8333,30 @@ - xtensa_opcode opcode; - int opnum; - -- if (reloc_opcodes) -- opcode = reloc_opcodes[i]; -- else -- opcode = get_relocation_opcode (abfd, sec, contents, irel); -- if (opcode == XTENSA_UNDEFINED) -+ if (relevant_relocs) - { -- ok = FALSE; -- break; -+ opcode = entry->opcode; -+ opnum = entry->opnum; - } -- -- opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -- if (opnum == XTENSA_UNDEFINED) -+ else - { -- ok = FALSE; -- break; -+ if (reloc_opcodes) -+ opcode = reloc_opcodes[relevant_relocs ? -+ (unsigned)(entry - relevant_relocs->reloc) : i]; -+ else -+ opcode = get_relocation_opcode (abfd, sec, contents, irel); -+ if (opcode == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } -+ -+ opnum = get_relocation_opnd (opcode, ELF32_R_TYPE (irel->r_info)); -+ if (opnum == XTENSA_UNDEFINED) -+ { -+ ok = FALSE; -+ break; -+ } - } - - if (!pcrel_reloc_fits (opcode, opnum, self_offset, target_offset)) -@@ -8778,7 +9053,7 @@ - /* Check all of the PC-relative relocations to make sure they still fit. */ - relocs_fit = check_section_ebb_pcrels_fit (target_sec->owner, target_sec, - target_sec_cache->contents, -- target_sec_cache->relocs, -+ target_sec_cache->relocs, NULL, - &ebb_table, NULL); - - if (!relocs_fit) diff --git a/packages/binutils/2.25.1/0014-xtensa-optimize-removed_by_actions.patch b/packages/binutils/2.25.1/0014-xtensa-optimize-removed_by_actions.patch deleted file mode 100644 index 0a0f4c5..0000000 --- a/packages/binutils/2.25.1/0014-xtensa-optimize-removed_by_actions.patch +++ /dev/null @@ -1,351 +0,0 @@ -From 3e3f60207399ab29dd55af109e5ae9facc7d8e83 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 28 Mar 2015 08:46:28 +0300 -Subject: [PATCH 2/4] xtensa: optimize removed_by_actions - -The function removed_by_actions iterates through text actions to -calculate an offset applied by text actions to a given VMA. Although it -has a parameter p_start_action that allows for incremental offset -calculation, in many places it's used with p_start_action explicitly set -to the first action. After the first relaxation pass when the list of -text actions is finalized, an array of offsets sorted by VMA may be used -to speed up this function. - -Original profile: - -% time self children called name ------------------------------------------ - 0.35 0.00 33872/4808961 relax_section_symbols - 3.32 0.00 326022/4808961 relax_property_section - 12.83 0.00 1259379/4808961 offset_with_removed_text - 32.50 0.00 3189688/4808961 translate_reloc - 71.5 49.00 0.00 4808961 removed_by_actions ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 33872/4808537 relax_section_symbols - 0.01 0.00 326022/4808537 relax_property_section - 0.05 0.00 1258955/4808537 offset_with_removed_text_map - 0.13 0.00 3189688/4808537 translate_reloc - 1.0 0.20 0.00 4808537 removed_by_actions_map - 0.00 0.00 120/120 map_removal_by_action ------------------------------------------ - -2015-04-01 Max Filippov -bfd/ - * elf32-xtensa.c (removal_by_action_entry_struct, - removal_by_action_map_struct): new structures. - (removal_by_action_entry, removal_by_action_map): new typedefs. - (text_action_list_struct): add new field: map. - (map_removal_by_action, removed_by_actions_map, - offset_with_removed_text_map): new functions. - (relax_section): replace offset_with_removed_text with - offset_with_removed_text_map. - (translate_reloc, relax_property_section, relax_section_symbols): - replace removed_by_actions with removed_by_actions_map. - -Backported from: 071aa5c98a31c966f5fbfc573fcee61350fd1936 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 181 +++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 156 insertions(+), 25 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5420,11 +5420,28 @@ - text_action *next; - }; - -+struct removal_by_action_entry_struct -+{ -+ bfd_vma offset; -+ int removed; -+ int eq_removed; -+ int eq_removed_before_fill; -+}; -+typedef struct removal_by_action_entry_struct removal_by_action_entry; -+ -+struct removal_by_action_map_struct -+{ -+ unsigned n_entries; -+ removal_by_action_entry *entry; -+}; -+typedef struct removal_by_action_map_struct removal_by_action_map; -+ - - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { - text_action *head; -+ removal_by_action_map map; - }; - - -@@ -5636,6 +5653,101 @@ - return count; - } - -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ text_action *r; -+ int removed = 0; -+ removal_by_action_map map; -+ bfd_boolean eq_complete; -+ -+ map.n_entries = 0; -+ map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ eq_complete = FALSE; -+ -+ for (r = action_list->head; r;) -+ { -+ removal_by_action_entry *ientry = map.entry + map.n_entries; -+ -+ if (map.n_entries && (ientry - 1)->offset == r->offset) -+ { -+ --ientry; -+ } -+ else -+ { -+ ++map.n_entries; -+ eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = removed; -+ } -+ -+ if (!eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) -+ { -+ ientry->eq_removed = removed; -+ eq_complete = TRUE; -+ } -+ else -+ ientry->eq_removed = removed + r->removed_bytes; -+ } -+ -+ removed += r->removed_bytes; -+ ientry->removed = removed; -+ r = r->next; -+ } -+ action_list->map = map; -+} -+ -+static int -+removed_by_actions_map (text_action_list *action_list, bfd_vma offset, -+ bfd_boolean before_fill) -+{ -+ unsigned a, b; -+ -+ if (!action_list->map.entry) -+ map_removal_by_action (action_list); -+ -+ if (!action_list->map.n_entries) -+ return 0; -+ -+ a = 0; -+ b = action_list->map.n_entries; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (action_list->map.entry[c].offset <= offset) -+ a = c; -+ else -+ b = c; -+ } -+ -+ if (action_list->map.entry[a].offset < offset) -+ { -+ return action_list->map.entry[a].removed; -+ } -+ else if (action_list->map.entry[a].offset == offset) -+ { -+ return before_fill ? -+ action_list->map.entry[a].eq_removed_before_fill : -+ action_list->map.entry[a].eq_removed; -+ } -+ else -+ { -+ return 0; -+ } -+} -+ -+static bfd_vma -+offset_with_removed_text_map (text_action_list *action_list, bfd_vma offset) -+{ -+ int removed = removed_by_actions_map (action_list, offset, FALSE); -+ return offset - removed; -+} -+ - - /* The find_insn_action routine will only find non-fill actions. */ - -@@ -5909,6 +6021,9 @@ - - relax_info->action_list.head = NULL; - -+ relax_info->action_list.map.n_entries = 0; -+ relax_info->action_list.map.entry = NULL; -+ - relax_info->fix_list = NULL; - relax_info->fix_array = NULL; - relax_info->fix_array_count = 0; -@@ -9218,7 +9333,7 @@ - if (elf_hash_table (link_info)->dynamic_sections_created) - shrink_dynamic_reloc_sections (link_info, abfd, sec, irel); - irel->r_info = ELF32_R_INFO (0, R_XTENSA_NONE); -- irel->r_offset = offset_with_removed_text -+ irel->r_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - continue; - } -@@ -9255,7 +9370,7 @@ - } - } - -- source_offset = offset_with_removed_text -+ source_offset = offset_with_removed_text_map - (&relax_info->action_list, irel->r_offset); - irel->r_offset = source_offset; - } -@@ -9352,7 +9467,7 @@ - break; - } - -- new_end_offset = offset_with_removed_text -+ new_end_offset = offset_with_removed_text_map - (&target_relax_info->action_list, - r_rel.target_offset + diff_value); - diff_value = new_end_offset - new_reloc.target_offset; -@@ -9750,7 +9865,6 @@ - xtensa_relax_info *relax_info; - removed_literal *removed; - bfd_vma target_offset, base_offset; -- text_action *act; - - *new_rel = *orig_rel; - -@@ -9803,19 +9917,26 @@ - offset. */ - - base_offset = r_reloc_get_target_offset (new_rel) - new_rel->rela.r_addend; -- act = relax_info->action_list.head; - if (base_offset <= target_offset) - { -- int base_removed = removed_by_actions (&act, base_offset, FALSE); -- int addend_removed = removed_by_actions (&act, target_offset, FALSE); -+ int base_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE) - -+ base_removed; -+ - new_rel->target_offset = target_offset - base_removed - addend_removed; - new_rel->rela.r_addend -= addend_removed; - } - else - { - /* Handle a negative addend. The base offset comes first. */ -- int tgt_removed = removed_by_actions (&act, target_offset, FALSE); -- int addend_removed = removed_by_actions (&act, base_offset, FALSE); -+ int tgt_removed = removed_by_actions_map (&relax_info->action_list, -+ target_offset, FALSE); -+ int addend_removed = removed_by_actions_map (&relax_info->action_list, -+ base_offset, FALSE) - -+ tgt_removed; -+ - new_rel->target_offset = target_offset - tgt_removed; - new_rel->rela.r_addend += addend_removed; - } -@@ -10138,9 +10259,10 @@ - bfd_vma old_offset = val.r_rel.target_offset; - bfd_vma new_offset; - long old_size, new_size; -- text_action *act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, FALSE); -+ int removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, FALSE); -+ new_offset = old_offset - removed_by_old_offset; - - /* Assert that we are not out of bounds. */ - old_size = bfd_get_32 (abfd, size_p); -@@ -10164,9 +10286,10 @@ - - /* Recompute the new_offset, but this time don't - include any fill inserted by relaxation. */ -- act = target_relax_info->action_list.head; -- new_offset = old_offset - -- removed_by_actions (&act, old_offset, TRUE); -+ removed_by_old_offset = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset, TRUE); -+ new_offset = old_offset - removed_by_old_offset; - - /* If it is not unreachable and we have not yet - seen an unreachable at this address, place it -@@ -10182,8 +10305,12 @@ - } - } - else -- new_size -= -- removed_by_actions (&act, old_offset + old_size, TRUE); -+ { -+ int removed_by_old_offset_size = -+ removed_by_actions_map (&target_relax_info->action_list, -+ old_offset + old_size, TRUE); -+ new_size -= removed_by_old_offset_size - removed_by_old_offset; -+ } - - if (new_size != old_size) - { -@@ -10441,14 +10568,16 @@ - - if (isym->st_shndx == sec_shndx) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = isym->st_value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- isym->st_value -= removed_by_actions (&act, orig_addr, FALSE); -- -+ isym->st_value -= removed; - if (ELF32_ST_TYPE (isym->st_info) == STT_FUNC) - isym->st_size -= -- removed_by_actions (&act, orig_addr + isym->st_size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + isym->st_size, FALSE) - -+ removed; - } - } - -@@ -10466,15 +10595,17 @@ - || sym_hash->root.type == bfd_link_hash_defweak) - && sym_hash->root.u.def.section == sec) - { -- text_action *act = relax_info->action_list.head; - bfd_vma orig_addr = sym_hash->root.u.def.value; -+ int removed = removed_by_actions_map (&relax_info->action_list, -+ orig_addr, FALSE); - -- sym_hash->root.u.def.value -= -- removed_by_actions (&act, orig_addr, FALSE); -+ sym_hash->root.u.def.value -= removed; - - if (sym_hash->type == STT_FUNC) - sym_hash->size -= -- removed_by_actions (&act, orig_addr + sym_hash->size, FALSE); -+ removed_by_actions_map (&relax_info->action_list, -+ orig_addr + sym_hash->size, FALSE) - -+ removed; - } - } - diff --git a/packages/binutils/2.25.1/0015-xtensa-optimize-find_removed_literal.patch b/packages/binutils/2.25.1/0015-xtensa-optimize-find_removed_literal.patch deleted file mode 100644 index e734658..0000000 --- a/packages/binutils/2.25.1/0015-xtensa-optimize-find_removed_literal.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 288c2b709e5e6841484e1a129eaccd299db36877 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 4 Apr 2015 14:49:42 +0300 -Subject: [PATCH 3/4] xtensa: optimize find_removed_literal - -find_removed_literal uses linear search to find removed literal by its -VMA. The list of literals is fixed at that point, build an ordered index -array and use binary search instead. - -Original profile: - -% time self children called name ------------------------------------------ - 56.72 0.00 297578/669392 translate_reloc - 70.86 0.00 371814/669392 relax_section - 67.9 127.58 0.00 669392 find_removed_literal ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 297578/669392 translate_reloc - 0.00 0.00 371814/669392 relax_section - 0.0 0.00 0.00 669392 find_removed_literal - 0.00 0.00 23838/23838 map_removed_literal ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (removed_literal_map_entry): new typedef. - (removed_literal_map_entry_struct): new structure. - (removed_literal_list_struct): add new fields: n_map and map. - (map_removed_literal, removed_literal_compare): new functions. - (find_removed_literal): build index array for literals ordered - by VMA, use binary search to find removed literal. - -Backported from: 3439c466273378021821473d3fc84990e089ae34 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 58 insertions(+), 6 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -5832,6 +5832,7 @@ - by the "from" offset field. */ - - typedef struct removed_literal_struct removed_literal; -+typedef struct removed_literal_map_entry_struct removed_literal_map_entry; - typedef struct removed_literal_list_struct removed_literal_list; - - struct removed_literal_struct -@@ -5841,10 +5842,19 @@ - removed_literal *next; - }; - -+struct removed_literal_map_entry_struct -+{ -+ bfd_vma addr; -+ removed_literal *literal; -+}; -+ - struct removed_literal_list_struct - { - removed_literal *head; - removed_literal *tail; -+ -+ unsigned n_map; -+ removed_literal_map_entry *map; - }; - - -@@ -5893,6 +5903,39 @@ - } - } - -+static void -+map_removed_literal (removed_literal_list *removed_list) -+{ -+ unsigned n_map = 0; -+ unsigned i; -+ removed_literal_map_entry *map = NULL; -+ removed_literal *r = removed_list->head; -+ -+ for (i = 0; r; ++i, r = r->next) -+ { -+ if (i == n_map) -+ { -+ n_map = (n_map * 2) + 2; -+ map = bfd_realloc (map, n_map * sizeof (*map)); -+ } -+ map[i].addr = r->from.target_offset; -+ map[i].literal = r; -+ } -+ removed_list->map = map; -+ removed_list->n_map = i; -+} -+ -+static int -+removed_literal_compare (const void *a, const void *b) -+{ -+ const removed_literal_map_entry *pa = a; -+ const removed_literal_map_entry *pb = b; -+ -+ if (pa->addr == pb->addr) -+ return 0; -+ else -+ return pa->addr < pb->addr ? -1 : 1; -+} - - /* Check if the list of removed literals contains an entry for the - given address. Return the entry if found. */ -@@ -5900,12 +5943,21 @@ - static removed_literal * - find_removed_literal (removed_literal_list *removed_list, bfd_vma addr) - { -- removed_literal *r = removed_list->head; -- while (r && r->from.target_offset < addr) -- r = r->next; -- if (r && r->from.target_offset == addr) -- return r; -- return NULL; -+ removed_literal_map_entry *p; -+ removed_literal *r = NULL; -+ -+ if (removed_list->map == NULL) -+ map_removed_literal (removed_list); -+ -+ p = bsearch (&addr, removed_list->map, removed_list->n_map, -+ sizeof (*removed_list->map), removed_literal_compare); -+ if (p) -+ { -+ while (p != removed_list->map && (p - 1)->addr == addr) -+ --p; -+ r = p->literal; -+ } -+ return r; - } - - diff --git a/packages/binutils/2.25.1/0016-xtensa-replace-action-list-with-splay-tree.patch b/packages/binutils/2.25.1/0016-xtensa-replace-action-list-with-splay-tree.patch deleted file mode 100644 index 669c8b0..0000000 --- a/packages/binutils/2.25.1/0016-xtensa-replace-action-list-with-splay-tree.patch +++ /dev/null @@ -1,821 +0,0 @@ -From e5409aedd3ee2192855018a564650ffb75c26e60 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 5 Apr 2015 17:04:22 +0300 -Subject: [PATCH 4/4] xtensa: replace action list with splay tree - -text_action_add uses linear list search to order text actions list by -action VMA. The list is used at the first relaxation pass, when it's not -fixed yet. -Replace the list with splay tree from libiberty. - -Original profile: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 3.62 0.00 25211/158225 remove_dead_literal - 8.42 0.00 58645/158225 coalesce_shared_literal - 10.68 0.00 74355/158225 text_action_add_proposed - 38.8 22.73 0.00 158225 text_action_add - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.00 0.00 14/158225 compute_text_actions - 0.00 0.00 25211/158225 remove_dead_literal - 0.00 0.01 58645/158225 coalesce_shared_literal - 0.00 0.01 74355/158225 text_action_add_proposed - 0.1 0.00 0.02 158225 text_action_add - 0.01 0.00 144527/144527 splay_tree_insert - 0.00 0.00 144527/195130 splay_tree_lookup - 0.00 0.00 144527/293246 bfd_zmalloc ------------------------------------------ - -2015-04-03 Max Filippov -bfd/ - * elf32-xtensa.c (splay-tree.h): include header. - (text_action_struct): drop next pointer. - (text_action_list_struct): drop head pointer, add count and - tree fields. - (find_fill_action): instead of linear search in text_action_list - search in the tree. - (text_action_compare, action_first, action_next): new functions. - (text_action_add, text_action_add_literal): instead of linear - search and insertion insert new node into the tree. - (removed_by_actions): pass additional parameter: action_list, - use it to traverse the tree. - (offset_with_removed_text): pass additional action_list parameter - to removed_by_actions. - (map_action_fn_context): new typedef. - (map_action_fn_context_struct): new structure. - (map_action_fn): new function. - (map_removal_by_action): use splay_tree_foreach to build map. - (find_insn_action): replace linear search in text_action_list - with series of splay_tree_lookups. - (print_action, print_action_list_fn): new functions. - (print_action_list): use splay_tree_foreach. - (init_xtensa_relax_info): drop action_list.head initialization. - Initialize the tree. - (compute_text_actions): use non-zero action_list_count instead of - non-NULL action list. - (xlate_map_context): new typedef. - (xlate_map_context_struct): new structure. - (xlate_map_fn): new function. - (build_xlate_map): use splay_tree_foreach to build map. - (action_remove_bytes_fn): new function. - (relax_section): use zero action_list_count instead of NULL - action list. Use splay_tree_foreach to count final section size. - Drop unused variable 'removed'. - -Backported from: 4c2af04fe8b4452bf51d2debf1bb467fafcd0f08 -Signed-off-by: Max Filippov ---- - bfd/elf32-xtensa.c | 488 ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 282 insertions(+), 206 deletions(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -28,6 +28,7 @@ - #include "libbfd.h" - #include "elf-bfd.h" - #include "elf/xtensa.h" -+#include "splay-tree.h" - #include "xtensa-isa.h" - #include "xtensa-config.h" - -@@ -5416,8 +5417,6 @@ - bfd_vma virtual_offset; /* Zero except for adding literals. */ - int removed_bytes; - literal_value value; /* Only valid when adding literals. */ -- -- text_action *next; - }; - - struct removal_by_action_entry_struct -@@ -5440,7 +5439,8 @@ - /* List of all of the actions taken on a text section. */ - struct text_action_list_struct - { -- text_action *head; -+ unsigned count; -+ splay_tree tree; - removal_by_action_map map; - }; - -@@ -5448,20 +5448,18 @@ - static text_action * - find_fill_action (text_action_list *l, asection *sec, bfd_vma offset) - { -- text_action **m_p; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (sec->size == offset) - return NULL; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -- { -- text_action *t = *m_p; -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- return t; -- } -+ a.offset = offset; -+ a.action = ta_fill; -+ -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - return NULL; - } - -@@ -5509,6 +5507,49 @@ - } - - -+static int -+text_action_compare (splay_tree_key a, splay_tree_key b) -+{ -+ text_action *pa = (text_action *)a; -+ text_action *pb = (text_action *)b; -+ static const int action_priority[] = -+ { -+ [ta_fill] = 0, -+ [ta_none] = 1, -+ [ta_convert_longcall] = 2, -+ [ta_narrow_insn] = 3, -+ [ta_remove_insn] = 4, -+ [ta_remove_longcall] = 5, -+ [ta_remove_literal] = 6, -+ [ta_widen_insn] = 7, -+ [ta_add_literal] = 8, -+ }; -+ -+ if (pa->offset == pb->offset) -+ { -+ if (pa->action == pb->action) -+ return 0; -+ return action_priority[pa->action] - action_priority[pb->action]; -+ } -+ else -+ return pa->offset < pb->offset ? -1 : 1; -+} -+ -+static text_action * -+action_first (text_action_list *action_list) -+{ -+ splay_tree_node node = splay_tree_min (action_list->tree); -+ return node ? (text_action *)node->value : NULL; -+} -+ -+static text_action * -+action_next (text_action_list *action_list, text_action *action) -+{ -+ splay_tree_node node = splay_tree_successor (action_list->tree, -+ (splay_tree_key)action); -+ return node ? (text_action *)node->value : NULL; -+} -+ - /* Add a modification action to the text. For the case of adding or - removing space, modify any current fill and assume that - "unreachable_space" bytes can be freely contracted. Note that a -@@ -5521,8 +5562,8 @@ - bfd_vma offset, - int removed) - { -- text_action **m_p; - text_action *ta; -+ text_action a; - - /* It is not necessary to fill at the end of a section. */ - if (action == ta_fill && sec->size == offset) -@@ -5532,34 +5573,30 @@ - if (action == ta_fill && removed == 0) - return; - -- for (m_p = &l->head; *m_p && (*m_p)->offset <= offset; m_p = &(*m_p)->next) -+ a.action = action; -+ a.offset = offset; -+ -+ if (action == ta_fill) - { -- text_action *t = *m_p; -+ splay_tree_node node = splay_tree_lookup (l->tree, (splay_tree_key)&a); - -- if (action == ta_fill) -+ if (node) - { -- /* When the action is another fill at the same address, -- just increase the size. */ -- if (t->offset == offset && t->action == ta_fill) -- { -- t->removed_bytes += removed; -- return; -- } -- /* Fills need to happen before widens so that we don't -- insert fill bytes into the instruction stream. */ -- if (t->offset == offset && t->action == ta_widen_insn) -- break; -+ ta = (text_action *)node->value; -+ ta->removed_bytes += removed; -+ return; - } - } -+ else -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)&a) == NULL); - -- /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; - ta->sec = sec; - ta->offset = offset; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5570,7 +5607,6 @@ - const literal_value *value, - int removed) - { -- text_action **m_p; - text_action *ta; - asection *sec = r_reloc_get_section (loc); - bfd_vma offset = loc->target_offset; -@@ -5578,14 +5614,6 @@ - - BFD_ASSERT (action == ta_add_literal); - -- for (m_p = &l->head; *m_p != NULL; m_p = &(*m_p)->next) -- { -- if ((*m_p)->offset > offset -- && ((*m_p)->offset != offset -- || (*m_p)->virtual_offset > virtual_offset)) -- break; -- } -- - /* Create a new record and fill it up. */ - ta = (text_action *) bfd_zmalloc (sizeof (text_action)); - ta->action = action; -@@ -5594,8 +5622,10 @@ - ta->virtual_offset = virtual_offset; - ta->value = *value; - ta->removed_bytes = removed; -- ta->next = (*m_p); -- *m_p = ta; -+ -+ BFD_ASSERT (splay_tree_lookup (l->tree, (splay_tree_key)ta) == NULL); -+ splay_tree_insert (l->tree, (splay_tree_key)ta, (splay_tree_value)ta); -+ ++l->count; - } - - -@@ -5606,7 +5636,8 @@ - so that each search may begin where the previous one left off. */ - - static int --removed_by_actions (text_action **p_start_action, -+removed_by_actions (text_action_list *action_list, -+ text_action **p_start_action, - bfd_vma offset, - bfd_boolean before_fill) - { -@@ -5614,6 +5645,13 @@ - int removed = 0; - - r = *p_start_action; -+ if (r) -+ { -+ splay_tree_node node = splay_tree_lookup (action_list->tree, -+ (splay_tree_key)r); -+ BFD_ASSERT (node != NULL && r == (text_action *)node->value); -+ } -+ - while (r) - { - if (r->offset > offset) -@@ -5625,7 +5663,7 @@ - - removed += r->removed_bytes; - -- r = r->next; -+ r = action_next (action_list, r); - } - - *p_start_action = r; -@@ -5636,68 +5674,74 @@ - static bfd_vma - offset_with_removed_text (text_action_list *action_list, bfd_vma offset) - { -- text_action *r = action_list->head; -- return offset - removed_by_actions (&r, offset, FALSE); -+ text_action *r = action_first (action_list); -+ -+ return offset - removed_by_actions (action_list, &r, offset, FALSE); - } - - - static unsigned - action_list_count (text_action_list *action_list) - { -- text_action *r = action_list->head; -- unsigned count = 0; -- for (r = action_list->head; r != NULL; r = r->next) -- { -- count++; -- } -- return count; -+ return action_list->count; - } - --static void --map_removal_by_action (text_action_list *action_list) -+typedef struct map_action_fn_context_struct map_action_fn_context; -+struct map_action_fn_context_struct - { -- text_action *r; -- int removed = 0; -+ int removed; - removal_by_action_map map; - bfd_boolean eq_complete; -+}; - -- map.n_entries = 0; -- map.entry = bfd_malloc (action_list_count (action_list) * -- sizeof (removal_by_action_entry)); -- eq_complete = FALSE; -+static int -+map_action_fn (splay_tree_node node, void *p) -+{ -+ map_action_fn_context *ctx = p; -+ text_action *r = (text_action *)node->value; -+ removal_by_action_entry *ientry = ctx->map.entry + ctx->map.n_entries; - -- for (r = action_list->head; r;) -+ if (ctx->map.n_entries && (ientry - 1)->offset == r->offset) - { -- removal_by_action_entry *ientry = map.entry + map.n_entries; -+ --ientry; -+ } -+ else -+ { -+ ++ctx->map.n_entries; -+ ctx->eq_complete = FALSE; -+ ientry->offset = r->offset; -+ ientry->eq_removed_before_fill = ctx->removed; -+ } - -- if (map.n_entries && (ientry - 1)->offset == r->offset) -+ if (!ctx->eq_complete) -+ { -+ if (r->action != ta_fill || r->removed_bytes >= 0) - { -- --ientry; -+ ientry->eq_removed = ctx->removed; -+ ctx->eq_complete = TRUE; - } - else -- { -- ++map.n_entries; -- eq_complete = FALSE; -- ientry->offset = r->offset; -- ientry->eq_removed_before_fill = removed; -- } -+ ientry->eq_removed = ctx->removed + r->removed_bytes; -+ } - -- if (!eq_complete) -- { -- if (r->action != ta_fill || r->removed_bytes >= 0) -- { -- ientry->eq_removed = removed; -- eq_complete = TRUE; -- } -- else -- ientry->eq_removed = removed + r->removed_bytes; -- } -+ ctx->removed += r->removed_bytes; -+ ientry->removed = ctx->removed; -+ return 0; -+} - -- removed += r->removed_bytes; -- ientry->removed = removed; -- r = r->next; -- } -- action_list->map = map; -+static void -+map_removal_by_action (text_action_list *action_list) -+{ -+ map_action_fn_context ctx; -+ -+ ctx.removed = 0; -+ ctx.map.n_entries = 0; -+ ctx.map.entry = bfd_malloc (action_list_count (action_list) * -+ sizeof (removal_by_action_entry)); -+ ctx.eq_complete = FALSE; -+ -+ splay_tree_foreach (action_list->tree, map_action_fn, &ctx); -+ action_list->map = ctx.map; - } - - static int -@@ -5754,28 +5798,26 @@ - static text_action * - find_insn_action (text_action_list *action_list, bfd_vma offset) - { -- text_action *t; -- for (t = action_list->head; t; t = t->next) -+ static const text_action_t action[] = - { -- if (t->offset == offset) -- { -- switch (t->action) -- { -- case ta_none: -- case ta_fill: -- break; -- case ta_remove_insn: -- case ta_remove_longcall: -- case ta_convert_longcall: -- case ta_narrow_insn: -- case ta_widen_insn: -- return t; -- case ta_remove_literal: -- case ta_add_literal: -- BFD_ASSERT (0); -- break; -- } -- } -+ ta_convert_longcall, -+ ta_remove_longcall, -+ ta_widen_insn, -+ ta_narrow_insn, -+ ta_remove_insn, -+ }; -+ text_action a; -+ unsigned i; -+ -+ a.offset = offset; -+ for (i = 0; i < sizeof (action) / sizeof (*action); ++i) -+ { -+ splay_tree_node node; -+ -+ a.action = action[i]; -+ node = splay_tree_lookup (action_list->tree, (splay_tree_key)&a); -+ if (node) -+ return (text_action *)node->value; - } - return NULL; - } -@@ -5784,40 +5826,50 @@ - #if DEBUG - - static void --print_action_list (FILE *fp, text_action_list *action_list) -+print_action (FILE *fp, text_action *r) - { -- text_action *r; -- -- fprintf (fp, "Text Action\n"); -- for (r = action_list->head; r != NULL; r = r->next) -+ const char *t = "unknown"; -+ switch (r->action) - { -- const char *t = "unknown"; -- switch (r->action) -- { -- case ta_remove_insn: -- t = "remove_insn"; break; -- case ta_remove_longcall: -- t = "remove_longcall"; break; -- case ta_convert_longcall: -- t = "convert_longcall"; break; -- case ta_narrow_insn: -- t = "narrow_insn"; break; -- case ta_widen_insn: -- t = "widen_insn"; break; -- case ta_fill: -- t = "fill"; break; -- case ta_none: -- t = "none"; break; -- case ta_remove_literal: -- t = "remove_literal"; break; -- case ta_add_literal: -- t = "add_literal"; break; -- } -+ case ta_remove_insn: -+ t = "remove_insn"; break; -+ case ta_remove_longcall: -+ t = "remove_longcall"; break; -+ case ta_convert_longcall: -+ t = "convert_longcall"; break; -+ case ta_narrow_insn: -+ t = "narrow_insn"; break; -+ case ta_widen_insn: -+ t = "widen_insn"; break; -+ case ta_fill: -+ t = "fill"; break; -+ case ta_none: -+ t = "none"; break; -+ case ta_remove_literal: -+ t = "remove_literal"; break; -+ case ta_add_literal: -+ t = "add_literal"; break; -+ } -+ -+ fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -+ r->sec->owner->filename, -+ r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -+} - -- fprintf (fp, "%s: %s[0x%lx] \"%s\" %d\n", -- r->sec->owner->filename, -- r->sec->name, (unsigned long) r->offset, t, r->removed_bytes); -- } -+static int -+print_action_list_fn (splay_tree_node node, void *p) -+{ -+ text_action *r = (text_action *)node->value; -+ -+ print_action (p, r); -+ return 0; -+} -+ -+static void -+print_action_list (FILE *fp, text_action_list *action_list) -+{ -+ fprintf (fp, "Text Action\n"); -+ splay_tree_foreach (action_list->tree, print_action_list_fn, fp); - } - - #endif /* DEBUG */ -@@ -6071,8 +6123,8 @@ - relax_info->removed_list.head = NULL; - relax_info->removed_list.tail = NULL; - -- relax_info->action_list.head = NULL; -- -+ relax_info->action_list.tree = splay_tree_new (text_action_compare, -+ NULL, NULL); - relax_info->action_list.map.n_entries = 0; - relax_info->action_list.map.entry = NULL; - -@@ -7762,7 +7814,7 @@ - free_reloc_range_list (&relevant_relocs); - - #if DEBUG -- if (relax_info->action_list.head) -+ if (action_list_count (&relax_info->action_list)) - print_action_list (stderr, &relax_info->action_list); - #endif - -@@ -8263,6 +8315,54 @@ - return e->new_address - e->orig_address + offset; - } - -+typedef struct xlate_map_context_struct xlate_map_context; -+struct xlate_map_context_struct -+{ -+ xlate_map_t *map; -+ xlate_map_entry_t *current_entry; -+ int removed; -+}; -+ -+static int -+xlate_map_fn (splay_tree_node node, void *p) -+{ -+ text_action *r = (text_action *)node->value; -+ xlate_map_context *ctx = p; -+ unsigned orig_size = 0; -+ -+ switch (r->action) -+ { -+ case ta_none: -+ case ta_remove_insn: -+ case ta_convert_longcall: -+ case ta_remove_literal: -+ case ta_add_literal: -+ break; -+ case ta_remove_longcall: -+ orig_size = 6; -+ break; -+ case ta_narrow_insn: -+ orig_size = 3; -+ break; -+ case ta_widen_insn: -+ orig_size = 2; -+ break; -+ case ta_fill: -+ break; -+ } -+ ctx->current_entry->size = -+ r->offset + orig_size - ctx->current_entry->orig_address; -+ if (ctx->current_entry->size != 0) -+ { -+ ctx->current_entry++; -+ ctx->map->entry_count++; -+ } -+ ctx->current_entry->orig_address = r->offset + orig_size; -+ ctx->removed += r->removed_bytes; -+ ctx->current_entry->new_address = r->offset + orig_size - ctx->removed; -+ ctx->current_entry->size = 0; -+ return 0; -+} - - /* Build a binary searchable offset translation map from a section's - action list. */ -@@ -8270,75 +8370,40 @@ - static xlate_map_t * - build_xlate_map (asection *sec, xtensa_relax_info *relax_info) - { -- xlate_map_t *map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); - text_action_list *action_list = &relax_info->action_list; - unsigned num_actions = 0; -- text_action *r; -- int removed; -- xlate_map_entry_t *current_entry; -+ xlate_map_context ctx; - -- if (map == NULL) -+ ctx.map = (xlate_map_t *) bfd_malloc (sizeof (xlate_map_t)); -+ -+ if (ctx.map == NULL) - return NULL; - - num_actions = action_list_count (action_list); -- map->entry = (xlate_map_entry_t *) -+ ctx.map->entry = (xlate_map_entry_t *) - bfd_malloc (sizeof (xlate_map_entry_t) * (num_actions + 1)); -- if (map->entry == NULL) -+ if (ctx.map->entry == NULL) - { -- free (map); -+ free (ctx.map); - return NULL; - } -- map->entry_count = 0; -+ ctx.map->entry_count = 0; - -- removed = 0; -- current_entry = &map->entry[0]; -+ ctx.removed = 0; -+ ctx.current_entry = &ctx.map->entry[0]; - -- current_entry->orig_address = 0; -- current_entry->new_address = 0; -- current_entry->size = 0; -+ ctx.current_entry->orig_address = 0; -+ ctx.current_entry->new_address = 0; -+ ctx.current_entry->size = 0; - -- for (r = action_list->head; r != NULL; r = r->next) -- { -- unsigned orig_size = 0; -- switch (r->action) -- { -- case ta_none: -- case ta_remove_insn: -- case ta_convert_longcall: -- case ta_remove_literal: -- case ta_add_literal: -- break; -- case ta_remove_longcall: -- orig_size = 6; -- break; -- case ta_narrow_insn: -- orig_size = 3; -- break; -- case ta_widen_insn: -- orig_size = 2; -- break; -- case ta_fill: -- break; -- } -- current_entry->size = -- r->offset + orig_size - current_entry->orig_address; -- if (current_entry->size != 0) -- { -- current_entry++; -- map->entry_count++; -- } -- current_entry->orig_address = r->offset + orig_size; -- removed += r->removed_bytes; -- current_entry->new_address = r->offset + orig_size - removed; -- current_entry->size = 0; -- } -+ splay_tree_foreach (action_list->tree, xlate_map_fn, &ctx); - -- current_entry->size = (bfd_get_section_limit (sec->owner, sec) -- - current_entry->orig_address); -- if (current_entry->size != 0) -- map->entry_count++; -+ ctx.current_entry->size = (bfd_get_section_limit (sec->owner, sec) -+ - ctx.current_entry->orig_address); -+ if (ctx.current_entry->size != 0) -+ ctx.map->entry_count++; - -- return map; -+ return ctx.map; - } - - -@@ -9302,6 +9367,16 @@ - - /* Second relaxation pass. */ - -+static int -+action_remove_bytes_fn (splay_tree_node node, void *p) -+{ -+ bfd_size_type *final_size = p; -+ text_action *action = (text_action *)node->value; -+ -+ *final_size -= action->removed_bytes; -+ return 0; -+} -+ - /* Modify all of the relocations to point to the right spot, and if this - is a relaxable section, delete the unwanted literals and fix the - section size. */ -@@ -9334,7 +9409,7 @@ - - internal_relocs = retrieve_internal_relocs (abfd, sec, - link_info->keep_memory); -- if (!internal_relocs && !relax_info->action_list.head) -+ if (!internal_relocs && !action_list_count (&relax_info->action_list)) - return TRUE; - - contents = retrieve_contents (abfd, sec, link_info->keep_memory); -@@ -9412,6 +9487,12 @@ - } - /* Update the action so that the code that moves - the contents will do the right thing. */ -+ /* ta_remove_longcall and ta_remove_insn actions are -+ grouped together in the tree as well as -+ ta_convert_longcall and ta_none, so that changes below -+ can be done w/o removing and reinserting action into -+ the tree. */ -+ - if (action->action == ta_remove_longcall) - action->action = ta_remove_insn; - else -@@ -9584,13 +9665,12 @@ - - if ((relax_info->is_relaxable_literal_section - || relax_info->is_relaxable_asm_section) -- && relax_info->action_list.head) -+ && action_list_count (&relax_info->action_list)) - { - /* Walk through the planned actions and build up a table - of move, copy and fill records. Use the move, copy and - fill records to perform the actions once. */ - -- int removed = 0; - bfd_size_type final_size, copy_size, orig_insn_size; - bfd_byte *scratch = NULL; - bfd_byte *dup_contents = NULL; -@@ -9601,15 +9681,12 @@ - bfd_vma orig_dot_vo = 0; /* Virtual offset from orig_dot. */ - bfd_vma dup_dot = 0; - -- text_action *action = relax_info->action_list.head; -+ text_action *action; - - final_size = sec->size; -- for (action = relax_info->action_list.head; action; -- action = action->next) -- { -- final_size -= action->removed_bytes; -- } - -+ splay_tree_foreach (relax_info->action_list.tree, -+ action_remove_bytes_fn, &final_size); - scratch = (bfd_byte *) bfd_zmalloc (final_size); - dup_contents = (bfd_byte *) bfd_zmalloc (final_size); - -@@ -9618,8 +9695,8 @@ - print_action_list (stderr, &relax_info->action_list); - #endif - -- for (action = relax_info->action_list.head; action; -- action = action->next) -+ for (action = action_first (&relax_info->action_list); action; -+ action = action_next (&relax_info->action_list, action)) - { - virtual_action = FALSE; - if (action->offset > orig_dot) -@@ -9748,7 +9825,6 @@ - break; - } - -- removed += action->removed_bytes; - BFD_ASSERT (dup_dot <= final_size); - BFD_ASSERT (orig_dot <= orig_size); - } diff --git a/packages/binutils/2.25.1/0017-xtensa-optimize-trampolines-relaxation.patch b/packages/binutils/2.25.1/0017-xtensa-optimize-trampolines-relaxation.patch deleted file mode 100644 index 3c11e3d..0000000 --- a/packages/binutils/2.25.1/0017-xtensa-optimize-trampolines-relaxation.patch +++ /dev/null @@ -1,340 +0,0 @@ -From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 1 May 2015 11:39:12 +0300 -Subject: [PATCH] xtensa: optimize trampolines relaxation - -Currently every fixup in the current segment is checked when relaxing -trampoline frag. This is very expensive. Make a searchable array of -fixups pointing at potentially oversized jumps at the beginning of every -relaxation pass and only check subset of this cache in the reach of -single jump from the trampoline frag currently being relaxed. - -Original profile: - -% time self children called name ------------------------------------------ - 370.16 593.38 12283048/12283048 relax_segment - 98.4 370.16 593.38 12283048 xtensa_relax_frag - 58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars - 68.35 68.17 811266668/813338977 S_GET_VALUE - 36.85 29.51 2684369246/2685538060 xtensa_opcode_decode - 28.34 8.84 2684369246/2685538060 xtensa_format_get_slot - 12.39 5.94 2691463834/2699775044 xtensa_format_decode - 0.03 4.60 4101109/4101109 relax_frag_for_align - 0.18 1.76 994617/994617 relax_frag_immed - 0.07 0.09 24556277/24851220 new_logical_line - 0.06 0.00 12283048/14067410 as_where - 0.04 0.00 7094588/15460506 xtensa_format_num_slots - 0.00 0.00 1/712477 xtensa_insnbuf_alloc ------------------------------------------ - -Same data, after optimization: - -% time self children called name ------------------------------------------ - 0.51 7.47 12283048/12283048 relax_segment - 58.0 0.51 7.47 12283048 xtensa_relax_frag - 0.02 4.08 4101109/4101109 relax_frag_for_align - 0.18 1.39 994617/994617 relax_frag_immed - 0.01 0.98 555/555 xtensa_cache_relaxable_fixups - 0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars - 0.06 0.12 24556277/24851220 new_logical_line - 0.06 0.00 7094588/15460506 xtensa_format_num_slots - 0.02 0.04 7094588/16866079 xtensa_format_decode - 0.05 0.00 12283048/14067410 as_where - 0.00 0.00 1/712477 xtensa_insnbuf_alloc - 0.00 0.00 93808/93808 xtensa_find_first_cached_fixup ------------------------------------------ - -2015-05-02 Max Filippov -gas/ - * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs. - (struct cached_fixup, struct fixup_cache): New structures. - (fixup_order, xtensa_make_cached_fixup), - (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups), - (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup), - (xtensa_add_cached_fixup): New functions. - (xtensa_relax_frag): Cache fixups pointing at potentially - oversized jumps at the beginning of every relaxation pass. Only - check subset of this cache in the reach of single jump from the - trampoline frag currently being relaxed. - -Signed-off-by: Max Filippov ---- -Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 220 ++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 193 insertions(+), 27 deletions(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -8785,6 +8785,154 @@ - static long relax_frag_immed - (segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean); - -+typedef struct cached_fixup cached_fixupS; -+struct cached_fixup -+{ -+ int addr; -+ int target; -+ int delta; -+ fixS *fixP; -+}; -+ -+typedef struct fixup_cache fixup_cacheS; -+struct fixup_cache -+{ -+ cached_fixupS *fixups; -+ unsigned n_fixups; -+ unsigned n_max; -+ -+ segT seg; -+ fragS *first_frag; -+}; -+ -+static int fixup_order (const void *a, const void *b) -+{ -+ const cached_fixupS *pa = a; -+ const cached_fixupS *pb = b; -+ -+ if (pa->addr == pb->addr) -+ { -+ if (pa->target == pb->target) -+ { -+ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type) -+ return 0; -+ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1; -+ } -+ return pa->target - pb->target; -+ } -+ return pa->addr - pb->addr; -+} -+ -+static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP) -+{ -+ xtensa_isa isa = xtensa_default_isa; -+ int addr = fixP->fx_frag->fr_address; -+ int target; -+ int delta; -+ symbolS *s = fixP->fx_addsy; -+ int slot; -+ xtensa_format fmt; -+ xtensa_opcode opcode; -+ -+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -+ return FALSE; -+ target = S_GET_VALUE (s); -+ delta = target - addr; -+ -+ if (abs(delta) < J_RANGE / 2) -+ return FALSE; -+ -+ xtensa_insnbuf_from_chars (isa, trampoline_buf, -+ (unsigned char *) fixP->fx_frag->fr_literal + -+ fixP->fx_where, 0); -+ fmt = xtensa_format_decode (isa, trampoline_buf); -+ gas_assert (fmt != XTENSA_UNDEFINED); -+ slot = fixP->tc_fix_data.slot; -+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -+ if (opcode != xtensa_j_opcode) -+ return FALSE; -+ -+ o->addr = addr; -+ o->target = target; -+ o->delta = delta; -+ o->fixP = fixP; -+ -+ return TRUE; -+} -+ -+static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add) -+{ -+ if (cache->n_fixups + add > cache->n_max) -+ { -+ cache->n_max = (cache->n_fixups + add) * 2; -+ cache->fixups = xrealloc (cache->fixups, -+ sizeof (*cache->fixups) * cache->n_max); -+ } -+} -+ -+static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache, -+ segment_info_type *seginfo) -+{ -+ fixS *fixP; -+ -+ cache->n_fixups = 0; -+ -+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ { -+ xtensa_realloc_fixup_cache (cache, 1); -+ -+ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP)) -+ ++cache->n_fixups; -+ } -+ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order); -+} -+ -+static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache, -+ int addr) -+{ -+ unsigned a = 0; -+ unsigned b = cache->n_fixups; -+ -+ while (b - a > 1) -+ { -+ unsigned c = (a + b) / 2; -+ -+ if (cache->fixups[c].addr < addr) -+ a = c; -+ else -+ b = c; -+ } -+ return a; -+} -+ -+static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i) -+{ -+ memmove (cache->fixups + i, cache->fixups + i + 1, -+ (cache->n_fixups - i - 1) * sizeof (*cache->fixups)); -+ --cache->n_fixups; -+} -+ -+static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP) -+{ -+ cached_fixupS o; -+ unsigned i; -+ -+ if (!xtensa_make_cached_fixup (&o, fixP)) -+ return FALSE; -+ xtensa_realloc_fixup_cache (cache, 1); -+ i = xtensa_find_first_cached_fixup (cache, o.addr); -+ if (i < cache->n_fixups) -+ { -+ ++i; -+ memmove (cache->fixups + i + 1, cache->fixups + i, -+ (cache->n_fixups - i) * sizeof (*cache->fixups)); -+ } -+ cache->fixups[i] = o; -+ ++cache->n_fixups; -+ return TRUE; -+} - - /* Return the number of bytes added to this fragment, given that the - input has been stretched already by "stretch". */ -@@ -8896,35 +9044,42 @@ - case RELAX_TRAMPOLINE: - if (fragP->tc_frag_data.relax_seen) - { -- segment_info_type *seginfo = seg_info (now_seg); -- fragS *fP; /* The out-of-range jump. */ -- fixS *fixP; -+ static fixup_cacheS fixup_cache; -+ segment_info_type *seginfo = seg_info (now_seg); -+ int trampaddr = fragP->fr_address + fragP->fr_fix; -+ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE; -+ unsigned i; -+ -+ if (now_seg != fixup_cache.seg || -+ fragP == fixup_cache.first_frag || -+ fixup_cache.first_frag == NULL) -+ { -+ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo); -+ fixup_cache.seg = now_seg; -+ fixup_cache.first_frag = fragP; -+ } - - /* Scan for jumps that will not reach. */ -- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next) -+ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr); -+ i < fixup_cache.n_fixups; ++i) -+ - { -- symbolS *s = fixP->fx_addsy; -- xtensa_opcode opcode; -- int target; -- int addr; -- int delta; -- -- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP || -- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP) -- continue; -- xtensa_insnbuf_from_chars (isa, trampoline_buf, -- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where, -- 0); -- fmt = xtensa_format_decode (isa, trampoline_buf); -- gas_assert (fmt != XTENSA_UNDEFINED); -- slot = fixP->tc_fix_data.slot; -- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf); -- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf); -- if (opcode != xtensa_j_opcode) -+ fixS *fixP = fixup_cache.fixups[i].fixP; -+ int target = fixup_cache.fixups[i].target; -+ int addr = fixup_cache.fixups[i].addr; -+ int delta = fixup_cache.fixups[i].delta + stretch; -+ -+ trampaddr = fragP->fr_address + fragP->fr_fix; -+ -+ if (addr + J_RANGE < trampaddr) -+ continue; -+ if (addr > trampaddr + J_RANGE) -+ break; -+ if (abs (delta) < J_RANGE) - continue; -- target = S_GET_VALUE (s); -- addr = fixP->fx_frag->fr_address; -- delta = target - addr + stretch; -+ -+ slot = fixP->tc_fix_data.slot; -+ - if (delta > J_RANGE || delta < -1 * J_RANGE) - { /* Found an out-of-range jump; scan the list of trampolines for the best match. */ - struct trampoline_seg *ts = find_trampoline_seg (now_seg); -@@ -8978,14 +9133,13 @@ - } - if (tf->fragP == fragP) - { -- int trampaddr = fragP->fr_address + fragP->fr_fix; -- - if (abs (addr - trampaddr) < J_RANGE) - { /* The trampoline is in range of original; fix it! */ - fixS *newfixP; - int offset; - TInsn insn; - symbolS *lsym; -+ fragS *fP; /* The out-of-range jump. */ - - new_stretch += init_trampoline_frag (tf); - offset = fragP->fr_fix; /* Where to assemble the j insn. */ -@@ -9009,10 +9163,20 @@ - newfixP->tc_fix_data.X_add_symbol = lsym; - newfixP->tc_fix_data.X_add_number = offset; - newfixP->tc_fix_data.slot = slot; -+ -+ xtensa_delete_cached_fixup (&fixup_cache, i); -+ xtensa_add_cached_fixup (&fixup_cache, newfixP); -+ - /* Move the fix-up from the original j insn to this one. */ - fixP->fx_frag = fragP; - fixP->fx_where = fragP->fr_fix - 3; - fixP->tc_fix_data.slot = 0; -+ -+ xtensa_add_cached_fixup (&fixup_cache, fixP); -+ -+ /* re-do current fixup */ -+ --i; -+ - /* Adjust the jump around this trampoline (if present). */ - if (tf->fixP != NULL) - { -@@ -9027,6 +9191,8 @@ - fragP->fr_subtype = 0; - /* Remove from the trampoline_list. */ - prev->next = tf->next; -+ if (fragP == fixup_cache.first_frag) -+ fixup_cache.first_frag = NULL; - break; - } - } diff --git a/packages/binutils/2.25.1/0018-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.25.1/0018-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch deleted file mode 100644 index 3e8490a..0000000 --- a/packages/binutils/2.25.1/0018-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 14 May 2015 05:22:55 +0300 -Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections - -elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were -made local, that results in link failure with the following message: - - BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line - 3372 in elf_xtensa_finish_dynamic_sections - -elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by -relocation type. Relocation types are not changed when symbol becomes -local, but its PLT references are added to GOT references and -plt.refcount is set to 0. Such symbol cannot be unreferences in the -elf_xtensa_gc_sweep_hook and its extra references make calculated GOT -relocations section size not match number of GOT relocations. - -Fix it by treating PLT reference as GOT reference when plt.refcount is -not positive. - -2015-05-14 Max Filippov -bfd/ - * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference - as GOT reference when plt.refcount is not positive. - -Signed-off-by: Max Filippov ---- -Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388 -Changes to ChangeLog are dropped. - - bfd/elf32-xtensa.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/bfd/elf32-xtensa.c -+++ b/bfd/elf32-xtensa.c -@@ -1360,10 +1360,14 @@ - { - if (is_plt) - { -+ /* If the symbol has been localized its plt.refcount got moved -+ to got.refcount. Handle it as GOT. */ - if (h->plt.refcount > 0) - h->plt.refcount--; -+ else -+ is_got = TRUE; - } -- else if (is_got) -+ if (is_got) - { - if (h->got.refcount > 0) - h->got.refcount--; diff --git a/packages/binutils/2.25.1/0019-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.25.1/0019-xtensa-fix-gas-segfault-with-text-section-literals.patch deleted file mode 100644 index b1874cb..0000000 --- a/packages/binutils/2.25.1/0019-xtensa-fix-gas-segfault-with-text-section-literals.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2d0522e76e4afeeb2e104e0a4332d94fa0d2fbf6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 May 2015 06:46:15 +0300 -Subject: [PATCH] xtensa: fix gas segfault with --text-section-literals - -When --text-section-literals is used and code in the .init or .fini -emits literal in the absence of .literal_position, xtensa_move_literals -segfaults. - -Check that search_frag is non-NULL in the xtensa_move_literals and -report error otherwise. - -2015-05-26 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Check that - search_frag is non-NULL. Report error if literal frag is not - found. - -Signed-off-by: Max Filippov ---- -Backported from: 4de0562a4c69fef4952aa7e19d7bda359f02e8b4 -Changes to ChangeLog are dropped. - - gas/config/tc-xtensa.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -10808,13 +10808,21 @@ - frchain_to = NULL; - frag_splice = &(frchain_from->frch_root); - -- while (!search_frag->tc_frag_data.literal_frag) -+ while (search_frag && !search_frag->tc_frag_data.literal_frag) - { - gas_assert (search_frag->fr_fix == 0 - || search_frag->fr_type == rs_align); - search_frag = search_frag->fr_next; - } - -+ if (!search_frag) -+ { -+ search_frag = frchain_from->frch_root; -+ as_bad_where (search_frag->fr_file, search_frag->fr_line, -+ _("literal pool location required for text-section-literals; specify with .literal_position")); -+ continue; -+ } -+ - gas_assert (search_frag->tc_frag_data.literal_frag->fr_subtype - == RELAX_LITERAL_POOL_BEGIN); - xtensa_switch_section_emit_state (&state, segment->seg, 0); diff --git a/packages/binutils/2.25.1/0020-xtensa-add-auto-litpools-option.patch b/packages/binutils/2.25.1/0020-xtensa-add-auto-litpools-option.patch deleted file mode 100644 index 9ed61ea..0000000 --- a/packages/binutils/2.25.1/0020-xtensa-add-auto-litpools-option.patch +++ /dev/null @@ -1,684 +0,0 @@ -From 978adaaa4cd3921842e2be8a31c05f081fb17fcf Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 29 Jul 2015 17:42:54 +0300 -Subject: [PATCH] xtensa: add --auto-litpools option - -Auto-litpools is the automated version of text-section-literals: literal -pool candidate frags are planted every N frags and during relaxation -they are turned into actual literal pools where literals are moved to -become reachable for their first reference by L32R instruction. - -2015-08-12 David Weatherford -gas/ - * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg): - New structures. - (xtensa_maybe_create_literal_pool_frag): New function. - (litpool_seg_list, auto_litpools, auto_litpool_limit) - (litpool_buf, litpool_slotbuf): New static variables. - (option_auto_litpools, option_no_auto_litpools) - (option_auto_litpool_limit): New enum identifiers. - (md_longopts): Add entries for auto-litpools, no-auto-litpools - and auto-litpool-limit. - (md_parse_option): Handle option_auto_litpools, - option_no_auto_litpools and option_auto_litpool_limit. - (md_show_usage): Add help for --[no-]auto-litpools and - --auto-litpool-limit. - (xtensa_mark_literal_pool_location): Record a place for literal - pool with a call to xtensa_maybe_create_literal_pool_frag. - (get_literal_pool_location): Find highest priority literal pool - or convert candidate to literal pool when auto-litpools are used. - (xg_assemble_vliw_tokens): Create literal pool after jump - instruction. - (xtensa_check_frag_count): Create candidate literal pool every - auto_litpool_limit frags. - (xtensa_relax_frag): Add jump around literals to non-empty - literal pool. - (xtensa_move_literals): Estimate literal pool addresses and move - unreachable literals closer to their users, converting candidate - to literal pool if needed. - (xtensa_switch_to_non_abs_literal_fragment): Only emit error - about missing .literal_position in case auto-litpools are not - used. - * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation - state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN. - -2015-08-12 Max Filippov -gas/testsuite/ - * gas/xtensa/all.exp: Add auto-litpools to the list of xtensa - tests. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test. - * gas/xtensa/auto-litpools.s: New file: auto-litpools test - result pattern. - -Signed-off-by: Max Filippov ---- -Backported from: b46824bd49648c575372e6d9bc6a6defeabd6ed5 -Changes to ChangeLogs and documentation are dropped. - - gas/config/tc-xtensa.c | 432 ++++++++++++++++++++++++++++++- - gas/config/tc-xtensa.h | 1 - gas/testsuite/gas/xtensa/all.exp | 1 - gas/testsuite/gas/xtensa/auto-litpools.d | 12 - gas/testsuite/gas/xtensa/auto-litpools.s | 13 - 5 files changed, 454 insertions(+), 5 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.d - create mode 100644 gas/testsuite/gas/xtensa/auto-litpools.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -440,6 +440,29 @@ - #endif - }; - -+/* A circular list of all potential and actual literal pool locations -+ in a segment. */ -+struct litpool_frag -+{ -+ struct litpool_frag *next; -+ struct litpool_frag *prev; -+ fragS *fragP; -+ addressT addr; -+ short priority; /* 1, 2, or 3 -- 1 is highest */ -+ short original_priority; -+}; -+ -+/* Map a segment to its litpool_frag list. */ -+struct litpool_seg -+{ -+ struct litpool_seg *next; -+ asection *seg; -+ struct litpool_frag frag_list; -+ int frag_count; /* since last litpool location */ -+}; -+ -+static struct litpool_seg litpool_seg_list; -+ - - /* Directive functions. */ - -@@ -474,6 +497,9 @@ - static void xtensa_maybe_create_trampoline_frag (void); - struct trampoline_frag; - static int init_trampoline_frag (struct trampoline_frag *); -+static void xtensa_maybe_create_literal_pool_frag (bfd_boolean, bfd_boolean); -+static bfd_boolean auto_litpools = FALSE; -+static int auto_litpool_limit = 10000; - - /* Alignment Functions. */ - -@@ -698,6 +724,10 @@ - - option_trampolines, - option_no_trampolines, -+ -+ option_auto_litpools, -+ option_no_auto_litpools, -+ option_auto_litpool_limit, - }; - - const char *md_shortopts = ""; -@@ -773,6 +803,10 @@ - { "trampolines", no_argument, NULL, option_trampolines }, - { "no-trampolines", no_argument, NULL, option_no_trampolines }, - -+ { "auto-litpools", no_argument, NULL, option_auto_litpools }, -+ { "no-auto-litpools", no_argument, NULL, option_no_auto_litpools }, -+ { "auto-litpool-limit", required_argument, NULL, option_auto_litpool_limit }, -+ - { NULL, no_argument, NULL, 0 } - }; - -@@ -961,6 +995,34 @@ - use_trampolines = FALSE; - return 1; - -+ case option_auto_litpools: -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ -+ case option_no_auto_litpools: -+ auto_litpools = FALSE; -+ auto_litpool_limit = -1; -+ return 1; -+ -+ case option_auto_litpool_limit: -+ { -+ int value = 0; -+ if (auto_litpool_limit < 0) -+ as_fatal (_("no-auto-litpools is incompatible with auto-litpool-limit")); -+ if (*arg == 0 || *arg == '-') -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ value = strtol (arg, &arg, 10); -+ if (*arg != 0) -+ as_fatal (_("invalid auto-litpool-limit argument")); -+ if (value < 100 || value > 10000) -+ as_fatal (_("invalid auto-litpool-limit argument (range is 100-10000)")); -+ auto_litpool_limit = value; -+ auto_litpools = TRUE; -+ use_literal_section = FALSE; -+ return 1; -+ } -+ - default: - return 0; - } -@@ -986,7 +1048,12 @@ - flix bundles\n\ - --rename-section old=new Rename section 'old' to 'new'\n\ - --[no-]trampolines [Do not] generate trampolines (jumps to jumps)\n\ -- when jumps do not reach their targets\n", stream); -+ when jumps do not reach their targets\n\ -+ --[no-]auto-litpools [Do not] automatically create literal pools\n\ -+ --auto-litpool-limit=\n\ -+ (range 100-10000) Maximum number of blocks of\n\ -+ instructions to emit between literal pool\n\ -+ locations; implies --auto-litpools flag\n", stream); - } - - -@@ -4728,6 +4795,8 @@ - pool_location = frag_now; - frag_now->tc_frag_data.lit_frchain = frchain_now; - frag_now->tc_frag_data.literal_frag = frag_now; -+ /* Just record this frag. */ -+ xtensa_maybe_create_literal_pool_frag (FALSE, FALSE); - frag_variant (rs_machine_dependent, 0, 0, - RELAX_LITERAL_POOL_BEGIN, NULL, 0, NULL); - xtensa_set_frag_assembly_state (frag_now); -@@ -4832,6 +4901,31 @@ - static fragS * - get_literal_pool_location (segT seg) - { -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ for ( ; lps && lps->seg->id != seg->id; lps = lps->next) -+ ; -+ if (lps) -+ { -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { /* Skip "candidates" for now. */ -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN && -+ lpf->priority == 1) -+ return lpf->fragP; -+ } -+ /* Must convert a lower-priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ return lpf->fragP; -+ } -+ /* Still no match -- try for a low priority pool. */ -+ for (lpf = lps->frag_list.prev; lpf->fragP; lpf = lpf->prev) -+ { -+ if (lpf->fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ return lpf->fragP; -+ } -+ } - return seg_info (seg)->tc_segment_info_data.literal_pool_loc; - } - -@@ -7098,6 +7192,11 @@ - frag_now->tc_frag_data.slot_symbols[slot] = tinsn->symbol; - frag_now->tc_frag_data.slot_offsets[slot] = tinsn->offset; - frag_now->tc_frag_data.literal_frags[slot] = tinsn->literal_frag; -+ if (tinsn->opcode == xtensa_l32r_opcode) -+ { -+ frag_now->tc_frag_data.literal_frags[slot] = -+ tinsn->tok[1].X_add_symbol->sy_frag; -+ } - if (tinsn->literal_space != 0) - xg_assemble_literal_space (tinsn->literal_space, slot); - frag_now->tc_frag_data.free_reg[slot] = tinsn->extra_arg; -@@ -7170,6 +7269,8 @@ - frag_now->fr_symbol, frag_now->fr_offset, NULL); - xtensa_set_frag_assembly_state (frag_now); - xtensa_maybe_create_trampoline_frag (); -+ /* Always create one here. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, FALSE); - } - else if (is_branch && do_align_targets ()) - { -@@ -7314,11 +7415,18 @@ - clear_frag_count (); - unreachable_count = 0; - } -+ -+ /* We create an area for a possible literal pool every N (default 5000) -+ frags or so. */ -+ xtensa_maybe_create_literal_pool_frag (TRUE, TRUE); - } - - static xtensa_insnbuf trampoline_buf = NULL; - static xtensa_insnbuf trampoline_slotbuf = NULL; - -+static xtensa_insnbuf litpool_buf = NULL; -+static xtensa_insnbuf litpool_slotbuf = NULL; -+ - #define TRAMPOLINE_FRAG_SIZE 3000 - - static void -@@ -7410,6 +7518,135 @@ - } - } - -+static void dump_litpools (void) __attribute__ ((unused)); -+ -+static void -+dump_litpools (void) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ struct litpool_frag *lpf; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ printf("litpool seg %s\n", lps->seg->name); -+ for ( lpf = lps->frag_list.next; lpf->fragP; lpf = lpf->next ) -+ { -+ fragS *litfrag = lpf->fragP->fr_next; -+ int count = 0; -+ while (litfrag && litfrag->fr_subtype != RELAX_LITERAL_POOL_END) -+ { -+ if (litfrag->fr_fix == 4) -+ count++; -+ litfrag = litfrag->fr_next; -+ } -+ printf(" %ld <%d:%d> (%d) [%d]: ", -+ lpf->addr, lpf->priority, lpf->original_priority, -+ lpf->fragP->fr_line, count); -+ //dump_frag(lpf->fragP); -+ } -+ } -+} -+ -+static void -+xtensa_maybe_create_literal_pool_frag (bfd_boolean create, -+ bfd_boolean only_if_needed) -+{ -+ struct litpool_seg *lps = litpool_seg_list.next; -+ fragS *fragP; -+ struct litpool_frag *lpf; -+ bfd_boolean needed = FALSE; -+ -+ if (use_literal_section || !auto_litpools) -+ return; -+ -+ for ( ; lps ; lps = lps->next ) -+ { -+ if (lps->seg == now_seg) -+ break; -+ } -+ -+ if (lps == NULL) -+ { -+ lps = (struct litpool_seg *)xcalloc (sizeof (struct litpool_seg), 1); -+ lps->next = litpool_seg_list.next; -+ litpool_seg_list.next = lps; -+ lps->seg = now_seg; -+ lps->frag_list.next = &lps->frag_list; -+ lps->frag_list.prev = &lps->frag_list; -+ } -+ -+ lps->frag_count++; -+ -+ if (create) -+ { -+ if (only_if_needed) -+ { -+ if (past_xtensa_end || !use_transform() || -+ frag_now->tc_frag_data.is_no_transform) -+ { -+ return; -+ } -+ if (auto_litpool_limit <= 0) -+ { -+ /* Don't create a litpool based only on frag count. */ -+ return; -+ } -+ else if (lps->frag_count > auto_litpool_limit) -+ { -+ needed = TRUE; -+ } -+ else -+ { -+ return; -+ } -+ } -+ else -+ { -+ needed = TRUE; -+ } -+ } -+ -+ if (needed) -+ { -+ int size = (only_if_needed) ? 3 : 0; /* Space for a "j" insn. */ -+ /* Create a potential site for a literal pool. */ -+ frag_wane (frag_now); -+ frag_new (0); -+ xtensa_set_frag_assembly_state (frag_now); -+ fragP = frag_now; -+ fragP->tc_frag_data.lit_frchain = frchain_now; -+ fragP->tc_frag_data.literal_frag = fragP; -+ frag_var (rs_machine_dependent, size, size, -+ (only_if_needed) ? -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN : -+ RELAX_LITERAL_POOL_BEGIN, -+ NULL, 0, NULL); -+ frag_now->tc_frag_data.lit_seg = now_seg; -+ frag_variant (rs_machine_dependent, 0, 0, -+ RELAX_LITERAL_POOL_END, NULL, 0, NULL); -+ xtensa_set_frag_assembly_state (frag_now); -+ } -+ else -+ { -+ /* RELAX_LITERAL_POOL_BEGIN frag is being created; -+ just record it here. */ -+ fragP = frag_now; -+ } -+ -+ lpf = (struct litpool_frag *)xmalloc(sizeof (struct litpool_frag)); -+ /* Insert at tail of circular list. */ -+ lpf->addr = 0; -+ lps->frag_list.prev->next = lpf; -+ lpf->next = &lps->frag_list; -+ lpf->prev = lps->frag_list.prev; -+ lps->frag_list.prev = lpf; -+ lpf->fragP = fragP; -+ lpf->priority = (needed) ? (only_if_needed) ? 3 : 2 : 1; -+ lpf->original_priority = lpf->priority; -+ -+ lps->frag_count = 0; -+} -+ - static void - xtensa_cleanup_align_frags (void) - { -@@ -9029,7 +9266,41 @@ - break; - - case RELAX_LITERAL_POOL_BEGIN: -+ if (fragP->fr_var != 0) -+ { -+ /* We have a converted "candidate" literal pool; -+ assemble a jump around it. */ -+ TInsn insn; -+ if (!litpool_slotbuf) -+ { -+ litpool_buf = xtensa_insnbuf_alloc (isa); -+ litpool_slotbuf = xtensa_insnbuf_alloc (isa); -+ } -+ new_stretch += 3; -+ fragP->tc_frag_data.relax_seen = FALSE; /* Need another pass. */ -+ fragP->tc_frag_data.is_insn = TRUE; -+ tinsn_init (&insn); -+ insn.insn_type = ITYPE_INSN; -+ insn.opcode = xtensa_j_opcode; -+ insn.ntok = 1; -+ set_expr_symbol_offset (&insn.tok[0], fragP->fr_symbol, -+ fragP->fr_fix); -+ fmt = xg_get_single_format (xtensa_j_opcode); -+ tinsn_to_slotbuf (fmt, 0, &insn, litpool_slotbuf); -+ xtensa_format_set_slot (isa, fmt, 0, litpool_buf, litpool_slotbuf); -+ xtensa_insnbuf_to_chars (isa, litpool_buf, -+ (unsigned char *)fragP->fr_literal + -+ fragP->fr_fix, 3); -+ fragP->fr_fix += 3; -+ fragP->fr_var -= 3; -+ /* Add a fix-up. */ -+ fix_new (fragP, 0, 3, fragP->fr_symbol, 0, TRUE, -+ BFD_RELOC_XTENSA_SLOT0_OP); -+ } -+ break; -+ - case RELAX_LITERAL_POOL_END: -+ case RELAX_LITERAL_POOL_CANDIDATE_BEGIN: - case RELAX_MAYBE_UNREACHABLE: - case RELAX_MAYBE_DESIRE_ALIGN: - /* No relaxation required. */ -@@ -10789,12 +11060,115 @@ - segT dest_seg; - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; -+ struct litpool_seg *lps; - - mark_literal_frags (literal_head->next); - - if (use_literal_section) - return; - -+ /* Assign addresses (rough estimates) to the potential literal pool locations -+ and create new ones if the gaps are too large. */ -+ -+ for (lps = litpool_seg_list.next; lps; lps = lps->next) -+ { -+ frchainS *frchP = seg_info (lps->seg)->frchainP; -+ struct litpool_frag *lpf = lps->frag_list.next; -+ addressT addr = 0; -+ -+ for ( ; frchP; frchP = frchP->frch_next) -+ { -+ fragS *fragP; -+ for (fragP = frchP->frch_root; fragP; fragP = fragP->fr_next) -+ { -+ if (lpf && fragP == lpf->fragP) -+ { -+ gas_assert(fragP->fr_type == rs_machine_dependent && -+ (fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN || -+ fragP->fr_subtype == RELAX_LITERAL_POOL_CANDIDATE_BEGIN)); -+ /* Found a litpool location. */ -+ lpf->addr = addr; -+ lpf = lpf->next; -+ } -+ if (fragP->fr_type == rs_machine_dependent && -+ fragP->fr_subtype == RELAX_SLOTS) -+ { -+ int slot; -+ for (slot = 0; slot < MAX_SLOTS; slot++) -+ { -+ if (fragP->tc_frag_data.literal_frags[slot]) -+ { -+ /* L32R; point its literal to the nearest litpool -+ preferring non-"candidate" positions to avoid -+ the jump-around. */ -+ fragS *litfrag = fragP->tc_frag_data.literal_frags[slot]; -+ struct litpool_frag *lp = lpf->prev; -+ if (!lp->fragP) -+ { -+ break; -+ } -+ while (lp->fragP->fr_subtype == -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN) -+ { -+ lp = lp->prev; -+ if (lp->fragP == NULL) -+ { -+ /* End of list; have to bite the bullet. -+ Take the nearest. */ -+ lp = lpf->prev; -+ break; -+ } -+ /* Does it (conservatively) reach? */ -+ if (addr - lp->addr <= 128 * 1024) -+ { -+ if (lp->fragP->fr_subtype == RELAX_LITERAL_POOL_BEGIN) -+ { -+ /* Found a good one. */ -+ break; -+ } -+ else if (lp->prev->fragP && -+ addr - lp->prev->addr > 128 * 1024) -+ { -+ /* This is still a "candidate" but the next one -+ will be too far away, so revert to the nearest -+ one, convert it and add the jump around. */ -+ fragS *poolbeg; -+ fragS *poolend; -+ symbolS *lsym; -+ char label[10 + 2 * sizeof (fragS *)]; -+ lp = lpf->prev; -+ poolbeg = lp->fragP; -+ lp->priority = 1; -+ poolbeg->fr_subtype = RELAX_LITERAL_POOL_BEGIN; -+ poolend = poolbeg->fr_next; -+ gas_assert (poolend->fr_type == rs_machine_dependent && -+ poolend->fr_subtype == RELAX_LITERAL_POOL_END); -+ /* Create a local symbol pointing to the -+ end of the pool. */ -+ sprintf (label, ".L0_LT_%p", poolbeg); -+ lsym = (symbolS *)local_symbol_make (label, lps->seg, -+ 0, poolend); -+ poolbeg->fr_symbol = lsym; -+ /* Rest is done in xtensa_relax_frag. */ -+ } -+ } -+ } -+ if (! litfrag->tc_frag_data.literal_frag) -+ { -+ /* Take earliest use of this literal to avoid -+ forward refs. */ -+ litfrag->tc_frag_data.literal_frag = lp->fragP; -+ } -+ } -+ } -+ } -+ addr += fragP->fr_fix; -+ if (fragP->fr_type == rs_fill) -+ addr += fragP->fr_offset; -+ } -+ } -+ } -+ - for (segment = literal_head->next; segment; segment = segment->next) - { - /* Keep the literals for .init and .fini in separate sections. */ -@@ -10839,9 +11213,6 @@ - while (search_frag != frag_now) - { - next_frag = search_frag->fr_next; -- -- /* First, move the frag out of the literal section and -- to the appropriate place. */ - if (search_frag->tc_frag_data.literal_frag) - { - literal_pool = search_frag->tc_frag_data.literal_frag; -@@ -10849,8 +11220,56 @@ - frchain_to = literal_pool->tc_frag_data.lit_frchain; - gas_assert (frchain_to); - } -+ -+ if (search_frag->fr_type == rs_fill && search_frag->fr_fix == 0) -+ { -+ /* Skip empty fill frags. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ if (search_frag->fr_type == rs_align) -+ { -+ /* Skip alignment frags, because the pool as a whole will be -+ aligned if used, and we don't want to force alignment if the -+ pool is unused. */ -+ *frag_splice = next_frag; -+ search_frag = next_frag; -+ continue; -+ } -+ -+ /* First, move the frag out of the literal section and -+ to the appropriate place. */ -+ -+ /* Insert an aligmnent frag at start of pool. */ -+ if (literal_pool->fr_next->fr_type == rs_machine_dependent && -+ literal_pool->fr_next->fr_subtype == RELAX_LITERAL_POOL_END) -+ { -+ segT pool_seg = literal_pool->fr_next->tc_frag_data.lit_seg; -+ emit_state prev_state; -+ fragS *prev_frag; -+ fragS *align_frag; -+ xtensa_switch_section_emit_state (&prev_state, pool_seg, 0); -+ prev_frag = frag_now; -+ frag_variant (rs_fill, 0, 0, 0, NULL, 0, NULL); -+ align_frag = frag_now; -+ frag_align (2, 0, 0); -+ /* Splice it into the right place. */ -+ prev_frag->fr_next = align_frag->fr_next; -+ align_frag->fr_next = literal_pool->fr_next; -+ literal_pool->fr_next = align_frag; -+ /* Insert after this one. */ -+ literal_pool->tc_frag_data.literal_frag = align_frag; -+ xtensa_restore_emit_state (&prev_state); -+ } - insert_after = literal_pool->tc_frag_data.literal_frag; - dest_seg = insert_after->fr_next->tc_frag_data.lit_seg; -+ /* Skip align frag. */ -+ if (insert_after->fr_next->fr_type == rs_align) -+ { -+ insert_after = insert_after->fr_next; -+ } - - *frag_splice = next_frag; - search_frag->fr_next = insert_after->fr_next; -@@ -11014,7 +11433,10 @@ - && !recursive - && !is_init && ! is_fini) - { -- as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ if (!auto_litpools) -+ { -+ as_bad (_("literal pool location required for text-section-literals; specify with .literal_position")); -+ } - - /* When we mark a literal pool location, we want to put a frag in - the literal pool that points to it. But to do that, we want to ---- a/gas/config/tc-xtensa.h -+++ b/gas/config/tc-xtensa.h -@@ -124,6 +124,7 @@ - - RELAX_LITERAL_POOL_BEGIN, - RELAX_LITERAL_POOL_END, -+ RELAX_LITERAL_POOL_CANDIDATE_BEGIN, - /* Technically these are not relaxations at all but mark a location - to store literals later. Note that fr_var stores the frchain for - BEGIN frags and fr_var stores now_seg for END frags. */ ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -100,6 +100,7 @@ - run_dump_test "jlong" - run_dump_test "trampoline" - run_dump_test "first_frag_align" -+ run_dump_test "auto-litpools" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.d -@@ -0,0 +1,12 @@ -+#as: --auto-litpools -+#objdump: -d -+#name: auto literal pool placement -+ -+.*: +file format .*xtensa.* -+#... -+.*4:.*l32r.a2, 0 .* -+#... -+.*3e437:.*j.3e440 .* -+#... -+.*40750:.*l32r.a2, 3e43c .* -+#... ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/auto-litpools.s -@@ -0,0 +1,13 @@ -+ .text -+ .align 4 -+ .literal .L0, 0x12345 -+ .literal .L1, 0x12345 -+ -+f: -+ l32r a2, .L0 -+ .rep 44000 -+ _nop -+ _nop -+ .endr -+ l32r a2, .L1 -+ ret diff --git a/packages/binutils/2.25.1/0021-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.25.1/0021-xtensa-fix-signedness-of-gas-relocations.patch deleted file mode 100644 index 77b4af3..0000000 --- a/packages/binutils/2.25.1/0021-xtensa-fix-signedness-of-gas-relocations.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 6c7c5c477ef9ccf2d2548cf2ac3cec9bd3c9c5b6 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 2 Feb 2016 17:11:38 +0300 -Subject: [PATCH] xtensa: fix signedness of gas relocations - -Change 1058c7532d0b "Use signed data type for R_XTENSA_DIFF* relocation -offsets." changed signedness of BFD_RELOC_XTENSA_DIFF* relocations -substituted for BFD_RELOC_*. This made it impossible to encode arbitrary -8-, 16- and 32-bit values, which broke e.g. debug info encoding by .loc -directive. Revert this part and add test. - -gas/ -2016-02-03 Max Filippov - * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF* - substitutions for BFD_RELOC_* as unsigned. - * gas/testsuite/gas/xtensa/all.exp: Add loc to list of xtensa - tests. - * gas/testsuite/gas/xtensa/loc.d: New file: loc test result - patterns. - * gas/testsuite/gas/xtensa/loc.s: New file: loc test. - -Signed-off-by: Max Filippov ---- - gas/config/tc-xtensa.c | 6 +++--- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/loc.d | 10 ++++++++++ - gas/testsuite/gas/xtensa/loc.s | 7 +++++++ - 4 files changed, 21 insertions(+), 3 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/loc.d - create mode 100644 gas/testsuite/gas/xtensa/loc.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -5961,15 +5961,15 @@ - { - case BFD_RELOC_8: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF8; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_16: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF16; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - case BFD_RELOC_32: - fixP->fx_r_type = BFD_RELOC_XTENSA_DIFF32; -- fixP->fx_signed = 1; -+ fixP->fx_signed = 0; - break; - default: - break; ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -101,6 +101,7 @@ - run_dump_test "trampoline" - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" -+ run_dump_test "loc" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.d -@@ -0,0 +1,10 @@ -+#as: -+#objdump: -r -+#name: .loc directive relocs -+ -+.*: +file format .*xtensa.* -+ -+RELOCATION RECORDS FOR \[\.debug_line\]: -+#... -+.*R_XTENSA_DIFF16.*\.text\+0x00009c42 -+#... ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/loc.s -@@ -0,0 +1,7 @@ -+ .text -+ .file 1 "loc.s" -+ .loc 1 3 -+ nop -+ .space 40000 -+ .loc 1 5 -+ nop diff --git a/packages/binutils/2.25.1/0022-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.25.1/0022-xtensa-fix-.init-.fini-literals-moving.patch deleted file mode 100644 index 0b2b3fa..0000000 --- a/packages/binutils/2.25.1/0022-xtensa-fix-.init-.fini-literals-moving.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 7db2accc3fdea0aaa0c3a76a413d8e8030e022c3 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 16 Feb 2016 02:23:28 +0300 -Subject: [PATCH] xtensa: fix .init/.fini literals moving - -Despite the documentation and the comment in xtensa_move_literals, in -the presence of --text-section-literals and --auto-litpools literals are -moved from the separate literal sections into .init and .fini, because -the check in the xtensa_move_literals is incorrect. - -This moving was broken with introduction of auto litpools: some literals -now may be lost. This happens because literal frags emitted from .init -and .fini are not closed when new .literal_position marks new literal -pool. Then frag_align(2, 0, 0) changes type of the last literal frag to -rs_align. rs_align frags are skipped in the xtensa_move_literals. As a -result fixups against such literals are not moved out of .init.literal/ -.fini.literal sections producing the following assembler error: - - test.S: Warning: fixes not all moved from .init.literal - test.S: Internal error! - -Fix check for .init.literal/.fini.literal in the xtensa_move_literals -and don't let it move literals from there in the presence of ---text-section-literals or --auto-litpools. - -2016-02-17 Max Filippov -gas/ - * config/tc-xtensa.c (xtensa_move_literals): Fix check for - .init.literal/.fini.literal section name. - * testsuite/gas/xtensa/all.exp: Add init-fini-literals to the - list of xtensa tests. - * testsuite/gas/xtensa/init-fini-literals.d: New file: - init-fini-literals test result patterns. - * testsuite/gas/xtensa/init-fini-literals.s: New file: - init-fini-literals test. - -Signed-off-by: Max Filippov ---- -Backported from: 4111950f363221c4641dc2f33bea61cc94f34906 - - gas/config/tc-xtensa.c | 12 ++++++++++-- - gas/testsuite/gas/xtensa/all.exp | 1 + - gas/testsuite/gas/xtensa/init-fini-literals.d | 24 ++++++++++++++++++++++++ - gas/testsuite/gas/xtensa/init-fini-literals.s | 19 +++++++++++++++++++ - 4 files changed, 54 insertions(+), 2 deletions(-) - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.d - create mode 100644 gas/testsuite/gas/xtensa/init-fini-literals.s - ---- a/gas/config/tc-xtensa.c -+++ b/gas/config/tc-xtensa.c -@@ -11061,6 +11061,10 @@ - fixS *fix, *next_fix, **fix_splice; - sym_list *lit; - struct litpool_seg *lps; -+ const char *init_name = INIT_SECTION_NAME; -+ const char *fini_name = FINI_SECTION_NAME; -+ int init_name_len = strlen(init_name); -+ int fini_name_len = strlen(fini_name); - - mark_literal_frags (literal_head->next); - -@@ -11171,9 +11175,13 @@ - - for (segment = literal_head->next; segment; segment = segment->next) - { -+ const char *seg_name = segment_name (segment->seg); -+ - /* Keep the literals for .init and .fini in separate sections. */ -- if (!strcmp (segment_name (segment->seg), INIT_SECTION_NAME) -- || !strcmp (segment_name (segment->seg), FINI_SECTION_NAME)) -+ if ((!memcmp (seg_name, init_name, init_name_len) && -+ !strcmp (seg_name + init_name_len, ".literal")) || -+ (!memcmp (seg_name, fini_name, fini_name_len) && -+ !strcmp (seg_name + fini_name_len, ".literal"))) - continue; - - frchain_from = seg_info (segment->seg)->frchainP; ---- a/gas/testsuite/gas/xtensa/all.exp -+++ b/gas/testsuite/gas/xtensa/all.exp -@@ -102,6 +102,7 @@ - run_dump_test "first_frag_align" - run_dump_test "auto-litpools" - run_dump_test "loc" -+ run_dump_test "init-fini-literals" - } - - if [info exists errorInfo] then { ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.d -@@ -0,0 +1,24 @@ -+#as: --text-section-literals -+#objdump: -r -+#name: check that literals for .init and .fini always go to separate sections -+ -+.*: +file format .*xtensa.* -+#... -+RELOCATION RECORDS FOR \[\.init\.literal\]: -+#... -+00000000 R_XTENSA_PLT init -+#... -+RELOCATION RECORDS FOR \[\.fini\.literal\]: -+#... -+00000000 R_XTENSA_PLT fini -+#... -+RELOCATION RECORDS FOR \[\.init\]: -+#... -+.* R_XTENSA_SLOT0_OP \.init\.literal -+.* R_XTENSA_SLOT0_OP \.init\.literal\+0x00000004 -+#... -+RELOCATION RECORDS FOR \[\.fini\]: -+#... -+.* R_XTENSA_SLOT0_OP \.fini\.literal -+.* R_XTENSA_SLOT0_OP \.fini\.literal\+0x00000004 -+#... ---- /dev/null -+++ b/gas/testsuite/gas/xtensa/init-fini-literals.s -@@ -0,0 +1,19 @@ -+ .section .init,"ax",@progbits -+ .literal_position -+ .literal .LC0, init@PLT -+ .literal_position -+ .literal .LC1, 1 -+ .align 4 -+ -+ l32r a2, .LC0 -+ l32r a2, .LC1 -+ -+ .section .fini,"ax",@progbits -+ .literal_position -+ .literal .LC2, fini@PLT -+ .literal_position -+ .literal .LC3, 1 -+ .align 4 -+ -+ l32r a2, .LC2 -+ l32r a2, .LC3 diff --git a/packages/binutils/2.25.1/0023-Fix-a-missing-include-of-string.patch b/packages/binutils/2.25.1/0023-Fix-a-missing-include-of-string.patch deleted file mode 100644 index b04033a..0000000 --- a/packages/binutils/2.25.1/0023-Fix-a-missing-include-of-string.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 23272f9927dc95c0cf6f7c5aabcc0551eca572c5 Mon Sep 17 00:00:00 2001 -From: Martin Liska -Date: Fri, 7 Jun 2019 07:36:52 +0200 -Subject: [PATCH] Fix a missing include of - -gold/ChangeLog: - -2019-06-07 Martin Liska - - * errors.h: Include string. ---- - 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 @@ - #define GOLD_ERRORS_H - - #include -+#include - - #include "gold-threads.h" - diff --git a/packages/binutils/2.25.1/chksum b/packages/binutils/2.25.1/chksum deleted file mode 100644 index 7f47d9b..0000000 --- a/packages/binutils/2.25.1/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 binutils-2.25.1.tar.bz2 ac493a78de4fee895961d025b7905be4 -sha1 binutils-2.25.1.tar.bz2 1d597ae063e3947a5f61e23ceda8aebf78405fcd -sha256 binutils-2.25.1.tar.bz2 b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 -sha512 binutils-2.25.1.tar.bz2 0b36dda0e6d32cd25613c0e64b56b28312515c54d6a159efd3db9a86717f114ab0a0a1f69d08975084d55713ebaeab64e4085c9b3d1c3fa86712869f80eb954d -md5 binutils-2.25.1.tar.gz ace2b75f6240f566a6c42a1bdacf30bf -sha1 binutils-2.25.1.tar.gz 3b5e9351d94b94c037e55dd1f8e985a5a8cb0fde -sha256 binutils-2.25.1.tar.gz 82a40a37b13a12facb36ac7e87846475a1d80f2e63467b1b8d63ec8b6a2b63fc -sha512 binutils-2.25.1.tar.gz af9fced0813551ea9196f1be3a9b4f7f70fc02aa369e042fa1077878c42bb3a8bc17defc4db5d75dac42c81fb53b5015db9d89d92ef6dc9363798a3c94323aba diff --git a/packages/binutils/2.25.1/version.desc b/packages/binutils/2.25.1/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/binutils/2.25.1/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/binutils/package.desc b/packages/binutils/package.desc index d5c9b22..9202960 100644 --- a/packages/binutils/package.desc +++ b/packages/binutils/package.desc @@ -2,6 +2,6 @@ repository='git git://sourceware.org/git/binutils-gdb.git' mirrors='$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)' relevantpattern='*.*|.' origin='GNU' -milestones='2.23 2.25 2.27 2.30' +milestones='2.26 2.27 2.30' archive_formats='.tar.xz .tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index 05df34a..4a27e22 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -131,24 +131,22 @@ do_binutils_backend() { CT_DoLog EXTRA "Configuring binutils" - if [ "${CT_BINUTILS_HAS_GOLD}" = "y" ]; then - case "${CT_BINUTILS_LINKERS_LIST}" in - ld) - extra_config+=( --enable-ld=yes --enable-gold=no ) - ;; - gold) - extra_config+=( --enable-ld=no --enable-gold=yes ) - ;; - ld,gold) - extra_config+=( --enable-ld=default --enable-gold=yes ) - ;; - gold,ld) - extra_config+=( --enable-ld=yes --enable-gold=default ) - ;; - esac - if [ "${CT_BINUTILS_GOLD_THREADS}" = "y" ]; then - extra_config+=( --enable-threads ) - fi + case "${CT_BINUTILS_LINKERS_LIST}" in + ld) + extra_config+=( --enable-ld=yes --enable-gold=no ) + ;; + gold) + extra_config+=( --enable-ld=no --enable-gold=yes ) + ;; + ld,gold) + extra_config+=( --enable-ld=default --enable-gold=yes ) + ;; + gold,ld) + extra_config+=( --enable-ld=yes --enable-gold=default ) + ;; + esac + if [ "${CT_BINUTILS_GOLD_THREADS}" = "y" ]; then + extra_config+=( --enable-threads ) fi if [ "${CT_BINUTILS_PLUGINS}" = "y" ]; then extra_config+=( --enable-plugins ) @@ -161,10 +159,8 @@ do_binutils_backend() { if [ "${CT_BINUTILS_DETERMINISTIC_ARCHIVES}" = "y" ]; then extra_config+=( --enable-deterministic-archives ) fi - if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then - [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") - fi + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") if [ "${CT_MULTILIB}" = "y" ]; then extra_config+=("--enable-multilib") else @@ -325,10 +321,8 @@ do_binutils_for_target() { CT_DoLog EXTRA "Configuring binutils for target" - if [ "${CT_BINUTILS_HAS_PKGVERSION_BUGURL}" = "y" ]; then - [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") - fi + [ -n "${CT_PKGVERSION}" ] && extra_config+=("--with-pkgversion=${CT_PKGVERSION}") + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") if [ "${CT_MULTILIB}" = "y" ]; then extra_config+=("--enable-multilib") else -- cgit v0.10.2-6-g49f6 From 41d4583a42d646339678b5b4a3cbc2fae94bf9f6 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: cloog: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - cloog-0.18.1 Signed-off-by: Chris Packham diff --git a/packages/cloog/0.18.1/chksum b/packages/cloog/0.18.1/chksum deleted file mode 100644 index 8c4fa5a..0000000 --- a/packages/cloog/0.18.1/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 cloog-0.18.1.tar.gz e34fca0540d840e5d0f6427e98c92252 -sha1 cloog-0.18.1.tar.gz 2dc70313e8e2c6610b856d627bce9c9c3f848077 -sha256 cloog-0.18.1.tar.gz 02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196 -sha512 cloog-0.18.1.tar.gz 0b12d9f3c39a2425e28e1d7c0a2b3787287fe3e6e3052f094d2ab6cffeb205ce19044100cbfd805659b3e6b3d21ac2f5a3c92848f476de54edfe6b1cbd2172e9 diff --git a/packages/cloog/0.18.1/version.desc b/packages/cloog/0.18.1/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/cloog/0.18.1/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From e4221734830d982a5974132cdd77607b9d2ca1bf Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: gcc: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - gcc-linaro-4.8-2015.06 - gcc-4.8.5 Signed-off-by: Chris Packham diff --git a/packages/gcc-linaro/4.8-2015.06/0000-gcc_bug_62231.patch b/packages/gcc-linaro/4.8-2015.06/0000-gcc_bug_62231.patch deleted file mode 100644 index 603e1c2..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0000-gcc_bug_62231.patch +++ /dev/null @@ -1,132 +0,0 @@ -As-applied. From: - -https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02625.html - -Linked from bug62231 comment 4 there - ---- - gcc/defaults.h | 5 +++ - gcc/dwarf2cfi.c | 76 +++++++++++++++++++++++++++++++++++----------------- - libgcc/unwind-dw2.c | 4 -- - 3 files changed, 57 insertions(+), 28 deletions(-) - ---- a/gcc/defaults.h -+++ b/gcc/defaults.h -@@ -438,6 +438,11 @@ - #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG) - #endif - -+/* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */ -+#ifndef DWARF_REG_TO_UNWIND_COLUMN -+#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) -+#endif -+ - /* Map register numbers held in the call frame info that gcc has - collected using DWARF_FRAME_REGNUM to those that should be output in - .debug_frame and .eh_frame. */ ---- a/gcc/dwarf2cfi.c -+++ b/gcc/dwarf2cfi.c -@@ -225,7 +225,44 @@ - emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); - } - --/* Generate code to initialize the register size table. */ -+/* Helper for expand_builtin_init_dwarf_reg_sizes. Generate code to -+ initialize the dwarf register size table entry corresponding to register -+ REGNO in REGMODE. TABLE is the table base address, SLOTMODE is the mode -+ to use for the size entry to initialize, and WROTE_RETURN_COLUMN needs to -+ be set to true if the dwarf register number for REGNO is the dwarf return -+ column number. */ -+ -+static -+void init_one_dwarf_reg_size (int regno, enum machine_mode regmode, -+ rtx table, enum machine_mode slotmode, -+ bool *wrote_return_column) -+{ -+ const unsigned int dnum = DWARF_FRAME_REGNUM (regno); -+ const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ const unsigned int dcol = DWARF_REG_TO_UNWIND_COLUMN (rnum); -+ -+ const HOST_WIDE_INT slotoffset = dcol * GET_MODE_SIZE (slotmode); -+ const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode); -+ -+ if (rnum >= DWARF_FRAME_REGISTERS) -+ return; -+ -+ if (dnum == DWARF_FRAME_RETURN_COLUMN) -+ { -+ if (regmode == VOIDmode) -+ return; -+ *wrote_return_column = true; -+ } -+ -+ if (slotoffset < 0) -+ return; -+ -+ emit_move_insn (adjust_address (table, slotmode, slotoffset), -+ gen_int_mode (regsize, slotmode)); -+} -+ -+/* Generate code to initialize the dwarf register size table located -+ at the provided ADDRESS. */ - - void - expand_builtin_init_dwarf_reg_sizes (tree address) -@@ -238,30 +275,21 @@ - - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - { -- unsigned int dnum = DWARF_FRAME_REGNUM (i); -- unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ enum machine_mode save_mode = reg_raw_mode[i]; -+ rtx span; - -- if (rnum < DWARF_FRAME_REGISTERS) -- { -- HOST_WIDE_INT offset = rnum * GET_MODE_SIZE (mode); -- enum machine_mode save_mode = reg_raw_mode[i]; -- HOST_WIDE_INT size; -- -- if (HARD_REGNO_CALL_PART_CLOBBERED (i, save_mode)) -- save_mode = choose_hard_reg_mode (i, 1, true); -- if (dnum == DWARF_FRAME_RETURN_COLUMN) -- { -- if (save_mode == VOIDmode) -- continue; -- wrote_return_column = true; -- } -- size = GET_MODE_SIZE (save_mode); -- if (offset < 0) -- continue; -- -- emit_move_insn (adjust_address (mem, mode, offset), -- gen_int_mode (size, mode)); -- } -+ span = targetm.dwarf_register_span (gen_rtx_REG (save_mode, i)); -+ if (!span) -+ init_one_dwarf_reg_size (i, save_mode, mem, mode, &wrote_return_column); -+ else -+ { -+ for (int si = 0; si < XVECLEN (span, 0); si++) -+ { -+ rtx reg = XVECEXP (span, 0, si); -+ init_one_dwarf_reg_size -+ (REGNO (reg), GET_MODE (reg), mem, mode, &wrote_return_column); -+ } -+ } - } - - if (!wrote_return_column) ---- a/libgcc/unwind-dw2.c -+++ b/libgcc/unwind-dw2.c -@@ -55,10 +55,6 @@ - #define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS - #endif - --#ifndef DWARF_REG_TO_UNWIND_COLUMN --#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) --#endif -- - /* ??? For the public function interfaces, we tend to gcc_assert that the - column numbers are in range. For the dwarf2 unwind info this does happen, - although so far in a case that doesn't actually matter. diff --git a/packages/gcc-linaro/4.8-2015.06/0001-gcc_bug_62231.patch b/packages/gcc-linaro/4.8-2015.06/0001-gcc_bug_62231.patch deleted file mode 100644 index 0fed72d..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0001-gcc_bug_62231.patch +++ /dev/null @@ -1,21 +0,0 @@ -As-applied. From: - -https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02605.html - -Linked from bug62231 comment 4 there - ---- - gcc/config/rs6000/rs6000.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/rs6000/rs6000.c -+++ b/gcc/config/rs6000/rs6000.c -@@ -1677,7 +1677,7 @@ - SCmode so as to pass the value correctly in a pair of - registers. */ - else if (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode) && mode != SCmode -- && !DECIMAL_FLOAT_MODE_P (mode)) -+ && !DECIMAL_FLOAT_MODE_P (mode) && SPE_SIMD_REGNO_P (regno)) - reg_size = UNITS_PER_FP_WORD; - - else diff --git a/packages/gcc-linaro/4.8-2015.06/0002-libtool-leave-framework-alone.patch b/packages/gcc-linaro/4.8-2015.06/0002-libtool-leave-framework-alone.patch deleted file mode 100644 index e67e0e8..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0002-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc-linaro/4.8-2015.06/0003-uclibc-conf.patch b/packages/gcc-linaro/4.8-2015.06/0003-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0003-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc-linaro/4.8-2015.06/0004-pr65730.patch b/packages/gcc-linaro/4.8-2015.06/0004-pr65730.patch deleted file mode 100644 index 3cea1a1..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0004-pr65730.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 10 Apr 2015 17:46:30 +0300 -Subject: [PATCH] Fix PR target/65730 - -2015-05-20 Max Filippov -gcc/ - * config/xtensa/xtensa.c (init_alignment_context): Replace MULT - by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). - -Signed-off-by: Max Filippov ---- -Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452 -Changes to ChangeLog are dropped. - - gcc/config/xtensa/xtensa.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1423,8 +1423,9 @@ - if (ac->shift != NULL_RTX) - { - /* Shift is the byte count, but we need the bitcount. */ -- ac->shift = expand_simple_binop (SImode, MULT, ac->shift, -- GEN_INT (BITS_PER_UNIT), -+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0); -+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift, -+ GEN_INT (exact_log2 (BITS_PER_UNIT)), - NULL_RTX, 1, OPTAB_DIRECT); - ac->modemask = expand_simple_binop (SImode, ASHIFT, - GEN_INT (GET_MODE_MASK (mode)), diff --git a/packages/gcc-linaro/4.8-2015.06/0005-pr43538.patch b/packages/gcc-linaro/4.8-2015.06/0005-pr43538.patch deleted file mode 100644 index c2a2046..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0005-pr43538.patch +++ /dev/null @@ -1,20 +0,0 @@ -From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001 -From: glisse -Date: Fri, 25 Apr 2014 08:03:08 +0000 -Subject: [PATCH] 2014-04-25 Marc Glisse - - PR target/43538 - * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-gnu | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE diff --git a/packages/gcc-linaro/4.8-2015.06/0006-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc-linaro/4.8-2015.06/0006-mt-ospace-preserve-FLAGS_FOR_TARGET.patch deleted file mode 100644 index d866661..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0006-mt-ospace-preserve-FLAGS_FOR_TARGET.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9bcf38cd9f382486b3823eb923b50e2e9a89cef7 Mon Sep 17 00:00:00 2001 -From: law -Date: Tue, 18 Nov 2014 22:12:52 +0000 -Subject: [PATCH] 2014-11-17 Bob Dunlop - - * mt-ospace (CFLAGS_FOR_TARGET): Append -g -Os rather than - overwriting. - (CXXFLAGS_FOR_TARGET): Similarly. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217739 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-ospace | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/gcc-linaro/4.8-2015.06/0007-build_gcc-5_with_gcc-6.patch b/packages/gcc-linaro/4.8-2015.06/0007-build_gcc-5_with_gcc-6.patch deleted file mode 100644 index b49d7da..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0007-build_gcc-5_with_gcc-6.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001 -From: edlinger -Date: Thu, 25 Feb 2016 15:33:50 +0000 -Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger - - Backported from mainline - 2016-02-19 Jakub Jelinek - Bernd Edlinger - - * Make-lang.in: Invoke gperf with -L C++. - * cfns.gperf: Remove prototypes for hash and libc_name_p - inlines. - * cfns.h: Regenerated. - * except.c (nothrow_libfn_p): Adjust. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/cp/Make-lang.in | 2 +- - gcc/cp/cfns.gperf | 10 ++-------- - gcc/cp/cfns.h | 41 ++++++++++++++--------------------------- - gcc/cp/except.c | 3 ++- - 4 files changed, 19 insertions(+), 37 deletions(-) - ---- a/gcc/cp/cfns.gperf -+++ b/gcc/cp/cfns.gperf -@@ -1,3 +1,5 @@ -+%language=C++ -+%define class-name libc_name - %{ - /* Copyright (C) 2000-2013 Free Software Foundation, Inc. - -@@ -16,14 +18,6 @@ - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - %} - %% - # The standard C library functions, for feeding to gperf; the result is used ---- a/gcc/cp/cfns.h -+++ b/gcc/cp/cfns.h -@@ -1,5 +1,5 @@ --/* ANSI-C code produced by gperf version 3.0.3 */ --/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ -+/* C++ code produced by gperf version 3.0.4 */ -+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ - - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ -@@ -28,7 +28,7 @@ - #error "gperf generated tables don't work with this execution character set. Please report a bug to ." - #endif - --#line 1 "cfns.gperf" -+#line 3 "cfns.gperf" - - /* Copyright (C) 2000-2013 Free Software Foundation, Inc. - -@@ -47,25 +47,18 @@ - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - /* maximum key range = 391, duplicates = 0 */ - --#ifdef __GNUC__ --__inline --#else --#ifdef __cplusplus --inline --#endif --#endif --static unsigned int --hash (register const char *str, register unsigned int len) -+class libc_name -+{ -+private: -+ static inline unsigned int hash (const char *str, unsigned int len); -+public: -+ static const char *libc_name_p (const char *str, unsigned int len); -+}; -+ -+inline unsigned int -+libc_name::hash (register const char *str, register unsigned int len) - { - static const unsigned short asso_values[] = - { -@@ -122,14 +115,8 @@ - return hval + asso_values[(unsigned char)str[len - 1]]; - } - --#ifdef __GNUC__ --__inline --#ifdef __GNUC_STDC_INLINE__ --__attribute__ ((__gnu_inline__)) --#endif --#endif - const char * --libc_name_p (register const char *str, register unsigned int len) -+libc_name::libc_name_p (register const char *str, register unsigned int len) - { - enum - { ---- a/gcc/cp/except.c -+++ b/gcc/cp/except.c -@@ -1025,7 +1025,8 @@ - unless the system headers are playing rename tricks, and if - they are, we don't want to be confused by them. */ - id = DECL_NAME (fn); -- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); -+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id), -+ IDENTIFIER_LENGTH (id)); - } - - /* Returns nonzero if an exception of type FROM will be caught by a ---- a/gcc/cp/Make-lang.in -+++ b/gcc/cp/Make-lang.in -@@ -115,7 +115,7 @@ - # deleting the $(srcdir)/cp/cfns.h file. - $(srcdir)/cp/cfns.h: - endif -- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ -+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ - $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h - - # diff --git a/packages/gcc-linaro/4.8-2015.06/0008-missing-execinfo_h.patch b/packages/gcc-linaro/4.8-2015.06/0008-missing-execinfo_h.patch deleted file mode 100644 index c90222a..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0008-missing-execinfo_h.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - boehm-gc/include/gc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/packages/gcc-linaro/4.8-2015.06/0009-libmudflap-susv3-legacy.patch b/packages/gcc-linaro/4.8-2015.06/0009-libmudflap-susv3-legacy.patch deleted file mode 100644 index c63f911..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0009-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- - libmudflap/mf-hooks2.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/libmudflap/mf-hooks2.c -+++ b/libmudflap/mf-hooks2.c -@@ -424,7 +424,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/packages/gcc-linaro/4.8-2015.06/0010-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/4.8-2015.06/0010-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index f29c5a2..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0010-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,107 +0,0 @@ ---- - gcc/configure | 22 +++++++++++++++------- - gcc/configure.ac | 18 +++++++++++++----- - 2 files changed, 28 insertions(+), 12 deletions(-) - ---- a/gcc/configure -+++ b/gcc/configure -@@ -27366,6 +27366,9 @@ - - - pluginlibs= -+PICFLAG="-fPIC" -+UNDEFINEDPREAMBLE="extern int X;" -+UNDEFINEDCODE="return X == 0;" - - case "${host}" in - *-*-darwin*) -@@ -27377,6 +27380,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -27489,23 +27497,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5244,6 +5244,9 @@ - enable_plugin=yes; default_plugin=yes) - - pluginlibs= -+PICFLAG="-fPIC" -+UNDEFINEDPREAMBLE="extern int X;" -+UNDEFINEDCODE="return X == 0;" - - case "${host}" in - *-*-darwin*) -@@ -5255,6 +5258,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -5306,17 +5314,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then diff --git a/packages/gcc-linaro/4.8-2015.06/0011-arm-softfloat-libgcc.patch b/packages/gcc-linaro/4.8-2015.06/0011-arm-softfloat-libgcc.patch deleted file mode 100644 index 7b0265a..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0011-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -55,7 +55,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc-linaro/4.8-2015.06/0012-arm_unbreak_armv4t.patch b/packages/gcc-linaro/4.8-2015.06/0012-arm_unbreak_armv4t.patch deleted file mode 100644 index 7c37445..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0012-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,17 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- - gcc/config/arm/linux-eabi.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/packages/gcc-linaro/4.8-2015.06/0013-PR57717-E500v2.patch b/packages/gcc-linaro/4.8-2015.06/0013-PR57717-E500v2.patch deleted file mode 100644 index 079a0f2..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0013-PR57717-E500v2.patch +++ /dev/null @@ -1,26 +0,0 @@ -This backports fix from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717 - -Upstream-Status: Backport -Signed-off-by: Julian Brown -[Gustavo: Update for gcc 4.8.3] - -fix for PR57717 (PowerPC E500v2) -http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00668.html - ---- - gcc/config/rs6000/rs6000.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - ---- a/gcc/config/rs6000/rs6000.c -+++ b/gcc/config/rs6000/rs6000.c -@@ -7479,9 +7479,7 @@ - && GET_CODE (XEXP (x, 1)) == CONST_INT - && reg_offset_p - && !SPE_VECTOR_MODE (mode) -- && !(TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode -- || mode == DDmode || mode == TDmode -- || mode == DImode)) -+ && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD) - && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode))) - { - HOST_WIDE_INT val = INTVAL (XEXP (x, 1)); diff --git a/packages/gcc-linaro/4.8-2015.06/0014-PR60155.patch b/packages/gcc-linaro/4.8-2015.06/0014-PR60155.patch deleted file mode 100644 index f9603c8..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0014-PR60155.patch +++ /dev/null @@ -1,115 +0,0 @@ -From gcc bugzilla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60155 -Upstream status: in trunk. - -Signed-off-by: Gustavo Zacarias - ---- - gcc/gcse.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 64 insertions(+), 7 deletions(-) - ---- a/gcc/gcse.c -+++ b/gcc/gcse.c -@@ -2479,6 +2479,65 @@ - } - } - -+struct set_data -+{ -+ rtx insn; -+ const_rtx set; -+ int nsets; -+}; -+ -+/* Increment number of sets and record set in DATA. */ -+ -+static void -+record_set_data (rtx dest, const_rtx set, void *data) -+{ -+ struct set_data *s = (struct set_data *)data; -+ -+ if (GET_CODE (set) == SET) -+ { -+ /* We allow insns having multiple sets, where all but one are -+ dead as single set insns. In the common case only a single -+ set is present, so we want to avoid checking for REG_UNUSED -+ notes unless necessary. */ -+ if (s->nsets == 1 -+ && find_reg_note (s->insn, REG_UNUSED, SET_DEST (s->set)) -+ && !side_effects_p (s->set)) -+ s->nsets = 0; -+ -+ if (!s->nsets) -+ { -+ /* Record this set. */ -+ s->nsets += 1; -+ s->set = set; -+ } -+ else if (!find_reg_note (s->insn, REG_UNUSED, dest) -+ || side_effects_p (set)) -+ s->nsets += 1; -+ } -+} -+ -+static const_rtx -+single_set_gcse (rtx insn) -+{ -+ struct set_data s; -+ rtx pattern; -+ -+ gcc_assert (INSN_P (insn)); -+ -+ /* Optimize common case. */ -+ pattern = PATTERN (insn); -+ if (GET_CODE (pattern) == SET) -+ return pattern; -+ -+ s.insn = insn; -+ s.nsets = 0; -+ note_stores (pattern, record_set_data, &s); -+ -+ /* Considered invariant insns have exactly one set. */ -+ gcc_assert (s.nsets == 1); -+ return s.set; -+} -+ - /* Emit move from SRC to DEST noting the equivalence with expression computed - in INSN. */ - -@@ -2486,7 +2545,8 @@ - gcse_emit_move_after (rtx dest, rtx src, rtx insn) - { - rtx new_rtx; -- rtx set = single_set (insn), set2; -+ const_rtx set = single_set_gcse (insn); -+ rtx set2; - rtx note; - rtx eqv = NULL_RTX; - -@@ -3345,13 +3405,12 @@ - FOR_EACH_VEC_ELT (occrs_to_hoist, j, occr) - { - rtx insn; -- rtx set; -+ const_rtx set; - - gcc_assert (!occr->deleted_p); - - insn = occr->insn; -- set = single_set (insn); -- gcc_assert (set); -+ set = single_set_gcse (insn); - - /* Create a pseudo-reg to store the result of reaching - expressions into. Get the mode for the new pseudo -@@ -3432,10 +3491,8 @@ - { - rtx reg; - enum reg_class pressure_class; -- rtx set = single_set (insn); -+ const_rtx set = single_set_gcse (insn); - -- /* Considered invariant insns have only one set. */ -- gcc_assert (set != NULL_RTX); - reg = SET_DEST (set); - if (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); diff --git a/packages/gcc-linaro/4.8-2015.06/0015-aarch64-vmlaq_lane_s32-typo.patch b/packages/gcc-linaro/4.8-2015.06/0015-aarch64-vmlaq_lane_s32-typo.patch deleted file mode 100644 index d9ecb51..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0015-aarch64-vmlaq_lane_s32-typo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 845478644ba54a6947e9b224f2e5cd342e8257a9 Mon Sep 17 00:00:00 2001 -From: Andrew Hsieh -Date: Wed, 25 Jun 2014 22:13:48 -0700 -Subject: [PATCH] Fix a typo in vmlaq_lane_s32 - -BUG=15526898 - -Change-Id: I4e35a764d369d378808dab29beefe34d1f93249b -Signed-off-by: Peter Korsgaard ---- - ---- - gcc/config/aarch64/arm_neon.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/aarch64/arm_neon.h -+++ b/gcc/config/aarch64/arm_neon.h -@@ -8303,7 +8303,7 @@ - #define vmlaq_lane_s32(a, b, c, d) \ - __extension__ \ - ({ \ -- int32x4_t c_ = (c); \ -+ int32x2_t c_ = (c); \ - int32x4_t b_ = (b); \ - int32x4_t a_ = (a); \ - int32x4_t result; \ diff --git a/packages/gcc-linaro/4.8-2015.06/0016-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/4.8-2015.06/0016-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 21df8cf..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0016-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,257 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - ---- - libstdc++-v3/config/locale/generic/c_locale.h | 2 +- - libstdc++-v3/config/locale/gnu/c_locale.h | 2 +- - libstdc++-v3/include/bits/basic_string.h | 2 +- - libstdc++-v3/include/bits/locale_facets.tcc | 2 +- - libstdc++-v3/include/bits/locale_facets_nonio.tcc | 2 +- - libstdc++-v3/include/c_compatibility/math.h | 2 +- - libstdc++-v3/include/c_compatibility/wchar.h | 2 +- - libstdc++-v3/include/c_global/cstdio | 2 +- - libstdc++-v3/include/c_global/cstdlib | 2 +- - libstdc++-v3/include/c_global/cwchar | 4 ++-- - libstdc++-v3/include/c_std/cstdio | 2 +- - libstdc++-v3/include/c_std/cstdlib | 2 +- - libstdc++-v3/include/c_std/cwchar | 2 +- - libstdc++-v3/include/ext/vstring.h | 2 +- - libstdc++-v3/include/tr1/cstdio | 2 +- - libstdc++-v3/include/tr1/cstdlib | 2 +- - libstdc++-v3/include/tr1/cwchar | 2 +- - libstdc++-v3/include/tr1/stdlib.h | 2 +- - libstdc++-v3/src/c++11/debug.cc | 2 +- - 19 files changed, 20 insertions(+), 20 deletions(-) - ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -2809,7 +2809,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - - #include ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -987,7 +987,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough (most probably sufficient - // for non-ios_base::fixed outputs) - int __cs_size = __max_digits * 3; ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -572,7 +572,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -182,7 +182,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -180,7 +180,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2571,7 +2571,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -787,7 +787,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/packages/gcc-linaro/4.8-2015.06/0017-PR-other-56780.patch b/packages/gcc-linaro/4.8-2015.06/0017-PR-other-56780.patch deleted file mode 100644 index e393ec3..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0017-PR-other-56780.patch +++ /dev/null @@ -1,235 +0,0 @@ -From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001 -From: ian -Date: Sat, 1 Jun 2013 00:20:49 +0000 -Subject: [PATCH] PR other/56780 - -* libiberty/configure.ac: Move test for --enable-install-libiberty -outside of the 'with_target_subdir' test so that it actually gets -run. Add output messages to show the test result. -* libiberty/configure: Regenerate. -* libiberty/Makefile.in (install_to_libdir): Place the -installation of the libiberty library in the same guard as that -used for the headers to prevent it being installed unless -requested via --enable-install-libiberty. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4 - -libiberty: fix --enable-install-libiberty flag [PR 56780] - -Commit 199570 fixed the --disable-install-libiberty behavior, but it also -added a bug where the enable path never works because the initial clear -of target_header_dir wasn't deleted. So we end up initializing properly -at the top only to reset it at the end all the time. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Romain - squash the two upstream commits - Remove the ChangeLog] -Signed-off-by: Romain Naour ---- - libiberty/Makefile.in | 24 ++++++++++---------- - libiberty/configure | 57 ++++++++++++++++++++++++++----------------------- - libiberty/configure.ac | 47 +++++++++++++++++++++------------------- - 3 files changed, 68 insertions(+), 60 deletions(-) - ---- a/libiberty/Makefile.in -+++ b/libiberty/Makefile.in -@@ -355,19 +355,19 @@ - # since it will be passed the multilib flags. - MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` - install_to_libdir: all -- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) -- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n -- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) -- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) - if test -n "${target_header_dir}"; then \ -- case "${target_header_dir}" in \ -- /*) thd=${target_header_dir};; \ -- *) thd=${includedir}/${target_header_dir};; \ -- esac; \ -- ${mkinstalldirs} $(DESTDIR)$${thd}; \ -- for h in ${INSTALLED_HEADERS}; do \ -- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -- done; \ -+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ -+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ -+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ -+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ -+ case "${target_header_dir}" in \ -+ /*) thd=${target_header_dir};; \ -+ *) thd=${includedir}/${target_header_dir};; \ -+ esac; \ -+ ${mkinstalldirs} $(DESTDIR)$${thd}; \ -+ for h in ${INSTALLED_HEADERS}; do \ -+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -+ done; \ - fi - @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install - ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -675,8 +675,8 @@ - with_newlib - enable_maintainer_mode - enable_multilib --enable_largefile - enable_install_libiberty -+enable_largefile - ' - ac_precious_vars='build_alias - host_alias -@@ -1303,8 +1303,8 @@ - enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-multilib build many library versions (default) -+ --enable-install-libiberty Install headers and library for end users - --disable-largefile omit support for large files -- --enable-install-libiberty Install headers for end users - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -2784,6 +2784,35 @@ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5 -+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; } -+ -+# Check whether --enable-install-libiberty was given. -+if test "${enable_install_libiberty+set}" = set; then : -+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval -+else -+ enable_install_libiberty=no -+fi -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5 -+$as_echo "$enable_install_libiberty" >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5 -+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;} -+ - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -5476,7 +5505,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -5759,29 +5787,6 @@ - - esac - -- # We may wish to install the target headers somewhere. -- # Check whether --enable-install-libiberty was given. --if test "${enable_install_libiberty+set}" = set; then : -- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval --else -- enable_install_libiberty=no --fi -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac -@@ -128,6 +128,31 @@ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+AC_MSG_CHECKING([whether to install libiberty headers and static library]) -+dnl install-libiberty is disabled by default -+ -+AC_ARG_ENABLE(install-libiberty, -+[ --enable-install-libiberty Install headers and library for end users], -+enable_install_libiberty=$enableval, -+enable_install_libiberty=no)dnl -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+AC_MSG_RESULT($enable_install_libiberty) -+AC_MSG_NOTICE([target_header_dir = $target_header_dir]) -+ - GCC_NO_EXECUTABLES - AC_PROG_CC - AC_SYS_LARGEFILE -@@ -380,7 +405,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -492,27 +516,6 @@ - - esac - -- # We may wish to install the target headers somewhere. -- AC_ARG_ENABLE(install-libiberty, -- [ --enable-install-libiberty Install headers for end users], -- enable_install_libiberty=$enableval, -- enable_install_libiberty=no)dnl -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. diff --git a/packages/gcc-linaro/4.8-2015.06/0018-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/4.8-2015.06/0018-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index 6a22717..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0018-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -464,6 +464,9 @@ - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return (mode == SImode -@@ -1031,7 +1034,7 @@ - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2415,6 +2418,20 @@ - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -799,8 +799,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -812,15 +812,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -834,21 +835,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -919,7 +921,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -934,8 +936,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -950,13 +952,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -997,7 +1000,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1008,8 +1011,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions diff --git a/packages/gcc-linaro/4.8-2015.06/0019-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/4.8-2015.06/0019-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index 776914d..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0019-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 05154174b369505238b759cf80d595d8cfc8c731 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -33,10 +33,29 @@ - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif -+ retw -+#else -+ mov a8, a8 - retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - - -@@ -58,10 +77,7 @@ - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those diff --git a/packages/gcc-linaro/4.8-2015.06/0020-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc-linaro/4.8-2015.06/0020-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index ef753c1..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0020-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f66206679a0ad604f13673559f230160cd3d1189 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-xtensa | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/t-xtensa -+++ b/libgcc/config/xtensa/t-xtensa -@@ -13,4 +13,4 @@ - LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S - - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c diff --git a/packages/gcc-linaro/4.8-2015.06/0021-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/4.8-2015.06/0021-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index 0fbaeec..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0021-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ diff --git a/packages/gcc-linaro/4.8-2015.06/0022-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/4.8-2015.06/0022-gcc-xtensa-fix-fprintf-format-specifiers.patch deleted file mode 100644 index 52d0ee5..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0022-gcc-xtensa-fix-fprintf-format-specifiers.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0343a584d6b5128908eabf1db43c70bed7114989 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 28 May 2017 19:56:56 -0700 -Subject: [PATCH] gcc: xtensa: fix fprintf format specifiers - -HOST_WIDE_INT may not be long as assumed in print_operand and -xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX -format strings instead of %ld/0x%lx. This fixes incorrect assembly code -generation by the compiler running on armhf host. - -2017-05-28 Max Filippov -gcc/ - * config/xtensa/xtensa.c (xtensa_emit_call): Use - HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. - (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld - format string. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1773,7 +1773,7 @@ - rtx tgt = operands[callop]; - - if (GET_CODE (tgt) == CONST_INT) -- sprintf (result, "call8\t0x%lx", INTVAL (tgt)); -+ sprintf (result, "call8\t" HOST_WIDE_INT_PRINT_HEX, INTVAL (tgt)); - else if (register_operand (tgt, VOIDmode)) - sprintf (result, "callx8\t%%%d", callop); - else -@@ -2348,14 +2348,14 @@ - - case 'L': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f); - else - output_operand_lossage ("invalid %%L value"); - break; - - case 'R': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f); - else - output_operand_lossage ("invalid %%R value"); - break; -@@ -2369,7 +2369,7 @@ - - case 'd': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_operand_lossage ("invalid %%d value"); - break; -@@ -2438,7 +2438,7 @@ - else if (GET_CODE (x) == MEM) - output_address (XEXP (x, 0)); - else if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_addr_const (file, x); - } diff --git a/packages/gcc-linaro/4.8-2015.06/0023-xtensa-fix-PR-target-82181.patch b/packages/gcc-linaro/4.8-2015.06/0023-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 7476071..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0023-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 91f3a82de1e43362a0ab2cb2e1fd6b89c5a00525 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -599,6 +599,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc-linaro/4.8-2015.06/0024-musl-support.patch b/packages/gcc-linaro/4.8-2015.06/0024-musl-support.patch deleted file mode 100644 index 8e36bfb..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0024-musl-support.patch +++ /dev/null @@ -1,628 +0,0 @@ -Add musl support to gcc - -This patch comes from the musl-cross project at -https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version: - - * the config.sub modifications have been removed, because Buildroot - already overwrites all config.sub with a more recent config.sub - that has musl support. - - * change to ensure that a dummy dynamic linker path - MUSL_DYNAMIC_LINKER is defined for all architectures, - otherwise building gcc for architectures not supported by musl was - causing build failure. Bug reported upstream at - https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on. - - * change the USE_PT_GNU_EH_FRAME logic to keep the existing gcc logic - and only add the musl one as an addition, not as a replacement. Not - doing this breaks C++ exception handling with glibc, because - USE_PT_GNU_EH_FRAME doesn't get defined due to the configure script - not testing dl_iterate_phdr() on any system except Solaris. - -Signed-off-by: Thomas Petazzoni -[Gustavo: Update for gcc 4.8.3] - ---- - fixincludes/mkfixinc.sh | 3 - - gcc/config.gcc | 9 ++- - gcc/config/aarch64/aarch64-linux.h | 5 + - gcc/config/arm/linux-eabi.h | 17 +++++ - gcc/config/i386/linux.h | 2 - gcc/config/i386/linux64.h | 7 ++ - gcc/config/linux.h | 111 ++++++++++++++++++++++++++++++++----- - gcc/config/linux.opt | 4 + - gcc/config/microblaze/linux.h | 18 +++++- - gcc/config/mips/linux.h | 8 ++ - gcc/config/mips/linux64.h | 2 - gcc/config/rs6000/linux64.h | 14 +++- - gcc/config/rs6000/secureplt.h | 1 - gcc/config/rs6000/sysv4.h | 16 ++++- - gcc/config/sh/linux.h | 8 ++ - gcc/configure | 3 + - gcc/configure.ac | 3 + - gcc/ginclude/stddef.h | 3 + - libgcc/unwind-dw2-fde-dip.c | 7 ++ - libgomp/config/posix/time.c | 2 - libitm/config/arm/hwcap.cc | 4 + - libitm/config/linux/x86/tls.h | 8 ++ - libstdc++-v3/configure.host | 10 +++ - 23 files changed, 238 insertions(+), 27 deletions(-) - ---- a/fixincludes/mkfixinc.sh -+++ b/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,12 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - -+/* The AArch64 port currently supports two dynamic linkers: -+ - ld-linux-aarch64.so.1 - GLIBC dynamic linker -+ - ld-musl-aarch64.so.1 - musl libc dynamic linker */ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -30,3 +30,10 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#undef MUSL_DYNAMIC_LINKERX32 -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -21,3 +21,5 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -82,23 +87,32 @@ - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" - #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" - -+/* Musl dynamic linker paths must be defined on a per-architecture -+ basis, for each architecture supported by Musl. However, in order -+ to let other architectures continue to build with other C -+ libraries, we provide a dummy definition of the following defines. */ -+#define MUSL_DYNAMIC_LINKER "invalid" -+#define MUSL_DYNAMIC_LINKER32 "invalid" -+#define MUSL_DYNAMIC_LINKER64 "invalid" -+#define MUSL_DYNAMIC_LINKERX32 "invalid" -+ - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Determine whether the entire c99 runtime - is present in the runtime library. */ - #undef TARGET_C99_FUNCTIONS --#define TARGET_C99_FUNCTIONS (OPTION_GLIBC) -+#define TARGET_C99_FUNCTIONS (OPTION_GLIBC || OPTION_MUSL) - - /* Whether we have sincos that follows the GNU extension. */ - #undef TARGET_HAS_SINCOS -@@ -107,3 +121,74 @@ - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) -+ -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library ---- a/gcc/config/microblaze/linux.h -+++ b/gcc/config/microblaze/linux.h -@@ -28,7 +28,23 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } ---- a/gcc/config/mips/linux64.h -+++ b/gcc/config/mips/linux64.h -@@ -29,4 +29,4 @@ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER) ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -18,3 +18,11 @@ - . */ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1" ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -370,17 +370,23 @@ - #endif - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) ---- a/gcc/config/rs6000/secureplt.h -+++ b/gcc/config/rs6000/secureplt.h -@@ -18,3 +18,4 @@ - . */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #define CC1_SPEC "%{G*} %(cc1_cpu)" \ -@@ -585,7 +588,8 @@ - - /* Override the default target of the linker. */ - #define LINK_TARGET_SPEC \ -- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") -+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ -+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -763,15 +767,18 @@ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -894,6 +901,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -43,7 +43,15 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -+#define MUSL_DYNAMIC_LINKER_E "eb" -+#else -+#define MUSL_DYNAMIC_LINKER_E -+#endif -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -559,7 +559,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # Common parts for widely ported systems. - case ${target} in -@@ -662,6 +662,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2142,6 +2145,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi ---- a/gcc/configure -+++ b/gcc/configure -@@ -26969,6 +26969,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4875,6 +4875,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h -@@ -181,6 +181,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -197,6 +198,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) - /* __size_t is a typedef on FreeBSD 5, must not trash it. */ -@@ -214,6 +216,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -75,6 +75,13 @@ - # define USE_PT_GNU_EH_FRAME - #endif - -+/* For musl libc, TARGET_DL_ITERATE_PHDR gets defined by the configure -+ script. */ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ - #if defined(USE_PT_GNU_EH_FRAME) - - #include ---- a/libgomp/config/posix/time.c -+++ b/libgomp/config/posix/time.c -@@ -28,6 +28,8 @@ - The following implementation uses the most simple POSIX routines. - If present, POSIX 4 clocks should be used instead. */ - -+#define _POSIX_C_SOURCE 199309L /* for clocks */ -+ - #include "libgomp.h" - #include - #if TIME_WITH_SYS_TIME ---- a/libitm/config/arm/hwcap.cc -+++ b/libitm/config/arm/hwcap.cc -@@ -40,7 +40,11 @@ - - #ifdef __linux__ - #include -+#ifdef __GLIBC__ - #include -+#else -+#include -+#endif - #include - - static void __attribute__((constructor)) ---- a/libitm/config/linux/x86/tls.h -+++ b/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H ---- a/libstdc++-v3/configure.host -+++ b/libstdc++-v3/configure.host -@@ -263,6 +263,13 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) -+ - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then -@@ -271,6 +278,9 @@ - os_include_dir="os/gnu-linux" - fi - ;; -+ -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; diff --git a/packages/gcc-linaro/4.8-2015.06/0025-cygwin64.patch b/packages/gcc-linaro/4.8-2015.06/0025-cygwin64.patch deleted file mode 100644 index d39236a..0000000 --- a/packages/gcc-linaro/4.8-2015.06/0025-cygwin64.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - gcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -214,7 +214,7 @@ - ;; - esac - ;; -- i[34567]86-*-cygwin*) -+ i[34567]86-*-cygwin* | x86_64-*-cygwin*) - host_xm_file=i386/xm-cygwin.h - out_host_hook_obj=host-cygwin.o - host_xmake_file="${host_xmake_file} i386/x-cygwin" diff --git a/packages/gcc-linaro/4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional b/packages/gcc-linaro/4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index b7094fe..0000000 --- a/packages/gcc-linaro/4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,122 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - ---- - libgcc/Makefile.in | 4 +++- - libgcc/configure | 32 ++++++++++++++++++++++++++++++++ - libgcc/configure.ac | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+), 1 deletion(-) - -Index: gcc-4.8.0/libgcc/Makefile.in -=================================================================== ---- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100 -+++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100 -@@ -41,6 +41,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -927,9 +928,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -Index: gcc-4.8.0/libgcc/configure -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100 -+++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100 -@@ -564,6 +564,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4481,6 +4482,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -Index: gcc-4.8.0/libgcc/configure.ac -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200 -+++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100 -@@ -326,6 +326,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/packages/gcc-linaro/4.8-2015.06/chksum b/packages/gcc-linaro/4.8-2015.06/chksum deleted file mode 100644 index ab6a3ce..0000000 --- a/packages/gcc-linaro/4.8-2015.06/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gcc-linaro-4.8-2015.06.tar.xz b985b5c476b93d616c4a8d13a0acc85f -sha1 gcc-linaro-4.8-2015.06.tar.xz a5aca71d965a6b74d0086c10980ad2158f422e91 -sha256 gcc-linaro-4.8-2015.06.tar.xz f29d497fdd45a3c78597a7cea3397073c50c7167ae8534fc7bbc3470dc775053 -sha512 gcc-linaro-4.8-2015.06.tar.xz 58fc7b09eaf2eb7166013a0e9d7e908bbe399aafc4cf5fcdf230c3cd363be29d4d974ad463ebe5c6e610eb83517d7a8fb3637c9005a035a719232af656648743 diff --git a/packages/gcc-linaro/4.8-2015.06/version.desc b/packages/gcc-linaro/4.8-2015.06/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/gcc-linaro/4.8-2015.06/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/gcc/4.8.5/0000-gcc_bug_62231.patch b/packages/gcc/4.8.5/0000-gcc_bug_62231.patch deleted file mode 100644 index 603e1c2..0000000 --- a/packages/gcc/4.8.5/0000-gcc_bug_62231.patch +++ /dev/null @@ -1,132 +0,0 @@ -As-applied. From: - -https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02625.html - -Linked from bug62231 comment 4 there - ---- - gcc/defaults.h | 5 +++ - gcc/dwarf2cfi.c | 76 +++++++++++++++++++++++++++++++++++----------------- - libgcc/unwind-dw2.c | 4 -- - 3 files changed, 57 insertions(+), 28 deletions(-) - ---- a/gcc/defaults.h -+++ b/gcc/defaults.h -@@ -438,6 +438,11 @@ - #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG) - #endif - -+/* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */ -+#ifndef DWARF_REG_TO_UNWIND_COLUMN -+#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) -+#endif -+ - /* Map register numbers held in the call frame info that gcc has - collected using DWARF_FRAME_REGNUM to those that should be output in - .debug_frame and .eh_frame. */ ---- a/gcc/dwarf2cfi.c -+++ b/gcc/dwarf2cfi.c -@@ -225,7 +225,44 @@ - emit_move_insn (adjust_address (mem, mode, offset), GEN_INT (size)); - } - --/* Generate code to initialize the register size table. */ -+/* Helper for expand_builtin_init_dwarf_reg_sizes. Generate code to -+ initialize the dwarf register size table entry corresponding to register -+ REGNO in REGMODE. TABLE is the table base address, SLOTMODE is the mode -+ to use for the size entry to initialize, and WROTE_RETURN_COLUMN needs to -+ be set to true if the dwarf register number for REGNO is the dwarf return -+ column number. */ -+ -+static -+void init_one_dwarf_reg_size (int regno, enum machine_mode regmode, -+ rtx table, enum machine_mode slotmode, -+ bool *wrote_return_column) -+{ -+ const unsigned int dnum = DWARF_FRAME_REGNUM (regno); -+ const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ const unsigned int dcol = DWARF_REG_TO_UNWIND_COLUMN (rnum); -+ -+ const HOST_WIDE_INT slotoffset = dcol * GET_MODE_SIZE (slotmode); -+ const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode); -+ -+ if (rnum >= DWARF_FRAME_REGISTERS) -+ return; -+ -+ if (dnum == DWARF_FRAME_RETURN_COLUMN) -+ { -+ if (regmode == VOIDmode) -+ return; -+ *wrote_return_column = true; -+ } -+ -+ if (slotoffset < 0) -+ return; -+ -+ emit_move_insn (adjust_address (table, slotmode, slotoffset), -+ gen_int_mode (regsize, slotmode)); -+} -+ -+/* Generate code to initialize the dwarf register size table located -+ at the provided ADDRESS. */ - - void - expand_builtin_init_dwarf_reg_sizes (tree address) -@@ -238,30 +275,21 @@ - - for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - { -- unsigned int dnum = DWARF_FRAME_REGNUM (i); -- unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); -+ enum machine_mode save_mode = reg_raw_mode[i]; -+ rtx span; - -- if (rnum < DWARF_FRAME_REGISTERS) -- { -- HOST_WIDE_INT offset = rnum * GET_MODE_SIZE (mode); -- enum machine_mode save_mode = reg_raw_mode[i]; -- HOST_WIDE_INT size; -- -- if (HARD_REGNO_CALL_PART_CLOBBERED (i, save_mode)) -- save_mode = choose_hard_reg_mode (i, 1, true); -- if (dnum == DWARF_FRAME_RETURN_COLUMN) -- { -- if (save_mode == VOIDmode) -- continue; -- wrote_return_column = true; -- } -- size = GET_MODE_SIZE (save_mode); -- if (offset < 0) -- continue; -- -- emit_move_insn (adjust_address (mem, mode, offset), -- gen_int_mode (size, mode)); -- } -+ span = targetm.dwarf_register_span (gen_rtx_REG (save_mode, i)); -+ if (!span) -+ init_one_dwarf_reg_size (i, save_mode, mem, mode, &wrote_return_column); -+ else -+ { -+ for (int si = 0; si < XVECLEN (span, 0); si++) -+ { -+ rtx reg = XVECEXP (span, 0, si); -+ init_one_dwarf_reg_size -+ (REGNO (reg), GET_MODE (reg), mem, mode, &wrote_return_column); -+ } -+ } - } - - if (!wrote_return_column) ---- a/libgcc/unwind-dw2.c -+++ b/libgcc/unwind-dw2.c -@@ -55,10 +55,6 @@ - #define PRE_GCC3_DWARF_FRAME_REGISTERS DWARF_FRAME_REGISTERS - #endif - --#ifndef DWARF_REG_TO_UNWIND_COLUMN --#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) --#endif -- - /* ??? For the public function interfaces, we tend to gcc_assert that the - column numbers are in range. For the dwarf2 unwind info this does happen, - although so far in a case that doesn't actually matter. diff --git a/packages/gcc/4.8.5/0001-gcc_bug_62231.patch b/packages/gcc/4.8.5/0001-gcc_bug_62231.patch deleted file mode 100644 index 0fed72d..0000000 --- a/packages/gcc/4.8.5/0001-gcc_bug_62231.patch +++ /dev/null @@ -1,21 +0,0 @@ -As-applied. From: - -https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02605.html - -Linked from bug62231 comment 4 there - ---- - gcc/config/rs6000/rs6000.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/rs6000/rs6000.c -+++ b/gcc/config/rs6000/rs6000.c -@@ -1677,7 +1677,7 @@ - SCmode so as to pass the value correctly in a pair of - registers. */ - else if (TARGET_E500_DOUBLE && FLOAT_MODE_P (mode) && mode != SCmode -- && !DECIMAL_FLOAT_MODE_P (mode)) -+ && !DECIMAL_FLOAT_MODE_P (mode) && SPE_SIMD_REGNO_P (regno)) - reg_size = UNITS_PER_FP_WORD; - - else diff --git a/packages/gcc/4.8.5/0002-libtool-leave-framework-alone.patch b/packages/gcc/4.8.5/0002-libtool-leave-framework-alone.patch deleted file mode 100644 index e67e0e8..0000000 --- a/packages/gcc/4.8.5/0002-libtool-leave-framework-alone.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - libtool-ldflags | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/libtool-ldflags -+++ b/libtool-ldflags -@@ -36,6 +36,11 @@ - for arg - do - case $arg in -+ -framework) -+ # libtool handles this option. It should not be prefixed with -+ # -Xcompiler, as that would split it from the argument that -+ # follows. -+ ;; - -f*|--*) - # Libtool does not ascribe any special meaning options - # that begin with -f or with a double-dash. So, it will diff --git a/packages/gcc/4.8.5/0003-uclibc-conf.patch b/packages/gcc/4.8.5/0003-uclibc-conf.patch deleted file mode 100644 index aef750a..0000000 --- a/packages/gcc/4.8.5/0003-uclibc-conf.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - contrib/regression/objs-gcc.sh | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/contrib/regression/objs-gcc.sh -+++ b/contrib/regression/objs-gcc.sh -@@ -106,6 +106,10 @@ - then - make all-gdb all-dejagnu all-ld || exit 1 - make install-gdb install-dejagnu install-ld || exit 1 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] -+ then -+ make all-gdb all-dejagnu all-ld || exit 1 -+ make install-gdb install-dejagnu install-ld || exit 1 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then - make bootstrap || exit 1 - make install || exit 1 diff --git a/packages/gcc/4.8.5/0004-alpha-bad-eh_frame.patch b/packages/gcc/4.8.5/0004-alpha-bad-eh_frame.patch deleted file mode 100644 index f341a06..0000000 --- a/packages/gcc/4.8.5/0004-alpha-bad-eh_frame.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80037 - ---- - libgcc/config/alpha/t-alpha | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/libgcc/config/alpha/t-alpha -+++ b/libgcc/config/alpha/t-alpha -@@ -1,2 +1,6 @@ - # This is a support routine for longlong.h, used by libgcc2.c. - LIB2ADD += $(srcdir)/config/alpha/qrnnd.S -+ -+# When GAS-generated unwind tables are created, they get created -+# after the __FRAME_END__ terminator, which causes an ld error. -+CRTSTUFF_T_CFLAGS = -fno-unwind-tables diff --git a/packages/gcc/4.8.5/0005-pr65730.patch b/packages/gcc/4.8.5/0005-pr65730.patch deleted file mode 100644 index 3cea1a1..0000000 --- a/packages/gcc/4.8.5/0005-pr65730.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 10 Apr 2015 17:46:30 +0300 -Subject: [PATCH] Fix PR target/65730 - -2015-05-20 Max Filippov -gcc/ - * config/xtensa/xtensa.c (init_alignment_context): Replace MULT - by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT). - -Signed-off-by: Max Filippov ---- -Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452 -Changes to ChangeLog are dropped. - - gcc/config/xtensa/xtensa.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1423,8 +1423,9 @@ - if (ac->shift != NULL_RTX) - { - /* Shift is the byte count, but we need the bitcount. */ -- ac->shift = expand_simple_binop (SImode, MULT, ac->shift, -- GEN_INT (BITS_PER_UNIT), -+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0); -+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift, -+ GEN_INT (exact_log2 (BITS_PER_UNIT)), - NULL_RTX, 1, OPTAB_DIRECT); - ac->modemask = expand_simple_binop (SImode, ASHIFT, - GEN_INT (GET_MODE_MASK (mode)), diff --git a/packages/gcc/4.8.5/0006-pr43538.patch b/packages/gcc/4.8.5/0006-pr43538.patch deleted file mode 100644 index c2a2046..0000000 --- a/packages/gcc/4.8.5/0006-pr43538.patch +++ /dev/null @@ -1,20 +0,0 @@ -From c037df1be41f8daf4d581d7ffa4ec8cfa640bccf Mon Sep 17 00:00:00 2001 -From: glisse -Date: Fri, 25 Apr 2014 08:03:08 +0000 -Subject: [PATCH] 2014-04-25 Marc Glisse - - PR target/43538 - * mt-gnu: Don't reset CXXFLAGS_FOR_TARGET. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-gnu | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += -D_GNU_SOURCE diff --git a/packages/gcc/4.8.5/0007-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc/4.8.5/0007-mt-ospace-preserve-FLAGS_FOR_TARGET.patch deleted file mode 100644 index d866661..0000000 --- a/packages/gcc/4.8.5/0007-mt-ospace-preserve-FLAGS_FOR_TARGET.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 9bcf38cd9f382486b3823eb923b50e2e9a89cef7 Mon Sep 17 00:00:00 2001 -From: law -Date: Tue, 18 Nov 2014 22:12:52 +0000 -Subject: [PATCH] 2014-11-17 Bob Dunlop - - * mt-ospace (CFLAGS_FOR_TARGET): Append -g -Os rather than - overwriting. - (CXXFLAGS_FOR_TARGET): Similarly. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217739 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Max Filippov ---- - config/mt-ospace | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/gcc/4.8.5/0008-build_gcc-5_with_gcc-6.patch b/packages/gcc/4.8.5/0008-build_gcc-5_with_gcc-6.patch deleted file mode 100644 index b49d7da..0000000 --- a/packages/gcc/4.8.5/0008-build_gcc-5_with_gcc-6.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001 -From: edlinger -Date: Thu, 25 Feb 2016 15:33:50 +0000 -Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger - - Backported from mainline - 2016-02-19 Jakub Jelinek - Bernd Edlinger - - * Make-lang.in: Invoke gperf with -L C++. - * cfns.gperf: Remove prototypes for hash and libc_name_p - inlines. - * cfns.h: Regenerated. - * except.c (nothrow_libfn_p): Adjust. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/cp/Make-lang.in | 2 +- - gcc/cp/cfns.gperf | 10 ++-------- - gcc/cp/cfns.h | 41 ++++++++++++++--------------------------- - gcc/cp/except.c | 3 ++- - 4 files changed, 19 insertions(+), 37 deletions(-) - ---- a/gcc/cp/cfns.gperf -+++ b/gcc/cp/cfns.gperf -@@ -1,3 +1,5 @@ -+%language=C++ -+%define class-name libc_name - %{ - /* Copyright (C) 2000-2013 Free Software Foundation, Inc. - -@@ -16,14 +18,6 @@ - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - %} - %% - # The standard C library functions, for feeding to gperf; the result is used ---- a/gcc/cp/cfns.h -+++ b/gcc/cp/cfns.h -@@ -1,5 +1,5 @@ --/* ANSI-C code produced by gperf version 3.0.3 */ --/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */ -+/* C++ code produced by gperf version 3.0.4 */ -+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */ - - #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ -@@ -28,7 +28,7 @@ - #error "gperf generated tables don't work with this execution character set. Please report a bug to ." - #endif - --#line 1 "cfns.gperf" -+#line 3 "cfns.gperf" - - /* Copyright (C) 2000-2013 Free Software Foundation, Inc. - -@@ -47,25 +47,18 @@ - You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see - . */ --#ifdef __GNUC__ --__inline --#endif --static unsigned int hash (const char *, unsigned int); --#ifdef __GNUC__ --__inline --#endif --const char * libc_name_p (const char *, unsigned int); - /* maximum key range = 391, duplicates = 0 */ - --#ifdef __GNUC__ --__inline --#else --#ifdef __cplusplus --inline --#endif --#endif --static unsigned int --hash (register const char *str, register unsigned int len) -+class libc_name -+{ -+private: -+ static inline unsigned int hash (const char *str, unsigned int len); -+public: -+ static const char *libc_name_p (const char *str, unsigned int len); -+}; -+ -+inline unsigned int -+libc_name::hash (register const char *str, register unsigned int len) - { - static const unsigned short asso_values[] = - { -@@ -122,14 +115,8 @@ - return hval + asso_values[(unsigned char)str[len - 1]]; - } - --#ifdef __GNUC__ --__inline --#ifdef __GNUC_STDC_INLINE__ --__attribute__ ((__gnu_inline__)) --#endif --#endif - const char * --libc_name_p (register const char *str, register unsigned int len) -+libc_name::libc_name_p (register const char *str, register unsigned int len) - { - enum - { ---- a/gcc/cp/except.c -+++ b/gcc/cp/except.c -@@ -1025,7 +1025,8 @@ - unless the system headers are playing rename tricks, and if - they are, we don't want to be confused by them. */ - id = DECL_NAME (fn); -- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); -+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id), -+ IDENTIFIER_LENGTH (id)); - } - - /* Returns nonzero if an exception of type FROM will be caught by a ---- a/gcc/cp/Make-lang.in -+++ b/gcc/cp/Make-lang.in -@@ -115,7 +115,7 @@ - # deleting the $(srcdir)/cp/cfns.h file. - $(srcdir)/cp/cfns.h: - endif -- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ -+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \ - $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h - - # diff --git a/packages/gcc/4.8.5/0009-missing-execinfo_h.patch b/packages/gcc/4.8.5/0009-missing-execinfo_h.patch deleted file mode 100644 index c90222a..0000000 --- a/packages/gcc/4.8.5/0009-missing-execinfo_h.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - boehm-gc/include/gc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/boehm-gc/include/gc.h -+++ b/boehm-gc/include/gc.h -@@ -503,7 +503,7 @@ - #if defined(__linux__) || defined(__GLIBC__) - # include - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \ -- && !defined(__ia64__) -+ && !defined(__ia64__) && !defined(__UCLIBC__) - # ifndef GC_HAVE_BUILTIN_BACKTRACE - # define GC_HAVE_BUILTIN_BACKTRACE - # endif diff --git a/packages/gcc/4.8.5/0010-libmudflap-susv3-legacy.patch b/packages/gcc/4.8.5/0010-libmudflap-susv3-legacy.patch deleted file mode 100644 index c63f911..0000000 --- a/packages/gcc/4.8.5/0010-libmudflap-susv3-legacy.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- - libmudflap/mf-hooks2.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/libmudflap/mf-hooks2.c -+++ b/libmudflap/mf-hooks2.c -@@ -424,7 +424,7 @@ - { - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region"); -- bzero (s, n); -+ memset (s, 0, n); - } - - -@@ -434,7 +434,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src"); - MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest"); -- bcopy (src, dest, n); -+ memmove (dest, src, n); - } - - -@@ -444,7 +444,7 @@ - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg"); - MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg"); -- return bcmp (s1, s2, n); -+ return n == 0 ? 0 : memcmp (s1, s2, n); - } - - -@@ -453,7 +453,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region"); -- return index (s, c); -+ return strchr (s, c); - } - - -@@ -462,7 +462,7 @@ - size_t n = strlen (s); - TRACE ("%s\n", __PRETTY_FUNCTION__); - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region"); -- return rindex (s, c); -+ return strrchr (s, c); - } - - /* XXX: stpcpy, memccpy */ diff --git a/packages/gcc/4.8.5/0011-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/4.8.5/0011-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch deleted file mode 100644 index e52292c..0000000 --- a/packages/gcc/4.8.5/0011-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch +++ /dev/null @@ -1,107 +0,0 @@ ---- - gcc/configure | 22 +++++++++++++++------- - gcc/configure.ac | 18 +++++++++++++----- - 2 files changed, 28 insertions(+), 12 deletions(-) - ---- a/gcc/configure -+++ b/gcc/configure -@@ -27364,6 +27364,9 @@ - - - pluginlibs= -+PICFLAG="-fPIC" -+UNDEFINEDPREAMBLE="extern int X;" -+UNDEFINEDCODE="return X == 0;" - - case "${host}" in - *-*-darwin*) -@@ -27375,6 +27378,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -27487,23 +27495,23 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fPIC -shared" >&5 --$as_echo_n "checking for -fPIC -shared... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${PICFLAG} -shared" >&5 -+$as_echo_n "checking for ${PICFLAG} -shared... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ --extern int X; -+${UNDEFINEDPREAMBLE} - int - main () - { --return X == 0; -+${UNDEFINEDCODE} - ; - return 0; - } ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -5243,6 +5243,9 @@ - enable_plugin=yes; default_plugin=yes) - - pluginlibs= -+PICFLAG="-fPIC" -+UNDEFINEDPREAMBLE="extern int X;" -+UNDEFINEDCODE="return X == 0;" - - case "${host}" in - *-*-darwin*) -@@ -5254,6 +5257,11 @@ - export_sym_check= - fi - ;; -+ *-*-mingw*|*-*-cygwin*|*-*-msys*) -+ PICFLAG="" -+ UNDEFINEDPREAMBLE="" -+ UNDEFINEDCODE="" -+ ;; - *) - if test x$build = x$host; then - export_sym_check="objdump${exeext} -T" -@@ -5305,17 +5313,17 @@ - case "${host}" in - *-*-darwin*) - CFLAGS=`echo $CFLAGS | sed s/-mdynamic-no-pic//g` -- CFLAGS="$CFLAGS -fPIC" -+ CFLAGS="$CFLAGS ${PICFLAG}" - LDFLAGS="$LDFLAGS -shared -undefined dynamic_lookup" - ;; - *) -- CFLAGS="$CFLAGS -fPIC" -- LDFLAGS="$LDFLAGS -fPIC -shared" -+ CFLAGS="$CFLAGS ${PICFLAG}" -+ LDFLAGS="$LDFLAGS ${PICFLAG} -shared" - ;; - esac -- AC_MSG_CHECKING([for -fPIC -shared]) -+ AC_MSG_CHECKING([for ${PICFLAG} -shared]) - AC_TRY_LINK( -- [extern int X;],[return X == 0;], -+ [${UNDEFINEDPREAMBLE}],[${UNDEFINEDCODE}], - [AC_MSG_RESULT([yes]); have_pic_shared=yes], - [AC_MSG_RESULT([no]); have_pic_shared=no]) - if test x"$have_pic_shared" != x"yes" -o x"$ac_cv_search_dlopen" = x"no"; then diff --git a/packages/gcc/4.8.5/0012-arm-softfloat-libgcc.patch b/packages/gcc/4.8.5/0012-arm-softfloat-libgcc.patch deleted file mode 100644 index 7b0265a..0000000 --- a/packages/gcc/4.8.5/0012-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - gcc/config/arm/linux-elf.h | 2 +- - libgcc/config/arm/t-linux | 7 ++++++- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/config/arm/linux-elf.h -+++ b/gcc/config/arm/linux-elf.h -@@ -55,7 +55,7 @@ - %{shared:-lc} \ - %{!shared:%{profile:-lc_p}%{!profile:-lc}}" - --#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc" -+#define LIBGCC_SPEC "-lgcc" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" - ---- a/libgcc/config/arm/t-linux -+++ b/libgcc/config/arm/t-linux -@@ -1,6 +1,11 @@ - LIB1ASMSRC = arm/lib1funcs.S - LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \ -- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 -+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_addsubdf3 _arm_addsubsf3 \ -+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \ -+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \ -+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \ -+ _arm_fixsfsi _arm_fixunssfsi - - # Just for these, we omit the frame pointer since it makes such a big - # difference. diff --git a/packages/gcc/4.8.5/0013-arm_unbreak_armv4t.patch b/packages/gcc/4.8.5/0013-arm_unbreak_armv4t.patch deleted file mode 100644 index 7c37445..0000000 --- a/packages/gcc/4.8.5/0013-arm_unbreak_armv4t.patch +++ /dev/null @@ -1,17 +0,0 @@ -http://sourceware.org/ml/crossgcc/2008-05/msg00009.html - ---- - gcc/config/arm/linux-eabi.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -45,7 +45,7 @@ - The ARM10TDMI core is the default for armv5t, so set - SUBTARGET_CPU_DEFAULT to achieve this. */ - #undef SUBTARGET_CPU_DEFAULT --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi - - /* TARGET_BIG_ENDIAN_DEFAULT is set in - config.gcc for big endian configurations. */ diff --git a/packages/gcc/4.8.5/0014-PR57717-E500v2.patch b/packages/gcc/4.8.5/0014-PR57717-E500v2.patch deleted file mode 100644 index 079a0f2..0000000 --- a/packages/gcc/4.8.5/0014-PR57717-E500v2.patch +++ /dev/null @@ -1,26 +0,0 @@ -This backports fix from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717 - -Upstream-Status: Backport -Signed-off-by: Julian Brown -[Gustavo: Update for gcc 4.8.3] - -fix for PR57717 (PowerPC E500v2) -http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00668.html - ---- - gcc/config/rs6000/rs6000.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - ---- a/gcc/config/rs6000/rs6000.c -+++ b/gcc/config/rs6000/rs6000.c -@@ -7479,9 +7479,7 @@ - && GET_CODE (XEXP (x, 1)) == CONST_INT - && reg_offset_p - && !SPE_VECTOR_MODE (mode) -- && !(TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode -- || mode == DDmode || mode == TDmode -- || mode == DImode)) -+ && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD) - && (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode))) - { - HOST_WIDE_INT val = INTVAL (XEXP (x, 1)); diff --git a/packages/gcc/4.8.5/0015-PR60155.patch b/packages/gcc/4.8.5/0015-PR60155.patch deleted file mode 100644 index f9603c8..0000000 --- a/packages/gcc/4.8.5/0015-PR60155.patch +++ /dev/null @@ -1,115 +0,0 @@ -From gcc bugzilla https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60155 -Upstream status: in trunk. - -Signed-off-by: Gustavo Zacarias - ---- - gcc/gcse.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 64 insertions(+), 7 deletions(-) - ---- a/gcc/gcse.c -+++ b/gcc/gcse.c -@@ -2479,6 +2479,65 @@ - } - } - -+struct set_data -+{ -+ rtx insn; -+ const_rtx set; -+ int nsets; -+}; -+ -+/* Increment number of sets and record set in DATA. */ -+ -+static void -+record_set_data (rtx dest, const_rtx set, void *data) -+{ -+ struct set_data *s = (struct set_data *)data; -+ -+ if (GET_CODE (set) == SET) -+ { -+ /* We allow insns having multiple sets, where all but one are -+ dead as single set insns. In the common case only a single -+ set is present, so we want to avoid checking for REG_UNUSED -+ notes unless necessary. */ -+ if (s->nsets == 1 -+ && find_reg_note (s->insn, REG_UNUSED, SET_DEST (s->set)) -+ && !side_effects_p (s->set)) -+ s->nsets = 0; -+ -+ if (!s->nsets) -+ { -+ /* Record this set. */ -+ s->nsets += 1; -+ s->set = set; -+ } -+ else if (!find_reg_note (s->insn, REG_UNUSED, dest) -+ || side_effects_p (set)) -+ s->nsets += 1; -+ } -+} -+ -+static const_rtx -+single_set_gcse (rtx insn) -+{ -+ struct set_data s; -+ rtx pattern; -+ -+ gcc_assert (INSN_P (insn)); -+ -+ /* Optimize common case. */ -+ pattern = PATTERN (insn); -+ if (GET_CODE (pattern) == SET) -+ return pattern; -+ -+ s.insn = insn; -+ s.nsets = 0; -+ note_stores (pattern, record_set_data, &s); -+ -+ /* Considered invariant insns have exactly one set. */ -+ gcc_assert (s.nsets == 1); -+ return s.set; -+} -+ - /* Emit move from SRC to DEST noting the equivalence with expression computed - in INSN. */ - -@@ -2486,7 +2545,8 @@ - gcse_emit_move_after (rtx dest, rtx src, rtx insn) - { - rtx new_rtx; -- rtx set = single_set (insn), set2; -+ const_rtx set = single_set_gcse (insn); -+ rtx set2; - rtx note; - rtx eqv = NULL_RTX; - -@@ -3345,13 +3405,12 @@ - FOR_EACH_VEC_ELT (occrs_to_hoist, j, occr) - { - rtx insn; -- rtx set; -+ const_rtx set; - - gcc_assert (!occr->deleted_p); - - insn = occr->insn; -- set = single_set (insn); -- gcc_assert (set); -+ set = single_set_gcse (insn); - - /* Create a pseudo-reg to store the result of reaching - expressions into. Get the mode for the new pseudo -@@ -3432,10 +3491,8 @@ - { - rtx reg; - enum reg_class pressure_class; -- rtx set = single_set (insn); -+ const_rtx set = single_set_gcse (insn); - -- /* Considered invariant insns have only one set. */ -- gcc_assert (set != NULL_RTX); - reg = SET_DEST (set); - if (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); diff --git a/packages/gcc/4.8.5/0016-aarch64-vmlaq_lane_s32-typo.patch b/packages/gcc/4.8.5/0016-aarch64-vmlaq_lane_s32-typo.patch deleted file mode 100644 index e827b43..0000000 --- a/packages/gcc/4.8.5/0016-aarch64-vmlaq_lane_s32-typo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 845478644ba54a6947e9b224f2e5cd342e8257a9 Mon Sep 17 00:00:00 2001 -From: Andrew Hsieh -Date: Wed, 25 Jun 2014 22:13:48 -0700 -Subject: [PATCH] Fix a typo in vmlaq_lane_s32 - -BUG=15526898 - -Change-Id: I4e35a764d369d378808dab29beefe34d1f93249b -Signed-off-by: Peter Korsgaard ---- - ---- - gcc/config/aarch64/arm_neon.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config/aarch64/arm_neon.h -+++ b/gcc/config/aarch64/arm_neon.h -@@ -9984,7 +9984,7 @@ - #define vmlaq_lane_s32(a, b, c, d) \ - __extension__ \ - ({ \ -- int32x4_t c_ = (c); \ -+ int32x2_t c_ = (c); \ - int32x4_t b_ = (b); \ - int32x4_t a_ = (a); \ - int32x4_t result; \ diff --git a/packages/gcc/4.8.5/0017-libstdcxx-uclibc-c99.patch b/packages/gcc/4.8.5/0017-libstdcxx-uclibc-c99.patch deleted file mode 100644 index 21df8cf..0000000 --- a/packages/gcc/4.8.5/0017-libstdcxx-uclibc-c99.patch +++ /dev/null @@ -1,257 +0,0 @@ -Allow C99-depending features of libstdc++ with uClibc - -The libstdc++ code is fairly restrictive on how it checks for C99 -compatibility: it requires *complete* C99 support to enable certain -features. For example, uClibc provides a good number of C99 features, -but not C99 complex number support. For this reason, libstdc++ -completely disables many the standard C++ methods that can in fact -work because uClibc provides the necessary functions. - -This patch is similar and highly inspired from -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in -a way that doesn't involve changing the configure.ac script, as -autoreconfiguring gcc is complicated. It simply relies on the fact -that uClibc defines the __UCLIBC__ definition. - -Signed-off-by: Thomas Petazzoni - ---- - libstdc++-v3/config/locale/generic/c_locale.h | 2 +- - libstdc++-v3/config/locale/gnu/c_locale.h | 2 +- - libstdc++-v3/include/bits/basic_string.h | 2 +- - libstdc++-v3/include/bits/locale_facets.tcc | 2 +- - libstdc++-v3/include/bits/locale_facets_nonio.tcc | 2 +- - libstdc++-v3/include/c_compatibility/math.h | 2 +- - libstdc++-v3/include/c_compatibility/wchar.h | 2 +- - libstdc++-v3/include/c_global/cstdio | 2 +- - libstdc++-v3/include/c_global/cstdlib | 2 +- - libstdc++-v3/include/c_global/cwchar | 4 ++-- - libstdc++-v3/include/c_std/cstdio | 2 +- - libstdc++-v3/include/c_std/cstdlib | 2 +- - libstdc++-v3/include/c_std/cwchar | 2 +- - libstdc++-v3/include/ext/vstring.h | 2 +- - libstdc++-v3/include/tr1/cstdio | 2 +- - libstdc++-v3/include/tr1/cstdlib | 2 +- - libstdc++-v3/include/tr1/cwchar | 2 +- - libstdc++-v3/include/tr1/stdlib.h | 2 +- - libstdc++-v3/src/c++11/debug.cc | 2 +- - 19 files changed, 20 insertions(+), 20 deletions(-) - ---- a/libstdc++-v3/config/locale/generic/c_locale.h -+++ b/libstdc++-v3/config/locale/generic/c_locale.h -@@ -70,7 +70,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/config/locale/gnu/c_locale.h -+++ b/libstdc++-v3/config/locale/gnu/c_locale.h -@@ -88,7 +88,7 @@ - __builtin_va_list __args; - __builtin_va_start(__args, __fmt); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); - #else - const int __ret = __builtin_vsprintf(__out, __fmt, __args); ---- a/libstdc++-v3/include/bits/basic_string.h -+++ b/libstdc++-v3/include/bits/basic_string.h -@@ -2809,7 +2809,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - - #include ---- a/libstdc++-v3/include/bits/locale_facets.tcc -+++ b/libstdc++-v3/include/bits/locale_facets.tcc -@@ -987,7 +987,7 @@ - char __fbuf[16]; - __num_base::_S_format_float(__io, __fbuf, __mod); - --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough (most probably sufficient - // for non-ios_base::fixed outputs) - int __cs_size = __max_digits * 3; ---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc -+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc -@@ -572,7 +572,7 @@ - { - const locale __loc = __io.getloc(); - const ctype<_CharT>& __ctype = use_facet >(__loc); --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - // First try a buffer perhaps big enough. - int __cs_size = 64; - char* __cs = static_cast(__builtin_alloca(__cs_size)); ---- a/libstdc++-v3/include/c_compatibility/math.h -+++ b/libstdc++-v3/include/c_compatibility/math.h -@@ -56,7 +56,7 @@ - using std::floor; - using std::fmod; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::fpclassify; - using std::isfinite; - using std::isinf; ---- a/libstdc++-v3/include/c_compatibility/wchar.h -+++ b/libstdc++-v3/include/c_compatibility/wchar.h -@@ -103,7 +103,7 @@ - using std::wmemset; - using std::wcsftime; - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_global/cstdlib -+++ b/libstdc++-v3/include/c_global/cstdlib -@@ -182,7 +182,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_global/cwchar -+++ b/libstdc++-v3/include/c_global/cwchar -@@ -232,7 +232,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll -@@ -289,7 +289,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/c_std/cstdio -+++ b/libstdc++-v3/include/c_std/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace std - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf ---- a/libstdc++-v3/include/c_std/cstdlib -+++ b/libstdc++-v3/include/c_std/cstdlib -@@ -180,7 +180,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef _Exit - #undef llabs ---- a/libstdc++-v3/include/c_std/cwchar -+++ b/libstdc++-v3/include/c_std/cwchar -@@ -228,7 +228,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef wcstold - #undef wcstoll ---- a/libstdc++-v3/include/ext/vstring.h -+++ b/libstdc++-v3/include/ext/vstring.h -@@ -2571,7 +2571,7 @@ - _GLIBCXX_END_NAMESPACE_VERSION - } // namespace - --#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) -+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))) - - #include - ---- a/libstdc++-v3/include/tr1/cstdio -+++ b/libstdc++-v3/include/tr1/cstdio -@@ -33,7 +33,7 @@ - - #include - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cstdlib -+++ b/libstdc++-v3/include/tr1/cstdlib -@@ -35,7 +35,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - namespace std _GLIBCXX_VISIBILITY(default) - { ---- a/libstdc++-v3/include/tr1/cwchar -+++ b/libstdc++-v3/include/tr1/cwchar -@@ -52,7 +52,7 @@ - using std::vwscanf; - #endif - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - using std::wcstold; - using std::wcstoll; - using std::wcstoull; ---- a/libstdc++-v3/include/tr1/stdlib.h -+++ b/libstdc++-v3/include/tr1/stdlib.h -@@ -33,7 +33,7 @@ - - #if _GLIBCXX_HOSTED - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - using std::tr1::atoll; - using std::tr1::strtoll; ---- a/libstdc++-v3/src/c++11/debug.cc -+++ b/libstdc++-v3/src/c++11/debug.cc -@@ -787,7 +787,7 @@ - int __n __attribute__ ((__unused__)), - const char* __fmt, _Tp __s) const throw () - { --#ifdef _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - std::snprintf(__buf, __n, __fmt, __s); - #else - std::sprintf(__buf, __fmt, __s); ---- a/libstdc++-v3/include/c_global/cstdio -+++ b/libstdc++-v3/include/c_global/cstdio -@@ -139,7 +139,7 @@ - using ::vsprintf; - } // namespace - --#if _GLIBCXX_USE_C99 -+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__) - - #undef snprintf - #undef vfscanf diff --git a/packages/gcc/4.8.5/0018-PR-other-56780.patch b/packages/gcc/4.8.5/0018-PR-other-56780.patch deleted file mode 100644 index e393ec3..0000000 --- a/packages/gcc/4.8.5/0018-PR-other-56780.patch +++ /dev/null @@ -1,235 +0,0 @@ -From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001 -From: ian -Date: Sat, 1 Jun 2013 00:20:49 +0000 -Subject: [PATCH] PR other/56780 - -* libiberty/configure.ac: Move test for --enable-install-libiberty -outside of the 'with_target_subdir' test so that it actually gets -run. Add output messages to show the test result. -* libiberty/configure: Regenerate. -* libiberty/Makefile.in (install_to_libdir): Place the -installation of the libiberty library in the same guard as that -used for the headers to prevent it being installed unless -requested via --enable-install-libiberty. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4 - -libiberty: fix --enable-install-libiberty flag [PR 56780] - -Commit 199570 fixed the --disable-install-libiberty behavior, but it also -added a bug where the enable path never works because the initial clear -of target_header_dir wasn't deleted. So we end up initializing properly -at the top only to reset it at the end all the time. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4 - -[Romain - squash the two upstream commits - Remove the ChangeLog] -Signed-off-by: Romain Naour ---- - libiberty/Makefile.in | 24 ++++++++++---------- - libiberty/configure | 57 ++++++++++++++++++++++++++----------------------- - libiberty/configure.ac | 47 +++++++++++++++++++++------------------- - 3 files changed, 68 insertions(+), 60 deletions(-) - ---- a/libiberty/Makefile.in -+++ b/libiberty/Makefile.in -@@ -355,19 +355,19 @@ - # since it will be passed the multilib flags. - MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` - install_to_libdir: all -- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) -- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n -- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) -- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) - if test -n "${target_header_dir}"; then \ -- case "${target_header_dir}" in \ -- /*) thd=${target_header_dir};; \ -- *) thd=${includedir}/${target_header_dir};; \ -- esac; \ -- ${mkinstalldirs} $(DESTDIR)$${thd}; \ -- for h in ${INSTALLED_HEADERS}; do \ -- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -- done; \ -+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ -+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ -+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ -+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ -+ case "${target_header_dir}" in \ -+ /*) thd=${target_header_dir};; \ -+ *) thd=${includedir}/${target_header_dir};; \ -+ esac; \ -+ ${mkinstalldirs} $(DESTDIR)$${thd}; \ -+ for h in ${INSTALLED_HEADERS}; do \ -+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ -+ done; \ - fi - @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install - ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -675,8 +675,8 @@ - with_newlib - enable_maintainer_mode - enable_multilib --enable_largefile - enable_install_libiberty -+enable_largefile - ' - ac_precious_vars='build_alias - host_alias -@@ -1303,8 +1303,8 @@ - enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-multilib build many library versions (default) -+ --enable-install-libiberty Install headers and library for end users - --disable-largefile omit support for large files -- --enable-install-libiberty Install headers for end users - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -2784,6 +2784,35 @@ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5 -+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; } -+ -+# Check whether --enable-install-libiberty was given. -+if test "${enable_install_libiberty+set}" = set; then : -+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval -+else -+ enable_install_libiberty=no -+fi -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5 -+$as_echo "$enable_install_libiberty" >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5 -+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;} -+ - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -5476,7 +5505,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -5759,29 +5787,6 @@ - - esac - -- # We may wish to install the target headers somewhere. -- # Check whether --enable-install-libiberty was given. --if test "${enable_install_libiberty+set}" = set; then : -- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval --else -- enable_install_libiberty=no --fi -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac -@@ -128,6 +128,31 @@ - cross_compiling=maybe - fi - -+# We may wish to install the target headers somewhere. -+AC_MSG_CHECKING([whether to install libiberty headers and static library]) -+dnl install-libiberty is disabled by default -+ -+AC_ARG_ENABLE(install-libiberty, -+[ --enable-install-libiberty Install headers and library for end users], -+enable_install_libiberty=$enableval, -+enable_install_libiberty=no)dnl -+ -+# Option parsed, now set things appropriately. -+case x"$enable_install_libiberty" in -+ xyes|x) -+ target_header_dir=libiberty -+ ;; -+ xno) -+ target_header_dir= -+ ;; -+ *) -+ # This could be sanity-checked in various ways... -+ target_header_dir="${enable_install_libiberty}" -+ ;; -+esac -+AC_MSG_RESULT($enable_install_libiberty) -+AC_MSG_NOTICE([target_header_dir = $target_header_dir]) -+ - GCC_NO_EXECUTABLES - AC_PROG_CC - AC_SYS_LARGEFILE -@@ -380,7 +405,6 @@ - - setobjs= - CHECK= --target_header_dir= - if test -n "${with_target_subdir}"; then - - # We are being configured as a target library. AC_REPLACE_FUNCS -@@ -492,27 +516,6 @@ - - esac - -- # We may wish to install the target headers somewhere. -- AC_ARG_ENABLE(install-libiberty, -- [ --enable-install-libiberty Install headers for end users], -- enable_install_libiberty=$enableval, -- enable_install_libiberty=no)dnl -- -- # Option parsed, now set things appropriately. -- case x"$enable_install_libiberty" in -- xyes|x) -- target_header_dir=libiberty -- ;; -- xno) -- target_header_dir= -- ;; -- *) -- # This could be sanity-checked in various ways... -- target_header_dir="${enable_install_libiberty}" -- ;; -- esac -- -- - else - - # Not a target library, so we set things up to run the test suite. diff --git a/packages/gcc/4.8.5/0019-xtensa-add-mauto-litpools-option.patch b/packages/gcc/4.8.5/0019-xtensa-add-mauto-litpools-option.patch deleted file mode 100644 index 6a22717..0000000 --- a/packages/gcc/4.8.5/0019-xtensa-add-mauto-litpools-option.patch +++ /dev/null @@ -1,273 +0,0 @@ -From 6d852ffb43b111a39162135c95249e749c4e285b Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 6 Aug 2015 01:16:02 +0300 -Subject: [PATCH] xtensa: add -mauto-litpools option - -With support from assembler this option allows compiling huge functions, -where single literal pool at the beginning of a function may not be -reachable by L32R instructions at its end. - -Currently assembler --auto-litpools option cannot deal with literals -used from multiple locations separated by more than 256 KBytes of code. -Don't turn constants into literals, instead use MOVI instruction to load -them into registers and let the assembler turn them into literals as -necessary. - -2015-08-12 Max Filippov -gcc/ - * config/xtensa/constraints.md (define_constraint "Y"): New - constraint. - * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools. - * config/xtensa/linux.h (ASM_SPEC): Likewise. - * config/xtensa/predicates.md (move_operand): Match constants - and symbols in the presence of TARGET_AUTO_LITPOOLS. - * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow - immediate references to TLS data. - (xtensa_emit_move_sequence): Don't force constants to memory in - the presence of TARGET_AUTO_LITPOOLS. - (print_operand): Add 'y' format, same as default, but capable of - printing SF mode constants as well. - * config/xtensa/xtensa.md (movsi_internal, movhi_internal) - (movsf_internal): Add movi pattern that loads literal. - (movsf, movdf): Don't force constants to memory in the presence - of TARGET_AUTO_LITPOOLS. - (movdf_internal): Add 'Y' constraint. - * config/xtensa/xtensa.opt (mauto-litpools): New option. - -Signed-off-by: Max Filippov ---- -Backported from: r226828 -Changes to ChangeLogs and documentation are dropped. - - gcc/config/xtensa/constraints.md | 5 +++++ - gcc/config/xtensa/elf.h | 4 +++- - gcc/config/xtensa/linux.h | 4 +++- - gcc/config/xtensa/predicates.md | 3 ++- - gcc/config/xtensa/xtensa.c | 19 ++++++++++++++++++- - gcc/config/xtensa/xtensa.md | 35 +++++++++++++++++++---------------- - gcc/config/xtensa/xtensa.opt | 4 ++++ - 7 files changed, 54 insertions(+), 20 deletions(-) - ---- a/gcc/config/xtensa/constraints.md -+++ b/gcc/config/xtensa/constraints.md -@@ -111,6 +111,11 @@ - (and (match_code "const_int") - (match_test "xtensa_mask_immediate (ival)"))) - -+(define_constraint "Y" -+ "A constant that can be used in relaxed MOVI instructions." -+ (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -+ (match_test "TARGET_AUTO_LITPOOLS"))) -+ - ;; Memory constraints. Do not use define_memory_constraint here. Doing so - ;; causes reload to force some constants into the constant pool, but since - ;; the Xtensa constant pool can only be accessed with L32R instructions, it ---- a/gcc/config/xtensa/elf.h -+++ b/gcc/config/xtensa/elf.h -@@ -48,7 +48,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #undef LIB_SPEC - #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" ---- a/gcc/config/xtensa/linux.h -+++ b/gcc/config/xtensa/linux.h -@@ -42,7 +42,9 @@ - %{mtarget-align:--target-align} \ - %{mno-target-align:--no-target-align} \ - %{mlongcalls:--longcalls} \ -- %{mno-longcalls:--no-longcalls}" -+ %{mno-longcalls:--no-longcalls} \ -+ %{mauto-litpools:--auto-litpools} \ -+ %{mno-auto-litpools:--no-auto-litpools}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - ---- a/gcc/config/xtensa/predicates.md -+++ b/gcc/config/xtensa/predicates.md -@@ -142,7 +142,8 @@ - (match_test "GET_MODE_CLASS (mode) == MODE_INT - && xtensa_simm12b (INTVAL (op))")) - (and (match_code "const_int,const_double,const,symbol_ref,label_ref") -- (match_test "TARGET_CONST16 && CONSTANT_P (op) -+ (match_test "(TARGET_CONST16 || TARGET_AUTO_LITPOOLS) -+ && CONSTANT_P (op) - && GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0"))))) - - ;; Accept the floating point constant 1 in the appropriate mode. ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -464,6 +464,9 @@ - { - int dst_regnum = xt_true_regnum (operands[0]); - -+ if (xtensa_tls_referenced_p (operands[1])) -+ return FALSE; -+ - /* The stack pointer can only be assigned with a MOVSP opcode. */ - if (dst_regnum == STACK_POINTER_REGNUM) - return (mode == SImode -@@ -1031,7 +1034,7 @@ - return 1; - } - -- if (! TARGET_CONST16) -+ if (! TARGET_AUTO_LITPOOLS && ! TARGET_CONST16) - { - src = force_const_mem (SImode, src); - operands[1] = src; -@@ -2415,6 +2418,20 @@ - } - break; - -+ case 'y': -+ if (GET_CODE (x) == CONST_DOUBLE && -+ GET_MODE (x) == SFmode) -+ { -+ REAL_VALUE_TYPE r; -+ long l; -+ REAL_VALUE_FROM_CONST_DOUBLE (r, x); -+ REAL_VALUE_TO_TARGET_SINGLE (r, l); -+ fprintf (file, "0x%08lx", l); -+ break; -+ } -+ -+ /* fall through */ -+ - default: - if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG) - fprintf (file, "%s", reg_names[xt_true_regnum (x)]); ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -799,8 +799,8 @@ - }) - - (define_insn "movsi_internal" -- [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,W,a,a,U,*a,*A") -- (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,i,T,U,r,*A,*r"))] -+ [(set (match_operand:SI 0 "nonimmed_operand" "=D,D,D,D,R,R,a,q,a,a,W,a,a,U,*a,*A") -+ (match_operand:SI 1 "move_operand" "M,D,d,R,D,d,r,r,I,Y,i,T,U,r,*A,*r"))] - "xtensa_valid_move (SImode, operands)" - "@ - movi.n\t%0, %x1 -@@ -812,15 +812,16 @@ - mov\t%0, %1 - movsp\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,load,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,load,store,store,move,move,move,move,move,load,load,store,rsr,wsr") - (set_attr "mode" "SI") -- (set_attr "length" "2,2,2,2,2,2,3,3,3,6,3,3,3,3,3")]) -+ (set_attr "length" "2,2,2,2,2,2,3,3,3,3,6,3,3,3,3,3")]) - - ;; 16-bit Integer moves - -@@ -834,21 +835,22 @@ - }) - - (define_insn "movhi_internal" -- [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,U,*a,*A") -- (match_operand:HI 1 "move_operand" "M,d,r,I,U,r,*A,*r"))] -+ [(set (match_operand:HI 0 "nonimmed_operand" "=D,D,a,a,a,a,U,*a,*A") -+ (match_operand:HI 1 "move_operand" "M,d,r,I,Y,U,r,*A,*r"))] - "xtensa_valid_move (HImode, operands)" - "@ - movi.n\t%0, %x1 - mov.n\t%0, %1 - mov\t%0, %1 - movi\t%0, %x1 -+ movi\t%0, %1 - %v1l16ui\t%0, %1 - %v0s16i\t%1, %0 - rsr\t%0, ACCLO - wsr\t%1, ACCLO" -- [(set_attr "type" "move,move,move,move,load,store,rsr,wsr") -+ [(set_attr "type" "move,move,move,move,move,load,store,rsr,wsr") - (set_attr "mode" "HI") -- (set_attr "length" "2,2,3,3,3,3,3,3")]) -+ (set_attr "length" "2,2,3,3,3,3,3,3,3")]) - - ;; 8-bit Integer moves - -@@ -919,7 +921,7 @@ - (match_operand:SF 1 "general_operand" ""))] - "" - { -- if (!TARGET_CONST16 && CONSTANT_P (operands[1])) -+ if (!TARGET_CONST16 && !TARGET_AUTO_LITPOOLS && CONSTANT_P (operands[1])) - operands[1] = force_const_mem (SFmode, operands[1]); - - if ((!register_operand (operands[0], SFmode) -@@ -934,8 +936,8 @@ - }) - - (define_insn "movsf_internal" -- [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,W,a,a,U") -- (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,iF,T,U,r"))] -+ [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,D,R,a,f,a,a,W,a,a,U") -+ (match_operand:SF 1 "move_operand" "f,U,f,d,R,d,r,r,f,Y,iF,T,U,r"))] - "((register_operand (operands[0], SFmode) - || register_operand (operands[1], SFmode)) - && !(FP_REG_P (xt_true_regnum (operands[0])) -@@ -950,13 +952,14 @@ - mov\t%0, %1 - wfr\t%0, %1 - rfr\t%0, %1 -+ movi\t%0, %y1 - const16\t%0, %t1\;const16\t%0, %b1 - %v1l32r\t%0, %1 - %v1l32i\t%0, %1 - %v0s32i\t%1, %0" -- [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,load,load,store") -+ [(set_attr "type" "farith,fload,fstore,move,load,store,move,farith,farith,move,move,load,load,store") - (set_attr "mode" "SF") -- (set_attr "length" "3,3,3,2,2,2,3,3,3,6,3,3,3")]) -+ (set_attr "length" "3,3,3,2,2,2,3,3,3,3,6,3,3,3")]) - - (define_insn "*lsiu" - [(set (match_operand:SF 0 "register_operand" "=f") -@@ -997,7 +1000,7 @@ - (match_operand:DF 1 "general_operand" ""))] - "" - { -- if (CONSTANT_P (operands[1]) && !TARGET_CONST16) -+ if (CONSTANT_P (operands[1]) && !TARGET_CONST16 && !TARGET_AUTO_LITPOOLS) - operands[1] = force_const_mem (DFmode, operands[1]); - - if (!register_operand (operands[0], DFmode) -@@ -1008,8 +1011,8 @@ - }) - - (define_insn_and_split "movdf_internal" -- [(set (match_operand:DF 0 "nonimmed_operand" "=a,W,a,a,U") -- (match_operand:DF 1 "move_operand" "r,iF,T,U,r"))] -+ [(set (match_operand:DF 0 "nonimmed_operand" "=a,a,W,a,a,U") -+ (match_operand:DF 1 "move_operand" "r,Y,iF,T,U,r"))] - "register_operand (operands[0], DFmode) - || register_operand (operands[1], DFmode)" - "#" ---- a/gcc/config/xtensa/xtensa.opt -+++ b/gcc/config/xtensa/xtensa.opt -@@ -38,6 +38,10 @@ - Target - Intersperse literal pools with code in the text section - -+mauto-litpools -+Target Report Mask(AUTO_LITPOOLS) -+Relax literals in assembler and place them automatically in the text section -+ - mserialize-volatile - Target Report Mask(SERIALIZE_VOLATILE) - -mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions diff --git a/packages/gcc/4.8.5/0020-xtensa-reimplement-register-spilling.patch b/packages/gcc/4.8.5/0020-xtensa-reimplement-register-spilling.patch deleted file mode 100644 index 776914d..0000000 --- a/packages/gcc/4.8.5/0020-xtensa-reimplement-register-spilling.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 05154174b369505238b759cf80d595d8cfc8c731 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Mon, 10 Aug 2015 21:35:20 +0300 -Subject: [PATCH 1/3] xtensa: reimplement register spilling - -Spilling windowed registers in userspace is much easier, more portable, -less error-prone and equally effective as in kernel. Now that register -spilling syscall is considered obsolete in the xtensa linux kernel -replace it with CALL12 followed by series of ENTRY in libgcc. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use - CALL12 followed by series of ENTRY to spill windowed registers. - (__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill - instead of making linux spill syscall. - -Signed-off-by: Max Filippov ---- -Backported from: r226962 - - libgcc/config/xtensa/lib2funcs.S | 30 +++++++++++++++++++++++------- - 1 file changed, 23 insertions(+), 7 deletions(-) - ---- a/libgcc/config/xtensa/lib2funcs.S -+++ b/libgcc/config/xtensa/lib2funcs.S -@@ -33,10 +33,29 @@ - .global __xtensa_libgcc_window_spill - .type __xtensa_libgcc_window_spill,@function - __xtensa_libgcc_window_spill: -- entry sp, 32 -- movi a2, 0 -- syscall -+ entry sp, 48 -+#if XCHAL_NUM_AREGS > 16 -+ call12 1f -+ retw -+ .align 4 -+1: -+ .rept (XCHAL_NUM_AREGS - 24) / 12 -+ _entry sp, 48 -+ mov a12, a0 -+ .endr -+ _entry sp, 16 -+#if XCHAL_NUM_AREGS % 12 == 0 -+ mov a4, a4 -+#elif XCHAL_NUM_AREGS % 12 == 4 -+ mov a8, a8 -+#elif XCHAL_NUM_AREGS % 12 == 8 -+ mov a12, a12 -+#endif -+ retw -+#else -+ mov a8, a8 - retw -+#endif - .size __xtensa_libgcc_window_spill, .-__xtensa_libgcc_window_spill - - -@@ -58,10 +77,7 @@ - entry sp, 32 - - /* Flush registers. */ -- mov a5, a2 -- movi a2, 0 -- syscall -- mov a2, a5 -+ call8 __xtensa_libgcc_window_spill - - /* Because the save area for a0-a3 is stored one frame below - the one identified by a2, the only way to restore those diff --git a/packages/gcc/4.8.5/0021-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc/4.8.5/0021-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch deleted file mode 100644 index ef753c1..0000000 --- a/packages/gcc/4.8.5/0021-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f66206679a0ad604f13673559f230160cd3d1189 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Fri, 14 Aug 2015 02:45:02 +0300 -Subject: [PATCH 2/3] xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde - -This allows having exception cleanup code in binaries that don't -register their unwind tables. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde - with unwind-dw2-fde-dip. - -Signed-off-by: Max Filippov ---- -Backported from: r226963 - - libgcc/config/xtensa/t-xtensa | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/t-xtensa -+++ b/libgcc/config/xtensa/t-xtensa -@@ -13,4 +13,4 @@ - LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S - - LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \ -- $(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c -+ $(srcdir)/unwind-dw2-fde-dip.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c diff --git a/packages/gcc/4.8.5/0022-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc/4.8.5/0022-xtensa-fix-_Unwind_GetCFA.patch deleted file mode 100644 index 0fbaeec..0000000 --- a/packages/gcc/4.8.5/0022-xtensa-fix-_Unwind_GetCFA.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 15c7c4d39b317f0d902ef28fd43eca5c3369f891 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sat, 15 Aug 2015 05:12:11 +0300 -Subject: [PATCH 3/3] xtensa: fix _Unwind_GetCFA - -Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame -higher than what was actually used by code at context->ra. This results -in invalid CFA value in signal frames and premature unwinding completion -in forced unwinding used by uClibc NPTL thread cancellation. -Returning context->sp from _Unwind_GetCFA makes all CFA values valid and -matching code that used them. - -2015-08-18 Max Filippov -libgcc/ - * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return - context->sp instead of context->cfa. - -Signed-off-by: Max Filippov ---- -Backported from: r226964 - - libgcc/config/xtensa/unwind-dw2-xtensa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libgcc/config/xtensa/unwind-dw2-xtensa.c -+++ b/libgcc/config/xtensa/unwind-dw2-xtensa.c -@@ -130,7 +130,7 @@ - _Unwind_Word - _Unwind_GetCFA (struct _Unwind_Context *context) - { -- return (_Unwind_Ptr) context->cfa; -+ return (_Unwind_Ptr) context->sp; - } - - /* Overwrite the saved value for register INDEX in CONTEXT with VAL. */ diff --git a/packages/gcc/4.8.5/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/4.8.5/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch deleted file mode 100644 index 52d0ee5..0000000 --- a/packages/gcc/4.8.5/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0343a584d6b5128908eabf1db43c70bed7114989 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 28 May 2017 19:56:56 -0700 -Subject: [PATCH] gcc: xtensa: fix fprintf format specifiers - -HOST_WIDE_INT may not be long as assumed in print_operand and -xtensa_emit_call. Use HOST_WIDE_INT_PRINT_DEC/HOST_WIDE_INT_PRINT_HEX -format strings instead of %ld/0x%lx. This fixes incorrect assembly code -generation by the compiler running on armhf host. - -2017-05-28 Max Filippov -gcc/ - * config/xtensa/xtensa.c (xtensa_emit_call): Use - HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. - (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld - format string. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1773,7 +1773,7 @@ - rtx tgt = operands[callop]; - - if (GET_CODE (tgt) == CONST_INT) -- sprintf (result, "call8\t0x%lx", INTVAL (tgt)); -+ sprintf (result, "call8\t" HOST_WIDE_INT_PRINT_HEX, INTVAL (tgt)); - else if (register_operand (tgt, VOIDmode)) - sprintf (result, "callx8\t%%%d", callop); - else -@@ -2348,14 +2348,14 @@ - - case 'L': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", (32 - INTVAL (x)) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, (32 - INTVAL (x)) & 0x1f); - else - output_operand_lossage ("invalid %%L value"); - break; - - case 'R': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x) & 0x1f); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x) & 0x1f); - else - output_operand_lossage ("invalid %%R value"); - break; -@@ -2369,7 +2369,7 @@ - - case 'd': - if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_operand_lossage ("invalid %%d value"); - break; -@@ -2438,7 +2438,7 @@ - else if (GET_CODE (x) == MEM) - output_address (XEXP (x, 0)); - else if (GET_CODE (x) == CONST_INT) -- fprintf (file, "%ld", INTVAL (x)); -+ fprintf (file, HOST_WIDE_INT_PRINT_DEC, INTVAL (x)); - else - output_addr_const (file, x); - } diff --git a/packages/gcc/4.8.5/0024-xtensa-fix-PR-target-82181.patch b/packages/gcc/4.8.5/0024-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 7476071..0000000 --- a/packages/gcc/4.8.5/0024-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 91f3a82de1e43362a0ab2cb2e1fd6b89c5a00525 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -599,6 +599,7 @@ - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - diff --git a/packages/gcc/4.8.5/0025-musl-support.patch b/packages/gcc/4.8.5/0025-musl-support.patch deleted file mode 100644 index 22b292c..0000000 --- a/packages/gcc/4.8.5/0025-musl-support.patch +++ /dev/null @@ -1,628 +0,0 @@ -Add musl support to gcc - -This patch comes from the musl-cross project at -https://bitbucket.org/GregorR/musl-cross/src. Compared to the upstream version: - - * the config.sub modifications have been removed, because Buildroot - already overwrites all config.sub with a more recent config.sub - that has musl support. - - * change to ensure that a dummy dynamic linker path - MUSL_DYNAMIC_LINKER is defined for all architectures, - otherwise building gcc for architectures not supported by musl was - causing build failure. Bug reported upstream at - https://bitbucket.org/GregorR/musl-gcc-patches/issue/4/musl-gcc-patches-break-the-build-on. - - * change the USE_PT_GNU_EH_FRAME logic to keep the existing gcc logic - and only add the musl one as an addition, not as a replacement. Not - doing this breaks C++ exception handling with glibc, because - USE_PT_GNU_EH_FRAME doesn't get defined due to the configure script - not testing dl_iterate_phdr() on any system except Solaris. - -Signed-off-by: Thomas Petazzoni -[Gustavo: Update for gcc 4.8.3] - ---- - fixincludes/mkfixinc.sh | 3 - - gcc/config.gcc | 9 ++- - gcc/config/aarch64/aarch64-linux.h | 5 + - gcc/config/arm/linux-eabi.h | 17 +++++ - gcc/config/i386/linux.h | 2 - gcc/config/i386/linux64.h | 7 ++ - gcc/config/linux.h | 111 ++++++++++++++++++++++++++++++++----- - gcc/config/linux.opt | 4 + - gcc/config/microblaze/linux.h | 18 +++++- - gcc/config/mips/linux.h | 8 ++ - gcc/config/mips/linux64.h | 2 - gcc/config/rs6000/linux64.h | 14 +++- - gcc/config/rs6000/secureplt.h | 1 - gcc/config/rs6000/sysv4.h | 16 ++++- - gcc/config/sh/linux.h | 8 ++ - gcc/configure | 3 + - gcc/configure.ac | 3 + - gcc/ginclude/stddef.h | 3 + - libgcc/unwind-dw2-fde-dip.c | 7 ++ - libgomp/config/posix/time.c | 2 - libitm/config/arm/hwcap.cc | 4 + - libitm/config/linux/x86/tls.h | 8 ++ - libstdc++-v3/configure.host | 10 +++ - 23 files changed, 238 insertions(+), 27 deletions(-) - ---- a/fixincludes/mkfixinc.sh -+++ b/fixincludes/mkfixinc.sh -@@ -19,7 +19,8 @@ - powerpc-*-eabi* | \ - powerpc-*-rtems* | \ - powerpcle-*-eabisim* | \ -- powerpcle-*-eabi* ) -+ powerpcle-*-eabi* | \ -+ *-musl* ) - # IF there is no include fixing, - # THEN create a no-op fixer and exit - (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} ---- a/gcc/config/aarch64/aarch64-linux.h -+++ b/gcc/config/aarch64/aarch64-linux.h -@@ -21,7 +21,12 @@ - #ifndef GCC_AARCH64_LINUX_H - #define GCC_AARCH64_LINUX_H - -+/* The AArch64 port currently supports two dynamic linkers: -+ - ld-linux-aarch64.so.1 - GLIBC dynamic linker -+ - ld-musl-aarch64.so.1 - musl libc dynamic linker */ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64.so.1" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64.so.1" - - #define CPP_SPEC "%{pthread:-D_REENTRANT}" - ---- a/gcc/config/arm/linux-eabi.h -+++ b/gcc/config/arm/linux-eabi.h -@@ -77,6 +77,23 @@ - %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \ - %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}" - -+/* For ARM musl currently supports four dynamic linkers: -+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI -+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI -+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB -+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB -+ musl does not support the legacy OABI mode. -+ All the dynamic linkers live in /lib. -+ We default to soft-float, EL. */ -+#undef MUSL_DYNAMIC_LINKER -+#if TARGET_BIG_ENDIAN_DEFAULT -+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" -+#endif -+#define MUSL_DYNAMIC_LINKER \ -+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1" -+ - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to - use the GNU/Linux version, not the generic BPABI version. */ - #undef LINK_SPEC ---- a/gcc/config/i386/linux64.h -+++ b/gcc/config/i386/linux64.h -@@ -30,3 +30,10 @@ - #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" - #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" -+ -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" -+#undef MUSL_DYNAMIC_LINKERX32 -+#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" ---- a/gcc/config/i386/linux.h -+++ b/gcc/config/i386/linux.h -@@ -21,3 +21,5 @@ - - #define GNU_USER_LINK_EMULATION "elf_i386" - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" ---- a/gcc/config/linux.h -+++ b/gcc/config/linux.h -@@ -32,10 +32,12 @@ - #define OPTION_GLIBC (DEFAULT_LIBC == LIBC_GLIBC) - #define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC) - #define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC) -+#define OPTION_MUSL (DEFAULT_LIBC == LIBC_MUSL) - #else - #define OPTION_GLIBC (linux_libc == LIBC_GLIBC) - #define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC) - #define OPTION_BIONIC (linux_libc == LIBC_BIONIC) -+#define OPTION_MUSL (linux_libc == LIBC_MUSL) - #endif - - #define GNU_USER_TARGET_OS_CPP_BUILTINS() \ -@@ -53,18 +55,21 @@ - uClibc or Bionic is the default C library and whether - -muclibc or -mglibc or -mbionic has been passed to change the default. */ - --#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3) \ -- "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}" -+#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ -+ "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" - - #if DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) - #elif DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) - #elif DEFAULT_LIBC == LIBC_BIONIC --#define CHOOSE_DYNAMIC_LINKER(G, U, B) \ -- CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U) -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ -+ CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) - #else - #error "Unsupported DEFAULT_LIBC" - #endif /* DEFAULT_LIBC */ -@@ -82,23 +87,32 @@ - #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" - #define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" - -+/* Musl dynamic linker paths must be defined on a per-architecture -+ basis, for each architecture supported by Musl. However, in order -+ to let other architectures continue to build with other C -+ libraries, we provide a dummy definition of the following defines. */ -+#define MUSL_DYNAMIC_LINKER "invalid" -+#define MUSL_DYNAMIC_LINKER32 "invalid" -+#define MUSL_DYNAMIC_LINKER64 "invalid" -+#define MUSL_DYNAMIC_LINKERX32 "invalid" -+ - #define GNU_USER_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ -- BIONIC_DYNAMIC_LINKER) -+ BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - #define GNU_USER_DYNAMIC_LINKER32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ -- BIONIC_DYNAMIC_LINKER32) -+ BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ -- BIONIC_DYNAMIC_LINKER64) -+ BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - #define GNU_USER_DYNAMIC_LINKERX32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ -- BIONIC_DYNAMIC_LINKERX32) -+ BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) - - /* Determine whether the entire c99 runtime - is present in the runtime library. */ - #undef TARGET_C99_FUNCTIONS --#define TARGET_C99_FUNCTIONS (OPTION_GLIBC) -+#define TARGET_C99_FUNCTIONS (OPTION_GLIBC || OPTION_MUSL) - - /* Whether we have sincos that follows the GNU extension. */ - #undef TARGET_HAS_SINCOS -@@ -107,3 +121,74 @@ - /* Whether we have Bionic libc runtime */ - #undef TARGET_HAS_BIONIC - #define TARGET_HAS_BIONIC (OPTION_BIONIC) -+ -+/* musl avoids problematic includes by rearranging the include directories. -+ * Unfortunately, this is mostly duplicated from cppdefault.c */ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define INCLUDE_DEFAULTS_MUSL_GPP \ -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, -+ -+#ifdef LOCAL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_LOCAL \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ -+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_LOCAL -+#endif -+ -+#ifdef PREFIX_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_PREFIX -+#endif -+ -+#ifdef CROSS_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_CROSS \ -+ { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#ifdef TOOL_INCLUDE_DIR -+#define INCLUDE_DEFAULTS_MUSL_TOOL \ -+ { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, -+#else -+#define INCLUDE_DEFAULTS_MUSL_TOOL -+#endif -+ -+#ifdef NATIVE_SYSTEM_HEADER_DIR -+#define INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ -+ { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, -+#else -+#define INCLUDE_DEFAULTS_MUSL_NATIVE -+#endif -+ -+#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) -+# undef INCLUDE_DEFAULTS_MUSL_LOCAL -+# define INCLUDE_DEFAULTS_MUSL_LOCAL -+# undef INCLUDE_DEFAULTS_MUSL_NATIVE -+# define INCLUDE_DEFAULTS_MUSL_NATIVE -+#else -+# undef INCLUDE_DEFAULTS_MUSL_CROSS -+# define INCLUDE_DEFAULTS_MUSL_CROSS -+#endif -+ -+#undef INCLUDE_DEFAULTS -+#define INCLUDE_DEFAULTS \ -+ { \ -+ INCLUDE_DEFAULTS_MUSL_GPP \ -+ INCLUDE_DEFAULTS_MUSL_PREFIX \ -+ INCLUDE_DEFAULTS_MUSL_CROSS \ -+ INCLUDE_DEFAULTS_MUSL_TOOL \ -+ INCLUDE_DEFAULTS_MUSL_NATIVE \ -+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ -+ { 0, 0, 0, 0, 0, 0 } \ -+ } -+#endif ---- a/gcc/config/linux.opt -+++ b/gcc/config/linux.opt -@@ -30,3 +30,7 @@ - muclibc - Target Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mbionic) - Use uClibc C library -+ -+mmusl -+Target Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mglibc) -+Use musl C library ---- a/gcc/config/microblaze/linux.h -+++ b/gcc/config/microblaze/linux.h -@@ -28,7 +28,23 @@ - #undef TLS_NEEDS_GOT - #define TLS_NEEDS_GOT 1 - --#define DYNAMIC_LINKER "/lib/ld.so.1" -+#if TARGET_BIG_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+ -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-microblaze" MUSL_DYNAMIC_LINKER_E ".so.1" -+#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if DEFAULT_LIBC == LIBC_MUSL -+#define DYNAMIC_LINKER MUSL_DYNAMIC_LINKER -+#else -+#define DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER -+#endif -+ -+ - #undef SUBTARGET_EXTRA_SPECS - #define SUBTARGET_EXTRA_SPECS \ - { "dynamic_linker", DYNAMIC_LINKER } ---- a/gcc/config/mips/linux64.h -+++ b/gcc/config/mips/linux64.h -@@ -29,4 +29,4 @@ - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ -- BIONIC_DYNAMIC_LINKERN32) -+ BIONIC_DYNAMIC_LINKERN32, MUSL_DYNAMIC_LINKER) ---- a/gcc/config/mips/linux.h -+++ b/gcc/config/mips/linux.h -@@ -18,3 +18,11 @@ - . */ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" -+ -+#if TARGET_ENDIAN_DEFAULT == 0 /* LE */ -+#define MUSL_DYNAMIC_LINKER_E "%{EB:;:el}" -+#else -+#define MUSL_DYNAMIC_LINKER_E "%{EL:el}" -+#endif -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-mips" MUSL_DYNAMIC_LINKER_E ".so.1" ---- a/gcc/config/rs6000/linux64.h -+++ b/gcc/config/rs6000/linux64.h -@@ -370,17 +370,23 @@ - #endif - #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" - #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" -+#undef MUSL_DYNAMIC_LINKER32 -+#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-powerpc.so.1" -+#undef MUSL_DYNAMIC_LINKER64 -+#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-powerpc64.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" - #elif DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER32 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) - #define GNU_USER_DYNAMIC_LINKER64 \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) - - #undef DEFAULT_ASM_ENDIAN - #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) ---- a/gcc/config/rs6000/secureplt.h -+++ b/gcc/config/rs6000/secureplt.h -@@ -18,3 +18,4 @@ - . */ - - #define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt" -+#define LINK_SECURE_PLT_DEFAULT_SPEC "--secure-plt" ---- a/gcc/config/rs6000/sysv4.h -+++ b/gcc/config/rs6000/sysv4.h -@@ -537,6 +537,9 @@ - #ifndef CC1_SECURE_PLT_DEFAULT_SPEC - #define CC1_SECURE_PLT_DEFAULT_SPEC "" - #endif -+#ifndef LINK_SECURE_PLT_DEFAULT_SPEC -+#define LINK_SECURE_PLT_DEFAULT_SPEC "" -+#endif - - /* Pass -G xxx to the compiler. */ - #define CC1_SPEC "%{G*} %(cc1_cpu)" \ -@@ -585,7 +588,8 @@ - - /* Override the default target of the linker. */ - #define LINK_TARGET_SPEC \ -- ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") -+ ENDIAN_SELECT("", " --oformat elf32-powerpcle", "") \ -+ "%{!mbss-plt: %{!msecure-plt: %(link_secure_plt_default)}}" - - /* Any specific OS flags. */ - #define LINK_OS_SPEC "\ -@@ -763,15 +767,18 @@ - - #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-powerpc.so.1" - #if DEFAULT_LIBC == LIBC_UCLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" -+#elif DEFAULT_LIBC == LIBC_MUSL -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" - #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC --#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" -+#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" - #else - #error "Unsupported DEFAULT_LIBC" - #endif - #define GNU_USER_DYNAMIC_LINKER \ -- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) -+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) - - #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ - %{rdynamic:-export-dynamic} \ -@@ -894,6 +901,7 @@ - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ - { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ - { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ -+ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ - { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ - { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ - { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ ---- a/gcc/config/sh/linux.h -+++ b/gcc/config/sh/linux.h -@@ -43,7 +43,15 @@ - - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack - -+#if TARGET_BIG_ENDIAN_DEFAULT /* BE */ -+#define MUSL_DYNAMIC_LINKER_E "eb" -+#else -+#define MUSL_DYNAMIC_LINKER_E -+#endif -+ - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" -+#undef MUSL_DYNAMIC_LINKER -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E ".so.1" - - #undef SUBTARGET_LINK_EMUL_SUFFIX - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux" ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -550,7 +550,7 @@ - esac - - # Common C libraries. --tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3" -+tm_defines="$tm_defines LIBC_GLIBC=1 LIBC_UCLIBC=2 LIBC_BIONIC=3 LIBC_MUSL=4" - - # Common parts for widely ported systems. - case ${target} in -@@ -653,6 +653,9 @@ - *-*-*uclibc*) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC" - ;; -+ *-*-*musl*) -+ tm_defines="$tm_defines DEFAULT_LIBC=LIBC_MUSL" -+ ;; - *) - tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC" - ;; -@@ -2145,6 +2148,10 @@ - powerpc*-*-linux*paired*) - tm_file="${tm_file} rs6000/750cl.h" ;; - esac -+ case ${target} in -+ *-linux*-musl*) -+ enable_secureplt=yes ;; -+ esac - if test x${enable_secureplt} = xyes; then - tm_file="rs6000/secureplt.h ${tm_file}" - fi ---- a/gcc/configure -+++ b/gcc/configure -@@ -26967,6 +26967,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4874,6 +4874,9 @@ - gcc_cv_target_dl_iterate_phdr=no - fi - ;; -+ *-linux-musl*) -+ gcc_cv_target_dl_iterate_phdr=yes -+ ;; - esac - GCC_TARGET_TEMPLATE([TARGET_DL_ITERATE_PHDR]) - if test x$gcc_cv_target_dl_iterate_phdr = xyes; then ---- a/gcc/ginclude/stddef.h -+++ b/gcc/ginclude/stddef.h -@@ -181,6 +181,7 @@ - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ - #ifndef __size_t -+#ifndef __DEFINED_size_t /* musl */ - #define __size_t__ /* BeOS */ - #define __SIZE_T__ /* Cray Unicos/Mk */ - #define _SIZE_T -@@ -197,6 +198,7 @@ - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ -+#define __DEFINED_size_t /* musl */ - #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) - /* __size_t is a typedef on FreeBSD 5, must not trash it. */ -@@ -214,6 +216,7 @@ - typedef long ssize_t; - #endif /* __BEOS__ */ - #endif /* !(defined (__GNUG__) && defined (size_t)) */ -+#endif /* __DEFINED_size_t */ - #endif /* __size_t */ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -75,6 +75,13 @@ - # define USE_PT_GNU_EH_FRAME - #endif - -+/* For musl libc, TARGET_DL_ITERATE_PHDR gets defined by the configure -+ script. */ -+#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \ -+ && defined(TARGET_DL_ITERATE_PHDR) -+# define USE_PT_GNU_EH_FRAME -+#endif -+ - #if defined(USE_PT_GNU_EH_FRAME) - - #include ---- a/libgomp/config/posix/time.c -+++ b/libgomp/config/posix/time.c -@@ -28,6 +28,8 @@ - The following implementation uses the most simple POSIX routines. - If present, POSIX 4 clocks should be used instead. */ - -+#define _POSIX_C_SOURCE 199309L /* for clocks */ -+ - #include "libgomp.h" - #include - #if TIME_WITH_SYS_TIME ---- a/libitm/config/arm/hwcap.cc -+++ b/libitm/config/arm/hwcap.cc -@@ -40,7 +40,11 @@ - - #ifdef __linux__ - #include -+#ifdef __GLIBC__ - #include -+#else -+#include -+#endif - #include - - static void __attribute__((constructor)) ---- a/libitm/config/linux/x86/tls.h -+++ b/libitm/config/linux/x86/tls.h -@@ -25,16 +25,19 @@ - #ifndef LIBITM_X86_TLS_H - #define LIBITM_X86_TLS_H 1 - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - /* Use slots in the TCB head rather than __thread lookups. - GLIBC has reserved words 10 through 13 for TM. */ - #define HAVE_ARCH_GTM_THREAD 1 - #define HAVE_ARCH_GTM_THREAD_DISP 1 - #endif -+#endif - - #include "config/generic/tls.h" - --#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 10) -+#if defined(__GLIBC_PREREQ) -+#if __GLIBC_PREREQ(2, 10) - namespace GTM HIDDEN { - - #ifdef __x86_64__ -@@ -101,5 +104,6 @@ - - } // namespace GTM - #endif /* >= GLIBC 2.10 */ -+#endif - - #endif // LIBITM_X86_TLS_H ---- a/libstdc++-v3/configure.host -+++ b/libstdc++-v3/configure.host -@@ -263,6 +263,13 @@ - os_include_dir="os/bsd/freebsd" - ;; - gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) -+ # check for musl by target -+ case "${host_os}" in -+ *-musl*) -+ os_include_dir="os/generic" -+ ;; -+ *) -+ - if [ "$uclibc" = "yes" ]; then - os_include_dir="os/uclibc" - elif [ "$bionic" = "yes" ]; then -@@ -271,6 +278,9 @@ - os_include_dir="os/gnu-linux" - fi - ;; -+ -+ esac -+ ;; - hpux*) - os_include_dir="os/hpux" - ;; diff --git a/packages/gcc/4.8.5/0026-cygwin64.patch b/packages/gcc/4.8.5/0026-cygwin64.patch deleted file mode 100644 index d39236a..0000000 --- a/packages/gcc/4.8.5/0026-cygwin64.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - gcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/gcc/config.host -+++ b/gcc/config.host -@@ -214,7 +214,7 @@ - ;; - esac - ;; -- i[34567]86-*-cygwin*) -+ i[34567]86-*-cygwin* | x86_64-*-cygwin*) - host_xm_file=i386/xm-cygwin.h - out_host_hook_obj=host-cygwin.o - host_xmake_file="${host_xmake_file} i386/x-cygwin" diff --git a/packages/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional b/packages/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional deleted file mode 100644 index b7094fe..0000000 --- a/packages/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional +++ /dev/null @@ -1,122 +0,0 @@ -http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html - -On glibc the libc.so carries a copy of the math function copysignl() but -on uClibc math functions like copysignl() live in libm. Since libgcc_s -contains unresolved symbols, any attempt to link against libgcc_s -without explicitely specifying -lm fails, resulting in a broken -bootstrap of the compiler. - -Forward port to gcc 4.5.1 by Gustavo Zacarias - ---- - libgcc/Makefile.in | 4 +++- - libgcc/configure | 32 ++++++++++++++++++++++++++++++++ - libgcc/configure.ac | 21 +++++++++++++++++++++ - 3 files changed, 56 insertions(+), 1 deletion(-) - -Index: gcc-4.8.0/libgcc/Makefile.in -=================================================================== ---- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100 -+++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100 -@@ -41,6 +41,7 @@ - decimal_float = @decimal_float@ - enable_decimal_float = @enable_decimal_float@ - fixed_point = @fixed_point@ -+LIBGCC_LIBM = @LIBGCC_LIBM@ - - host_noncanonical = @host_noncanonical@ - target_noncanonical = @target_noncanonical@ -@@ -927,9 +928,10 @@ - @multilib_dir@,$(MULTIDIR),$(subst \ - @shlib_objs@,$(objects) libgcc.a,$(subst \ - @shlib_base_name@,libgcc_s,$(subst \ -+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \ - @shlib_map_file@,$(mapfile),$(subst \ - @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \ -- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))) -+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))) - - libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) - # @multilib_flags@ is still needed because this may use -Index: gcc-4.8.0/libgcc/configure -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100 -+++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100 -@@ -564,6 +564,7 @@ - tmake_file - sfp_machine_header - set_use_emutls -+LIBGCC_LIBM - set_have_cc_tls - vis_hide - fixed_point -@@ -4481,6 +4482,37 @@ - fi - fi - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+echo "$as_me:$LINENO: checking for library containing copysignl" >&5 -+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6 -+if test "${libgcc_cv_copysignl_lib+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ -+fi -+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5 -+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6 -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac - - # Conditionalize the makefile for this target machine. - tmake_file_= -Index: gcc-4.8.0/libgcc/configure.ac -=================================================================== ---- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200 -+++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100 -@@ -326,6 +326,27 @@ - fi - AC_SUBST(set_have_cc_tls) - -+# On powerpc libgcc_s references copysignl which is a libm function but -+# glibc apparently also provides it via libc as opposed to uClibc where -+# it lives in libm. -+AC_CACHE_CHECK -+ libgcc_cv_copysignl_lib, -+ echo '#include ' > conftest.c -+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c -+ libgcc_cv_copysignl_lib="-lc" -+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD) -+ then -+ libgcc_cv_copysignl_lib="-lm" -+ fi -+ rm -f conftest.* -+ ]) -+ -+case /${libgcc_cv_copysignl_lib}/ in -+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;; -+ *) LIBGCC_LIBM= ;; -+esac -+AC_SUBST(LIBGCC_LIBM) -+ - # See if we have emulated thread-local storage. - GCC_CHECK_EMUTLS - set_use_emutls= diff --git a/packages/gcc/4.8.5/chksum b/packages/gcc/4.8.5/chksum deleted file mode 100644 index 8a57bfb..0000000 --- a/packages/gcc/4.8.5/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gcc-4.8.5.tar.bz2 80d2c2982a3392bb0b89673ff136e223 -sha1 gcc-4.8.5.tar.bz2 de144b551f10e23d82f30ecd2d6d0e18c26f8850 -sha256 gcc-4.8.5.tar.bz2 22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23 -sha512 gcc-4.8.5.tar.bz2 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea -md5 gcc-4.8.5.tar.gz bfe56e74d31d25009c8fb55fd3ca7e01 -sha1 gcc-4.8.5.tar.gz 50d09a74cbd4a80a06652beafea8453684518808 -sha256 gcc-4.8.5.tar.gz 1dbc5cd94c9947fe5dffd298e569de7f44c3cedbd428fceea59490d336d8295a -sha512 gcc-4.8.5.tar.gz a012e06f975f82c053a9671483173bceeff4d9efc6a6d6e51304ef2a09a86c40f8088e23465f1d729276a34031bb1655cacef9f8a960f6206a3382dd0dc431e9 diff --git a/packages/gcc/4.8.5/version.desc b/packages/gcc/4.8.5/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/gcc/4.8.5/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' -- cgit v0.10.2-6-g49f6 From 793b2503458b874e58c9d7fafc68686ecb9fd071 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: gettext: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - gettext-0.19.7 Signed-off-by: Chris Packham diff --git a/packages/gettext/0.19.7/0000-Fix-linker-error-redefinition-of-vasprintf.patch b/packages/gettext/0.19.7/0000-Fix-linker-error-redefinition-of-vasprintf.patch deleted file mode 100644 index 5e63290..0000000 --- a/packages/gettext/0.19.7/0000-Fix-linker-error-redefinition-of-vasprintf.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a76649dae62768d0af7017b3fc0ca5f891588c78 Mon Sep 17 00:00:00 2001 -From: Andoni Morales Alastruey -Date: Wed, 29 Feb 2012 10:44:43 +0100 -Subject: [PATCH] Fix linker error: redefinition of vasprintf - -This might not be the best patch, but it works for us -The link error was: -.libs/autosprintf.o:autosprintf.cc:(.text$vasprintf[_vasprintf]+0x0): multiple definition of `_vasprintf' -.libs/lib-asprintf.o:lib-asprintf.c:(.text+0x4621): first defined here ---- - gettext-runtime/libasprintf/autosprintf.cc | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/gettext-runtime/libasprintf/autosprintf.cc -+++ b/gettext-runtime/libasprintf/autosprintf.cc -@@ -19,8 +19,10 @@ - This must come before because may include - , and once has been included, it's too late. */ - #ifndef _GNU_SOURCE -+#ifndef _WIN32 - # define _GNU_SOURCE 1 - #endif -+#endif - - /* Specification. */ - #include "autosprintf.h" diff --git a/packages/gettext/0.19.7/0001-Fix-Woe32-link-errors-when-compiling-with-O0.patch b/packages/gettext/0.19.7/0001-Fix-Woe32-link-errors-when-compiling-with-O0.patch deleted file mode 100644 index 5c91418..0000000 --- a/packages/gettext/0.19.7/0001-Fix-Woe32-link-errors-when-compiling-with-O0.patch +++ /dev/null @@ -1,353 +0,0 @@ -From d4ecf6f15ad7a428786df2efdc88b03be0a4fdbb Mon Sep 17 00:00:00 2001 -From: Daiki Ueno -Date: Thu, 17 Jan 2013 18:33:40 +0900 -Subject: [PATCH] Fix Woe32 link errors when compiling with -O0. - ---- - gettext-tools/src/Makefile.am | 18 +++- - gettext-tools/src/Makefile.in | 108 ++++++++++++++++++------- - gettext-tools/src/color.c | 1 - gettext-tools/woe32dll/c++color.cc | 1 - gettext-tools/woe32dll/c++file-ostream.cc | 2 - gettext-tools/woe32dll/c++html-ostream.cc | 1 - gettext-tools/woe32dll/c++styled-ostream.cc | 1 - gettext-tools/woe32dll/c++term-ostream.cc | 1 - gettext-tools/woe32dll/c++write-catalog.cc | 1 - gettext-tools/woe32dll/c++write-po.cc | 1 - gettext-tools/woe32dll/c++write-properties.cc | 1 - gettext-tools/woe32dll/c++write-stringtable.cc | 1 - gnulib-local/modules/file-ostream | 4 - gnulib-local/modules/html-ostream | 4 - gnulib-local/modules/ostream | 4 - gnulib-local/modules/styled-ostream | 4 - gnulib-local/modules/term-ostream | 4 - 17 files changed, 126 insertions(+), 31 deletions(-) - create mode 100644 gettext-tools/woe32dll/c++color.cc - create mode 100644 gettext-tools/woe32dll/c++file-ostream.cc - create mode 100644 gettext-tools/woe32dll/c++html-ostream.cc - create mode 100644 gettext-tools/woe32dll/c++styled-ostream.cc - create mode 100644 gettext-tools/woe32dll/c++term-ostream.cc - create mode 100644 gettext-tools/woe32dll/c++write-catalog.cc - create mode 100644 gettext-tools/woe32dll/c++write-po.cc - create mode 100644 gettext-tools/woe32dll/c++write-properties.cc - create mode 100644 gettext-tools/woe32dll/c++write-stringtable.cc - -Additional fix (COLOR_SOURCE) by Ray Donnelly - ---- a/gettext-tools/src/Makefile.am -+++ b/gettext-tools/src/Makefile.am -@@ -146,10 +146,26 @@ - format-lua.c \ - format-javascript.c - -+if !WOE32DLL -+COLOR_SOURCE = color.c -+OUTPUT_SOURCE = \ -+ write-catalog.c \ -+ write-properties.c \ -+ write-stringtable.c \ -+ write-po.c -+else -+COLOR_SOURCE = ../woe32dll/c++color.cc -+OUTPUT_SOURCE = \ -+ ../woe32dll/c++write-catalog.cc \ -+ ../woe32dll/c++write-properties.cc \ -+ ../woe32dll/c++write-stringtable.cc \ -+ ../woe32dll/c++write-po.cc -+endif -+ - # libgettextsrc contains all code that is needed by at least two programs. - libgettextsrc_la_SOURCES = \ - $(COMMON_SOURCE) read-catalog.c \ --color.c write-catalog.c write-properties.c write-stringtable.c write-po.c \ -+$(COLOR_SOURCE) $(OUTPUT_SOURCE) \ - msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \ - msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c plural-eval.c \ - plural-table.c quote.h sentence.h sentence.c \ ---- a/gettext-tools/src/Makefile.in -+++ b/gettext-tools/src/Makefile.in -@@ -402,19 +402,22 @@ - am__libgettextsrc_la_SOURCES_DIST = message.c po-error.c po-xerror.c \ - read-catalog-abstract.c po-lex.c po-gram-gen.y po-charset.c \ - read-po.c read-properties.c read-stringtable.c open-catalog.c \ -- dir-list.c str-list.c read-catalog.c color.c write-catalog.c \ -- write-properties.c write-stringtable.c write-po.c msgl-ascii.c \ -- msgl-iconv.c msgl-equal.c msgl-cat.c msgl-header.c \ -- msgl-english.c msgl-check.c file-list.c msgl-charset.c \ -- po-time.c plural-exp.c plural-eval.c plural-table.c quote.h \ -- sentence.h sentence.c format.c format-invalid.h format-c.c \ -- format-c-parse.h format-sh.c format-python.c \ -- format-python-brace.c format-lisp.c format-elisp.c \ -- format-librep.c format-scheme.c format-java.c format-csharp.c \ -- format-awk.c format-pascal.c format-ycp.c format-tcl.c \ -- format-perl.c format-perl-brace.c format-php.c \ -- format-gcc-internal.c format-gfc-internal.c format-qt.c \ -- format-qt-plural.c format-kde.c format-kde-kuit.c \ -+ dir-list.c str-list.c read-catalog.c color.c \ -+ ../woe32dll/c++color.cc write-catalog.c write-properties.c \ -+ write-stringtable.c write-po.c ../woe32dll/c++write-catalog.cc \ -+ ../woe32dll/c++write-properties.cc \ -+ ../woe32dll/c++write-stringtable.cc ../woe32dll/c++write-po.cc \ -+ msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c \ -+ msgl-header.c msgl-english.c msgl-check.c file-list.c \ -+ msgl-charset.c po-time.c plural-exp.c plural-eval.c \ -+ plural-table.c quote.h sentence.h sentence.c \ -+ format.c format-invalid.h format-c.c format-c-parse.h \ -+ format-sh.c format-python.c format-python-brace.c \ -+ format-lisp.c format-elisp.c format-librep.c format-scheme.c \ -+ format-java.c format-csharp.c format-awk.c format-pascal.c \ -+ format-ycp.c format-tcl.c format-perl.c format-perl-brace.c \ -+ format-php.c format-gcc-internal.c format-gfc-internal.c \ -+ format-qt.c format-qt-plural.c format-kde.c format-kde-kuit.c \ - format-boost.c format-lua.c format-javascript.c \ - ../woe32dll/c++format.cc read-desktop.c locating-rule.c its.c \ - ../woe32dll/gettextsrc-exports.c -@@ -428,7 +431,18 @@ - libgettextsrc_la-open-catalog.lo libgettextsrc_la-dir-list.lo \ - libgettextsrc_la-str-list.lo - am__dirstamp = $(am__leading_dot)dirstamp --@WOE32DLL_FALSE@am__objects_2 = libgettextsrc_la-format.lo \ -+@WOE32DLL_FALSE@am__objects_2 = libgettextsrc_la-color.lo -+@WOE32DLL_TRUE@am__objects_2 = \ -+@WOE32DLL_TRUE@ ../woe32dll/libgettextsrc_la-c++color.lo -+@WOE32DLL_FALSE@am__objects_3 = libgettextsrc_la-write-catalog.lo \ -+@WOE32DLL_FALSE@ libgettextsrc_la-write-properties.lo \ -+@WOE32DLL_FALSE@ libgettextsrc_la-write-stringtable.lo \ -+@WOE32DLL_FALSE@ libgettextsrc_la-write-po.lo -+@WOE32DLL_TRUE@am__objects_3 = ../woe32dll/libgettextsrc_la-c++write-catalog.lo \ -+@WOE32DLL_TRUE@ ../woe32dll/libgettextsrc_la-c++write-properties.lo \ -+@WOE32DLL_TRUE@ ../woe32dll/libgettextsrc_la-c++write-stringtable.lo \ -+@WOE32DLL_TRUE@ ../woe32dll/libgettextsrc_la-c++write-po.lo -+@WOE32DLL_FALSE@am__objects_4 = libgettextsrc_la-format.lo \ - @WOE32DLL_FALSE@ libgettextsrc_la-format-c.lo \ - @WOE32DLL_FALSE@ libgettextsrc_la-format-sh.lo \ - @WOE32DLL_FALSE@ libgettextsrc_la-format-python.lo \ -@@ -455,7 +469,7 @@ - @WOE32DLL_FALSE@ libgettextsrc_la-format-boost.lo \ - @WOE32DLL_FALSE@ libgettextsrc_la-format-lua.lo \ - @WOE32DLL_FALSE@ libgettextsrc_la-format-javascript.lo --@WOE32DLL_TRUE@am__objects_2 = \ -+@WOE32DLL_TRUE@am__objects_4 = \ - @WOE32DLL_TRUE@ ../woe32dll/libgettextsrc_la-c++format.lo \ - @WOE32DLL_TRUE@ libgettextsrc_la-format-c.lo \ - @WOE32DLL_TRUE@ libgettextsrc_la-format-sh.lo \ -@@ -483,13 +497,10 @@ - @WOE32DLL_TRUE@ libgettextsrc_la-format-boost.lo \ - @WOE32DLL_TRUE@ libgettextsrc_la-format-lua.lo \ - @WOE32DLL_TRUE@ libgettextsrc_la-format-javascript.lo --@WOE32DLL_TRUE@am__objects_3 = ../woe32dll/libgettextsrc_la-gettextsrc-exports.lo -+@WOE32DLL_TRUE@am__objects_5 = ../woe32dll/libgettextsrc_la-gettextsrc-exports.lo - am_libgettextsrc_la_OBJECTS = $(am__objects_1) \ -- libgettextsrc_la-read-catalog.lo libgettextsrc_la-color.lo \ -- libgettextsrc_la-write-catalog.lo \ -- libgettextsrc_la-write-properties.lo \ -- libgettextsrc_la-write-stringtable.lo \ -- libgettextsrc_la-write-po.lo libgettextsrc_la-msgl-ascii.lo \ -+ libgettextsrc_la-read-catalog.lo $(am__objects_2) \ -+ $(am__objects_3) libgettextsrc_la-msgl-ascii.lo \ - libgettextsrc_la-msgl-iconv.lo libgettextsrc_la-msgl-equal.lo \ - libgettextsrc_la-msgl-cat.lo libgettextsrc_la-msgl-header.lo \ - libgettextsrc_la-msgl-english.lo \ -@@ -497,9 +508,9 @@ - libgettextsrc_la-msgl-charset.lo libgettextsrc_la-po-time.lo \ - libgettextsrc_la-plural-exp.lo libgettextsrc_la-plural-eval.lo \ - libgettextsrc_la-plural-table.lo libgettextsrc_la-sentence.lo \ -- $(am__objects_2) libgettextsrc_la-read-desktop.lo \ -+ $(am__objects_4) libgettextsrc_la-read-desktop.lo \ - libgettextsrc_la-locating-rule.lo libgettextsrc_la-its.lo \ -- $(am__objects_3) -+ $(am__objects_5) - libgettextsrc_la_OBJECTS = $(am_libgettextsrc_la_OBJECTS) - PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) - am_cldr_plurals_OBJECTS = cldr_plurals-cldr-plural.$(OBJEXT) \ -@@ -2250,15 +2261,28 @@ - @WOE32DLL_TRUE@ format-qt.c format-qt-plural.c format-kde.c \ - @WOE32DLL_TRUE@ format-kde-kuit.c format-boost.c format-lua.c \ - @WOE32DLL_TRUE@ format-javascript.c -+@WOE32DLL_FALSE@COLOR_SOURCE = color.c -+@WOE32DLL_TRUE@COLOR_SOURCE = ../woe32dll/c++color.cc -+@WOE32DLL_FALSE@OUTPUT_SOURCE = \ -+@WOE32DLL_FALSE@ write-catalog.c \ -+@WOE32DLL_FALSE@ write-properties.c \ -+@WOE32DLL_FALSE@ write-stringtable.c \ -+@WOE32DLL_FALSE@ write-po.c -+ -+@WOE32DLL_TRUE@OUTPUT_SOURCE = \ -+@WOE32DLL_TRUE@ ../woe32dll/c++write-catalog.cc \ -+@WOE32DLL_TRUE@ ../woe32dll/c++write-properties.cc \ -+@WOE32DLL_TRUE@ ../woe32dll/c++write-stringtable.cc \ -+@WOE32DLL_TRUE@ ../woe32dll/c++write-po.cc -+ - - # libgettextsrc contains all code that is needed by at least two programs. --libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c color.c \ -- write-catalog.c write-properties.c write-stringtable.c \ -- write-po.c msgl-ascii.c msgl-iconv.c msgl-equal.c msgl-cat.c \ -- msgl-header.c msgl-english.c msgl-check.c file-list.c \ -- msgl-charset.c po-time.c plural-exp.c plural-eval.c \ -- plural-table.c quote.h sentence.h sentence.c $(FORMAT_SOURCE) \ -- read-desktop.c locating-rule.c its.c $(am__append_1) -+libgettextsrc_la_SOURCES = $(COMMON_SOURCE) read-catalog.c \ -+ $(COLOR_SOURCE) $(OUTPUT_SOURCE) msgl-ascii.c msgl-iconv.c \ -+ msgl-equal.c msgl-cat.c msgl-header.c msgl-english.c \ -+ msgl-check.c file-list.c msgl-charset.c po-time.c plural-exp.c \ -+ plural-eval.c plural-table.c quote.h sentence.h sentence.c \ -+ $(FORMAT_SOURCE) read-desktop.c locating-rule.c its.c $(am__append_1) - - # msggrep needs pattern matching. - LIBGREP = ../libgrep/libgrep.a -@@ -2620,6 +2644,15 @@ - ../woe32dll/$(am__dirstamp): - @$(MKDIR_P) ../woe32dll - @: > ../woe32dll/$(am__dirstamp) -+../woe32dll/libgettextsrc_la-c++color.lo: ../woe32dll/$(am__dirstamp) -+../woe32dll/libgettextsrc_la-c++write-catalog.lo: \ -+ ../woe32dll/$(am__dirstamp) -+../woe32dll/libgettextsrc_la-c++write-properties.lo: \ -+ ../woe32dll/$(am__dirstamp) -+../woe32dll/libgettextsrc_la-c++write-stringtable.lo: \ -+ ../woe32dll/$(am__dirstamp) -+../woe32dll/libgettextsrc_la-c++write-po.lo: \ -+ ../woe32dll/$(am__dirstamp) - ../woe32dll/libgettextsrc_la-c++format.lo: \ - ../woe32dll/$(am__dirstamp) - ../woe32dll/libgettextsrc_la-gettextsrc-exports.lo: \ -@@ -3422,6 +3455,21 @@ - .cc.lo: - $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< - -+../woe32dll/libgettextsrc_la-c++color.lo: ../woe32dll/c++color.cc -+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++color.lo `test -f '../woe32dll/c++color.cc' || echo '$(srcdir)/'`../woe32dll/c++color.cc -+ -+../woe32dll/libgettextsrc_la-c++write-catalog.lo: ../woe32dll/c++write-catalog.cc -+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++write-catalog.lo `test -f '../woe32dll/c++write-catalog.cc' || echo '$(srcdir)/'`../woe32dll/c++write-catalog.cc -+ -+../woe32dll/libgettextsrc_la-c++write-properties.lo: ../woe32dll/c++write-properties.cc -+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++write-properties.lo `test -f '../woe32dll/c++write-properties.cc' || echo '$(srcdir)/'`../woe32dll/c++write-properties.cc -+ -+../woe32dll/libgettextsrc_la-c++write-stringtable.lo: ../woe32dll/c++write-stringtable.cc -+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++write-stringtable.lo `test -f '../woe32dll/c++write-stringtable.cc' || echo '$(srcdir)/'`../woe32dll/c++write-stringtable.cc -+ -+../woe32dll/libgettextsrc_la-c++write-po.lo: ../woe32dll/c++write-po.cc -+ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++write-po.lo `test -f '../woe32dll/c++write-po.cc' || echo '$(srcdir)/'`../woe32dll/c++write-po.cc -+ - ../woe32dll/libgettextsrc_la-c++format.lo: ../woe32dll/c++format.cc - $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgettextsrc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ../woe32dll/libgettextsrc_la-c++format.lo `test -f '../woe32dll/c++format.cc' || echo '$(srcdir)/'`../woe32dll/c++format.cc - ---- a/gettext-tools/src/color.c -+++ b/gettext-tools/src/color.c -@@ -28,6 +28,7 @@ - #include - #include - -+#include "ostream.h" - #include "term-ostream.h" - #include "xalloc.h" - #include "relocatable.h" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++color.cc -@@ -0,0 +1 @@ -+#include "../src/color.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++file-ostream.cc -@@ -0,0 +1,2 @@ -+#include "../gnulib-lib/file-ostream.c" -+ ---- /dev/null -+++ b/gettext-tools/woe32dll/c++html-ostream.cc -@@ -0,0 +1 @@ -+#include "../gnulib-lib/html-ostream.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++styled-ostream.cc -@@ -0,0 +1 @@ -+#include "../gnulib-lib/styled-ostream.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++term-ostream.cc -@@ -0,0 +1 @@ -+#include "../gnulib-lib/term-ostream.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++write-catalog.cc -@@ -0,0 +1 @@ -+#include "../src/write-catalog.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++write-po.cc -@@ -0,0 +1 @@ -+#include "../src/write-po.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++write-properties.cc -@@ -0,0 +1 @@ -+#include "../src/write-properties.c" ---- /dev/null -+++ b/gettext-tools/woe32dll/c++write-stringtable.cc -@@ -0,0 +1 @@ -+#include "../src/write-stringtable.c" ---- a/gnulib-local/modules/file-ostream -+++ b/gnulib-local/modules/file-ostream -@@ -12,7 +12,11 @@ - configure.ac: - - Makefile.am: -+if !WOE32DLL - lib_SOURCES += file-ostream.c -+else -+lib_SOURCES += ../woe32dll/c++file-ostream.cc -+endif - # This is a Makefile rule that generates multiple files at once; see the - # automake documentation, node "Multiple Outputs", for details. - file-ostream.h : $(top_srcdir)/build-aux/moopp file-ostream.oo.h file-ostream.oo.c ostream.oo.h ---- a/gnulib-local/modules/html-ostream -+++ b/gnulib-local/modules/html-ostream -@@ -15,7 +15,11 @@ - configure.ac: - - Makefile.am: -+if !WOE32DLL - lib_SOURCES += html-ostream.c -+else -+lib_SOURCES += ../woe32dll/c++html-ostream.cc -+endif - # This is a Makefile rule that generates multiple files at once; see the - # automake documentation, node "Multiple Outputs", for details. - html-ostream.h : $(top_srcdir)/build-aux/moopp html-ostream.oo.h html-ostream.oo.c ostream.oo.h ---- a/gnulib-local/modules/ostream -+++ b/gnulib-local/modules/ostream -@@ -11,7 +11,11 @@ - configure.ac: - - Makefile.am: -+if !WOE32DLL - lib_SOURCES += ostream.c -+else -+lib_SOURCES += ../woe32dll/c++ostream.cc -+endif - # This is a Makefile rule that generates multiple files at once; see the - # automake documentation, node "Multiple Outputs", for details. - ostream.h : $(top_srcdir)/build-aux/moopp ostream.oo.h ostream.oo.c ---- a/gnulib-local/modules/styled-ostream -+++ b/gnulib-local/modules/styled-ostream -@@ -11,7 +11,11 @@ - configure.ac: - - Makefile.am: -+if !WOE32DLL - lib_SOURCES += styled-ostream.c -+else -+lib_SOURCES += ../woe32dll/c++styled-ostream.cc -+endif - # This is a Makefile rule that generates multiple files at once; see the - # automake documentation, node "Multiple Outputs", for details. - styled-ostream.h : $(top_srcdir)/build-aux/moopp styled-ostream.oo.h styled-ostream.oo.c ostream.oo.h ---- a/gnulib-local/modules/term-ostream -+++ b/gnulib-local/modules/term-ostream -@@ -22,7 +22,11 @@ - gl_TERM_OSTREAM - - Makefile.am: -+if !WOE32DLL - lib_SOURCES += term-ostream.c -+else -+lib_SOURCES += ../woe32dll/c++term-ostream.cc -+endif - # This is a Makefile rule that generates multiple files at once; see the - # automake documentation, node "Multiple Outputs", for details. - term-ostream.h : $(top_srcdir)/build-aux/moopp term-ostream.oo.h term-ostream.oo.c ostream.oo.h diff --git a/packages/gettext/0.19.7/0002-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch b/packages/gettext/0.19.7/0002-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch deleted file mode 100644 index e400644..0000000 --- a/packages/gettext/0.19.7/0002-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- - gettext-tools/gnulib-lib/execute.c | 2 +- - gettext-tools/gnulib-lib/spawn-pipe.c | 2 +- - gettext-tools/gnulib-tests/test-environ.c | 2 +- - gnulib-local/lib/execute.c.diff | 2 +- - gnulib-local/lib/spawn-pipe.c.diff | 2 +- - gnulib-local/tests/test-environ.c.diff | 2 +- - 6 files changed, 6 insertions(+), 6 deletions(-) - ---- a/gettext-tools/gnulib-lib/execute.c -+++ b/gettext-tools/gnulib-lib/execute.c -@@ -52,7 +52,7 @@ - __cygwin_environ variable on cygwin64: - . */ - #if defined __CYGWIN__ && defined __x86_64__ --extern DLL_VARIABLE char **environ; -+extern __attribute__((dllimport)) char **environ; - #endif - - ---- a/gettext-tools/gnulib-lib/spawn-pipe.c -+++ b/gettext-tools/gnulib-lib/spawn-pipe.c -@@ -52,7 +52,7 @@ - __cygwin_environ variable on cygwin64: - . */ - #if defined __CYGWIN__ && defined __x86_64__ --extern DLL_VARIABLE char **environ; -+extern __attribute__((dllimport)) char **environ; - #endif - - ---- a/gettext-tools/gnulib-tests/test-environ.c -+++ b/gettext-tools/gnulib-tests/test-environ.c -@@ -26,7 +26,7 @@ - __cygwin_environ variable on cygwin64: - . */ - #if defined __CYGWIN__ && defined __x86_64__ --extern DLL_VARIABLE char **environ; -+extern __attribute__((dllimport)) char **environ; - #endif - - int ---- a/gnulib-local/lib/execute.c.diff -+++ b/gnulib-local/lib/execute.c.diff -@@ -10,7 +10,7 @@ - + __cygwin_environ variable on cygwin64: - + . */ - +#if defined __CYGWIN__ && defined __x86_64__ --+extern DLL_VARIABLE char **environ; -++extern __attribute__((dllimport)) char **environ; - +#endif - + - ---- a/gnulib-local/lib/spawn-pipe.c.diff -+++ b/gnulib-local/lib/spawn-pipe.c.diff -@@ -10,7 +10,7 @@ - + __cygwin_environ variable on cygwin64: - + . */ - +#if defined __CYGWIN__ && defined __x86_64__ --+extern DLL_VARIABLE char **environ; -++extern __attribute__((dllimport)) char **environ; - +#endif - + - ---- a/gnulib-local/tests/test-environ.c.diff -+++ b/gnulib-local/tests/test-environ.c.diff -@@ -10,7 +10,7 @@ - + __cygwin_environ variable on cygwin64: - + . */ - +#if defined __CYGWIN__ && defined __x86_64__ --+extern DLL_VARIABLE char **environ; -++extern __attribute__((dllimport)) char **environ; - +#endif - + - int diff --git a/packages/gettext/0.19.7/0003-Fix-Cygwin-sys-select.patch b/packages/gettext/0.19.7/0003-Fix-Cygwin-sys-select.patch deleted file mode 100644 index 295f7e4..0000000 --- a/packages/gettext/0.19.7/0003-Fix-Cygwin-sys-select.patch +++ /dev/null @@ -1,41 +0,0 @@ ->From cfbc1c62a1ea5c5809d11b957ad29cd820db15b8 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Mon, 21 Mar 2016 00:49:17 -0700 -Subject: [PATCH] sys_select: port to new Cygwin - -Problem reported by Ken Brown in: -https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html -* lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name" -diagnostics. ---- - gettext-tools/gnulib-lib/sys_select.in.h | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - ---- a/gettext-tools/gnulib-lib/sys_select.in.h -+++ b/gettext-tools/gnulib-lib/sys_select.in.h -@@ -81,8 +81,9 @@ - of 'struct timeval', and no definition of this type. - Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select() - in . -- But avoid namespace pollution on glibc systems. */ --# ifndef __GLIBC__ -+ But avoid namespace pollution on glibc systems and "unknown type -+ name" problems on Cygwin. */ -+# if !(defined __GLIBC__ || defined __CYGWIN__) - # include - # endif - -@@ -100,10 +101,11 @@ - #endif - - /* Get definition of 'sigset_t'. -- But avoid namespace pollution on glibc systems. -+ But avoid namespace pollution on glibc systems and "unknown type -+ name" problems on Cygwin. - Do this after the include_next (for the sake of OpenBSD 5.0) but before - the split double-inclusion guard (for the sake of Solaris). */ --#if !(defined __GLIBC__ && !defined __UCLIBC__) -+#if !((defined __GLIBC__ || defined __CYGWIN__) && !defined __UCLIBC__) - # include - #endif - diff --git a/packages/gettext/0.19.7/0004-Fix-Cygwin-sys-select-2.patch b/packages/gettext/0.19.7/0004-Fix-Cygwin-sys-select-2.patch deleted file mode 100644 index c9475f7..0000000 --- a/packages/gettext/0.19.7/0004-Fix-Cygwin-sys-select-2.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - gettext-tools/gnulib-lib/sys_select.in.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/gettext-tools/gnulib-lib/sys_select.in.h -+++ b/gettext-tools/gnulib-lib/sys_select.in.h -@@ -82,8 +82,8 @@ - Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select() - in . - But avoid namespace pollution on glibc systems and "unknown type -- name" problems on Cygwin. */ --# if !(defined __GLIBC__ || defined __CYGWIN__) -+ name" problems on newlib systems. */ -+# if !(defined __GLIBC__ || defined __NEWLIB__) - # include - # endif - -@@ -102,10 +102,10 @@ - - /* Get definition of 'sigset_t'. - But avoid namespace pollution on glibc systems and "unknown type -- name" problems on Cygwin. -+ name" problems on newlib systems.. - Do this after the include_next (for the sake of OpenBSD 5.0) but before - the split double-inclusion guard (for the sake of Solaris). */ --#if !((defined __GLIBC__ || defined __CYGWIN__) && !defined __UCLIBC__) -+#if !((defined __GLIBC__ || defined __NEWLIB__) && !defined __UCLIBC__) - # include - #endif - diff --git a/packages/gettext/0.19.7/chksum b/packages/gettext/0.19.7/chksum deleted file mode 100644 index d7a7456..0000000 --- a/packages/gettext/0.19.7/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 gettext-0.19.7.tar.xz f81e50556da41b44c1d59ac93474dca5 -sha1 gettext-0.19.7.tar.xz 4b2574b76d14c98270bf607a2a62f033524d8e8c -sha256 gettext-0.19.7.tar.xz 378fa86a091cec3acdece3c961bb8d8c0689906287809a8daa79dc0c6398d934 -sha512 gettext-0.19.7.tar.xz a8ed47fc38d8730ccd46bfa6620c0b42efcfcbfa39fa94ddecb2fa3b62b377827f29e702dc327fbc682b98534e1f54783d21a3bb5ba629f6358be00bfb4da009 -md5 gettext-0.19.7.tar.lz 0008c0ac4958eb9749362fbac4bdf750 -sha1 gettext-0.19.7.tar.lz e89d7147c69b3d94ea04d3be2e833f50fa85f321 -sha256 gettext-0.19.7.tar.lz 6ce2bf73918b759f0757b57d0aacf2d3760ea898e726159d13f9e25ab740a212 -sha512 gettext-0.19.7.tar.lz 2abc8e010b0114c02f47902ad79a643db57cd595c5630a7ad9b279df184b8e259c8677059030abd89375d72979efdcf6387c445b0b68f8e8a012a76f296c0456 -md5 gettext-0.19.7.tar.gz 87c4ab267c4dce8a75db5d057bb3c92f -sha1 gettext-0.19.7.tar.gz d8fc932196cc78b83ca1b63c8687ec3d513b40b6 -sha256 gettext-0.19.7.tar.gz 5386d2a40500295783c6a52121adcf42a25519e2d23675950619c9e69558c23f -sha512 gettext-0.19.7.tar.gz 7ba89074d3eddd0b4a5e2980e1ec74b53c49b7a04a1fa91c70c4bc11ce9c30415e4df9d79698148eaaed325fb4feb25a340a2e8e01fbe86b1a66b1376a4c9e3d diff --git a/packages/gettext/0.19.7/version.desc b/packages/gettext/0.19.7/version.desc deleted file mode 100644 index 1945106..0000000 --- a/packages/gettext/0.19.7/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.lz .tar.gz' -- cgit v0.10.2-6-g49f6 From 3d2b48fb7a7b958575714d1d3ca180c53aeb8604 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: glibc: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - glibc-linaro-2.20-2014.11 - glibc-2.12.2 - glibc-2.13 - glibc-2.14.1 - glibc-2.15 - glibc-2.16.0 - glibc-2.18 - glibc-2.20 - glibc-2.21 - glibc-2.22 Signed-off-by: Chris Packham diff --git a/packages/glibc-linaro/2.20-2014.11/0000-sparc-nptl.patch b/packages/glibc-linaro/2.20-2014.11/0000-sparc-nptl.patch deleted file mode 100644 index 4c5a10e..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0000-sparc-nptl.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - sysdeps/sparc/sparc32/sem_trywait.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sysdeps/sparc/sparc32/sem_trywait.c -+++ b/sysdeps/sparc/sparc32/sem_trywait.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include - diff --git a/packages/glibc-linaro/2.20-2014.11/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc-linaro/2.20-2014.11/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch deleted file mode 100644 index d92014e..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch +++ /dev/null @@ -1,75 +0,0 @@ -From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -262,18 +262,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc-linaro/2.20-2014.11/0002-fix-signed-shift-overlow.patch b/packages/glibc-linaro/2.20-2014.11/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index c7cc330..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -86,15 +86,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -60,13 +60,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -66,13 +66,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc-linaro/2.20-2014.11/0003-dl-openat64-variadic.patch b/packages/glibc-linaro/2.20-2014.11/0003-dl-openat64-variadic.patch deleted file mode 100644 index 552db12..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc-linaro/2.20-2014.11/0004-unused-variables.patch b/packages/glibc-linaro/2.20-2014.11/0004-unused-variables.patch deleted file mode 100644 index 694bc61..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0004-unused-variables.patch +++ /dev/null @@ -1,171 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - timezone/private.h | 10 ---------- - 10 files changed, 1 insertion(+), 28 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -65,10 +65,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -129,10 +127,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -34,7 +34,6 @@ - /**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -48,7 +47,6 @@ - /**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - #ifndef COSF - # define COSF_FUNC __cosf - #else ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -140,7 +140,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double ---- a/timezone/private.h -+++ b/timezone/private.h -@@ -326,16 +326,6 @@ - #define TYPE_SIGNED(type) (((type) -1) < 0) - #endif /* !defined TYPE_SIGNED */ - --/* The minimum and maximum finite time values. */ --static time_t const time_t_min = -- (TYPE_SIGNED(time_t) -- ? (time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1) -- : 0); --static time_t const time_t_max = -- (TYPE_SIGNED(time_t) -- ? - (~ 0 < 0) - ((time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1)) -- : -1); -- - #ifndef INT_STRLEN_MAXIMUM - /* - ** 302 / 1000 is log10(2.0) rounded up. diff --git a/packages/glibc-linaro/2.20-2014.11/0005-misleading-indentation.patch b/packages/glibc-linaro/2.20-2014.11/0005-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc-linaro/2.20-2014.11/0006-dl-open-array-bounds.patch b/packages/glibc-linaro/2.20-2014.11/0006-dl-open-array-bounds.patch deleted file mode 100644 index 83eb0b3..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -211,7 +211,7 @@ - struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen); - - if (l) -- call_map = l; -+ call_map = l; - - if (args->nsid == __LM_ID_CALLER) - args->nsid = call_map->l_ns; -@@ -627,8 +627,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc-linaro/2.20-2014.11/0007-Fix-combreloc-test-BSD-grep.patch b/packages/glibc-linaro/2.20-2014.11/0007-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index f56a4ca..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0007-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6025,7 +6025,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.ac -+++ b/configure.ac -@@ -1397,7 +1397,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc-linaro/2.20-2014.11/0008-fix-rpc_parse-format.patch b/packages/glibc-linaro/2.20-2014.11/0008-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0008-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc-linaro/2.20-2014.11/0009-explicit-boolean.patch b/packages/glibc-linaro/2.20-2014.11/0009-explicit-boolean.patch deleted file mode 100644 index ff7cd87..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0009-explicit-boolean.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit e223d1fe72e820d96f43831412ab267a1ace04d0 -Author: steve ellcey-CA Eng-Software -Date: Fri Oct 14 12:53:27 2016 -0700 - - Fix warnings from latest GCC. - - * sysdeps/ieee754/dbl-64/e_pow.c (checkint) Make conditions explicitly - boolean. - ---- - sysdeps/ieee754/dbl-64/e_pow.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/sysdeps/ieee754/dbl-64/e_pow.c -+++ b/sysdeps/ieee754/dbl-64/e_pow.c -@@ -462,15 +462,15 @@ - return (n & 1) ? -1 : 1; /* odd or even */ - if (k > 20) - { -- if (n << (k - 20)) -+ if (n << (k - 20) != 0) - return 0; /* if not integer */ -- return (n << (k - 21)) ? -1 : 1; -+ return (n << (k - 21) != 0) ? -1 : 1; - } - if (n) - return 0; /*if not integer */ - if (k == 20) - return (m & 1) ? -1 : 1; -- if (m << (k + 12)) -+ if (m << (k + 12) != 0) - return 0; -- return (m << (k + 11)) ? -1 : 1; -+ return (m << (k + 11) != 0) ? -1 : 1; - } diff --git a/packages/glibc-linaro/2.20-2014.11/0010-nis-bogus-conditional.patch b/packages/glibc-linaro/2.20-2014.11/0010-nis-bogus-conditional.patch deleted file mode 100644 index e728368..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0010-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -291,7 +291,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc-linaro/2.20-2014.11/0011-strftime-multiple-stmts.patch b/packages/glibc-linaro/2.20-2014.11/0011-strftime-multiple-stmts.patch deleted file mode 100644 index 0f97e7d..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0011-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -738,12 +738,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc-linaro/2.20-2014.11/0012-if_nametoindex-size-check.patch b/packages/glibc-linaro/2.20-2014.11/0012-if_nametoindex-size-check.patch deleted file mode 100644 index 7976fdd..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0012-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -43,6 +43,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc-linaro/2.20-2014.11/0013-utmp-nonstring.patch b/packages/glibc-linaro/2.20-2014.11/0013-utmp-nonstring.patch deleted file mode 100644 index a4570fb..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0013-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -393,6 +393,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc-linaro/2.20-2014.11/0014-getlogin_r-use-strnlen.patch b/packages/glibc-linaro/2.20-2014.11/0014-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0014-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc-linaro/2.20-2014.11/0015-zic.c-use-memcpy.patch b/packages/glibc-linaro/2.20-2014.11/0015-zic.c-use-memcpy.patch deleted file mode 100644 index ef768aa..0000000 --- a/packages/glibc-linaro/2.20-2014.11/0015-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1713,7 +1713,7 @@ - } - #define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp)) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = version; - convert(thistypecnt, tzh.tzh_ttisgmtcnt); - convert(thistypecnt, tzh.tzh_ttisstdcnt); diff --git a/packages/glibc-linaro/2.20-2014.11/chksum b/packages/glibc-linaro/2.20-2014.11/chksum deleted file mode 100644 index 248160a..0000000 --- a/packages/glibc-linaro/2.20-2014.11/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 glibc-linaro-2.20-2014.11.tar.xz ca2035b47d86856ffdd201ce2a12e60e -sha1 glibc-linaro-2.20-2014.11.tar.xz 3ca068cd6bbb9e61d0651faa19c462a4d1c41f84 -sha256 glibc-linaro-2.20-2014.11.tar.xz 2db756f9f9281f78443cd04fc544fc2d8bce38037d5f75c8284bd8b0ccf9c9ed -sha512 glibc-linaro-2.20-2014.11.tar.xz 79910b5f1a9b27519c24888253e644398b2da4789fd093fd800cfc5051322f26c38161edd602690647e2f9b9ab99f8cdde78c9e7d8513a4df584c05b19069e05 diff --git a/packages/glibc-linaro/2.20-2014.11/version.desc b/packages/glibc-linaro/2.20-2014.11/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc-linaro/2.20-2014.11/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc-linaro/package.desc b/packages/glibc-linaro/package.desc deleted file mode 100644 index ddf465a..0000000 --- a/packages/glibc-linaro/package.desc +++ /dev/null @@ -1,7 +0,0 @@ -master='glibc' -origin='Linaro' -repository='git https://git.linaro.org/toolchain/glibc.git' -relevantpattern='*|-' -mirrors='$(CT_Mirrors Linaro glibc ${CT_GLIBC_LINARO_VERSION})' -experimental='yes' -archive_formats='.tar.xz' diff --git a/packages/glibc/2.12.2/0000-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.12.2/0000-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index 0f85a50..0000000 --- a/packages/glibc/2.12.2/0000-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6710,7 +6710,7 @@ - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } - then -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1671,7 +1671,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.12.2/0001-macos-cross-rpcgen.patch b/packages/glibc/2.12.2/0001-macos-cross-rpcgen.patch deleted file mode 100644 index 155b4f5..0000000 --- a/packages/glibc/2.12.2/0001-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -68,6 +68,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.12.2/0002-march-i686.patch b/packages/glibc/2.12.2/0002-march-i686.patch deleted file mode 100644 index e5ad2e0..0000000 --- a/packages/glibc/2.12.2/0002-march-i686.patch +++ /dev/null @@ -1,37 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - ---- - nptl/sysdeps/pthread/pt-initfini.c | 5 +++++ - sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++ - 2 files changed, 9 insertions(+) - ---- a/nptl/sysdeps/pthread/pt-initfini.c -+++ b/nptl/sysdeps/pthread/pt-initfini.c -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - ---- a/sysdeps/unix/sysv/linux/i386/sysdep.h -+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/packages/glibc/2.12.2/0003-typedef-caddr.patch b/packages/glibc/2.12.2/0003-typedef-caddr.patch deleted file mode 100644 index 5139bbd..0000000 --- a/packages/glibc/2.12.2/0003-typedef-caddr.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - posix/sys/types.h | 3 +++ - sunrpc/rpc/types.h | 3 +++ - 2 files changed, 6 insertions(+) - ---- a/posix/sys/types.h -+++ b/posix/sys/types.h -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -85,7 +85,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/packages/glibc/2.12.2/0004-fix-rpc_parse-format.patch b/packages/glibc/2.12.2/0004-fix-rpc_parse-format.patch deleted file mode 100644 index 906fb70..0000000 --- a/packages/glibc/2.12.2/0004-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -520,7 +520,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.12.2/0005-nis-bogus-conditional.patch b/packages/glibc/2.12.2/0005-nis-bogus-conditional.patch deleted file mode 100644 index 732b859..0000000 --- a/packages/glibc/2.12.2/0005-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -293,7 +293,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.12.2/0006-obstack-common.patch b/packages/glibc/2.12.2/0006-obstack-common.patch deleted file mode 100644 index 1993be2..0000000 --- a/packages/glibc/2.12.2/0006-obstack-common.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 -Author: Peter Collingbourne -Date: Wed May 15 20:28:08 2013 +0200 - - Move _obstack_compat out of common - - it is impossible to create an alias of a common symbol (as - compat_symbol does), because common symbols do not have a section or - an offset until linked. GNU as tolerates aliases of common symbols by - simply creating another common symbol, but other assemblers (notably - LLVM's integrated assembler) are less tolerant. - - 2013-05-15 Peter Collingbourne - - * malloc/obstack.c (_obstack_compat): Add initializer. - - - ---- - malloc/obstack.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/malloc/obstack.c -+++ b/malloc/obstack.c -@@ -117,7 +117,7 @@ - /* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ --struct obstack *_obstack_compat; -+struct obstack *_obstack_compat = 0; - compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); - # endif - # endif diff --git a/packages/glibc/2.12.2/0007-new-tools.patch b/packages/glibc/2.12.2/0007-new-tools.patch deleted file mode 100644 index 693c9a1..0000000 --- a/packages/glibc/2.12.2/0007-new-tools.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- - configure | 8 ++++---- - configure.in | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - ---- a/configure -+++ b/configure -@@ -5189,7 +5189,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;; -- 3.4* | 4.[0-9]* ) -+ 3.4* | [4-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;; - -@@ -5252,7 +5252,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - -@@ -5379,7 +5379,7 @@ - ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.*) -+ [4-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -5439,7 +5439,7 @@ - # Found it, now check the version. - { $as_echo "$as_me:$LINENO: checking version of $SED" >&5 - $as_echo_n "checking version of $SED... " >&6; } -- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.0[2-9]*|3.[1-9]*|[4-9]*) ---- a/configure.in -+++ b/configure.in -@@ -1026,11 +1026,11 @@ - # These programs are version sensitive. - AC_CHECK_TOOL_PREFIX - AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, -- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ], -+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ], - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], -@@ -1038,10 +1038,10 @@ - MSGFMT=: aux_missing="$aux_missing msgfmt") - AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, - [GNU texinfo.* \([0-9][0-9.]*\)], -- [4.*], -+ [[4-9].*], - MAKEINFO=: aux_missing="$aux_missing makeinfo") - AC_CHECK_PROG_VER(SED, sed, --version, -- [GNU sed version \([0-9]*\.[0-9.]*\)], -+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)], - [3.0[2-9]*|3.[1-9]*|[4-9]*], - SED=: aux_missing="$aux_missing sed") - diff --git a/packages/glibc/2.12.2/0008-strftime-multiple-stmts.patch b/packages/glibc/2.12.2/0008-strftime-multiple-stmts.patch deleted file mode 100644 index e544b33..0000000 --- a/packages/glibc/2.12.2/0008-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -742,12 +742,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.12.2/0009-if_nametoindex-size-check.patch b/packages/glibc/2.12.2/0009-if_nametoindex-size-check.patch deleted file mode 100644 index 5803db5..0000000 --- a/packages/glibc/2.12.2/0009-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -54,6 +54,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.12.2/0010-utmp-nonstring.patch b/packages/glibc/2.12.2/0010-utmp-nonstring.patch deleted file mode 100644 index b789724..0000000 --- a/packages/glibc/2.12.2/0010-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -350,6 +350,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.12.2/0011-getlogin_r-use-strnlen.patch b/packages/glibc/2.12.2/0011-getlogin_r-use-strnlen.patch deleted file mode 100644 index 15a16bd..0000000 --- a/packages/glibc/2.12.2/0011-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -83,7 +83,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -92,7 +92,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.12.2/0012-zic.c-use-memcpy.patch b/packages/glibc/2.12.2/0012-zic.c-use-memcpy.patch deleted file mode 100644 index 4c89446..0000000 --- a/packages/glibc/2.12.2/0012-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1648,7 +1648,7 @@ - #define DO(field) (void) fwrite((void *) tzh.field, \ - (size_t) sizeof tzh.field, (size_t) 1, fp) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.12.2/chksum b/packages/glibc/2.12.2/chksum deleted file mode 100644 index f30fb40..0000000 --- a/packages/glibc/2.12.2/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.12.2.tar.xz e0043f4f8e1aa61acc62fdf0f4d6133d -sha1 glibc-2.12.2.tar.xz 1602bb3647e71747595a72fde059fce0a5ba04ec -sha256 glibc-2.12.2.tar.xz 0eb4fdf7301a59d3822194f20a2782858955291dd93be264b8b8d4d56f87203f -sha512 glibc-2.12.2.tar.xz efc1c9c3e10bb2d7d7a8529796961bf41406128132b71af2225d327317ea61438f3b19084099e15b4208b35388228640f6c7a21a807abd87ffec795248a6c306 -md5 glibc-2.12.2.tar.bz2 903fcfa547df2f453476800e0838fe52 -sha1 glibc-2.12.2.tar.bz2 3ef6d36eee2dc7c4351f215f689e6a04c161a35e -sha256 glibc-2.12.2.tar.bz2 22f8eb3c49b9eb5e88fc249daf8670899adef24eb1f74708fb150a6502fa1216 -sha512 glibc-2.12.2.tar.bz2 8197ece913e572ce3f7dfa0a33d520418aea2d8b85ccda3100118bca9f650e21fb7a8d14b1b4a5587a252c07e70c6fe85f84605a0be9dec649e92d6028979c40 -md5 glibc-2.12.2.tar.gz 49a8a5a74b624dcd15ec1689ede7e062 -sha1 glibc-2.12.2.tar.gz 738ac9b88a7e89e2a9a419db13af8ee12a38f192 -sha256 glibc-2.12.2.tar.gz 6b7392a7b339a3f2db6e4bc8d5418cf29116d9e7e36b313e845cb65e449c5346 -sha512 glibc-2.12.2.tar.gz a2e11c9824bf975b0c14c2d48f2bdbfb69a54b6c43760cf19babea187771e8d848d03e54f68be2d22074405d192ff2cc459c09a04db6779ab593ce67854a9ce9 diff --git a/packages/glibc/2.12.2/version.desc b/packages/glibc/2.12.2/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.12.2/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.13/0000-respect-env-CPPFLAGS.patch b/packages/glibc/2.13/0000-respect-env-CPPFLAGS.patch deleted file mode 100644 index 9966a27..0000000 --- a/packages/glibc/2.13/0000-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,17 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - ---- - Makeconfig | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -697,6 +697,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$( -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -682,16 +682,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -328,18 +328,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.13/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.13/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index 5f76afe..0000000 --- a/packages/glibc/2.13/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -98,15 +98,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -90,15 +90,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -65,13 +65,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -63,13 +63,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.13/0003-unused-variables.patch b/packages/glibc/2.13/0003-unused-variables.patch deleted file mode 100644 index 18adb17..0000000 --- a/packages/glibc/2.13/0003-unused-variables.patch +++ /dev/null @@ -1,159 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 6 ------ - sysdeps/ieee754/flt-32/s_cosf.c | 6 ------ - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - 9 files changed, 1 insertion(+), 26 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -69,10 +69,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -139,10 +137,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -30,7 +30,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -36,7 +36,6 @@ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ - /**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -51,7 +50,6 @@ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ - /**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -31,12 +31,6 @@ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - - #ifdef __STDC__ --static const float zero = 0.0; --#else --static float zero = 0.0; --#endif -- --#ifdef __STDC__ - float __ieee754_log10f(float x) - #else - float __ieee754_log10f(x) ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -22,12 +22,6 @@ - #include "math_private.h" - - #ifdef __STDC__ --static const float one=1.0; --#else --static float one=1.0; --#endif -- --#ifdef __STDC__ - float __cosf(float x) - #else - float __cosf(x) ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -142,7 +142,6 @@ - static long double - #endif - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double diff --git a/packages/glibc/2.13/0004-misleading-indentation.patch b/packages/glibc/2.13/0004-misleading-indentation.patch deleted file mode 100644 index 35bcb1b..0000000 --- a/packages/glibc/2.13/0004-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -82,7 +82,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.13/0005-dl-open-array-bounds.patch b/packages/glibc/2.13/0005-dl-open-array-bounds.patch deleted file mode 100644 index 0bedbc0..0000000 --- a/packages/glibc/2.13/0005-dl-open-array-bounds.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -526,8 +526,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if ((nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && ((nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch b/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index f872bac..0000000 --- a/packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,51 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - ---- - sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- - sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- - 2 files changed, 8 deletions(-) - ---- a/sysdeps/unix/sysv/linux/i386/clone.S -+++ b/sysdeps/unix/sysv/linux/i386/clone.S -@@ -120,9 +120,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) ---- a/sysdeps/unix/sysv/linux/x86_64/clone.S -+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -89,9 +89,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/packages/glibc/2.13/0007-disable-ldconfig.patch b/packages/glibc/2.13/0007-disable-ldconfig.patch deleted file mode 100644 index d60cb40..0000000 --- a/packages/glibc/2.13/0007-disable-ldconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -do not bother running ldconfig on DESTDIR. it wants to write the temp cache -file outside of the chroot. doesnt matter anyways as we wont use the cache -results (portage will rebuild cache), so running ldconfig is simply a waste -of time. - ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makefile -+++ b/Makefile -@@ -116,6 +116,7 @@ - rm -f $(symbolic-link-list) - - install: -+dont-bother-with-destdir: - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \ - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \ - $(slibdir) $(libdir) diff --git a/packages/glibc/2.13/0008-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.13/0008-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index 1fdd59f..0000000 --- a/packages/glibc/2.13/0008-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6504,7 +6504,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1673,7 +1673,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.13/0009-queue-header-updates.patch b/packages/glibc/2.13/0009-queue-header-updates.patch deleted file mode 100644 index f6515e2..0000000 --- a/packages/glibc/2.13/0009-queue-header-updates.patch +++ /dev/null @@ -1,86 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - ---- - misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - ---- a/misc/sys/queue.h -+++ b/misc/sys/queue.h -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/packages/glibc/2.13/0010-manual-no-perl.patch b/packages/glibc/2.13/0010-manual-no-perl.patch deleted file mode 100644 index 14ddc6d..0000000 --- a/packages/glibc/2.13/0010-manual-no-perl.patch +++ /dev/null @@ -1,27 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - ---- - manual/Makefile | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -104,9 +104,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/packages/glibc/2.13/0011-localedef-fix-trampoline.patch b/packages/glibc/2.13/0011-localedef-fix-trampoline.patch deleted file mode 100644 index 3b8fd6e..0000000 --- a/packages/glibc/2.13/0011-localedef-fix-trampoline.patch +++ /dev/null @@ -1,56 +0,0 @@ -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 ---- -# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++ -# 1 file changed, 36 insertions(+) -# ---- a/locale/programs/3level.h -+++ b/locale/programs/3level.h -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/packages/glibc/2.13/0012-resolv-dynamic.patch b/packages/glibc/2.13/0012-resolv-dynamic.patch deleted file mode 100644 index fcc2f80..0000000 --- a/packages/glibc/2.13/0012-resolv-dynamic.patch +++ /dev/null @@ -1,42 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - ---- - resolv/res_libc.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/resolv/res_libc.c -+++ b/resolv/res_libc.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/packages/glibc/2.13/0013-localedef-mmap.patch b/packages/glibc/2.13/0013-localedef-mmap.patch deleted file mode 100644 index 74e586e..0000000 --- a/packages/glibc/2.13/0013-localedef-mmap.patch +++ /dev/null @@ -1,42 +0,0 @@ -sniped from Debian -http://bugs.gentoo.org/289615 - -2009-10-27 Aurelien Jarno - - * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory - used later with MMAP_FIXED | MMAP_SHARED to cope with different - alignment restrictions. - ---- - locale/programs/locarchive.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/locale/programs/locarchive.c -+++ b/locale/programs/locarchive.c -@@ -134,7 +134,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -396,7 +396,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -614,7 +614,7 @@ - int xflags = 0; - void *p; - if (st.st_size < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else diff --git a/packages/glibc/2.13/0014-fadvise64_64.patch b/packages/glibc/2.13/0014-fadvise64_64.patch deleted file mode 100644 index 191d833..0000000 --- a/packages/glibc/2.13/0014-fadvise64_64.patch +++ /dev/null @@ -1,27 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/sysdeps/unix/sysv/linux/posix_fadvise.c -+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/packages/glibc/2.13/0015-section-comments.patch b/packages/glibc/2.13/0015-section-comments.patch deleted file mode 100644 index 5960ed0..0000000 --- a/packages/glibc/2.13/0015-section-comments.patch +++ /dev/null @@ -1,27 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - ---- - include/libc-symbols.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -239,12 +239,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/packages/glibc/2.13/0016-no-inline-gmon.patch b/packages/glibc/2.13/0016-no-inline-gmon.patch deleted file mode 100644 index ed02704..0000000 --- a/packages/glibc/2.13/0016-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - ---- - sysdeps/generic/initfini.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/generic/initfini.c -+++ b/sysdeps/generic/initfini.c -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/packages/glibc/2.13/0017-check_native-headers.patch b/packages/glibc/2.13/0017-check_native-headers.patch deleted file mode 100644 index 2b1b619..0000000 --- a/packages/glibc/2.13/0017-check_native-headers.patch +++ /dev/null @@ -1,20 +0,0 @@ -many ports hit this warning: -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' -../sysdeps/unix/sysv/linux/check_native.c:46: warning: implicit declaration of function 'memset' - -snipped from suse - ---- - sysdeps/unix/sysv/linux/check_native.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sysdeps/unix/sysv/linux/check_native.c -+++ b/sysdeps/unix/sysv/linux/check_native.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/packages/glibc/2.13/0018-fix-pr631.patch b/packages/glibc/2.13/0018-fix-pr631.patch deleted file mode 100644 index 636c45d..0000000 --- a/packages/glibc/2.13/0018-fix-pr631.patch +++ /dev/null @@ -1,48 +0,0 @@ -From dank@kegel.com -Wed Jun 15 09:12:43 PDT 2005 - -Fixes - -build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r' -build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent' -... 53 lines deleted ... -build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r' -collect2: ld returned 1 exit status -make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1 - -when building glibc with --enable-static-nss. - -See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631 - ---- - Makeconfig | 2 +- - elf/Makefile | 7 +++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -531,7 +531,7 @@ - - # The static libraries. - ifeq (yes,$(build-static)) --link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a -+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a - else - ifeq (yes,$(build-shared)) - # We can try to link the programs with lib*_pic.a... ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -146,6 +146,13 @@ - install-bin-script = ldd - endif - -+ifeq (yes,$(build-static-nss)) -+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss) -+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv) -+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \ -+ $(resolvobjdir)/libresolv.a -+endif -+ - others = sprof sln - install-bin = sprof - others-static = sln diff --git a/packages/glibc/2.13/0019-assume-pipe2.patch b/packages/glibc/2.13/0019-assume-pipe2.patch deleted file mode 100644 index 0074ea6..0000000 --- a/packages/glibc/2.13/0019-assume-pipe2.patch +++ /dev/null @@ -1,43 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - ---- - socket/have_sock_cloexec.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/socket/have_sock_cloexec.c -+++ b/socket/have_sock_cloexec.c -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/packages/glibc/2.13/0020-china.patch b/packages/glibc/2.13/0020-china.patch deleted file mode 100644 index b323cf6..0000000 --- a/packages/glibc/2.13/0020-china.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - localedata/locales/zh_TW | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/localedata/locales/zh_TW -+++ b/localedata/locales/zh_TW -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/packages/glibc/2.13/0021-new-valencian-locale.patch b/packages/glibc/2.13/0021-new-valencian-locale.patch deleted file mode 100644 index bddc4c7..0000000 --- a/packages/glibc/2.13/0021-new-valencian-locale.patch +++ /dev/null @@ -1,118 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - ---- - localedata/SUPPORTED | 2 - localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 98 insertions(+) - ---- a/localedata/SUPPORTED -+++ b/localedata/SUPPORTED -@@ -72,6 +72,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ ---- /dev/null -+++ b/localedata/locales/ca_ES@valencia -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/packages/glibc/2.13/0022-macos-cross-rpcgen.patch b/packages/glibc/2.13/0022-macos-cross-rpcgen.patch deleted file mode 100644 index b439b0f..0000000 --- a/packages/glibc/2.13/0022-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -69,6 +69,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.13/0023-nscd-one-fork.patch b/packages/glibc/2.13/0023-nscd-one-fork.patch deleted file mode 100644 index 47217b3..0000000 --- a/packages/glibc/2.13/0023-nscd-one-fork.patch +++ /dev/null @@ -1,43 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - ---- - nscd/nscd.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - ---- a/nscd/nscd.c -+++ b/nscd/nscd.c -@@ -182,6 +182,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -231,12 +234,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -245,9 +242,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/packages/glibc/2.13/0024-hppa-nptl-carlos.patch b/packages/glibc/2.13/0024-hppa-nptl-carlos.patch deleted file mode 100644 index 43c4b68..0000000 --- a/packages/glibc/2.13/0024-hppa-nptl-carlos.patch +++ /dev/null @@ -1,249 +0,0 @@ - - ---- - elf/rtld.c | 10 +++++----- - include/atomic.h | 26 +++++++++++++------------- - nptl/Makefile | 35 ++++++++++++++++++++++++++++++++--- - nptl/pthread_barrier_wait.c | 2 +- - nptl/sysdeps/pthread/Makefile | 2 ++ - stdio-common/Makefile | 2 +- - sunrpc/clnt_udp.c | 2 +- - 7 files changed, 55 insertions(+), 24 deletions(-) - ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -392,14 +392,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; ---- a/include/atomic.h -+++ b/include/atomic.h -@@ -185,7 +185,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -206,7 +206,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -224,7 +224,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -242,7 +242,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -259,7 +259,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -277,7 +277,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -361,7 +361,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -400,7 +400,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -418,7 +418,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -450,7 +450,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -468,7 +468,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -484,7 +484,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -500,7 +500,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ ---- a/nptl/Makefile -+++ b/nptl/Makefile -@@ -265,9 +265,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -426,6 +426,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror ---- a/nptl/pthread_barrier_wait.c -+++ b/nptl/pthread_barrier_wait.c -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ ---- a/nptl/sysdeps/pthread/Makefile -+++ b/nptl/sysdeps/pthread/Makefile -@@ -33,7 +33,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -456,7 +456,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/packages/glibc/2.13/0025-dl_execstack-PaX-support.patch b/packages/glibc/2.13/0025-dl_execstack-PaX-support.patch deleted file mode 100644 index bfd7557..0000000 --- a/packages/glibc/2.13/0025-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,69 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - ---- - nptl/allocatestack.c | 3 ++- - sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++--- - 2 files changed, 18 insertions(+), 4 deletions(-) - ---- a/nptl/allocatestack.c -+++ b/nptl/allocatestack.c -@@ -329,7 +329,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } ---- a/sysdeps/unix/sysv/linux/dl-execstack.c -+++ b/sysdeps/unix/sysv/linux/dl-execstack.c -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/packages/glibc/2.13/0026-pre20040117-pt_pax.patch b/packages/glibc/2.13/0026-pre20040117-pt_pax.patch deleted file mode 100644 index ec17d24..0000000 --- a/packages/glibc/2.13/0026-pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - elf/elf.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/elf/elf.h -+++ b/elf/elf.h -@@ -580,6 +580,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -593,6 +594,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/packages/glibc/2.13/0027-tests-sandbox-libdl-paths.patch b/packages/glibc/2.13/0027-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 1c4ee59..0000000 --- a/packages/glibc/2.13/0027-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,196 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - ---- - grp/tst_fgetgrent.sh | 3 ++- - iconvdata/run-iconv-test.sh | 2 +- - iconvdata/tst-table.sh | 5 ++++- - intl/tst-codeset.sh | 3 +++ - intl/tst-gettext.sh | 5 ++++- - intl/tst-gettext2.sh | 5 ++++- - intl/tst-translit.sh | 5 ++++- - malloc/tst-mtrace.sh | 5 ++++- - nptl/tst-tls6.sh | 4 ++-- - posix/globtest.sh | 2 +- - posix/tst-getconf.sh | 5 ++++- - posix/wordexp-tst.sh | 5 ++++- - 12 files changed, 37 insertions(+), 12 deletions(-) - ---- a/grp/tst_fgetgrent.sh -+++ b/grp/tst_fgetgrent.sh -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - ---- a/iconvdata/run-iconv-test.sh -+++ b/iconvdata/run-iconv-test.sh -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ ---- a/iconvdata/tst-table.sh -+++ b/iconvdata/tst-table.sh -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - ---- a/intl/tst-codeset.sh -+++ b/intl/tst-codeset.sh -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - ---- a/intl/tst-gettext.sh -+++ b/intl/tst-gettext.sh -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? ---- a/intl/tst-gettext2.sh -+++ b/intl/tst-gettext2.sh -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? ---- a/malloc/tst-mtrace.sh -+++ b/malloc/tst-mtrace.sh -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then ---- a/nptl/tst-tls6.sh -+++ b/nptl/tst-tls6.sh -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - ---- a/posix/globtest.sh -+++ b/posix/globtest.sh -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C ---- a/posix/tst-getconf.sh -+++ b/posix/tst-getconf.sh -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - ---- a/posix/wordexp-tst.sh -+++ b/posix/wordexp-tst.sh -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/packages/glibc/2.13/0028-dont-build-timezone.patch b/packages/glibc/2.13/0028-dont-build-timezone.patch deleted file mode 100644 index b0fb8fc..0000000 --- a/packages/glibc/2.13/0028-dont-build-timezone.patch +++ /dev/null @@ -1,17 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - ---- - Makeconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -944,7 +944,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/packages/glibc/2.13/0029-alpha-xstat.patch b/packages/glibc/2.13/0029-alpha-xstat.patch deleted file mode 100644 index 4fa9517..0000000 --- a/packages/glibc/2.13/0029-alpha-xstat.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -386,6 +386,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/packages/glibc/2.13/0030-alpha-creat.patch b/packages/glibc/2.13/0030-alpha-creat.patch deleted file mode 100644 index 6ef5278..0000000 --- a/packages/glibc/2.13/0030-alpha-creat.patch +++ /dev/null @@ -1,17 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - ---- - sysdeps/unix/sysv/linux/wordsize-64/creat64.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/packages/glibc/2.13/0031-alpha_alpha-add-fdatasync-support.patch b/packages/glibc/2.13/0031-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index b248cc6..0000000 --- a/packages/glibc/2.13/0031-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -20,6 +20,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write prlimit - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - - sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/fdatasync.c -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -459,6 +459,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ ---- a/sysdeps/unix/sysv/linux/syscalls.list -+++ b/sysdeps/unix/sysv/linux/syscalls.list -@@ -11,7 +11,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/packages/glibc/2.13/0032-ppc-atomic.patch b/packages/glibc/2.13/0032-ppc-atomic.patch deleted file mode 100644 index a38c1c5..0000000 --- a/packages/glibc/2.13/0032-ppc-atomic.patch +++ /dev/null @@ -1,412 +0,0 @@ -sniped from suse - ---- - sysdeps/powerpc/bits/atomic.h | 66 ++++++++++----------- - sysdeps/powerpc/powerpc32/bits/atomic.h | 16 ++--- - sysdeps/powerpc/powerpc64/bits/atomic.h | 98 ++++++++++++++++---------------- - 3 files changed, 90 insertions(+), 90 deletions(-) - ---- a/sysdeps/powerpc/bits/atomic.h -+++ b/sysdeps/powerpc/bits/atomic.h -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) ---- a/sysdeps/powerpc/powerpc32/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc32/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) ---- a/sysdeps/powerpc/powerpc64/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/packages/glibc/2.13/0033-mips_shn_undef-hack.patch b/packages/glibc/2.13/0033-mips_shn_undef-hack.patch deleted file mode 100644 index 2f9d656..0000000 --- a/packages/glibc/2.13/0033-mips_shn_undef-hack.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - elf/dl-lookup.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/elf/dl-lookup.c -+++ b/elf/dl-lookup.c -@@ -301,6 +301,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/packages/glibc/2.13/0034-alpha-atfcts.patch b/packages/glibc/2.13/0034-alpha-atfcts.patch deleted file mode 100644 index 2eff918..0000000 --- a/packages/glibc/2.13/0034-alpha-atfcts.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -437,7 +437,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/packages/glibc/2.13/0035-syslog.patch b/packages/glibc/2.13/0035-syslog.patch deleted file mode 100644 index a2d9722..0000000 --- a/packages/glibc/2.13/0035-syslog.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - misc/syslog.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/misc/syslog.c -+++ b/misc/syslog.c -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/packages/glibc/2.13/0036-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc/2.13/0036-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index 0b930f3..0000000 --- a/packages/glibc/2.13/0036-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - debug/readlink_chk.c | 2 +- - debug/readlinkat_chk.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/debug/readlink_chk.c -+++ b/debug/readlink_chk.c -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); ---- a/debug/readlinkat_chk.c -+++ b/debug/readlinkat_chk.c -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/packages/glibc/2.13/0037-march-i686.patch b/packages/glibc/2.13/0037-march-i686.patch deleted file mode 100644 index e5ad2e0..0000000 --- a/packages/glibc/2.13/0037-march-i686.patch +++ /dev/null @@ -1,37 +0,0 @@ -2007-02-15 Khem Raj - - * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686. - * nptl/sysdeps/pthread/pt-initfini.c: Ditto. - ---- - nptl/sysdeps/pthread/pt-initfini.c | 5 +++++ - sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++ - 2 files changed, 9 insertions(+) - ---- a/nptl/sysdeps/pthread/pt-initfini.c -+++ b/nptl/sysdeps/pthread/pt-initfini.c -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - ---- a/sysdeps/unix/sysv/linux/i386/sysdep.h -+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/packages/glibc/2.13/0038-typedef-caddr.patch b/packages/glibc/2.13/0038-typedef-caddr.patch deleted file mode 100644 index 384338a..0000000 --- a/packages/glibc/2.13/0038-typedef-caddr.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- - posix/sys/types.h | 3 +++ - sunrpc/rpc/types.h | 3 +++ - 2 files changed, 6 insertions(+) - ---- a/posix/sys/types.h -+++ b/posix/sys/types.h -@@ -114,7 +114,10 @@ - #ifdef __USE_BSD - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -86,7 +86,10 @@ - #endif - #ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - #endif - diff --git a/packages/glibc/2.13/0039-fix-rpc_parse-format.patch b/packages/glibc/2.13/0039-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.13/0039-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.13/0040-nis-bogus-conditional.patch b/packages/glibc/2.13/0040-nis-bogus-conditional.patch deleted file mode 100644 index 732b859..0000000 --- a/packages/glibc/2.13/0040-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -293,7 +293,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.13/0041-initfini-ppc64.patch b/packages/glibc/2.13/0041-initfini-ppc64.patch deleted file mode 100644 index c63c654..0000000 --- a/packages/glibc/2.13/0041-initfini-ppc64.patch +++ /dev/null @@ -1,24 +0,0 @@ -Prevent erroneous inline optimization of initfini.s on PowerPC64. - -The problem and the fix was reported there: -http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html -Git commit: -commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6 -Author: Ryan S. Arnold -Date: Tue May 3 17:26:17 2011 -0500 - ---- - sysdeps/powerpc/powerpc64/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/powerpc/powerpc64/Makefile -+++ b/sysdeps/powerpc/powerpc64/Makefile -@@ -28,7 +28,7 @@ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. --CFLAGS-initfini.s += -fpic -O1 -+CFLAGS-initfini.s += -fpic -O1 -fno-inline - endif - endif - diff --git a/packages/glibc/2.13/0042-obstack-common.patch b/packages/glibc/2.13/0042-obstack-common.patch deleted file mode 100644 index 1993be2..0000000 --- a/packages/glibc/2.13/0042-obstack-common.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 -Author: Peter Collingbourne -Date: Wed May 15 20:28:08 2013 +0200 - - Move _obstack_compat out of common - - it is impossible to create an alias of a common symbol (as - compat_symbol does), because common symbols do not have a section or - an offset until linked. GNU as tolerates aliases of common symbols by - simply creating another common symbol, but other assemblers (notably - LLVM's integrated assembler) are less tolerant. - - 2013-05-15 Peter Collingbourne - - * malloc/obstack.c (_obstack_compat): Add initializer. - - - ---- - malloc/obstack.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/malloc/obstack.c -+++ b/malloc/obstack.c -@@ -117,7 +117,7 @@ - /* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ --struct obstack *_obstack_compat; -+struct obstack *_obstack_compat = 0; - compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); - # endif - # endif diff --git a/packages/glibc/2.13/0043-new-tools.patch b/packages/glibc/2.13/0043-new-tools.patch deleted file mode 100644 index 9f71001..0000000 --- a/packages/glibc/2.13/0043-new-tools.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- - configure | 8 ++++---- - configure.in | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - ---- a/configure -+++ b/configure -@@ -5041,7 +5041,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;; -- 3.4* | 4.[0-9]* ) -+ 3.4* | [4-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;; - -@@ -5104,7 +5104,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - -@@ -5231,7 +5231,7 @@ - ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.*) -+ [4-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -5291,7 +5291,7 @@ - # Found it, now check the version. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5 - $as_echo_n "checking version of $SED... " >&6; } -- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.0[2-9]*|3.[1-9]*|[4-9]*) ---- a/configure.in -+++ b/configure.in -@@ -1026,11 +1026,11 @@ - # These programs are version sensitive. - AC_CHECK_TOOL_PREFIX - AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, -- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ], -+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ], - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], -@@ -1038,10 +1038,10 @@ - MSGFMT=: aux_missing="$aux_missing msgfmt") - AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, - [GNU texinfo.* \([0-9][0-9.]*\)], -- [4.*], -+ [[4-9].*], - MAKEINFO=: aux_missing="$aux_missing makeinfo") - AC_CHECK_PROG_VER(SED, sed, --version, -- [GNU sed version \([0-9]*\.[0-9.]*\)], -+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)], - [3.0[2-9]*|3.[1-9]*|[4-9]*], - SED=: aux_missing="$aux_missing sed") - diff --git a/packages/glibc/2.13/0044-strftime-multiple-stmts.patch b/packages/glibc/2.13/0044-strftime-multiple-stmts.patch deleted file mode 100644 index e544b33..0000000 --- a/packages/glibc/2.13/0044-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -742,12 +742,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.13/0045-if_nametoindex-size-check.patch b/packages/glibc/2.13/0045-if_nametoindex-size-check.patch deleted file mode 100644 index 5803db5..0000000 --- a/packages/glibc/2.13/0045-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -54,6 +54,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.13/0046-utmp-nonstring.patch b/packages/glibc/2.13/0046-utmp-nonstring.patch deleted file mode 100644 index b789724..0000000 --- a/packages/glibc/2.13/0046-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -350,6 +350,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.13/0047-getlogin_r-use-strnlen.patch b/packages/glibc/2.13/0047-getlogin_r-use-strnlen.patch deleted file mode 100644 index 15a16bd..0000000 --- a/packages/glibc/2.13/0047-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -83,7 +83,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -92,7 +92,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.13/0048-zic.c-use-memcpy.patch b/packages/glibc/2.13/0048-zic.c-use-memcpy.patch deleted file mode 100644 index 4c89446..0000000 --- a/packages/glibc/2.13/0048-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1648,7 +1648,7 @@ - #define DO(field) (void) fwrite((void *) tzh.field, \ - (size_t) sizeof tzh.field, (size_t) 1, fp) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.13/chksum b/packages/glibc/2.13/chksum deleted file mode 100644 index 55c5c6c..0000000 --- a/packages/glibc/2.13/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.13.tar.xz cc5d8b1b994fb3b870222565c79853ca -sha1 glibc-2.13.tar.xz 38e7d510b41a2c36eb392c79eb5c80e0ec35a7f2 -sha256 glibc-2.13.tar.xz 98ee47fc77b01d5805e2cad3ed8e5515220ff32626a049dff3d5529b8f8bdcc1 -sha512 glibc-2.13.tar.xz e956eb9f9644bd6639e2259cc5ddf90689dffcf9cce85de8b7e1ff0df0c333c13bbf9d2b409ca6b0ba5b53dbb921a84e6a07f763adceb745845c9d0cf0777216 -md5 glibc-2.13.tar.bz2 38808215a7c40aa0bb47a5e6d3d12475 -sha1 glibc-2.13.tar.bz2 14d83dced873a21a3da6a0bfa0926f40d82ef980 -sha256 glibc-2.13.tar.bz2 0173c92a0545e6d99a46a4fbed2da00ba26556f5c6198e2f9f1631ed5318dbb2 -sha512 glibc-2.13.tar.bz2 7fdae9acdbe8cbfda008f107ffd1559c0163ff70730a5bc618f1f15b64096a813a3495e0b2d2be7b7206bef3ed9ca67a68fd2004c8275ffeffa38b70c80887e0 -md5 glibc-2.13.tar.gz fafabe01cb9748acb0a11a6879ebaa7e -sha1 glibc-2.13.tar.gz 99510a8b19aa822a05d8323d1bb25241579bc006 -sha256 glibc-2.13.tar.gz bd90d6119bcc2898befd6e1bbb2cb1ed3bb1c2997d5eaa6fdbca4ee16191a906 -sha512 glibc-2.13.tar.gz 8b94a42a243f728c5ae58e5197e850241f11aafdd09ecc1df63bceb9df3f769e018cbcf3af3b3a09da68fd238d52e3026434a8dc825fd8fdc6ecc16962cf8d32 diff --git a/packages/glibc/2.13/version.desc b/packages/glibc/2.13/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.13/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.14.1/0000-respect-env-CPPFLAGS.patch b/packages/glibc/2.14.1/0000-respect-env-CPPFLAGS.patch deleted file mode 100644 index 8bb8679..0000000 --- a/packages/glibc/2.14.1/0000-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,17 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - ---- - Makeconfig | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -699,6 +699,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$( -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -682,16 +682,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -328,18 +328,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.14.1/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.14.1/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index 5f76afe..0000000 --- a/packages/glibc/2.14.1/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -98,15 +98,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -90,15 +90,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -65,13 +65,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -63,13 +63,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.14.1/0003-dl-openat64-variadic.patch b/packages/glibc/2.14.1/0003-dl-openat64-variadic.patch deleted file mode 100644 index e69bb17..0000000 --- a/packages/glibc/2.14.1/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -24,10 +24,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.14.1/0004-unused-variables.patch b/packages/glibc/2.14.1/0004-unused-variables.patch deleted file mode 100644 index 18adb17..0000000 --- a/packages/glibc/2.14.1/0004-unused-variables.patch +++ /dev/null @@ -1,159 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 6 ------ - sysdeps/ieee754/flt-32/s_cosf.c | 6 ------ - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - 9 files changed, 1 insertion(+), 26 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -69,10 +69,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -139,10 +137,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -30,7 +30,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -36,7 +36,6 @@ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ - /**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -51,7 +50,6 @@ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ - /**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -31,12 +31,6 @@ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - - #ifdef __STDC__ --static const float zero = 0.0; --#else --static float zero = 0.0; --#endif -- --#ifdef __STDC__ - float __ieee754_log10f(float x) - #else - float __ieee754_log10f(x) ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -22,12 +22,6 @@ - #include "math_private.h" - - #ifdef __STDC__ --static const float one=1.0; --#else --static float one=1.0; --#endif -- --#ifdef __STDC__ - float __cosf(float x) - #else - float __cosf(x) ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -142,7 +142,6 @@ - static long double - #endif - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double diff --git a/packages/glibc/2.14.1/0005-misleading-indentation.patch b/packages/glibc/2.14.1/0005-misleading-indentation.patch deleted file mode 100644 index 35bcb1b..0000000 --- a/packages/glibc/2.14.1/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -82,7 +82,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.14.1/0006-dl-open-array-bounds.patch b/packages/glibc/2.14.1/0006-dl-open-array-bounds.patch deleted file mode 100644 index a61f1a5..0000000 --- a/packages/glibc/2.14.1/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -540,8 +540,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if ((nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && ((nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.14.1/0007-i386-x86_64-revert-clone-cfi.patch b/packages/glibc/2.14.1/0007-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index f872bac..0000000 --- a/packages/glibc/2.14.1/0007-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,51 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - ---- - sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- - sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- - 2 files changed, 8 deletions(-) - ---- a/sysdeps/unix/sysv/linux/i386/clone.S -+++ b/sysdeps/unix/sysv/linux/i386/clone.S -@@ -120,9 +120,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) ---- a/sysdeps/unix/sysv/linux/x86_64/clone.S -+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -89,9 +89,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/packages/glibc/2.14.1/0008-disable-ldconfig.patch b/packages/glibc/2.14.1/0008-disable-ldconfig.patch deleted file mode 100644 index d60cb40..0000000 --- a/packages/glibc/2.14.1/0008-disable-ldconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -do not bother running ldconfig on DESTDIR. it wants to write the temp cache -file outside of the chroot. doesnt matter anyways as we wont use the cache -results (portage will rebuild cache), so running ldconfig is simply a waste -of time. - ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makefile -+++ b/Makefile -@@ -116,6 +116,7 @@ - rm -f $(symbolic-link-list) - - install: -+dont-bother-with-destdir: - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \ - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \ - $(slibdir) $(libdir) diff --git a/packages/glibc/2.14.1/0009-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.14.1/0009-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index 5e68aa3..0000000 --- a/packages/glibc/2.14.1/0009-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6377,7 +6377,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1655,7 +1655,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if readelf -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.14.1/0010-queue-header-updates.patch b/packages/glibc/2.14.1/0010-queue-header-updates.patch deleted file mode 100644 index f6515e2..0000000 --- a/packages/glibc/2.14.1/0010-queue-header-updates.patch +++ /dev/null @@ -1,86 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - ---- - misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - ---- a/misc/sys/queue.h -+++ b/misc/sys/queue.h -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/packages/glibc/2.14.1/0011-manual-no-perl.patch b/packages/glibc/2.14.1/0011-manual-no-perl.patch deleted file mode 100644 index 7e232aa..0000000 --- a/packages/glibc/2.14.1/0011-manual-no-perl.patch +++ /dev/null @@ -1,27 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - ---- - manual/Makefile | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -106,9 +106,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/packages/glibc/2.14.1/0012-localedef-fix-trampoline.patch b/packages/glibc/2.14.1/0012-localedef-fix-trampoline.patch deleted file mode 100644 index 3b8fd6e..0000000 --- a/packages/glibc/2.14.1/0012-localedef-fix-trampoline.patch +++ /dev/null @@ -1,56 +0,0 @@ -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 ---- -# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++ -# 1 file changed, 36 insertions(+) -# ---- a/locale/programs/3level.h -+++ b/locale/programs/3level.h -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/packages/glibc/2.14.1/0013-resolv-dynamic.patch b/packages/glibc/2.14.1/0013-resolv-dynamic.patch deleted file mode 100644 index fcc2f80..0000000 --- a/packages/glibc/2.14.1/0013-resolv-dynamic.patch +++ /dev/null @@ -1,42 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - ---- - resolv/res_libc.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/resolv/res_libc.c -+++ b/resolv/res_libc.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/packages/glibc/2.14.1/0014-localedef-mmap.patch b/packages/glibc/2.14.1/0014-localedef-mmap.patch deleted file mode 100644 index 74e586e..0000000 --- a/packages/glibc/2.14.1/0014-localedef-mmap.patch +++ /dev/null @@ -1,42 +0,0 @@ -sniped from Debian -http://bugs.gentoo.org/289615 - -2009-10-27 Aurelien Jarno - - * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory - used later with MMAP_FIXED | MMAP_SHARED to cope with different - alignment restrictions. - ---- - locale/programs/locarchive.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/locale/programs/locarchive.c -+++ b/locale/programs/locarchive.c -@@ -134,7 +134,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -396,7 +396,7 @@ - size_t reserved = RESERVE_MMAP_SIZE; - int xflags = 0; - if (total < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else -@@ -614,7 +614,7 @@ - int xflags = 0; - void *p; - if (st.st_size < reserved -- && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON, -+ && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON, - -1, 0)) != MAP_FAILED)) - xflags = MAP_FIXED; - else diff --git a/packages/glibc/2.14.1/0015-fadvise64_64.patch b/packages/glibc/2.14.1/0015-fadvise64_64.patch deleted file mode 100644 index 191d833..0000000 --- a/packages/glibc/2.14.1/0015-fadvise64_64.patch +++ /dev/null @@ -1,27 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/sysdeps/unix/sysv/linux/posix_fadvise.c -+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/packages/glibc/2.14.1/0016-section-comments.patch b/packages/glibc/2.14.1/0016-section-comments.patch deleted file mode 100644 index 4718f22..0000000 --- a/packages/glibc/2.14.1/0016-section-comments.patch +++ /dev/null @@ -1,27 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - ---- - include/libc-symbols.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -240,12 +240,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/packages/glibc/2.14.1/0017-no-inline-gmon.patch b/packages/glibc/2.14.1/0017-no-inline-gmon.patch deleted file mode 100644 index ed02704..0000000 --- a/packages/glibc/2.14.1/0017-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - ---- - sysdeps/generic/initfini.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/generic/initfini.c -+++ b/sysdeps/generic/initfini.c -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/packages/glibc/2.14.1/0018-assume-pipe2.patch b/packages/glibc/2.14.1/0018-assume-pipe2.patch deleted file mode 100644 index 0074ea6..0000000 --- a/packages/glibc/2.14.1/0018-assume-pipe2.patch +++ /dev/null @@ -1,43 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - ---- - socket/have_sock_cloexec.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/socket/have_sock_cloexec.c -+++ b/socket/have_sock_cloexec.c -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/packages/glibc/2.14.1/0019-china.patch b/packages/glibc/2.14.1/0019-china.patch deleted file mode 100644 index b323cf6..0000000 --- a/packages/glibc/2.14.1/0019-china.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - localedata/locales/zh_TW | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/localedata/locales/zh_TW -+++ b/localedata/locales/zh_TW -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/packages/glibc/2.14.1/0020-new-valencian-locale.patch b/packages/glibc/2.14.1/0020-new-valencian-locale.patch deleted file mode 100644 index fab1ee3..0000000 --- a/packages/glibc/2.14.1/0020-new-valencian-locale.patch +++ /dev/null @@ -1,118 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - ---- - localedata/SUPPORTED | 2 - localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 98 insertions(+) - ---- a/localedata/SUPPORTED -+++ b/localedata/SUPPORTED -@@ -73,6 +73,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ ---- /dev/null -+++ b/localedata/locales/ca_ES@valencia -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/packages/glibc/2.14.1/0021-macos-cross-rpcgen.patch b/packages/glibc/2.14.1/0021-macos-cross-rpcgen.patch deleted file mode 100644 index b439b0f..0000000 --- a/packages/glibc/2.14.1/0021-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -69,6 +69,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.14.1/0022-nscd-one-fork.patch b/packages/glibc/2.14.1/0022-nscd-one-fork.patch deleted file mode 100644 index 47217b3..0000000 --- a/packages/glibc/2.14.1/0022-nscd-one-fork.patch +++ /dev/null @@ -1,43 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - ---- - nscd/nscd.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - ---- a/nscd/nscd.c -+++ b/nscd/nscd.c -@@ -182,6 +182,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -231,12 +234,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -245,9 +242,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/packages/glibc/2.14.1/0023-hppa-nptl-carlos.patch b/packages/glibc/2.14.1/0023-hppa-nptl-carlos.patch deleted file mode 100644 index a385a6b..0000000 --- a/packages/glibc/2.14.1/0023-hppa-nptl-carlos.patch +++ /dev/null @@ -1,249 +0,0 @@ - - ---- - elf/rtld.c | 10 +++++----- - include/atomic.h | 26 +++++++++++++------------- - nptl/Makefile | 35 ++++++++++++++++++++++++++++++++--- - nptl/pthread_barrier_wait.c | 2 +- - nptl/sysdeps/pthread/Makefile | 2 ++ - stdio-common/Makefile | 2 +- - sunrpc/clnt_udp.c | 2 +- - 7 files changed, 55 insertions(+), 24 deletions(-) - ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -392,14 +392,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; ---- a/include/atomic.h -+++ b/include/atomic.h -@@ -185,7 +185,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -206,7 +206,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -224,7 +224,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -242,7 +242,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -259,7 +259,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -277,7 +277,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -361,7 +361,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -400,7 +400,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -418,7 +418,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -450,7 +450,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -468,7 +468,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -484,7 +484,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -500,7 +500,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ ---- a/nptl/Makefile -+++ b/nptl/Makefile -@@ -265,9 +265,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -426,6 +426,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror ---- a/nptl/pthread_barrier_wait.c -+++ b/nptl/pthread_barrier_wait.c -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ ---- a/nptl/sysdeps/pthread/Makefile -+++ b/nptl/sysdeps/pthread/Makefile -@@ -33,7 +33,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -463,7 +463,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch b/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch deleted file mode 100644 index 7b56549..0000000 --- a/packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,69 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - ---- - nptl/allocatestack.c | 3 ++- - sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++--- - 2 files changed, 18 insertions(+), 4 deletions(-) - ---- a/nptl/allocatestack.c -+++ b/nptl/allocatestack.c -@@ -335,7 +335,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } ---- a/sysdeps/unix/sysv/linux/dl-execstack.c -+++ b/sysdeps/unix/sysv/linux/dl-execstack.c -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/packages/glibc/2.14.1/0025-pre20040117-pt_pax.patch b/packages/glibc/2.14.1/0025-pre20040117-pt_pax.patch deleted file mode 100644 index ec17d24..0000000 --- a/packages/glibc/2.14.1/0025-pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - elf/elf.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/elf/elf.h -+++ b/elf/elf.h -@@ -580,6 +580,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -593,6 +594,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/packages/glibc/2.14.1/0026-tests-sandbox-libdl-paths.patch b/packages/glibc/2.14.1/0026-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 1c4ee59..0000000 --- a/packages/glibc/2.14.1/0026-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,196 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - ---- - grp/tst_fgetgrent.sh | 3 ++- - iconvdata/run-iconv-test.sh | 2 +- - iconvdata/tst-table.sh | 5 ++++- - intl/tst-codeset.sh | 3 +++ - intl/tst-gettext.sh | 5 ++++- - intl/tst-gettext2.sh | 5 ++++- - intl/tst-translit.sh | 5 ++++- - malloc/tst-mtrace.sh | 5 ++++- - nptl/tst-tls6.sh | 4 ++-- - posix/globtest.sh | 2 +- - posix/tst-getconf.sh | 5 ++++- - posix/wordexp-tst.sh | 5 ++++- - 12 files changed, 37 insertions(+), 12 deletions(-) - ---- a/grp/tst_fgetgrent.sh -+++ b/grp/tst_fgetgrent.sh -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - ---- a/iconvdata/run-iconv-test.sh -+++ b/iconvdata/run-iconv-test.sh -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ ---- a/iconvdata/tst-table.sh -+++ b/iconvdata/tst-table.sh -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - ---- a/intl/tst-codeset.sh -+++ b/intl/tst-codeset.sh -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - ---- a/intl/tst-gettext.sh -+++ b/intl/tst-gettext.sh -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? ---- a/intl/tst-gettext2.sh -+++ b/intl/tst-gettext2.sh -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? ---- a/malloc/tst-mtrace.sh -+++ b/malloc/tst-mtrace.sh -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then ---- a/nptl/tst-tls6.sh -+++ b/nptl/tst-tls6.sh -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - ---- a/posix/globtest.sh -+++ b/posix/globtest.sh -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C ---- a/posix/tst-getconf.sh -+++ b/posix/tst-getconf.sh -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - ---- a/posix/wordexp-tst.sh -+++ b/posix/wordexp-tst.sh -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/packages/glibc/2.14.1/0027-dont-build-timezone.patch b/packages/glibc/2.14.1/0027-dont-build-timezone.patch deleted file mode 100644 index 9bbcde3..0000000 --- a/packages/glibc/2.14.1/0027-dont-build-timezone.patch +++ /dev/null @@ -1,17 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - ---- - Makeconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -946,7 +946,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/packages/glibc/2.14.1/0028-alpha-xstat.patch b/packages/glibc/2.14.1/0028-alpha-xstat.patch deleted file mode 100644 index 4fa9517..0000000 --- a/packages/glibc/2.14.1/0028-alpha-xstat.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -386,6 +386,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/packages/glibc/2.14.1/0029-alpha-creat.patch b/packages/glibc/2.14.1/0029-alpha-creat.patch deleted file mode 100644 index 6ef5278..0000000 --- a/packages/glibc/2.14.1/0029-alpha-creat.patch +++ /dev/null @@ -1,17 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - ---- - sysdeps/unix/sysv/linux/wordsize-64/creat64.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/packages/glibc/2.14.1/0030-alpha_alpha-add-fdatasync-support.patch b/packages/glibc/2.14.1/0030-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index eeef22a..0000000 --- a/packages/glibc/2.14.1/0030-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -21,6 +21,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write prlimit - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - - sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/fdatasync.c -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -459,6 +459,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ ---- a/sysdeps/unix/sysv/linux/syscalls.list -+++ b/sysdeps/unix/sysv/linux/syscalls.list -@@ -12,7 +12,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/packages/glibc/2.14.1/0031-ppc-atomic.patch b/packages/glibc/2.14.1/0031-ppc-atomic.patch deleted file mode 100644 index a38c1c5..0000000 --- a/packages/glibc/2.14.1/0031-ppc-atomic.patch +++ /dev/null @@ -1,412 +0,0 @@ -sniped from suse - ---- - sysdeps/powerpc/bits/atomic.h | 66 ++++++++++----------- - sysdeps/powerpc/powerpc32/bits/atomic.h | 16 ++--- - sysdeps/powerpc/powerpc64/bits/atomic.h | 98 ++++++++++++++++---------------- - 3 files changed, 90 insertions(+), 90 deletions(-) - ---- a/sysdeps/powerpc/bits/atomic.h -+++ b/sysdeps/powerpc/bits/atomic.h -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) ---- a/sysdeps/powerpc/powerpc32/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc32/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) ---- a/sysdeps/powerpc/powerpc64/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/packages/glibc/2.14.1/0032-mips_shn_undef-hack.patch b/packages/glibc/2.14.1/0032-mips_shn_undef-hack.patch deleted file mode 100644 index a12c977..0000000 --- a/packages/glibc/2.14.1/0032-mips_shn_undef-hack.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - elf/dl-lookup.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/elf/dl-lookup.c -+++ b/elf/dl-lookup.c -@@ -300,6 +300,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/packages/glibc/2.14.1/0033-alpha-atfcts.patch b/packages/glibc/2.14.1/0033-alpha-atfcts.patch deleted file mode 100644 index 2eff918..0000000 --- a/packages/glibc/2.14.1/0033-alpha-atfcts.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -437,7 +437,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/packages/glibc/2.14.1/0034-syslog.patch b/packages/glibc/2.14.1/0034-syslog.patch deleted file mode 100644 index a2d9722..0000000 --- a/packages/glibc/2.14.1/0034-syslog.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - misc/syslog.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/misc/syslog.c -+++ b/misc/syslog.c -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/packages/glibc/2.14.1/0035-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc/2.14.1/0035-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index 0b930f3..0000000 --- a/packages/glibc/2.14.1/0035-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - debug/readlink_chk.c | 2 +- - debug/readlinkat_chk.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/debug/readlink_chk.c -+++ b/debug/readlink_chk.c -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); ---- a/debug/readlinkat_chk.c -+++ b/debug/readlinkat_chk.c -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/packages/glibc/2.14.1/0036-cpuid-include.patch b/packages/glibc/2.14.1/0036-cpuid-include.patch deleted file mode 100644 index ac5c153..0000000 --- a/packages/glibc/2.14.1/0036-cpuid-include.patch +++ /dev/null @@ -1,630 +0,0 @@ -This patch fixes another configure test issue when bootstrapping. -sysdeps/i386/configure.in uses the obsolete AC_HEADER_CHECK macro to -test for cpuid.h, and that macro tries to include various other -standard headers (which come from the library, unlike cpuid.h which -comes from the compiler, so aren't available when bootstrapping) in -the test code it compiles. This patch changes the code to use -AC_CHECK_HEADER, with the fourth argument used to prevent any default -includes being used in the test. - -Tested x86_64 (native). - -2012-03-07 Joseph Myers - - * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no - default includes instead of AC_HEADER_CHECK. - * sysdeps/i386/configure: Regenerated. - -Origin: http://sourceware.org/ml/libc-alpha/2012-03/msg00177.html - ---- - sysdeps/i386/configure | 502 +--------------------------------------------- - sysdeps/i386/configure.in | 5 - 2 files changed, 17 insertions(+), 490 deletions(-) - ---- a/sysdeps/i386/configure -+++ b/sysdeps/i386/configure -@@ -16,23 +16,6 @@ - as_fn_set_status $1 - exit $1 - } # as_fn_exit --# as_fn_arith ARG... --# ------------------ --# Perform arithmetic evaluation on the ARGs, and store the result in the --# global $as_val. Take advantage of shells that can avoid forks. The arguments --# must be portable across $(()) and expr. --if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -- eval 'as_fn_arith () -- { -- as_val=$(( $* )) -- }' --else -- as_fn_arith () -- { -- as_val=`expr "$@" || test $? -eq 1` -- } --fi # as_fn_arith -- - if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -@@ -89,6 +72,10 @@ - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). -@@ -97,42 +84,6 @@ - exit - } - --# Factoring default headers for most tests. --ac_includes_default="\ --#include --#ifdef HAVE_SYS_TYPES_H --# include --#endif --#ifdef HAVE_SYS_STAT_H --# include --#endif --#ifdef STDC_HEADERS --# include --# include --#else --# ifdef HAVE_STDLIB_H --# include --# endif --#endif --#ifdef HAVE_STRING_H --# if !defined STDC_HEADERS && defined HAVE_MEMORY_H --# include --# endif --# include --#endif --#ifdef HAVE_STRINGS_H --# include --#endif --#ifdef HAVE_INTTYPES_H --# include --#endif --#ifdef HAVE_STDINT_H --# include --#endif --#ifdef HAVE_UNISTD_H --# include --#endif" -- - - # ac_fn_c_try_compile LINENO - # -------------------------- -@@ -167,177 +118,11 @@ - - ac_retval=1 - fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - - } # ac_fn_c_try_compile - --# ac_fn_c_try_cpp LINENO --# ---------------------- --# Try to preprocess conftest.$ac_ext, and return whether this succeeded. --ac_fn_c_try_cpp () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err -- ac_status=$? -- if test -s conftest.err; then -- grep -v '^ *+' conftest.err >conftest.er1 -- cat conftest.er1 >&5 -- mv -f conftest.er1 conftest.err -- fi -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then : -- ac_retval=0 --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=1 --fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_cpp -- --# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES --# ------------------------------------------------------- --# Tests whether HEADER exists, giving a warning if it cannot be compiled using --# the include files in INCLUDES and setting the cache variable VAR --# accordingly. --ac_fn_c_check_header_mongrel () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if eval "test \"\${$3+set}\"" = set; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -- $as_echo_n "(cached) " >&6 --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --else -- # Is the header compilable? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 --$as_echo_n "checking $2 usability... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --$4 --#include <$2> --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_header_compiler=yes --else -- ac_header_compiler=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 --$as_echo "$ac_header_compiler" >&6; } -- --# Is the header present? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 --$as_echo_n "checking $2 presence... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include <$2> --_ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : -- ac_header_preproc=yes --else -- ac_header_preproc=no --fi --rm -f conftest.err conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 --$as_echo "$ac_header_preproc" >&6; } -- --# So? What about this header? --case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( -- yes:no: ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 --$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; -- no:yes:* ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 --$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 --$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 --$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 --$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; --esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -- $as_echo_n "(cached) " >&6 --else -- eval "$3=\$ac_header_compiler" --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --fi -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- --} # ac_fn_c_check_header_mongrel -- --# ac_fn_c_try_run LINENO --# ---------------------- --# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes --# that executables *can* be run. --ac_fn_c_try_run () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_link") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then : -- ac_retval=0 --else -- $as_echo "$as_me: program exited with status $ac_status" >&5 -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=$ac_status --fi -- rm -rf conftest.dSYM conftest_ipa8_conftest.oo -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_run -- - # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES - # ------------------------------------------------------- - # Tests whether HEADER exists and can be compiled using the include files in -@@ -347,7 +132,7 @@ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 - $as_echo_n "checking for $2... " >&6; } --if eval "test \"\${$3+set}\"" = set; then : -+if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -365,275 +150,16 @@ - eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - - } # ac_fn_c_check_header_compile - # This file is generated from configure.in by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/i386. - - -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 --$as_echo_n "checking for grep that handles long lines and -e... " >&6; } --if test "${ac_cv_path_GREP+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- if test -z "$GREP"; then -- ac_path_GREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in grep ggrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue --# Check for GNU ac_path_GREP and select it if it is found. -- # Check for GNU $ac_path_GREP --case `"$ac_path_GREP" --version 2>&1` in --*GNU*) -- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'GREP' >> "conftest.nl" -- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_GREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_GREP="$ac_path_GREP" -- ac_path_GREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_GREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_GREP"; then -- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_GREP=$GREP --fi -- --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 --$as_echo "$ac_cv_path_GREP" >&6; } -- GREP="$ac_cv_path_GREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 --$as_echo_n "checking for egrep... " >&6; } --if test "${ac_cv_path_EGREP+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 -- then ac_cv_path_EGREP="$GREP -E" -- else -- if test -z "$EGREP"; then -- ac_path_EGREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in egrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue --# Check for GNU ac_path_EGREP and select it if it is found. -- # Check for GNU $ac_path_EGREP --case `"$ac_path_EGREP" --version 2>&1` in --*GNU*) -- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'EGREP' >> "conftest.nl" -- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_EGREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_EGREP="$ac_path_EGREP" -- ac_path_EGREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_EGREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_EGREP"; then -- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_EGREP=$EGREP --fi -- -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 --$as_echo "$ac_cv_path_EGREP" >&6; } -- EGREP="$ac_cv_path_EGREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 --$as_echo_n "checking for ANSI C header files... " >&6; } --if test "${ac_cv_header_stdc+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#include --#include -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_header_stdc=yes --else -- ac_cv_header_stdc=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -- --if test $ac_cv_header_stdc = yes; then -- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "memchr" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "free" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -- if test "$cross_compiling" = yes; then : -- : --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#if ((' ' & 0x0FF) == 0x020) --# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) --#else --# define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) --# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) --#endif -- --#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) --int --main () --{ -- int i; -- for (i = 0; i < 256; i++) -- if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -- return 2; -- return 0; --} --_ACEOF --if ac_fn_c_try_run "$LINENO"; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -- conftest.$ac_objext conftest.beam conftest.$ac_ext --fi -- --fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 --$as_echo "$ac_cv_header_stdc" >&6; } --if test $ac_cv_header_stdc = yes; then -- --$as_echo "#define STDC_HEADERS 1" >>confdefs.h -- --fi -- --# On IRIX 5.3, sys/types and inttypes.h are conflicting. --for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h --do : -- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` --ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -+ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */ - " --if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : -- cat >>confdefs.h <<_ACEOF --#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 --_ACEOF -- --fi -- --done -- -- --ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" --if test "x$ac_cv_header_cpuid_h" = x""yes; then : -+if test "x$ac_cv_header_cpuid_h" = xyes; then : - - else - as_fn_error $? "gcc must provide the header" "$LINENO" 5 -@@ -643,7 +169,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -g produces usable source locations for assembler-with-cpp" >&5 - $as_echo_n "checking if -g produces usable source locations for assembler-with-cpp... " >&6; } --if test "${libc_cv_cpp_asm_debuginfo+set}" = set; then : -+if ${libc_cv_cpp_asm_debuginfo+:} false; then : - $as_echo_n "(cached) " >&6 - else - cat > conftest.S <&5 - $as_echo_n "checking for SSE4 support... " >&6; } --if test "${libc_cv_cc_sse4+set}" = set; then : -+if ${libc_cv_cc_sse4+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -msse4 -xc /dev/null -S -o /dev/null' -@@ -716,7 +242,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler -mtune=i686 support" >&5 - $as_echo_n "checking for assembler -mtune=i686 support... " >&6; } --if test "${libc_cv_as_i686+set}" = set; then : -+if ${libc_cv_as_i686+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null' -@@ -735,7 +261,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5 - $as_echo_n "checking for AVX support... " >&6; } --if test "${libc_cv_cc_avx+set}" = set; then : -+if ${libc_cv_cc_avx+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -mavx -xc /dev/null -S -o /dev/null' -@@ -758,7 +284,7 @@ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -mno-vzeroupper support" >&5 - $as_echo_n "checking for -mno-vzeroupper support... " >&6; } --if test "${libc_cv_cc_novzeroupper+set}" = set; then : -+if ${libc_cv_cc_novzeroupper+:} false; then : - $as_echo_n "(cached) " >&6 - else - if { ac_try='${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null' ---- a/sysdeps/i386/configure.in -+++ b/sysdeps/i386/configure.in -@@ -1,8 +1,9 @@ - GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. - # Local configure fragment for sysdeps/i386. - --AC_HEADER_CHECK([cpuid.h], , -- [AC_MSG_ERROR([gcc must provide the header])]) -+AC_CHECK_HEADER([cpuid.h], , -+ [AC_MSG_ERROR([gcc must provide the header])], -+ [/* No default includes. */]) - - AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, - libc_cv_cpp_asm_debuginfo, [dnl diff --git a/packages/glibc/2.14.1/0037-asm-i686.patch b/packages/glibc/2.14.1/0037-asm-i686.patch deleted file mode 100644 index ea3c88a..0000000 --- a/packages/glibc/2.14.1/0037-asm-i686.patch +++ /dev/null @@ -1,52 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-18 -Initial Package Version: 2.11.1 -Upstream Status: Not Submitted -Origin: http://www.eglibc.org/archives/patches/msg00073.html -Description: Fixes the following build problem with GCC-4.5.0: - -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os -./sysdeps/i386/fpu/s_frexp.S: Assembler messages: -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1 - ---- - nptl/sysdeps/pthread/pt-initfini.c | 5 +++++ - sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++ - 2 files changed, 9 insertions(+) - ---- a/nptl/sysdeps/pthread/pt-initfini.c -+++ b/nptl/sysdeps/pthread/pt-initfini.c -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - ---- a/sysdeps/unix/sysv/linux/i386/sysdep.h -+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/packages/glibc/2.14.1/0038-fix-rpc_parse-format.patch b/packages/glibc/2.14.1/0038-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.14.1/0038-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.14.1/0039-nis-bogus-conditional.patch b/packages/glibc/2.14.1/0039-nis-bogus-conditional.patch deleted file mode 100644 index 732b859..0000000 --- a/packages/glibc/2.14.1/0039-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -293,7 +293,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.14.1/0040-initfini-ppc64.patch b/packages/glibc/2.14.1/0040-initfini-ppc64.patch deleted file mode 100644 index 247c103..0000000 --- a/packages/glibc/2.14.1/0040-initfini-ppc64.patch +++ /dev/null @@ -1,24 +0,0 @@ -Prevent erroneous inline optimization of initfini.s on PowerPC64. - -The problem and the fix was reported there: -http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html -Git commit: -commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6 -Author: Ryan S. Arnold -Date: Tue May 3 17:26:17 2011 -0500 - ---- - sysdeps/powerpc/powerpc64/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/powerpc/powerpc64/Makefile -+++ b/sysdeps/powerpc/powerpc64/Makefile -@@ -31,7 +31,7 @@ - ifneq ($(elf),no) - # The initfini generation code doesn't work in the presence of -fPIC, so - # we use -fpic instead which is much better. --CFLAGS-initfini.s += -fpic -O1 -+CFLAGS-initfini.s += -fpic -O1 -fno-inline - endif - endif - diff --git a/packages/glibc/2.14.1/0041-obsolete-rpc.patch b/packages/glibc/2.14.1/0041-obsolete-rpc.patch deleted file mode 100644 index eef16c7..0000000 --- a/packages/glibc/2.14.1/0041-obsolete-rpc.patch +++ /dev/null @@ -1,1607 +0,0 @@ -commit 021db4be6f1f4189f66feee066a495d49e92b93e -Author: Andreas Jaeger -Date: Thu May 10 20:16:53 2012 +0200 - - Make sunrpc code usable again - - New configure option --enable-obsolete-rpc makes the deprecated RPC - headers and functions available at compile time as they were before - version 2.14. This option will be removed at some time in the future - after the TI-RPC library becomes fully sufficient for the needs of - existing applications. - ---- - config.h.in | 3 +++ - config.make.in | 1 + - configure | 18 ++++++++++++++++++ - configure.in | 11 +++++++++++ - include/libc-symbols.h | 7 ++++++- - nis/Makefile | 6 ++++++ - sunrpc/Makefile | 6 ++++++ - sunrpc/auth_des.c | 4 ++-- - sunrpc/auth_none.c | 2 +- - sunrpc/auth_unix.c | 4 ++-- - sunrpc/authdes_prot.c | 4 ++-- - sunrpc/authuxprot.c | 2 +- - sunrpc/clnt_gen.c | 2 +- - sunrpc/clnt_perr.c | 10 +++++----- - sunrpc/clnt_raw.c | 2 +- - sunrpc/clnt_simp.c | 2 +- - sunrpc/clnt_tcp.c | 2 +- - sunrpc/clnt_udp.c | 6 +++--- - sunrpc/clnt_unix.c | 2 +- - sunrpc/des_crypt.c | 4 ++-- - sunrpc/des_soft.c | 2 +- - sunrpc/get_myaddr.c | 2 +- - sunrpc/key_call.c | 18 +++++++++--------- - sunrpc/key_prot.c | 20 ++++++++++---------- - sunrpc/netname.c | 10 +++++----- - sunrpc/pm_getmaps.c | 2 +- - sunrpc/pm_getport.c | 4 ++-- - sunrpc/pmap_clnt.c | 4 ++-- - sunrpc/pmap_prot.c | 2 +- - sunrpc/pmap_prot2.c | 2 +- - sunrpc/pmap_rmt.c | 8 ++++---- - sunrpc/publickey.c | 4 ++-- - sunrpc/rpc_cmsg.c | 2 +- - sunrpc/rpc_common.c | 2 +- - sunrpc/rpc_dtable.c | 2 +- - sunrpc/rpc_prot.c | 14 +++++++------- - sunrpc/rpc_thread.c | 8 ++++---- - sunrpc/rtime.c | 2 +- - sunrpc/svc.c | 32 ++++++++++++++++---------------- - sunrpc/svc_auth.c | 2 +- - sunrpc/svc_raw.c | 2 +- - sunrpc/svc_run.c | 4 ++-- - sunrpc/svc_tcp.c | 4 ++-- - sunrpc/svc_udp.c | 6 +++--- - sunrpc/svc_unix.c | 4 ++-- - sunrpc/svcauth_des.c | 2 +- - sunrpc/xcrypt.c | 4 ++-- - sunrpc/xdr.c | 44 ++++++++++++++++++++++---------------------- - sunrpc/xdr_array.c | 4 ++-- - sunrpc/xdr_float.c | 4 ++-- - sunrpc/xdr_intXX_t.c | 20 ++++++++++---------- - sunrpc/xdr_mem.c | 2 +- - sunrpc/xdr_rec.c | 8 ++++---- - sunrpc/xdr_ref.c | 4 ++-- - sunrpc/xdr_sizeof.c | 2 +- - sunrpc/xdr_stdio.c | 2 +- - 56 files changed, 203 insertions(+), 153 deletions(-) - ---- a/config.h.in -+++ b/config.h.in -@@ -204,6 +204,9 @@ - /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ - #undef NO_CTORS_DTORS_SECTIONS - -+/* Define if obsolete RPC code should be made available for user-level code -+ to link against. */ -+#undef LINK_OBSOLETE_RPC - /* - */ - ---- a/config.make.in -+++ b/config.make.in -@@ -102,6 +102,7 @@ - sysdeps-add-ons = @sysdeps_add_ons@ - cross-compiling = @cross_compiling@ - force-install = @force_install@ -+link-obsolete-rpc = @link_obsolete_rpc@ - - # Build tools. - CC = @CC@ ---- a/configure -+++ b/configure -@@ -682,6 +682,7 @@ - base_machine - add_on_subdirs - add_ons -+link_obsolete_rpc - libc_cv_nss_crypt - experimental_malloc - all_warnings -@@ -784,6 +785,7 @@ - enable_multi_arch - enable_experimental_malloc - enable_nss_crypt -+enable_obsolete_rpc - with_cpu - ' - ac_precious_vars='build_alias -@@ -1444,6 +1446,8 @@ - --enable-experimental-malloc - enable experimental malloc features - --enable-nss-crypt enable libcrypt to use nss -+ --enable-obsolete-rpc build and install the obsolete RPC code for -+ link-time usage - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -3823,6 +3827,20 @@ - fi - - -+# Check whether --enable-obsolete-rpc was given. -+if test "${enable_obsolete_rpc+set}" = set; then : -+ enableval=$enable_obsolete_rpc; link_obsolete_rpc=$enableval -+else -+ link_obsolete_rpc=no -+fi -+ -+ -+ -+if test "$link_obsolete_rpc" = yes; then -+ $as_echo "#define LINK_OBSOLETE_RPC 1" >>confdefs.h -+ -+fi -+ - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os ---- a/configure.in -+++ b/configure.in -@@ -316,6 +316,17 @@ - fi - AC_SUBST(libc_cv_nss_crypt) - -+AC_ARG_ENABLE([obsolete-rpc], -+ AC_HELP_STRING([--enable-obsolete-rpc], -+ [build and install the obsolete RPC code for link-time usage]), -+ [link_obsolete_rpc=$enableval], -+ [link_obsolete_rpc=no]) -+AC_SUBST(link_obsolete_rpc) -+ -+if test "$link_obsolete_rpc" = yes; then -+ AC_DEFINE(LINK_OBSOLETE_RPC) -+fi -+ - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -635,7 +635,12 @@ - # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) - # define libc_hidden_def(name) hidden_def (name) - # define libc_hidden_weak(name) hidden_weak (name) --# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) -+# ifdef LINK_OBSOLETE_RPC -+ /* libc_hidden_nolink_sunrpc should only get used in sunrpc code. */ -+# define libc_hidden_nolink_sunrpc(name, version) hidden_def (name) -+# else -+# define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) -+# endif - # define libc_hidden_ver(local, name) hidden_ver (local, name) - # define libc_hidden_data_def(name) hidden_data_def (name) - # define libc_hidden_data_weak(name) hidden_data_weak (name) ---- a/nis/Makefile -+++ b/nis/Makefile -@@ -23,6 +23,12 @@ - - aux := nis_hash - -+include ../Makeconfig -+ -+ifeq ($(link-obsolete-rpc),yes) -+headers := $(wildcard rpcsvc/*.[hx]) -+endif -+ - distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ - nisplus-parser.h nis_xdr.h nss \ - $(wildcard rpcsvc/*.[hx]) ---- a/sunrpc/Makefile -+++ b/sunrpc/Makefile -@@ -61,6 +61,10 @@ - - include ../Makeconfig - -+ifeq ($(link-obsolete-rpc),yes) -+headers += $(headers-in-tirpc) $(headers-not-in-tirpc) -+endif -+ - ifeq ($(versioning),yes) - need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ - clnt_udp get_myaddr key_call netname pm_getport \ -@@ -74,9 +78,11 @@ - svc_simple xdr_float xdr_rec publickey authdes_prot \ - des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \ - clnt_unix svc_unix create_xid $(need-export-routines) -+ifneq ($(link-obsolete-rpc),yes) - # We only add the RPC for compatibility to libc.so. - shared-only-routines = $(routines) - endif -+endif - - # We do not build rpcinfo anymore. It is not needed for a bootstrap - # and not wanted on complete systems. ---- a/sunrpc/auth_des.c -+++ b/sunrpc/auth_des.c -@@ -117,7 +117,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authdes_create) - #else --libc_hidden_nolink (authdes_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_create, GLIBC_2_1) - #endif - - AUTH * -@@ -211,7 +211,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authdes_pk_create) - #else --libc_hidden_nolink (authdes_pk_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_pk_create, GLIBC_2_1) - #endif - - /* ---- a/sunrpc/auth_none.c -+++ b/sunrpc/auth_none.c -@@ -95,7 +95,7 @@ - __libc_once (authnone_private_guard, authnone_create_once); - return &authnone_private.no_client; - } --libc_hidden_nolink (authnone_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authnone_create, GLIBC_2_0) - - static bool_t - authnone_marshal (AUTH *client, XDR *xdrs) ---- a/sunrpc/auth_unix.c -+++ b/sunrpc/auth_unix.c -@@ -151,7 +151,7 @@ - marshal_new_auth (auth); - return auth; - } --libc_hidden_nolink (authunix_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authunix_create, GLIBC_2_0) - - /* - * Returns an auth handle with parameters determined by doing lots of -@@ -218,7 +218,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authunix_create_default) - #else --libc_hidden_nolink (authunix_create_default, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authunix_create_default, GLIBC_2_0) - #endif - - /* ---- a/sunrpc/authdes_prot.c -+++ b/sunrpc/authdes_prot.c -@@ -63,7 +63,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_authdes_cred, GLIBC_2_1) - - - bool_t -@@ -78,4 +78,4 @@ - sizeof (verf->adv_int_u))); - return TRUE; - } --libc_hidden_nolink (xdr_authdes_verf, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_authdes_verf, GLIBC_2_1) ---- a/sunrpc/authuxprot.c -+++ b/sunrpc/authuxprot.c -@@ -63,4 +63,4 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_authunix_parms, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_authunix_parms, GLIBC_2_0) ---- a/sunrpc/clnt_gen.c -+++ b/sunrpc/clnt_gen.c -@@ -175,5 +175,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_create) - #else --libc_hidden_nolink (clnt_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_create, GLIBC_2_0) - #endif ---- a/sunrpc/clnt_perr.c -+++ b/sunrpc/clnt_perr.c -@@ -130,7 +130,7 @@ - - return str; - } --libc_hidden_nolink (clnt_sperror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_sperror, GLIBC_2_0) - - void - clnt_perror (CLIENT * rpch, const char *msg) -@@ -140,7 +140,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_perror) - #else --libc_hidden_nolink (clnt_perror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_perror, GLIBC_2_0) - #endif - - -@@ -273,7 +273,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_perrno) - #else --libc_hidden_nolink (clnt_perrno, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_perrno, GLIBC_2_0) - #endif - - char * -@@ -311,7 +311,7 @@ - - return str; - } --libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_spcreateerror, GLIBC_2_0) - - void - clnt_pcreateerror (const char *msg) -@@ -321,7 +321,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_pcreateerror) - #else --libc_hidden_nolink (clnt_pcreateerror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_pcreateerror, GLIBC_2_0) - #endif - - struct auth_errtab ---- a/sunrpc/clnt_raw.c -+++ b/sunrpc/clnt_raw.c -@@ -129,7 +129,7 @@ - client->cl_auth = authnone_create (); - return client; - } --libc_hidden_nolink (clntraw_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntraw_create, GLIBC_2_0) - - static enum clnt_stat - clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout) ---- a/sunrpc/clnt_simp.c -+++ b/sunrpc/clnt_simp.c -@@ -139,7 +139,7 @@ - crp->valid = 0; - return (int) clnt_stat; - } --libc_hidden_nolink (callrpc, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (callrpc, GLIBC_2_0) - - #ifdef _RPC_THREAD_SAFE_ - void ---- a/sunrpc/clnt_tcp.c -+++ b/sunrpc/clnt_tcp.c -@@ -222,7 +222,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnttcp_create) - #else --libc_hidden_nolink (clnttcp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnttcp_create, GLIBC_2_0) - #endif - - static enum clnt_stat ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -240,7 +240,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__libc_clntudp_bufcreate) - #else --libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE) -+libc_hidden_nolink_sunrpc (__libc_clntudp_bufcreate, GLIBC_PRIVATE) - #endif - - CLIENT * -@@ -251,7 +251,7 @@ - return __libc_clntudp_bufcreate (raddr, program, version, wait, - sockp, sendsz, recvsz, 0); - } --libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntudp_bufcreate, GLIBC_2_0) - - CLIENT * - clntudp_create (raddr, program, version, wait, sockp) -@@ -267,7 +267,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clntudp_create) - #else --libc_hidden_nolink (clntudp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntudp_create, GLIBC_2_0) - #endif - - static int ---- a/sunrpc/clnt_unix.c -+++ b/sunrpc/clnt_unix.c -@@ -202,7 +202,7 @@ - mem_free ((caddr_t) h, sizeof (CLIENT)); - return (CLIENT *) NULL; - } --libc_hidden_nolink (clntunix_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (clntunix_create, GLIBC_2_1) - - static enum clnt_stat - clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) ---- a/sunrpc/des_crypt.c -+++ b/sunrpc/des_crypt.c -@@ -102,7 +102,7 @@ - COPY8 (dp.des_ivec, ivec); - return err; - } --libc_hidden_nolink (cbc_crypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (cbc_crypt, GLIBC_2_1) - - /* - * ECB mode encryption -@@ -115,4 +115,4 @@ - dp.des_mode = ECB; - return common_crypt (key, buf, len, mode, &dp); - } --libc_hidden_nolink (ecb_crypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (ecb_crypt, GLIBC_2_1) ---- a/sunrpc/des_soft.c -+++ b/sunrpc/des_soft.c -@@ -70,4 +70,4 @@ - p++; - } - } --libc_hidden_nolink (des_setparity, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (des_setparity, GLIBC_2_1) ---- a/sunrpc/get_myaddr.c -+++ b/sunrpc/get_myaddr.c -@@ -99,5 +99,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (get_myaddress) - #else --libc_hidden_nolink (get_myaddress, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (get_myaddress, GLIBC_2_0) - #endif ---- a/sunrpc/key_call.c -+++ b/sunrpc/key_call.c -@@ -80,7 +80,7 @@ - } - return 0; - } --libc_hidden_nolink (key_setsecret, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_setsecret, GLIBC_2_1) - - /* key_secretkey_is_set() returns 1 if the keyserver has a secret key - * stored for the caller's effective uid; it returns 0 otherwise -@@ -109,7 +109,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (key_secretkey_is_set) - #else --libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_secretkey_is_set, GLIBC_2_1) - #endif - - int -@@ -133,7 +133,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_encryptsession, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_encryptsession, GLIBC_2_1) - - int - key_decryptsession (char *remotename, des_block *deskey) -@@ -155,7 +155,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_decryptsession, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_decryptsession, GLIBC_2_1) - - int - key_encryptsession_pk (char *remotename, netobj *remotekey, -@@ -180,7 +180,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_encryptsession_pk, GLIBC_2_1) - - int - key_decryptsession_pk (char *remotename, netobj *remotekey, -@@ -205,7 +205,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_decryptsession_pk, GLIBC_2_1) - - int - key_gendes (des_block *key) -@@ -239,7 +239,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (key_gendes) - #else --libc_hidden_nolink (key_gendes, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_gendes, GLIBC_2_1) - #endif - - int -@@ -259,7 +259,7 @@ - } - return 1; - } --libc_hidden_nolink (key_setnet, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_setnet, GLIBC_2_1) - - int - key_get_conv (char *pkey, des_block *deskey) -@@ -278,7 +278,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_get_conv, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_get_conv, GLIBC_2_1) - - /* - * Hack to allow the keyserver to use AUTH_DES (for authenticated ---- a/sunrpc/key_prot.c -+++ b/sunrpc/key_prot.c -@@ -38,7 +38,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_keystatus, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_keystatus, GLIBC_2_0) - - bool_t - xdr_keybuf (XDR * xdrs, keybuf objp) -@@ -48,7 +48,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_keybuf, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_keybuf, GLIBC_2_0) - - bool_t - xdr_netnamestr (XDR * xdrs, netnamestr * objp) -@@ -58,7 +58,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_netnamestr, GLIBC_2_1) - - bool_t - xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp) -@@ -71,7 +71,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg, GLIBC_2_0) - - bool_t - xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp) -@@ -84,7 +84,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg2, GLIBC_2_0) - - bool_t - xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) -@@ -102,7 +102,7 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyres, GLIBC_2_0) - - bool_t - xdr_unixcred (XDR * xdrs, unixcred * objp) -@@ -117,7 +117,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_unixcred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_unixcred, GLIBC_2_1) - - bool_t - xdr_getcredres (XDR * xdrs, getcredres * objp) -@@ -135,7 +135,7 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_getcredres, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_getcredres, GLIBC_2_1) - - bool_t - xdr_key_netstarg (XDR * xdrs, key_netstarg * objp) -@@ -148,7 +148,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_key_netstarg, GLIBC_2_0) - - bool_t - xdr_key_netstres (XDR * xdrs, key_netstres * objp) -@@ -166,4 +166,4 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_key_netstres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_key_netstres, GLIBC_2_0) ---- a/sunrpc/netname.c -+++ b/sunrpc/netname.c -@@ -55,7 +55,7 @@ - netname[i - 1] = '\0'; - return 1; - } --libc_hidden_nolink (user2netname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (user2netname, GLIBC_2_1) - - int - host2netname (char netname[MAXNETNAMELEN + 1], const char *host, -@@ -119,7 +119,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (host2netname) - #else --libc_hidden_nolink (host2netname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (host2netname, GLIBC_2_1) - #endif - - int -@@ -135,7 +135,7 @@ - dummy = user2netname (name, uid, NULL); - return (dummy); - } --libc_hidden_nolink (getnetname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (getnetname, GLIBC_2_1) - - /* Type of the lookup function for netname2user. */ - typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1], -@@ -188,7 +188,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (netname2user) - #else --libc_hidden_nolink (netname2user, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (netname2user, GLIBC_2_1) - #endif - - int -@@ -216,4 +216,4 @@ - - return 1; - } --libc_hidden_nolink (netname2host, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (netname2host, GLIBC_2_1) ---- a/sunrpc/pm_getmaps.c -+++ b/sunrpc/pm_getmaps.c -@@ -84,4 +84,4 @@ - address->sin_port = 0; - return head; - } --libc_hidden_nolink (pmap_getmaps, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_getmaps, GLIBC_2_0) ---- a/sunrpc/pm_getport.c -+++ b/sunrpc/pm_getport.c -@@ -142,7 +142,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__libc_rpc_getport) - #else --libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE) -+libc_hidden_nolink_sunrpc (__libc_rpc_getport, GLIBC_PRIVATE) - #endif - - -@@ -160,4 +160,4 @@ - { - return __libc_rpc_getport (address, program, version, protocol, 5, 60); - } --libc_hidden_nolink (pmap_getport, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_getport, GLIBC_2_0) ---- a/sunrpc/pmap_clnt.c -+++ b/sunrpc/pmap_clnt.c -@@ -131,7 +131,7 @@ - /* (void)close(socket); CLNT_DESTROY closes it */ - return rslt; - } --libc_hidden_nolink (pmap_set, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_set, GLIBC_2_0) - - /* - * Remove the mapping between program,version and port. -@@ -162,4 +162,4 @@ - /* (void)close(socket); CLNT_DESTROY already closed it */ - return rslt; - } --libc_hidden_nolink (pmap_unset, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_unset, GLIBC_2_0) ---- a/sunrpc/pmap_prot.c -+++ b/sunrpc/pmap_prot.c -@@ -49,4 +49,4 @@ - return xdr_u_long (xdrs, ®s->pm_port); - return FALSE; - } --libc_hidden_nolink (xdr_pmap, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pmap, GLIBC_2_0) ---- a/sunrpc/pmap_prot2.c -+++ b/sunrpc/pmap_prot2.c -@@ -110,4 +110,4 @@ - rp = freeing ? &next : &((*rp)->pml_next); - } - } --libc_hidden_nolink (xdr_pmaplist, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pmaplist, GLIBC_2_0) ---- a/sunrpc/pmap_rmt.c -+++ b/sunrpc/pmap_rmt.c -@@ -104,7 +104,7 @@ - addr->sin_port = 0; - return stat; - } --libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_rmtcall, GLIBC_2_0) - - - /* -@@ -137,7 +137,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rmtcall_args, GLIBC_2_0) - - /* - * XDR remote call results -@@ -160,7 +160,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rmtcallres, GLIBC_2_0) - - - /* -@@ -388,4 +388,4 @@ - AUTH_DESTROY (unix_auth); - return stat; - } --libc_hidden_nolink (clnt_broadcast, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_broadcast, GLIBC_2_0) ---- a/sunrpc/publickey.c -+++ b/sunrpc/publickey.c -@@ -76,7 +76,7 @@ - - return status == NSS_STATUS_SUCCESS; - } --libc_hidden_nolink (getpublickey, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (getpublickey, GLIBC_2_0) - - - int -@@ -119,4 +119,4 @@ - - return status == NSS_STATUS_SUCCESS; - } --libc_hidden_nolink (getsecretkey, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (getsecretkey, GLIBC_2_0) ---- a/sunrpc/rpc_cmsg.c -+++ b/sunrpc/rpc_cmsg.c -@@ -194,4 +194,4 @@ - return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf)); - return FALSE; - } --libc_hidden_nolink (xdr_callmsg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_callmsg, GLIBC_2_0) ---- a/sunrpc/rpc_common.c -+++ b/sunrpc/rpc_common.c -@@ -45,7 +45,7 @@ - section but we cannot add const to the type because this isn't how - the variable is declared. So we use the section attribute. */ - struct opaque_auth _null_auth __attribute__ ((nocommon)); --libc_hidden_nolink (_null_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0) - fd_set svc_fdset; - struct rpc_createerr rpc_createerr; - struct pollfd *svc_pollfd; ---- a/sunrpc/rpc_dtable.c -+++ b/sunrpc/rpc_dtable.c -@@ -46,4 +46,4 @@ - - return size; - } --libc_hidden_nolink (_rpc_dtablesize, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_rpc_dtablesize, GLIBC_2_0) ---- a/sunrpc/rpc_prot.c -+++ b/sunrpc/rpc_prot.c -@@ -57,7 +57,7 @@ - &ap->oa_length, MAX_AUTH_BYTES); - return FALSE; - } --libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_opaque_auth, GLIBC_2_0) - - /* - * XDR a DES block -@@ -67,7 +67,7 @@ - { - return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block)); - } --libc_hidden_nolink (xdr_des_block, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_des_block, GLIBC_2_0) - - /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */ - -@@ -95,7 +95,7 @@ - } - return TRUE; /* TRUE => open ended set of problems */ - } --libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_accepted_reply, GLIBC_2_0) - - /* - * XDR the MSG_DENIED part of a reply message union -@@ -118,7 +118,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rejected_reply, GLIBC_2_0) - - static const struct xdr_discrim reply_dscrm[3] = - { -@@ -142,7 +142,7 @@ - NULL_xdrproc_t); - return FALSE; - } --libc_hidden_nolink (xdr_replymsg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_replymsg, GLIBC_2_0) - - - /* -@@ -167,7 +167,7 @@ - return xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)); - return FALSE; - } --libc_hidden_nolink (xdr_callhdr, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_callhdr, GLIBC_2_0) - - /* ************************** Client utility routine ************* */ - -@@ -277,4 +277,4 @@ - break; - } - } --libc_hidden_nolink (_seterr_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_seterr_reply, GLIBC_2_0) ---- a/sunrpc/rpc_thread.c -+++ b/sunrpc/rpc_thread.c -@@ -97,7 +97,7 @@ - return &svc_fdset; - return &tvp->svc_fdset_s; - } --libc_hidden_nolink (__rpc_thread_svc_fdset, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_fdset, GLIBC_2_2_3) - - struct rpc_createerr * - __rpc_thread_createerr (void) -@@ -109,7 +109,7 @@ - return &rpc_createerr; - return &tvp->rpc_createerr_s; - } --libc_hidden_nolink (__rpc_thread_createerr, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_createerr, GLIBC_2_2_3) - - struct pollfd ** - __rpc_thread_svc_pollfd (void) -@@ -124,7 +124,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__rpc_thread_svc_pollfd) - #else --libc_hidden_nolink (__rpc_thread_svc_pollfd, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_pollfd, GLIBC_2_2_3) - #endif - - int * -@@ -140,7 +140,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__rpc_thread_svc_max_pollfd) - #else --libc_hidden_nolink (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) - #endif - - #endif /* _RPC_THREAD_SAFE_ */ ---- a/sunrpc/rtime.c -+++ b/sunrpc/rtime.c -@@ -140,4 +140,4 @@ - timep->tv_usec = 0; - return 0; - } --libc_hidden_nolink (rtime, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (rtime, GLIBC_2_1) ---- a/sunrpc/svc.c -+++ b/sunrpc/svc.c -@@ -115,7 +115,7 @@ - POLLRDNORM | POLLRDBAND); - } - } --libc_hidden_nolink (xprt_register, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xprt_register, GLIBC_2_0) - - /* De-activate a transport handle. */ - void -@@ -139,7 +139,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xprt_unregister) - #else --libc_hidden_nolink (xprt_unregister, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xprt_unregister, GLIBC_2_0) - #endif - - -@@ -218,7 +218,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_register) - #else --libc_hidden_nolink (svc_register, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_register, GLIBC_2_0) - #endif - - /* Remove a service program from the callout list. */ -@@ -242,7 +242,7 @@ - if (! svc_is_mapped (prog, vers)) - pmap_unset (prog, vers); - } --libc_hidden_nolink (svc_unregister, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_unregister, GLIBC_2_0) - - /* ******************* REPLY GENERATION ROUTINES ************ */ - -@@ -264,7 +264,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_sendreply) - #else --libc_hidden_nolink (svc_sendreply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_sendreply, GLIBC_2_0) - #endif - - /* No procedure error reply */ -@@ -282,7 +282,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_noproc) - #else --libc_hidden_nolink (svcerr_noproc, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_noproc, GLIBC_2_0) - #endif - - /* Can't decode args error reply */ -@@ -300,7 +300,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_decode) - #else --libc_hidden_nolink (svcerr_decode, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_decode, GLIBC_2_0) - #endif - - /* Some system error */ -@@ -318,7 +318,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_systemerr) - #else --libc_hidden_nolink (svcerr_systemerr, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_systemerr, GLIBC_2_0) - #endif - - /* Authentication error reply */ -@@ -333,7 +333,7 @@ - rply.rjcted_rply.rj_why = why; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_auth, GLIBC_2_0) - - /* Auth too weak error reply */ - void -@@ -341,7 +341,7 @@ - { - svcerr_auth (xprt, AUTH_TOOWEAK); - } --libc_hidden_nolink (svcerr_weakauth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_weakauth, GLIBC_2_0) - - /* Program unavailable error reply */ - void -@@ -355,7 +355,7 @@ - rply.acpted_rply.ar_stat = PROG_UNAVAIL; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_noprog, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_noprog, GLIBC_2_0) - - /* Program version mismatch error reply */ - void -@@ -372,7 +372,7 @@ - rply.acpted_rply.ar_vers.high = high_vers; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_progvers, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_progvers, GLIBC_2_0) - - /* ******************* SERVER INPUT STUFF ******************* */ - -@@ -401,7 +401,7 @@ - readfds.fds_bits[0] = rdfds; - svc_getreqset (&readfds); - } --libc_hidden_nolink (svc_getreq, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_getreq, GLIBC_2_0) - - void - svc_getreqset (fd_set *readfds) -@@ -420,7 +420,7 @@ - for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1))) - svc_getreq_common (sock + bit - 1); - } --libc_hidden_nolink (svc_getreqset, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_getreqset, GLIBC_2_0) - - void - svc_getreq_poll (struct pollfd *pfdp, int pollretval) -@@ -449,7 +449,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_getreq_poll) - #else --libc_hidden_nolink (svc_getreq_poll, GLIBC_2_2) -+libc_hidden_nolink_sunrpc (svc_getreq_poll, GLIBC_2_2) - #endif - - -@@ -542,7 +542,7 @@ - } - while (stat == XPRT_MOREREQS); - } --libc_hidden_nolink (svc_getreq_common, GLIBC_2_2) -+libc_hidden_nolink_sunrpc (svc_getreq_common, GLIBC_2_2) - - #ifdef _RPC_THREAD_SAFE_ - ---- a/sunrpc/svc_auth.c -+++ b/sunrpc/svc_auth.c -@@ -105,7 +105,7 @@ - - return AUTH_REJECTEDCRED; - } --libc_hidden_nolink (_authenticate, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (_authenticate, GLIBC_2_1) - - static enum auth_stat - _svcauth_null (struct svc_req *rqst, struct rpc_msg *msg) ---- a/sunrpc/svc_raw.c -+++ b/sunrpc/svc_raw.c -@@ -88,7 +88,7 @@ - xdrmem_create (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE); - return &srp->server; - } --libc_hidden_nolink (svcraw_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcraw_create, GLIBC_2_0) - - static enum xprt_stat - svcraw_stat (SVCXPRT *xprt) ---- a/sunrpc/svc_run.c -+++ b/sunrpc/svc_run.c -@@ -46,7 +46,7 @@ - svc_pollfd = NULL; - svc_max_pollfd = 0; - } --libc_hidden_nolink (svc_exit, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_exit, GLIBC_2_0) - - void - svc_run (void) -@@ -104,5 +104,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_run) - #else --libc_hidden_nolink (svc_run, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_run, GLIBC_2_0) - #endif ---- a/sunrpc/svc_tcp.c -+++ b/sunrpc/svc_tcp.c -@@ -189,7 +189,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svctcp_create) - #else --libc_hidden_nolink (svctcp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svctcp_create, GLIBC_2_0) - #endif - - /* -@@ -201,7 +201,7 @@ - { - return makefd_xprt (fd, sendsize, recvsize); - } --libc_hidden_nolink (svcfd_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcfd_create, GLIBC_2_0) - - static SVCXPRT * - internal_function ---- a/sunrpc/svc_udp.c -+++ b/sunrpc/svc_udp.c -@@ -186,7 +186,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcudp_bufcreate) - #else --libc_hidden_nolink (svcudp_bufcreate, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_bufcreate, GLIBC_2_0) - #endif - - SVCXPRT * -@@ -198,7 +198,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcudp_create) - #else --libc_hidden_nolink (svcudp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_create, GLIBC_2_0) - #endif - - static enum xprt_stat -@@ -502,7 +502,7 @@ - su->su_cache = (char *) uc; - return 1; - } --libc_hidden_nolink (svcudp_enablecache, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_enablecache, GLIBC_2_0) - - - /* ---- a/sunrpc/svc_unix.c -+++ b/sunrpc/svc_unix.c -@@ -187,7 +187,7 @@ - xprt_register (xprt); - return xprt; - } --libc_hidden_nolink (svcunix_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (svcunix_create, GLIBC_2_1) - - /* - * Like svunix_create(), except the routine takes any *open* UNIX file -@@ -198,7 +198,7 @@ - { - return makefd_xprt (fd, sendsize, recvsize); - } --libc_hidden_nolink (svcunixfd_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (svcunixfd_create, GLIBC_2_1) - - static SVCXPRT * - internal_function ---- a/sunrpc/svcauth_des.c -+++ b/sunrpc/svcauth_des.c -@@ -583,7 +583,7 @@ - groups[i] = cred->groups[i]; - return 1; - } --libc_hidden_nolink (authdes_getucred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_getucred, GLIBC_2_1) - - static void - internal_function ---- a/sunrpc/xcrypt.c -+++ b/sunrpc/xcrypt.c -@@ -127,7 +127,7 @@ - free (buf); - return 1; - } --libc_hidden_nolink (xencrypt, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xencrypt, GLIBC_2_0) - - /* - * Decrypt secret key using passwd -@@ -163,7 +163,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdecrypt) - #else --libc_hidden_nolink (xdecrypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdecrypt, GLIBC_2_1) - #endif - - /* ---- a/sunrpc/xdr.c -+++ b/sunrpc/xdr.c -@@ -74,7 +74,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_free) - #else --libc_hidden_nolink (xdr_free, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_free, GLIBC_2_0) - #endif - - /* -@@ -88,7 +88,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_void) - #else --libc_hidden_nolink (xdr_void, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_void, GLIBC_2_0) - #endif - - /* -@@ -128,7 +128,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_int) - #else --libc_hidden_nolink (xdr_int, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_int, GLIBC_2_0) - #endif - - /* -@@ -167,7 +167,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_int) - #else --libc_hidden_nolink (xdr_u_int, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_int, GLIBC_2_0) - #endif - - /* -@@ -195,7 +195,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_long) - #else --libc_hidden_nolink (xdr_long, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_long, GLIBC_2_0) - #endif - - /* -@@ -234,7 +234,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_long) - #else --libc_hidden_nolink (xdr_u_long, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_long, GLIBC_2_0) - #endif - - /* -@@ -270,7 +270,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_hyper) - #else --libc_hidden_nolink (xdr_hyper, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_hyper, GLIBC_2_1_1) - #endif - - /* -@@ -306,7 +306,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_hyper) - #else --libc_hidden_nolink (xdr_u_hyper, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_u_hyper, GLIBC_2_1_1) - #endif - - bool_t -@@ -317,7 +317,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_longlong_t) - #else --libc_hidden_nolink (xdr_longlong_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_longlong_t, GLIBC_2_1_1) - #endif - - bool_t -@@ -328,7 +328,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_longlong_t) - #else --libc_hidden_nolink (xdr_u_longlong_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_u_longlong_t, GLIBC_2_1_1) - #endif - - /* -@@ -361,7 +361,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_short) - #else --libc_hidden_nolink (xdr_short, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_short, GLIBC_2_0) - #endif - - /* -@@ -394,7 +394,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_short) - #else --libc_hidden_nolink (xdr_u_short, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_short, GLIBC_2_0) - #endif - - -@@ -417,7 +417,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_char) - #else --libc_hidden_nolink (xdr_char, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_char, GLIBC_2_0) - #endif - - /* -@@ -439,7 +439,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_char) - #else --libc_hidden_nolink (xdr_u_char, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_char, GLIBC_2_0) - #endif - - /* -@@ -472,7 +472,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_bool) - #else --libc_hidden_nolink (xdr_bool, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_bool, GLIBC_2_0) - #endif - - /* -@@ -527,7 +527,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_enum) - #else --libc_hidden_nolink (xdr_enum, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_enum, GLIBC_2_0) - #endif - - /* -@@ -582,7 +582,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_opaque) - #else --libc_hidden_nolink (xdr_opaque, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_opaque, GLIBC_2_0) - #endif - - /* -@@ -650,7 +650,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_bytes) - #else --libc_hidden_nolink (xdr_bytes, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_bytes, GLIBC_2_0) - #endif - - /* -@@ -667,7 +667,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_netobj) - #else --libc_hidden_nolink (xdr_netobj, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_netobj, GLIBC_2_0) - #endif - - /* -@@ -716,7 +716,7 @@ - return ((dfault == NULL_xdrproc_t) ? FALSE : - (*dfault) (xdrs, unp, LASTUNSIGNED)); - } --libc_hidden_nolink (xdr_union, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_union, GLIBC_2_0) - - - /* -@@ -808,7 +808,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_string) - #else --libc_hidden_nolink (xdr_string, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_string, GLIBC_2_0) - #endif - - /* -@@ -829,5 +829,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_wrapstring) - #else --libc_hidden_nolink (xdr_wrapstring, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_wrapstring, GLIBC_2_0) - #endif ---- a/sunrpc/xdr_array.c -+++ b/sunrpc/xdr_array.c -@@ -130,7 +130,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_array) - #else --libc_hidden_nolink (xdr_array, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_array, GLIBC_2_0) - #endif - - /* -@@ -165,4 +165,4 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_vector, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_vector, GLIBC_2_0) ---- a/sunrpc/xdr_float.c -+++ b/sunrpc/xdr_float.c -@@ -158,7 +158,7 @@ - } - return (FALSE); - } --libc_hidden_nolink (xdr_float, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_float, GLIBC_2_0) - - /* - * This routine works on Suns (Sky / 68000's) and Vaxen. -@@ -300,4 +300,4 @@ - } - return (FALSE); - } --libc_hidden_nolink (xdr_double, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_double, GLIBC_2_0) ---- a/sunrpc/xdr_intXX_t.c -+++ b/sunrpc/xdr_intXX_t.c -@@ -47,14 +47,14 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int64_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_int64_t, GLIBC_2_1_1) - - bool_t - xdr_quad_t (XDR *xdrs, quad_t *ip) - { - return xdr_int64_t (xdrs, (int64_t *) ip); - } --libc_hidden_nolink (xdr_quad_t, GLIBC_2_3_4) -+libc_hidden_nolink_sunrpc (xdr_quad_t, GLIBC_2_3_4) - - /* XDR 64bit unsigned integers */ - bool_t -@@ -83,14 +83,14 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint64_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_uint64_t, GLIBC_2_1_1) - - bool_t - xdr_u_quad_t (XDR *xdrs, u_quad_t *ip) - { - return xdr_uint64_t (xdrs, (uint64_t *) ip); - } --libc_hidden_nolink (xdr_u_quad_t, GLIBC_2_3_4) -+libc_hidden_nolink_sunrpc (xdr_u_quad_t, GLIBC_2_3_4) - - /* XDR 32bit integers */ - bool_t -@@ -108,7 +108,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int32_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int32_t, GLIBC_2_1) - - /* XDR 32bit unsigned integers */ - bool_t -@@ -129,7 +129,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_uint32_t) - #else --libc_hidden_nolink (xdr_uint32_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint32_t, GLIBC_2_1) - #endif - - /* XDR 16bit integers */ -@@ -154,7 +154,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int16_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int16_t, GLIBC_2_1) - - /* XDR 16bit unsigned integers */ - bool_t -@@ -178,7 +178,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint16_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint16_t, GLIBC_2_1) - - /* XDR 8bit integers */ - bool_t -@@ -202,7 +202,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int8_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int8_t, GLIBC_2_1) - - /* XDR 8bit unsigned integers */ - bool_t -@@ -226,4 +226,4 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint8_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint8_t, GLIBC_2_1) ---- a/sunrpc/xdr_mem.c -+++ b/sunrpc/xdr_mem.c -@@ -81,7 +81,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdrmem_create) - #else --libc_hidden_nolink (xdrmem_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrmem_create, GLIBC_2_0) - #endif - - /* ---- a/sunrpc/xdr_rec.c -+++ b/sunrpc/xdr_rec.c -@@ -192,7 +192,7 @@ - rstrm->fbtbc = 0; - rstrm->last_frag = TRUE; - } --libc_hidden_nolink (xdrrec_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_create, GLIBC_2_0) - - - /* -@@ -480,7 +480,7 @@ - rstrm->last_frag = FALSE; - return TRUE; - } --libc_hidden_nolink (xdrrec_skiprecord, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_skiprecord, GLIBC_2_0) - - /* - * Lookahead function. -@@ -504,7 +504,7 @@ - return TRUE; - return FALSE; - } --libc_hidden_nolink (xdrrec_eof, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_eof, GLIBC_2_0) - - /* - * The client must tell the package when an end-of-record has occurred. -@@ -531,7 +531,7 @@ - rstrm->out_finger += BYTES_PER_XDR_UNIT; - return TRUE; - } --libc_hidden_nolink (xdrrec_endofrecord, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_endofrecord, GLIBC_2_0) - - - /* ---- a/sunrpc/xdr_ref.c -+++ b/sunrpc/xdr_ref.c -@@ -93,7 +93,7 @@ - } - return stat; - } --libc_hidden_nolink (xdr_reference, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_reference, GLIBC_2_0) - - - /* -@@ -140,5 +140,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_pointer) - #else --libc_hidden_nolink (xdr_pointer, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pointer, GLIBC_2_0) - #endif ---- a/sunrpc/xdr_sizeof.c -+++ b/sunrpc/xdr_sizeof.c -@@ -161,5 +161,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_sizeof) - #else --libc_hidden_nolink (xdr_sizeof, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_sizeof, GLIBC_2_1) - #endif ---- a/sunrpc/xdr_stdio.c -+++ b/sunrpc/xdr_stdio.c -@@ -193,5 +193,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdrstdio_create) - #else --libc_hidden_nolink (xdrstdio_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrstdio_create, GLIBC_2_0) - #endif diff --git a/packages/glibc/2.14.1/0042-obstack-common.patch b/packages/glibc/2.14.1/0042-obstack-common.patch deleted file mode 100644 index 1993be2..0000000 --- a/packages/glibc/2.14.1/0042-obstack-common.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 -Author: Peter Collingbourne -Date: Wed May 15 20:28:08 2013 +0200 - - Move _obstack_compat out of common - - it is impossible to create an alias of a common symbol (as - compat_symbol does), because common symbols do not have a section or - an offset until linked. GNU as tolerates aliases of common symbols by - simply creating another common symbol, but other assemblers (notably - LLVM's integrated assembler) are less tolerant. - - 2013-05-15 Peter Collingbourne - - * malloc/obstack.c (_obstack_compat): Add initializer. - - - ---- - malloc/obstack.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/malloc/obstack.c -+++ b/malloc/obstack.c -@@ -117,7 +117,7 @@ - /* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ --struct obstack *_obstack_compat; -+struct obstack *_obstack_compat = 0; - compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); - # endif - # endif diff --git a/packages/glibc/2.14.1/0043-new-tools.patch b/packages/glibc/2.14.1/0043-new-tools.patch deleted file mode 100644 index 38dcdc8..0000000 --- a/packages/glibc/2.14.1/0043-new-tools.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- - configure | 8 ++++---- - configure.in | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - ---- a/configure -+++ b/configure -@@ -4957,7 +4957,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;; -- 3.4* | 4.[0-9]* ) -+ 3.4* | [4-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;; - -@@ -5020,7 +5020,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - -@@ -5147,7 +5147,7 @@ - ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.*) -+ [4-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -5207,7 +5207,7 @@ - # Found it, now check the version. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5 - $as_echo_n "checking version of $SED... " >&6; } -- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.0[2-9]*|3.[1-9]*|[4-9]*) ---- a/configure.in -+++ b/configure.in -@@ -1037,11 +1037,11 @@ - # These programs are version sensitive. - AC_CHECK_TOOL_PREFIX - AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, -- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ], -+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ], - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], -@@ -1049,10 +1049,10 @@ - MSGFMT=: aux_missing="$aux_missing msgfmt") - AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, - [GNU texinfo.* \([0-9][0-9.]*\)], -- [4.*], -+ [[4-9].*], - MAKEINFO=: aux_missing="$aux_missing makeinfo") - AC_CHECK_PROG_VER(SED, sed, --version, -- [GNU sed version \([0-9]*\.[0-9.]*\)], -+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)], - [3.0[2-9]*|3.[1-9]*|[4-9]*], - SED=: aux_missing="$aux_missing sed") - diff --git a/packages/glibc/2.14.1/0044-strftime-multiple-stmts.patch b/packages/glibc/2.14.1/0044-strftime-multiple-stmts.patch deleted file mode 100644 index e544b33..0000000 --- a/packages/glibc/2.14.1/0044-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -742,12 +742,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.14.1/0045-if_nametoindex-size-check.patch b/packages/glibc/2.14.1/0045-if_nametoindex-size-check.patch deleted file mode 100644 index 5803db5..0000000 --- a/packages/glibc/2.14.1/0045-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -54,6 +54,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.14.1/0046-utmp-nonstring.patch b/packages/glibc/2.14.1/0046-utmp-nonstring.patch deleted file mode 100644 index b789724..0000000 --- a/packages/glibc/2.14.1/0046-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -350,6 +350,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.14.1/0047-getlogin_r-use-strnlen.patch b/packages/glibc/2.14.1/0047-getlogin_r-use-strnlen.patch deleted file mode 100644 index 15a16bd..0000000 --- a/packages/glibc/2.14.1/0047-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -83,7 +83,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -92,7 +92,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.14.1/0048-zic.c-use-memcpy.patch b/packages/glibc/2.14.1/0048-zic.c-use-memcpy.patch deleted file mode 100644 index 4c89446..0000000 --- a/packages/glibc/2.14.1/0048-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1648,7 +1648,7 @@ - #define DO(field) (void) fwrite((void *) tzh.field, \ - (size_t) sizeof tzh.field, (size_t) 1, fp) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.14.1/chksum b/packages/glibc/2.14.1/chksum deleted file mode 100644 index a744898..0000000 --- a/packages/glibc/2.14.1/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.14.1.tar.xz 55501b8d037a4f1d330312b30fd6d4bc -sha1 glibc-2.14.1.tar.xz 41ead3cdc99a40a17d5830672c36b49b1d7b79f7 -sha256 glibc-2.14.1.tar.xz 984dcfcf2621494b56be3c2f625fa418231c1cb2eb07143ca4a587a6b250b468 -sha512 glibc-2.14.1.tar.xz cfce2490c96bc79cd7ec1132ee33ce387c64cd32dbbb9792de133b2d812e0958e61598763cf58bee04b7c9ed959fb3da6efd572ecd89ed3340c3cc1992d9cbee -md5 glibc-2.14.1.tar.bz2 5869a2620c6917dd392289864c6ce595 -sha1 glibc-2.14.1.tar.bz2 f1945eea78bb30563d33c9e6a5f6f97f374135b4 -sha256 glibc-2.14.1.tar.bz2 6e85a2fa3ebe6b28103361f09d27eeda37a021f24dab73f34064456d5a715b3b -sha512 glibc-2.14.1.tar.bz2 c83c9d6dae0091b7b6d3c8fb2b9376e58d2574a8016ce1b4d6e870afca3b892e8da2482ddf95d07ae7407a7f4cc84c1f52cb2f975a18c734529ec019204f65b7 -md5 glibc-2.14.1.tar.gz f3841fd7812db4713115ff4447b29207 -sha1 glibc-2.14.1.tar.gz d1e787f1f55eba4544e4847668cc1edb782622f7 -sha256 glibc-2.14.1.tar.gz f80c40897df49c463a6d5a45f734acbfe1bf42ef209a92a5c217aeb383631bdb -sha512 glibc-2.14.1.tar.gz 49e3d8ff672f6912e0a55df9f171ef2b0c5de0e08f84501332adc21de6ddd20ad328a97268d3bfc2e520b8d642b70a7bb1b2a1ab7ac52f52cf1a1e5cc3314f8f diff --git a/packages/glibc/2.14.1/version.desc b/packages/glibc/2.14.1/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.14.1/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.15/0000-respect-env-CPPFLAGS.patch b/packages/glibc/2.15/0000-respect-env-CPPFLAGS.patch deleted file mode 100644 index 4e08fd6..0000000 --- a/packages/glibc/2.15/0000-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,17 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - ---- - Makeconfig | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -709,6 +709,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$( -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -682,16 +682,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -328,18 +328,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.15/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.15/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index 437818b..0000000 --- a/packages/glibc/2.15/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -103,15 +103,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -90,15 +90,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -65,13 +65,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -63,13 +63,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.15/0003-dl-openat64-variadic.patch b/packages/glibc/2.15/0003-dl-openat64-variadic.patch deleted file mode 100644 index e69bb17..0000000 --- a/packages/glibc/2.15/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -24,10 +24,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.15/0004-unused-variables.patch b/packages/glibc/2.15/0004-unused-variables.patch deleted file mode 100644 index 65f9f58..0000000 --- a/packages/glibc/2.15/0004-unused-variables.patch +++ /dev/null @@ -1,155 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 6 ------ - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - 9 files changed, 1 insertion(+), 22 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -69,10 +69,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -139,10 +137,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -30,7 +30,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -36,7 +36,6 @@ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ - /**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -51,7 +50,6 @@ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ - /**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -22,12 +22,6 @@ - #include "math_private.h" - - #ifdef __STDC__ --static const float one=1.0; --#else --static float one=1.0; --#endif -- --#ifdef __STDC__ - float __cosf(float x) - #else - float __cosf(x) ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -142,7 +142,6 @@ - static long double - #endif - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double diff --git a/packages/glibc/2.15/0005-misleading-indentation.patch b/packages/glibc/2.15/0005-misleading-indentation.patch deleted file mode 100644 index 35bcb1b..0000000 --- a/packages/glibc/2.15/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -82,7 +82,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.15/0006-dl-open-array-bounds.patch b/packages/glibc/2.15/0006-dl-open-array-bounds.patch deleted file mode 100644 index 2ad3817..0000000 --- a/packages/glibc/2.15/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -546,8 +546,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if ((nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && ((nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.15/0007-i386-x86_64-revert-clone-cfi.patch b/packages/glibc/2.15/0007-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index f872bac..0000000 --- a/packages/glibc/2.15/0007-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,51 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - ---- - sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- - sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- - 2 files changed, 8 deletions(-) - ---- a/sysdeps/unix/sysv/linux/i386/clone.S -+++ b/sysdeps/unix/sysv/linux/i386/clone.S -@@ -120,9 +120,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -155,7 +152,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) ---- a/sysdeps/unix/sysv/linux/x86_64/clone.S -+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -89,9 +89,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -116,7 +113,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/packages/glibc/2.15/0008-disable-ldconfig.patch b/packages/glibc/2.15/0008-disable-ldconfig.patch deleted file mode 100644 index 4c5615d..0000000 --- a/packages/glibc/2.15/0008-disable-ldconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -do not bother running ldconfig on DESTDIR. it wants to write the temp cache -file outside of the chroot. doesnt matter anyways as we wont use the cache -results (portage will rebuild cache), so running ldconfig is simply a waste -of time. - ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makefile -+++ b/Makefile -@@ -107,6 +107,7 @@ - rm -f $(symbolic-link-list) - - install: -+dont-bother-with-destdir: - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \ - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \ - $(slibdir) $(libdir) diff --git a/packages/glibc/2.15/0009-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.15/0009-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index ce16455..0000000 --- a/packages/glibc/2.15/0009-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6566,7 +6566,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1716,7 +1716,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.15/0010-queue-header-updates.patch b/packages/glibc/2.15/0010-queue-header-updates.patch deleted file mode 100644 index f6515e2..0000000 --- a/packages/glibc/2.15/0010-queue-header-updates.patch +++ /dev/null @@ -1,86 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - ---- - misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - ---- a/misc/sys/queue.h -+++ b/misc/sys/queue.h -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/packages/glibc/2.15/0011-manual-no-perl.patch b/packages/glibc/2.15/0011-manual-no-perl.patch deleted file mode 100644 index 7e232aa..0000000 --- a/packages/glibc/2.15/0011-manual-no-perl.patch +++ /dev/null @@ -1,27 +0,0 @@ -If we're using a cvs snapshot which updates the source files, and -perl isn't installed yet, then we can't regen the docs. Not a big -deal, so just whine a little and continue on our merry way. - -http://bugs.gentoo.org/60132 - ---- - manual/Makefile | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -106,9 +106,14 @@ - libm-err.texi: stamp-libm-err - stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ - $(dir)/libm-test-ulps)) -+ifneq ($(PERL),no) - pwd=`pwd`; \ - $(PERL) $< $$pwd/.. > libm-err-tmp - $(move-if-change) libm-err-tmp libm-err.texi -+else -+ echo "Unable to rebuild math docs, no perl installed" -+ touch libm-err.texi -+endif - touch $@ - - # Generate Texinfo files from the C source for the example programs. diff --git a/packages/glibc/2.15/0012-localedef-fix-trampoline.patch b/packages/glibc/2.15/0012-localedef-fix-trampoline.patch deleted file mode 100644 index 3b8fd6e..0000000 --- a/packages/glibc/2.15/0012-localedef-fix-trampoline.patch +++ /dev/null @@ -1,56 +0,0 @@ -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 ---- -# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++ -# 1 file changed, 36 insertions(+) -# ---- a/locale/programs/3level.h -+++ b/locale/programs/3level.h -@@ -203,6 +203,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/packages/glibc/2.15/0013-resolv-dynamic.patch b/packages/glibc/2.15/0013-resolv-dynamic.patch deleted file mode 100644 index fcc2f80..0000000 --- a/packages/glibc/2.15/0013-resolv-dynamic.patch +++ /dev/null @@ -1,42 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - ---- - resolv/res_libc.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/resolv/res_libc.c -+++ b/resolv/res_libc.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/packages/glibc/2.15/0014-fadvise64_64.patch b/packages/glibc/2.15/0014-fadvise64_64.patch deleted file mode 100644 index 191d833..0000000 --- a/packages/glibc/2.15/0014-fadvise64_64.patch +++ /dev/null @@ -1,27 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/sysdeps/unix/sysv/linux/posix_fadvise.c -+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c -@@ -35,6 +35,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/packages/glibc/2.15/0015-section-comments.patch b/packages/glibc/2.15/0015-section-comments.patch deleted file mode 100644 index 75cb527..0000000 --- a/packages/glibc/2.15/0015-section-comments.patch +++ /dev/null @@ -1,27 +0,0 @@ -http://sources.redhat.com/ml/binutils/2004-04/msg00665.html - -fixes building on some architectures (like m68k/arm/cris/etc...) because -it does the right thing - ---- - include/libc-symbols.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -235,12 +235,12 @@ - # define __make_section_unallocated(section_string) - # endif - --/* Tacking on "\n\t#" to the section name makes gcc put it's bogus -+/* Tacking on "\n#APP\n\t#" to the section name makes gcc put it's bogus - section attributes on what looks like a comment to the assembler. */ - # ifdef HAVE_SECTION_QUOTES --# define __sec_comment "\"\n\t#\"" -+# define __sec_comment "\"\n#APP\n\t#\"" - # else --# define __sec_comment "\n\t#" -+# define __sec_comment "\n#APP\n\t#" - # endif - # define link_warning(symbol, msg) \ - __make_section_unallocated (".gnu.warning." #symbol) \ diff --git a/packages/glibc/2.15/0016-no-inline-gmon.patch b/packages/glibc/2.15/0016-no-inline-gmon.patch deleted file mode 100644 index ed02704..0000000 --- a/packages/glibc/2.15/0016-no-inline-gmon.patch +++ /dev/null @@ -1,36 +0,0 @@ -http://bugs.gentoo.org/196245 -http://sourceware.org/ml/libc-alpha/2006-05/msg00017.html - -Attached is a patch to add __attribute__ ((noinline)) to -call_gmon_start. - -Without this patch, the sec script that processed initfini.s removes a -part of inlined call_gmon_start, causing undefined label errors. - -This patch solves the problem by forcing gcc not to inline -call_gmon_start with __attribute__ ((noinline)). - -Tested by building for arm-none-lixux-gnueabi. OK to apply? - -Kazu Hirata - -2006-05-07 Kazu Hirata <kazu@codesourcery.com> - - * sysdeps/generic/initfini.c (call_gmon_start): Add - __attribute__ ((noinline)). - ---- - sysdeps/generic/initfini.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/generic/initfini.c -+++ b/sysdeps/generic/initfini.c -@@ -70,7 +70,7 @@ - /* The beginning of _init: */ - asm ("\n/*@_init_PROLOG_BEGINS*/"); - --static void -+static void __attribute__ ((noinline)) - call_gmon_start(void) - { - extern void __gmon_start__ (void) __attribute__ ((weak)); /*weak_extern (__gmon_start__);*/ diff --git a/packages/glibc/2.15/0017-assume-pipe2.patch b/packages/glibc/2.15/0017-assume-pipe2.patch deleted file mode 100644 index 0074ea6..0000000 --- a/packages/glibc/2.15/0017-assume-pipe2.patch +++ /dev/null @@ -1,43 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - ---- - socket/have_sock_cloexec.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/socket/have_sock_cloexec.c -+++ b/socket/have_sock_cloexec.c -@@ -16,9 +16,14 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/packages/glibc/2.15/0018-china.patch b/packages/glibc/2.15/0018-china.patch deleted file mode 100644 index b323cf6..0000000 --- a/packages/glibc/2.15/0018-china.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - localedata/locales/zh_TW | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/localedata/locales/zh_TW -+++ b/localedata/locales/zh_TW -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/packages/glibc/2.15/0019-new-valencian-locale.patch b/packages/glibc/2.15/0019-new-valencian-locale.patch deleted file mode 100644 index 8f67711..0000000 --- a/packages/glibc/2.15/0019-new-valencian-locale.patch +++ /dev/null @@ -1,118 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - ---- - localedata/SUPPORTED | 2 - localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 98 insertions(+) - ---- a/localedata/SUPPORTED -+++ b/localedata/SUPPORTED -@@ -75,6 +75,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ ---- /dev/null -+++ b/localedata/locales/ca_ES@valencia -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/packages/glibc/2.15/0020-macos-cross-rpcgen.patch b/packages/glibc/2.15/0020-macos-cross-rpcgen.patch deleted file mode 100644 index b439b0f..0000000 --- a/packages/glibc/2.15/0020-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -69,6 +69,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.15/0021-nscd-one-fork.patch b/packages/glibc/2.15/0021-nscd-one-fork.patch deleted file mode 100644 index 11861f5..0000000 --- a/packages/glibc/2.15/0021-nscd-one-fork.patch +++ /dev/null @@ -1,43 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - ---- - nscd/nscd.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - ---- a/nscd/nscd.c -+++ b/nscd/nscd.c -@@ -185,6 +185,9 @@ - if (pid != 0) - exit (0); - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -234,12 +237,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- - setsid (); - - if (chdir ("/") != 0) -@@ -248,9 +245,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/packages/glibc/2.15/0022-hppa-nptl-carlos.patch b/packages/glibc/2.15/0022-hppa-nptl-carlos.patch deleted file mode 100644 index cad5797..0000000 --- a/packages/glibc/2.15/0022-hppa-nptl-carlos.patch +++ /dev/null @@ -1,249 +0,0 @@ - - ---- - elf/rtld.c | 10 +++++----- - include/atomic.h | 26 +++++++++++++------------- - nptl/Makefile | 35 ++++++++++++++++++++++++++++++++--- - nptl/pthread_barrier_wait.c | 2 +- - nptl/sysdeps/pthread/Makefile | 2 ++ - stdio-common/Makefile | 2 +- - sunrpc/clnt_udp.c | 2 +- - 7 files changed, 55 insertions(+), 24 deletions(-) - ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -393,14 +393,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; ---- a/include/atomic.h -+++ b/include/atomic.h -@@ -185,7 +185,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -206,7 +206,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -224,7 +224,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -242,7 +242,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -259,7 +259,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -277,7 +277,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -361,7 +361,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -400,7 +400,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -418,7 +418,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -450,7 +450,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -468,7 +468,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -484,7 +484,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -500,7 +500,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ ---- a/nptl/Makefile -+++ b/nptl/Makefile -@@ -265,9 +265,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - distribute = eintr.c tst-cleanup4aux.c - -@@ -426,6 +426,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror ---- a/nptl/pthread_barrier_wait.c -+++ b/nptl/pthread_barrier_wait.c -@@ -64,7 +64,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ ---- a/nptl/sysdeps/pthread/Makefile -+++ b/nptl/sysdeps/pthread/Makefile -@@ -33,7 +33,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -82,7 +82,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -462,7 +462,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/packages/glibc/2.15/0023-dl_execstack-PaX-support.patch b/packages/glibc/2.15/0023-dl_execstack-PaX-support.patch deleted file mode 100644 index 7b56549..0000000 --- a/packages/glibc/2.15/0023-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,69 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - ---- - nptl/allocatestack.c | 3 ++- - sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++--- - 2 files changed, 18 insertions(+), 4 deletions(-) - ---- a/nptl/allocatestack.c -+++ b/nptl/allocatestack.c -@@ -335,7 +335,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } ---- a/sysdeps/unix/sysv/linux/dl-execstack.c -+++ b/sysdeps/unix/sysv/linux/dl-execstack.c -@@ -63,7 +63,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -89,7 +92,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -115,7 +123,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/packages/glibc/2.15/0024-pre20040117-pt_pax.patch b/packages/glibc/2.15/0024-pre20040117-pt_pax.patch deleted file mode 100644 index 544b3f6..0000000 --- a/packages/glibc/2.15/0024-pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - elf/elf.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/elf/elf.h -+++ b/elf/elf.h -@@ -581,6 +581,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -594,6 +595,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/packages/glibc/2.15/0025-tests-sandbox-libdl-paths.patch b/packages/glibc/2.15/0025-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 1c4ee59..0000000 --- a/packages/glibc/2.15/0025-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,196 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - ---- - grp/tst_fgetgrent.sh | 3 ++- - iconvdata/run-iconv-test.sh | 2 +- - iconvdata/tst-table.sh | 5 ++++- - intl/tst-codeset.sh | 3 +++ - intl/tst-gettext.sh | 5 ++++- - intl/tst-gettext2.sh | 5 ++++- - intl/tst-translit.sh | 5 ++++- - malloc/tst-mtrace.sh | 5 ++++- - nptl/tst-tls6.sh | 4 ++-- - posix/globtest.sh | 2 +- - posix/tst-getconf.sh | 5 ++++- - posix/wordexp-tst.sh | 5 ++++- - 12 files changed, 37 insertions(+), 12 deletions(-) - ---- a/grp/tst_fgetgrent.sh -+++ b/grp/tst_fgetgrent.sh -@@ -24,7 +24,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - ---- a/iconvdata/run-iconv-test.sh -+++ b/iconvdata/run-iconv-test.sh -@@ -34,7 +34,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ ---- a/iconvdata/tst-table.sh -+++ b/iconvdata/tst-table.sh -@@ -59,8 +59,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - ---- a/intl/tst-codeset.sh -+++ b/intl/tst-codeset.sh -@@ -37,6 +37,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - ---- a/intl/tst-gettext.sh -+++ b/intl/tst-gettext.sh -@@ -51,9 +51,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? ---- a/intl/tst-gettext2.sh -+++ b/intl/tst-gettext2.sh -@@ -65,8 +65,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? ---- a/malloc/tst-mtrace.sh -+++ b/malloc/tst-mtrace.sh -@@ -24,9 +24,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then ---- a/nptl/tst-tls6.sh -+++ b/nptl/tst-tls6.sh -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - ---- a/posix/globtest.sh -+++ b/posix/globtest.sh -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C ---- a/posix/tst-getconf.sh -+++ b/posix/tst-getconf.sh -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - ---- a/posix/wordexp-tst.sh -+++ b/posix/wordexp-tst.sh -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/packages/glibc/2.15/0026-dont-build-timezone.patch b/packages/glibc/2.15/0026-dont-build-timezone.patch deleted file mode 100644 index a1442ab..0000000 --- a/packages/glibc/2.15/0026-dont-build-timezone.patch +++ /dev/null @@ -1,17 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - ---- - Makeconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -958,7 +958,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/packages/glibc/2.15/0027-alpha-xstat.patch b/packages/glibc/2.15/0027-alpha-xstat.patch deleted file mode 100644 index 4fa9517..0000000 --- a/packages/glibc/2.15/0027-alpha-xstat.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -386,6 +386,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/packages/glibc/2.15/0028-alpha-creat.patch b/packages/glibc/2.15/0028-alpha-creat.patch deleted file mode 100644 index 6ef5278..0000000 --- a/packages/glibc/2.15/0028-alpha-creat.patch +++ /dev/null @@ -1,17 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - ---- - sysdeps/unix/sysv/linux/wordsize-64/creat64.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/packages/glibc/2.15/0029-alpha_alpha-add-fdatasync-support.patch b/packages/glibc/2.15/0029-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index 9724d4e..0000000 --- a/packages/glibc/2.15/0029-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -21,6 +21,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write prlimit - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=0x80000000-__getpagesize()" - ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/fdatasync.c -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -459,6 +459,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ ---- a/sysdeps/unix/sysv/linux/syscalls.list -+++ b/sysdeps/unix/sysv/linux/syscalls.list -@@ -12,7 +12,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/packages/glibc/2.15/0030-ppc-atomic.patch b/packages/glibc/2.15/0030-ppc-atomic.patch deleted file mode 100644 index a38c1c5..0000000 --- a/packages/glibc/2.15/0030-ppc-atomic.patch +++ /dev/null @@ -1,412 +0,0 @@ -sniped from suse - ---- - sysdeps/powerpc/bits/atomic.h | 66 ++++++++++----------- - sysdeps/powerpc/powerpc32/bits/atomic.h | 16 ++--- - sysdeps/powerpc/powerpc64/bits/atomic.h | 98 ++++++++++++++++---------------- - 3 files changed, 90 insertions(+), 90 deletions(-) - ---- a/sysdeps/powerpc/bits/atomic.h -+++ b/sysdeps/powerpc/bits/atomic.h -@@ -85,14 +85,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -102,14 +102,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -118,12 +118,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -132,11 +132,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -144,12 +144,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -157,12 +157,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -170,27 +170,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) ---- a/sysdeps/powerpc/powerpc32/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc32/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) ---- a/sysdeps/powerpc/powerpc64/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h -@@ -44,14 +44,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -61,14 +61,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -82,14 +82,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -98,14 +98,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -115,14 +115,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -132,14 +132,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -148,12 +148,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -162,11 +162,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -174,12 +174,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -187,12 +187,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -200,27 +200,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/packages/glibc/2.15/0031-mips_shn_undef-hack.patch b/packages/glibc/2.15/0031-mips_shn_undef-hack.patch deleted file mode 100644 index a12c977..0000000 --- a/packages/glibc/2.15/0031-mips_shn_undef-hack.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - elf/dl-lookup.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/elf/dl-lookup.c -+++ b/elf/dl-lookup.c -@@ -300,6 +300,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/packages/glibc/2.15/0032-alpha-atfcts.patch b/packages/glibc/2.15/0032-alpha-atfcts.patch deleted file mode 100644 index 2eff918..0000000 --- a/packages/glibc/2.15/0032-alpha-atfcts.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -437,7 +437,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/packages/glibc/2.15/0033-syslog.patch b/packages/glibc/2.15/0033-syslog.patch deleted file mode 100644 index a2d9722..0000000 --- a/packages/glibc/2.15/0033-syslog.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - misc/syslog.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/misc/syslog.c -+++ b/misc/syslog.c -@@ -152,7 +152,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/packages/glibc/2.15/0034-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc/2.15/0034-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index 0b930f3..0000000 --- a/packages/glibc/2.15/0034-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - debug/readlink_chk.c | 2 +- - debug/readlinkat_chk.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/debug/readlink_chk.c -+++ b/debug/readlink_chk.c -@@ -25,7 +25,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); ---- a/debug/readlinkat_chk.c -+++ b/debug/readlinkat_chk.c -@@ -21,7 +21,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/packages/glibc/2.15/0035-cpuid-include.patch b/packages/glibc/2.15/0035-cpuid-include.patch deleted file mode 100644 index e6d656a..0000000 --- a/packages/glibc/2.15/0035-cpuid-include.patch +++ /dev/null @@ -1,551 +0,0 @@ -[As applied to 2.15] - -This patch fixes another configure test issue when bootstrapping. -sysdeps/i386/configure.in uses the obsolete AC_HEADER_CHECK macro to -test for cpuid.h, and that macro tries to include various other -standard headers (which come from the library, unlike cpuid.h which -comes from the compiler, so aren't available when bootstrapping) in -the test code it compiles. This patch changes the code to use -AC_CHECK_HEADER, with the fourth argument used to prevent any default -includes being used in the test. - -Tested x86_64 (native). - -2012-03-07 Joseph Myers - - * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no - default includes instead of AC_HEADER_CHECK. - * sysdeps/i386/configure: Regenerated. - -Origin: http://sourceware.org/ml/libc-alpha/2012-03/msg00177.html - ---- - sysdeps/i386/configure | 480 ---------------------------------------------- - sysdeps/i386/configure.in | 5 - 2 files changed, 4 insertions(+), 481 deletions(-) - ---- a/sysdeps/i386/configure -+++ b/sysdeps/i386/configure -@@ -16,23 +16,6 @@ - as_fn_set_status $1 - exit $1 - } # as_fn_exit --# as_fn_arith ARG... --# ------------------ --# Perform arithmetic evaluation on the ARGs, and store the result in the --# global $as_val. Take advantage of shells that can avoid forks. The arguments --# must be portable across $(()) and expr. --if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -- eval 'as_fn_arith () -- { -- as_val=$(( $* )) -- }' --else -- as_fn_arith () -- { -- as_val=`expr "$@" || test $? -eq 1` -- } --fi # as_fn_arith -- - if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -@@ -97,42 +80,6 @@ - exit - } - --# Factoring default headers for most tests. --ac_includes_default="\ --#include --#ifdef HAVE_SYS_TYPES_H --# include --#endif --#ifdef HAVE_SYS_STAT_H --# include --#endif --#ifdef STDC_HEADERS --# include --# include --#else --# ifdef HAVE_STDLIB_H --# include --# endif --#endif --#ifdef HAVE_STRING_H --# if !defined STDC_HEADERS && defined HAVE_MEMORY_H --# include --# endif --# include --#endif --#ifdef HAVE_STRINGS_H --# include --#endif --#ifdef HAVE_INTTYPES_H --# include --#endif --#ifdef HAVE_STDINT_H --# include --#endif --#ifdef HAVE_UNISTD_H --# include --#endif" -- - - # ac_fn_c_try_compile LINENO - # -------------------------- -@@ -172,172 +119,6 @@ - - } # ac_fn_c_try_compile - --# ac_fn_c_try_cpp LINENO --# ---------------------- --# Try to preprocess conftest.$ac_ext, and return whether this succeeded. --ac_fn_c_try_cpp () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err -- ac_status=$? -- if test -s conftest.err; then -- grep -v '^ *+' conftest.err >conftest.er1 -- cat conftest.er1 >&5 -- mv -f conftest.er1 conftest.err -- fi -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } > conftest.i && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then : -- ac_retval=0 --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=1 --fi -- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_cpp -- --# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES --# ------------------------------------------------------- --# Tests whether HEADER exists, giving a warning if it cannot be compiled using --# the include files in INCLUDES and setting the cache variable VAR --# accordingly. --ac_fn_c_check_header_mongrel () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if eval \${$3+:} false; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval \${$3+:} false; then : -- $as_echo_n "(cached) " >&6 --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --else -- # Is the header compilable? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 --$as_echo_n "checking $2 usability... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --$4 --#include <$2> --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_header_compiler=yes --else -- ac_header_compiler=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 --$as_echo "$ac_header_compiler" >&6; } -- --# Is the header present? --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 --$as_echo_n "checking $2 presence... " >&6; } --cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include <$2> --_ACEOF --if ac_fn_c_try_cpp "$LINENO"; then : -- ac_header_preproc=yes --else -- ac_header_preproc=no --fi --rm -f conftest.err conftest.i conftest.$ac_ext --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 --$as_echo "$ac_header_preproc" >&6; } -- --# So? What about this header? --case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( -- yes:no: ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 --$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; -- no:yes:* ) -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 --$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 --$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 --$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 --$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 --$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -- ;; --esac -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 --$as_echo_n "checking for $2... " >&6; } --if eval \${$3+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- eval "$3=\$ac_header_compiler" --fi --eval ac_res=\$$3 -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 --$as_echo "$ac_res" >&6; } --fi -- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -- --} # ac_fn_c_check_header_mongrel -- --# ac_fn_c_try_run LINENO --# ---------------------- --# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes --# that executables *can* be run. --ac_fn_c_try_run () --{ -- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -- if { { ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_link") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then : -- ac_retval=0 --else -- $as_echo "$as_me: program exited with status $ac_status" >&5 -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_retval=$ac_status --fi -- rm -rf conftest.dSYM conftest_ipa8_conftest.oo -- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -- as_fn_set_status $ac_retval -- --} # ac_fn_c_try_run -- - # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES - # ------------------------------------------------------- - # Tests whether HEADER exists and can be compiled using the include files in -@@ -372,267 +153,8 @@ - # Local configure fragment for sysdeps/i386. - - -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 --$as_echo_n "checking for grep that handles long lines and -e... " >&6; } --if ${ac_cv_path_GREP+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- if test -z "$GREP"; then -- ac_path_GREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in grep ggrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue --# Check for GNU ac_path_GREP and select it if it is found. -- # Check for GNU $ac_path_GREP --case `"$ac_path_GREP" --version 2>&1` in --*GNU*) -- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'GREP' >> "conftest.nl" -- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_GREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_GREP="$ac_path_GREP" -- ac_path_GREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_GREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_GREP"; then -- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_GREP=$GREP --fi -- --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 --$as_echo "$ac_cv_path_GREP" >&6; } -- GREP="$ac_cv_path_GREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 --$as_echo_n "checking for egrep... " >&6; } --if ${ac_cv_path_EGREP+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 -- then ac_cv_path_EGREP="$GREP -E" -- else -- if test -z "$EGREP"; then -- ac_path_EGREP_found=false -- # Loop through the user's path and test for each of PROGNAME-LIST -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR --for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin --do -- IFS=$as_save_IFS -- test -z "$as_dir" && as_dir=. -- for ac_prog in egrep; do -- for ac_exec_ext in '' $ac_executable_extensions; do -- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" -- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue --# Check for GNU ac_path_EGREP and select it if it is found. -- # Check for GNU $ac_path_EGREP --case `"$ac_path_EGREP" --version 2>&1` in --*GNU*) -- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; --*) -- ac_count=0 -- $as_echo_n 0123456789 >"conftest.in" -- while : -- do -- cat "conftest.in" "conftest.in" >"conftest.tmp" -- mv "conftest.tmp" "conftest.in" -- cp "conftest.in" "conftest.nl" -- $as_echo 'EGREP' >> "conftest.nl" -- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -- as_fn_arith $ac_count + 1 && ac_count=$as_val -- if test $ac_count -gt ${ac_path_EGREP_max-0}; then -- # Best one so far, save it but keep looking for a better one -- ac_cv_path_EGREP="$ac_path_EGREP" -- ac_path_EGREP_max=$ac_count -- fi -- # 10*(2^10) chars as input seems more than enough -- test $ac_count -gt 10 && break -- done -- rm -f conftest.in conftest.tmp conftest.nl conftest.out;; --esac -- -- $ac_path_EGREP_found && break 3 -- done -- done -- done --IFS=$as_save_IFS -- if test -z "$ac_cv_path_EGREP"; then -- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -- fi --else -- ac_cv_path_EGREP=$EGREP --fi -- -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 --$as_echo "$ac_cv_path_EGREP" >&6; } -- EGREP="$ac_cv_path_EGREP" -- -- --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 --$as_echo_n "checking for ANSI C header files... " >&6; } --if ${ac_cv_header_stdc+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#include --#include -- --int --main () --{ -- -- ; -- return 0; --} --_ACEOF --if ac_fn_c_try_compile "$LINENO"; then : -- ac_cv_header_stdc=yes --else -- ac_cv_header_stdc=no --fi --rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -- --if test $ac_cv_header_stdc = yes; then -- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "memchr" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include -- --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "free" >/dev/null 2>&1; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f conftest* -- --fi -- --if test $ac_cv_header_stdc = yes; then -- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -- if test "$cross_compiling" = yes; then : -- : --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ --#include --#include --#if ((' ' & 0x0FF) == 0x020) --# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) --#else --# define ISLOWER(c) \ -- (('a' <= (c) && (c) <= 'i') \ -- || ('j' <= (c) && (c) <= 'r') \ -- || ('s' <= (c) && (c) <= 'z')) --# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) --#endif -- --#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) --int --main () --{ -- int i; -- for (i = 0; i < 256; i++) -- if (XOR (islower (i), ISLOWER (i)) -- || toupper (i) != TOUPPER (i)) -- return 2; -- return 0; --} --_ACEOF --if ac_fn_c_try_run "$LINENO"; then : -- --else -- ac_cv_header_stdc=no --fi --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -- conftest.$ac_objext conftest.beam conftest.$ac_ext --fi -- --fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 --$as_echo "$ac_cv_header_stdc" >&6; } --if test $ac_cv_header_stdc = yes; then -- --$as_echo "#define STDC_HEADERS 1" >>confdefs.h -- --fi -- --# On IRIX 5.3, sys/types and inttypes.h are conflicting. --for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -- inttypes.h stdint.h unistd.h --do : -- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` --ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -+ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */ - " --if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : -- cat >>confdefs.h <<_ACEOF --#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 --_ACEOF -- --fi -- --done -- -- --ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default" - if test "x$ac_cv_header_cpuid_h" = xyes; then : - - else ---- a/sysdeps/i386/configure.in -+++ b/sysdeps/i386/configure.in -@@ -1,8 +1,9 @@ - GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. - # Local configure fragment for sysdeps/i386. - --AC_HEADER_CHECK([cpuid.h], , -- [AC_MSG_ERROR([gcc must provide the header])]) -+AC_CHECK_HEADER([cpuid.h], , -+ [AC_MSG_ERROR([gcc must provide the header])], -+ [/* No default includes. */]) - - AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, - libc_cv_cpp_asm_debuginfo, [dnl diff --git a/packages/glibc/2.15/0036-asm-i686.patch b/packages/glibc/2.15/0036-asm-i686.patch deleted file mode 100644 index ea3c88a..0000000 --- a/packages/glibc/2.15/0036-asm-i686.patch +++ /dev/null @@ -1,52 +0,0 @@ -Submitted By: Matt Burgess -Date: 2010-04-18 -Initial Package Version: 2.11.1 -Upstream Status: Not Submitted -Origin: http://www.eglibc.org/archives/patches/msg00073.html -Description: Fixes the following build problem with GCC-4.5.0: - -/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os -./sysdeps/i386/fpu/s_frexp.S: Assembler messages: -./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.' -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' -./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive -./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" -./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression -make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1 - ---- - nptl/sysdeps/pthread/pt-initfini.c | 5 +++++ - sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++ - 2 files changed, 9 insertions(+) - ---- a/nptl/sysdeps/pthread/pt-initfini.c -+++ b/nptl/sysdeps/pthread/pt-initfini.c -@@ -45,6 +45,11 @@ - /* Embed an #include to pull in the alignment and .end directives. */ - asm ("\n#include \"defs.h\""); - -+asm ("\n#if defined __i686 && defined __ASSEMBLER__"); -+asm ("\n#undef __i686"); -+asm ("\n#define __i686 __i686"); -+asm ("\n#endif"); -+ - /* The initial common code ends here. */ - asm ("\n/*@HEADER_ENDS*/"); - ---- a/sysdeps/unix/sysv/linux/i386/sysdep.h -+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h -@@ -29,6 +29,10 @@ - #include - #include - -+#if defined __i686 && defined __ASSEMBLER__ -+#undef __i686 -+#define __i686 __i686 -+#endif - - /* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h diff --git a/packages/glibc/2.15/0037-fix-rpc_parse-format.patch b/packages/glibc/2.15/0037-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.15/0037-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.15/0038-nis-bogus-conditional.patch b/packages/glibc/2.15/0038-nis-bogus-conditional.patch deleted file mode 100644 index 732b859..0000000 --- a/packages/glibc/2.15/0038-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -293,7 +293,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.15/0039-try-link-static.patch b/packages/glibc/2.15/0039-try-link-static.patch deleted file mode 100644 index 15d4d25..0000000 --- a/packages/glibc/2.15/0039-try-link-static.patch +++ /dev/null @@ -1,174 +0,0 @@ -[Patch modified to apply to 2.15] - -commit 07037eeb43ca1e0ac2802e3a1492cecf869c63c6 -Author: Joseph Myers -Date: Thu Mar 8 00:17:27 2012 +0000 - - Fix .ctors/.dtors header configure test for bootstrapping. - ---- - aclocal.m4 | 14 ++++++++++++++ - configure | 57 ++++++++++++++++++++++++++++++--------------------------- - configure.in | 27 ++++++++++----------------- - 3 files changed, 54 insertions(+), 44 deletions(-) - ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -114,3 +114,17 @@ - [LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)]) - gnu_ld=$libc_cv_prog_ld_gnu - ]) -+ -+dnl Run a static link test with -nostdlib -nostartfiles. -+dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false]) -+AC_DEFUN([LIBC_TRY_LINK_STATIC], -+[cat > conftest.c <&AS_MESSAGE_LOG_FD])], -+ [$2], [$3]) -+rm -f conftest*]) ---- a/configure -+++ b/configure -@@ -6147,29 +6147,32 @@ - if ${libc_cv_initfini_array+:} false; then : - $as_echo_n "(cached) " >&6 - else -- cat > conftest.c < conftest.c <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; } -- then -- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then -- libc_cv_initfini_array=yes -- else -- libc_cv_initfini_array=no -- fi -+ test $ac_status = 0; }; }; then : -+ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no - fi -- rm -f conftest* -+else -+ libc_cv_initfini_array=no -+fi -+rm -f conftest* -+ - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5 - $as_echo "$libc_cv_initfini_array" >&6; } -@@ -6183,21 +6186,22 @@ - $as_echo_n "(cached) " >&6 - else - libc_cv_ctors_header=yes -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* end confdefs.h. */ -+ cat > conftest.c <&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then : - if $READELF -WS conftest$ac_exeext | $AWK ' - { gsub(/\[ */, "[") } - $2 == ".ctors" || $2 == ".dtors" { -@@ -6219,8 +6223,7 @@ - as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5 - - fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext -+rm -f conftest* - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5 ---- a/configure.in -+++ b/configure.in -@@ -1439,24 +1439,17 @@ - - AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, - libc_cv_initfini_array, [dnl -- cat > conftest.c <&AS_MESSAGE_LOG_FD]) -- then -- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then -- libc_cv_initfini_array=yes -- else -- libc_cv_initfini_array=no -- fi -+], -+ [if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then -+ libc_cv_initfini_array=yes - else - libc_cv_initfini_array=no -- fi -- rm -f conftest*]) -+ fi], -+ [libc_cv_initfini_array=no]) -+]) - if test $libc_cv_initfini_array != yes; then - AC_MSG_ERROR([Need linker with .init_array/.fini_array support.]) - fi -@@ -1464,9 +1457,9 @@ - AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer, - libc_cv_ctors_header, [dnl - libc_cv_ctors_header=yes -- AC_TRY_LINK([], [ --__attribute__ ((constructor)) void ctor (void) { puts("ctor"); } --__attribute__ ((destructor)) void dtor (void) { puts("dtor"); } -+ LIBC_TRY_LINK_STATIC([ -+__attribute__ ((constructor)) void ctor (void) { asm (""); } -+__attribute__ ((destructor)) void dtor (void) { asm (""); } - ], - [dnl - AS_IF([$READELF -WS conftest$ac_exeext | $AWK ' diff --git a/packages/glibc/2.15/0040-builtin_expect.patch b/packages/glibc/2.15/0040-builtin_expect.patch deleted file mode 100644 index 4112bb9..0000000 --- a/packages/glibc/2.15/0040-builtin_expect.patch +++ /dev/null @@ -1,85 +0,0 @@ -[As applied to 2.15] - -commit 3857022a761ea7251f8e5c0e45d382ebc3e34cf9 -Author: Ulrich Drepper -Date: Sun Jan 8 09:21:09 2012 -0500 - - No need for test for __builtin_expect - ---- - configure | 32 -------------------------------- - configure.in | 22 ---------------------- - 2 files changed, 54 deletions(-) - ---- a/configure -+++ b/configure -@@ -7185,38 +7185,6 @@ - fi - fi - --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5 --$as_echo_n "checking for __builtin_expect... " >&6; } --if ${libc_cv_gcc_builtin_expect+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- cat > conftest.c <&5 -- (eval $ac_try) 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- libc_cv_gcc_builtin_expect=yes --else -- libc_cv_gcc_builtin_expect=no --fi --rm -f conftest* --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_expect" >&5 --$as_echo "$libc_cv_gcc_builtin_expect" >&6; } --if test "$libc_cv_gcc_builtin_expect" = no; then -- as_fn_error $? "support for __builtin_expect needed" "$LINENO" 5 --fi -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5 - $as_echo_n "checking for __builtin_memset... " >&6; } - if ${libc_cv_gcc_builtin_memset+:} false; then : ---- a/configure.in -+++ b/configure.in -@@ -2098,28 +2098,6 @@ - fi - fi - --dnl Check whether compiler understands __builtin_expect. --AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect, --[cat > conftest.c <&AS_MESSAGE_LOG_FD]); then -- libc_cv_gcc_builtin_expect=yes --else -- libc_cv_gcc_builtin_expect=no --fi --rm -f conftest*]) --if test "$libc_cv_gcc_builtin_expect" = no; then -- AC_MSG_ERROR([support for __builtin_expect needed]) --fi -- - AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl - cat > conftest.c <<\EOF - void zero (void *x) diff --git a/packages/glibc/2.15/0041-gcc_s-suffix.patch b/packages/glibc/2.15/0041-gcc_s-suffix.patch deleted file mode 100644 index 74f29d8..0000000 --- a/packages/glibc/2.15/0041-gcc_s-suffix.patch +++ /dev/null @@ -1,111 +0,0 @@ -[As applied to 2.15] -commit 3a533ca370725b68b516e6b74adf4727d17ed28a -Author: Joseph Myers -Date: Tue Apr 24 10:22:45 2012 +0000 - - Don't handle libgcc_s suffixes. - ---- - Makeconfig | 2 +- - config.make.in | 1 - - configure | 21 +-------------------- - configure.in | 16 +--------------- - 4 files changed, 3 insertions(+), 37 deletions(-) - ---- a/config.make.in -+++ b/config.make.in -@@ -50,7 +50,6 @@ - have-initfini = @libc_cv_have_initfini@ - have-Bgroup = @libc_cv_Bgroup@ - have-as-needed = @libc_cv_as_needed@ --libgcc_s_suffix = @libc_cv_libgcc_s_suffix@ - need-nopic-initfini = @nopic_initfini@ - with-fp = @with_fp@ - old-glibc-headers = @old_glibc_headers@ ---- a/configure -+++ b/configure -@@ -654,7 +654,6 @@ - libc_cv_z_combreloc - ASFLAGS_config - libc_cv_as_needed --libc_cv_libgcc_s_suffix - libc_cv_Bgroup - libc_cv_cc_with_libunwind - VERSIONING -@@ -6465,24 +6464,6 @@ - $as_echo "$libc_cv_Bgroup" >&6; } - - -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5 --$as_echo_n "checking for libgcc_s suffix... " >&6; } --if ${libc_cv_libgcc_s_suffix+:} false; then : -- $as_echo_n "(cached) " >&6 --else -- cat > conftest.c <&1 >/dev/null \ -- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` -- rm -f conftest* --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5 --$as_echo "$libc_cv_libgcc_s_suffix" >&6; } -- -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5 - $as_echo_n "checking for --as-needed option... " >&6; } - if ${libc_cv_as_needed+:} false; then : -@@ -6493,7 +6474,7 @@ - EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS - -fPIC -shared -o conftest.so conftest.c -- -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed -+ -lgcc_s -Wl,--as-needed - -nostdlib 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 ---- a/configure.in -+++ b/configure.in -@@ -1639,20 +1639,6 @@ - rm -f conftest*]) - AC_SUBST(libc_cv_Bgroup) - -- AC_CACHE_CHECK(for libgcc_s suffix, -- libc_cv_libgcc_s_suffix, [dnl -- cat > conftest.c <&1 >/dev/null \ -- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'` --changequote([,])dnl -- rm -f conftest*]) -- AC_SUBST(libc_cv_libgcc_s_suffix) -- - AC_CACHE_CHECK(for --as-needed option, - libc_cv_as_needed, [dnl - cat > conftest.c <&AS_MESSAGE_LOG_FD]) - then - libc_cv_as_needed=yes ---- a/Makeconfig -+++ b/Makeconfig -@@ -565,7 +565,7 @@ - ifneq ($(have-as-needed),yes) - libgcc_eh := -lgcc_eh $(libunwind) - else -- libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) -Wl,--no-as-needed -+ libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed - endif - gnulib := -lgcc $(libgcc_eh) - static-gnulib := -lgcc -lgcc_eh $(libunwind) diff --git a/packages/glibc/2.15/0042-obsolete-rpc.patch b/packages/glibc/2.15/0042-obsolete-rpc.patch deleted file mode 100644 index 4e0f1cc..0000000 --- a/packages/glibc/2.15/0042-obsolete-rpc.patch +++ /dev/null @@ -1,1607 +0,0 @@ -commit 021db4be6f1f4189f66feee066a495d49e92b93e -Author: Andreas Jaeger -Date: Thu May 10 20:16:53 2012 +0200 - - Make sunrpc code usable again - - New configure option --enable-obsolete-rpc makes the deprecated RPC - headers and functions available at compile time as they were before - version 2.14. This option will be removed at some time in the future - after the TI-RPC library becomes fully sufficient for the needs of - existing applications. - ---- - config.h.in | 3 +++ - config.make.in | 1 + - configure | 18 ++++++++++++++++++ - configure.in | 11 +++++++++++ - include/libc-symbols.h | 7 ++++++- - nis/Makefile | 6 ++++++ - sunrpc/Makefile | 6 ++++++ - sunrpc/auth_des.c | 4 ++-- - sunrpc/auth_none.c | 2 +- - sunrpc/auth_unix.c | 4 ++-- - sunrpc/authdes_prot.c | 4 ++-- - sunrpc/authuxprot.c | 2 +- - sunrpc/clnt_gen.c | 2 +- - sunrpc/clnt_perr.c | 10 +++++----- - sunrpc/clnt_raw.c | 2 +- - sunrpc/clnt_simp.c | 2 +- - sunrpc/clnt_tcp.c | 2 +- - sunrpc/clnt_udp.c | 6 +++--- - sunrpc/clnt_unix.c | 2 +- - sunrpc/des_crypt.c | 4 ++-- - sunrpc/des_soft.c | 2 +- - sunrpc/get_myaddr.c | 2 +- - sunrpc/key_call.c | 18 +++++++++--------- - sunrpc/key_prot.c | 20 ++++++++++---------- - sunrpc/netname.c | 10 +++++----- - sunrpc/pm_getmaps.c | 2 +- - sunrpc/pm_getport.c | 4 ++-- - sunrpc/pmap_clnt.c | 4 ++-- - sunrpc/pmap_prot.c | 2 +- - sunrpc/pmap_prot2.c | 2 +- - sunrpc/pmap_rmt.c | 8 ++++---- - sunrpc/publickey.c | 4 ++-- - sunrpc/rpc_cmsg.c | 2 +- - sunrpc/rpc_common.c | 2 +- - sunrpc/rpc_dtable.c | 2 +- - sunrpc/rpc_prot.c | 14 +++++++------- - sunrpc/rpc_thread.c | 8 ++++---- - sunrpc/rtime.c | 2 +- - sunrpc/svc.c | 32 ++++++++++++++++---------------- - sunrpc/svc_auth.c | 2 +- - sunrpc/svc_raw.c | 2 +- - sunrpc/svc_run.c | 4 ++-- - sunrpc/svc_tcp.c | 4 ++-- - sunrpc/svc_udp.c | 6 +++--- - sunrpc/svc_unix.c | 4 ++-- - sunrpc/svcauth_des.c | 2 +- - sunrpc/xcrypt.c | 4 ++-- - sunrpc/xdr.c | 44 ++++++++++++++++++++++---------------------- - sunrpc/xdr_array.c | 4 ++-- - sunrpc/xdr_float.c | 4 ++-- - sunrpc/xdr_intXX_t.c | 20 ++++++++++---------- - sunrpc/xdr_mem.c | 2 +- - sunrpc/xdr_rec.c | 8 ++++---- - sunrpc/xdr_ref.c | 4 ++-- - sunrpc/xdr_sizeof.c | 2 +- - sunrpc/xdr_stdio.c | 2 +- - 56 files changed, 203 insertions(+), 153 deletions(-) - ---- a/config.h.in -+++ b/config.h.in -@@ -187,6 +187,9 @@ - /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ - #undef NO_CTORS_DTORS_SECTIONS - -+/* Define if obsolete RPC code should be made available for user-level code -+ to link against. */ -+#undef LINK_OBSOLETE_RPC - /* - */ - ---- a/config.make.in -+++ b/config.make.in -@@ -100,6 +100,7 @@ - sysdeps-add-ons = @sysdeps_add_ons@ - cross-compiling = @cross_compiling@ - force-install = @force_install@ -+link-obsolete-rpc = @link_obsolete_rpc@ - - # Build tools. - CC = @CC@ ---- a/configure -+++ b/configure -@@ -692,6 +692,7 @@ - base_machine - add_on_subdirs - add_ons -+link_obsolete_rpc - libc_cv_nss_crypt - all_warnings - force_install -@@ -790,6 +791,7 @@ - enable_all_warnings - enable_multi_arch - enable_nss_crypt -+enable_obsolete_rpc - with_cpu - ' - ac_precious_vars='build_alias -@@ -1449,6 +1451,8 @@ - --enable-multi-arch enable single DSO with optimizations for multiple - architectures - --enable-nss-crypt enable libcrypt to use nss -+ --enable-obsolete-rpc build and install the obsolete RPC code for -+ link-time usage - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -3803,6 +3807,20 @@ - fi - - -+# Check whether --enable-obsolete-rpc was given. -+if test "${enable_obsolete_rpc+set}" = set; then : -+ enableval=$enable_obsolete_rpc; link_obsolete_rpc=$enableval -+else -+ link_obsolete_rpc=no -+fi -+ -+ -+ -+if test "$link_obsolete_rpc" = yes; then -+ $as_echo "#define LINK_OBSOLETE_RPC 1" >>confdefs.h -+ -+fi -+ - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os ---- a/configure.in -+++ b/configure.in -@@ -290,6 +290,17 @@ - fi - AC_SUBST(libc_cv_nss_crypt) - -+AC_ARG_ENABLE([obsolete-rpc], -+ AC_HELP_STRING([--enable-obsolete-rpc], -+ [build and install the obsolete RPC code for link-time usage]), -+ [link_obsolete_rpc=$enableval], -+ [link_obsolete_rpc=no]) -+AC_SUBST(link_obsolete_rpc) -+ -+if test "$link_obsolete_rpc" = yes; then -+ AC_DEFINE(LINK_OBSOLETE_RPC) -+fi -+ - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os ---- a/include/libc-symbols.h -+++ b/include/libc-symbols.h -@@ -626,7 +626,12 @@ - # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) - # define libc_hidden_def(name) hidden_def (name) - # define libc_hidden_weak(name) hidden_weak (name) --# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) -+# ifdef LINK_OBSOLETE_RPC -+ /* libc_hidden_nolink_sunrpc should only get used in sunrpc code. */ -+# define libc_hidden_nolink_sunrpc(name, version) hidden_def (name) -+# else -+# define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) -+# endif - # define libc_hidden_ver(local, name) hidden_ver (local, name) - # define libc_hidden_data_def(name) hidden_data_def (name) - # define libc_hidden_data_weak(name) hidden_data_weak (name) ---- a/nis/Makefile -+++ b/nis/Makefile -@@ -23,6 +23,12 @@ - - aux := nis_hash - -+include ../Makeconfig -+ -+ifeq ($(link-obsolete-rpc),yes) -+headers := $(wildcard rpcsvc/*.[hx]) -+endif -+ - distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ - nisplus-parser.h nis_xdr.h nss \ - $(wildcard rpcsvc/*.[hx]) ---- a/sunrpc/Makefile -+++ b/sunrpc/Makefile -@@ -61,6 +61,10 @@ - - include ../Makeconfig - -+ifeq ($(link-obsolete-rpc),yes) -+headers += $(headers-in-tirpc) $(headers-not-in-tirpc) -+endif -+ - ifeq ($(versioning),yes) - need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ - clnt_udp get_myaddr key_call netname pm_getport \ -@@ -74,9 +78,11 @@ - svc_simple xdr_float xdr_rec publickey authdes_prot \ - des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \ - clnt_unix svc_unix create_xid $(need-export-routines) -+ifneq ($(link-obsolete-rpc),yes) - # We only add the RPC for compatibility to libc.so. - shared-only-routines = $(routines) - endif -+endif - - # We do not build rpcinfo anymore. It is not needed for a bootstrap - # and not wanted on complete systems. ---- a/sunrpc/auth_des.c -+++ b/sunrpc/auth_des.c -@@ -117,7 +117,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authdes_create) - #else --libc_hidden_nolink (authdes_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_create, GLIBC_2_1) - #endif - - AUTH * -@@ -211,7 +211,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authdes_pk_create) - #else --libc_hidden_nolink (authdes_pk_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_pk_create, GLIBC_2_1) - #endif - - /* ---- a/sunrpc/auth_none.c -+++ b/sunrpc/auth_none.c -@@ -95,7 +95,7 @@ - __libc_once (authnone_private_guard, authnone_create_once); - return &authnone_private.no_client; - } --libc_hidden_nolink (authnone_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authnone_create, GLIBC_2_0) - - static bool_t - authnone_marshal (AUTH *client, XDR *xdrs) ---- a/sunrpc/auth_unix.c -+++ b/sunrpc/auth_unix.c -@@ -149,7 +149,7 @@ - marshal_new_auth (auth); - return auth; - } --libc_hidden_nolink (authunix_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authunix_create, GLIBC_2_0) - - /* - * Returns an auth handle with parameters determined by doing lots of -@@ -216,7 +216,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (authunix_create_default) - #else --libc_hidden_nolink (authunix_create_default, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (authunix_create_default, GLIBC_2_0) - #endif - - /* ---- a/sunrpc/authdes_prot.c -+++ b/sunrpc/authdes_prot.c -@@ -63,7 +63,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_authdes_cred, GLIBC_2_1) - - - bool_t -@@ -78,4 +78,4 @@ - sizeof (verf->adv_int_u))); - return TRUE; - } --libc_hidden_nolink (xdr_authdes_verf, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_authdes_verf, GLIBC_2_1) ---- a/sunrpc/authuxprot.c -+++ b/sunrpc/authuxprot.c -@@ -63,4 +63,4 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_authunix_parms, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_authunix_parms, GLIBC_2_0) ---- a/sunrpc/clnt_gen.c -+++ b/sunrpc/clnt_gen.c -@@ -175,5 +175,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_create) - #else --libc_hidden_nolink (clnt_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_create, GLIBC_2_0) - #endif ---- a/sunrpc/clnt_perr.c -+++ b/sunrpc/clnt_perr.c -@@ -127,7 +127,7 @@ - - return str; - } --libc_hidden_nolink (clnt_sperror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_sperror, GLIBC_2_0) - - void - clnt_perror (CLIENT * rpch, const char *msg) -@@ -137,7 +137,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_perror) - #else --libc_hidden_nolink (clnt_perror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_perror, GLIBC_2_0) - #endif - - -@@ -270,7 +270,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_perrno) - #else --libc_hidden_nolink (clnt_perrno, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_perrno, GLIBC_2_0) - #endif - - char * -@@ -308,7 +308,7 @@ - - return str; - } --libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_spcreateerror, GLIBC_2_0) - - void - clnt_pcreateerror (const char *msg) -@@ -318,7 +318,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnt_pcreateerror) - #else --libc_hidden_nolink (clnt_pcreateerror, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_pcreateerror, GLIBC_2_0) - #endif - - struct auth_errtab ---- a/sunrpc/clnt_raw.c -+++ b/sunrpc/clnt_raw.c -@@ -129,7 +129,7 @@ - client->cl_auth = authnone_create (); - return client; - } --libc_hidden_nolink (clntraw_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntraw_create, GLIBC_2_0) - - static enum clnt_stat - clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout) ---- a/sunrpc/clnt_simp.c -+++ b/sunrpc/clnt_simp.c -@@ -139,7 +139,7 @@ - crp->valid = 0; - return (int) clnt_stat; - } --libc_hidden_nolink (callrpc, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (callrpc, GLIBC_2_0) - - #ifdef _RPC_THREAD_SAFE_ - void ---- a/sunrpc/clnt_tcp.c -+++ b/sunrpc/clnt_tcp.c -@@ -220,7 +220,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clnttcp_create) - #else --libc_hidden_nolink (clnttcp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnttcp_create, GLIBC_2_0) - #endif - - static enum clnt_stat ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -239,7 +239,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__libc_clntudp_bufcreate) - #else --libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE) -+libc_hidden_nolink_sunrpc (__libc_clntudp_bufcreate, GLIBC_PRIVATE) - #endif - - CLIENT * -@@ -250,7 +250,7 @@ - return __libc_clntudp_bufcreate (raddr, program, version, wait, - sockp, sendsz, recvsz, 0); - } --libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntudp_bufcreate, GLIBC_2_0) - - CLIENT * - clntudp_create (raddr, program, version, wait, sockp) -@@ -266,7 +266,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (clntudp_create) - #else --libc_hidden_nolink (clntudp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clntudp_create, GLIBC_2_0) - #endif - - static int ---- a/sunrpc/clnt_unix.c -+++ b/sunrpc/clnt_unix.c -@@ -200,7 +200,7 @@ - mem_free ((caddr_t) h, sizeof (CLIENT)); - return (CLIENT *) NULL; - } --libc_hidden_nolink (clntunix_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (clntunix_create, GLIBC_2_1) - - static enum clnt_stat - clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) ---- a/sunrpc/des_crypt.c -+++ b/sunrpc/des_crypt.c -@@ -102,7 +102,7 @@ - COPY8 (dp.des_ivec, ivec); - return err; - } --libc_hidden_nolink (cbc_crypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (cbc_crypt, GLIBC_2_1) - - /* - * ECB mode encryption -@@ -115,4 +115,4 @@ - dp.des_mode = ECB; - return common_crypt (key, buf, len, mode, &dp); - } --libc_hidden_nolink (ecb_crypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (ecb_crypt, GLIBC_2_1) ---- a/sunrpc/des_soft.c -+++ b/sunrpc/des_soft.c -@@ -70,4 +70,4 @@ - p++; - } - } --libc_hidden_nolink (des_setparity, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (des_setparity, GLIBC_2_1) ---- a/sunrpc/get_myaddr.c -+++ b/sunrpc/get_myaddr.c -@@ -99,5 +99,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (get_myaddress) - #else --libc_hidden_nolink (get_myaddress, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (get_myaddress, GLIBC_2_0) - #endif ---- a/sunrpc/key_call.c -+++ b/sunrpc/key_call.c -@@ -80,7 +80,7 @@ - } - return 0; - } --libc_hidden_nolink (key_setsecret, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_setsecret, GLIBC_2_1) - - /* key_secretkey_is_set() returns 1 if the keyserver has a secret key - * stored for the caller's effective uid; it returns 0 otherwise -@@ -109,7 +109,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (key_secretkey_is_set) - #else --libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_secretkey_is_set, GLIBC_2_1) - #endif - - int -@@ -133,7 +133,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_encryptsession, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_encryptsession, GLIBC_2_1) - - int - key_decryptsession (char *remotename, des_block *deskey) -@@ -155,7 +155,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_decryptsession, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_decryptsession, GLIBC_2_1) - - int - key_encryptsession_pk (char *remotename, netobj *remotekey, -@@ -180,7 +180,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_encryptsession_pk, GLIBC_2_1) - - int - key_decryptsession_pk (char *remotename, netobj *remotekey, -@@ -205,7 +205,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_decryptsession_pk, GLIBC_2_1) - - int - key_gendes (des_block *key) -@@ -239,7 +239,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (key_gendes) - #else --libc_hidden_nolink (key_gendes, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_gendes, GLIBC_2_1) - #endif - - int -@@ -259,7 +259,7 @@ - } - return 1; - } --libc_hidden_nolink (key_setnet, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_setnet, GLIBC_2_1) - - int - key_get_conv (char *pkey, des_block *deskey) -@@ -278,7 +278,7 @@ - *deskey = res.cryptkeyres_u.deskey; - return 0; - } --libc_hidden_nolink (key_get_conv, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (key_get_conv, GLIBC_2_1) - - /* - * Hack to allow the keyserver to use AUTH_DES (for authenticated ---- a/sunrpc/key_prot.c -+++ b/sunrpc/key_prot.c -@@ -38,7 +38,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_keystatus, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_keystatus, GLIBC_2_0) - - bool_t - xdr_keybuf (XDR * xdrs, keybuf objp) -@@ -48,7 +48,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_keybuf, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_keybuf, GLIBC_2_0) - - bool_t - xdr_netnamestr (XDR * xdrs, netnamestr * objp) -@@ -58,7 +58,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_netnamestr, GLIBC_2_1) - - bool_t - xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp) -@@ -71,7 +71,7 @@ - - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg, GLIBC_2_0) - - bool_t - xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp) -@@ -84,7 +84,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyarg2, GLIBC_2_0) - - bool_t - xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) -@@ -102,7 +102,7 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_cryptkeyres, GLIBC_2_0) - - bool_t - xdr_unixcred (XDR * xdrs, unixcred * objp) -@@ -117,7 +117,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_unixcred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_unixcred, GLIBC_2_1) - - bool_t - xdr_getcredres (XDR * xdrs, getcredres * objp) -@@ -135,7 +135,7 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_getcredres, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_getcredres, GLIBC_2_1) - - bool_t - xdr_key_netstarg (XDR * xdrs, key_netstarg * objp) -@@ -148,7 +148,7 @@ - return FALSE; - return TRUE; - } --libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_key_netstarg, GLIBC_2_0) - - bool_t - xdr_key_netstres (XDR * xdrs, key_netstres * objp) -@@ -166,4 +166,4 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_key_netstres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_key_netstres, GLIBC_2_0) ---- a/sunrpc/netname.c -+++ b/sunrpc/netname.c -@@ -55,7 +55,7 @@ - netname[i - 1] = '\0'; - return 1; - } --libc_hidden_nolink (user2netname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (user2netname, GLIBC_2_1) - - int - host2netname (char netname[MAXNETNAMELEN + 1], const char *host, -@@ -119,7 +119,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (host2netname) - #else --libc_hidden_nolink (host2netname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (host2netname, GLIBC_2_1) - #endif - - int -@@ -135,7 +135,7 @@ - dummy = user2netname (name, uid, NULL); - return (dummy); - } --libc_hidden_nolink (getnetname, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (getnetname, GLIBC_2_1) - - /* Type of the lookup function for netname2user. */ - typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1], -@@ -188,7 +188,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (netname2user) - #else --libc_hidden_nolink (netname2user, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (netname2user, GLIBC_2_1) - #endif - - int -@@ -215,4 +215,4 @@ - - return 1; - } --libc_hidden_nolink (netname2host, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (netname2host, GLIBC_2_1) ---- a/sunrpc/pm_getmaps.c -+++ b/sunrpc/pm_getmaps.c -@@ -84,4 +84,4 @@ - address->sin_port = 0; - return head; - } --libc_hidden_nolink (pmap_getmaps, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_getmaps, GLIBC_2_0) ---- a/sunrpc/pm_getport.c -+++ b/sunrpc/pm_getport.c -@@ -142,7 +142,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__libc_rpc_getport) - #else --libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE) -+libc_hidden_nolink_sunrpc (__libc_rpc_getport, GLIBC_PRIVATE) - #endif - - -@@ -160,4 +160,4 @@ - { - return __libc_rpc_getport (address, program, version, protocol, 5, 60); - } --libc_hidden_nolink (pmap_getport, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_getport, GLIBC_2_0) ---- a/sunrpc/pmap_clnt.c -+++ b/sunrpc/pmap_clnt.c -@@ -131,7 +131,7 @@ - /* (void)close(socket); CLNT_DESTROY closes it */ - return rslt; - } --libc_hidden_nolink (pmap_set, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_set, GLIBC_2_0) - - /* - * Remove the mapping between program,version and port. -@@ -162,4 +162,4 @@ - /* (void)close(socket); CLNT_DESTROY already closed it */ - return rslt; - } --libc_hidden_nolink (pmap_unset, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_unset, GLIBC_2_0) ---- a/sunrpc/pmap_prot.c -+++ b/sunrpc/pmap_prot.c -@@ -49,4 +49,4 @@ - return xdr_u_long (xdrs, ®s->pm_port); - return FALSE; - } --libc_hidden_nolink (xdr_pmap, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pmap, GLIBC_2_0) ---- a/sunrpc/pmap_prot2.c -+++ b/sunrpc/pmap_prot2.c -@@ -110,4 +110,4 @@ - rp = freeing ? &next : &((*rp)->pml_next); - } - } --libc_hidden_nolink (xdr_pmaplist, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pmaplist, GLIBC_2_0) ---- a/sunrpc/pmap_rmt.c -+++ b/sunrpc/pmap_rmt.c -@@ -104,7 +104,7 @@ - addr->sin_port = 0; - return stat; - } --libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (pmap_rmtcall, GLIBC_2_0) - - - /* -@@ -137,7 +137,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rmtcall_args, GLIBC_2_0) - - /* - * XDR remote call results -@@ -160,7 +160,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rmtcallres, GLIBC_2_0) - - - /* -@@ -388,4 +388,4 @@ - AUTH_DESTROY (unix_auth); - return stat; - } --libc_hidden_nolink (clnt_broadcast, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (clnt_broadcast, GLIBC_2_0) ---- a/sunrpc/publickey.c -+++ b/sunrpc/publickey.c -@@ -76,7 +76,7 @@ - - return status == NSS_STATUS_SUCCESS; - } --libc_hidden_nolink (getpublickey, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (getpublickey, GLIBC_2_0) - - - int -@@ -119,4 +119,4 @@ - - return status == NSS_STATUS_SUCCESS; - } --libc_hidden_nolink (getsecretkey, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (getsecretkey, GLIBC_2_0) ---- a/sunrpc/rpc_cmsg.c -+++ b/sunrpc/rpc_cmsg.c -@@ -194,4 +194,4 @@ - return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf)); - return FALSE; - } --libc_hidden_nolink (xdr_callmsg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_callmsg, GLIBC_2_0) ---- a/sunrpc/rpc_common.c -+++ b/sunrpc/rpc_common.c -@@ -45,7 +45,7 @@ - section but we cannot add const to the type because this isn't how - the variable is declared. So we use the section attribute. */ - struct opaque_auth _null_auth __attribute__ ((nocommon)); --libc_hidden_nolink (_null_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0) - fd_set svc_fdset; - struct rpc_createerr rpc_createerr; - struct pollfd *svc_pollfd; ---- a/sunrpc/rpc_dtable.c -+++ b/sunrpc/rpc_dtable.c -@@ -46,4 +46,4 @@ - - return size; - } --libc_hidden_nolink (_rpc_dtablesize, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_rpc_dtablesize, GLIBC_2_0) ---- a/sunrpc/rpc_prot.c -+++ b/sunrpc/rpc_prot.c -@@ -57,7 +57,7 @@ - &ap->oa_length, MAX_AUTH_BYTES); - return FALSE; - } --libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_opaque_auth, GLIBC_2_0) - - /* - * XDR a DES block -@@ -67,7 +67,7 @@ - { - return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block)); - } --libc_hidden_nolink (xdr_des_block, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_des_block, GLIBC_2_0) - - /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */ - -@@ -95,7 +95,7 @@ - } - return TRUE; /* TRUE => open ended set of problems */ - } --libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_accepted_reply, GLIBC_2_0) - - /* - * XDR the MSG_DENIED part of a reply message union -@@ -118,7 +118,7 @@ - } - return FALSE; - } --libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_rejected_reply, GLIBC_2_0) - - static const struct xdr_discrim reply_dscrm[3] = - { -@@ -142,7 +142,7 @@ - NULL_xdrproc_t); - return FALSE; - } --libc_hidden_nolink (xdr_replymsg, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_replymsg, GLIBC_2_0) - - - /* -@@ -167,7 +167,7 @@ - return xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)); - return FALSE; - } --libc_hidden_nolink (xdr_callhdr, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_callhdr, GLIBC_2_0) - - /* ************************** Client utility routine ************* */ - -@@ -277,4 +277,4 @@ - break; - } - } --libc_hidden_nolink (_seterr_reply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (_seterr_reply, GLIBC_2_0) ---- a/sunrpc/rpc_thread.c -+++ b/sunrpc/rpc_thread.c -@@ -97,7 +97,7 @@ - return &svc_fdset; - return &tvp->svc_fdset_s; - } --libc_hidden_nolink (__rpc_thread_svc_fdset, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_fdset, GLIBC_2_2_3) - - struct rpc_createerr * - __rpc_thread_createerr (void) -@@ -109,7 +109,7 @@ - return &rpc_createerr; - return &tvp->rpc_createerr_s; - } --libc_hidden_nolink (__rpc_thread_createerr, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_createerr, GLIBC_2_2_3) - - struct pollfd ** - __rpc_thread_svc_pollfd (void) -@@ -124,7 +124,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__rpc_thread_svc_pollfd) - #else --libc_hidden_nolink (__rpc_thread_svc_pollfd, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_pollfd, GLIBC_2_2_3) - #endif - - int * -@@ -140,7 +140,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (__rpc_thread_svc_max_pollfd) - #else --libc_hidden_nolink (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) -+libc_hidden_nolink_sunrpc (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) - #endif - - #endif /* _RPC_THREAD_SAFE_ */ ---- a/sunrpc/rtime.c -+++ b/sunrpc/rtime.c -@@ -140,4 +140,4 @@ - timep->tv_usec = 0; - return 0; - } --libc_hidden_nolink (rtime, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (rtime, GLIBC_2_1) ---- a/sunrpc/svc.c -+++ b/sunrpc/svc.c -@@ -115,7 +115,7 @@ - POLLRDNORM | POLLRDBAND); - } - } --libc_hidden_nolink (xprt_register, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xprt_register, GLIBC_2_0) - - /* De-activate a transport handle. */ - void -@@ -139,7 +139,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xprt_unregister) - #else --libc_hidden_nolink (xprt_unregister, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xprt_unregister, GLIBC_2_0) - #endif - - -@@ -218,7 +218,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_register) - #else --libc_hidden_nolink (svc_register, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_register, GLIBC_2_0) - #endif - - /* Remove a service program from the callout list. */ -@@ -242,7 +242,7 @@ - if (! svc_is_mapped (prog, vers)) - pmap_unset (prog, vers); - } --libc_hidden_nolink (svc_unregister, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_unregister, GLIBC_2_0) - - /* ******************* REPLY GENERATION ROUTINES ************ */ - -@@ -264,7 +264,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_sendreply) - #else --libc_hidden_nolink (svc_sendreply, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_sendreply, GLIBC_2_0) - #endif - - /* No procedure error reply */ -@@ -282,7 +282,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_noproc) - #else --libc_hidden_nolink (svcerr_noproc, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_noproc, GLIBC_2_0) - #endif - - /* Can't decode args error reply */ -@@ -300,7 +300,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_decode) - #else --libc_hidden_nolink (svcerr_decode, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_decode, GLIBC_2_0) - #endif - - /* Some system error */ -@@ -318,7 +318,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcerr_systemerr) - #else --libc_hidden_nolink (svcerr_systemerr, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_systemerr, GLIBC_2_0) - #endif - - /* Authentication error reply */ -@@ -333,7 +333,7 @@ - rply.rjcted_rply.rj_why = why; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_auth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_auth, GLIBC_2_0) - - /* Auth too weak error reply */ - void -@@ -341,7 +341,7 @@ - { - svcerr_auth (xprt, AUTH_TOOWEAK); - } --libc_hidden_nolink (svcerr_weakauth, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_weakauth, GLIBC_2_0) - - /* Program unavailable error reply */ - void -@@ -355,7 +355,7 @@ - rply.acpted_rply.ar_stat = PROG_UNAVAIL; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_noprog, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_noprog, GLIBC_2_0) - - /* Program version mismatch error reply */ - void -@@ -372,7 +372,7 @@ - rply.acpted_rply.ar_vers.high = high_vers; - SVC_REPLY (xprt, &rply); - } --libc_hidden_nolink (svcerr_progvers, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcerr_progvers, GLIBC_2_0) - - /* ******************* SERVER INPUT STUFF ******************* */ - -@@ -401,7 +401,7 @@ - readfds.fds_bits[0] = rdfds; - svc_getreqset (&readfds); - } --libc_hidden_nolink (svc_getreq, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_getreq, GLIBC_2_0) - - void - svc_getreqset (fd_set *readfds) -@@ -420,7 +420,7 @@ - for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1))) - svc_getreq_common (sock + bit - 1); - } --libc_hidden_nolink (svc_getreqset, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_getreqset, GLIBC_2_0) - - void - svc_getreq_poll (struct pollfd *pfdp, int pollretval) -@@ -449,7 +449,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_getreq_poll) - #else --libc_hidden_nolink (svc_getreq_poll, GLIBC_2_2) -+libc_hidden_nolink_sunrpc (svc_getreq_poll, GLIBC_2_2) - #endif - - -@@ -542,7 +542,7 @@ - } - while (stat == XPRT_MOREREQS); - } --libc_hidden_nolink (svc_getreq_common, GLIBC_2_2) -+libc_hidden_nolink_sunrpc (svc_getreq_common, GLIBC_2_2) - - #ifdef _RPC_THREAD_SAFE_ - ---- a/sunrpc/svc_auth.c -+++ b/sunrpc/svc_auth.c -@@ -105,7 +105,7 @@ - - return AUTH_REJECTEDCRED; - } --libc_hidden_nolink (_authenticate, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (_authenticate, GLIBC_2_1) - - static enum auth_stat - _svcauth_null (struct svc_req *rqst, struct rpc_msg *msg) ---- a/sunrpc/svc_raw.c -+++ b/sunrpc/svc_raw.c -@@ -88,7 +88,7 @@ - xdrmem_create (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE); - return &srp->server; - } --libc_hidden_nolink (svcraw_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcraw_create, GLIBC_2_0) - - static enum xprt_stat - svcraw_stat (SVCXPRT *xprt) ---- a/sunrpc/svc_run.c -+++ b/sunrpc/svc_run.c -@@ -46,7 +46,7 @@ - svc_pollfd = NULL; - svc_max_pollfd = 0; - } --libc_hidden_nolink (svc_exit, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_exit, GLIBC_2_0) - - void - svc_run (void) -@@ -104,5 +104,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svc_run) - #else --libc_hidden_nolink (svc_run, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svc_run, GLIBC_2_0) - #endif ---- a/sunrpc/svc_tcp.c -+++ b/sunrpc/svc_tcp.c -@@ -187,7 +187,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svctcp_create) - #else --libc_hidden_nolink (svctcp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svctcp_create, GLIBC_2_0) - #endif - - /* -@@ -199,7 +199,7 @@ - { - return makefd_xprt (fd, sendsize, recvsize); - } --libc_hidden_nolink (svcfd_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcfd_create, GLIBC_2_0) - - static SVCXPRT * - internal_function ---- a/sunrpc/svc_udp.c -+++ b/sunrpc/svc_udp.c -@@ -184,7 +184,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcudp_bufcreate) - #else --libc_hidden_nolink (svcudp_bufcreate, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_bufcreate, GLIBC_2_0) - #endif - - SVCXPRT * -@@ -196,7 +196,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (svcudp_create) - #else --libc_hidden_nolink (svcudp_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_create, GLIBC_2_0) - #endif - - static enum xprt_stat -@@ -500,7 +500,7 @@ - su->su_cache = (char *) uc; - return 1; - } --libc_hidden_nolink (svcudp_enablecache, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (svcudp_enablecache, GLIBC_2_0) - - - /* ---- a/sunrpc/svc_unix.c -+++ b/sunrpc/svc_unix.c -@@ -184,7 +184,7 @@ - xprt_register (xprt); - return xprt; - } --libc_hidden_nolink (svcunix_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (svcunix_create, GLIBC_2_1) - - /* - * Like svunix_create(), except the routine takes any *open* UNIX file -@@ -195,7 +195,7 @@ - { - return makefd_xprt (fd, sendsize, recvsize); - } --libc_hidden_nolink (svcunixfd_create, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (svcunixfd_create, GLIBC_2_1) - - static SVCXPRT * - internal_function ---- a/sunrpc/svcauth_des.c -+++ b/sunrpc/svcauth_des.c -@@ -583,7 +583,7 @@ - groups[i] = cred->groups[i]; - return 1; - } --libc_hidden_nolink (authdes_getucred, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (authdes_getucred, GLIBC_2_1) - - static void - internal_function ---- a/sunrpc/xcrypt.c -+++ b/sunrpc/xcrypt.c -@@ -127,7 +127,7 @@ - free (buf); - return 1; - } --libc_hidden_nolink (xencrypt, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xencrypt, GLIBC_2_0) - - /* - * Decrypt secret key using passwd -@@ -163,7 +163,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdecrypt) - #else --libc_hidden_nolink (xdecrypt, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdecrypt, GLIBC_2_1) - #endif - - /* ---- a/sunrpc/xdr.c -+++ b/sunrpc/xdr.c -@@ -72,7 +72,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_free) - #else --libc_hidden_nolink (xdr_free, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_free, GLIBC_2_0) - #endif - - /* -@@ -86,7 +86,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_void) - #else --libc_hidden_nolink (xdr_void, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_void, GLIBC_2_0) - #endif - - /* -@@ -126,7 +126,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_int) - #else --libc_hidden_nolink (xdr_int, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_int, GLIBC_2_0) - #endif - - /* -@@ -165,7 +165,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_int) - #else --libc_hidden_nolink (xdr_u_int, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_int, GLIBC_2_0) - #endif - - /* -@@ -193,7 +193,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_long) - #else --libc_hidden_nolink (xdr_long, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_long, GLIBC_2_0) - #endif - - /* -@@ -232,7 +232,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_long) - #else --libc_hidden_nolink (xdr_u_long, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_long, GLIBC_2_0) - #endif - - /* -@@ -268,7 +268,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_hyper) - #else --libc_hidden_nolink (xdr_hyper, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_hyper, GLIBC_2_1_1) - #endif - - /* -@@ -304,7 +304,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_hyper) - #else --libc_hidden_nolink (xdr_u_hyper, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_u_hyper, GLIBC_2_1_1) - #endif - - bool_t -@@ -315,7 +315,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_longlong_t) - #else --libc_hidden_nolink (xdr_longlong_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_longlong_t, GLIBC_2_1_1) - #endif - - bool_t -@@ -326,7 +326,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_longlong_t) - #else --libc_hidden_nolink (xdr_u_longlong_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_u_longlong_t, GLIBC_2_1_1) - #endif - - /* -@@ -359,7 +359,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_short) - #else --libc_hidden_nolink (xdr_short, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_short, GLIBC_2_0) - #endif - - /* -@@ -392,7 +392,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_short) - #else --libc_hidden_nolink (xdr_u_short, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_short, GLIBC_2_0) - #endif - - -@@ -415,7 +415,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_char) - #else --libc_hidden_nolink (xdr_char, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_char, GLIBC_2_0) - #endif - - /* -@@ -437,7 +437,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_u_char) - #else --libc_hidden_nolink (xdr_u_char, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_u_char, GLIBC_2_0) - #endif - - /* -@@ -470,7 +470,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_bool) - #else --libc_hidden_nolink (xdr_bool, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_bool, GLIBC_2_0) - #endif - - /* -@@ -525,7 +525,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_enum) - #else --libc_hidden_nolink (xdr_enum, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_enum, GLIBC_2_0) - #endif - - /* -@@ -580,7 +580,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_opaque) - #else --libc_hidden_nolink (xdr_opaque, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_opaque, GLIBC_2_0) - #endif - - /* -@@ -648,7 +648,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_bytes) - #else --libc_hidden_nolink (xdr_bytes, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_bytes, GLIBC_2_0) - #endif - - /* -@@ -665,7 +665,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_netobj) - #else --libc_hidden_nolink (xdr_netobj, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_netobj, GLIBC_2_0) - #endif - - /* -@@ -714,7 +714,7 @@ - return ((dfault == NULL_xdrproc_t) ? FALSE : - (*dfault) (xdrs, unp, LASTUNSIGNED)); - } --libc_hidden_nolink (xdr_union, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_union, GLIBC_2_0) - - - /* -@@ -806,7 +806,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_string) - #else --libc_hidden_nolink (xdr_string, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_string, GLIBC_2_0) - #endif - - /* -@@ -827,5 +827,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_wrapstring) - #else --libc_hidden_nolink (xdr_wrapstring, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_wrapstring, GLIBC_2_0) - #endif ---- a/sunrpc/xdr_array.c -+++ b/sunrpc/xdr_array.c -@@ -127,7 +127,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_array) - #else --libc_hidden_nolink (xdr_array, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_array, GLIBC_2_0) - #endif - - /* -@@ -162,4 +162,4 @@ - } - return TRUE; - } --libc_hidden_nolink (xdr_vector, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_vector, GLIBC_2_0) ---- a/sunrpc/xdr_float.c -+++ b/sunrpc/xdr_float.c -@@ -158,7 +158,7 @@ - } - return (FALSE); - } --libc_hidden_nolink (xdr_float, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_float, GLIBC_2_0) - - /* - * This routine works on Suns (Sky / 68000's) and Vaxen. -@@ -300,4 +300,4 @@ - } - return (FALSE); - } --libc_hidden_nolink (xdr_double, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_double, GLIBC_2_0) ---- a/sunrpc/xdr_intXX_t.c -+++ b/sunrpc/xdr_intXX_t.c -@@ -47,14 +47,14 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int64_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_int64_t, GLIBC_2_1_1) - - bool_t - xdr_quad_t (XDR *xdrs, quad_t *ip) - { - return xdr_int64_t (xdrs, (int64_t *) ip); - } --libc_hidden_nolink (xdr_quad_t, GLIBC_2_3_4) -+libc_hidden_nolink_sunrpc (xdr_quad_t, GLIBC_2_3_4) - - /* XDR 64bit unsigned integers */ - bool_t -@@ -83,14 +83,14 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint64_t, GLIBC_2_1_1) -+libc_hidden_nolink_sunrpc (xdr_uint64_t, GLIBC_2_1_1) - - bool_t - xdr_u_quad_t (XDR *xdrs, u_quad_t *ip) - { - return xdr_uint64_t (xdrs, (uint64_t *) ip); - } --libc_hidden_nolink (xdr_u_quad_t, GLIBC_2_3_4) -+libc_hidden_nolink_sunrpc (xdr_u_quad_t, GLIBC_2_3_4) - - /* XDR 32bit integers */ - bool_t -@@ -108,7 +108,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int32_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int32_t, GLIBC_2_1) - - /* XDR 32bit unsigned integers */ - bool_t -@@ -129,7 +129,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_uint32_t) - #else --libc_hidden_nolink (xdr_uint32_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint32_t, GLIBC_2_1) - #endif - - /* XDR 16bit integers */ -@@ -154,7 +154,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int16_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int16_t, GLIBC_2_1) - - /* XDR 16bit unsigned integers */ - bool_t -@@ -178,7 +178,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint16_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint16_t, GLIBC_2_1) - - /* XDR 8bit integers */ - bool_t -@@ -202,7 +202,7 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_int8_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_int8_t, GLIBC_2_1) - - /* XDR 8bit unsigned integers */ - bool_t -@@ -226,4 +226,4 @@ - return FALSE; - } - } --libc_hidden_nolink (xdr_uint8_t, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_uint8_t, GLIBC_2_1) ---- a/sunrpc/xdr_mem.c -+++ b/sunrpc/xdr_mem.c -@@ -81,7 +81,7 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdrmem_create) - #else --libc_hidden_nolink (xdrmem_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrmem_create, GLIBC_2_0) - #endif - - /* ---- a/sunrpc/xdr_rec.c -+++ b/sunrpc/xdr_rec.c -@@ -189,7 +189,7 @@ - rstrm->fbtbc = 0; - rstrm->last_frag = TRUE; - } --libc_hidden_nolink (xdrrec_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_create, GLIBC_2_0) - - - /* -@@ -477,7 +477,7 @@ - rstrm->last_frag = FALSE; - return TRUE; - } --libc_hidden_nolink (xdrrec_skiprecord, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_skiprecord, GLIBC_2_0) - - /* - * Lookahead function. -@@ -501,7 +501,7 @@ - return TRUE; - return FALSE; - } --libc_hidden_nolink (xdrrec_eof, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_eof, GLIBC_2_0) - - /* - * The client must tell the package when an end-of-record has occurred. -@@ -528,7 +528,7 @@ - rstrm->out_finger += BYTES_PER_XDR_UNIT; - return TRUE; - } --libc_hidden_nolink (xdrrec_endofrecord, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrrec_endofrecord, GLIBC_2_0) - - - /* ---- a/sunrpc/xdr_ref.c -+++ b/sunrpc/xdr_ref.c -@@ -90,7 +90,7 @@ - } - return stat; - } --libc_hidden_nolink (xdr_reference, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_reference, GLIBC_2_0) - - - /* -@@ -137,5 +137,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_pointer) - #else --libc_hidden_nolink (xdr_pointer, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdr_pointer, GLIBC_2_0) - #endif ---- a/sunrpc/xdr_sizeof.c -+++ b/sunrpc/xdr_sizeof.c -@@ -161,5 +161,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdr_sizeof) - #else --libc_hidden_nolink (xdr_sizeof, GLIBC_2_1) -+libc_hidden_nolink_sunrpc (xdr_sizeof, GLIBC_2_1) - #endif ---- a/sunrpc/xdr_stdio.c -+++ b/sunrpc/xdr_stdio.c -@@ -191,5 +191,5 @@ - #ifdef EXPORT_RPC_SYMBOLS - libc_hidden_def (xdrstdio_create) - #else --libc_hidden_nolink (xdrstdio_create, GLIBC_2_0) -+libc_hidden_nolink_sunrpc (xdrstdio_create, GLIBC_2_0) - #endif diff --git a/packages/glibc/2.15/0043-obstack-common.patch b/packages/glibc/2.15/0043-obstack-common.patch deleted file mode 100644 index 1993be2..0000000 --- a/packages/glibc/2.15/0043-obstack-common.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 -Author: Peter Collingbourne -Date: Wed May 15 20:28:08 2013 +0200 - - Move _obstack_compat out of common - - it is impossible to create an alias of a common symbol (as - compat_symbol does), because common symbols do not have a section or - an offset until linked. GNU as tolerates aliases of common symbols by - simply creating another common symbol, but other assemblers (notably - LLVM's integrated assembler) are less tolerant. - - 2013-05-15 Peter Collingbourne - - * malloc/obstack.c (_obstack_compat): Add initializer. - - - ---- - malloc/obstack.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/malloc/obstack.c -+++ b/malloc/obstack.c -@@ -117,7 +117,7 @@ - /* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ --struct obstack *_obstack_compat; -+struct obstack *_obstack_compat = 0; - compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); - # endif - # endif diff --git a/packages/glibc/2.15/0044-new-tools.patch b/packages/glibc/2.15/0044-new-tools.patch deleted file mode 100644 index d08d873..0000000 --- a/packages/glibc/2.15/0044-new-tools.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- - configure | 8 ++++---- - configure.in | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - ---- a/configure -+++ b/configure -@@ -4939,7 +4939,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;; -- 3.4* | 4.[0-9]* ) -+ 3.4* | [4-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;; - -@@ -5002,7 +5002,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - -@@ -5129,7 +5129,7 @@ - ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.*) -+ [4-9].*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -5189,7 +5189,7 @@ - # Found it, now check the version. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5 - $as_echo_n "checking version of $SED... " >&6; } -- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.0[2-9]*|3.[1-9]*|[4-9]*) ---- a/configure.in -+++ b/configure.in -@@ -1011,11 +1011,11 @@ - # These programs are version sensitive. - AC_CHECK_TOOL_PREFIX - AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, -- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ], -+ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* | [1-9][0-9].* ], - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], -@@ -1023,10 +1023,10 @@ - MSGFMT=: aux_missing="$aux_missing msgfmt") - AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, - [GNU texinfo.* \([0-9][0-9.]*\)], -- [4.*], -+ [[4-9].*], - MAKEINFO=: aux_missing="$aux_missing makeinfo") - AC_CHECK_PROG_VER(SED, sed, --version, -- [GNU sed version \([0-9]*\.[0-9.]*\)], -+ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)], - [3.0[2-9]*|3.[1-9]*|[4-9]*], - SED=: aux_missing="$aux_missing sed") - diff --git a/packages/glibc/2.15/0045-strftime-multiple-stmts.patch b/packages/glibc/2.15/0045-strftime-multiple-stmts.patch deleted file mode 100644 index e544b33..0000000 --- a/packages/glibc/2.15/0045-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -742,12 +742,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.15/0046-if_nametoindex-size-check.patch b/packages/glibc/2.15/0046-if_nametoindex-size-check.patch deleted file mode 100644 index 5803db5..0000000 --- a/packages/glibc/2.15/0046-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -54,6 +54,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.15/0047-utmp-nonstring.patch b/packages/glibc/2.15/0047-utmp-nonstring.patch deleted file mode 100644 index 3943cdf..0000000 --- a/packages/glibc/2.15/0047-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -375,6 +375,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -61,10 +61,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.15/0048-getlogin_r-use-strnlen.patch b/packages/glibc/2.15/0048-getlogin_r-use-strnlen.patch deleted file mode 100644 index 15a16bd..0000000 --- a/packages/glibc/2.15/0048-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -83,7 +83,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -92,7 +92,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.15/0049-zic.c-use-memcpy.patch b/packages/glibc/2.15/0049-zic.c-use-memcpy.patch deleted file mode 100644 index 4c89446..0000000 --- a/packages/glibc/2.15/0049-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1648,7 +1648,7 @@ - #define DO(field) (void) fwrite((void *) tzh.field, \ - (size_t) sizeof tzh.field, (size_t) 1, fp) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.15/0050-fdivp-order.patch b/packages/glibc/2.15/0050-fdivp-order.patch deleted file mode 100644 index 159c9c4..0000000 --- a/packages/glibc/2.15/0050-fdivp-order.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 751728a1f10cdaf35c499c1d508a3a28ccfddc92 -Author: Marek Polacek -Date: Mon Apr 16 11:03:41 2012 +0200 - - Reverse arguments of fdivp in i386 code. - ---- - sysdeps/i386/fpu/bits/fenv.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/sysdeps/i386/fpu/bits/fenv.h -+++ b/sysdeps/i386/fpu/bits/fenv.h -@@ -1,4 +1,4 @@ --/* Copyright (C) 1997, 1998, 1999, 2000, 2011 Free Software Foundation, Inc. -+/* Copyright (C) 1997-2012 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -122,7 +122,7 @@ - # ifdef __SSE_MATH__ - __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); - # else -- __asm__ __volatile__ ("fdivp %%st(1), %%st; fwait" -+ __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait" - : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); - # endif - (void) &__f; diff --git a/packages/glibc/2.15/chksum b/packages/glibc/2.15/chksum deleted file mode 100644 index abc80a8..0000000 --- a/packages/glibc/2.15/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.15.tar.xz 4f9f3b0e780a8c7179a372d34e9452bc -sha1 glibc-2.15.tar.xz 0a7936be3bd0562b076b95dacb7c9daa3dbc83fc -sha256 glibc-2.15.tar.xz 321ec482abdc27b03244f7b345ee22dc431bc55daf9c000a4e7b040fbdbecb50 -sha512 glibc-2.15.tar.xz fc8bc407cd9edfd79bd286d28c84e0b8224e1f57c1d318e73da098a9693257d78970178fd59f487f0321a079fcb772e8e78473fab52f091b2addb0a48fe8dcf7 -md5 glibc-2.15.tar.bz2 5335870d75d221370193d543ad9852e8 -sha1 glibc-2.15.tar.bz2 b8dd04538a35fd4c96554ed417cb00823b58a3ee -sha256 glibc-2.15.tar.bz2 bacdb35931149cbf64cb2983207f91a320b7cd866e3b6b6ba57f0b94d74e61ac -sha512 glibc-2.15.tar.bz2 2a730cd826ceb333e301e68cbac0c249342106016fe23f1c994c010ae979d5271fb21edd7e14e115693cad73d1ef7e8d8d7e7704973882488fafb30eab7ac113 -md5 glibc-2.15.tar.gz 96e7bcc79f6508cc2687e667328f3535 -sha1 glibc-2.15.tar.gz 33861d75dfc6e9d176f33c356929da792055146c -sha256 glibc-2.15.tar.gz da6b95d14b722539c2ec02e7ae1221318dba3d27f19c098a882ffa71bb429c20 -sha512 glibc-2.15.tar.gz a12ddb00371e89f437354b8d2026acb4a57c44823821b9caf622d089a2be66f6d8b41fc4b2427921df2f03e61b012b4577e09e0f49fc77ab0a4e54910f0e8f70 diff --git a/packages/glibc/2.15/version.desc b/packages/glibc/2.15/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.15/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.16.0/0000-respect-env-CPPFLAGS.patch b/packages/glibc/2.16.0/0000-respect-env-CPPFLAGS.patch deleted file mode 100644 index be9d0bb..0000000 --- a/packages/glibc/2.16.0/0000-respect-env-CPPFLAGS.patch +++ /dev/null @@ -1,17 +0,0 @@ -Respect environment CPPFLAGS when we run ./configure so we can inject -random -D things without having to set CFLAGS/ASFLAGS - ---- - Makeconfig | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -668,6 +668,7 @@ - $(foreach lib,$(libof-$(basename $(@F))) \ - $(libof-$( -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -681,16 +681,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -327,18 +327,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.16.0/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.16.0/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index 3b2ef40..0000000 --- a/packages/glibc/2.16.0/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -83,15 +83,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -64,13 +64,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -62,13 +62,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.16.0/0003-dl-openat64-variadic.patch b/packages/glibc/2.16.0/0003-dl-openat64-variadic.patch deleted file mode 100644 index 552db12..0000000 --- a/packages/glibc/2.16.0/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.16.0/0004-unused-variables.patch b/packages/glibc/2.16.0/0004-unused-variables.patch deleted file mode 100644 index db6f1b4..0000000 --- a/packages/glibc/2.16.0/0004-unused-variables.patch +++ /dev/null @@ -1,151 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - 9 files changed, 1 insertion(+), 18 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -68,10 +68,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -138,10 +136,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -35,7 +35,6 @@ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ - /**/ NaNQ = {{0x7ff80000, 0x00000000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -50,7 +49,6 @@ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ - /**/ NaNQ = {{0x00000000, 0x7ff80000}}, /* NaNQ */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - float __cosf(float x) - { - float y[2],z=0.0; ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -138,7 +138,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double diff --git a/packages/glibc/2.16.0/0005-misleading-indentation.patch b/packages/glibc/2.16.0/0005-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc/2.16.0/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.16.0/0006-dl-open-array-bounds.patch b/packages/glibc/2.16.0/0006-dl-open-array-bounds.patch deleted file mode 100644 index 4df8346..0000000 --- a/packages/glibc/2.16.0/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -609,8 +609,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.16.0/0007-i386-x86_64-revert-clone-cfi.patch b/packages/glibc/2.16.0/0007-i386-x86_64-revert-clone-cfi.patch deleted file mode 100644 index 30e8929..0000000 --- a/packages/glibc/2.16.0/0007-i386-x86_64-revert-clone-cfi.patch +++ /dev/null @@ -1,51 +0,0 @@ -revert cfi additions to clone on i386/x86_64 to workaround problems in -gcc's unwinder code. this is not a bug in glibc, it triggers problems -elsewhere. this cfi code does not gain us a whole lot anyways. - -http://gcc.gnu.org/ml/gcc/2006-12/msg00293.html - ---- - sysdeps/unix/sysv/linux/i386/clone.S | 4 ---- - sysdeps/unix/sysv/linux/x86_64/clone.S | 4 ---- - 2 files changed, 8 deletions(-) - ---- a/sysdeps/unix/sysv/linux/i386/clone.S -+++ b/sysdeps/unix/sysv/linux/i386/clone.S -@@ -119,9 +119,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - #ifdef RESET_PID -@@ -154,7 +151,6 @@ - jmp L(haspid) - .previous - #endif -- cfi_endproc; - - cfi_startproc - PSEUDO_END (BP_SYM (__clone)) ---- a/sysdeps/unix/sysv/linux/x86_64/clone.S -+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S -@@ -88,9 +88,6 @@ - ret - - L(thread_start): -- cfi_startproc; -- /* Clearing frame pointer is insufficient, use CFI. */ -- cfi_undefined (rip); - /* Clear the frame pointer. The ABI suggests this be done, to mark - the outermost frame obviously. */ - xorl %ebp, %ebp -@@ -115,7 +112,6 @@ - /* Call exit with return value from function call. */ - movq %rax, %rdi - call HIDDEN_JUMPTARGET (_exit) -- cfi_endproc; - - cfi_startproc; - PSEUDO_END (BP_SYM (__clone)) diff --git a/packages/glibc/2.16.0/0008-disable-ldconfig.patch b/packages/glibc/2.16.0/0008-disable-ldconfig.patch deleted file mode 100644 index 49f39b5..0000000 --- a/packages/glibc/2.16.0/0008-disable-ldconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -do not bother running ldconfig on DESTDIR. it wants to write the temp cache -file outside of the chroot. doesnt matter anyways as we wont use the cache -results (portage will rebuild cache), so running ldconfig is simply a waste -of time. - ---- - Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/Makefile -+++ b/Makefile -@@ -105,6 +105,7 @@ - rm -f $(symbolic-link-list) - - install: -+dont-bother-with-destdir: - -test ! -x $(common-objpfx)elf/ldconfig || LC_ALL=C LANGUAGE=C \ - $(common-objpfx)elf/ldconfig $(addprefix -r ,$(install_root)) \ - $(slibdir) $(libdir) diff --git a/packages/glibc/2.16.0/0009-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.16.0/0009-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index e1d7dec..0000000 --- a/packages/glibc/2.16.0/0009-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6440,7 +6440,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1586,7 +1586,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.16.0/0010-queue-header-updates.patch b/packages/glibc/2.16.0/0010-queue-header-updates.patch deleted file mode 100644 index f6515e2..0000000 --- a/packages/glibc/2.16.0/0010-queue-header-updates.patch +++ /dev/null @@ -1,86 +0,0 @@ -grab some updates from FreeBSD - -http://bugs.gentoo.org/201979 - ---- - misc/sys/queue.h | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - ---- a/misc/sys/queue.h -+++ b/misc/sys/queue.h -@@ -136,6 +136,11 @@ - (var); \ - (var) = ((var)->field.le_next)) - -+#define LIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = LIST_FIRST((head)); \ -+ (var) && ((tvar) = LIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - /* - * List access methods. - */ -@@ -197,6 +202,16 @@ - #define SLIST_FOREACH(var, head, field) \ - for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) - -+#define SLIST_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = SLIST_FIRST((head)); \ -+ (var) && ((tvar) = SLIST_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ -+#define SLIST_FOREACH_PREVPTR(var, varp, head, field) \ -+ for ((varp) = &SLIST_FIRST((head)); \ -+ ((var) = *(varp)) != NULL; \ -+ (varp) = &SLIST_NEXT((var), field)) -+ - /* - * Singly-linked List access methods. - */ -@@ -242,6 +257,12 @@ - (head)->stqh_last = &(elm)->field.stqe_next; \ - } while (/*CONSTCOND*/0) - -+#define STAILQ_LAST(head, type, field) \ -+ (STAILQ_EMPTY((head)) ? \ -+ NULL : \ -+ ((struct type *)(void *) \ -+ ((char *)((head)->stqh_last) - __offsetof(struct type, field)))) -+ - #define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ - if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ - (head)->stqh_last = &(elm)->field.stqe_next; \ -@@ -271,6 +292,11 @@ - (var); \ - (var) = ((var)->field.stqe_next)) - -+#define STAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = STAILQ_FIRST((head)); \ -+ (var) && ((tvar) = STAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ -@@ -437,11 +463,21 @@ - (var); \ - (var) = ((var)->field.tqe_next)) - -+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \ -+ for ((var) = TAILQ_FIRST((head)); \ -+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ - for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ - (var); \ - (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) - -+#define TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar) \ -+ for ((var) = TAILQ_LAST((head), headname); \ -+ (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1); \ -+ (var) = (tvar)) -+ - #define TAILQ_CONCAT(head1, head2, field) do { \ - if (!TAILQ_EMPTY(head2)) { \ - *(head1)->tqh_last = (head2)->tqh_first; \ diff --git a/packages/glibc/2.16.0/0011-localedef-fix-trampoline.patch b/packages/glibc/2.16.0/0011-localedef-fix-trampoline.patch deleted file mode 100644 index e6392c1..0000000 --- a/packages/glibc/2.16.0/0011-localedef-fix-trampoline.patch +++ /dev/null @@ -1,56 +0,0 @@ -# DP: Description: Fix localedef segfault when run under exec-shield, -# PaX or similar. (#231438, #198099) -# DP: Dpatch Author: James Troup -# DP: Patch Author: (probably) Jakub Jelinek -# DP: Upstream status: Unknown -# DP: Status Details: Unknown -# DP: Date: 2004-03-16 ---- -# locale/programs/3level.h | 36 ++++++++++++++++++++++++++++++++++++ -# 1 file changed, 36 insertions(+) -# ---- a/locale/programs/3level.h -+++ b/locale/programs/3level.h -@@ -202,6 +202,42 @@ - } - } - } -+ -+/* GCC ATM seems to do a poor job with pointers to nested functions passed -+ to inlined functions. Help it a little bit with this hack. */ -+#define wchead_table_iterate(tp, fn) \ -+do \ -+ { \ -+ struct wchead_table *t = (tp); \ -+ uint32_t index1; \ -+ for (index1 = 0; index1 < t->level1_size; index1++) \ -+ { \ -+ uint32_t lookup1 = t->level1[index1]; \ -+ if (lookup1 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup1_shifted = lookup1 << t->q; \ -+ uint32_t index2; \ -+ for (index2 = 0; index2 < (1 << t->q); index2++) \ -+ { \ -+ uint32_t lookup2 = t->level2[index2 + lookup1_shifted]; \ -+ if (lookup2 != ((uint32_t) ~0)) \ -+ { \ -+ uint32_t lookup2_shifted = lookup2 << t->p; \ -+ uint32_t index3; \ -+ for (index3 = 0; index3 < (1 << t->p); index3++) \ -+ { \ -+ struct element_t *lookup3 \ -+ = t->level3[index3 + lookup2_shifted]; \ -+ if (lookup3 != NULL) \ -+ fn ((((index1 << t->q) + index2) << t->p) + index3, \ -+ lookup3); \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } \ -+ } while (0) -+ - #endif - - #ifndef NO_FINALIZE diff --git a/packages/glibc/2.16.0/0012-resolv-dynamic.patch b/packages/glibc/2.16.0/0012-resolv-dynamic.patch deleted file mode 100644 index fcc2f80..0000000 --- a/packages/glibc/2.16.0/0012-resolv-dynamic.patch +++ /dev/null @@ -1,42 +0,0 @@ -ripped from SuSE - -if /etc/resolv.conf is updated, then make sure applications -already running get the updated information. - -http://bugs.gentoo.org/177416 - ---- - resolv/res_libc.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/resolv/res_libc.c -+++ b/resolv/res_libc.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* The following bit is copied from res_data.c (where it is #ifdef'ed -@@ -95,6 +96,20 @@ - __res_maybe_init (res_state resp, int preinit) - { - if (resp->options & RES_INIT) { -+ static time_t last_mtime, last_check; -+ time_t now; -+ struct stat statbuf; -+ -+ time (&now); -+ if (now != last_check) { -+ last_check = now; -+ if (stat (_PATH_RESCONF, &statbuf) == 0 && last_mtime != statbuf.st_mtime) { -+ last_mtime = statbuf.st_mtime; -+ atomicinclock (lock); -+ atomicinc (__res_initstamp); -+ atomicincunlock (lock); -+ } -+ } - if (__res_initstamp != resp->_u._ext.initstamp) { - if (resp->nscount > 0) - __res_iclose (resp, true); diff --git a/packages/glibc/2.16.0/0013-fadvise64_64.patch b/packages/glibc/2.16.0/0013-fadvise64_64.patch deleted file mode 100644 index 3f827ab..0000000 --- a/packages/glibc/2.16.0/0013-fadvise64_64.patch +++ /dev/null @@ -1,27 +0,0 @@ -ripped from Debian - - sysdeps/unix/sysv/linux/posix_fadvise.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/sysdeps/unix/sysv/linux/posix_fadvise.c -+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c -@@ -34,6 +34,19 @@ - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; - #else -+# ifdef __NR_fadvise64_64 -+ INTERNAL_SYSCALL_DECL (err); -+ int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, -+ __LONG_LONG_PAIR ((long) (offset >> 31), -+ (long) offset), -+ __LONG_LONG_PAIR ((long) (len >> 31), -+ (long) len), -+ advise); -+ if (INTERNAL_SYSCALL_ERROR_P (ret, err)) -+ return INTERNAL_SYSCALL_ERRNO (ret, err); -+ return 0; -+# else - return ENOSYS; -+# endif - #endif - } diff --git a/packages/glibc/2.16.0/0014-assume-pipe2.patch b/packages/glibc/2.16.0/0014-assume-pipe2.patch deleted file mode 100644 index a36b602..0000000 --- a/packages/glibc/2.16.0/0014-assume-pipe2.patch +++ /dev/null @@ -1,43 +0,0 @@ -http://bugs.gentoo.org/250342 -http://sources.redhat.com/bugzilla/show_bug.cgi?id=9685 - -we cant assume sock_cloexec and pipe2 are bound together as the former defines -are found in glibc only while the latter are a combo of kernel headers and -glibc. so if we do a runtime detection of SOCK_CLOEXEC, but pipe2() is a stub -inside of glibc, we hit a problem. for example: - -#include -#include -main() -{ - getgrnam("portage"); - if (!popen("ls", "r")) - perror("popen()"); -} - -getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set both -__have_sock_cloexec and __have_pipe2 to true. but if glibc was built against -older kernel headers where __NR_pipe2 does not exist, glibc will have a ENOSYS -stub for it. so popen() will always fail as glibc assumes pipe2() works. - ---- - socket/have_sock_cloexec.c | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/socket/have_sock_cloexec.c -+++ b/socket/have_sock_cloexec.c -@@ -15,9 +15,14 @@ - License along with the GNU C Library; if not, see - . */ - -+#include - #include - #include - - #if defined SOCK_CLOEXEC && !defined __ASSUME_SOCK_CLOEXEC - int __have_sock_cloexec; - #endif -+ -+#if defined O_CLOEXEC && !defined __ASSUME_PIPE2 -+int __have_pipe2; -+#endif diff --git a/packages/glibc/2.16.0/0015-china.patch b/packages/glibc/2.16.0/0015-china.patch deleted file mode 100644 index b323cf6..0000000 --- a/packages/glibc/2.16.0/0015-china.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - localedata/locales/zh_TW | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/localedata/locales/zh_TW -+++ b/localedata/locales/zh_TW -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % diff --git a/packages/glibc/2.16.0/0016-new-valencian-locale.patch b/packages/glibc/2.16.0/0016-new-valencian-locale.patch deleted file mode 100644 index 8f67711..0000000 --- a/packages/glibc/2.16.0/0016-new-valencian-locale.patch +++ /dev/null @@ -1,118 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=131815 -http://sourceware.org/bugzilla/show_bug.cgi?id=2522 - ---- - localedata/SUPPORTED | 2 - localedata/locales/ca_ES@valencia | 96 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 98 insertions(+) - ---- a/localedata/SUPPORTED -+++ b/localedata/SUPPORTED -@@ -75,6 +75,8 @@ - ca_ES.UTF-8/UTF-8 \ - ca_ES/ISO-8859-1 \ - ca_ES@euro/ISO-8859-15 \ -+ca_ES.UTF-8@valencia/UTF-8 \ -+ca_ES@valencia/ISO-8859-15 \ - ca_FR.UTF-8/UTF-8 \ - ca_FR/ISO-8859-15 \ - ca_IT.UTF-8/UTF-8 \ ---- /dev/null -+++ b/localedata/locales/ca_ES@valencia -@@ -0,0 +1,96 @@ -+comment_char % -+escape_char / -+% -+% Valencian (southern Catalan) locale for Spain with Euro -+% -+% Note that this locale is almost the same as ca_ES@euro. The point of having -+% a separate locale is only for PO translations, which have a lot of social -+% support and are very appreciated by the Valencian-speaking community. -+% -+% Contact: Jordi Mallach -+% Email: jordi@gnu.org -+% Tel: -+% Fax: -+% Language: ca -+% Territory: ES -+% Option: euro -+% Revision: 1.0 -+% Date: 2006-04-06 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic,ds -+% Charset: ISO-8859-15 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+title "Valencian (southern Catalan) locale for Spain with Euro" -+source "" -+address "" -+contact "Jordi Mallach" -+email "jordi@gnu.org" -+tel "" -+fax "" -+language "Catalan" -+territory "Spain" -+revision "1.0" -+date "2006-04-06" -+% -+category "ca_ES@valencia:2006";LC_IDENTIFICATION -+category "ca_ES@valencia:2006";LC_CTYPE -+category "ca_ES@valencia:2006";LC_COLLATE -+category "ca_ES@valencia:2006";LC_MONETARY -+category "ca_ES@valencia:2006";LC_NUMERIC -+category "ca_ES@valencia:2006";LC_TIME -+category "ca_ES@valencia:2006";LC_MESSAGES -+category "ca_ES@valencia:2006";LC_PAPER -+category "ca_ES@valencia:2006";LC_NAME -+category "ca_ES@valencia:2006";LC_ADDRESS -+category "ca_ES@valencia:2006";LC_TELEPHONE -+category "ca_ES@valencia:2006";LC_MEASUREMENT -+ -+END LC_IDENTIFICATION -+ -+LC_CTYPE -+copy "i18n" -+END LC_CTYPE -+ -+LC_COLLATE -+copy "ca_ES" -+END LC_COLLATE -+ -+LC_MONETARY -+copy "ca_ES" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "ca_ES" -+END LC_NUMERIC -+ -+LC_TIME -+copy "ca_ES" -+END LC_TIME -+ -+LC_MESSAGES -+copy "ca_ES" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "ca_ES" -+END LC_PAPER -+ -+LC_NAME -+copy "ca_ES" -+END LC_NAME -+ -+LC_ADDRESS -+copy "ca_ES" -+END LC_ADDRESS -+ -+LC_TELEPHONE -+copy "ca_ES" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "ca_ES" -+END LC_MEASUREMENT diff --git a/packages/glibc/2.16.0/0017-macos-cross-rpcgen.patch b/packages/glibc/2.16.0/0017-macos-cross-rpcgen.patch deleted file mode 100644 index b439b0f..0000000 --- a/packages/glibc/2.16.0/0017-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -69,6 +69,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.16.0/0018-nscd-one-fork.patch b/packages/glibc/2.16.0/0018-nscd-one-fork.patch deleted file mode 100644 index 0d72f07..0000000 --- a/packages/glibc/2.16.0/0018-nscd-one-fork.patch +++ /dev/null @@ -1,46 +0,0 @@ -only fork one to assist in stop-start-daemon assumptions about daemon behavior - -http://bugs.gentoo.org/190785 - ---- - nscd/nscd.c | 15 +++------------ - 1 file changed, 3 insertions(+), 12 deletions(-) - ---- a/nscd/nscd.c -+++ b/nscd/nscd.c -@@ -203,6 +203,9 @@ - exit (0); - } - -+ if (write_pid (_PATH_NSCDPID) < 0) -+ dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -+ - int nullfd = open (_PATH_DEVNULL, O_RDWR); - if (nullfd != -1) - { -@@ -252,15 +255,6 @@ - for (i = min_close_fd; i < getdtablesize (); i++) - close (i); - -- if (run_mode == RUN_DAEMONIZE) -- { -- pid = fork (); -- if (pid == -1) -- error (EXIT_FAILURE, errno, _("cannot fork")); -- if (pid != 0) -- exit (0); -- } -- - setsid (); - - if (chdir ("/") != 0) -@@ -269,9 +263,6 @@ - - openlog ("nscd", LOG_CONS | LOG_ODELAY, LOG_DAEMON); - -- if (write_pid (_PATH_NSCDPID) < 0) -- dbg_log ("%s: %s", _PATH_NSCDPID, strerror (errno)); -- - if (!init_logfile ()) - dbg_log (_("Could not create log file")); - diff --git a/packages/glibc/2.16.0/0019-hppa-nptl-carlos.patch b/packages/glibc/2.16.0/0019-hppa-nptl-carlos.patch deleted file mode 100644 index 6c2ca8e..0000000 --- a/packages/glibc/2.16.0/0019-hppa-nptl-carlos.patch +++ /dev/null @@ -1,249 +0,0 @@ - - ---- - elf/rtld.c | 10 +++++----- - include/atomic.h | 26 +++++++++++++------------- - nptl/Makefile | 35 ++++++++++++++++++++++++++++++++--- - nptl/pthread_barrier_wait.c | 2 +- - nptl/sysdeps/pthread/Makefile | 2 ++ - stdio-common/Makefile | 2 +- - sunrpc/clnt_udp.c | 2 +- - 7 files changed, 55 insertions(+), 24 deletions(-) - ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -393,14 +393,14 @@ - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ --#ifndef DONT_USE_BOOTSTRAP_MAP -+#if !defined DONT_USE_BOOTSTRAP_MAP - # ifdef HAVE_BUILTIN_MEMSET - __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); - # else -- for (size_t cnt = 0; -- cnt < sizeof (bootstrap_map.l_info) / sizeof (bootstrap_map.l_info[0]); -- ++cnt) -- bootstrap_map.l_info[cnt] = 0; -+ /* Clear the whole bootstrap_map structure */ -+ for (char *cnt = (char *)&(bootstrap_map); -+ cnt < ((char *)&(bootstrap_map) + sizeof (bootstrap_map)); -+ *cnt++ = '\0'); - # endif - # if USE___THREAD - bootstrap_map.l_tls_modid = 0; ---- a/include/atomic.h -+++ b/include/atomic.h -@@ -184,7 +184,7 @@ - __typeof (*(mem)) __atg5_value = (newvalue); \ - \ - do \ -- __atg5_oldval = *__atg5_memp; \ -+ __atg5_oldval = *(volatile __typeof (mem))__atg5_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \ - __atg5_oldval), 0)); \ -@@ -205,7 +205,7 @@ - __typeof (*(mem)) __atg6_value = (value); \ - \ - do \ -- __atg6_oldval = *__atg6_memp; \ -+ __atg6_oldval = *(volatile __typeof (mem))__atg6_memp; \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg6_memp, \ - __atg6_oldval \ -@@ -223,7 +223,7 @@ - __typeof (*(mem)) __atg7_value = (value); \ - \ - do \ -- __atg7_oldv = *__atg7_memp; \ -+ __atg7_oldv = *(volatile __typeof (mem))__atg7_memp; \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg7_memp, \ - __atg7_oldv \ -@@ -241,7 +241,7 @@ - __typeof (mem) __atg8_memp = (mem); \ - __typeof (*(mem)) __atg8_value = (value); \ - do { \ -- __atg8_oldval = *__atg8_memp; \ -+ __atg8_oldval = *(volatile __typeof (mem))__atg8_memp; \ - if (__atg8_oldval >= __atg8_value) \ - break; \ - } while (__builtin_expect \ -@@ -258,7 +258,7 @@ - __typeof (mem) __atg9_memp = (mem); \ - __typeof (*(mem)) __atg9_value = (value); \ - do { \ -- __atg9_oldv = *__atg9_memp; \ -+ __atg9_oldv = *(volatile __typeof (mem))__atg9_memp; \ - if (__atg9_oldv >= __atg9_value) \ - break; \ - } while (__builtin_expect \ -@@ -276,7 +276,7 @@ - __typeof (mem) __atg10_memp = (mem); \ - __typeof (*(mem)) __atg10_value = (value); \ - do { \ -- __atg10_oldval = *__atg10_memp; \ -+ __atg10_oldval = *(volatile __typeof (mem))__atg10_memp; \ - if (__atg10_oldval <= __atg10_value) \ - break; \ - } while (__builtin_expect \ -@@ -360,7 +360,7 @@ - \ - do \ - { \ -- __atg11_oldval = *__atg11_memp; \ -+ __atg11_oldval = *(volatile __typeof (mem))__atg11_memp; \ - if (__builtin_expect (__atg11_oldval <= 0, 0)) \ - break; \ - } \ -@@ -399,7 +399,7 @@ - __typeof (*(mem)) __atg14_mask = ((__typeof (*(mem))) 1 << (bit)); \ - \ - do \ -- __atg14_old = (*__atg14_memp); \ -+ __atg14_old = (*(volatile __typeof (mem))__atg14_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg14_memp, \ - __atg14_old | __atg14_mask,\ -@@ -417,7 +417,7 @@ - __typeof (*(mem)) __atg15_mask = (mask); \ - \ - do \ -- __atg15_old = (*__atg15_memp); \ -+ __atg15_old = (*(volatile __typeof (mem))__atg15_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg15_memp, \ - __atg15_old & __atg15_mask, \ -@@ -449,7 +449,7 @@ - __typeof (*(mem)) __atg16_mask = (mask); \ - \ - do \ -- __atg16_old = (*__atg16_memp); \ -+ __atg16_old = (*(volatile __typeof (mem))__atg16_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg16_memp, \ - __atg16_old & __atg16_mask,\ -@@ -467,7 +467,7 @@ - __typeof (*(mem)) __atg17_mask = (mask); \ - \ - do \ -- __atg17_old = (*__atg17_memp); \ -+ __atg17_old = (*(volatile __typeof (mem))__atg17_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg17_memp, \ - __atg17_old | __atg17_mask, \ -@@ -483,7 +483,7 @@ - __typeof (*(mem)) __atg18_mask = (mask); \ - \ - do \ -- __atg18_old = (*__atg18_memp); \ -+ __atg18_old = (*(volatile __typeof (mem))__atg18_memp); \ - while (__builtin_expect \ - (catomic_compare_and_exchange_bool_acq (__atg18_memp, \ - __atg18_old | __atg18_mask,\ -@@ -499,7 +499,7 @@ - __typeof (*(mem)) __atg19_mask = (mask); \ - \ - do \ -- __atg19_old = (*__atg19_memp); \ -+ __atg19_old = (*(volatile __typeof (mem))__atg19_memp); \ - while (__builtin_expect \ - (atomic_compare_and_exchange_bool_acq (__atg19_memp, \ - __atg19_old | __atg19_mask,\ ---- a/nptl/Makefile -+++ b/nptl/Makefile -@@ -266,9 +266,9 @@ - # Files which must not be linked with libpthread. - tests-nolibpthread = tst-unload - --# This sets the stack resource limit to 1023kb, which is not a multiple --# of the page size since every architecture's page size is > 1k. --tst-oddstacklimit-ENV = ; ulimit -s 1023; -+# This sets the stack resource limit to 8193kb, which is not a multiple -+# of the page size since every architecture's page size is 4096 bytes. -+tst-oddstacklimit-ENV = ; ulimit -s 8193; - - gen-as-const-headers = pthread-errnos.sym - -@@ -421,6 +421,35 @@ - CFLAGS-tst-cleanupx4.c += -fexceptions - CFLAGS-tst-oncex3.c += -fexceptions - CFLAGS-tst-oncex4.c += -fexceptions -+ -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed -+LDFLAGS-tst-cancelx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx5 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx6 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx7 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx8 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx9 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx10 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx11 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx12 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx13 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx14 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx15 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx16 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx17 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx18 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx20 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cancelx21 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx0 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx1 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx2 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-cleanupx4 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex3 += $(ldflags-libgcc_s) -+LDFLAGS-tst-oncex4 += $(ldflags-libgcc_s) -+ - CFLAGS-tst-align.c += $(stack-align-test-flags) - CFLAGS-tst-align3.c += $(stack-align-test-flags) - CFLAGS-tst-initializers1.c = -W -Wall -Werror ---- a/nptl/pthread_barrier_wait.c -+++ b/nptl/pthread_barrier_wait.c -@@ -63,7 +63,7 @@ - do - lll_futex_wait (&ibarrier->curr_event, event, - ibarrier->private ^ FUTEX_PRIVATE_FLAG); -- while (event == ibarrier->curr_event); -+ while (event == *(volatile unsigned int *)&ibarrier->curr_event); - } - - /* Make sure the init_count is stored locally or in a register. */ ---- a/nptl/sysdeps/pthread/Makefile -+++ b/nptl/sysdeps/pthread/Makefile -@@ -32,7 +32,9 @@ - - ifeq ($(have-forced-unwind),yes) - tests += tst-mqueue8x -+ldflags-libgcc_s = --as-needed -lgcc_s --no-as-needed - CFLAGS-tst-mqueue8x.c += -fexceptions -+LDFLAGS-tst-mqueue8x += $(ldflags-libgcc_s) - endif - endif - ---- a/stdio-common/Makefile -+++ b/stdio-common/Makefile -@@ -76,7 +76,7 @@ - $(SHELL) -e tst-printf.sh $(common-objpfx) '$(run-program-prefix)' - endif - --CFLAGS-vfprintf.c = -Wno-uninitialized -+CFLAGS-vfprintf.c = -Wno-uninitialized -fno-delayed-branch - CFLAGS-vfwprintf.c = -Wno-uninitialized - CFLAGS-tst-printf.c = -Wno-format - CFLAGS-tstdiomisc.c = -Wno-format ---- a/sunrpc/clnt_udp.c -+++ b/sunrpc/clnt_udp.c -@@ -462,7 +462,7 @@ - while (inlen < 0 && errno == EINTR); - if (inlen < 0) - { -- if (errno == EWOULDBLOCK) -+ if (errno == EWOULDBLOCK || errno == EAGAIN) - continue; - cu->cu_error.re_errno = errno; - return (cu->cu_error.re_status = RPC_CANTRECV); diff --git a/packages/glibc/2.16.0/0020-dl_execstack-PaX-support.patch b/packages/glibc/2.16.0/0020-dl_execstack-PaX-support.patch deleted file mode 100644 index cd60905..0000000 --- a/packages/glibc/2.16.0/0020-dl_execstack-PaX-support.patch +++ /dev/null @@ -1,69 +0,0 @@ - With latest versions of glibc, a lot of apps failed on a PaX enabled - system with: - cannot enable executable stack as shared object requires: Permission denied - - This is due to PaX 'exec-protecting' the stack, and ld.so then trying - to make the stack executable due to some libraries not containing the - PT_GNU_STACK section. Bug #32960. (12 Nov 2003). - - Patch also NPTL. Bug #116086. (20 Dec 2005). - ---- - nptl/allocatestack.c | 3 ++- - sysdeps/unix/sysv/linux/dl-execstack.c | 19 ++++++++++++++++--- - 2 files changed, 18 insertions(+), 4 deletions(-) - ---- a/nptl/allocatestack.c -+++ b/nptl/allocatestack.c -@@ -334,7 +334,8 @@ - # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" - #endif - if (mprotect (stack, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0) -- return errno; -+ if (errno != EACCES) /* PAX is enabled */ -+ return errno; - - return 0; - } ---- a/sysdeps/unix/sysv/linux/dl-execstack.c -+++ b/sysdeps/unix/sysv/linux/dl-execstack.c -@@ -62,7 +62,10 @@ - else - # endif - { -- result = errno; -+ if (errno == EACCES) /* PAX is enabled */ -+ result = 0; -+ else -+ result = errno; - goto out; - } - } -@@ -88,7 +91,12 @@ - page -= size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; -@@ -114,7 +122,12 @@ - page += size; - else - { -- if (errno != ENOMEM) /* Unexpected failure mode. */ -+ if (errno == EACCES) /* PAX is enabled */ -+ { -+ result = 0; -+ goto out; -+ } -+ else if (errno != ENOMEM) /* Unexpected failure mode. */ - { - result = errno; - goto out; diff --git a/packages/glibc/2.16.0/0021-pre20040117-pt_pax.patch b/packages/glibc/2.16.0/0021-pre20040117-pt_pax.patch deleted file mode 100644 index 544b3f6..0000000 --- a/packages/glibc/2.16.0/0021-pre20040117-pt_pax.patch +++ /dev/null @@ -1,35 +0,0 @@ - - ---- - elf/elf.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/elf/elf.h -+++ b/elf/elf.h -@@ -581,6 +581,7 @@ - #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ - #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ - #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ -+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */ - #define PT_LOSUNW 0x6ffffffa - #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ - #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ -@@ -594,6 +595,18 @@ - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ - #define PF_MASKOS 0x0ff00000 /* OS-specific */ - #define PF_MASKPROC 0xf0000000 /* Processor-specific */ - diff --git a/packages/glibc/2.16.0/0022-tests-sandbox-libdl-paths.patch b/packages/glibc/2.16.0/0022-tests-sandbox-libdl-paths.patch deleted file mode 100644 index 0c51c88..0000000 --- a/packages/glibc/2.16.0/0022-tests-sandbox-libdl-paths.patch +++ /dev/null @@ -1,196 +0,0 @@ -when glibc runs its tests, it does so by invoking the local library loader. -in Gentoo, we build/run inside of our "sandbox" which itself is linked against -libdl (so that it can load libraries and pull out symbols). the trouble -is that when you upgrade from an older glibc to the new one, often times -internal symbols change name or abi. this is normally OK as you cannot use -libc.so from say version 2.3.6 but libpthread.so from say version 2.5, so -we always say "keep all of the glibc libraries from the same build". but -when glibc runs its tests, it uses dynamic paths to point to its new local -copies of libraries. if the test doesnt use libdl, then glibc doesnt add -its path, and when sandbox triggers the loading of libdl, glibc does so -from the host system system. this gets us into the case of all libraries -are from the locally compiled version of glibc except for libdl.so. - -Fix by Wormo - -http://bugs.gentoo.org/56898 - ---- - grp/tst_fgetgrent.sh | 3 ++- - iconvdata/run-iconv-test.sh | 2 +- - iconvdata/tst-table.sh | 5 ++++- - intl/tst-codeset.sh | 3 +++ - intl/tst-gettext.sh | 5 ++++- - intl/tst-gettext2.sh | 5 ++++- - intl/tst-translit.sh | 5 ++++- - malloc/tst-mtrace.sh | 5 ++++- - nptl/tst-tls6.sh | 4 ++-- - posix/globtest.sh | 2 +- - posix/tst-getconf.sh | 5 ++++- - posix/wordexp-tst.sh | 5 ++++- - 12 files changed, 37 insertions(+), 12 deletions(-) - ---- a/grp/tst_fgetgrent.sh -+++ b/grp/tst_fgetgrent.sh -@@ -23,7 +23,8 @@ - rtld_installed_name=$1; shift - - testout=${common_objpfx}/grp/tst_fgetgrent.out --library_path=${common_objpfx} -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn - - result=0 - ---- a/iconvdata/run-iconv-test.sh -+++ b/iconvdata/run-iconv-test.sh -@@ -33,7 +33,7 @@ - export GCONV_PATH - - # We have to have some directories in the library path. --LIBPATH=$codir:$codir/iconvdata -+LIBPATH=$codir:$codir/iconvdata:$codir/dlfcn - - # How the start the iconv(1) program. - ICONV='$codir/elf/ld.so --library-path $LIBPATH --inhibit-rpath ${from}.so \ ---- a/iconvdata/tst-table.sh -+++ b/iconvdata/tst-table.sh -@@ -58,8 +58,11 @@ - irreversible=${charset}.irreversible - fi - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # iconv in one direction. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-table-from ${charset} \ - > ${objpfx}tst-${charset}.table - ---- a/intl/tst-codeset.sh -+++ b/intl/tst-codeset.sh -@@ -36,6 +36,9 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - ${common_objpfx}elf/ld.so --library-path $common_objpfx \ - ${objpfx}tst-codeset > ${objpfx}tst-codeset.out - ---- a/intl/tst-gettext.sh -+++ b/intl/tst-gettext.sh -@@ -50,9 +50,12 @@ - LOCPATH=${common_objpfx}localedata - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. - MALLOC_TRACE=$malloc_trace LOCPATH=${objpfx}localedir:$LOCPATH \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir - - exit $? ---- a/intl/tst-gettext2.sh -+++ b/intl/tst-gettext2.sh -@@ -64,8 +64,11 @@ - LOCPATH=${objpfx}domaindir - export LOCPATH - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - # Now run the test. --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && - cmp ${objpfx}tst-gettext2.out - < ${objpfx}tst-translit.out ${objpfx}domaindir - - exit $? ---- a/malloc/tst-mtrace.sh -+++ b/malloc/tst-mtrace.sh -@@ -23,9 +23,12 @@ - status=0 - trap "rm -f ${common_objpfx}malloc/tst-mtrace.leak; exit 1" 1 2 15 - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - MALLOC_TRACE=${common_objpfx}malloc/tst-mtrace.leak \ - LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ --${common_objpfx}elf/ld.so --library-path $common_objpfx \ -+${common_objpfx}elf/ld.so --library-path $library_path \ - ${common_objpfx}malloc/tst-mtrace || status=1 - - if test $status -eq 0 && test -f ${common_objpfx}malloc/mtrace; then ---- a/nptl/tst-tls6.sh -+++ b/nptl/tst-tls6.sh -@@ -5,8 +5,8 @@ - rtld_installed_name=$1; shift - logfile=$common_objpfx/nptl/tst-tls6.out - --# We have to find libc and nptl --library_path=${common_objpfx}:${common_objpfx}nptl -+# We have to find libc and nptl (also libdl in case sandbox is in use) -+library_path=${common_objpfx}:${common_objpfx}nptl:${common_objpfx}/dlfcn - tst_tls5="${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}/nptl/tst-tls5" - ---- a/posix/globtest.sh -+++ b/posix/globtest.sh -@@ -18,7 +18,7 @@ - esac - - # We have to find the libc and the NSS modules. --library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod -+library_path=${common_objpfx}:${common_objpfx}nss:${common_objpfx}nis:${common_objpfx}db2:${common_objpfx}hesiod:${common_objpfx}/dlfcn - - # Since we use `sort' we must make sure to use the same locale everywhere. - LC_ALL=C ---- a/posix/tst-getconf.sh -+++ b/posix/tst-getconf.sh -@@ -10,7 +10,10 @@ - else - rtld_installed_name=$1; shift - runit() { -- ${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} "$@" -+ -+ # make sure libdl is also in path in case sandbox is in use -+ library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} "$@" - } - fi - ---- a/posix/wordexp-tst.sh -+++ b/posix/wordexp-tst.sh -@@ -19,8 +19,11 @@ - " - export IFS - -+# make sure libdl is also in path in case sandbox is in use -+library_path=${common_objpfx}:${common_objpfx}/dlfcn -+ - failed=0 --${elf_objpfx}${rtld_installed_name} --library-path ${common_objpfx} \ -+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \ - ${common_objpfx}posix/wordexp-test '$*' > ${testout}1 - cat <<"EOF" | cmp - ${testout}1 >> $logfile || failed=1 - wordexp returned 0 diff --git a/packages/glibc/2.16.0/0023-dont-build-timezone.patch b/packages/glibc/2.16.0/0023-dont-build-timezone.patch deleted file mode 100644 index dca2a27..0000000 --- a/packages/glibc/2.16.0/0023-dont-build-timezone.patch +++ /dev/null @@ -1,17 +0,0 @@ -timezone data has been split into the package sys-libs/timezone-data - ---- - Makeconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Makeconfig -+++ b/Makeconfig -@@ -926,7 +926,7 @@ - stdlib stdio-common libio malloc string wcsmbs time dirent \ - grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow gshadow po argp \ -- crypt nss localedata timezone rt conform debug \ -+ crypt nss localedata rt conform debug \ - $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) - - ifndef avoid-generated diff --git a/packages/glibc/2.16.0/0024-alpha-xstat.patch b/packages/glibc/2.16.0/0024-alpha-xstat.patch deleted file mode 100644 index a329214..0000000 --- a/packages/glibc/2.16.0/0024-alpha-xstat.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -285,6 +285,11 @@ - # define __ASSUME_GETDENTS32_D_TYPE 1 - #endif - -+/* Starting with version 2.6.4, alpha stat64 syscalls are available. */ -+#if __LINUX_KERNEL_VERSION >= 0x020604 && defined __alpha__ -+# define __ASSUME_STAT64_SYSCALL 1 -+#endif -+ - /* Starting with version 2.5.3, the initial location returned by `brk' - after exec is always rounded up to the next page. */ - #if __LINUX_KERNEL_VERSION >= 132355 diff --git a/packages/glibc/2.16.0/0025-alpha-creat.patch b/packages/glibc/2.16.0/0025-alpha-creat.patch deleted file mode 100644 index 6ef5278..0000000 --- a/packages/glibc/2.16.0/0025-alpha-creat.patch +++ /dev/null @@ -1,17 +0,0 @@ -alpha does not have a __NR_creat - -http://bugs.gentoo.org/227275 -http://sourceware.org/bugzilla/show_bug.cgi?id=6650 - ---- - sysdeps/unix/sysv/linux/wordsize-64/creat64.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/creat64.c -@@ -1 +1,5 @@ - /* Defined as alias for the syscall. */ -+#include -+#ifndef __NR_creat -+#include "../../../../../io/creat64.c" -+#endif diff --git a/packages/glibc/2.16.0/0026-alpha_alpha-add-fdatasync-support.patch b/packages/glibc/2.16.0/0026-alpha_alpha-add-fdatasync-support.patch deleted file mode 100644 index 159d8d0..0000000 --- a/packages/glibc/2.16.0/0026-alpha_alpha-add-fdatasync-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -2009-07-25 Aurelien Jarno - - * sysdeps/unix/sysv/linux/kernel-features.h: define - __ASSUME_FDATASYNC. - * sysdeps/unix/sysv/linux/fdatasync.c: New file. - * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with - -fexceptions. - * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync. - - sysdeps/unix/sysv/linux/Makefile | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++ - sysdeps/unix/sysv/linux/kernel-features.h | 6 ++ - sysdeps/unix/sysv/linux/syscalls.list | 1 - 4 files changed, 76 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/Makefile -+++ b/sysdeps/unix/sysv/linux/Makefile -@@ -23,6 +23,7 @@ - setfsuid setfsgid makedev epoll_pwait signalfd \ - eventfd eventfd_read eventfd_write prlimit - -+CFLAGS-fdatasync.c = -fexceptions - CFLAGS-gethostid.c = -fexceptions - CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=0x80000000-__getpagesize()" - ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/fdatasync.c -@@ -0,0 +1,69 @@ -+/* fdatasync -- synchronize at least the data part of a file with -+ the underlying media. Linux version. -+ -+ Copyright (C) 2007 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+ -+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC -+static int __have_no_fdatasync; -+#endif -+ -+static int -+do_fdatasync (int fd) -+{ -+#ifdef __ASSUME_FDATASYNC -+ return INLINE_SYSCALL (fdatasync, 1, fd); -+#elif defined __NR_fdatasync -+ if (!__builtin_expect (__have_no_fdatasync, 0)) -+ { -+ int result = INLINE_SYSCALL (fdatasync, 1, fd); -+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS) -+ return result; -+ -+ __have_no_fdatasync = 1; -+ } -+#endif -+ return INLINE_SYSCALL (fsync, 1, fd); -+} -+ -+int -+__fdatasync (int fd) -+{ -+ if (SINGLE_THREAD_P) -+ return do_fdatasync (fd); -+ -+ int oldtype = LIBC_CANCEL_ASYNC (); -+ -+ int result = do_fdatasync (fd); -+ -+ LIBC_CANCEL_RESET (oldtype); -+ -+ return result; -+} -+ -+weak_alias (__fdatasync, fdatasync) -+ ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -357,6 +357,12 @@ - # define __ASSUME_FUTEX_LOCK_PI 1 - #endif - -+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it -+ was already present in 2.0 kernels on other architectures. */ -+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616) -+# define __ASSUME_FDATASYNC 1 -+#endif -+ - /* Support for utimensat syscall was added in 2.6.22, on SH - only after 2.6.22-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020616 \ ---- a/sysdeps/unix/sysv/linux/syscalls.list -+++ b/sysdeps/unix/sysv/linux/syscalls.list -@@ -13,7 +13,6 @@ - epoll_create1 EXTRA epoll_create1 i:i epoll_create1 - epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl - epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait --fdatasync - fdatasync Ci:i fdatasync - flock - flock i:ii __flock flock - fork - fork i: __libc_fork __fork fork - get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms diff --git a/packages/glibc/2.16.0/0027-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch b/packages/glibc/2.16.0/0027-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch deleted file mode 100644 index b366805..0000000 --- a/packages/glibc/2.16.0/0027-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch +++ /dev/null @@ -1,222 +0,0 @@ -From 536ae0651b015b1f6140ec01775d4deaacf12c0c Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Mon, 21 Jan 2013 17:41:28 +0100 -Subject: [PATCH] Fix parsing of numeric hosts in gethostbyname_r - -Ported from master, fixes CVE-2015-0235. ---- - nss/Makefile | 2 - - nss/digits_dots.c | 73 +++++++++++++------------------------------------ - nss/getXXbyYY_r.c | 3 ++ - nss/test-digits-dots.c | 38 +++++++++++++++++++++++++ - 4 files changed, 62 insertions(+), 54 deletions(-) - create mode 100644 nss/test-digits-dots.c - ---- a/nss/Makefile -+++ b/nss/Makefile -@@ -38,7 +38,7 @@ - makedb-modules = xmalloc hash-string - extra-objs += $(makedb-modules:=.o) - --tests = test-netdb tst-nss-test1 -+tests = test-netdb tst-nss-test1 test-digits-dots - xtests = bug-erange - - include ../Makeconfig ---- a/nss/digits_dots.c -+++ b/nss/digits_dots.c -@@ -46,7 +46,10 @@ - { - if (h_errnop) - *h_errnop = NETDB_INTERNAL; -- *result = NULL; -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_TRYAGAIN; -+ else -+ *result = NULL; - return -1; - } - -@@ -83,14 +86,16 @@ - } - - size_needed = (sizeof (*host_addr) -- + sizeof (*h_addr_ptrs) + strlen (name) + 1); -+ + sizeof (*h_addr_ptrs) -+ + sizeof (*h_alias_ptr) + strlen (name) + 1); - - if (buffer_size == NULL) - { - if (buflen < size_needed) - { -+ *status = NSS_STATUS_TRYAGAIN; - if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -+ *h_errnop = NETDB_INTERNAL; - __set_errno (ERANGE); - goto done; - } -@@ -109,7 +114,7 @@ - *buffer_size = 0; - __set_errno (save); - if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -+ *h_errnop = NETDB_INTERNAL; - *result = NULL; - goto done; - } -@@ -149,7 +154,9 @@ - if (! ok) - { - *h_errnop = HOST_NOT_FOUND; -- if (buffer_size) -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else - *result = NULL; - goto done; - } -@@ -190,7 +197,7 @@ - if (buffer_size == NULL) - *status = NSS_STATUS_SUCCESS; - else -- *result = resbuf; -+ *result = resbuf; - goto done; - } - -@@ -201,15 +208,6 @@ - - if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':') - { -- const char *cp; -- char *hostname; -- typedef unsigned char host_addr_t[16]; -- host_addr_t *host_addr; -- typedef char *host_addr_list_t[2]; -- host_addr_list_t *h_addr_ptrs; -- size_t size_needed; -- int addr_size; -- - switch (af) - { - default: -@@ -225,7 +223,10 @@ - /* This is not possible. We cannot represent an IPv6 address - in an `struct in_addr' variable. */ - *h_errnop = HOST_NOT_FOUND; -- *result = NULL; -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else -+ *result = NULL; - goto done; - - case AF_INET6: -@@ -233,42 +234,6 @@ - break; - } - -- size_needed = (sizeof (*host_addr) -- + sizeof (*h_addr_ptrs) + strlen (name) + 1); -- -- if (buffer_size == NULL && buflen < size_needed) -- { -- if (h_errnop != NULL) -- *h_errnop = TRY_AGAIN; -- __set_errno (ERANGE); -- goto done; -- } -- else if (buffer_size != NULL && *buffer_size < size_needed) -- { -- char *new_buf; -- *buffer_size = size_needed; -- new_buf = realloc (*buffer, *buffer_size); -- -- if (new_buf == NULL) -- { -- save = errno; -- free (*buffer); -- __set_errno (save); -- *buffer = NULL; -- *buffer_size = 0; -- *result = NULL; -- goto done; -- } -- *buffer = new_buf; -- } -- -- memset (*buffer, '\0', size_needed); -- -- host_addr = (host_addr_t *) *buffer; -- h_addr_ptrs = (host_addr_list_t *) -- ((char *) host_addr + sizeof (*host_addr)); -- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs); -- - for (cp = name;; ++cp) - { - if (!*cp) -@@ -281,7 +246,9 @@ - if (inet_pton (AF_INET6, name, host_addr) <= 0) - { - *h_errnop = HOST_NOT_FOUND; -- if (buffer_size) -+ if (buffer_size == NULL) -+ *status = NSS_STATUS_NOTFOUND; -+ else - *result = NULL; - goto done; - } ---- /dev/null -+++ b/nss/test-digits-dots.c -@@ -0,0 +1,38 @@ -+/* Copyright (C) 2013 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* Testcase for BZ #15014 */ -+ -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ char buf[32]; -+ struct hostent *result = NULL; -+ struct hostent ret; -+ int h_err = 0; -+ int err; -+ -+ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err); -+ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE; -+} -+ -+#define TEST_FUNCTION do_test () -+#include "../test-skeleton.c" ---- a/nss/getXXbyYY_r.c -+++ b/nss/getXXbyYY_r.c -@@ -179,6 +179,9 @@ - case -1: - return errno; - case 1: -+#ifdef NEED_H_ERRNO -+ any_service = true; -+#endif - goto done; - } - #endif diff --git a/packages/glibc/2.16.0/0028-ppc-atomic.patch b/packages/glibc/2.16.0/0028-ppc-atomic.patch deleted file mode 100644 index 5340937..0000000 --- a/packages/glibc/2.16.0/0028-ppc-atomic.patch +++ /dev/null @@ -1,412 +0,0 @@ -sniped from suse - ---- - sysdeps/powerpc/bits/atomic.h | 66 ++++++++++----------- - sysdeps/powerpc/powerpc32/bits/atomic.h | 16 ++--- - sysdeps/powerpc/powerpc64/bits/atomic.h | 98 ++++++++++++++++---------------- - 3 files changed, 90 insertions(+), 90 deletions(-) - ---- a/sysdeps/powerpc/bits/atomic.h -+++ b/sysdeps/powerpc/bits/atomic.h -@@ -84,14 +84,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -101,14 +101,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpw %0,%2\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -117,12 +117,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -131,11 +131,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stwcx. %3,0,%2\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stwcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -143,12 +143,12 @@ - #define __arch_atomic_exchange_and_add_32(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stwcx. %1,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -156,12 +156,12 @@ - #define __arch_atomic_increment_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -169,27 +169,27 @@ - #define __arch_atomic_decrement_val_32(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: lwarx %0,0,%2\n" \ -+ __asm __volatile ("1: lwarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stwcx. %0,0,%2\n" \ -+ " stwcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_32(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: lwarx %0,0,%3\n" \ -+ __asm __volatile ("1: lwarx %0,%y2\n" \ - " cmpwi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stwcx. %1,0,%3\n" \ -+ " stwcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*mem) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) ---- a/sysdeps/powerpc/powerpc32/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc32/bits/atomic.h -@@ -43,14 +43,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile ( \ -- "1: lwarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -59,14 +59,14 @@ - ({ \ - unsigned int __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: lwarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stwcx. %3,0,%1\n" \ -+ " stwcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) ---- a/sysdeps/powerpc/powerpc64/bits/atomic.h -+++ b/sysdeps/powerpc/powerpc64/bits/atomic.h -@@ -43,14 +43,14 @@ - ({ \ - unsigned int __tmp, __tmp2; \ - __asm __volatile (" clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -60,14 +60,14 @@ - unsigned int __tmp, __tmp2; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ - " clrldi %1,%1,32\n" \ -- "1: lwarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: lwarx %0,%y2" MUTEX_HINT_REL "\n" \ - " subf. %0,%1,%0\n" \ - " bne 2f\n" \ -- " stwcx. %4,0,%2\n" \ -+ " stwcx. %4,%y2\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp), "=r" (__tmp2) \ -- : "b" (mem), "1" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "=r" (__tmp2), "+Z" (*(mem)) \ -+ : "1" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -81,14 +81,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -97,14 +97,14 @@ - ({ \ - unsigned long __tmp; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " subf. %0,%2,%0\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (mem), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp != 0; \ - }) -@@ -114,14 +114,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile ( \ -- "1: ldarx %0,0,%1" MUTEX_HINT_ACQ "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -131,14 +131,14 @@ - __typeof (*(mem)) __tmp; \ - __typeof (mem) __memp = (mem); \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%1" MUTEX_HINT_REL "\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ - " cmpd %0,%2\n" \ - " bne 2f\n" \ -- " stdcx. %3,0,%1\n" \ -+ " stdcx. %3,%y1\n" \ - " bne- 1b\n" \ - "2: " \ -- : "=&r" (__tmp) \ -- : "b" (__memp), "r" (oldval), "r" (newval) \ -+ : "=&r" (__tmp), "+Z" (*__memp) \ -+ : "r" (oldval), "r" (newval) \ - : "cr0", "memory"); \ - __tmp; \ - }) -@@ -147,12 +147,12 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_ACQ "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_ACQ "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b\n" \ - " " __ARCH_ACQ_INSTR \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -161,11 +161,11 @@ - ({ \ - __typeof (*mem) __val; \ - __asm __volatile (__ARCH_REL_INSTR "\n" \ -- "1: ldarx %0,0,%2" MUTEX_HINT_REL "\n" \ -- " stdcx. %3,0,%2\n" \ -+ "1: ldarx %0,%y1" MUTEX_HINT_REL "\n" \ -+ " stdcx. %2,%y1\n" \ - " bne- 1b" \ -- : "=&r" (__val), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&r" (__val), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -173,12 +173,12 @@ - #define __arch_atomic_exchange_and_add_64(mem, value) \ - ({ \ - __typeof (*mem) __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -- " add %1,%0,%4\n" \ -- " stdcx. %1,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ -+ " add %1,%0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "r" (value), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : "r" (value) \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -186,12 +186,12 @@ - #define __arch_atomic_increment_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " addi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) -@@ -199,27 +199,27 @@ - #define __arch_atomic_decrement_val_64(mem) \ - ({ \ - __typeof (*(mem)) __val; \ -- __asm __volatile ("1: ldarx %0,0,%2\n" \ -+ __asm __volatile ("1: ldarx %0,%y1\n" \ - " subi %0,%0,1\n" \ -- " stdcx. %0,0,%2\n" \ -+ " stdcx. %0,%y1\n" \ - " bne- 1b" \ -- : "=&b" (__val), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) - - #define __arch_atomic_decrement_if_positive_64(mem) \ - ({ int __val, __tmp; \ -- __asm __volatile ("1: ldarx %0,0,%3\n" \ -+ __asm __volatile ("1: ldarx %0,%y2\n" \ - " cmpdi 0,%0,0\n" \ - " addi %1,%0,-1\n" \ - " ble 2f\n" \ -- " stdcx. %1,0,%3\n" \ -+ " stdcx. %1,%y2\n" \ - " bne- 1b\n" \ - "2: " __ARCH_ACQ_INSTR \ -- : "=&b" (__val), "=&r" (__tmp), "=m" (*mem) \ -- : "b" (mem), "m" (*mem) \ -+ : "=&b" (__val), "=&r" (__tmp), "+Z" (*(mem)) \ -+ : \ - : "cr0", "memory"); \ - __val; \ - }) diff --git a/packages/glibc/2.16.0/0029-mips_shn_undef-hack.patch b/packages/glibc/2.16.0/0029-mips_shn_undef-hack.patch deleted file mode 100644 index 5b82f13..0000000 --- a/packages/glibc/2.16.0/0029-mips_shn_undef-hack.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - elf/dl-lookup.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/elf/dl-lookup.c -+++ b/elf/dl-lookup.c -@@ -299,6 +299,12 @@ - /* FALLTHROUGH */ - case STB_GLOBAL: - success: -+#ifdef __mips__ -+ /* HACK: MIPS marks its lazy evaluation stubs with SHN_UNDEF -+ symbols, we skip them. */ -+ if (sym->st_shndx == SHN_UNDEF) -+ break; -+#endif - /* Global definition. Just what we need. */ - result->s = sym; - result->m = (struct link_map *) map; diff --git a/packages/glibc/2.16.0/0030-alpha-atfcts.patch b/packages/glibc/2.16.0/0030-alpha-atfcts.patch deleted file mode 100644 index 5f138a9..0000000 --- a/packages/glibc/2.16.0/0030-alpha-atfcts.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- - sysdeps/unix/sysv/linux/kernel-features.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/sysdeps/unix/sysv/linux/kernel-features.h -+++ b/sysdeps/unix/sysv/linux/kernel-features.h -@@ -335,7 +335,8 @@ - the code. On PPC they were introduced in 2.6.17-rc1, - on SH in 2.6.19-rc1. */ - #if __LINUX_KERNEL_VERSION >= 0x020611 \ -- && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) -+ && (!defined __sh__ || __LINUX_KERNEL_VERSION >= 0x020613) \ -+ && (!defined __alpha__) - # define __ASSUME_ATFCTS 1 - #endif - diff --git a/packages/glibc/2.16.0/0031-syslog.patch b/packages/glibc/2.16.0/0031-syslog.patch deleted file mode 100644 index cd3c426..0000000 --- a/packages/glibc/2.16.0/0031-syslog.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - misc/syslog.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/misc/syslog.c -+++ b/misc/syslog.c -@@ -150,7 +150,7 @@ - #define INTERNALLOG LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID - /* Check for invalid bits. */ - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { -- syslog(INTERNALLOG, -+ __syslog(INTERNALLOG, - "syslog: unknown facility/priority: %x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } diff --git a/packages/glibc/2.16.0/0032-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc/2.16.0/0032-debug-readlink_chk-readklinkat_chk.patch deleted file mode 100644 index 44d596a..0000000 --- a/packages/glibc/2.16.0/0032-debug-readlink_chk-readklinkat_chk.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - debug/readlink_chk.c | 2 +- - debug/readlinkat_chk.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/debug/readlink_chk.c -+++ b/debug/readlink_chk.c -@@ -24,7 +24,7 @@ - - - ssize_t --__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -+__readlink_chk (const char *path, char *buf, size_t len, size_t buflen) - { - if (len > buflen) - __chk_fail (); ---- a/debug/readlinkat_chk.c -+++ b/debug/readlinkat_chk.c -@@ -20,7 +20,7 @@ - - - ssize_t --__readlinkat_chk (int fd, const char *path, void *buf, size_t len, -+__readlinkat_chk (int fd, const char *path, char *buf, size_t len, - size_t buflen) - { - if (len > buflen) diff --git a/packages/glibc/2.16.0/0033-fix-rpc_parse-format.patch b/packages/glibc/2.16.0/0033-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.16.0/0033-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.16.0/0034-nis-bogus-conditional.patch b/packages/glibc/2.16.0/0034-nis-bogus-conditional.patch deleted file mode 100644 index b8b806c..0000000 --- a/packages/glibc/2.16.0/0034-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -292,7 +292,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.16.0/0035-obstack-common.patch b/packages/glibc/2.16.0/0035-obstack-common.patch deleted file mode 100644 index ad1f8eb..0000000 --- a/packages/glibc/2.16.0/0035-obstack-common.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 39b1f6172a2f9ddc74a8f82d6e84dd13b22dbaf2 -Author: Peter Collingbourne -Date: Wed May 15 20:28:08 2013 +0200 - - Move _obstack_compat out of common - - it is impossible to create an alias of a common symbol (as - compat_symbol does), because common symbols do not have a section or - an offset until linked. GNU as tolerates aliases of common symbols by - simply creating another common symbol, but other assemblers (notably - LLVM's integrated assembler) are less tolerant. - - 2013-05-15 Peter Collingbourne - - * malloc/obstack.c (_obstack_compat): Add initializer. - - - ---- - malloc/obstack.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/malloc/obstack.c -+++ b/malloc/obstack.c -@@ -116,7 +116,7 @@ - /* A looong time ago (before 1994, anyway; we're not sure) this global variable - was used by non-GNU-C macros to avoid multiple evaluation. The GNU C - library still exports it because somebody might use it. */ --struct obstack *_obstack_compat; -+struct obstack *_obstack_compat = 0; - compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0); - # endif - # endif diff --git a/packages/glibc/2.16.0/0036-new-tools.patch b/packages/glibc/2.16.0/0036-new-tools.patch deleted file mode 100644 index 8805a3e..0000000 --- a/packages/glibc/2.16.0/0036-new-tools.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- - configure | 4 ++-- - configure.in | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - ---- a/configure -+++ b/configure -@@ -4845,7 +4845,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - -@@ -5032,7 +5032,7 @@ - # Found it, now check the version. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5 - $as_echo_n "checking version of $SED... " >&6; } -- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` -+ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.0[2-9]*|3.[1-9]*|[4-9]*) ---- a/configure.in -+++ b/configure.in -@@ -940,7 +940,7 @@ - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], diff --git a/packages/glibc/2.16.0/0037-strftime-multiple-stmts.patch b/packages/glibc/2.16.0/0037-strftime-multiple-stmts.patch deleted file mode 100644 index 88e658b..0000000 --- a/packages/glibc/2.16.0/0037-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -737,12 +737,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.16.0/0038-if_nametoindex-size-check.patch b/packages/glibc/2.16.0/0038-if_nametoindex-size-check.patch deleted file mode 100644 index 375bb95..0000000 --- a/packages/glibc/2.16.0/0038-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -44,6 +44,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.16.0/0039-utmp-nonstring.patch b/packages/glibc/2.16.0/0039-utmp-nonstring.patch deleted file mode 100644 index 1f47956..0000000 --- a/packages/glibc/2.16.0/0039-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -375,6 +375,15 @@ - # define __glibc_unlikely(cond) (cond) - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -60,10 +60,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.16.0/0040-getlogin_r-use-strnlen.patch b/packages/glibc/2.16.0/0040-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc/2.16.0/0040-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.16.0/0041-zic.c-use-memcpy.patch b/packages/glibc/2.16.0/0041-zic.c-use-memcpy.patch deleted file mode 100644 index 8679c0a..0000000 --- a/packages/glibc/2.16.0/0041-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1695,7 +1695,7 @@ - #define DO(field) (void) fwrite((void *) tzh.field, \ - (size_t) sizeof tzh.field, (size_t) 1, fp) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.16.0/0042-fix-GCC-10-detection.patch b/packages/glibc/2.16.0/0042-fix-GCC-10-detection.patch deleted file mode 100644 index 4d55ff3..0000000 --- a/packages/glibc/2.16.0/0042-fix-GCC-10-detection.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 01e89232ac76b66e2bba2ec84d7f86e86f04ae64 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 aa7869ff17..2a513eae65 100755 ---- a/configure -+++ b/configure -@@ -4782,7 +4782,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.[3-9].* | 4.[1-9][0-9].* | [5-9].* ) -+ 4.[3-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.16.0/chksum b/packages/glibc/2.16.0/chksum deleted file mode 100644 index 91294a4..0000000 --- a/packages/glibc/2.16.0/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.16.0.tar.xz 80b181b02ab249524ec92822c0174cf7 -sha1 glibc-2.16.0.tar.xz 9d4fffc9c4ac93e7919e124fa38bb51dcaff5216 -sha256 glibc-2.16.0.tar.xz 1edc36aa2a6cb7127971fce8e02eecffe9c7956297ad3ef10dd4c09f486d5924 -sha512 glibc-2.16.0.tar.xz be9acc11b77ab3c01d5766fe626a6a51bc3192ac98f9554fbb5c37120cfc6f636c0b7a80beddc180f13b32ad06051d24c1999fa2e64eeb724d55a9498f0f634e -md5 glibc-2.16.0.tar.bz2 b1030e3c7150419bf8bd0ba0017cdbc7 -sha1 glibc-2.16.0.tar.bz2 3bebc5a3120eafde2144ced6ee151e6c4934c781 -sha256 glibc-2.16.0.tar.bz2 660ffe8ce6d9620796073f9e6f43cbf664d755fc0354f3b9f8930ce76d3bbf4c -sha512 glibc-2.16.0.tar.bz2 1712cd44c32110278fd11ca2294312a421e49b24cb032a0ae2c385aa2a47d8552d3a39da49dff4eb9ab3674e7b1ab241e8b7af91089194ca24346ea5feb44ce7 -md5 glibc-2.16.0.tar.gz b5f786fa7df4ff947bcd240c0e595f98 -sha1 glibc-2.16.0.tar.gz b55bdbc88a0b950f712a05d37b96e9b1484c567e -sha256 glibc-2.16.0.tar.gz a75be51658cc1cfb6324ec6dbdbed416526c44c14814823129f0fcc74c279f6e -sha512 glibc-2.16.0.tar.gz 428ad429644d1464d08aebbe560c47aeaa5a636c2affeae8ae06f2e374526cbacbdd8e78dea3c9d2244df5f41c233ad09b31dc115687c2349d390815ba4a6645 diff --git a/packages/glibc/2.16.0/version.desc b/packages/glibc/2.16.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.16.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.18/0000-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch b/packages/glibc/2.18/0000-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch deleted file mode 100644 index d441b0c..0000000 --- a/packages/glibc/2.18/0000-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch +++ /dev/null @@ -1,65 +0,0 @@ -commit 4f2bcda964d4fff56855e0c66198c9bcb682ea1e -Author: Will Newton -Date: Thu Aug 29 20:10:26 2013 +0100 - - ARM: Fix clone code when built for Thumb. - - The mov lr, pc instruction will lose the Thumb bit from the return address - so use blx lr instead. - - ports/ChangeLog.arm: - - 2013-08-30 Will Newton - - [BZ #15909] - * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx - instead of mov lr, pc. - - (cherry picked from commit 6b06ac56cdfc9293908724e51e827534e97819aa) - ---- - NEWS | 6 ++++++ - ports/ChangeLog.arm | 6 ++++++ - ports/sysdeps/unix/sysv/linux/arm/clone.S | 4 ++-- - 3 files changed, 14 insertions(+), 2 deletions(-) - ---- a/NEWS -+++ b/NEWS -@@ -5,6 +5,12 @@ - Please send GNU C library bug reports via - using `glibc' in the "product" field. - -+Version 2.18.1 -+ -+* The following bugs are resolved with this release: -+ -+ 15909. -+ - Version 2.18 - - * The following bugs are resolved with this release: ---- a/ports/ChangeLog.arm -+++ b/ports/ChangeLog.arm -@@ -1,3 +1,9 @@ -+2013-08-30 Will Newton -+ -+ [BZ #15909] -+ * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx -+ instead of mov lr, pc. -+ - 2013-07-03 Joseph Myers - - * sysdeps/arm/include/bits/setjmp.h [_ISOMAC] (JMP_BUF_REGLIST): ---- a/ports/sysdeps/unix/sysv/linux/arm/clone.S -+++ b/ports/sysdeps/unix/sysv/linux/arm/clone.S -@@ -93,8 +93,8 @@ - mov lr, pc - bx ip - #else -- mov lr, pc -- ldr pc, [sp], #8 -+ ldr lr, [sp], #8 -+ blx lr - #endif - - @ and we are done, passing the return value through r0 diff --git a/packages/glibc/2.18/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.18/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch deleted file mode 100644 index 5d724b2..0000000 --- a/packages/glibc/2.18/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch +++ /dev/null @@ -1,75 +0,0 @@ -From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -327,18 +327,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.18/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.18/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index cf36780..0000000 --- a/packages/glibc/2.18/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -83,15 +83,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -63,13 +63,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -62,13 +62,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.18/0003-dl-openat64-variadic.patch b/packages/glibc/2.18/0003-dl-openat64-variadic.patch deleted file mode 100644 index 552db12..0000000 --- a/packages/glibc/2.18/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.18/0004-unused-variables.patch b/packages/glibc/2.18/0004-unused-variables.patch deleted file mode 100644 index 0f17740..0000000 --- a/packages/glibc/2.18/0004-unused-variables.patch +++ /dev/null @@ -1,151 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - 9 files changed, 1 insertion(+), 18 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -65,10 +65,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -129,10 +127,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -34,7 +34,6 @@ - /**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -48,7 +47,6 @@ - /**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - #ifndef COSF - # define COSF_FUNC __cosf - #else ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -138,7 +138,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double diff --git a/packages/glibc/2.18/0005-misleading-indentation.patch b/packages/glibc/2.18/0005-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc/2.18/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.18/0006-dl-open-array-bounds.patch b/packages/glibc/2.18/0006-dl-open-array-bounds.patch deleted file mode 100644 index 83eb0b3..0000000 --- a/packages/glibc/2.18/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -211,7 +211,7 @@ - struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen); - - if (l) -- call_map = l; -+ call_map = l; - - if (args->nsid == __LM_ID_CALLER) - args->nsid = call_map->l_ns; -@@ -627,8 +627,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.18/0007-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch b/packages/glibc/2.18/0007-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch deleted file mode 100644 index 5249bf3..0000000 --- a/packages/glibc/2.18/0007-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch +++ /dev/null @@ -1,77 +0,0 @@ -commit 2770d15e7e880821fc586619c59eb45180628e16 -Author: Siddhesh Poyarekar -Date: Thu Oct 3 08:26:21 2013 +0530 - - Fix PI mutex check in pthread_cond_broadcast and pthread_cond_signal - - Fixes BZ #15996. - - The check had a typo - it checked for PTHREAD_MUTEX_ROBUST_NP instead - of PTHREAD_MUTEX_ROBUST_NORMAL_NP. It has now been replaced by the - already existing convenience macro USE_REQUEUE_PI. - ---- - NEWS | 2 +- - nptl/ChangeLog | 9 +++++++++ - nptl/pthread_cond_broadcast.c | 5 +---- - nptl/pthread_cond_signal.c | 7 +------ - 4 files changed, 12 insertions(+), 11 deletions(-) - ---- a/NEWS -+++ b/NEWS -@@ -9,7 +9,7 @@ - - * The following bugs are resolved with this release: - -- 15909. -+ 15909, 15996. - - Version 2.18 - ---- a/nptl/ChangeLog -+++ b/nptl/ChangeLog -@@ -1,3 +1,12 @@ -+2013-10-03 Siddhesh Poyarekar -+ -+ [BZ #15996] -+ * pthread_cond_broadcast.c (__pthread_cond_broadcast) -+ [lll_futex_cmp_requeue_pi && __ASSUME_REQUEUE_PI]: Use -+ USE_REQUEUE_PI. -+ * pthread_cond_signal.c (__pthread_cond_signal) -+ [lll_futex_cmd_requeue_pi && __ASSUME_REQUEUE_PI]: Likewise. -+ - 2013-07-23 David S. Miller - - * tst-cancel4.c (WRITE_BUFFER_SIZE): Adjust comment. ---- a/nptl/pthread_cond_broadcast.c -+++ b/nptl/pthread_cond_broadcast.c -@@ -63,10 +63,7 @@ - - #if (defined lll_futex_cmp_requeue_pi \ - && defined __ASSUME_REQUEUE_PI) -- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP; -- pi_flag &= mut->__data.__kind; -- -- if (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP) -+ if (USE_REQUEUE_PI (mut)) - { - if (lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, INT_MAX, - &mut->__data.__lock, futex_val, ---- a/nptl/pthread_cond_signal.c -+++ b/nptl/pthread_cond_signal.c -@@ -49,14 +49,9 @@ - - #if (defined lll_futex_cmp_requeue_pi \ - && defined __ASSUME_REQUEUE_PI) -- int pi_flag = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NP; - pthread_mutex_t *mut = cond->__data.__mutex; - -- /* Do not use requeue for pshared condvars. */ -- if (mut != (void *) ~0l) -- pi_flag &= mut->__data.__kind; -- -- if (__builtin_expect (pi_flag == PTHREAD_MUTEX_PRIO_INHERIT_NP, 0) -+ if (USE_REQUEUE_PI (mut) - /* This can only really fail with a ENOSYS, since nobody can modify - futex while we have the cond_lock. */ - && lll_futex_cmp_requeue_pi (&cond->__data.__futex, 1, 0, diff --git a/packages/glibc/2.18/0008-support-make4.patch b/packages/glibc/2.18/0008-support-make4.patch deleted file mode 100644 index a9be159..0000000 --- a/packages/glibc/2.18/0008-support-make4.patch +++ /dev/null @@ -1,39 +0,0 @@ -Original patch modified: Removed ChangeLog and NEWS sections, ajdust for configure.in -KS - -From: Marc-Antoine Perennou -Date: Thu, 31 Oct 2013 02:37:50 +0000 (+1000) -Subject: Accept make versions 4.0 and greater -X-Git-Tag: glibc-2.19~556 -X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=28d708c44bc47b56f6551ff285f78edcf61c208a;hp=a56ee40b176d0a3f47f2a7eb75208f2e3763c9fd - -Accept make versions 4.0 and greater ---- - ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -4772,7 +4772,7 @@ - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | [4-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;; - ---- a/configure.in -+++ b/configure.in -@@ -989,7 +989,7 @@ - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], diff --git a/packages/glibc/2.18/0009-arm-unwind.patch b/packages/glibc/2.18/0009-arm-unwind.patch deleted file mode 100644 index 85288d0..0000000 --- a/packages/glibc/2.18/0009-arm-unwind.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- - nptl/sysdeps/pthread/unwind-forcedunwind.c | 2 +- - ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c | 2 +- - ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c | 2 +- - sysdeps/gnu/unwind-resume.c | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - ---- a/nptl/sysdeps/pthread/unwind-forcedunwind.c -+++ b/nptl/sysdeps/pthread/unwind-forcedunwind.c -@@ -24,7 +24,7 @@ - #include - - static void *libgcc_s_handle; --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, - struct _Unwind_Context *); ---- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c -+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c -@@ -22,7 +22,7 @@ - #include - - static void *libgcc_s_handle; --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); - static _Unwind_Reason_Code (*libgcc_s_forcedunwind) ---- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c -+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c -@@ -20,7 +20,7 @@ - #include - #include - --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); - ---- a/sysdeps/gnu/unwind-resume.c -+++ b/sysdeps/gnu/unwind-resume.c -@@ -21,7 +21,7 @@ - #include - #include - --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, - struct _Unwind_Context *); diff --git a/packages/glibc/2.18/0010-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.18/0010-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index e457c3c..0000000 --- a/packages/glibc/2.18/0010-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6307,7 +6307,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.in -+++ b/configure.in -@@ -1596,7 +1596,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.18/0011-macos-cross-rpcgen.patch b/packages/glibc/2.18/0011-macos-cross-rpcgen.patch deleted file mode 100644 index b439b0f..0000000 --- a/packages/glibc/2.18/0011-macos-cross-rpcgen.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit ae7080d30c68cfa0c81ce3422dca948f64a94f50 -Author: Jia Liu -Date: Sat Sep 7 00:01:08 2013 +0800 - - sunrpc/rpc/types.h: fix OS X and FreeBSD build problems - - When I build arm-linux-gcc on OS X, I find glibc will get a build error - in sunrpc/rpc/types.h, so I add __APPLE_CC__ to make OS X build OK. - For FreeBSD, Add __FreeBSD__ to make it build OK, too. - - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00155.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00217.html - URL: http://sourceware.org/ml/libc-alpha/2013-09/msg00240.html - Signed-off-by: Jia Liu - Signed-off-by: Mike Frysinger - ---- - sunrpc/rpc/types.h | 5 +++++ - 1 file changed, 5 insertions(+) - ---- a/sunrpc/rpc/types.h -+++ b/sunrpc/rpc/types.h -@@ -69,6 +69,11 @@ - #include - #endif - -+#if defined __APPLE_CC__ || defined __FreeBSD__ -+# define __u_char_defined -+# define __daddr_t_defined -+#endif -+ - #ifndef __u_char_defined - typedef __u_char u_char; - typedef __u_short u_short; diff --git a/packages/glibc/2.18/0012-fix-rpc_parse-format.patch b/packages/glibc/2.18/0012-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.18/0012-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.18/0013-nis-bogus-conditional.patch b/packages/glibc/2.18/0013-nis-bogus-conditional.patch deleted file mode 100644 index e728368..0000000 --- a/packages/glibc/2.18/0013-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -291,7 +291,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.18/0014-strftime-multiple-stmts.patch b/packages/glibc/2.18/0014-strftime-multiple-stmts.patch deleted file mode 100644 index 88e658b..0000000 --- a/packages/glibc/2.18/0014-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -737,12 +737,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.18/0015-if_nametoindex-size-check.patch b/packages/glibc/2.18/0015-if_nametoindex-size-check.patch deleted file mode 100644 index 375bb95..0000000 --- a/packages/glibc/2.18/0015-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -44,6 +44,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.18/0016-utmp-nonstring.patch b/packages/glibc/2.18/0016-utmp-nonstring.patch deleted file mode 100644 index 378d62e..0000000 --- a/packages/glibc/2.18/0016-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -382,6 +382,15 @@ - # define __glibc_likely(cond) (cond) - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.18/0017-getlogin_r-use-strnlen.patch b/packages/glibc/2.18/0017-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc/2.18/0017-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.18/0018-zic.c-use-memcpy.patch b/packages/glibc/2.18/0018-zic.c-use-memcpy.patch deleted file mode 100644 index e5ab81e..0000000 --- a/packages/glibc/2.18/0018-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1609,7 +1609,7 @@ - } - #define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp)) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = ZIC_VERSION; - convert(eitol(thistypecnt), tzh.tzh_ttisgmtcnt); - convert(eitol(thistypecnt), tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.18/0019-fix-GCC-10-detection.patch b/packages/glibc/2.18/0019-fix-GCC-10-detection.patch deleted file mode 100644 index 32f4a17..0000000 --- a/packages/glibc/2.18/0019-fix-GCC-10-detection.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3b16131609b2edbf29194532c089079a8d2664b1 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 1ee4c42003..4e1d1fa8a0 100755 ---- a/configure -+++ b/configure -@@ -4709,7 +4709,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.18/chksum b/packages/glibc/2.18/chksum deleted file mode 100644 index aea8377..0000000 --- a/packages/glibc/2.18/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.18.tar.xz 88fbbceafee809e82efd52efa1e3c58f -sha1 glibc-2.18.tar.xz 1f0e4e7ba5fe1f45ffd0548b6c36caef0bc7e51f -sha256 glibc-2.18.tar.xz 2cb4e1e381928f1e5e55e71ab1ba8e0ea7ede75ff9709770435bfd018ea257a3 -sha512 glibc-2.18.tar.xz 27218d2e7dd3bf3908d7af171c490933680e958c579ebd27b43b661e223fd5de2219cc1cf699170405280808c84de476d0ad86dbba35a488ef404e9438552327 -md5 glibc-2.18.tar.bz2 e67f791383077c5f6a6e91fabc7579a5 -sha1 glibc-2.18.tar.bz2 a3b106be1d578fd5b4628a34ff1aa6264d974cdc -sha256 glibc-2.18.tar.bz2 f32c07486fc35c1b7da95251c074c726c8c22e65dcc7d9c68e8f68ad2975f63d -sha512 glibc-2.18.tar.bz2 be02b39486df03c84b13454bd6edc64135a4e0f6ee3eacd5c9ad856900518427518764b99c3c24ab770173aad113806ffd17c028c46c6bf73c9917939286c90c -md5 glibc-2.18.tar.gz b67b22b428ed183148d1344da6d22ea9 -sha1 glibc-2.18.tar.gz 84dd76b6b6427d2bdcd6f73b5c56e71e4223606c -sha256 glibc-2.18.tar.gz c8e727b5feef883184241a4767725ec280c0288794bc5cd4432497370db47734 -sha512 glibc-2.18.tar.gz 6242279f52ce36b71486bc18b239c9577a838618284785c6e3ad57c34268c1887d1e9a97141613fdbfc66f32eb8f31290addb51cf07a4744532dfcbabe11cfd4 diff --git a/packages/glibc/2.18/version.desc b/packages/glibc/2.18/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.18/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.20/0000-sparc-nptl.patch b/packages/glibc/2.20/0000-sparc-nptl.patch deleted file mode 100644 index 4c5a10e..0000000 --- a/packages/glibc/2.20/0000-sparc-nptl.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - sysdeps/sparc/sparc32/sem_trywait.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sysdeps/sparc/sparc32/sem_trywait.c -+++ b/sysdeps/sparc/sparc32/sem_trywait.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include - diff --git a/packages/glibc/2.20/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.20/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch deleted file mode 100644 index d92014e..0000000 --- a/packages/glibc/2.20/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch +++ /dev/null @@ -1,75 +0,0 @@ -From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -262,18 +262,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.20/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.20/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index c7cc330..0000000 --- a/packages/glibc/2.20/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -86,15 +86,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -60,13 +60,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -66,13 +66,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.20/0003-dl-openat64-variadic.patch b/packages/glibc/2.20/0003-dl-openat64-variadic.patch deleted file mode 100644 index 552db12..0000000 --- a/packages/glibc/2.20/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.20/0004-unused-variables.patch b/packages/glibc/2.20/0004-unused-variables.patch deleted file mode 100644 index 694bc61..0000000 --- a/packages/glibc/2.20/0004-unused-variables.patch +++ /dev/null @@ -1,171 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - timezone/private.h | 10 ---------- - 10 files changed, 1 insertion(+), 28 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -65,10 +65,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -129,10 +127,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -34,7 +34,6 @@ - /**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -48,7 +47,6 @@ - /**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - #ifndef COSF - # define COSF_FUNC __cosf - #else ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -74,7 +74,6 @@ - static const long double PIL = 3.1415926535897932384626433832795028841972E0L; - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = 1.0e4000L; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -140,7 +140,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double ---- a/timezone/private.h -+++ b/timezone/private.h -@@ -326,16 +326,6 @@ - #define TYPE_SIGNED(type) (((type) -1) < 0) - #endif /* !defined TYPE_SIGNED */ - --/* The minimum and maximum finite time values. */ --static time_t const time_t_min = -- (TYPE_SIGNED(time_t) -- ? (time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1) -- : 0); --static time_t const time_t_max = -- (TYPE_SIGNED(time_t) -- ? - (~ 0 < 0) - ((time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1)) -- : -1); -- - #ifndef INT_STRLEN_MAXIMUM - /* - ** 302 / 1000 is log10(2.0) rounded up. diff --git a/packages/glibc/2.20/0005-misleading-indentation.patch b/packages/glibc/2.20/0005-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc/2.20/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.20/0006-dl-open-array-bounds.patch b/packages/glibc/2.20/0006-dl-open-array-bounds.patch deleted file mode 100644 index 83eb0b3..0000000 --- a/packages/glibc/2.20/0006-dl-open-array-bounds.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -211,7 +211,7 @@ - struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen); - - if (l) -- call_map = l; -+ call_map = l; - - if (args->nsid == __LM_ID_CALLER) - args->nsid = call_map->l_ns; -@@ -627,8 +627,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.20/0007-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.20/0007-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index f56a4ca..0000000 --- a/packages/glibc/2.20/0007-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6025,7 +6025,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.ac -+++ b/configure.ac -@@ -1397,7 +1397,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.20/0008-typedef-caddr.patch b/packages/glibc/2.20/0008-typedef-caddr.patch deleted file mode 100644 index 980939b..0000000 --- a/packages/glibc/2.20/0008-typedef-caddr.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - posix/sys/types.h | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/posix/sys/types.h -+++ b/posix/sys/types.h -@@ -113,7 +113,10 @@ - #ifdef __USE_MISC - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif diff --git a/packages/glibc/2.20/0009-fix-rpc_parse-format.patch b/packages/glibc/2.20/0009-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.20/0009-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.20/0010-explicit-boolean.patch b/packages/glibc/2.20/0010-explicit-boolean.patch deleted file mode 100644 index ff7cd87..0000000 --- a/packages/glibc/2.20/0010-explicit-boolean.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit e223d1fe72e820d96f43831412ab267a1ace04d0 -Author: steve ellcey-CA Eng-Software -Date: Fri Oct 14 12:53:27 2016 -0700 - - Fix warnings from latest GCC. - - * sysdeps/ieee754/dbl-64/e_pow.c (checkint) Make conditions explicitly - boolean. - ---- - sysdeps/ieee754/dbl-64/e_pow.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/sysdeps/ieee754/dbl-64/e_pow.c -+++ b/sysdeps/ieee754/dbl-64/e_pow.c -@@ -462,15 +462,15 @@ - return (n & 1) ? -1 : 1; /* odd or even */ - if (k > 20) - { -- if (n << (k - 20)) -+ if (n << (k - 20) != 0) - return 0; /* if not integer */ -- return (n << (k - 21)) ? -1 : 1; -+ return (n << (k - 21) != 0) ? -1 : 1; - } - if (n) - return 0; /*if not integer */ - if (k == 20) - return (m & 1) ? -1 : 1; -- if (m << (k + 12)) -+ if (m << (k + 12) != 0) - return 0; -- return (m << (k + 11)) ? -1 : 1; -+ return (m << (k + 11) != 0) ? -1 : 1; - } diff --git a/packages/glibc/2.20/0011-nis-bogus-conditional.patch b/packages/glibc/2.20/0011-nis-bogus-conditional.patch deleted file mode 100644 index e728368..0000000 --- a/packages/glibc/2.20/0011-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -291,7 +291,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.20/0012-strftime-multiple-stmts.patch b/packages/glibc/2.20/0012-strftime-multiple-stmts.patch deleted file mode 100644 index 0f97e7d..0000000 --- a/packages/glibc/2.20/0012-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -738,12 +738,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.20/0013-if_nametoindex-size-check.patch b/packages/glibc/2.20/0013-if_nametoindex-size-check.patch deleted file mode 100644 index 7976fdd..0000000 --- a/packages/glibc/2.20/0013-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -43,6 +43,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.20/0014-utmp-nonstring.patch b/packages/glibc/2.20/0014-utmp-nonstring.patch deleted file mode 100644 index 5a3da64..0000000 --- a/packages/glibc/2.20/0014-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -392,6 +392,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.20/0015-getlogin_r-use-strnlen.patch b/packages/glibc/2.20/0015-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc/2.20/0015-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.20/0016-zic.c-use-memcpy.patch b/packages/glibc/2.20/0016-zic.c-use-memcpy.patch deleted file mode 100644 index ef768aa..0000000 --- a/packages/glibc/2.20/0016-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1713,7 +1713,7 @@ - } - #define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp)) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = version; - convert(thistypecnt, tzh.tzh_ttisgmtcnt); - convert(thistypecnt, tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.20/0017-Fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.20/0017-Fix-cmpli-usage-in-power6-memset.patch deleted file mode 100644 index 5213378..0000000 --- a/packages/glibc/2.20/0017-Fix-cmpli-usage-in-power6-memset.patch +++ /dev/null @@ -1,49 +0,0 @@ -Author: Joseph Myers -Date: 2016-10-24 - -Building glibc for powerpc64 with recent (2.27.51.20161012) binutils, -with multi-arch enabled, I get the error: - -../sysdeps/powerpc/powerpc64/power6/memset.S: Assembler messages: -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (5 is not between 0 and 1) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (128 is not between 0 and 31) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: missing operand - -Indeed, cmpli is documented as a four-operand instruction, and looking -at nearby code it seems likely cmpldi was intended. This patch fixes -this powerpc64 code accordingly, and makes a corresponding change to -the powerpc32 code. - -Note: this patch is not tested beyond verifying that the powerpc64 -code builds where it failed to build before the patch. In particular, -I have not done execution testing (the systems I usually use for -testing powerpc are pre-power6 so wouldn't use this code) or tested -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. - ---- a/sysdeps/powerpc/powerpc32/power6/memset.S -+++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmplwi cr1,rLEN,128 - 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): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmpldi cr1,rLEN,128 - blt cr1,L(cacheAligned1) - dcbz 0,rMEMP - addi rLEN,rLEN,-128 diff --git a/packages/glibc/2.20/0017-fix-GCC-10-detection.patch b/packages/glibc/2.20/0017-fix-GCC-10-detection.patch deleted file mode 100644 index c2afc77..0000000 --- a/packages/glibc/2.20/0017-fix-GCC-10-detection.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0991846fc6d5d0ef3800391bd29f2759780a3041 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 86ba30774b..b22ad9cb07 100755 ---- a/configure -+++ b/configure -@@ -4661,7 +4661,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.20/chksum b/packages/glibc/2.20/chksum deleted file mode 100644 index 166c910..0000000 --- a/packages/glibc/2.20/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.20.tar.xz 948a6e06419a01bd51e97206861595b0 -sha1 glibc-2.20.tar.xz 0ddd02ceb41f7cd049fac691a7864047b87b6351 -sha256 glibc-2.20.tar.xz f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 -sha512 glibc-2.20.tar.xz 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa -md5 glibc-2.20.tar.bz2 5d9d375e670fe546a030061db36e9f3d -sha1 glibc-2.20.tar.bz2 66eb0ca2591f90c4405b84eedcb3de3891a7f9bb -sha256 glibc-2.20.tar.bz2 a72a3094f1511cfa704f80cfe64dc7a3a9daff1904ac9ca4ab9c53ea0931d9bc -sha512 glibc-2.20.tar.bz2 589a43a4969c3f51c5ddb942c70ce750894337746de78cfb438de1c9fa326aaa7821398808ddb4f730c35f5b95fd9242ffbbf91cb9ee3fc04f3c29a87c4c5850 -md5 glibc-2.20.tar.gz aabb1776353e6bc60ecc707af78a3813 -sha1 glibc-2.20.tar.gz f788e9a2cbc496f541bd9889dad54d4f3fd3e62c -sha256 glibc-2.20.tar.gz 37e1de410d572a19b707b99786db9822bb4775e9d70517d88937ab12e6d6debc -sha512 glibc-2.20.tar.gz ea031e7da6bb8cdcfeeac653a77a20b8cf8f2b906ef9dc1aa13a54a82b7506acd2e7ef60b0f45764643cc9630a84772d1df12064a5ee1e96dcad563bfd166deb diff --git a/packages/glibc/2.20/version.desc b/packages/glibc/2.20/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.20/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.21/0000-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.21/0000-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch deleted file mode 100644 index b9509a3..0000000 --- a/packages/glibc/2.21/0000-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch +++ /dev/null @@ -1,75 +0,0 @@ -From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -269,18 +269,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.21/0001-fix-signed-shift-overlow.patch b/packages/glibc/2.21/0001-fix-signed-shift-overlow.patch deleted file mode 100644 index c7cc330..0000000 --- a/packages/glibc/2.21/0001-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -86,15 +86,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -60,13 +60,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -66,13 +66,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.21/0002-dl-openat64-variadic.patch b/packages/glibc/2.21/0002-dl-openat64-variadic.patch deleted file mode 100644 index 552db12..0000000 --- a/packages/glibc/2.21/0002-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert ((oflag & O_CREAT) == 0); - diff --git a/packages/glibc/2.21/0003-unused-variables.patch b/packages/glibc/2.21/0003-unused-variables.patch deleted file mode 100644 index 3359834..0000000 --- a/packages/glibc/2.21/0003-unused-variables.patch +++ /dev/null @@ -1,171 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - timezone/private.h | 10 ---------- - 10 files changed, 1 insertion(+), 28 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -65,10 +65,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -129,10 +127,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -34,7 +34,6 @@ - /**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -48,7 +47,6 @@ - /**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - #ifndef COSF - # define COSF_FUNC __cosf - #else ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -82,7 +82,6 @@ - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - DIAG_POP_NEEDS_COMMENT; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = LDBL_MAX; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -140,7 +140,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -116,7 +116,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double ---- a/timezone/private.h -+++ b/timezone/private.h -@@ -326,16 +326,6 @@ - #define TYPE_SIGNED(type) (((type) -1) < 0) - #endif /* !defined TYPE_SIGNED */ - --/* The minimum and maximum finite time values. */ --static time_t const time_t_min = -- (TYPE_SIGNED(time_t) -- ? (time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1) -- : 0); --static time_t const time_t_max = -- (TYPE_SIGNED(time_t) -- ? - (~ 0 < 0) - ((time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1)) -- : -1); -- - #ifndef INT_STRLEN_MAXIMUM - /* - ** 302 / 1000 is log10(2.0) rounded up. diff --git a/packages/glibc/2.21/0004-misleading-indentation.patch b/packages/glibc/2.21/0004-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc/2.21/0004-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.21/0005-dl-open-array-bounds.patch b/packages/glibc/2.21/0005-dl-open-array-bounds.patch deleted file mode 100644 index ae626f1..0000000 --- a/packages/glibc/2.21/0005-dl-open-array-bounds.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 328c44c3670ebf6c1bd790acddce65a12998cd6c -Author: Roland McGrath -Date: Fri Apr 17 12:11:58 2015 -0700 - - Fuller check for invalid NSID in _dl_open. - ---- - elf/dl-open.c | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -211,7 +211,7 @@ - struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen); - - if (l) -- call_map = l; -+ call_map = l; - - if (args->nsid == __LM_ID_CALLER) - args->nsid = call_map->l_ns; -@@ -629,8 +629,14 @@ - /* Never allow loading a DSO in a namespace which is empty. Such - direct placements is only causing problems. Also don't allow - loading into a namespace used for auditing. */ -- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0) -- && (GL(dl_ns)[nsid]._ns_nloaded == 0 -+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER) -+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns)) -+ /* This prevents the [NSID] index expressions from being -+ evaluated, so the compiler won't think that we are -+ accessing an invalid index here in the !SHARED case where -+ DL_NNS is 1 and so any NSID != 0 is invalid. */ -+ || DL_NNS == 1 -+ || GL(dl_ns)[nsid]._ns_nloaded == 0 - || GL(dl_ns)[nsid]._ns_loaded->l_auditing)) - _dl_signal_error (EINVAL, file, NULL, - N_("invalid target namespace in dlmopen()")); diff --git a/packages/glibc/2.21/0006-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.21/0006-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index f90947b..0000000 --- a/packages/glibc/2.21/0006-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6017,7 +6017,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.ac -+++ b/configure.ac -@@ -1391,7 +1391,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.21/0007-typedef-caddr.patch b/packages/glibc/2.21/0007-typedef-caddr.patch deleted file mode 100644 index 980939b..0000000 --- a/packages/glibc/2.21/0007-typedef-caddr.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - posix/sys/types.h | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/posix/sys/types.h -+++ b/posix/sys/types.h -@@ -113,7 +113,10 @@ - #ifdef __USE_MISC - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif diff --git a/packages/glibc/2.21/0008-fix-rpc_parse-format.patch b/packages/glibc/2.21/0008-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.21/0008-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.21/0009-explicit-boolean.patch b/packages/glibc/2.21/0009-explicit-boolean.patch deleted file mode 100644 index ff7cd87..0000000 --- a/packages/glibc/2.21/0009-explicit-boolean.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit e223d1fe72e820d96f43831412ab267a1ace04d0 -Author: steve ellcey-CA Eng-Software -Date: Fri Oct 14 12:53:27 2016 -0700 - - Fix warnings from latest GCC. - - * sysdeps/ieee754/dbl-64/e_pow.c (checkint) Make conditions explicitly - boolean. - ---- - sysdeps/ieee754/dbl-64/e_pow.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/sysdeps/ieee754/dbl-64/e_pow.c -+++ b/sysdeps/ieee754/dbl-64/e_pow.c -@@ -462,15 +462,15 @@ - return (n & 1) ? -1 : 1; /* odd or even */ - if (k > 20) - { -- if (n << (k - 20)) -+ if (n << (k - 20) != 0) - return 0; /* if not integer */ -- return (n << (k - 21)) ? -1 : 1; -+ return (n << (k - 21) != 0) ? -1 : 1; - } - if (n) - return 0; /*if not integer */ - if (k == 20) - return (m & 1) ? -1 : 1; -- if (m << (k + 12)) -+ if (m << (k + 12) != 0) - return 0; -- return (m << (k + 11)) ? -1 : 1; -+ return (m << (k + 11) != 0) ? -1 : 1; - } diff --git a/packages/glibc/2.21/0010-nis-bogus-conditional.patch b/packages/glibc/2.21/0010-nis-bogus-conditional.patch deleted file mode 100644 index e728368..0000000 --- a/packages/glibc/2.21/0010-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -291,7 +291,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.21/0011-dlclose-assert.patch b/packages/glibc/2.21/0011-dlclose-assert.patch deleted file mode 100644 index 4a9de10..0000000 --- a/packages/glibc/2.21/0011-dlclose-assert.patch +++ /dev/null @@ -1,42 +0,0 @@ -commit 2bd2cad9e8a410643e80efa0b15f6f2882e1271b -Author: Roland McGrath -Date: Fri Apr 17 14:29:40 2015 -0700 - - Avoid confusing compiler with dynamically impossible statically invalid dereference in _dl_close_worker. - ---- - elf/dl-close.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - ---- a/elf/dl-close.c -+++ b/elf/dl-close.c -@@ -641,9 +641,16 @@ - DL_UNMAP (imap); - - /* Finally, unlink the data structure and free it. */ -- if (imap->l_prev != NULL) -- imap->l_prev->l_next = imap->l_next; -- else -+#if DL_NNS == 1 -+ /* The assert in the (imap->l_prev == NULL) case gives -+ the compiler license to warn that NS points outside -+ the dl_ns array bounds in that case (as nsid != LM_ID_BASE -+ is tantamount to nsid >= DL_NNS). That should be impossible -+ in this configuration, so just assert about it instead. */ -+ assert (nsid == LM_ID_BASE); -+ assert (imap->l_prev != NULL); -+#else -+ if (imap->l_prev == NULL) - { - assert (nsid != LM_ID_BASE); - ns->_ns_loaded = imap->l_next; -@@ -652,6 +659,9 @@ - we leave for debuggers to examine. */ - r->r_map = (void *) ns->_ns_loaded; - } -+ else -+#endif -+ imap->l_prev->l_next = imap->l_next; - - --ns->_ns_nloaded; - if (imap->l_next != NULL) diff --git a/packages/glibc/2.21/0012-strftime-multiple-stmts.patch b/packages/glibc/2.21/0012-strftime-multiple-stmts.patch deleted file mode 100644 index 0f97e7d..0000000 --- a/packages/glibc/2.21/0012-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -738,12 +738,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.21/0013-if_nametoindex-size-check.patch b/packages/glibc/2.21/0013-if_nametoindex-size-check.patch deleted file mode 100644 index 7976fdd..0000000 --- a/packages/glibc/2.21/0013-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -43,6 +43,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.21/0014-utmp-nonstring.patch b/packages/glibc/2.21/0014-utmp-nonstring.patch deleted file mode 100644 index dab4e02..0000000 --- a/packages/glibc/2.21/0014-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -399,6 +399,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #include - - #if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.21/0015-getlogin_r-use-strnlen.patch b/packages/glibc/2.21/0015-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc/2.21/0015-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.21/0016-zic.c-use-memcpy.patch b/packages/glibc/2.21/0016-zic.c-use-memcpy.patch deleted file mode 100644 index ef768aa..0000000 --- a/packages/glibc/2.21/0016-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1713,7 +1713,7 @@ - } - #define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp)) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = version; - convert(thistypecnt, tzh.tzh_ttisgmtcnt); - convert(thistypecnt, tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.21/0017-Fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.21/0017-Fix-cmpli-usage-in-power6-memset.patch deleted file mode 100644 index 5213378..0000000 --- a/packages/glibc/2.21/0017-Fix-cmpli-usage-in-power6-memset.patch +++ /dev/null @@ -1,49 +0,0 @@ -Author: Joseph Myers -Date: 2016-10-24 - -Building glibc for powerpc64 with recent (2.27.51.20161012) binutils, -with multi-arch enabled, I get the error: - -../sysdeps/powerpc/powerpc64/power6/memset.S: Assembler messages: -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (5 is not between 0 and 1) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (128 is not between 0 and 31) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: missing operand - -Indeed, cmpli is documented as a four-operand instruction, and looking -at nearby code it seems likely cmpldi was intended. This patch fixes -this powerpc64 code accordingly, and makes a corresponding change to -the powerpc32 code. - -Note: this patch is not tested beyond verifying that the powerpc64 -code builds where it failed to build before the patch. In particular, -I have not done execution testing (the systems I usually use for -testing powerpc are pre-power6 so wouldn't use this code) or tested -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. - ---- a/sysdeps/powerpc/powerpc32/power6/memset.S -+++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmplwi cr1,rLEN,128 - 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): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmpldi cr1,rLEN,128 - blt cr1,L(cacheAligned1) - dcbz 0,rMEMP - addi rLEN,rLEN,-128 diff --git a/packages/glibc/2.21/chksum b/packages/glibc/2.21/chksum deleted file mode 100644 index faf55d7..0000000 --- a/packages/glibc/2.21/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.21.tar.xz 9cb398828e8f84f57d1f7d5588cf40cd -sha1 glibc-2.21.tar.xz 1157be3fe63baa81b7ba104a103337775a6ed06f -sha256 glibc-2.21.tar.xz aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 -sha512 glibc-2.21.tar.xz 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d -md5 glibc-2.21.tar.bz2 b9746a4b2486b68e70977f51549f12e7 -sha1 glibc-2.21.tar.bz2 427ef7d4e3a2cf0f0bcda30e2993a50fc11c5f56 -sha256 glibc-2.21.tar.bz2 d17a843419530035e73f65e8ecf75e3bb7ea9548d3469bd67f3f769a03ee39c1 -sha512 glibc-2.21.tar.bz2 62e207c0176dd4dbb4832019b46473528b616e4c89c643602e0dd1936306d1596f5d9bc0863ee2f32980cf125d8c14a290c56f0a1e65888bc5d89be7d1cbaba9 -md5 glibc-2.21.tar.gz 641021d33934b327b216af60af71a728 -sha1 glibc-2.21.tar.gz 244c0a8bc1ea8d1fe3df1c33b8c0add99c847f3b -sha256 glibc-2.21.tar.gz 8d8f78058f2e9c7237700f76fe4e0ae500db31470290cd0b8a9739c0c8ce9738 -sha512 glibc-2.21.tar.gz 51ef6a7895295ea952f28604156a28831380302f822d71bc98e1afcc6d48d8361a3ead66ca63d372e829cb7b027fc923d6695198d35e392333f06255a47ea2c1 diff --git a/packages/glibc/2.21/version.desc b/packages/glibc/2.21/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.21/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/glibc/2.22/0000-sparc32-sem_open-missing-include.patch b/packages/glibc/2.22/0000-sparc32-sem_open-missing-include.patch deleted file mode 100644 index 1153d7b..0000000 --- a/packages/glibc/2.22/0000-sparc32-sem_open-missing-include.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 3f512ca79fda7854da188df0585e71467119206e -Author: Brett Neumeier -Date: Mon Aug 31 15:27:21 2015 -0700 - - Fix non-v9 32-bit sparc build. - - [BZ #18870] - * sysdeps/sparc/sparc32/sem_open.c: Add missing #include - ---- - sysdeps/sparc/sparc32/sem_open.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/sysdeps/sparc/sparc32/sem_open.c -+++ b/sysdeps/sparc/sparc32/sem_open.c -@@ -29,6 +29,7 @@ - #include - #include - #include "semaphoreP.h" -+#include - #include - - diff --git a/packages/glibc/2.22/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.22/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch deleted file mode 100644 index 9232b1b..0000000 --- a/packages/glibc/2.22/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch +++ /dev/null @@ -1,75 +0,0 @@ -From df1cf48777fe4cd81ad7fb09ecbe5b31432b7c1c Mon Sep 17 00:00:00 2001 -From: Yvan Roux -Date: Fri, 15 Apr 2016 13:29:26 +0200 -Subject: [PATCH] Suppress GCC 6 warning about ambiguous 'else' with - -Wparentheses - ---- - nis/nis_call.c | 20 +++++++++++--------- - stdlib/setenv.c | 24 +++++++++++++----------- - 2 files changed, 24 insertions(+), 20 deletions(-) - ---- a/nis/nis_call.c -+++ b/nis/nis_call.c -@@ -680,16 +680,18 @@ - /* Choose which entry should be evicted from the cache. */ - loc = &nis_server_cache[0]; - if (*loc != NULL) -- for (i = 1; i < 16; ++i) -- if (nis_server_cache[i] == NULL) -- { -+ { -+ for (i = 1; i < 16; ++i) -+ if (nis_server_cache[i] == NULL) -+ { -+ loc = &nis_server_cache[i]; -+ break; -+ } -+ else if ((*loc)->uses > nis_server_cache[i]->uses -+ || ((*loc)->uses == nis_server_cache[i]->uses -+ && (*loc)->expires > nis_server_cache[i]->expires)) - loc = &nis_server_cache[i]; -- break; -- } -- else if ((*loc)->uses > nis_server_cache[i]->uses -- || ((*loc)->uses == nis_server_cache[i]->uses -- && (*loc)->expires > nis_server_cache[i]->expires)) -- loc = &nis_server_cache[i]; -+ } - old = *loc; - *loc = new; - ---- a/stdlib/setenv.c -+++ b/stdlib/setenv.c -@@ -289,18 +289,20 @@ - ep = __environ; - if (ep != NULL) - while (*ep != NULL) -- if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -- { -- /* Found it. Remove this pointer by moving later ones back. */ -- char **dp = ep; -+ { -+ if (!strncmp (*ep, name, len) && (*ep)[len] == '=') -+ { -+ /* Found it. Remove this pointer by moving later ones back. */ -+ char **dp = ep; - -- do -- dp[0] = dp[1]; -- while (*dp++); -- /* Continue the loop in case NAME appears again. */ -- } -- else -- ++ep; -+ do -+ dp[0] = dp[1]; -+ while (*dp++); -+ /* Continue the loop in case NAME appears again. */ -+ } -+ else -+ ++ep; -+ } - - UNLOCK; - diff --git a/packages/glibc/2.22/0002-fix-signed-shift-overlow.patch b/packages/glibc/2.22/0002-fix-signed-shift-overlow.patch deleted file mode 100644 index c7cc330..0000000 --- a/packages/glibc/2.22/0002-fix-signed-shift-overlow.patch +++ /dev/null @@ -1,97 +0,0 @@ -commit 5542236837c5c41435f8282ec92799f480c36f18 -Author: Paul Eggert -Date: Tue Jul 21 22:50:29 2015 -0700 - - Port the 0x7efe...feff pattern to GCC 6. - - See Steve Ellcey's bug report in: - https://sourceware.org/ml/libc-alpha/2015-07/msg00673.html - * string/memrchr.c (MEMRCHR): - * string/rawmemchr.c (RAWMEMCHR): - * string/strchr.c (strchr): - * string/strchrnul.c (STRCHRNUL): - Rewrite code to avoid issues with signed shift overflow. - ---- - string/memrchr.c | 11 ++--------- - string/rawmemchr.c | 11 ++--------- - string/strchr.c | 9 ++------- - string/strchrnul.c | 9 ++------- - 4 files changed, 8 insertions(+), 32 deletions(-) - ---- a/string/memrchr.c -+++ b/string/memrchr.c -@@ -96,15 +96,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -86,15 +86,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- -- if (sizeof (longword) != 4 && sizeof (longword) != 8) -- abort (); -- --#if LONG_MAX <= LONG_MAX_32_BITS -- magic_bits = 0x7efefeff; --#else -- magic_bits = ((unsigned long int) 0x7efefefe << 32) | 0xfefefeff; --#endif -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchr.c -+++ b/string/strchr.c -@@ -60,13 +60,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); ---- a/string/strchrnul.c -+++ b/string/strchrnul.c -@@ -66,13 +66,8 @@ - - The 1-bits make sure that carries propagate to the next 0-bit. - The 0-bits provide holes for carries to fall into. */ -- switch (sizeof (longword)) -- { -- case 4: magic_bits = 0x7efefeffL; break; -- case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break; -- default: -- abort (); -- } -+ magic_bits = -1; -+ magic_bits = magic_bits / 0xff * 0xfe << 1 >> 1 | 1; - - /* Set up a longword, each of whose bytes is C. */ - charmask = c | (c << 8); diff --git a/packages/glibc/2.22/0003-dl-openat64-variadic.patch b/packages/glibc/2.22/0003-dl-openat64-variadic.patch deleted file mode 100644 index f57764f..0000000 --- a/packages/glibc/2.22/0003-dl-openat64-variadic.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 9dd346ff431fc761f1b748bd4da8bb59f7652094 -Author: Joseph Myers -Date: Tue Oct 20 11:54:09 2015 +0000 - - Convert 113 more function definitions to prototype style (files with assertions). - - This mostly automatically-generated patch converts 113 function - definitions in glibc from old-style K&R to prototype-style. Following - my other recent such patches, this one deals with the case of function - definitions in files that either contain assertions or where grep - suggested they might contain assertions - and thus where it isn't - possible to use a simple object code comparison as a sanity check on - the correctness of the patch, because line numbers are changed. - - A few such automatically-generated changes needed to be supplemented - by manual changes for the result to compile. openat64 had a prototype - declaration with "..." but an old-style definition in - sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the - generated prototype in the definition (I've filed - for diagnosing - such cases in GCC; the old state was undefined behavior not requiring - a diagnostic, but one seems a good idea). In addition, as Florian has - noted regparm attribute mismatches between declaration and definition - are only diagnosed for prototype definitions, and five functions - needed internal_function added to their definitions (in the case of - __pthread_mutex_cond_lock, via the macro definition of - __pthread_mutex_lock) to compile on i386. - - After this patch is in, remaining old-style definitions are probably - most readily fixed manually before we can turn on - -Wold-style-definition for all builds. - - Tested for x86_64 and x86 (testsuite). - - * crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style - function definition. - * crypt/sha256-crypt.c (__sha256_crypt_r): Likewise. - * crypt/sha512-crypt.c (__sha512_crypt_r): Likewise. - * debug/backtracesyms.c (__backtrace_symbols): Likewise. - * elf/dl-minimal.c (_itoa): Likewise. - * hurd/hurdmalloc.c (malloc): Likewise. - (free): Likewise. - (realloc): Likewise. - * inet/inet6_option.c (inet6_option_space): Likewise. - (inet6_option_init): Likewise. - (inet6_option_append): Likewise. - (inet6_option_alloc): Likewise. - (inet6_option_next): Likewise. - (inet6_option_find): Likewise. - * io/ftw.c (FTW_NAME): Likewise. - (NFTW_NAME): Likewise. - (NFTW_NEW_NAME): Likewise. - (NFTW_OLD_NAME): Likewise. - * libio/iofwide.c (_IO_fwide): Likewise. - * libio/strops.c (_IO_str_init_static_internal): Likewise. - (_IO_str_init_static): Likewise. - (_IO_str_init_readonly): Likewise. - (_IO_str_overflow): Likewise. - (_IO_str_underflow): Likewise. - (_IO_str_count): Likewise. - (_IO_str_seekoff): Likewise. - (_IO_str_pbackfail): Likewise. - (_IO_str_finish): Likewise. - * libio/wstrops.c (_IO_wstr_init_static): Likewise. - (_IO_wstr_overflow): Likewise. - (_IO_wstr_underflow): Likewise. - (_IO_wstr_count): Likewise. - (_IO_wstr_seekoff): Likewise. - (_IO_wstr_pbackfail): Likewise. - (_IO_wstr_finish): Likewise. - * locale/programs/localedef.c (normalize_codeset): Likewise. - * locale/programs/locarchive.c (add_locale_to_archive): Likewise. - (add_locales_to_archive): Likewise. - (delete_locales_from_archive): Likewise. - * malloc/malloc.c (__libc_mallinfo): Likewise. - * math/gen-auto-libm-tests.c (init_fp_formats): Likewise. - * misc/tsearch.c (__tfind): Likewise. - * nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise. - * nptl/pthread_attr_getdetachstate.c - (__pthread_attr_getdetachstate): Likewise. - * nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize): - Likewise. - * nptl/pthread_attr_getinheritsched.c - (__pthread_attr_getinheritsched): Likewise. - * nptl/pthread_attr_getschedparam.c - (__pthread_attr_getschedparam): Likewise. - * nptl/pthread_attr_getschedpolicy.c - (__pthread_attr_getschedpolicy): Likewise. - * nptl/pthread_attr_getscope.c (__pthread_attr_getscope): - Likewise. - * nptl/pthread_attr_getstack.c (__pthread_attr_getstack): - Likewise. - * nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr): - Likewise. - * nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize): - Likewise. - * nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise. - (__pthread_attr_init_2_0): Likewise. - * nptl/pthread_attr_setdetachstate.c - (__pthread_attr_setdetachstate): Likewise. - * nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize): - Likewise. - * nptl/pthread_attr_setinheritsched.c - (__pthread_attr_setinheritsched): Likewise. - * nptl/pthread_attr_setschedparam.c - (__pthread_attr_setschedparam): Likewise. - * nptl/pthread_attr_setschedpolicy.c - (__pthread_attr_setschedpolicy): Likewise. - * nptl/pthread_attr_setscope.c (__pthread_attr_setscope): - Likewise. - * nptl/pthread_attr_setstack.c (__pthread_attr_setstack): - Likewise. - * nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr): - Likewise. - * nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize): - Likewise. - * nptl/pthread_condattr_setclock.c (pthread_condattr_setclock): - Likewise. - * nptl/pthread_create.c (__find_in_stack_list): Likewise. - * nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise. - * nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to - use internal_function. - * nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to - prototype-style function definition. - * nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise. - (__pthread_mutex_cond_lock_adjust): Likewise. Use - internal_function. - * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): - Convert to prototype-style function definition. - * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): - Likewise. - * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): - Likewise. - (__pthread_mutex_unlock): Likewise. - * nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise. - * nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise. - * nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise. - * nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise. - * nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise. - * nss/makedb.c (process_input): Likewise. - * posix/fnmatch.c (__strchrnul): Likewise. - (__wcschrnul): Likewise. - (fnmatch): Likewise. - * posix/fnmatch_loop.c (FCT): Likewise. - * posix/glob.c (globfree): Likewise. - (__glob_pattern_type): Likewise. - (__glob_pattern_p): Likewise. - * posix/regcomp.c (re_compile_pattern): Likewise. - (re_set_syntax): Likewise. - (re_compile_fastmap): Likewise. - (regcomp): Likewise. - (regerror): Likewise. - (regfree): Likewise. - * posix/regexec.c (regexec): Likewise. - (re_match): Likewise. - (re_search): Likewise. - (re_match_2): Likewise. - (re_search_2): Likewise. - (re_search_stub): Likewise. Use internal_function - (re_copy_regs): Likewise. - (re_set_registers): Convert to prototype-style function - definition. - (prune_impossible_nodes): Likewise. Use internal_function. - * resolv/inet_net_pton.c (inet_net_pton): Convert to - prototype-style function definition. - (inet_net_pton_ipv4): Likewise. - * stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise. - * sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise. - * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. - * sysdeps/pthread/timer_delete.c (timer_delete): Likewise. - * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. - Make variadic. - * time/strptime_l.c (localtime_r): Convert to prototype-style - function definition. - * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. - * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise. - * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. - * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. - ---- - sysdeps/unix/sysv/linux/dl-openat64.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/sysdeps/unix/sysv/linux/dl-openat64.c -+++ b/sysdeps/unix/sysv/linux/dl-openat64.c -@@ -23,10 +23,7 @@ - - - int --openat64 (dfd, file, oflag) -- int dfd; -- const char *file; -- int oflag; -+openat64 (int dfd, const char *file, int oflag, ...) - { - assert (!__OPEN_NEEDS_MODE (oflag)); - diff --git a/packages/glibc/2.22/0004-unused-variables.patch b/packages/glibc/2.22/0004-unused-variables.patch deleted file mode 100644 index c9211d6..0000000 --- a/packages/glibc/2.22/0004-unused-variables.patch +++ /dev/null @@ -1,171 +0,0 @@ -commit 6565fcb6e189d67b5a3f321453daebb805056d73 -Author: Wilco Dijkstra -Date: Fri Sep 18 20:27:20 2015 +0100 - - Fix several build failures with GCC6 due to unused static variables. - - 2015-09-18 Wilco Dijkstra - - * resolv/base64.c (rcsid): Remove unused static. - * sysdeps/ieee754/dbl-64/atnat2.h (qpi1): Remove unused - static. (tqpi1): Likewise. - * sysdeps/ieee754/dbl-64/uexp.h (one): Likewise. - * sysdeps/ieee754/dbl-64/upow.h (sqrt_2): Likewise. - * sysdeps/ieee754/flt-32/e_log10f.c (one): Likewise. - * sysdeps/ieee754/flt-32/s_cosf.c (one): Likewise. - * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (zero): Likewise. - * sysdeps/ieee754/ldbl-128/s_erfl.c (half): Likewise. - * sysdeps/ieee754/ldbl-128/s_log1pl.c (maxlog): Likewise. - * timezone/private.h (time_t_min): Likewise. (time_t_max): - Likewise. - ---- - resolv/base64.c | 4 ---- - sysdeps/ieee754/dbl-64/atnat2.h | 4 ---- - sysdeps/ieee754/dbl-64/uexp.h | 2 +- - sysdeps/ieee754/dbl-64/upow.h | 2 -- - sysdeps/ieee754/flt-32/e_log10f.c | 2 -- - sysdeps/ieee754/flt-32/s_cosf.c | 2 -- - sysdeps/ieee754/ldbl-128/e_lgammal_r.c | 1 - - sysdeps/ieee754/ldbl-128/s_erfl.c | 1 - - sysdeps/ieee754/ldbl-128/s_log1pl.c | 1 - - timezone/private.h | 10 ---------- - 10 files changed, 1 insertion(+), 28 deletions(-) - ---- a/resolv/base64.c -+++ b/resolv/base64.c -@@ -40,10 +40,6 @@ - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - --#if !defined(LINT) && !defined(CODECENTER) --static const char rcsid[] = "$BINDId: base64.c,v 8.7 1999/10/13 16:39:33 vixie Exp $"; --#endif /* not lint */ -- - #include - #include - #include ---- a/sysdeps/ieee754/dbl-64/atnat2.h -+++ b/sysdeps/ieee754/dbl-64/atnat2.h -@@ -65,10 +65,8 @@ - /**/ hpi1 = {{0x3c91a626, 0x33145c07} }, /* pi/2-hpi */ - /**/ mhpi = {{0xbff921fb, 0x54442d18} }, /* -pi/2 */ - /**/ qpi = {{0x3fe921fb, 0x54442d18} }, /* pi/4 */ --/**/ qpi1 = {{0x3c81a626, 0x33145c07} }, /* pi/4-qpi */ - /**/ mqpi = {{0xbfe921fb, 0x54442d18} }, /* -pi/4 */ - /**/ tqpi = {{0x4002d97c, 0x7f3321d2} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x3c9a7939, 0x4c9e8a0a} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0xc002d97c, 0x7f3321d2} }, /* -3pi/4 */ - /**/ u1 = {{0x3c314c2a, 0x00000000} }, /* 9.377e-19 */ - /**/ u2 = {{0x3bf955e4, 0x00000000} }, /* 8.584e-20 */ -@@ -129,10 +127,8 @@ - /**/ hpi1 = {{0x33145c07, 0x3c91a626} }, /* pi/2-hpi */ - /**/ mhpi = {{0x54442d18, 0xbff921fb} }, /* -pi/2 */ - /**/ qpi = {{0x54442d18, 0x3fe921fb} }, /* pi/4 */ --/**/ qpi1 = {{0x33145c07, 0x3c81a626} }, /* pi/4-qpi */ - /**/ mqpi = {{0x54442d18, 0xbfe921fb} }, /* -pi/4 */ - /**/ tqpi = {{0x7f3321d2, 0x4002d97c} }, /* 3pi/4 */ --/**/ tqpi1 = {{0x4c9e8a0a, 0x3c9a7939} }, /* 3pi/4-tqpi */ - /**/ mtqpi = {{0x7f3321d2, 0xc002d97c} }, /* -3pi/4 */ - /**/ u1 = {{0x00000000, 0x3c314c2a} }, /* 9.377e-19 */ - /**/ u2 = {{0x00000000, 0x3bf955e4} }, /* 8.584e-20 */ ---- a/sysdeps/ieee754/dbl-64/uexp.h -+++ b/sysdeps/ieee754/dbl-64/uexp.h -@@ -29,7 +29,7 @@ - - #include "mydefs.h" - --const static double one = 1.0, zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, -+const static double zero = 0.0, hhuge = 1.0e300, tiny = 1.0e-300, - err_0 = 1.000014, err_1 = 0.000016; - const static int4 bigint = 0x40862002, - badint = 0x40876000,smallint = 0x3C8fffff; ---- a/sysdeps/ieee754/dbl-64/upow.h -+++ b/sysdeps/ieee754/dbl-64/upow.h -@@ -34,7 +34,6 @@ - /**/ nZERO = {{0x80000000, 0}}, /* -0.0 */ - /**/ INF = {{0x7ff00000, 0x00000000}}, /* INF */ - /**/ nINF = {{0xfff00000, 0x00000000}}, /* -INF */ --/**/ sqrt_2 = {{0x3ff6a09e, 0x667f3bcc}}, /* sqrt(2) */ - /**/ ln2a = {{0x3fe62e42, 0xfefa3800}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x3d2ef357, 0x93c76730}}, /* ln(2)-ln2a */ - /**/ bigu = {{0x4297ffff, 0xfffffd2c}}, /* 1.5*2**42 -724*2**-10 */ -@@ -48,7 +47,6 @@ - /**/ nZERO = {{0, 0x80000000}}, /* -0.0 */ - /**/ INF = {{0x00000000, 0x7ff00000}}, /* INF */ - /**/ nINF = {{0x00000000, 0xfff00000}}, /* -INF */ --/**/ sqrt_2 = {{0x667f3bcc, 0x3ff6a09e}}, /* sqrt(2) */ - /**/ ln2a = {{0xfefa3800, 0x3fe62e42}}, /* ln(2) 43 bits */ - /**/ ln2b = {{0x93c76730, 0x3d2ef357}}, /* ln(2)-ln2a */ - /**/ bigu = {{0xfffffd2c, 0x4297ffff}}, /* 1.5*2**42 -724*2**-10 */ ---- a/sysdeps/ieee754/flt-32/e_log10f.c -+++ b/sysdeps/ieee754/flt-32/e_log10f.c -@@ -22,8 +22,6 @@ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - --static const float zero = 0.0; -- - float - __ieee754_log10f(float x) - { ---- a/sysdeps/ieee754/flt-32/s_cosf.c -+++ b/sysdeps/ieee754/flt-32/s_cosf.c -@@ -21,8 +21,6 @@ - #include - #include - --static const float one=1.0; -- - #ifndef COSF - # define COSF_FUNC __cosf - #else ---- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -+++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c -@@ -82,7 +82,6 @@ - static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; - DIAG_POP_NEEDS_COMMENT; - static const long double one = 1.0L; --static const long double zero = 0.0L; - static const long double huge = LDBL_MAX; - - /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) ---- a/sysdeps/ieee754/ldbl-128/s_erfl.c -+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c -@@ -140,7 +140,6 @@ - - static const long double - tiny = 1e-4931L, -- half = 0.5L, - one = 1.0L, - two = 2.0L, - /* 2/sqrt(pi) - 1 */ ---- a/sysdeps/ieee754/ldbl-128/s_log1pl.c -+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c -@@ -117,7 +117,6 @@ - - static const long double sqrth = 0.7071067811865475244008443621048490392848L; - /* ln (2^16384 * (1 - 2^-113)) */ --static const long double maxlog = 1.1356523406294143949491931077970764891253E4L; - static const long double zero = 0.0L; - - long double ---- a/timezone/private.h -+++ b/timezone/private.h -@@ -326,16 +326,6 @@ - #define TYPE_SIGNED(type) (((type) -1) < 0) - #endif /* !defined TYPE_SIGNED */ - --/* The minimum and maximum finite time values. */ --static time_t const time_t_min = -- (TYPE_SIGNED(time_t) -- ? (time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1) -- : 0); --static time_t const time_t_max = -- (TYPE_SIGNED(time_t) -- ? - (~ 0 < 0) - ((time_t) -1 << (CHAR_BIT * sizeof (time_t) - 1)) -- : -1); -- - #ifndef INT_STRLEN_MAXIMUM - /* - ** 302 / 1000 is log10(2.0) rounded up. diff --git a/packages/glibc/2.22/0005-misleading-indentation.patch b/packages/glibc/2.22/0005-misleading-indentation.patch deleted file mode 100644 index 8e08259..0000000 --- a/packages/glibc/2.22/0005-misleading-indentation.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 976ef870542580cf5fed896c2c652b3e1a95f9da -Author: Steve Ellcey -Date: Fri Dec 11 09:19:37 2015 -0800 - - Fix indentation. - - * sysdeps/ieee754/flt-32/k_rem_pio2f.c (__kernel_rem_pio2f): - Fix indentation. - ---- - sysdeps/ieee754/flt-32/k_rem_pio2f.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/sysdeps/ieee754/flt-32/k_rem_pio2f.c -+++ b/sysdeps/ieee754/flt-32/k_rem_pio2f.c -@@ -65,7 +65,9 @@ - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { -- for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; -+ for(j=0,fw=0.0;j<=jx;j++) -+ fw += x[j]*f[jx+i-j]; -+ q[i] = fw; - } - - jz = jk; diff --git a/packages/glibc/2.22/0006-cve-2105-7547-getaddrinfo-stack.patch b/packages/glibc/2.22/0006-cve-2105-7547-getaddrinfo-stack.patch deleted file mode 100644 index 504edad..0000000 --- a/packages/glibc/2.22/0006-cve-2105-7547-getaddrinfo-stack.patch +++ /dev/null @@ -1,554 +0,0 @@ ---- - resolv/nss_dns/dns-host.c | 111 ++++++++++++++++++- - resolv/res_query.c | 3 - resolv/res_send.c | 264 ++++++++++++++++++++++++++++++++++------------ - 3 files changed, 309 insertions(+), 69 deletions(-) - ---- a/resolv/nss_dns/dns-host.c -+++ b/resolv/nss_dns/dns-host.c -@@ -1031,7 +1031,10 @@ - int h_namelen = 0; - - if (ancount == 0) -- return NSS_STATUS_NOTFOUND; -+ { -+ *h_errnop = HOST_NOT_FOUND; -+ return NSS_STATUS_NOTFOUND; -+ } - - while (ancount-- > 0 && cp < end_of_message && had_error == 0) - { -@@ -1208,7 +1211,14 @@ - /* Special case here: if the resolver sent a result but it only - contains a CNAME while we are looking for a T_A or T_AAAA record, - we fail with NOTFOUND instead of TRYAGAIN. */ -- return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND; -+ if (canon != NULL) -+ { -+ *h_errnop = HOST_NOT_FOUND; -+ return NSS_STATUS_NOTFOUND; -+ } -+ -+ *h_errnop = NETDB_INTERNAL; -+ return NSS_STATUS_TRYAGAIN; - } - - -@@ -1222,11 +1232,101 @@ - - enum nss_status status = NSS_STATUS_NOTFOUND; - -+ /* Combining the NSS status of two distinct queries requires some -+ compromise and attention to symmetry (A or AAAA queries can be -+ returned in any order). What follows is a breakdown of how this -+ code is expected to work and why. We discuss only SUCCESS, -+ TRYAGAIN, NOTFOUND and UNAVAIL, since they are the only returns -+ that apply (though RETURN and MERGE exist). We make a distinction -+ between TRYAGAIN (recoverable) and TRYAGAIN' (not-recoverable). -+ A recoverable TRYAGAIN is almost always due to buffer size issues -+ and returns ERANGE in errno and the caller is expected to retry -+ with a larger buffer. -+ -+ Lastly, you may be tempted to make significant changes to the -+ conditions in this code to bring about symmetry between responses. -+ Please don't change anything without due consideration for -+ expected application behaviour. Some of the synthesized responses -+ aren't very well thought out and sometimes appear to imply that -+ IPv4 responses are always answer 1, and IPv6 responses are always -+ answer 2, but that's not true (see the implemetnation of send_dg -+ and send_vc to see response can arrive in any order, particlarly -+ for UDP). However, we expect it holds roughly enough of the time -+ that this code works, but certainly needs to be fixed to make this -+ a more robust implementation. -+ -+ ---------------------------------------------- -+ | Answer 1 Status / | Synthesized | Reason | -+ | Answer 2 Status | Status | | -+ |--------------------------------------------| -+ | SUCCESS/SUCCESS | SUCCESS | [1] | -+ | SUCCESS/TRYAGAIN | TRYAGAIN | [5] | -+ | SUCCESS/TRYAGAIN' | SUCCESS | [1] | -+ | SUCCESS/NOTFOUND | SUCCESS | [1] | -+ | SUCCESS/UNAVAIL | SUCCESS | [1] | -+ | TRYAGAIN/SUCCESS | TRYAGAIN | [2] | -+ | TRYAGAIN/TRYAGAIN | TRYAGAIN | [2] | -+ | TRYAGAIN/TRYAGAIN' | TRYAGAIN | [2] | -+ | TRYAGAIN/NOTFOUND | TRYAGAIN | [2] | -+ | TRYAGAIN/UNAVAIL | TRYAGAIN | [2] | -+ | TRYAGAIN'/SUCCESS | SUCCESS | [3] | -+ | TRYAGAIN'/TRYAGAIN | TRYAGAIN | [3] | -+ | TRYAGAIN'/TRYAGAIN' | TRYAGAIN' | [3] | -+ | TRYAGAIN'/NOTFOUND | TRYAGAIN' | [3] | -+ | TRYAGAIN'/UNAVAIL | UNAVAIL | [3] | -+ | NOTFOUND/SUCCESS | SUCCESS | [3] | -+ | NOTFOUND/TRYAGAIN | TRYAGAIN | [3] | -+ | NOTFOUND/TRYAGAIN' | TRYAGAIN' | [3] | -+ | NOTFOUND/NOTFOUND | NOTFOUND | [3] | -+ | NOTFOUND/UNAVAIL | UNAVAIL | [3] | -+ | UNAVAIL/SUCCESS | UNAVAIL | [4] | -+ | UNAVAIL/TRYAGAIN | UNAVAIL | [4] | -+ | UNAVAIL/TRYAGAIN' | UNAVAIL | [4] | -+ | UNAVAIL/NOTFOUND | UNAVAIL | [4] | -+ | UNAVAIL/UNAVAIL | UNAVAIL | [4] | -+ ---------------------------------------------- -+ -+ [1] If the first response is a success we return success. -+ This ignores the state of the second answer and in fact -+ incorrectly sets errno and h_errno to that of the second -+ answer. However because the response is a success we ignore -+ *errnop and *h_errnop (though that means you touched errno on -+ success). We are being conservative here and returning the -+ likely IPv4 response in the first answer as a success. -+ -+ [2] If the first response is a recoverable TRYAGAIN we return -+ that instead of looking at the second response. The -+ expectation here is that we have failed to get an IPv4 response -+ and should retry both queries. -+ -+ [3] If the first response was not a SUCCESS and the second -+ response is not NOTFOUND (had a SUCCESS, need to TRYAGAIN, -+ or failed entirely e.g. TRYAGAIN' and UNAVAIL) then use the -+ result from the second response, otherwise the first responses -+ status is used. Again we have some odd side-effects when the -+ second response is NOTFOUND because we overwrite *errnop and -+ *h_errnop that means that a first answer of NOTFOUND might see -+ its *errnop and *h_errnop values altered. Whether it matters -+ in practice that a first response NOTFOUND has the wrong -+ *errnop and *h_errnop is undecided. -+ -+ [4] If the first response is UNAVAIL we return that instead of -+ looking at the second response. The expectation here is that -+ it will have failed similarly e.g. configuration failure. -+ -+ [5] Testing this code is complicated by the fact that truncated -+ second response buffers might be returned as SUCCESS if the -+ first answer is a SUCCESS. To fix this we add symmetry to -+ TRYAGAIN with the second response. If the second response -+ is a recoverable error we now return TRYAGIN even if the first -+ response was SUCCESS. */ -+ - if (anslen1 > 0) - status = gaih_getanswer_slice(answer1, anslen1, qname, - &pat, &buffer, &buflen, - errnop, h_errnop, ttlp, - &first); -+ - if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND - || (status == NSS_STATUS_TRYAGAIN - /* We want to look at the second answer in case of an -@@ -1242,8 +1342,15 @@ - &pat, &buffer, &buflen, - errnop, h_errnop, ttlp, - &first); -+ /* Use the second response status in some cases. */ - if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND) - status = status2; -+ /* Do not return a truncated second response (unless it was -+ unavoidable e.g. unrecoverable TRYAGAIN). */ -+ if (status == NSS_STATUS_SUCCESS -+ && (status2 == NSS_STATUS_TRYAGAIN -+ && *errnop == ERANGE && *h_errnop != NO_RECOVERY)) -+ status = NSS_STATUS_TRYAGAIN; - } - - return status; ---- a/resolv/res_query.c -+++ b/resolv/res_query.c -@@ -396,6 +396,7 @@ - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - } -@@ -447,6 +448,7 @@ - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - -@@ -521,6 +523,7 @@ - { - free (*answerp2); - *answerp2 = NULL; -+ *nanswerp2 = 0; - *answerp2_malloced = 0; - } - if (saved_herrno != -1) ---- a/resolv/res_send.c -+++ b/resolv/res_send.c -@@ -1,3 +1,20 @@ -+/* Copyright (C) 2016 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ - /* - * Copyright (c) 1985, 1989, 1993 - * The Regents of the University of California. All rights reserved. -@@ -363,6 +380,8 @@ - #ifdef USE_HOOKS - if (__glibc_unlikely (statp->qhook || statp->rhook)) { - if (anssiz < MAXPACKET && ansp) { -+ /* Always allocate MAXPACKET, callers expect -+ this specific size. */ - u_char *buf = malloc (MAXPACKET); - if (buf == NULL) - return (-1); -@@ -638,6 +657,77 @@ - return (struct sockaddr *) (void *) &statp->nsaddr_list[n]; - } - -+/* The send_vc function is responsible for sending a DNS query over TCP -+ to the nameserver numbered NS from the res_state STATP i.e. -+ EXT(statp).nssocks[ns]. The function supports sending both IPv4 and -+ IPv6 queries at the same serially on the same socket. -+ -+ Please note that for TCP there is no way to disable sending both -+ queries, unlike UDP, which honours RES_SNGLKUP and RES_SNGLKUPREOP -+ and sends the queries serially and waits for the result after each -+ sent query. This implemetnation should be corrected to honour these -+ options. -+ -+ Please also note that for TCP we send both queries over the same -+ socket one after another. This technically violates best practice -+ since the server is allowed to read the first query, respond, and -+ then close the socket (to service another client). If the server -+ does this, then the remaining second query in the socket data buffer -+ will cause the server to send the client an RST which will arrive -+ asynchronously and the client's OS will likely tear down the socket -+ receive buffer resulting in a potentially short read and lost -+ response data. This will force the client to retry the query again, -+ and this process may repeat until all servers and connection resets -+ are exhausted and then the query will fail. It's not known if this -+ happens with any frequency in real DNS server implementations. This -+ implementation should be corrected to use two sockets by default for -+ parallel queries. -+ -+ The query stored in BUF of BUFLEN length is sent first followed by -+ the query stored in BUF2 of BUFLEN2 length. Queries are sent -+ serially on the same socket. -+ -+ Answers to the query are stored firstly in *ANSP up to a max of -+ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP -+ is non-NULL (to indicate that modifying the answer buffer is allowed) -+ then malloc is used to allocate a new response buffer and ANSCP and -+ ANSP will both point to the new buffer. If more than *ANSSIZP bytes -+ are needed but ANSCP is NULL, then as much of the response as -+ possible is read into the buffer, but the results will be truncated. -+ When truncation happens because of a small answer buffer the DNS -+ packets header feild TC will bet set to 1, indicating a truncated -+ message and the rest of the socket data will be read and discarded. -+ -+ Answers to the query are stored secondly in *ANSP2 up to a max of -+ *ANSSIZP2 bytes, with the actual response length stored in -+ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2 -+ is non-NULL (required for a second query) then malloc is used to -+ allocate a new response buffer, *ANSSIZP2 is set to the new buffer -+ size and *ANSP2_MALLOCED is set to 1. -+ -+ The ANSP2_MALLOCED argument will eventually be removed as the -+ change in buffer pointer can be used to detect the buffer has -+ changed and that the caller should use free on the new buffer. -+ -+ Note that the answers may arrive in any order from the server and -+ therefore the first and second answer buffers may not correspond to -+ the first and second queries. -+ -+ It is not supported to call this function with a non-NULL ANSP2 -+ but a NULL ANSCP. Put another way, you can call send_vc with a -+ single unmodifiable buffer or two modifiable buffers, but no other -+ combination is supported. -+ -+ It is the caller's responsibility to free the malloc allocated -+ buffers by detecting that the pointers have changed from their -+ original values i.e. *ANSCP or *ANSP2 has changed. -+ -+ If errors are encountered then *TERRNO is set to an appropriate -+ errno value and a zero result is returned for a recoverable error, -+ and a less-than zero result is returned for a non-recoverable error. -+ -+ If no errors are encountered then *TERRNO is left unmodified and -+ a the length of the first response in bytes is returned. */ - static int - send_vc(res_state statp, - const u_char *buf, int buflen, const u_char *buf2, int buflen2, -@@ -647,11 +737,7 @@ - { - const HEADER *hp = (HEADER *) buf; - const HEADER *hp2 = (HEADER *) buf2; -- u_char *ans = *ansp; -- int orig_anssizp = *anssizp; -- // XXX REMOVE -- // int anssiz = *anssizp; -- HEADER *anhp = (HEADER *) ans; -+ HEADER *anhp = (HEADER *) *ansp; - struct sockaddr *nsap = get_nsaddr (statp, ns); - int truncating, connreset, n; - /* On some architectures compiler might emit a warning indicating -@@ -743,6 +829,8 @@ - * Receive length & response - */ - int recvresp1 = 0; -+ /* Skip the second response if there is no second query. -+ To do that we mark the second response as received. */ - int recvresp2 = buf2 == NULL; - uint16_t rlen16; - read_len: -@@ -779,40 +867,14 @@ - u_char **thisansp; - int *thisresplenp; - if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) { -+ /* We have not received any responses -+ yet or we only have one response to -+ receive. */ - thisanssizp = anssizp; - thisansp = anscp ?: ansp; - assert (anscp != NULL || ansp2 == NULL); - thisresplenp = &resplen; - } else { -- if (*anssizp != MAXPACKET) { -- /* No buffer allocated for the first -- reply. We can try to use the rest -- of the user-provided buffer. */ --#if __GNUC_PREREQ (4, 7) -- DIAG_PUSH_NEEDS_COMMENT; -- DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); --#endif --#if _STRING_ARCH_unaligned -- *anssizp2 = orig_anssizp - resplen; -- *ansp2 = *ansp + resplen; --#else -- int aligned_resplen -- = ((resplen + __alignof__ (HEADER) - 1) -- & ~(__alignof__ (HEADER) - 1)); -- *anssizp2 = orig_anssizp - aligned_resplen; -- *ansp2 = *ansp + aligned_resplen; --#endif --#if __GNUC_PREREQ (4, 7) -- DIAG_POP_NEEDS_COMMENT; --#endif -- } else { -- /* The first reply did not fit into the -- user-provided buffer. Maybe the second -- answer will. */ -- *anssizp2 = orig_anssizp; -- *ansp2 = *ansp; -- } -- - thisanssizp = anssizp2; - thisansp = ansp2; - thisresplenp = resplen2; -@@ -820,10 +882,14 @@ - anhp = (HEADER *) *thisansp; - - *thisresplenp = rlen; -- if (rlen > *thisanssizp) { -- /* Yes, we test ANSCP here. If we have two buffers -- both will be allocatable. */ -- if (__glibc_likely (anscp != NULL)) { -+ /* Is the answer buffer too small? */ -+ if (*thisanssizp < rlen) { -+ /* If the current buffer is not the the static -+ user-supplied buffer then we can reallocate -+ it. */ -+ if (thisansp != NULL && thisansp != ansp) { -+ /* Always allocate MAXPACKET, callers expect -+ this specific size. */ - u_char *newp = malloc (MAXPACKET); - if (newp == NULL) { - *terrno = ENOMEM; -@@ -835,6 +901,9 @@ - if (thisansp == ansp2) - *ansp2_malloced = 1; - anhp = (HEADER *) newp; -+ /* A uint16_t can't be larger than MAXPACKET -+ thus it's safe to allocate MAXPACKET but -+ read RLEN bytes instead. */ - len = rlen; - } else { - Dprint(statp->options & RES_DEBUG, -@@ -997,6 +1066,66 @@ - return 1; - } - -+/* The send_dg function is responsible for sending a DNS query over UDP -+ to the nameserver numbered NS from the res_state STATP i.e. -+ EXT(statp).nssocks[ns]. The function supports IPv4 and IPv6 queries -+ along with the ability to send the query in parallel for both stacks -+ (default) or serially (RES_SINGLKUP). It also supports serial lookup -+ with a close and reopen of the socket used to talk to the server -+ (RES_SNGLKUPREOP) to work around broken name servers. -+ -+ The query stored in BUF of BUFLEN length is sent first followed by -+ the query stored in BUF2 of BUFLEN2 length. Queries are sent -+ in parallel (default) or serially (RES_SINGLKUP or RES_SNGLKUPREOP). -+ -+ Answers to the query are stored firstly in *ANSP up to a max of -+ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP -+ is non-NULL (to indicate that modifying the answer buffer is allowed) -+ then malloc is used to allocate a new response buffer and ANSCP and -+ ANSP will both point to the new buffer. If more than *ANSSIZP bytes -+ are needed but ANSCP is NULL, then as much of the response as -+ possible is read into the buffer, but the results will be truncated. -+ When truncation happens because of a small answer buffer the DNS -+ packets header feild TC will bet set to 1, indicating a truncated -+ message, while the rest of the UDP packet is discarded. -+ -+ Answers to the query are stored secondly in *ANSP2 up to a max of -+ *ANSSIZP2 bytes, with the actual response length stored in -+ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2 -+ is non-NULL (required for a second query) then malloc is used to -+ allocate a new response buffer, *ANSSIZP2 is set to the new buffer -+ size and *ANSP2_MALLOCED is set to 1. -+ -+ The ANSP2_MALLOCED argument will eventually be removed as the -+ change in buffer pointer can be used to detect the buffer has -+ changed and that the caller should use free on the new buffer. -+ -+ Note that the answers may arrive in any order from the server and -+ therefore the first and second answer buffers may not correspond to -+ the first and second queries. -+ -+ It is not supported to call this function with a non-NULL ANSP2 -+ but a NULL ANSCP. Put another way, you can call send_vc with a -+ single unmodifiable buffer or two modifiable buffers, but no other -+ combination is supported. -+ -+ It is the caller's responsibility to free the malloc allocated -+ buffers by detecting that the pointers have changed from their -+ original values i.e. *ANSCP or *ANSP2 has changed. -+ -+ If an answer is truncated because of UDP datagram DNS limits then -+ *V_CIRCUIT is set to 1 and the return value non-zero to indicate to -+ the caller to retry with TCP. The value *GOTSOMEWHERE is set to 1 -+ if any progress was made reading a response from the nameserver and -+ is used by the caller to distinguish between ECONNREFUSED and -+ ETIMEDOUT (the latter if *GOTSOMEWHERE is 1). -+ -+ If errors are encountered then *TERRNO is set to an appropriate -+ errno value and a zero result is returned for a recoverable error, -+ and a less-than zero result is returned for a non-recoverable error. -+ -+ If no errors are encountered then *TERRNO is left unmodified and -+ a the length of the first response in bytes is returned. */ - static int - send_dg(res_state statp, - const u_char *buf, int buflen, const u_char *buf2, int buflen2, -@@ -1006,8 +1135,6 @@ - { - const HEADER *hp = (HEADER *) buf; - const HEADER *hp2 = (HEADER *) buf2; -- u_char *ans = *ansp; -- int orig_anssizp = *anssizp; - struct timespec now, timeout, finish; - struct pollfd pfd[1]; - int ptimeout; -@@ -1040,6 +1167,8 @@ - int need_recompute = 0; - int nwritten = 0; - int recvresp1 = 0; -+ /* Skip the second response if there is no second query. -+ To do that we mark the second response as received. */ - int recvresp2 = buf2 == NULL; - pfd[0].fd = EXT(statp).nssocks[ns]; - pfd[0].events = POLLOUT; -@@ -1203,55 +1332,56 @@ - int *thisresplenp; - - if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) { -+ /* We have not received any responses -+ yet or we only have one response to -+ receive. */ - thisanssizp = anssizp; - thisansp = anscp ?: ansp; - assert (anscp != NULL || ansp2 == NULL); - thisresplenp = &resplen; - } else { -- if (*anssizp != MAXPACKET) { -- /* No buffer allocated for the first -- reply. We can try to use the rest -- of the user-provided buffer. */ --#if _STRING_ARCH_unaligned -- *anssizp2 = orig_anssizp - resplen; -- *ansp2 = *ansp + resplen; --#else -- int aligned_resplen -- = ((resplen + __alignof__ (HEADER) - 1) -- & ~(__alignof__ (HEADER) - 1)); -- *anssizp2 = orig_anssizp - aligned_resplen; -- *ansp2 = *ansp + aligned_resplen; --#endif -- } else { -- /* The first reply did not fit into the -- user-provided buffer. Maybe the second -- answer will. */ -- *anssizp2 = orig_anssizp; -- *ansp2 = *ansp; -- } -- - thisanssizp = anssizp2; - thisansp = ansp2; - thisresplenp = resplen2; - } - - if (*thisanssizp < MAXPACKET -- /* Yes, we test ANSCP here. If we have two buffers -- both will be allocatable. */ -- && anscp -+ /* If the current buffer is not the the static -+ user-supplied buffer then we can reallocate -+ it. */ -+ && (thisansp != NULL && thisansp != ansp) - #ifdef FIONREAD -+ /* Is the size too small? */ - && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0 - || *thisanssizp < *thisresplenp) - #endif - ) { -+ /* Always allocate MAXPACKET, callers expect -+ this specific size. */ - u_char *newp = malloc (MAXPACKET); - if (newp != NULL) { -- *anssizp = MAXPACKET; -- *thisansp = ans = newp; -+ *thisanssizp = MAXPACKET; -+ *thisansp = newp; - if (thisansp == ansp2) - *ansp2_malloced = 1; - } - } -+ /* We could end up with truncation if anscp was NULL -+ (not allowed to change caller's buffer) and the -+ response buffer size is too small. This isn't a -+ reliable way to detect truncation because the ioctl -+ may be an inaccurate report of the UDP message size. -+ Therefore we use this only to issue debug output. -+ To do truncation accurately with UDP we need -+ MSG_TRUNC which is only available on Linux. We -+ can abstract out the Linux-specific feature in the -+ future to detect truncation. */ -+ if (__glibc_unlikely (*thisanssizp < *thisresplenp)) { -+ Dprint(statp->options & RES_DEBUG, -+ (stdout, ";; response may be truncated (UDP)\n") -+ ); -+ } -+ - HEADER *anhp = (HEADER *) *thisansp; - socklen_t fromlen = sizeof(struct sockaddr_in6); - assert (sizeof(from) <= fromlen); diff --git a/packages/glibc/2.22/0007-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.22/0007-Fix-combreloc-test-BSD-grep.patch deleted file mode 100644 index c0be460..0000000 --- a/packages/glibc/2.22/0007-Fix-combreloc-test-BSD-grep.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 61d5f9c09b3157db76bd1a393e248c262a8d9dd4 Mon Sep 17 00:00:00 2001 -From: Alexey Neyman -Date: Wed, 8 Mar 2017 14:31:10 -0800 -Subject: [PATCH] Fix combreloc test with BSD grep - -The test for "-z combreloc" fails when cross-compiling on a machine -that uses BSD grep (e.g. on macos). grep complains about empty -subexpression and exits with non-zero status, which is interpreted -by configure as "not found". As a result, support for "-z combreloc" -(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC. - - * configure.ac: Avoid empty subexpression in grep. - -Signed-off-by: Alexey Neyman ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6172,7 +6172,7 @@ - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no ---- a/configure.ac -+++ b/configure.ac -@@ -1442,7 +1442,7 @@ - dnl introducing new options this is not easily doable. Instead use a tool - dnl which always is cross-platform: readelf. To detect whether -z combreloc - dnl look for a section named .rel.dyn. -- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then -+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then - libc_cv_z_combreloc=yes - else - libc_cv_z_combreloc=no diff --git a/packages/glibc/2.22/0008-typedef-caddr.patch b/packages/glibc/2.22/0008-typedef-caddr.patch deleted file mode 100644 index 980939b..0000000 --- a/packages/glibc/2.22/0008-typedef-caddr.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- - posix/sys/types.h | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/posix/sys/types.h -+++ b/posix/sys/types.h -@@ -113,7 +113,10 @@ - #ifdef __USE_MISC - # ifndef __daddr_t_defined - typedef __daddr_t daddr_t; -+# if ! defined(caddr_t) && ! defined(__caddr_t_defined) - typedef __caddr_t caddr_t; -+# define __caddr_t_defined -+# endif - # define __daddr_t_defined - # endif - #endif diff --git a/packages/glibc/2.22/0009-fix-rpc_parse-format.patch b/packages/glibc/2.22/0009-fix-rpc_parse-format.patch deleted file mode 100644 index 341d541..0000000 --- a/packages/glibc/2.22/0009-fix-rpc_parse-format.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 5874510faaf3cbd0bb112aaacab9f225002beed1 -Author: Joseph Myers -Date: Tue Nov 8 23:44:51 2016 +0000 - - Fix rpcgen buffer overrun (bug 20790). - - Building with GCC 7 produces an error building rpcgen: - - rpc_parse.c: In function 'get_prog_declaration': - rpc_parse.c:543:25: error: may write a terminating nul past the end of the destination [-Werror=format-length=] - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ~~~~^ - rpc_parse.c:543:5: note: format output between 5 and 14 bytes into a destination of size 10 - sprintf (name, "%s%d", ARGNAME, num); /* default name of argument */ - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - That buffer overrun is for the case where the .x file declares a - program with a million arguments. The strcpy two lines above can - generate a buffer overrun much more simply for a long argument name. - - The limit on length of line read by rpcgen (MAXLINESIZE == 1024) - provides a bound on the buffer size needed, so this patch just changes - the buffer size to MAXLINESIZE to avoid both possible buffer - overruns. A testcase is added that rpcgen does not crash with a - 500-character argument name, where it previously crashed. - - It would not at all surprise me if there are many other ways of - crashing rpcgen with either valid or invalid input; fuzz testing would - likely find various such bugs, though I don't think they are that - important to fix (rpcgen is not that likely to be used with untrusted - .x files as input). (As well as fuzz-findable bugs there are probably - also issues when various int variables get overflowed on very large - input.) The test infrastructure for rpcgen-not-crashing tests would - need extending if tests are to be added for cases where rpcgen should - produce an error, as opposed to cases where it should succeed. - - Tested for x86_64 and x86. - - [BZ #20790] - * sunrpc/rpc_parse.c (get_prog_declaration): Increase buffer size - to MAXLINESIZE. - * sunrpc/bug20790.x: New file. - * sunrpc/Makefile [$(run-built-tests) = yes] (rpcgen-tests): New - variable. - [$(run-built-tests) = yes] (tests-special): Add $(rpcgen-tests). - [$(run-built-tests) = yes] ($(rpcgen-tests)): New rule. - ---- - sunrpc/rpc_parse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sunrpc/rpc_parse.c -+++ b/sunrpc/rpc_parse.c -@@ -521,7 +521,7 @@ - get_prog_declaration (declaration * dec, defkind dkind, int num /* arg number */ ) - { - token tok; -- char name[10]; /* argument name */ -+ char name[MAXLINESIZE]; /* argument name */ - - if (dkind == DEF_PROGRAM) - { diff --git a/packages/glibc/2.22/0010-explicit-boolean.patch b/packages/glibc/2.22/0010-explicit-boolean.patch deleted file mode 100644 index ff7cd87..0000000 --- a/packages/glibc/2.22/0010-explicit-boolean.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit e223d1fe72e820d96f43831412ab267a1ace04d0 -Author: steve ellcey-CA Eng-Software -Date: Fri Oct 14 12:53:27 2016 -0700 - - Fix warnings from latest GCC. - - * sysdeps/ieee754/dbl-64/e_pow.c (checkint) Make conditions explicitly - boolean. - ---- - sysdeps/ieee754/dbl-64/e_pow.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - ---- a/sysdeps/ieee754/dbl-64/e_pow.c -+++ b/sysdeps/ieee754/dbl-64/e_pow.c -@@ -462,15 +462,15 @@ - return (n & 1) ? -1 : 1; /* odd or even */ - if (k > 20) - { -- if (n << (k - 20)) -+ if (n << (k - 20) != 0) - return 0; /* if not integer */ -- return (n << (k - 21)) ? -1 : 1; -+ return (n << (k - 21) != 0) ? -1 : 1; - } - if (n) - return 0; /*if not integer */ - if (k == 20) - return (m & 1) ? -1 : 1; -- if (m << (k + 12)) -+ if (m << (k + 12) != 0) - return 0; -- return (m << (k + 11)) ? -1 : 1; -+ return (m << (k + 11) != 0) ? -1 : 1; - } diff --git a/packages/glibc/2.22/0011-nis-bogus-conditional.patch b/packages/glibc/2.22/0011-nis-bogus-conditional.patch deleted file mode 100644 index e728368..0000000 --- a/packages/glibc/2.22/0011-nis-bogus-conditional.patch +++ /dev/null @@ -1,64 +0,0 @@ -commit f88759ea9bd3c8d8fef28f123ba9767cb0e421a3 -Author: Joseph Myers -Date: Wed Dec 21 23:44:01 2016 +0000 - - Fix nss_nisplus build with mainline GCC (bug 20978). - - glibc build with current mainline GCC fails because - nis/nss_nisplus/nisplus-alias.c contains code - - if (name != NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; - } - - char buf[strlen (name) + 9 + tablename_len]; - - producing an error about strlen being called on a pointer that is - always NULL (and a subsequent use of that pointer with a %s format in - snprintf). - - As Andreas noted, the bogus conditional comes from a 1997 change: - - - if (name == NULL || strlen(name) > 8) - - return NSS_STATUS_NOTFOUND; - - else - + if (name != NULL || strlen(name) <= 8) - - So the intention is clearly to return an error for NULL name. - - This patch duly inverts the sense of the conditional. It fixes the - build with GCC mainline, and passes usual glibc testsuite testing for - x86_64. However, I have not tried any actual substantive nisplus - testing, do not have an environment for such testing, and do not know - whether it is possible that strlen (name) or tablename_len might be - large so that the VLA for buf is actually a security issue. However, - if it is a security issue, there are plenty of other similar instances - in the nisplus code (that haven't been hidden by a bogus comparison - with NULL) - and nis_table.c:__create_ib_request uses strdupa on the - string passed to nis_list, so a local fix in the caller wouldn't - suffice anyway (see bug 20987). (Calls to strdupa and other such - macros that use alloca must be considered equally questionable - regarding stack overflow issues as direct calls to alloca and VLA - declarations.) - - [BZ #20978] - * nis/nss_nisplus/nisplus-alias.c (_nss_nisplus_getaliasbyname_r): - Compare name == NULL, not name != NULL. - ---- - nis/nss_nisplus/nisplus-alias.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/nis/nss_nisplus/nisplus-alias.c -+++ b/nis/nss_nisplus/nisplus-alias.c -@@ -291,7 +291,7 @@ - return status; - } - -- if (name != NULL) -+ if (name == NULL) - { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; diff --git a/packages/glibc/2.22/0012-strftime-multiple-stmts.patch b/packages/glibc/2.22/0012-strftime-multiple-stmts.patch deleted file mode 100644 index 0f97e7d..0000000 --- a/packages/glibc/2.22/0012-strftime-multiple-stmts.patch +++ /dev/null @@ -1,73 +0,0 @@ -commit e4043b84c49e1cf9bcf1e8320233343ecc34f8eb -Author: Joseph Myers -Date: Tue Jun 27 17:12:13 2017 +0000 - - Fix strftime build with GCC 8. - - Building with current GCC mainline fails with: - - strftime_l.c: In function '__strftime_internal': - strftime_l.c:719:4: error: macro expands to multiple statements [-Werror=multistatement-macros] - digits = d > width ? d : width; \ - ^ - strftime_l.c:1260:6: note: in expansion of macro 'DO_NUMBER' - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - ^~~~~~~~~ - strftime_l.c:1259:4: note: some parts of macro expansion are not guarded by this 'else' clause - else - ^~~~ - - In fact this particular instance is harmless; the code looks like: - - if (modifier == L_('O')) - goto bad_format; - else - DO_NUMBER (1, tp->tm_year + TM_YEAR_BASE); - - and because of the goto, it doesn't matter that part of the expansion - isn't under the "else" conditional. But it's also clearly bad style - to rely on that. This patch changes DO_NUMBER and DO_NUMBER_SPACEPAD - to use do { } while (0) to avoid such problems. - - Tested (full testsuite) for x86_64 (GCC 6), and with - build-many-glibcs.py with GCC mainline, in conjunction with my libgcc - patch . - - * time/strftime_l.c (DO_NUMBER): Define using do { } while (0). - (DO_NUMBER_SPACEPAD): Likewise. - ---- - time/strftime_l.c | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - ---- a/time/strftime_l.c -+++ b/time/strftime_l.c -@@ -738,12 +738,22 @@ - format_char = *f; - switch (format_char) - { --#define DO_NUMBER(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number --#define DO_NUMBER_SPACEPAD(d, v) \ -- digits = d > width ? d : width; \ -- number_value = v; goto do_number_spacepad -+#define DO_NUMBER(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number; \ -+ } \ -+ while (0) -+#define DO_NUMBER_SPACEPAD(d, v) \ -+ do \ -+ { \ -+ digits = d > width ? d : width; \ -+ number_value = v; \ -+ goto do_number_spacepad; \ -+ } \ -+ while (0) - - case L_('%'): - if (modifier != 0) diff --git a/packages/glibc/2.22/0013-if_nametoindex-size-check.patch b/packages/glibc/2.22/0013-if_nametoindex-size-check.patch deleted file mode 100644 index 7976fdd..0000000 --- a/packages/glibc/2.22/0013-if_nametoindex-size-check.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 2180fee114b778515b3f560e5ff1e795282e60b0 -Author: Steve Ellcey -Date: Wed Nov 15 08:58:48 2017 -0800 - - Check length of ifname before copying it into to ifreq structure. - - [BZ #22442] - * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): - Check if ifname is too long. - ---- - sysdeps/unix/sysv/linux/if_index.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/sysdeps/unix/sysv/linux/if_index.c -+++ b/sysdeps/unix/sysv/linux/if_index.c -@@ -43,6 +43,12 @@ - if (fd < 0) - return 0; - -+ if (strlen (ifname) >= IFNAMSIZ) -+ { -+ __set_errno (ENODEV); -+ return 0; -+ } -+ - strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0) - { diff --git a/packages/glibc/2.22/0014-utmp-nonstring.patch b/packages/glibc/2.22/0014-utmp-nonstring.patch deleted file mode 100644 index 98f142c..0000000 --- a/packages/glibc/2.22/0014-utmp-nonstring.patch +++ /dev/null @@ -1,80 +0,0 @@ -commit 7532837d7b03b3ca5b9a63d77a5bd81dd23f3d9c -Author: Martin Sebor -Date: Wed Nov 15 17:39:59 2017 -0700 - - The -Wstringop-truncation option new in GCC 8 detects common misuses - of the strncat and strncpy function that may result in truncating - the copied string before the terminating NUL. To avoid false positive - warnings for correct code that intentionally creates sequences of - characters that aren't guaranteed to be NUL-terminated, arrays that - are intended to store such sequences should be decorated with a new - nonstring attribute. This change add this attribute to Glibc and - uses it to suppress such false positives. - - ChangeLog: - * misc/sys/cdefs.h (__attribute_nonstring__): New macro. - * sysdeps/gnu/bits/utmp.h (struct utmp): Use it. - * sysdeps/unix/sysv/linux/s390/bits/utmp.h (struct utmp): Same. - ---- - misc/sys/cdefs.h | 9 +++++++++ - sysdeps/gnu/bits/utmp.h | 9 ++++++--- - sysdeps/unix/sysv/linux/s390/bits/utmp.h | 9 ++++++--- - 3 files changed, 21 insertions(+), 6 deletions(-) - ---- a/misc/sys/cdefs.h -+++ b/misc/sys/cdefs.h -@@ -399,6 +399,15 @@ - # endif - #endif - -+#if __GNUC_PREREQ (8, 0) -+/* Describes a char array whose address can safely be passed as the first -+ argument to strncpy and strncat, as the char array is not necessarily -+ a NUL-terminated string. */ -+# define __attribute_nonstring__ __attribute__ ((__nonstring__)) -+#else -+# define __attribute_nonstring__ -+#endif -+ - #if (!defined _Static_assert && !defined __cplusplus \ - && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ - && (!__GNUC_PREREQ (4, 6) || defined __STRICT_ANSI__)) ---- a/sysdeps/gnu/bits/utmp.h -+++ b/sysdeps/gnu/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled ---- a/sysdeps/unix/sysv/linux/s390/bits/utmp.h -+++ b/sysdeps/unix/sysv/linux/s390/bits/utmp.h -@@ -59,10 +59,13 @@ - { - short int ut_type; /* Type of login. */ - pid_t ut_pid; /* Process ID of login process. */ -- char ut_line[UT_LINESIZE]; /* Devicename. */ -+ char ut_line[UT_LINESIZE] -+ __attribute_nonstring__; /* Devicename. */ - char ut_id[4]; /* Inittab ID. */ -- char ut_user[UT_NAMESIZE]; /* Username. */ -- char ut_host[UT_HOSTSIZE]; /* Hostname for remote login. */ -+ char ut_user[UT_NAMESIZE] -+ __attribute_nonstring__; /* Username. */ -+ char ut_host[UT_HOSTSIZE] -+ __attribute_nonstring__; /* Hostname for remote login. */ - struct exit_status ut_exit; /* Exit status of a process marked - as DEAD_PROCESS. */ - /* The ut_session and ut_tv fields must be the same size when compiled diff --git a/packages/glibc/2.22/0015-getlogin_r-use-strnlen.patch b/packages/glibc/2.22/0015-getlogin_r-use-strnlen.patch deleted file mode 100644 index ff19964..0000000 --- a/packages/glibc/2.22/0015-getlogin_r-use-strnlen.patch +++ /dev/null @@ -1,47 +0,0 @@ -commit 4bae615022cb5a5da79ccda83cc6c9ba9f2d479c -Author: Joseph Myers -Date: Wed Nov 22 18:44:23 2017 +0000 - - Avoid use of strlen in getlogin_r (bug 22447). - - Building glibc with current mainline GCC fails, among other reasons, - because of an error for use of strlen on the nonstring ut_user field. - This patch changes the problem code in getlogin_r to use __strnlen - instead. It also needs to set the trailing NUL byte of the result - explicitly, because of the case where ut_user does not have such a - trailing NUL byte (but the result should always have one). - - Tested for x86_64. Also tested that, in conjunction with - , it fixes - the build for arm with mainline GCC. - - [BZ #22447] - * sysdeps/unix/getlogin_r.c (__getlogin_r): Use __strnlen not - strlen to compute length of ut_user and set trailing NUL byte of - result explicitly. - ---- - sysdeps/unix/getlogin_r.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/sysdeps/unix/getlogin_r.c -+++ b/sysdeps/unix/getlogin_r.c -@@ -82,7 +82,7 @@ - - if (result == 0) - { -- size_t needed = strlen (ut->ut_user) + 1; -+ size_t needed = __strnlen (ut->ut_user, UT_NAMESIZE) + 1; - - if (needed > name_len) - { -@@ -91,7 +91,8 @@ - } - else - { -- memcpy (name, ut->ut_user, needed); -+ memcpy (name, ut->ut_user, needed - 1); -+ name[needed - 1] = 0; - result = 0; - } - } diff --git a/packages/glibc/2.22/0016-zic.c-use-memcpy.patch b/packages/glibc/2.22/0016-zic.c-use-memcpy.patch deleted file mode 100644 index ef768aa..0000000 --- a/packages/glibc/2.22/0016-zic.c-use-memcpy.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit e69897bf202e18034cbef26f363bae64de70a196 -Author: Paul Eggert -Date: Sun Nov 12 22:00:28 2017 -0800 - - timezone: pacify GCC -Wstringop-truncation - - Problem reported by Martin Sebor in: - https://sourceware.org/ml/libc-alpha/2017-11/msg00336.html - * timezone/zic.c (writezone): Use memcpy, not strncpy. - ---- - timezone/zic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/timezone/zic.c -+++ b/timezone/zic.c -@@ -1713,7 +1713,7 @@ - } - #define DO(field) ((void) fwrite(tzh.field, sizeof tzh.field, 1, fp)) - tzh = tzh0; -- (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); -+ memcpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); - tzh.tzh_version[0] = version; - convert(thistypecnt, tzh.tzh_ttisgmtcnt); - convert(thistypecnt, tzh.tzh_ttisstdcnt); diff --git a/packages/glibc/2.22/0017-Fix-cmpli-usage-in-power6-memset.patch b/packages/glibc/2.22/0017-Fix-cmpli-usage-in-power6-memset.patch deleted file mode 100644 index 5213378..0000000 --- a/packages/glibc/2.22/0017-Fix-cmpli-usage-in-power6-memset.patch +++ /dev/null @@ -1,49 +0,0 @@ -Author: Joseph Myers -Date: 2016-10-24 - -Building glibc for powerpc64 with recent (2.27.51.20161012) binutils, -with multi-arch enabled, I get the error: - -../sysdeps/powerpc/powerpc64/power6/memset.S: Assembler messages: -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (5 is not between 0 and 1) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: operand out of range (128 is not between 0 and 31) -../sysdeps/powerpc/powerpc64/power6/memset.S:254: Error: missing operand - -Indeed, cmpli is documented as a four-operand instruction, and looking -at nearby code it seems likely cmpldi was intended. This patch fixes -this powerpc64 code accordingly, and makes a corresponding change to -the powerpc32 code. - -Note: this patch is not tested beyond verifying that the powerpc64 -code builds where it failed to build before the patch. In particular, -I have not done execution testing (the systems I usually use for -testing powerpc are pre-power6 so wouldn't use this code) or tested -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. - ---- a/sysdeps/powerpc/powerpc32/power6/memset.S -+++ b/sysdeps/powerpc/powerpc32/power6/memset.S -@@ -394,7 +394,7 @@ L(cacheAlignedx): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmplwi cr1,rLEN,128 - 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): - /* A simple loop for the longer (>640 bytes) lengths. This form limits - the branch miss-predicted to exactly 1 at loop exit.*/ - L(cacheAligned512): -- cmpli cr1,rLEN,128 -+ cmpldi cr1,rLEN,128 - blt cr1,L(cacheAligned1) - dcbz 0,rMEMP - addi rLEN,rLEN,-128 diff --git a/packages/glibc/2.22/chksum b/packages/glibc/2.22/chksum deleted file mode 100644 index 1ddffaf..0000000 --- a/packages/glibc/2.22/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 glibc-2.22.tar.xz e51e02bf552a0a1fbbdc948fb2f5e83c -sha1 glibc-2.22.tar.xz 5be95334f197121d8b351059a1c6518305d88e2a -sha256 glibc-2.22.tar.xz eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 -sha512 glibc-2.22.tar.xz a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b -md5 glibc-2.22.tar.bz2 3168120497c81b663a76c952f7722da2 -sha1 glibc-2.22.tar.bz2 2c0b9114b10b31c9c064f03e00bfeaecd3983eef -sha256 glibc-2.22.tar.bz2 c64b6fcae5945abbb9cb40c583bab9d7a827943203beb3dda1aeeed3b5e404c1 -sha512 glibc-2.22.tar.bz2 b786546b43b8ac69b18e1f4f74651b2d90253a3ae9f7b796b9cfb0b28b8c405747136f10b3ada14bb7b33f7c951985db6cef171a5e033393ebdead5985332d65 -md5 glibc-2.22.tar.gz 91dcaa30870c1ce5c9974c49c3af03eb -sha1 glibc-2.22.tar.gz 802c4522316005b3fee4605243c3249cfbfa7017 -sha256 glibc-2.22.tar.gz a62610c4084a0fd8cec58eee12ef9e61fdf809c31e7cecbbc28feb8719f08be5 -sha512 glibc-2.22.tar.gz 9f7905d6aae05481b2253c71d5b6e67797904cc64a26b2aafc42c7e94bd4078be16a7837314aa36e311d409aa75d80f1df9d9e170b8c8768ee82e3adf355b973 diff --git a/packages/glibc/2.22/version.desc b/packages/glibc/2.22/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/glibc/2.22/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From 1d7cbce4551e015893381448eae0d9ca962557de Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: gmp: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - gmp-4.3.2 - gmp-5.0.5 - gmp-5.1.3 - gmp-6.0.0a Signed-off-by: Chris Packham diff --git a/packages/gmp/4.3.2/chksum b/packages/gmp/4.3.2/chksum deleted file mode 100644 index 94715f6..0000000 --- a/packages/gmp/4.3.2/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gmp-4.3.2.tar.bz2 dd60683d7057917e34630b4a787932e8 -sha1 gmp-4.3.2.tar.bz2 c011e8feaf1bb89158bd55eaabd7ef8fdd101a2c -sha256 gmp-4.3.2.tar.bz2 936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775 -sha512 gmp-4.3.2.tar.bz2 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf diff --git a/packages/gmp/4.3.2/version.desc b/packages/gmp/4.3.2/version.desc deleted file mode 100644 index a114052..0000000 --- a/packages/gmp/4.3.2/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' diff --git a/packages/gmp/5.0.5/0000-fix-r0-clobbering-issue.patch b/packages/gmp/5.0.5/0000-fix-r0-clobbering-issue.patch deleted file mode 100644 index f6b8b1f..0000000 --- a/packages/gmp/5.0.5/0000-fix-r0-clobbering-issue.patch +++ /dev/null @@ -1,79 +0,0 @@ -Removed ChangeLog part - -# HG changeset patch -# User Torbjorn Granlund -# Date 1342891151 -7200 -# Node ID 829215e83ff1db3cd00e510a737092df691442d5 -# Parent 816c18dbd492050ef8892e91602d9e758abc2988 -Fix r0 clobbering issue with "large" code affecting elf+darwin PIC. - ---- - mpn/powerpc32/vmx/mod_34lsub1.asm | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - ---- a/mpn/powerpc32/vmx/mod_34lsub1.asm -+++ b/mpn/powerpc32/vmx/mod_34lsub1.asm -@@ -1,6 +1,7 @@ - dnl PowerPC-32 mpn_mod_34lsub1 -- mpn remainder mod 2^24-1. - --dnl Copyright 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. -+dnl Copyright 2002, 2003, 2005, 2006, 2007, 2012 Free Software Foundation, -+dnl Inc. - - dnl This file is part of the GNU MP Library. - -@@ -135,15 +136,15 @@ - - andi. r7, up, 15 - vxor a0, v0, v0 -- lis r0, 0xaaaa -+ lis r9, 0xaaaa - vxor a1, v0, v0 -- ori r0, r0, 0xaaab -+ ori r9, r9, 0xaaab - vxor a2, v0, v0 - li r5, 16 - vxor c0, v0, v0 - li r6, 32 - vxor c1, v0, v0 -- LEAL( r11, cnsts) -+ LEAL( r11, cnsts) C CAUTION clobbers r0 for elf, darwin - vxor c2, v0, v0 - vxor z, v0, v0 - -@@ -158,7 +159,7 @@ - vsldoi a2, z, a2, 12 - - addi n, n, 9 -- mulhwu r0, n, r0 -+ mulhwu r0, n, r9 - srwi r0, r0, 3 C r0 = floor(n/12) - mtctr r0 - -@@ -174,7 +175,7 @@ - vsldoi a1, z, a1, 8 - - addi n, n, 6 -- mulhwu r0, n, r0 -+ mulhwu r0, n, r9 - srwi r0, r0, 3 C r0 = floor(n/12) - mtctr r0 - -@@ -188,7 +189,7 @@ - vsldoi a0, z, a0, 4 - - addi n, n, 3 -- mulhwu r0, n, r0 -+ mulhwu r0, n, r9 - srwi r0, r0, 3 C r0 = floor(n/12) - mtctr r0 - -@@ -197,7 +198,7 @@ - b L(0) - - L(aligned16): -- mulhwu r0, n, r0 -+ mulhwu r0, n, r9 - srwi r0, r0, 3 C r0 = floor(n/12) - mtctr r0 - diff --git a/packages/gmp/5.0.5/chksum b/packages/gmp/5.0.5/chksum deleted file mode 100644 index c38158f..0000000 --- a/packages/gmp/5.0.5/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 gmp-5.0.5.tar.xz 8aef50959acec2a1ad41d144ffe0f3b5 -sha1 gmp-5.0.5.tar.xz 4e006dd5e473f21d414b88997630122662ddc2be -sha256 gmp-5.0.5.tar.xz e87015a825a2445e169931ee27849d52576a2d9e338d1383dcb36fed68d0006f -sha512 gmp-5.0.5.tar.xz 79f69ed7959af18e626d4b21b5707ebd7701261ebc2cc9f78fa03c5efa9eb1c1aef2ba8728cdbc34fb09ba333aeba0f88ba7e4d87d6a93b21f936f9d8ee1174a -md5 gmp-5.0.5.tar.bz2 041487d25e9c230b0c42b106361055fe -sha1 gmp-5.0.5.tar.bz2 12a662456033e21aed3e318aef4177f4000afe3b -sha256 gmp-5.0.5.tar.bz2 1f588aaccc41bb9aed946f9fe38521c26d8b290d003c5df807f65690f2aadec9 -sha512 gmp-5.0.5.tar.bz2 64ba88a4a64fefb16eae9c644ea81194011ea0b42664a5af6b014e7da3d0f09605dee518b9a361b06510311cdfd496ab68d09da3d85d6680bdac3f765eb67f61 diff --git a/packages/gmp/5.0.5/version.desc b/packages/gmp/5.0.5/version.desc deleted file mode 100644 index c898e11..0000000 --- a/packages/gmp/5.0.5/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2' diff --git a/packages/gmp/5.1.3/chksum b/packages/gmp/5.1.3/chksum deleted file mode 100644 index 1c4c5f1..0000000 --- a/packages/gmp/5.1.3/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 gmp-5.1.3.tar.xz e5fe367801ff067b923d1e6a126448aa -sha1 gmp-5.1.3.tar.xz 12cfe0911d64fcbd85835df9ddc18c99af8f9a45 -sha256 gmp-5.1.3.tar.xz dee2eda37f4ff541f30019932db0c37f6f77a30ba3609234933b1818f9b07071 -sha512 gmp-5.1.3.tar.xz 44bbec2b2a6480d4c9a9a633cca4fe0de966c13bc08bdcd8b934d81e21f3dfacaecf273f149dc613d365277d280ecee43cffdafaec1bd1239a7ed903f8658b5b -md5 gmp-5.1.3.tar.lz bdffbffc1fb4a7205f20acbdf18be28e -sha1 gmp-5.1.3.tar.lz 817f9bd6c7eb7f4241915c14214eb7b6464a313d -sha256 gmp-5.1.3.tar.lz 9a6bde619a9dcdcb68a856be1b32a097a2a04fec2ce6d6fe0877d941f9309c50 -sha512 gmp-5.1.3.tar.lz fffee89fb7c90f805f9615a964f19d12b761247c4b4ad3d386a6fdaa581ad20ff5ef11a4d8d77219d7833ae7c75cf8b3f63accb78bb23078a89aa5ba74af10b4 -md5 gmp-5.1.3.tar.bz2 a082867cbca5e898371a97bb27b31fea -sha1 gmp-5.1.3.tar.bz2 b35928e2927b272711fdfbf71b7cfd5f86a6b165 -sha256 gmp-5.1.3.tar.bz2 752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160 -sha512 gmp-5.1.3.tar.bz2 f42ce1fa02962d25f94e21c79837f0eac1f8fc8d5c7804b7413926be8739ae0e8da33c63b5cebad17b3b6caae495ace0ef2e54dd2f194a0870e85c48172382dc diff --git a/packages/gmp/5.1.3/version.desc b/packages/gmp/5.1.3/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/gmp/5.1.3/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/gmp/6.0.0a/chksum b/packages/gmp/6.0.0a/chksum deleted file mode 100644 index 0b55b17..0000000 --- a/packages/gmp/6.0.0a/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 gmp-6.0.0a.tar.xz 1e6da4e434553d2811437aa42c7f7c76 -sha1 gmp-6.0.0a.tar.xz 1aaf78358ab9e34aeb61f3ae08174ee9118ece98 -sha256 gmp-6.0.0a.tar.xz 9156d32edac6955bc53b0218f5f3763facb890b73a835d5e1b901dcf8eb8b764 -sha512 gmp-6.0.0a.tar.xz 50368f4368b244b442438ce1768cf0f1166e490d1bafb8feda1ffc90fea3807e7328f30f3faa861799e4f5ff6e3113049ca3231b2f48571e4583fc3d60441816 -md5 gmp-6.0.0a.tar.lz a8b0090b79291a54390356414264142c -sha1 gmp-6.0.0a.tar.lz 0bbbe3fbd152a85c4a2fe6a6b4c463924b565e00 -sha256 gmp-6.0.0a.tar.lz 071196651b96976f522b428e255d8fdba9039da861c014745db4b69a318273d9 -sha512 gmp-6.0.0a.tar.lz 82abba65909a19d63035771a4321dce9166a01e93b76f8474235393ba0a7fd31e11c43c4725f8a5ae598c07a5afaa3466bc7266ae2fd06d39e22bb46babd6d81 -md5 gmp-6.0.0a.tar.bz2 b7ff2d88cae7f8085bd5006096eed470 -sha1 gmp-6.0.0a.tar.bz2 360802e3541a3da08ab4b55268c80f799939fddc -sha256 gmp-6.0.0a.tar.bz2 7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf -sha512 gmp-6.0.0a.tar.bz2 04c8fde7f6e9c2e42753cebf6345d74ef6bdae5ef764df303b6615d17c8d851ac2876ca32c6ba5e111a8d07575c8b725c7b90518a6616be27a7b46d6aeb82c1a diff --git a/packages/gmp/6.0.0a/version.desc b/packages/gmp/6.0.0a/version.desc deleted file mode 100644 index 71fe2fa..0000000 --- a/packages/gmp/6.0.0a/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_dirname='gmp-6.0.0' -- cgit v0.10.2-6-g49f6 From 04dce680e8c51495ec329773cbedaf4dc4e05c31 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: isl: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - isl-0.11.2 - isl-0.12.2 - isl-0.14.1 Signed-off-by: Chris Packham diff --git a/packages/isl/0.11.2/chksum b/packages/isl/0.11.2/chksum deleted file mode 100644 index f0607b0..0000000 --- a/packages/isl/0.11.2/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 isl-0.11.2.tar.lzma e51b54b8f174b0590751929405115583 -sha1 isl-0.11.2.tar.lzma cd9b2b6d681f86ef966b8f6a566795c3e0503f34 -sha256 isl-0.11.2.tar.lzma 55b90ed18a7471542ed7ad1d4f593bd17cd4553514dfef15808a32229c20b558 -sha512 isl-0.11.2.tar.lzma 0882e617a97c8af0e721ba8bc4b77a660c3a4ae774ffe3acb928ebe3a400dd9968b2aa0425a5233dc4a93cebdae1c86d5039652976a1be60f152ca02b9083644 -md5 isl-0.11.2.tar.bz2 c40daa17d2995d1c98a0c1aca607541f -sha1 isl-0.11.2.tar.bz2 ca2c93a58e899379d39f2956b2299c62e3975018 -sha256 isl-0.11.2.tar.bz2 e6d83347d254449577299ec86ffefd79361dc51f6de7480723c9c43b075cdc23 -sha512 isl-0.11.2.tar.bz2 6c4e370b66ee1d3656f4e028e08d70c4e897f88de6bad048493a9385655939574a42e97b0aa2b09d88f82b2de1004340073c32a5456adefdfb649c25c2d562c0 -md5 isl-0.11.2.tar.gz c37600005ad5a3889db61a5675628a51 -sha1 isl-0.11.2.tar.gz 11a19d66fa5781188373964089e09012d603b6fc -sha256 isl-0.11.2.tar.gz e3976c7af97b916aa84a46a64db4fb1b74a0af94592347a53fc5a286dc4b58fe -sha512 isl-0.11.2.tar.gz 9c30ae502dbe9c3ed7e3e8338aa4c71d339998556032e139fa2cf1939d554c088a866bd047c01ff5f1c5ed3e95985484f7db1596e035b608009a6140cc66b8b2 diff --git a/packages/isl/0.11.2/version.desc b/packages/isl/0.11.2/version.desc deleted file mode 100644 index f96c492..0000000 --- a/packages/isl/0.11.2/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.lzma .tar.bz2 .tar.gz' diff --git a/packages/isl/0.12.2/chksum b/packages/isl/0.12.2/chksum deleted file mode 100644 index 6f295d2..0000000 --- a/packages/isl/0.12.2/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 isl-0.12.2.tar.lzma b7d59eb79d3884e14b9788cc396f7687 -sha1 isl-0.12.2.tar.lzma cc6eba3fb2785b3df346d5e30d02ff7d271a5c5a -sha256 isl-0.12.2.tar.lzma 00b8cdf8f74711055af369345e02c5294f9631724f23139f5e8e9c26c5dfd247 -sha512 isl-0.12.2.tar.lzma d8d1920d6d31a7614fb30f96bfd2d811c997ae89ea7e2c6e53f9ac927160c739001cd2d67eb98831edfbf46abcf393fe4be66443f60ed9df051acc390c505b5b -md5 isl-0.12.2.tar.bz2 e039bfcfb6c2ab039b8ee69bf883e824 -sha1 isl-0.12.2.tar.bz2 ca98a91e35fb3ded10d080342065919764d6f928 -sha256 isl-0.12.2.tar.bz2 f4b3dbee9712850006e44f0db2103441ab3d13b406f77996d1df19ee89d11fb4 -sha512 isl-0.12.2.tar.bz2 b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea -md5 isl-0.12.2.tar.gz 7fbab016a11ad3da540bbf06b76fa508 -sha1 isl-0.12.2.tar.gz aedef48ed9170d3714a2f7be4fc2055098d26ab0 -sha256 isl-0.12.2.tar.gz 9dcfc146678dd3e8afe5ce67db8279b5cb78b8ce32e444232face190e705b784 -sha512 isl-0.12.2.tar.gz a54811d522aad56e4a9ff91576ad2986b180d44df3a94cb110901a577ccf1e8a40307483069308c355384824d682679d22fffadf36fd68127f5f292d58abfff0 diff --git a/packages/isl/0.12.2/version.desc b/packages/isl/0.12.2/version.desc deleted file mode 100644 index f96c492..0000000 --- a/packages/isl/0.12.2/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.lzma .tar.bz2 .tar.gz' diff --git a/packages/isl/0.14.1/chksum b/packages/isl/0.14.1/chksum deleted file mode 100644 index 1d74c40..0000000 --- a/packages/isl/0.14.1/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 isl-0.14.1.tar.xz 94fcd11e0b1c79250ae341affb1845ea -sha1 isl-0.14.1.tar.xz f3b8280849b09eb3a30138909085292eb481b1b1 -sha256 isl-0.14.1.tar.xz 8882c9e36549fc757efa267706a9af733bb8d7fe3905cbfde43e17a89eea4675 -sha512 isl-0.14.1.tar.xz ccae0464771db50c498fd1f9f1006c9bc183fd77a0716507daeb5da6d435fdcffffa0942efc4589464f205615f9e46242a066f61790c40206be02f6cf8506635 -md5 isl-0.14.1.tar.bz2 118d1a379abf7606a3334c98a8411c79 -sha1 isl-0.14.1.tar.bz2 b653327b20e807d1df3a7e2f546ea924f1e030c0 -sha256 isl-0.14.1.tar.bz2 1f20561843eb9f6ae2076800bc45f3680ff7696520257cd5734ccfb843464cae -sha512 isl-0.14.1.tar.bz2 0d8e04e4a029a1c382357570d0e58b45cff0c89ef576084af3841dda112a1275575fb85f62e7c0ea6e89a4fccf90cae55cdd12c37b824ce5e8845ed6d31edb2d -md5 isl-0.14.1.tar.gz 1e6154ad866b75153fe5304d5bec564d -sha1 isl-0.14.1.tar.gz 0652f6edbe69fc647c2feaa083f3817ef9be7d86 -sha256 isl-0.14.1.tar.gz bd15d06d050a92a6720fc7e2a58022a3fd1a73c4996cc358ba50864fd5e86c35 -sha512 isl-0.14.1.tar.gz d227138bb3b956e045dcf4f70ac2f4eda5e1537b66052ea49ad074eb1138cac200c478474b696fbb7b6b9b1032e3943cabe948a03fe78d7ae9c9a4066b50e926 diff --git a/packages/isl/0.14.1/version.desc b/packages/isl/0.14.1/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/isl/0.14.1/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From 5b138bf8372ddf456873747d5a2e7a1ff1c68ae2 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: libiconv: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - libiconv-1.14 Signed-off-by: Chris Packham diff --git a/packages/libiconv/1.14/0000-srclib_stdio.in.h-remove-gets-declarations.patch b/packages/libiconv/1.14/0000-srclib_stdio.in.h-remove-gets-declarations.patch deleted file mode 100644 index 3eccfe9..0000000 --- a/packages/libiconv/1.14/0000-srclib_stdio.in.h-remove-gets-declarations.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - srclib/stdio.in.h | 19 ++++--------------- - 1 file changed, 4 insertions(+), 15 deletions(-) - ---- a/srclib/stdio.in.h -+++ b/srclib/stdio.in.h -@@ -679,22 +679,11 @@ - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - diff --git a/packages/libiconv/1.14/chksum b/packages/libiconv/1.14/chksum deleted file mode 100644 index 44b3860..0000000 --- a/packages/libiconv/1.14/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 libiconv-1.14.tar.gz e34509b1623cec449dfeb73d7ce9c6c6 -sha1 libiconv-1.14.tar.gz be7d67e50d72ff067b2c0291311bc283add36965 -sha256 libiconv-1.14.tar.gz 72b24ded17d687193c3366d0ebe7cde1e6b18f0df8c55438ac95be39e8a30613 -sha512 libiconv-1.14.tar.gz b96774fefc4fa1d07948fcc667027701373c34ebf9c4101000428e048addd85a5bb5e05e59f80eb783a3054a3a8a3c0da909450053275bbbf3ffde511eb3f387 diff --git a/packages/libiconv/1.14/version.desc b/packages/libiconv/1.14/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/libiconv/1.14/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From 33bd6d94e864af7e3eaa65abf01b4bc836eb18c6 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: linux: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - linux-2.6.33.7 - linux-2.6.34.7 - linux-2.6.35.9 - linux-2.6.36.4 - linux-2.6.37.6 - linux-2.6.38.8 - linux-2.6.39.4 - linux-3.0.101 - linux-3.1.10 - linux-3.11.10 - linux-3.14.79 - linux-3.15.10 - linux-3.17.8 - linux-3.19.8 - linux-3.3.8 - linux-3.5.7 - linux-3.6.11 - linux-3.7.10 - linux-3.8.13 - linux-3.9.11 - linux-4.0.9 - linux-4.2.8 - linux-4.3.6 - linux-4.5.7 - linux-4.6.7 - linux-4.7.10 - linux-4.8.17 Signed-off-by: Chris Packham diff --git a/packages/linux/2.6.33.7/chksum b/packages/linux/2.6.33.7/chksum deleted file mode 100644 index 50e0c80..0000000 --- a/packages/linux/2.6.33.7/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.33.7.tar.xz 7fa95028eb704f9a2086755cfcbe3300 -sha1 linux-2.6.33.7.tar.xz 8ce2fa5bcb970d9673830233655250c383b1e2db -sha256 linux-2.6.33.7.tar.xz 3b2dec8f5a5d256f8feea06c2de32bd8ac700f617fe82a35e65cc4bf37e63635 -sha512 linux-2.6.33.7.tar.xz d692b1cf20369630d84d37ed309490407a5e2e6577f943e3fe066420359184361a99936b457dda57471c07b5136e44fb4b1ca7173dcff325eb3b2e7a7e4a9985 -md5 linux-2.6.33.7.tar.bz2 2cea51deeaa0620a07d005ec3b148f06 -sha1 linux-2.6.33.7.tar.bz2 722d59819ad1f0fc4e628ea13ff8ae9e006bb995 -sha256 linux-2.6.33.7.tar.bz2 35fa078dcd790b165258e2ba39e8a46debd00364e18da10480eafbe9cc85da00 -sha512 linux-2.6.33.7.tar.bz2 a89a49b6ca5caa52239ff7a7b9753d2d14235a783c121a778ff4f712a273d34f9d6fa26cd5b92424e39dd03eafb7ea3fa8d0a0c08618fdeca5d9215b3058b278 -md5 linux-2.6.33.7.tar.gz 3e3cb86995b3c31ecd01b63c1f444886 -sha1 linux-2.6.33.7.tar.gz 88eb9553ecf87d87172d40d5787d252467619110 -sha256 linux-2.6.33.7.tar.gz 3b663029b6083bcc4c9c599a0a6b354439943b8bf1ee0abee9f9f4584da94360 -sha512 linux-2.6.33.7.tar.gz f02adce7b0ec106377aa52ab7ae8d0f57cbaa8a46218ebf81d3891b6bb66677bdc3a2ecb5a3e80dcd18a4f413ce404c15efafef5321a7ab7d4177c0f8a81864c diff --git a/packages/linux/2.6.33.7/version.desc b/packages/linux/2.6.33.7/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.33.7/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.34.7/chksum b/packages/linux/2.6.34.7/chksum deleted file mode 100644 index a1d8757..0000000 --- a/packages/linux/2.6.34.7/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.34.7.tar.xz 7a0178175a8fc68161a8c3f4f4991a2e -sha1 linux-2.6.34.7.tar.xz a4d27b07928a7612a95602d5478634f9582c38e2 -sha256 linux-2.6.34.7.tar.xz 25d057cbb52302b177806b57c4d0873e6919f3e2a5409fe0b4fecd6872946b60 -sha512 linux-2.6.34.7.tar.xz 717193c75e83d091b8feafac48679acaa3197cfbaba813d88f02841eb71a1bbabe93484446af015d29045c0db77ae2e911e94fdb4c1ef60038a9b9519fce16a0 -md5 linux-2.6.34.7.tar.bz2 8964e26120e84844998a673464a980ea -sha1 linux-2.6.34.7.tar.bz2 27d9457323139029f0105f1a086eb1f89ca9e443 -sha256 linux-2.6.34.7.tar.bz2 f09ca5a56123b0a6b6439ed24952d2b38a442c0b4ee68703dace4543e83ddc4b -sha512 linux-2.6.34.7.tar.bz2 9e2f75d08c3f0fac77e752f8e8ca27f369ed9efc014dff06e1d82869e253528b67d93b3dca7a6a872bfcb743e45e58325b2b56749ad8b7411a81de0569451a6b -md5 linux-2.6.34.7.tar.gz cd6590845d33987e2b67c36e93254082 -sha1 linux-2.6.34.7.tar.gz e7a0e3edd87070d254271c34de29079a5077df83 -sha256 linux-2.6.34.7.tar.gz e1512fccc99f8097f50dbdbaf02823d654d510564d8fdf9fa608fdf1fc653aaa -sha512 linux-2.6.34.7.tar.gz 367a62118f69d58ad68e223042dfbd5bedf2951f05bd58004f2924540032fd82f52728e0e67aa17479d1304b87dc5d5dd57fe1a1b2d30d45d33acb9723d0a437 diff --git a/packages/linux/2.6.34.7/version.desc b/packages/linux/2.6.34.7/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.34.7/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.35.9/chksum b/packages/linux/2.6.35.9/chksum deleted file mode 100644 index 6b8d0ef..0000000 --- a/packages/linux/2.6.35.9/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.35.9.tar.xz a2711cfe17985702a9ecb0aa08b2b903 -sha1 linux-2.6.35.9.tar.xz 864cdfec1876f53d8c71cdcafb66e968398040f5 -sha256 linux-2.6.35.9.tar.xz fc4e94d3e4b23de4d12bfdb4632a3e47e05b702ce1ab8dee90da0ec4b1905012 -sha512 linux-2.6.35.9.tar.xz d026f065a780bec53c110521a2b445714f3176287c5780d80171783c094d5db941f9fcd349c1c0fab7da73134364f2da054535d160b9cf0d4a1d66ffbc6fe63a -md5 linux-2.6.35.9.tar.bz2 18d339e9229560e73c4249dffdc3fd90 -sha1 linux-2.6.35.9.tar.bz2 7c516c525b415e508151c91f0ae185e57386e3d7 -sha256 linux-2.6.35.9.tar.bz2 f6bd671a163078c7bbf2030cdcf618f3c8a2864c185efbdc72638e00e25abf06 -sha512 linux-2.6.35.9.tar.bz2 d225ae45a81ffbb6c1380b1193d6e2c1000329de1240a4805dd44082b2c027a06ae531d1b8957774aff594cc312a590a60a80e6830d75b959c92e82f093c3746 -md5 linux-2.6.35.9.tar.gz 85967dc97fb1d5ee50eb53375a652d93 -sha1 linux-2.6.35.9.tar.gz b187edcce5c48ca869a904979f90d2676a03fbbe -sha256 linux-2.6.35.9.tar.gz 7abc12e2f080bb52a2fb46a10092c751d61a90b101a53cf2e9b6ffd4ca09a8f4 -sha512 linux-2.6.35.9.tar.gz c5624937fd8b1e9cb6ea7f5d50fefe1a24b0b05dcf38a309178c3f0df2979f587c1d270c1c09b06475009bd5740ebaf4a34e37d45a397c88158cebd3359b53ea diff --git a/packages/linux/2.6.35.9/version.desc b/packages/linux/2.6.35.9/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.35.9/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.36.4/chksum b/packages/linux/2.6.36.4/chksum deleted file mode 100644 index b368187..0000000 --- a/packages/linux/2.6.36.4/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.36.4.tar.xz 5bfc11010359821d3d85c7a6d1e7589d -sha1 linux-2.6.36.4.tar.xz ff11be794aef7bb63a629924f95bd3d8983df709 -sha256 linux-2.6.36.4.tar.xz 70d124743041974e1220fb39465627ded1df0fdd46da6cd74f6e3da414194d03 -sha512 linux-2.6.36.4.tar.xz 93d1d1ecc2f25282e6ccf544b53697ef60333dd20c7234dd7c7ffdfd19f91ff9ea7faab09388a69061c709d6eac9b2340f4af2f32b72a89676462f27eeedac8f -md5 linux-2.6.36.4.tar.bz2 c05dd941d0e249695e9f72568888e1bf -sha1 linux-2.6.36.4.tar.bz2 af6d81a28f692640195848b135c0063c549a5feb -sha256 linux-2.6.36.4.tar.bz2 8f018a7beb5d40aafb2621e9dfd77aae7c8f2d68e26209a2834fedd7c697f89a -sha512 linux-2.6.36.4.tar.bz2 597da20b0b695e976605b019b2c29972d37607d3653e22e358a6d7f4b4b7f37204ec25cd72a06de5541d0e953d6f83a70c245520d209b01800e2b47b3c0384ae -md5 linux-2.6.36.4.tar.gz 77b981f8319d238856e6e98b3aac0e50 -sha1 linux-2.6.36.4.tar.gz 9ae50e1f5350f4fc0829c3f824d844ed119a9041 -sha256 linux-2.6.36.4.tar.gz 57ea23863394e79881eb0b726ad3e07dc931c01b9d02638211d46d1cda685053 -sha512 linux-2.6.36.4.tar.gz dd5f338cedf227d50e9a4a680f9ad64450e8a69aee584d437177a877ca7ffedf3bf90b95f59897395070e38fc56fd0d8f18627ea1922ed9416da0cedb050d64e diff --git a/packages/linux/2.6.36.4/version.desc b/packages/linux/2.6.36.4/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.36.4/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.37.6/chksum b/packages/linux/2.6.37.6/chksum deleted file mode 100644 index 26edfdc..0000000 --- a/packages/linux/2.6.37.6/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.37.6.tar.xz bd39cbc1beae91aacb963f26c81c8aca -sha1 linux-2.6.37.6.tar.xz 586cee2ec874e27bab910f831a9b1213e1251a79 -sha256 linux-2.6.37.6.tar.xz f7a684955fae0078a23528c6e85cd3a441cdcde59a6c8e990c40202e5331d60d -sha512 linux-2.6.37.6.tar.xz 1739eea8714819d78f7b116e51dc1d88a459105a7d5fd68e49139a097242e476365137d83bf4417837982fbfb8293c718d54c2e6767c960bf3cdabb7c0cb5d56 -md5 linux-2.6.37.6.tar.bz2 05970afdce8ec4323a10dcd42bc4fb0c -sha1 linux-2.6.37.6.tar.bz2 ac727da91126fd726d6aa6a81de90c002b2a86d0 -sha256 linux-2.6.37.6.tar.bz2 4da1ad7309fe844bcecaa99238d00bb9184cde7c54d5c3cef0b6d0237eda701e -sha512 linux-2.6.37.6.tar.bz2 882a31c1c8c6f72dc41023db2437a199bf4389972c3c2f362232c0cba19e63e0382fa71b6113f4d846d6aeb6ddedaee937f24b1f820aad6e86313a396da6ed5d -md5 linux-2.6.37.6.tar.gz 77016b346480466d649ec9d719d8df0a -sha1 linux-2.6.37.6.tar.gz 6d7bea7113258464350180942f08ca55fe388923 -sha256 linux-2.6.37.6.tar.gz 746bedaa52ba431f2e8031f22f8c40f44610be9186c18d192a63a75468a81e01 -sha512 linux-2.6.37.6.tar.gz 1512ee2916b6a2218ecf3f65ec9168930cb4a44b292270905ffc7a0239f91cbd4cd2c3126525de0d95489d9dd5f1c8fd24f46aeed8c5f6befd11c1ce5e47d97d diff --git a/packages/linux/2.6.37.6/version.desc b/packages/linux/2.6.37.6/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.37.6/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.38.8/chksum b/packages/linux/2.6.38.8/chksum deleted file mode 100644 index a3037f5..0000000 --- a/packages/linux/2.6.38.8/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.38.8.tar.xz a63222398ee4051fde722ba711d3233b -sha1 linux-2.6.38.8.tar.xz af1237ced36321158ff20d0e8a9f30ae03fcc4f4 -sha256 linux-2.6.38.8.tar.xz c300486b30d28ae34c587a4f1aa8e98916a0616dad91a394b0e1352a9c7a8256 -sha512 linux-2.6.38.8.tar.xz d3c25b89f34852d56cda07a34d8cb2af61aec7674bbf935d9e63e1d4d15fc9707b54f2904576c3fdd475358ea1b22251175b6166a1f3bb1ea0016b5653a49556 -md5 linux-2.6.38.8.tar.bz2 d27b85795c6bc56b5a38d7d31bf1d724 -sha1 linux-2.6.38.8.tar.bz2 0eef1cf5cf18e42725309797f57e71234f3e39a8 -sha256 linux-2.6.38.8.tar.bz2 71bde3722edba81e5585c612ed8f113bb9846f54a7aea50915e069c9c5e2f99b -sha512 linux-2.6.38.8.tar.bz2 19aabae5025410012bb24728dcfa2151c989a7a215fad43aaddfb297aa406b838795bb0d61c49aee23283956a64e9745221187d405a5998655911ea4be84744c -md5 linux-2.6.38.8.tar.gz f779b3991fcf0e4573a5d5167a60a26b -sha1 linux-2.6.38.8.tar.gz 1c292a3797360f4631be8e8228493afa54f1beb4 -sha256 linux-2.6.38.8.tar.gz d6fe007d8afb87fa198f7c037d4d376e8e7936ba6c57f73bc5a8f4ee04f80456 -sha512 linux-2.6.38.8.tar.gz e78c5e2443676eaa8349ccacf9b7bda1ff6aac7bf8858f435809eb2f8dc2ed813878431ddb87c16fc5cf43777e4299f73ecd4493325b8751cb4baed520733fbe diff --git a/packages/linux/2.6.38.8/version.desc b/packages/linux/2.6.38.8/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.38.8/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/2.6.39.4/chksum b/packages/linux/2.6.39.4/chksum deleted file mode 100644 index 2d5bd94..0000000 --- a/packages/linux/2.6.39.4/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-2.6.39.4.tar.xz f2f266afb467376fa100598a686bd312 -sha1 linux-2.6.39.4.tar.xz 5c0b3537f151e10277b9f97a3ddb7c71edb22af2 -sha256 linux-2.6.39.4.tar.xz 63c89dd833a67d21f4a0002b92826e3a5380153097d9ec29d62a884ca5310105 -sha512 linux-2.6.39.4.tar.xz 9a95b960b39496c5dec229474bd5ed239f24b13d6270b92f8b24dc0c882dc2e62f26f4d49579cc4a20feed44b69fee5065ffa65de35f15ee4b71811c46205916 -md5 linux-2.6.39.4.tar.bz2 a17c748c2070168f1e784e9605ca043d -sha1 linux-2.6.39.4.tar.bz2 b9262c836a02de3d3a6abb5ccb780816d52b5277 -sha256 linux-2.6.39.4.tar.bz2 d26e44eedbb4bf63f84754bd21640c5d4fee9010320781a5b66c7d2106941183 -sha512 linux-2.6.39.4.tar.bz2 5730c535333c8ed59abaf4fae1948936ecb22cf42a938df5ff8fee53d67d1a37669e805013060914ccb8ae398b4283a5e7b505475f7a8c6c7af4bed99ef0678c -md5 linux-2.6.39.4.tar.gz 1b834c566316219312e46770021e9f4a -sha1 linux-2.6.39.4.tar.gz d088924aeec4e796618f18c78e938ceca1d22718 -sha256 linux-2.6.39.4.tar.gz 9da0d736ef25da9c9123fddcd47f2b52c195a5589c4b25e5eb3268d097c8128a -sha512 linux-2.6.39.4.tar.gz 609f4330aa06cd302db8bbe5190257381fc38619d5203b2c4daa82b5fa9d8bd8e47d5baf9427eb352a6dffbce88732714413388540c7226486feb08fec67d550 diff --git a/packages/linux/2.6.39.4/version.desc b/packages/linux/2.6.39.4/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/2.6.39.4/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.0.101/chksum b/packages/linux/3.0.101/chksum deleted file mode 100644 index d81bf05..0000000 --- a/packages/linux/3.0.101/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.0.101.tar.xz 668e732d854c91a93a7e525cd4def6de -sha1 linux-3.0.101.tar.xz c7864e58cb9a4333ec9128459552bac7c478961b -sha256 linux-3.0.101.tar.xz af822231825f5a56b99a589e95d49659503013634a0eb1bbad024af0fdf99c4b -sha512 linux-3.0.101.tar.xz 79e62319937da7af66b9c7311c1cef3f3ccda1c0f495ba1d57ca8b63521b31df692549b5b3bdb07dbbda15a9285c0776b52c3f441b1c5d59a5bbc40783c5a604 -md5 linux-3.0.101.tar.bz2 f82678af7a3e8d8a642161fb3f592b7d -sha1 linux-3.0.101.tar.bz2 57248128d17a75152d4161edd5feb35b22c35acb -sha256 linux-3.0.101.tar.bz2 ed62b014f00c8c4838de294f2510e9bc2261fc7fd7dd2443e0292dcb388fb3fe -sha512 linux-3.0.101.tar.bz2 6a73958477cdeb5d11ccf9632bc61bb5b8e64fc03eab31c324328f7335527ca0a7ce0ff69e5989c06c0299cb40a41c3fef75e6489b4d950151106e80ede232e6 -md5 linux-3.0.101.tar.gz 9e4da365c72edf02550a0cea7ef24b59 -sha1 linux-3.0.101.tar.gz 14a849d2c782fe87255fc090a0dd618852e0828c -sha256 linux-3.0.101.tar.gz a79e147fab4c9118391591ce4c78445b6e5220ef0cfa205e0e36b9413c51903f -sha512 linux-3.0.101.tar.gz d77753191317f12fe888f928b31fcd500e427971ddd71cccafcda4db745dbcac125af3f1e38ff1e8185cf2eb296dfd53a188bb5e66a5570347986f06b1fe8747 diff --git a/packages/linux/3.0.101/version.desc b/packages/linux/3.0.101/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.0.101/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.1.10/chksum b/packages/linux/3.1.10/chksum deleted file mode 100644 index 62bcabe..0000000 --- a/packages/linux/3.1.10/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.1.10.tar.xz 99c0ddd29cbe859dbf8fc620352114fc -sha1 linux-3.1.10.tar.xz a513364b66dba45b22cdfe5a886febcd6b4eeb76 -sha256 linux-3.1.10.tar.xz 33aeab90243fb6505344a3abea467b1661221737e57e3921a7d378297bb05909 -sha512 linux-3.1.10.tar.xz 14ef9bef3f73ecdaefe0282c04681ceea515733c965878d42e82f2d0b4f010cae98a653b1b45b17c9478374c759fb170a322f9c7db9452f264a06ce3e1d2c925 -md5 linux-3.1.10.tar.bz2 3649bdaa50ffd9114cc16486ec54d83a -sha1 linux-3.1.10.tar.bz2 5b136de7753872aec54f5e68271c615a202066fb -sha256 linux-3.1.10.tar.bz2 9f22161de3c6992aa90acab0565460f565708b3a22b24205af3a31cb0f5c97ed -sha512 linux-3.1.10.tar.bz2 3676204537517ad2a0ace33389ca3661eab159d82936522c87c9c3574f327253f8d33017513068a3147f966ad618f05db275b2d3814b5e023560d1bad41272ea -md5 linux-3.1.10.tar.gz 658e084098d28789671376e3e3c3ec6f -sha1 linux-3.1.10.tar.gz 9e92090902bdd4425a75357fec6877021be0dc24 -sha256 linux-3.1.10.tar.gz 88170709a970276040561f22f4200ec758f93e4b54df8fc5d6e8096ae737224b -sha512 linux-3.1.10.tar.gz 81cd3cbdba35d37307bb5a19ce06ca943a60c7a2f7e981186bade8096519e3c8837d0322acfbfc59ea413bf804ed6533dbe4ea85e7201426bad56212d4e242d7 diff --git a/packages/linux/3.1.10/version.desc b/packages/linux/3.1.10/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.1.10/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.11.10/chksum b/packages/linux/3.11.10/chksum deleted file mode 100644 index e4fbecd..0000000 --- a/packages/linux/3.11.10/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.11.10.tar.xz 59f352d3f4e2cdf6755f79e09fa09176 -sha1 linux-3.11.10.tar.xz 8d6bc642165e333e90fc580f3168d76e7d6e0f49 -sha256 linux-3.11.10.tar.xz cb7f1b137c53446a65b257f2e52f50ced5a0314694b6fa53fddf572de7cae401 -sha512 linux-3.11.10.tar.xz 75d59176888ca2c540d0ea8b9d7b817eb02af4153f732a7edda2b4d848eb89defe6472e42b458fe496c105c0179d56bc9f67ebcbecaf0a956da46ffff16f2929 -md5 linux-3.11.10.tar.bz2 b2775085121ea03e42fece2c40d7e72a -sha1 linux-3.11.10.tar.bz2 ec09d2f1b1991dbf31a6cb1f5747da8ecb4cd766 -sha256 linux-3.11.10.tar.bz2 1548d4d4c8570ff50632975ad0eaf4b3af4e5ec43c8d3c87ef8297a66db05670 -sha512 linux-3.11.10.tar.bz2 f205cafcf355d8b60b8beadf596ec4bcd1054d49cd302ab2dc50a9b95dacdde4184a48751e6561371b3b7bdf02e00c655639704faad72c59456949ac334ec2a2 -md5 linux-3.11.10.tar.gz 753c2a0506826fe1f590b8f664bb515e -sha1 linux-3.11.10.tar.gz cf630a31749fc1c38502b1ef43d317c3695c58a4 -sha256 linux-3.11.10.tar.gz 1297ae61e82a0c59997a0cf463bcfde6107059e2d19261ae9c13ed7251e07cbf -sha512 linux-3.11.10.tar.gz 1a0c4ea5efebf00145ed9182a18222a04ebf576b1de794def1da34b4aa8bd76cbcb840e00d5c718e439b5a00f1650b06a21cd79d691be2b2c4bfda9792d38311 diff --git a/packages/linux/3.11.10/version.desc b/packages/linux/3.11.10/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.11.10/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.14.79/chksum b/packages/linux/3.14.79/chksum deleted file mode 100644 index d7d6c4e..0000000 --- a/packages/linux/3.14.79/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.14.79.tar.xz ec5b09d8ad2ebf92e6f51a727a338559 -sha1 linux-3.14.79.tar.xz 43494d5887c3289de9d2a0b7ac89f49880c08dda -sha256 linux-3.14.79.tar.xz 931fae75c70c4a805629f91ba171769b7e0606fd3e89d00be60ed806aa7045c9 -sha512 linux-3.14.79.tar.xz 7bce74537ce1bde502097ea9efab4f50333996e9875efbe788722a82140b9e78352983de87282be0bd325af7d761c72f56c0992f3b5c579ad3e15e945d0f7bbe -md5 linux-3.14.79.tar.gz 483aa1f05240249f013fcaec77e1b0b3 -sha1 linux-3.14.79.tar.gz 981672669b1794fc4c8607777a964964ce0d90a6 -sha256 linux-3.14.79.tar.gz 7d547b197a4cd26819df43965329e95780571c622b79ae4d93b63de0d345d5db -sha512 linux-3.14.79.tar.gz 90c0b296ea93ef8f81e3bdb3a3c55ebacf068ebde2d8f7954f83de92b4921a26322c0ecff1a048d58aedf5029915bb00a2403c54230efc7b862fc3c70c762a80 diff --git a/packages/linux/3.14.79/version.desc b/packages/linux/3.14.79/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.14.79/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.15.10/chksum b/packages/linux/3.15.10/chksum deleted file mode 100644 index 79c7c8f..0000000 --- a/packages/linux/3.15.10/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.15.10.tar.xz 58e307ba1d036b99d7ad6e1681542350 -sha1 linux-3.15.10.tar.xz 448b5860a78b15e7872ebb30ba3494aef4db5aef -sha256 linux-3.15.10.tar.xz adec6df4b52e7d6e9571e83554a3c9ff19caf90a7dac26ebc7996477833a05f4 -sha512 linux-3.15.10.tar.xz b6d20fa8068f938badc274ee8f6a4ee1e5ce70ccba65a4d312f80f32fbef057ddf7c13fd8214e1bda4b27984b47c28c94a1bf0514596b625955b12fa9beb4af0 -md5 linux-3.15.10.tar.gz 4e5f5e2f9d3c25dd87ba02f078ec7a97 -sha1 linux-3.15.10.tar.gz bc2898f711d5d511c676cc028045cc63f9b94c35 -sha256 linux-3.15.10.tar.gz e8f49594ae259b23217f0edf0eabfb47616524efa7834cc7a5be1b08caf27fb0 -sha512 linux-3.15.10.tar.gz 2acd8058a436d8134eb2205ee8119a035b7c5f4f82232b66df18eeb87349212fb2cd4350de2a59352c4d408335b433cc4e29c3a64da75fc80a9eb92dd2cae6bd diff --git a/packages/linux/3.15.10/version.desc b/packages/linux/3.15.10/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.15.10/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.17.8/chksum b/packages/linux/3.17.8/chksum deleted file mode 100644 index 95af3ff..0000000 --- a/packages/linux/3.17.8/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.17.8.tar.xz cbf273ff3c70639026936f3fba6a8afb -sha1 linux-3.17.8.tar.xz a7a7f7b5b14ead52c15e42573f394508f6d07907 -sha256 linux-3.17.8.tar.xz 8aa14fdd3cdc7d94daa58c319a7cfd2bc9aaa19bef099ad3fcdce9a5ed05583c -sha512 linux-3.17.8.tar.xz 146a01835835fa3b6b2a1b8edacf84edcae8375f668179a73f001b8bc24a7d92669db40023a7c27683e06b795b5a6e946d14320bc84d0458afe38a763c581869 -md5 linux-3.17.8.tar.gz 08854e292bcd7e8cc661911a24e8f377 -sha1 linux-3.17.8.tar.gz b61f408159844a7be3ae9218ac70927462569a06 -sha256 linux-3.17.8.tar.gz 308c5c31d5e24f5efea0200c6c4b67cd5f762b35bd199ec541c97287912b5837 -sha512 linux-3.17.8.tar.gz da12347c0e2c1f363c684a514141c5d559d6cbe237490a42a90067661545e045b7cc24030052f1c2307134290f4d1d899e3713cf96754cb2d16d93554828301d diff --git a/packages/linux/3.17.8/version.desc b/packages/linux/3.17.8/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.17.8/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.19.8/chksum b/packages/linux/3.19.8/chksum deleted file mode 100644 index 6baaa07..0000000 --- a/packages/linux/3.19.8/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-3.19.8.tar.xz 4417244850b060d93a9181f370bfa80c -sha1 linux-3.19.8.tar.xz 2787d62e34a4671230bb807f48a485cbc0351a62 -sha256 linux-3.19.8.tar.xz cf4be038d57fbdd1b58636c0671330dd5b4c7829628db7c234be260830ade279 -sha512 linux-3.19.8.tar.xz d8fb2e74a1e4850214f568ce837754b48eb28d1ce213771374c5379fdd3dd442d142116ad32a672db25deb7014cc7b50c0c13cd3c86bb152f309b372d1fb4d53 -md5 linux-3.19.8.tar.gz f10db3b525702b3ae91dd8c62c40d415 -sha1 linux-3.19.8.tar.gz 4e401b74972e7a93ca6f35e29dbc190c13bf0467 -sha256 linux-3.19.8.tar.gz a35211d4cf6b7e9fe37353b95492b7dab384944394b75f02360d298d34555a20 -sha512 linux-3.19.8.tar.gz 20e49592540f2bb80624c978db2d103b5770ba2039bc55bbe48de866295cf7d85f96bf4a24a6033750539728f1d80a211f98b0327f603895dab2d7c8e9c699f6 diff --git a/packages/linux/3.19.8/version.desc b/packages/linux/3.19.8/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/3.19.8/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/3.3.8/chksum b/packages/linux/3.3.8/chksum deleted file mode 100644 index ff3b6d0..0000000 --- a/packages/linux/3.3.8/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.3.8.tar.xz f1058f64eed085deb44f10cee8541d50 -sha1 linux-3.3.8.tar.xz 89f4fc6fb672eeb6759585dd8fa59415202a8b78 -sha256 linux-3.3.8.tar.xz dfe63dc372f945b1e76781fd5cf446ac77c07ad95633096ea73584e39ebdf72d -sha512 linux-3.3.8.tar.xz 590981fb6189da73f6412dbb46316a359a2b8f7998b2b407e2e667fbe972a8a945d2aa9fb8ed1fb6512cbf138142aa8fde5a2fbff24e41ab60dd6804ca7bce8b -md5 linux-3.3.8.tar.bz2 21068f0fd262b9b3670947f7892e1d6b -sha1 linux-3.3.8.tar.bz2 10e4a6d78dd0f6d484636e240afcfb1c96f60b6c -sha256 linux-3.3.8.tar.bz2 0ab646a2c0dd706ce8df9227fedc180412c1a5e4114729e5ce47a50e2f4abe33 -sha512 linux-3.3.8.tar.bz2 ddcffcc6ce06b602ec7b7a2a209192a0797abafaaea655516f4fd3daf1d2fe8e085c2b7a036b2433d8ff93017a50c1dd74e1be1592b5b4dd115615e02e06fed9 -md5 linux-3.3.8.tar.gz 11445817a6e68ce712c49137763d6a93 -sha1 linux-3.3.8.tar.gz 959306943348aedd2a958168529d78a5633ec9e7 -sha256 linux-3.3.8.tar.gz e722484f895bb8853b4c5f7706ca9906b4960fc7eaaa4dd33b24924e170d8448 -sha512 linux-3.3.8.tar.gz 43b9b0af9e804a0ef25c0815fe3d79a6dccd55c9dadbfa5df8c3baf3ed4a9ccca04b3b3f81e41a3466bffb6404811a3022844e498225e408b05f4634c4c70356 diff --git a/packages/linux/3.3.8/version.desc b/packages/linux/3.3.8/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.3.8/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.5.7/chksum b/packages/linux/3.5.7/chksum deleted file mode 100644 index f1ec762..0000000 --- a/packages/linux/3.5.7/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.5.7.tar.xz 5d29db4b7f0825eae1dbe20aa8b3f08c -sha1 linux-3.5.7.tar.xz 70c418374faf8beeddd71dc762105b3c7b49d95e -sha256 linux-3.5.7.tar.xz d1c68906ca31165d6771996141ec9fe978bf7d228c385ec6f4c73e473306794c -sha512 linux-3.5.7.tar.xz a998086350a8f89b457fa7494915ed66631c176e7a143abd91cb0042a9d200c8c47df46549e5b96de6af45a8775f70d8459bb5190e12f534fe08f6b1d043d142 -md5 linux-3.5.7.tar.bz2 636d19c8686623776764227b6d3b911d -sha1 linux-3.5.7.tar.bz2 d123eba454e27f2c01bec69710322dd611b00df3 -sha256 linux-3.5.7.tar.bz2 5174c0ab054ccafafc620e806c3a0542cbeaef7248d5960d0bc5fea5006c177e -sha512 linux-3.5.7.tar.bz2 26421b6f3f6aa4776897bf4cb33ea869b56bf932f1dd5a32306171a886e538eae6902762a19096cdbaca3b066ca67544022b87b26d5ad8a59f1433d5b6506638 -md5 linux-3.5.7.tar.gz 8b9c2896d89e3c11cbccf158c7001ad8 -sha1 linux-3.5.7.tar.gz 5a2a852c1d3f09fdc8c291dbde1682aa451f9236 -sha256 linux-3.5.7.tar.gz c841b66e97ffc2bf6bb1d2af52c06b353a27e030f5d9264df211b1f9bcadc8c0 -sha512 linux-3.5.7.tar.gz 5952e6350a25a1d1c9cfa9af7fc6d54025b7f4d52d4a68d59043b7e8f133ae14f50bc49aef5f699c0b61bb0809d791bc1dfa865a6d7c8bf7f07b6084768c4ccb diff --git a/packages/linux/3.5.7/version.desc b/packages/linux/3.5.7/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.5.7/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.6.11/chksum b/packages/linux/3.6.11/chksum deleted file mode 100644 index ee49191..0000000 --- a/packages/linux/3.6.11/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.6.11.tar.xz 3d602ad7f7984509c3e923a5ae90bc54 -sha1 linux-3.6.11.tar.xz 95930d93cd4dba764cda1182868785f4678ff2db -sha256 linux-3.6.11.tar.xz b0208020e64cb79f05ec40b9d9cf6ff57be3bc459062871f21b4f5fe346ccb32 -sha512 linux-3.6.11.tar.xz 95af6d3167cf6fc9eb983aa025666c83acbd9a809a18cfd7ae086a2e9c820578484b6399973bde3d5d45a6a32253e687ecce06a63b765d30581be5d207f7f934 -md5 linux-3.6.11.tar.bz2 3ff269b161f6cc319aa220b16963e213 -sha1 linux-3.6.11.tar.bz2 94e05525358ba415dad7a9080e66906464e0e538 -sha256 linux-3.6.11.tar.bz2 3f875760971bcabc6b79069bd1c226bd23a11e236943a74232545f3076b2b9bf -sha512 linux-3.6.11.tar.bz2 ccacb60b43d38a26246751304802cc1be4c302236c570cc67f98a6aef4313a812a794b31df1bdfa740048d4d1a6391bfd3db8ab6aede8f5142ee07b27ef876e3 -md5 linux-3.6.11.tar.gz fa949cd75325128713d8fb918b731008 -sha1 linux-3.6.11.tar.gz 6293b4b8bda880657d44cc4a6d491f5fa2a23efa -sha256 linux-3.6.11.tar.gz 3f3ade1de1375fd1709364277fc96431af801da875ccdf92f1aa36d7a4a0b320 -sha512 linux-3.6.11.tar.gz 99125204e21bb77f34e2471fd883c6f6ca10311a0cc0253b4b854612449494fea431997eec6a7a9e62a8e675c38012f727d2adf7c3487886c1f155f495ffb29f diff --git a/packages/linux/3.6.11/version.desc b/packages/linux/3.6.11/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.6.11/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.7.10/chksum b/packages/linux/3.7.10/chksum deleted file mode 100644 index 13e60ce..0000000 --- a/packages/linux/3.7.10/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.7.10.tar.xz 09624c3702107076efcac5e1cd8a18ec -sha1 linux-3.7.10.tar.xz b57ae3298e647ae07edb24e2c1d622a32a6f100c -sha256 linux-3.7.10.tar.xz 9b28aff18d31880ff08a14e0ab26874b5889e2cab02eb5d2160caa923e200bd1 -sha512 linux-3.7.10.tar.xz 9cd95531e6327ab7c994adcfa23f223a0548cb5fd3337cea11a740655dcb2ebdcb151784c3e1833024a3e9e7bf67d20d04d9f9778048a8a408f521fc3c4cd929 -md5 linux-3.7.10.tar.bz2 56ec294a922b6112a1ef129668f38a83 -sha1 linux-3.7.10.tar.bz2 6b8c3ba94bc19cfe0e22550e71b28c2d2f5d957f -sha256 linux-3.7.10.tar.bz2 2abae8000b07416984283d4549a30f676e5449b2d65fb95997392b8d5687965e -sha512 linux-3.7.10.tar.bz2 91f173f64a6ba5175c002d7a3ca46271e77703dec1ea831743c7f2b7317c3ba5461d45e571340042bb67d39673841f06b61f6a860f09bdb1ec26762eb81e443a -md5 linux-3.7.10.tar.gz 69c5a3362c934f0589d62ab2100ba4e0 -sha1 linux-3.7.10.tar.gz c0279acf686d0513790fcab250dd048c0eb03a9e -sha256 linux-3.7.10.tar.gz 9eb40832ca0a39ebaab9e19bfcad943eb2d66d647c10a553bc7edc1c50df2a09 -sha512 linux-3.7.10.tar.gz d60e0d590cbd2d42a04cfc7471c4808137e573142bd4bc877e1a914c354e141fb498aaf38c20f20ae9af0901c3517b2e2642c99cdf5c5c55b736c689ce1f02ae diff --git a/packages/linux/3.7.10/version.desc b/packages/linux/3.7.10/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.7.10/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.8.13/chksum b/packages/linux/3.8.13/chksum deleted file mode 100644 index ccba4d6..0000000 --- a/packages/linux/3.8.13/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.8.13.tar.xz 2af19d06cd47ec459519159cdd10542d -sha1 linux-3.8.13.tar.xz 3e26b842628aef2d9308bdd377707b9e2d7cad7a -sha256 linux-3.8.13.tar.xz 7cd135cc1791680553cc40bf23ce11ab24b84a3ece33d810950e089090d4f65f -sha512 linux-3.8.13.tar.xz 295fdbda52f1bbd245dc4f1927a0c58600257173da0540b09878ff59a1a1b9970b4442adb4214944e5674d6c7258340d0023ebfeedd876330af104a0b0be4caa -md5 linux-3.8.13.tar.bz2 db03acc21c41fc6bea8ddf7a77fc83aa -sha1 linux-3.8.13.tar.bz2 6aa6d450e8d315fd6d61ca8fd2107ec9eeabec56 -sha256 linux-3.8.13.tar.bz2 7107a2ea655bde36bc470ac87707771801076e99919a6497f1eec494c70b0f99 -sha512 linux-3.8.13.tar.bz2 4e926ca3d74baf4438f897a1dd4b0c202c928c50cfcf128e08a52b1fbab16b3352760e2efd47f3b25fd5fd9d89b1f9d1e987db2bf06f4e4f627f02451fa4243d -md5 linux-3.8.13.tar.gz a56b525698b751a3f20ced79fe210c81 -sha1 linux-3.8.13.tar.gz dfbb9d2ff702d9023da6a7971d31502f3ceaa20f -sha256 linux-3.8.13.tar.gz 182d7ee605f852b797c5635dd8a1e6815ad2bf45803fa222f48a094c64c886fe -sha512 linux-3.8.13.tar.gz 1810895adca9c0b2b2bc27074c3b185b74de9cb62b0db4c1948149ed87617f127b1ed6060c03f4bcce0efded1257405a90feb1de1b461cf32c8bf9b047ce2e74 diff --git a/packages/linux/3.8.13/version.desc b/packages/linux/3.8.13/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.8.13/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/3.9.11/chksum b/packages/linux/3.9.11/chksum deleted file mode 100644 index 31b1f4a..0000000 --- a/packages/linux/3.9.11/chksum +++ /dev/null @@ -1,12 +0,0 @@ -md5 linux-3.9.11.tar.xz edbf88eb7f7d34dbd5d3887726790755 -sha1 linux-3.9.11.tar.xz 45a4e9068a63a617188ee4037c4a9a741f68de8c -sha256 linux-3.9.11.tar.xz d4b9e522925d9b1b3fd130c8b7690ef6af4faf118fc4c5e28dfcbb18de3cb234 -sha512 linux-3.9.11.tar.xz 6572c076ad24f878a5cd167228b9a7a0328ef8759cc4f16c7abecc85e4512f3e56ab16420be4c807620f9570e8b5122a47be64ffcac4882bb3eff20093f3e15f -md5 linux-3.9.11.tar.bz2 8aaef1c383cb504010d9e59667251ef6 -sha1 linux-3.9.11.tar.bz2 ea8eb06973e06be8d21572494f62a26882c8d381 -sha256 linux-3.9.11.tar.bz2 4f9b6dddae1d177f80667df5f6d966104e228f931cd4ce6798b28bfcecfd2621 -sha512 linux-3.9.11.tar.bz2 fbe96dfd2814b41b755979f488160a5a7ceb94e8de517f658944b895f739ca35c425fa08b58af0974363ef2a502d8f4f9936e94080760ef5e67f1dd0f1dce9d8 -md5 linux-3.9.11.tar.gz a09ae269cc7cccdfd5f3f330da9b587f -sha1 linux-3.9.11.tar.gz 6cc21ffb24bc2e64521d365ba23dcb8a42359f43 -sha256 linux-3.9.11.tar.gz ba01cf752a227a6936a35d0a0eacd480d47e08bb9e59144ee809fc8c029d3200 -sha512 linux-3.9.11.tar.gz 52bccc5644dc337af210235bb4f54419be8029c4641c3ca8b699c768b5d30f3c674ad0536944499d8514ed1a25a1612729871b02303930eddf220b47779e8c2d diff --git a/packages/linux/3.9.11/version.desc b/packages/linux/3.9.11/version.desc deleted file mode 100644 index 40f81bc..0000000 --- a/packages/linux/3.9.11/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/linux/4.0.9/chksum b/packages/linux/4.0.9/chksum deleted file mode 100644 index 62d4c55..0000000 --- a/packages/linux/4.0.9/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.0.9.tar.xz 40fc5f6e2d718e539b45e6601c71985b -sha1 linux-4.0.9.tar.xz 355d1ab33bfea50442b54b7a594ae4d015ea47e0 -sha256 linux-4.0.9.tar.xz 5dc3c6793f91987d6bc7726e07259802869ee2466701c6ac2325b5ef145d824c -sha512 linux-4.0.9.tar.xz afb56533744fa3cba7d682ee8859a8a9767877aaef7a345b23b3ce21d10dd8273c14d020809eb898f497aefa48202f7c8b2f7e042c60c397e959cc8c8f622300 -md5 linux-4.0.9.tar.gz 65baf33c61c11b92da0308ea4a06dc53 -sha1 linux-4.0.9.tar.gz 6039a8d955a410ed0383293e8ca7643783fdeb3a -sha256 linux-4.0.9.tar.gz 4f6992af7278f4af6c33f183352e1602b38a2e50e541f4d0a4e41f0acc2be37d -sha512 linux-4.0.9.tar.gz 4b0a73ef173319b318fb49c22649ad21f189429ad2a99c8f0bd8f6d738f3a8cb22e2196d2b8f6f0c0c0723c1ea63f01796b84cbb794a1512a4d455d68007ba38 diff --git a/packages/linux/4.0.9/version.desc b/packages/linux/4.0.9/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.0.9/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.2.8/chksum b/packages/linux/4.2.8/chksum deleted file mode 100644 index f302268..0000000 --- a/packages/linux/4.2.8/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.2.8.tar.xz 01fb1fdb7ad3f7be7e63eabadf2785af -sha1 linux-4.2.8.tar.xz b97bee7c8db5c4da53e754b8bad8ff9646016a73 -sha256 linux-4.2.8.tar.xz 710feac762ac51171f80d1db132126405a01ba948e74c1e61c16a407f3e9c5f6 -sha512 linux-4.2.8.tar.xz 738e6684f824b4fbcc34edb8b534a4fd0847e3ad170c4ef3a5ca3c29b95de0604a168098ee60e1ca61b72e125f22878b578e012047dcb65455dc99e4551209ba -md5 linux-4.2.8.tar.gz 547066581a05a25450aac61c808b2559 -sha1 linux-4.2.8.tar.gz b7841f493b654e8d8cd4106257f89fad7c86dd3b -sha256 linux-4.2.8.tar.gz 5ce9a876af590d9227d6ad7fa980fb4e99171b276edaaf74d29d8f2d4639f965 -sha512 linux-4.2.8.tar.gz 54d7cfb4a06be426921e157a6d1c8c5c5d1a9714d45222e012b874cf0843e79ccd79b75159aaf31e793619a181cc7867c3612abb31ded713b60b1fa0e0157f90 diff --git a/packages/linux/4.2.8/version.desc b/packages/linux/4.2.8/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.2.8/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.3.6/chksum b/packages/linux/4.3.6/chksum deleted file mode 100644 index dafe968..0000000 --- a/packages/linux/4.3.6/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.3.6.tar.xz d8292afffaa02e65f5dad87c916b59ce -sha1 linux-4.3.6.tar.xz 92b1eff11806bd03b316ae3d9c66bab253fef52e -sha256 linux-4.3.6.tar.xz e0a3745d2fbc5cb2d5d18bd4493c750735b9c1a92d6dfae3cce1cbe9c947ad71 -sha512 linux-4.3.6.tar.xz 1e2dc0d9e4da183486992808d6b31c8c3484760295c924bbb4af38ff4f849e941e525c7c586bbd8184504e87b40970da70ba0403ee849455103efde1420addd0 -md5 linux-4.3.6.tar.gz a322999143dcb741d1b5d791a3325abd -sha1 linux-4.3.6.tar.gz 407c465812dd128c93155da1213b754b8181d549 -sha256 linux-4.3.6.tar.gz 9edfee496835b10ca301991c03ba81da91c08d18b092feedd8c19e010ed7e8f7 -sha512 linux-4.3.6.tar.gz 5de225f70ec8d2f198d147c721830752d2f92b07d9f46ac6a3fd06c74df13c4e15b3c7859cdb2b762636897befc27474e101429318150e90a9d361e5e7e2202c diff --git a/packages/linux/4.3.6/version.desc b/packages/linux/4.3.6/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.3.6/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.5.7/chksum b/packages/linux/4.5.7/chksum deleted file mode 100644 index bd39291..0000000 --- a/packages/linux/4.5.7/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.5.7.tar.xz 8b673ab3c2c087f5bee879995e5a8c0a -sha1 linux-4.5.7.tar.xz 51b9f29e62babd08aa031e58e20d9458b88fa6b0 -sha256 linux-4.5.7.tar.xz c070a62095fe830e7bfdb159e577216e3ed237ad3ab9a2590f53cde4e881fb2b -sha512 linux-4.5.7.tar.xz 42bce96dfb00237ed5d10a8c849de79dccd4620ca7d69e3de43a8918068a695b9271bd6ae80ae7c4a93fbbca0c1c27d4e7aa9e87cd206a6ff885baafb01eadb2 -md5 linux-4.5.7.tar.gz 12df02ab32f9b5289a7ad3acf8e8c087 -sha1 linux-4.5.7.tar.gz 371bc1360192fc740e609e647135b898fadec78b -sha256 linux-4.5.7.tar.gz 5c80c228bdfad9c29bf784d52863839a72529c4250002be2f522df96420c9214 -sha512 linux-4.5.7.tar.gz b0485a36eaf8d30fd4f42edd3d4fff57c1343f1419caaa799a4ed0e16be88ef46f7c9f9637a0f13a777cc043ff7e1edb63227c6a92cfe30e623c59026906ed8b diff --git a/packages/linux/4.5.7/version.desc b/packages/linux/4.5.7/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.5.7/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.6.7/chksum b/packages/linux/4.6.7/chksum deleted file mode 100644 index 50d0773..0000000 --- a/packages/linux/4.6.7/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.6.7.tar.xz 9e0b0695a9e2a1ae9192505521a547e1 -sha1 linux-4.6.7.tar.xz df5f897075d46c18484dc847dc8b7bc944b567ae -sha256 linux-4.6.7.tar.xz d09dd7327a9d16bc703524f3eecfd93953fd0b48db5359c4b3884c69f065ea80 -sha512 linux-4.6.7.tar.xz 00a3b3b0a2d09a63c065d382f5d2e54a4bfc2d44ff2052829780daeaf755e41a19e6df187f7a46bd2140db67685dfa376a5fd54dcdd490e1cef4012e23981d53 -md5 linux-4.6.7.tar.gz 09603c3a9a4086536f700406126584eb -sha1 linux-4.6.7.tar.gz 36a322b7b30fd917ab0628f6e3927fba7d01ff95 -sha256 linux-4.6.7.tar.gz b3e0a145c2dbaef6b9865bfdb61c2a091a1a062252533a43c218de1d4712536e -sha512 linux-4.6.7.tar.gz 94112286151d7c3a661646e3b9967ea3b9e2f4983f1fcf15c9cc19bb401c62f70546f6e649447382eedf1c423d4f9964faa70301596a9de0fe68d7137c818ac4 diff --git a/packages/linux/4.6.7/version.desc b/packages/linux/4.6.7/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.6.7/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.7.10/chksum b/packages/linux/4.7.10/chksum deleted file mode 100644 index 57c27df..0000000 --- a/packages/linux/4.7.10/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.7.10.tar.xz 51516925b89b1dfae0d88935996b9e76 -sha1 linux-4.7.10.tar.xz 20d425fa9850db9d1961106be800a6e7eb027c07 -sha256 linux-4.7.10.tar.xz 92459ba55210522ac96408c0049ca2a9a3147e7a690c70fb4b536526412b59dc -sha512 linux-4.7.10.tar.xz 4b79b28af1bfca400a09a9f4c17a4878e992dc1caa74c3a819a5834075ae19679a6da2b6dc50c8aa1851cfa2dd09bd673fe0843d3b06c0cf363dcdf49d98f350 -md5 linux-4.7.10.tar.gz b3accc6e2060c6ce4bc5d5b06859be1c -sha1 linux-4.7.10.tar.gz e2e6796843a296f1c87349abb6a086fc932e2de1 -sha256 linux-4.7.10.tar.gz c314cdfac8e3526201b2911a36fd18bd80f15aead5ca4dcce08d07eb463b04d3 -sha512 linux-4.7.10.tar.gz 6b34747cad67db14c2d8795dcbae061f79bc4d81576e963b519a01048a1d7a3a0c60f863f45b7affea325b7f5f6093cc7cbec3c79c3c254d186a8c2279bdd3a0 diff --git a/packages/linux/4.7.10/version.desc b/packages/linux/4.7.10/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.7.10/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/linux/4.8.17/chksum b/packages/linux/4.8.17/chksum deleted file mode 100644 index bc025af..0000000 --- a/packages/linux/4.8.17/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 linux-4.8.17.tar.xz 53568eab38c099ffaf4b88ba82ad4031 -sha1 linux-4.8.17.tar.xz 96f3ae79145be0d8c822249d1248458d3d371564 -sha256 linux-4.8.17.tar.xz eabae4a85799287e15b23f3812864913ef703a03bfb4aec2bce23fbc97c160fe -sha512 linux-4.8.17.tar.xz 79b423529cdd6212654e627d06983a180a7403abfc264f89cbf96d765cad7f936181b111458ea9780de09c000fe6b14be735dbecd3c4ccf9608f71499b0f03cc -md5 linux-4.8.17.tar.gz 47d0027b5d6a8885170734bf36d43899 -sha1 linux-4.8.17.tar.gz d4ff3d67af50c38307c8b3edf60d83d15252a5fa -sha256 linux-4.8.17.tar.gz 9874bebaeef1902d5c4723cf0f414e9ff534a46bac00e1546154325247cd5938 -sha512 linux-4.8.17.tar.gz af71dc8cdbb172461850a51143b82d1de37f970d799b2f89501d1ff69fd9f0bc7b443280471d24ac6e66eab0cb3f5eb90832f4470d5e194093bb144067ecb8df diff --git a/packages/linux/4.8.17/version.desc b/packages/linux/4.8.17/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/linux/4.8.17/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From 03ecafa189a12de3e6703e19149f8065ed8c3405 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: ltrace: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - ltrace-0.5.3 Signed-off-by: Chris Packham diff --git a/packages/ltrace/0.5.3/0000-allow-cross-compile.patch b/packages/ltrace/0.5.3/0000-allow-cross-compile.patch deleted file mode 100644 index 6515ebd..0000000 --- a/packages/ltrace/0.5.3/0000-allow-cross-compile.patch +++ /dev/null @@ -1,84 +0,0 @@ -This patch is courtesy of OpenEmbedded, by Khem Raj - -http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1 - ---- - common.h | 4 ++++ - configure | 11 ++++------- - debug.h | 4 +++- - 3 files changed, 11 insertions(+), 8 deletions(-) - ---- a/common.h -+++ b/common.h -@@ -1,3 +1,5 @@ -+#ifndef COMMON_H -+#define COMMON_H - #include - #include - #include -@@ -251,3 +253,5 @@ - #if 0 /* not yet */ - extern int umoven(Process * proc, void * addr, int len, void * laddr); - #endif -+#endif -+ ---- a/configure -+++ b/configure -@@ -30,7 +30,7 @@ - return cplus_demangle(); - } - EOF --if gcc conftest.c -liberty 2>/dev/null -+if $CC conftest.c -liberty 2>/dev/null - then - HAVE_LIBIBERTY=1 - echo "yes" -@@ -48,7 +48,7 @@ - return __cxa_demangle(); - } - EOF --if gcc conftest.c -lsupc++ 2>/dev/null -+if $CC conftest.c -lsupc++ 2>/dev/null - then - HAVE_LIBSUPC__=1 - echo "yes" -@@ -67,7 +67,7 @@ - return 0; - } - EOF --if gcc conftest.c 2>/dev/null -+if $CC conftest.c 2>/dev/null - then - HAVE_ELF_C_READ_MMAP=1 - echo "yes" -@@ -77,15 +77,12 @@ - fi - rm -f conftest.c a.out - --CC=gcc --CPPFLAGS=' -I /usr/include/libelf' - CFLAGS='-g -O2' - LIBS='-lelf -lsupc++ -liberty ' --INSTALL='/usr/bin/install -c' -+INSTALL='install -c' - iquote='-iquote ' - iquoteend='' - --prefix=/usr/local - sysconfdir='${prefix}/etc' - bindir='${prefix}/bin' - mandir='${prefix}/share/man' ---- a/debug.h -+++ b/debug.h -@@ -1,3 +1,5 @@ -+#ifndef DEBUG_H -+#define DEBUG_H - #include - - /* debug levels: -@@ -14,4 +16,4 @@ - int xinfdump(long, void *, int); - - # define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr) -- -+#endif diff --git a/packages/ltrace/0.5.3/0001-alpha-support.patch b/packages/ltrace/0.5.3/0001-alpha-support.patch deleted file mode 100644 index 8a7710c..0000000 --- a/packages/ltrace/0.5.3/0001-alpha-support.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- - sysdeps/linux-gnu/Makefile | 1 + - 1 file changed, 1 insertion(+) - ---- a/sysdeps/linux-gnu/Makefile -+++ b/sysdeps/linux-gnu/Makefile -@@ -2,6 +2,7 @@ - -e s/i.86/i386/ \ - -e s/sun4u/sparc64/ \ - -e s/sparc64/sparc/ \ -+ -e s/alpha.*/alpha/ \ - -e s/arm.*/arm/ \ - -e s/sa110/arm/ \ - -e s/ppc64/ppc/ \ diff --git a/packages/ltrace/0.5.3/0002-debian-ltrace_0.5.3-2.patch b/packages/ltrace/0.5.3/0002-debian-ltrace_0.5.3-2.patch deleted file mode 100644 index 651230c..0000000 --- a/packages/ltrace/0.5.3/0002-debian-ltrace_0.5.3-2.patch +++ /dev/null @@ -1,86 +0,0 @@ -Debian patch courtesy of the Debian ltrace maintainer Juan Cespedes - ---- - sysdeps/linux-gnu/arm/breakpoint.c | 7 +------ - sysdeps/linux-gnu/breakpoint.c | 5 +++-- - sysdeps/linux-gnu/ia64/breakpoint.c | 5 +---- - sysdeps/linux-gnu/ia64/plt.c | 1 + - sysdeps/linux-gnu/ia64/regs.c | 1 - - 5 files changed, 6 insertions(+), 13 deletions(-) - ---- a/sysdeps/linux-gnu/breakpoint.c -+++ b/sysdeps/linux-gnu/breakpoint.c -@@ -6,8 +6,6 @@ - #include "common.h" - #include "arch.h" - --static unsigned char break_insn[] = BREAKPOINT_VALUE; -- - #ifdef ARCH_HAVE_ENABLE_BREAKPOINT - extern void arch_enable_breakpoint(pid_t, Breakpoint *); - void -@@ -20,6 +18,9 @@ - arch_enable_breakpoint(pid, sbp); - } - #else -+ -+static unsigned char break_insn[] = BREAKPOINT_VALUE; -+ - void - enable_breakpoint(pid_t pid, Breakpoint *sbp) { - unsigned int i, j; ---- a/sysdeps/linux-gnu/arm/breakpoint.c -+++ b/sysdeps/linux-gnu/arm/breakpoint.c -@@ -24,10 +24,7 @@ - - #include - #include "config.h" --#include "arch.h" --#include "options.h" --#include "output.h" --#include "debug.h" -+#include "common.h" - - void - arch_enable_breakpoint(pid_t pid, Breakpoint *sbp) { -@@ -59,8 +56,6 @@ - void - arch_disable_breakpoint(pid_t pid, const Breakpoint *sbp) { - unsigned int i, j; -- const unsigned char break_insn[] = BREAKPOINT_VALUE; -- const unsigned char thumb_break_insn[] = THUMB_BREAKPOINT_VALUE; - - debug(1, "arch_disable_breakpoint(%d,%p)", pid, sbp->addr); - ---- a/sysdeps/linux-gnu/ia64/plt.c -+++ b/sysdeps/linux-gnu/ia64/plt.c -@@ -1,4 +1,5 @@ - #include -+#include - #include "common.h" - - /* A bundle is 128 bits */ ---- a/sysdeps/linux-gnu/ia64/breakpoint.c -+++ b/sysdeps/linux-gnu/ia64/breakpoint.c -@@ -6,10 +6,7 @@ - - #include - #include --#include "arch.h" --#include "options.h" --#include "output.h" --#include "debug.h" -+#include "common.h" - - static long long - extract_bit_field(char *bundle, int from, int len) { ---- a/sysdeps/linux-gnu/ia64/regs.c -+++ b/sysdeps/linux-gnu/ia64/regs.c -@@ -7,7 +7,6 @@ - #include - - #include --#include "debug.h" - #include "common.h" - - void * diff --git a/packages/ltrace/0.5.3/0003-add-sysdep.patch b/packages/ltrace/0.5.3/0003-add-sysdep.patch deleted file mode 100644 index 8f17f9d..0000000 --- a/packages/ltrace/0.5.3/0003-add-sysdep.patch +++ /dev/null @@ -1,19 +0,0 @@ -This patch is courtesy of OpenEmbedded, by Khem Raj - -http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1 - ---- - Makefile.in | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -39,6 +39,8 @@ - libltrace.a: sysdeps/sysdep.o $(OBJ) - $(AR) rcv $@ $^ - -+$(OBJ): sysdeps/sysdep.o -+ - sysdeps/sysdep.o: dummy - $(MAKE) -C sysdeps/$(OS) - diff --git a/packages/ltrace/0.5.3/0004-mips.patch b/packages/ltrace/0.5.3/0004-mips.patch deleted file mode 100644 index f477fa7..0000000 --- a/packages/ltrace/0.5.3/0004-mips.patch +++ /dev/null @@ -1,40 +0,0 @@ -This patch is courtesy of OpenEmbedded, by Khem Raj - -http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1 - ---- - handle_event.c | 3 ++- - sysdeps/linux-gnu/mipsel/plt.c | 2 +- - sysdeps/linux-gnu/mipsel/regs.c | 1 - - 3 files changed, 3 insertions(+), 3 deletions(-) - ---- a/sysdeps/linux-gnu/mipsel/plt.c -+++ b/sysdeps/linux-gnu/mipsel/plt.c -@@ -1,4 +1,4 @@ --#include -+#include "debug.h" - #include - #include - #include "common.h" ---- a/sysdeps/linux-gnu/mipsel/regs.c -+++ b/sysdeps/linux-gnu/mipsel/regs.c -@@ -4,7 +4,6 @@ - #include - #include - #include --#include - - #include "common.h" - #include "mipsel.h" ---- a/handle_event.c -+++ b/handle_event.c -@@ -573,7 +573,8 @@ - void *old_addr; - struct library_symbol *sym= event->proc->callstack[i].c_un.libfunc; - assert(sym); -- old_addr = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym))->addr; -+ struct Breakpoint *tbp = dict_find_entry(event->proc->breakpoints, sym2addr(event->proc, sym)); -+ old_addr = tbp->addr; - addr=sym2addr(event->proc,sym); - assert(old_addr !=0 && addr !=0); - if(addr != old_addr){ diff --git a/packages/ltrace/0.5.3/0005-mips-remove-CP.patch b/packages/ltrace/0.5.3/0005-mips-remove-CP.patch deleted file mode 100644 index 5ba3340..0000000 --- a/packages/ltrace/0.5.3/0005-mips-remove-CP.patch +++ /dev/null @@ -1,18 +0,0 @@ -This patch is courtesy of OpenEmbedded, by Khem Raj - -http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=b85b779688f0abc389e3c25d06b54de8b86385c1 - ---- - sysdeps/linux-gnu/mipsel/trace.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/sysdeps/linux-gnu/mipsel/trace.c -+++ b/sysdeps/linux-gnu/mipsel/trace.c -@@ -127,7 +127,6 @@ - return ret; - } else { - // If we need this, I think we can look at [sp+16] for arg_num==4. -- CP; - return 0; - } - } diff --git a/packages/ltrace/0.5.3/0006-allow-configurable-arch.patch b/packages/ltrace/0.5.3/0006-allow-configurable-arch.patch deleted file mode 100644 index 171d7dd..0000000 --- a/packages/ltrace/0.5.3/0006-allow-configurable-arch.patch +++ /dev/null @@ -1,48 +0,0 @@ -This patch is to ensure the proper ARCH is selected when cross compiling. Make -sure to call the configure script with, e.g., HOST=arm ./configure to select -the arm sysdeps. - - Joachim Nilsson - ---- - Makefile.in | 6 ++++-- - configure | 2 +- - sysdeps/linux-gnu/Makefile | 2 +- - 3 files changed, 6 insertions(+), 4 deletions(-) - ---- a/configure -+++ b/configure -@@ -110,7 +110,7 @@ - # - # Makefile.in -> Makefile - # --x_subst_vars='PACKAGE_VERSION HOST_OS INSTALL CC CPPFLAGS CFLAGS LDFLAGS LIBS iquote iquoteend prefix sysconfdir mandir docdir' -+x_subst_vars='PACKAGE_VERSION HOST HOST_OS INSTALL CC CPPFLAGS CFLAGS LDFLAGS LIBS iquote iquoteend prefix sysconfdir mandir docdir' - - for i in $x_subst_vars - do ---- a/Makefile.in -+++ b/Makefile.in -@@ -1,10 +1,12 @@ - # - # ltrace's Makefile.in - # -- -+MY_TARGET = @HOST@ -+ifdef MY_TARGET -+ARCH = $(MY_TARGET) -+endif - #OS := $(shell uname -s) - OS := @HOST_OS@ -- - TOPDIR = $(shell pwd) - - prefix = @prefix@ ---- a/sysdeps/linux-gnu/Makefile -+++ b/sysdeps/linux-gnu/Makefile -@@ -1,4 +1,4 @@ --ARCH := $(shell uname -m | sed \ -+ARCH ?= $(shell uname -m | sed \ - -e s/i.86/i386/ \ - -e s/sun4u/sparc64/ \ - -e s/sparc64/sparc/ \ diff --git a/packages/ltrace/0.5.3/0007-fix-missing-ptrace-defines.patch b/packages/ltrace/0.5.3/0007-fix-missing-ptrace-defines.patch deleted file mode 100644 index f4e31d9..0000000 --- a/packages/ltrace/0.5.3/0007-fix-missing-ptrace-defines.patch +++ /dev/null @@ -1,85 +0,0 @@ -This patch tries to fix the issue when PTRACE_EVENT_FORK is not found in the standard -system headers. The begininngs of this was already in place in trace.c, this patch -only takes that idea and puts it in a shared include file for trace.c *and* events.c. -The latter of which otherwise fails to build on Arm. - - Joachim Nilsson - ---- - sysdeps/linux-gnu/events.c | 3 +-- - sysdeps/linux-gnu/ppc/plt.c | 1 + - sysdeps/linux-gnu/trace.c | 3 +-- - sysdeps/linux-gnu/trace.h | 32 ++++++++++++++++++++++++++++++++ - 4 files changed, 35 insertions(+), 4 deletions(-) - ---- a/sysdeps/linux-gnu/events.c -+++ b/sysdeps/linux-gnu/events.c -@@ -7,9 +7,8 @@ - #include - #include - #include --#include - --#include "common.h" -+#include "trace.h" - - static Event event; - ---- a/sysdeps/linux-gnu/trace.c -+++ b/sysdeps/linux-gnu/trace.c -@@ -5,10 +5,9 @@ - #include - #include - #include --#include "ptrace.h" - #include - --#include "common.h" -+#include "trace.h" - - /* If the system headers did not provide the constants, hard-code the normal - values. */ ---- /dev/null -+++ b/sysdeps/linux-gnu/trace.h -@@ -0,0 +1,32 @@ -+/* If the system headers did not provide the constants, hard-code the normal values. */ -+#ifndef __SYSDEPS_TRACE_H__ -+#define __SYSDEPS_TRACE_H__ -+ -+#include "ptrace.h" -+#include "common.h" -+ -+#ifndef PTRACE_EVENT_FORK -+#warning PTRACE_EVENT_FORK not found... redefining. -+#define PTRACE_OLDSETOPTIONS 21 -+#define PTRACE_SETOPTIONS 0x4200 -+#define PTRACE_GETEVENTMSG 0x4201 -+ -+/* options set using PTRACE_SETOPTIONS */ -+#define PTRACE_O_TRACESYSGOOD 0x00000001 -+#define PTRACE_O_TRACEFORK 0x00000002 -+#define PTRACE_O_TRACEVFORK 0x00000004 -+#define PTRACE_O_TRACECLONE 0x00000008 -+#define PTRACE_O_TRACEEXEC 0x00000010 -+#define PTRACE_O_TRACEVFORKDONE 0x00000020 -+#define PTRACE_O_TRACEEXIT 0x00000040 -+ -+/* Wait extended result codes for the above trace options. */ -+#define PTRACE_EVENT_FORK 1 -+#define PTRACE_EVENT_VFORK 2 -+#define PTRACE_EVENT_CLONE 3 -+#define PTRACE_EVENT_EXEC 4 -+#define PTRACE_EVENT_VFORK_DONE 5 -+#define PTRACE_EVENT_EXIT 6 -+ -+#endif /* PTRACE_EVENT_FORK */ -+#endif /* __SYSDEPS_TRACE_H__ */ ---- a/sysdeps/linux-gnu/ppc/plt.c -+++ b/sysdeps/linux-gnu/ppc/plt.c -@@ -1,5 +1,6 @@ - #include - #include "common.h" -+#include "ptrace.h" - - GElf_Addr - arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) { diff --git a/packages/ltrace/0.5.3/0008-lib-supcc.patch b/packages/ltrace/0.5.3/0008-lib-supcc.patch deleted file mode 100644 index cbb1975..0000000 --- a/packages/ltrace/0.5.3/0008-lib-supcc.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - configure | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/configure -+++ b/configure -@@ -78,7 +78,10 @@ - rm -f conftest.c a.out - - CFLAGS='-g -O2' --LIBS='-lelf -lsupc++ -liberty ' -+LIBS='-lelf' -+[ -n "$HAVE_LIBSUPC__" ] && LIBS="$LIBS -lsupc++" -+[ -n "$HAVE_LIBIBERTY" ] && LIBS="$LIBS -liberty" -+ - INSTALL='install -c' - iquote='-iquote ' - iquoteend='' diff --git a/packages/ltrace/0.5.3/0009-libltrace-genindex.patch b/packages/ltrace/0.5.3/0009-libltrace-genindex.patch deleted file mode 100644 index 929738f..0000000 --- a/packages/ltrace/0.5.3/0009-libltrace-genindex.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -39,7 +39,7 @@ - $(CC) $(LDFLAGS) $^ $(LIBS) -o $@ - - libltrace.a: sysdeps/sysdep.o $(OBJ) -- $(AR) rcv $@ $^ -+ $(AR) rscv $@ $^ - - $(OBJ): sysdeps/sysdep.o - diff --git a/packages/ltrace/0.5.3/0010-ar-configurable.patch b/packages/ltrace/0.5.3/0010-ar-configurable.patch deleted file mode 100644 index 99edbce..0000000 --- a/packages/ltrace/0.5.3/0010-ar-configurable.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - Makefile.in | 1 + - configure | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - ---- a/Makefile.in -+++ b/Makefile.in -@@ -15,6 +15,7 @@ - mandir = @mandir@ - docdir = $(prefix)/share/doc/ltrace - -+AR = @AR@ - CC = @CC@ - CFLAGS = -Wall @CFLAGS@ - CPPFLAGS = -iquote $(TOPDIR) -iquote $(TOPDIR)/sysdeps/$(OS) -DSYSCONFDIR=\"$(sysconfdir)\" @CPPFLAGS@ ---- a/configure -+++ b/configure -@@ -113,7 +113,7 @@ - # - # Makefile.in -> Makefile - # --x_subst_vars='PACKAGE_VERSION HOST HOST_OS INSTALL CC CPPFLAGS CFLAGS LDFLAGS LIBS iquote iquoteend prefix sysconfdir mandir docdir' -+x_subst_vars='PACKAGE_VERSION HOST HOST_OS INSTALL AR CC CPPFLAGS CFLAGS LDFLAGS LIBS iquote iquoteend prefix sysconfdir mandir docdir' - - for i in $x_subst_vars - do diff --git a/packages/ltrace/0.5.3/0011-configure-hostos.patch b/packages/ltrace/0.5.3/0011-configure-hostos.patch deleted file mode 100644 index 9637212..0000000 --- a/packages/ltrace/0.5.3/0011-configure-hostos.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- - configure | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -15,8 +15,12 @@ - echo $PACKAGE_VERSION - - echo -n "checking HOST_OS... " --HOST_OS=$( uname -s ) --if [ "$HOST_OS" = "Linux" ] -+if [ -z "$HOST_OS" ] ; then -+ HOST_OS=$( uname -s ) -+else -+ echo -n "using preset: " -+fi -+if [ "$HOST_OS" = "Linux" -o "$HOST_OS" = "linux" ] - then - HOST_OS="linux-gnu" - fi diff --git a/packages/ltrace/0.5.3/chksum b/packages/ltrace/0.5.3/chksum deleted file mode 100644 index 30234f9..0000000 --- a/packages/ltrace/0.5.3/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 ltrace_0.5.3.orig.tar.gz 3fa7fe715ab879db08bd06d1d59fd90f -sha1 ltrace_0.5.3.orig.tar.gz d1db70ee633d04dec398df75a312343808e3bb72 -sha256 ltrace_0.5.3.orig.tar.gz 5c6627d6d5a98a92ca4661cfc16378b182cc46a9ec479ebf7e6121ee3fe2be32 -sha512 ltrace_0.5.3.orig.tar.gz acc6cbf0e28b7d887d8a8a9e493b436a383d40555a9979494cbced1c2f51592fc74242c3858f75a58fdd699549370d555752325d283326cc2b1bc8cddddab906 diff --git a/packages/ltrace/0.5.3/version.desc b/packages/ltrace/0.5.3/version.desc deleted file mode 100644 index 17de7cf..0000000 --- a/packages/ltrace/0.5.3/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.gz' -- cgit v0.10.2-6-g49f6 From a664e5b8b9fe9e80c75702c0357c8dd49fbf2862 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: make: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - make-3.81 - make-4.0 - make-4.1 Signed-off-by: Chris Packham diff --git a/packages/make/3.81/chksum b/packages/make/3.81/chksum deleted file mode 100644 index 7f68653..0000000 --- a/packages/make/3.81/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 make-3.81.tar.bz2 354853e0b2da90c527e35aabb8d6f1e6 -sha1 make-3.81.tar.bz2 41ed86d941b9c8025aee45db56c0283169dcab3d -sha256 make-3.81.tar.bz2 f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8 -sha512 make-3.81.tar.bz2 f38b8219a966b4756149a13435f5b9dc760814aa62c6add8e1760e602f65a83cd0a45ed457a5dbdd2fab91043af4de2c60e62154f95c6b625af3703c824eb653 -md5 make-3.81.tar.gz a4e9494ac6dc3f6b0c5ff75c5d52abba -sha1 make-3.81.tar.gz cd4fa5a3184176492bf0799593a8f250a728210c -sha256 make-3.81.tar.gz 16b77de9f013bcd536b7bc1efbe314223aedfe250f9063e33cbb4dfd347215a2 -sha512 make-3.81.tar.gz 2d5492ba95cc423d8c6b91dd92776ed57e807def18acb647186e01af28a81e06d37490887f75a99a6aae498c51fe68645dbe9cd145f6c482f1ce2a47385b24e8 diff --git a/packages/make/3.81/version.desc b/packages/make/3.81/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/make/3.81/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/make/4.0/chksum b/packages/make/4.0/chksum deleted file mode 100644 index cbb2a51..0000000 --- a/packages/make/4.0/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 make-4.0.tar.bz2 571d470a7647b455e3af3f92d79f1c18 -sha1 make-4.0.tar.bz2 c819622dc84e2290c351646b8a0ec4df0df12bb6 -sha256 make-4.0.tar.bz2 e60686c7afede62cc8c86ad3012cf081ea4887daf9d223ce7115703b2bb2dbdb -sha512 make-4.0.tar.bz2 82de265963cd08701491e02a4917cd2097762657257a9508119e5847050d0cb15580c163159463e822860435c5910190677d8e4aba644ba75df2895f26117376 -md5 make-4.0.tar.gz b5e558f981326d9ca1bfdb841640721a -sha1 make-4.0.tar.gz b092020919f74d56118eafac2c202f25ff3b6e59 -sha256 make-4.0.tar.gz fc42139fb0d4b4291929788ebaf77e2a4de7eaca95e31f3634ef7d4932051f69 -sha512 make-4.0.tar.gz bc5083937a6cf473be12c0105b2064e546e1765cfc8d3882346cd50e2f3e967acbc5a679b861da07d32dce833d6b55e9c812fe3216cf6db7c4b1f3c232339c88 diff --git a/packages/make/4.0/version.desc b/packages/make/4.0/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/make/4.0/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' diff --git a/packages/make/4.1/chksum b/packages/make/4.1/chksum deleted file mode 100644 index 403aa89..0000000 --- a/packages/make/4.1/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 make-4.1.tar.bz2 57a7a224a822f94789a587ccbcedff69 -sha1 make-4.1.tar.bz2 0d701882fd6fd61a9652cb8d866ad7fc7de54d58 -sha256 make-4.1.tar.bz2 0bc7613389650ee6a24554b52572a272f7356164fd2c4132b0bcf13123e4fca5 -sha512 make-4.1.tar.bz2 3fcaf06660b7a5019937b81ee69fe54cdfe0a24d66286fc5cc6a34fa996d76dfe6fd5bc49ee59b727ae2b24ddca261ada0fdb5873ba2b38dcc63647ad3cdb193 -md5 make-4.1.tar.gz 654f9117957e6fa6a1c49a8f08270ec9 -sha1 make-4.1.tar.gz 6379dc729d757971e31c8267bd5e51f6d598090e -sha256 make-4.1.tar.gz 9fc7a9783d3d2ea002aa1348f851875a2636116c433677453cc1d1acc3fc4d55 -sha512 make-4.1.tar.gz 6d8835213bf360d29a8a98b33fe6759cd4de95af7666a85fb82a12497a44e5207f843cac12ae300d1a8d73cdfc35e6fd6ac86c34bef741fa0e25d970fc15d369 diff --git a/packages/make/4.1/version.desc b/packages/make/4.1/version.desc deleted file mode 100644 index f26b5a2..0000000 --- a/packages/make/4.1/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2 .tar.gz' -- cgit v0.10.2-6-g49f6 From a3ea762c1c579034b934a569d55f32959991d667 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: mingw-w64: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - mingw-w64-v2.0.10 - mingw-w64-v3.0.0 - mingw-w64-v3.1.0 - mingw-w64-v3.2.0 - mingw-w64-v3.3.0 Signed-off-by: Chris Packham diff --git a/packages/mingw-w64/v2.0.10/0000-mingw64-malloc.patch b/packages/mingw-w64/v2.0.10/0000-mingw64-malloc.patch deleted file mode 100644 index c43b89e..0000000 --- a/packages/mingw-w64/v2.0.10/0000-mingw64-malloc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -51,7 +51,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -46,7 +46,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - diff --git a/packages/mingw-w64/v2.0.10/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v2.0.10/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index 405a6ce..0000000 --- a/packages/mingw-w64/v2.0.10/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -826,7 +826,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1021,10 +1021,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1051,7 +1051,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v2.0.10/chksum b/packages/mingw-w64/v2.0.10/chksum deleted file mode 100644 index 3fd1c02..0000000 --- a/packages/mingw-w64/v2.0.10/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mingw-w64-v2.0.10.tar.gz 2d5c8fd207ba8b263ba6e77339cf324d -sha1 mingw-w64-v2.0.10.tar.gz 9e5f68ef94f4cd6d99c3ccc0413da288d45cee00 -sha256 mingw-w64-v2.0.10.tar.gz 4c11018854e7cdd225b0a40c06ea1207144173fa59795cedd597addc1c472662 -sha512 mingw-w64-v2.0.10.tar.gz de553c590f2b86aab43f4bf8954c133d2804ac3f70aa8c1696ffffde51a17c45ea54abd57782eecfe9db2c602f7b5b1996ff952bcf11fd527494bfac0347640f diff --git a/packages/mingw-w64/v2.0.10/version.desc b/packages/mingw-w64/v2.0.10/version.desc deleted file mode 100644 index 1fbabea..0000000 --- a/packages/mingw-w64/v2.0.10/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -archive_formats='.tar.gz' -signature_format= diff --git a/packages/mingw-w64/v3.0.0/0000-mingw64-malloc.patch b/packages/mingw-w64/v3.0.0/0000-mingw64-malloc.patch deleted file mode 100644 index 8e0add1..0000000 --- a/packages/mingw-w64/v3.0.0/0000-mingw64-malloc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -26,7 +26,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -21,7 +21,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - diff --git a/packages/mingw-w64/v3.0.0/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v3.0.0/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index 0537bab..0000000 --- a/packages/mingw-w64/v3.0.0/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -820,7 +820,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1015,10 +1015,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1045,7 +1045,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v3.0.0/0002-genpeimg-explicit-fallthrough.patch b/packages/mingw-w64/v3.0.0/0002-genpeimg-explicit-fallthrough.patch deleted file mode 100644 index 5986aef..0000000 --- a/packages/mingw-w64/v3.0.0/0002-genpeimg-explicit-fallthrough.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit f9f2bd0641b89895ab42b1948f431dadf1e837a4 -Author: sezero -Date: Thu Jun 15 09:45:52 2017 +0300 - - genpeimg.c (pass_args): add a /* fallthru */ comment in the switch - after show_usage() to avoid -Wimplicit-fallthrough - (show_usage): mark the function with noreturn attribute. - ---- - mingw-w64-tools/genpeimg/src/genpeimg.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/mingw-w64-tools/genpeimg/src/genpeimg.c -+++ b/mingw-w64-tools/genpeimg/src/genpeimg.c -@@ -28,7 +28,7 @@ - int dump_information = 0; - static char *file_name = NULL; - --static void -+static void __attribute__((noreturn)) - show_usage (void) - { - fprintf (stderr, "genpeimg [options] files...\n"); -@@ -204,6 +204,7 @@ - case 'h': - if (h[2] == 0) - show_usage (); -+ /* fallthru */ - default: - error_point: - fprintf (stderr, "Unknown option ,%s'\n", h); diff --git a/packages/mingw-w64/v3.0.0/chksum b/packages/mingw-w64/v3.0.0/chksum deleted file mode 100644 index 72a5296..0000000 --- a/packages/mingw-w64/v3.0.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mingw-w64-v3.0.0.tar.bz2 22b0030702fe00927daf1ae6ddfb526e -sha1 mingw-w64-v3.0.0.tar.bz2 e2684886442a338d48d02c56ef70eb07039878c3 -sha256 mingw-w64-v3.0.0.tar.bz2 ffd381a53cb774843667ccdaeb3a23f86be77b0344355e1a5947b3ceb8343c67 -sha512 mingw-w64-v3.0.0.tar.bz2 7fc438908328ae4429f79dfaaae92bc7e88bc0f46517bdebdc3c45b3e8062ff6c27f166eb51103c2d49aae01851d82f33e0b031c8d98198baaeb119e19221989 diff --git a/packages/mingw-w64/v3.0.0/version.desc b/packages/mingw-w64/v3.0.0/version.desc deleted file mode 100644 index 4a03e3f..0000000 --- a/packages/mingw-w64/v3.0.0/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' -signature_format= diff --git a/packages/mingw-w64/v3.1.0/0000-mingw64-malloc.patch b/packages/mingw-w64/v3.1.0/0000-mingw64-malloc.patch deleted file mode 100644 index 8e0add1..0000000 --- a/packages/mingw-w64/v3.1.0/0000-mingw64-malloc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -26,7 +26,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -21,7 +21,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - diff --git a/packages/mingw-w64/v3.1.0/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v3.1.0/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index 0537bab..0000000 --- a/packages/mingw-w64/v3.1.0/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -820,7 +820,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1015,10 +1015,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1045,7 +1045,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v3.1.0/0002-genpeimg-explicit-fallthrough.patch b/packages/mingw-w64/v3.1.0/0002-genpeimg-explicit-fallthrough.patch deleted file mode 100644 index 5986aef..0000000 --- a/packages/mingw-w64/v3.1.0/0002-genpeimg-explicit-fallthrough.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit f9f2bd0641b89895ab42b1948f431dadf1e837a4 -Author: sezero -Date: Thu Jun 15 09:45:52 2017 +0300 - - genpeimg.c (pass_args): add a /* fallthru */ comment in the switch - after show_usage() to avoid -Wimplicit-fallthrough - (show_usage): mark the function with noreturn attribute. - ---- - mingw-w64-tools/genpeimg/src/genpeimg.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/mingw-w64-tools/genpeimg/src/genpeimg.c -+++ b/mingw-w64-tools/genpeimg/src/genpeimg.c -@@ -28,7 +28,7 @@ - int dump_information = 0; - static char *file_name = NULL; - --static void -+static void __attribute__((noreturn)) - show_usage (void) - { - fprintf (stderr, "genpeimg [options] files...\n"); -@@ -204,6 +204,7 @@ - case 'h': - if (h[2] == 0) - show_usage (); -+ /* fallthru */ - default: - error_point: - fprintf (stderr, "Unknown option ,%s'\n", h); diff --git a/packages/mingw-w64/v3.1.0/chksum b/packages/mingw-w64/v3.1.0/chksum deleted file mode 100644 index b1a7a49..0000000 --- a/packages/mingw-w64/v3.1.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mingw-w64-v3.1.0.tar.bz2 df0e7657f46cbd59ed9cbe2a50c66e15 -sha1 mingw-w64-v3.1.0.tar.bz2 c167b1dc114a13c465fe6adcce9dc65c509baf75 -sha256 mingw-w64-v3.1.0.tar.bz2 ece7a7e7e1ab5e25d5ce469f8e4de7223696146fffa71c16e2a9b017d0e017d2 -sha512 mingw-w64-v3.1.0.tar.bz2 9f418694aa0f072e2f08766fcee8929ac3022187750028781336243e050495b9709bb9ae87b4a83a8e9d3856478c525d8636277a4c219e282421b269dafa68d8 diff --git a/packages/mingw-w64/v3.1.0/version.desc b/packages/mingw-w64/v3.1.0/version.desc deleted file mode 100644 index 4a03e3f..0000000 --- a/packages/mingw-w64/v3.1.0/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' -signature_format= diff --git a/packages/mingw-w64/v3.2.0/0000-mingw64-malloc.patch b/packages/mingw-w64/v3.2.0/0000-mingw64-malloc.patch deleted file mode 100644 index 8e0add1..0000000 --- a/packages/mingw-w64/v3.2.0/0000-mingw64-malloc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -26,7 +26,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -21,7 +21,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - diff --git a/packages/mingw-w64/v3.2.0/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v3.2.0/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index 0537bab..0000000 --- a/packages/mingw-w64/v3.2.0/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -820,7 +820,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1015,10 +1015,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1045,7 +1045,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v3.2.0/0002-genpeimg-explicit-fallthrough.patch b/packages/mingw-w64/v3.2.0/0002-genpeimg-explicit-fallthrough.patch deleted file mode 100644 index 5986aef..0000000 --- a/packages/mingw-w64/v3.2.0/0002-genpeimg-explicit-fallthrough.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit f9f2bd0641b89895ab42b1948f431dadf1e837a4 -Author: sezero -Date: Thu Jun 15 09:45:52 2017 +0300 - - genpeimg.c (pass_args): add a /* fallthru */ comment in the switch - after show_usage() to avoid -Wimplicit-fallthrough - (show_usage): mark the function with noreturn attribute. - ---- - mingw-w64-tools/genpeimg/src/genpeimg.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/mingw-w64-tools/genpeimg/src/genpeimg.c -+++ b/mingw-w64-tools/genpeimg/src/genpeimg.c -@@ -28,7 +28,7 @@ - int dump_information = 0; - static char *file_name = NULL; - --static void -+static void __attribute__((noreturn)) - show_usage (void) - { - fprintf (stderr, "genpeimg [options] files...\n"); -@@ -204,6 +204,7 @@ - case 'h': - if (h[2] == 0) - show_usage (); -+ /* fallthru */ - default: - error_point: - fprintf (stderr, "Unknown option ,%s'\n", h); diff --git a/packages/mingw-w64/v3.2.0/chksum b/packages/mingw-w64/v3.2.0/chksum deleted file mode 100644 index 18b357e..0000000 --- a/packages/mingw-w64/v3.2.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mingw-w64-v3.2.0.tar.bz2 cae9125a531f346afb49c4efea391c53 -sha1 mingw-w64-v3.2.0.tar.bz2 edd7ce33e36689fa35ab2c9799c4e8f33e288d70 -sha256 mingw-w64-v3.2.0.tar.bz2 78a0de610829a1145ae12c4a29603344963a0b8156ba39a9a31a0e79c3b29142 -sha512 mingw-w64-v3.2.0.tar.bz2 dd483bcf7ba0e698a33a0b02a811b181e601cd344b87dafd0f6c477f68efb9a617a4109046fd06735242623f87833cf97688f057583e1378d6d84e7818927593 diff --git a/packages/mingw-w64/v3.2.0/version.desc b/packages/mingw-w64/v3.2.0/version.desc deleted file mode 100644 index 4a03e3f..0000000 --- a/packages/mingw-w64/v3.2.0/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' -signature_format= diff --git a/packages/mingw-w64/v3.3.0/0000-mingw64-malloc.patch b/packages/mingw-w64/v3.3.0/0000-mingw64-malloc.patch deleted file mode 100644 index 8e0add1..0000000 --- a/packages/mingw-w64/v3.3.0/0000-mingw64-malloc.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - mingw-w64-tools/genidl/src/genidl_cfg.h | 2 ++ - mingw-w64-tools/genidl/src/genidl_typinfo.c | 3 +++ - 2 files changed, 5 insertions(+) - ---- a/mingw-w64-tools/genidl/src/genidl_cfg.h -+++ b/mingw-w64-tools/genidl/src/genidl_cfg.h -@@ -26,7 +26,9 @@ - #include - #include - #include -+#if defined(HAVE_MALLOC_H) - #include -+#endif - #include - #include - #include ---- a/mingw-w64-tools/genidl/src/genidl_typinfo.c -+++ b/mingw-w64-tools/genidl/src/genidl_typinfo.c -@@ -21,7 +21,10 @@ - #include "genidl_cfg.h" - #include "genidl_typeinfo.h" - #include "genidl_typinfo.h" -+#if defined(HAVE_MALLOC_H) - #include -+#endif -+#include - #include - #include - diff --git a/packages/mingw-w64/v3.3.0/0001-gendef-explicit-fallthrough.patch b/packages/mingw-w64/v3.3.0/0001-gendef-explicit-fallthrough.patch deleted file mode 100644 index 0537bab..0000000 --- a/packages/mingw-w64/v3.3.0/0001-gendef-explicit-fallthrough.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit b4416f9a54ca0f27adc4a5a2d576779ec1288047 -Author: sezero -Date: Thu Jun 15 09:50:00 2017 +0300 - - gendef.c (getMemonic): add /* fallthru */ comments in the switch to avoid -Wimplicit-fallthrough - ---- - mingw-w64-tools/gendef/src/gendef.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mingw-w64-tools/gendef/src/gendef.c -+++ b/mingw-w64-tools/gendef/src/gendef.c -@@ -820,7 +820,7 @@ - if (!sz || code == c_ill) - { - PRDEBUG(" %s = 0x08%x ILL (%u) at least one==%d\n",name, -- (unsigned int) pc, (unsigned int) sz,atleast_one[0]); -+ (unsigned int) pc, (unsigned int) sz,atleast_one[0]); - #if ENABLE_DEBUG == 1 - { - unsigned char *ppc = (unsigned char *) map_va (pc); -@@ -1015,10 +1015,10 @@ - PRDEBUG(" 0x%x illegal ", (unsigned int) b); - #endif - *aCode=c_ill; return 0; -- case c_4: sz++; -- case c_3: sz++; -+ case c_4: sz++;/* fallthru */ -+ case c_3: sz++;/* fallthru */ - case c_lb: -- case c_2: sz++; -+ case c_2: sz++;/* fallthru */ - case c_retn: case c_retf: - case c_iret: case c_int3: - case c_ad: case c_op: -@@ -1045,7 +1045,7 @@ - p = (unsigned char *) map_va (pc + sz); - if (!p) { *aCode=c_ill; return 0; } - #if ENABLE_DEBUG == 1 -- enter_save_insn(lw,p[0]); -+ enter_save_insn(lw,p[0]); - #endif - b&=~0x7; b|=(p[0]&7); - sz+=1; diff --git a/packages/mingw-w64/v3.3.0/0002-genpeimg-explicit-fallthrough.patch b/packages/mingw-w64/v3.3.0/0002-genpeimg-explicit-fallthrough.patch deleted file mode 100644 index 5986aef..0000000 --- a/packages/mingw-w64/v3.3.0/0002-genpeimg-explicit-fallthrough.patch +++ /dev/null @@ -1,31 +0,0 @@ -commit f9f2bd0641b89895ab42b1948f431dadf1e837a4 -Author: sezero -Date: Thu Jun 15 09:45:52 2017 +0300 - - genpeimg.c (pass_args): add a /* fallthru */ comment in the switch - after show_usage() to avoid -Wimplicit-fallthrough - (show_usage): mark the function with noreturn attribute. - ---- - mingw-w64-tools/genpeimg/src/genpeimg.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/mingw-w64-tools/genpeimg/src/genpeimg.c -+++ b/mingw-w64-tools/genpeimg/src/genpeimg.c -@@ -28,7 +28,7 @@ - int dump_information = 0; - static char *file_name = NULL; - --static void -+static void __attribute__((noreturn)) - show_usage (void) - { - fprintf (stderr, "genpeimg [options] files...\n"); -@@ -204,6 +204,7 @@ - case 'h': - if (h[2] == 0) - show_usage (); -+ /* fallthru */ - default: - error_point: - fprintf (stderr, "Unknown option ,%s'\n", h); diff --git a/packages/mingw-w64/v3.3.0/chksum b/packages/mingw-w64/v3.3.0/chksum deleted file mode 100644 index 807d3b8..0000000 --- a/packages/mingw-w64/v3.3.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mingw-w64-v3.3.0.tar.bz2 3c56901ca7be60beba6d58caff168240 -sha1 mingw-w64-v3.3.0.tar.bz2 d31eac960d42e791970697eae5724e529c81dcd6 -sha256 mingw-w64-v3.3.0.tar.bz2 44764daa65f9adf562b0456e7b681c73c074dc6d1d3ae210f6000af0b641fcef -sha512 mingw-w64-v3.3.0.tar.bz2 0bee700da1a2c7ee532fb85d5a01592ecf843a0f400105ba9270cf8c3346e65af5410c84d1d1116aa43eabafa7dd331d99059033234490e72707fe66a1e0b187 diff --git a/packages/mingw-w64/v3.3.0/version.desc b/packages/mingw-w64/v3.3.0/version.desc deleted file mode 100644 index 4a03e3f..0000000 --- a/packages/mingw-w64/v3.3.0/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' -signature_format= -- cgit v0.10.2-6-g49f6 From 2639848dbdd2a0cd12f60a8790007c54c44b98e3 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: mpc: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - mpc-0.7 - mpc-0.8.2 - mpc-0.9 Signed-off-by: Chris Packham diff --git a/packages/mpc/0.7/chksum b/packages/mpc/0.7/chksum deleted file mode 100644 index a100fb5..0000000 --- a/packages/mpc/0.7/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mpc-0.7.tar.gz 1af44f8ce989161d634f5591f42d7957 -sha1 mpc-0.7.tar.gz 07e48c8e2e8f1b3fa84502c310056c01f4cb3ae3 -sha256 mpc-0.7.tar.gz 0ea9fcf1f9203a5ddd952fae5dc706e30b4abace40ff3cf26b149e7cba271141 -sha512 mpc-0.7.tar.gz adf1057e10bbe50505a2b48a6c49427718a5f250621fa6994d748965323215b93fe285f4e9694ca9261faf4caeb3e424fc51363c91d2a89dc86814c6f1db60d8 diff --git a/packages/mpc/0.7/version.desc b/packages/mpc/0.7/version.desc deleted file mode 100644 index 3832780..0000000 --- a/packages/mpc/0.7/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -mirrors='http://www.multiprecision.org/downloads' -signature_format= diff --git a/packages/mpc/0.8.2/chksum b/packages/mpc/0.8.2/chksum deleted file mode 100644 index 3814ef3..0000000 --- a/packages/mpc/0.8.2/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mpc-0.8.2.tar.gz e98267ebd5648a39f881d66797122fb6 -sha1 mpc-0.8.2.tar.gz 339550cedfb013b68749cd47250cd26163b9edd4 -sha256 mpc-0.8.2.tar.gz ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7 -sha512 mpc-0.8.2.tar.gz dcaac3897adf1411e1199e295e88d7438afc600f412565c3b450b0102b83751eb160f85b7522891195ff0a0a29fccedd07dc011a950969a0979c4e3d4efc1e10 diff --git a/packages/mpc/0.8.2/version.desc b/packages/mpc/0.8.2/version.desc deleted file mode 100644 index 3832780..0000000 --- a/packages/mpc/0.8.2/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -mirrors='http://www.multiprecision.org/downloads' -signature_format= diff --git a/packages/mpc/0.9/chksum b/packages/mpc/0.9/chksum deleted file mode 100644 index 4d24fca..0000000 --- a/packages/mpc/0.9/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 mpc-0.9.tar.gz 0d6acab8d214bd7d1fbbc593e83dd00d -sha1 mpc-0.9.tar.gz 229722d553030734d49731844abfef7617b64f1a -sha256 mpc-0.9.tar.gz fd3efe422f0d454592059e80f2c00d1a2e381bf2beda424c5094abd4deb049ac -sha512 mpc-0.9.tar.gz 84daf8e6f63c876ba4c58bd1f25aea2766dd42d6e020aa02e93682e7a1d03da6c30d02c09ac006a507feedb46ea18de415e2affa1cdb71d37d63f3130bb7dfc4 diff --git a/packages/mpc/0.9/version.desc b/packages/mpc/0.9/version.desc deleted file mode 100644 index 3832780..0000000 --- a/packages/mpc/0.9/version.desc +++ /dev/null @@ -1,3 +0,0 @@ -obsolete='yes' -mirrors='http://www.multiprecision.org/downloads' -signature_format= -- cgit v0.10.2-6-g49f6 From 173b28584d305478545c1c750d22fa98283bc8a0 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: mpfr: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - mpfr-2.4.2 - mpfr-3.0.1 Signed-off-by: Chris Packham diff --git a/packages/mpfr/2.4.2/0000-sin_cos_underflow.patch b/packages/mpfr/2.4.2/0000-sin_cos_underflow.patch deleted file mode 100644 index 0e902df..0000000 --- a/packages/mpfr/2.4.2/0000-sin_cos_underflow.patch +++ /dev/null @@ -1,187 +0,0 @@ ---- - PATCHES | 1 - VERSION | 2 - - mpfr.h | 2 - - sin_cos.c | 34 +++++++++++++++++---------------- - tests/tsin_cos.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++-------- - version.c | 2 - - 6 files changed, 70 insertions(+), 27 deletions(-) - ---- /dev/null -+++ b/PATCHES -@@ -0,0 +1 @@ -+sin_cos_underflow ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --2.4.2 -+2.4.2-p1 ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 2 --#define MPFR_VERSION_STRING "2.4.2" -+#define MPFR_VERSION_STRING "2.4.2-p1" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/sin_cos.c -+++ b/sin_cos.c -@@ -82,17 +82,19 @@ - if (y != x) - /* y and x differ, thus we can safely try to compute y first */ - { -- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0, rnd_mode, -- { inexy = _inexact; -- goto small_input; }); -+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT ( -+ y, x, -2 * expx, 2, 0, rnd_mode, -+ { inexy = _inexact; -+ goto small_input; }); - if (0) - { - small_input: - /* we can go here only if we can round sin(x) */ -- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx, -- 1, 0, rnd_mode, -- { inexz = _inexact; -- goto end; }); -+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT ( -+ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode, -+ { inexz = _inexact; -+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags); -+ goto end; }); - } - - /* if we go here, one of the two MPFR_FAST_COMPUTE_IF_SMALL_INPUT -@@ -101,18 +103,19 @@ - else /* y and x are the same variable: try to compute z first, which - necessarily differs */ - { -- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx, -- 1, 0, rnd_mode, -- { inexz = _inexact; -- goto small_input2; }); -+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT ( -+ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode, -+ { inexz = _inexact; -+ goto small_input2; }); - if (0) - { - small_input2: - /* we can go here only if we can round cos(x) */ -- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0, -- rnd_mode, -- { inexy = _inexact; -- goto end; }); -+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT ( -+ y, x, -2 * expx, 2, 0, rnd_mode, -+ { inexy = _inexact; -+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags); -+ goto end; }); - } - } - m += 2 * (-expx); -@@ -207,7 +210,6 @@ - mpfr_clear (xr); - - end: -- /* FIXME: update the underflow flag if need be. */ - MPFR_SAVE_EXPO_FREE (expo); - mpfr_check_range (y, inexy, rnd_mode); - mpfr_check_range (z, inexz, rnd_mode); ---- a/tests/tsin_cos.c -+++ b/tests/tsin_cos.c -@@ -382,23 +382,56 @@ - consistency (void) - { - mpfr_t x, s1, s2, c1, c2; -+ mp_exp_t emin, emax; - mp_rnd_t rnd; -+ unsigned int flags_sin, flags_cos, flags, flags_before, flags_ref; -+ int inex_sin, inex_cos, inex, inex_ref; - int i; - -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ - for (i = 0; i <= 10000; i++) - { - mpfr_init2 (x, MPFR_PREC_MIN + (randlimb () % 8)); - mpfr_inits2 (MPFR_PREC_MIN + (randlimb () % 8), s1, s2, c1, c2, - (mpfr_ptr) 0); -- tests_default_random (x, 256, -5, 50); -- rnd = RND_RAND (); -- mpfr_sin (s1, x, rnd); -- mpfr_cos (c1, x, rnd); -- mpfr_sin_cos (s2, c2, x, rnd); -- if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2))) -+ if (i < 8 * GMP_RND_MAX) -+ { -+ int j = i / GMP_RND_MAX; -+ if (j & 1) -+ mpfr_set_emin (MPFR_EMIN_MIN); -+ mpfr_set_si (x, (j & 2) ? 1 : -1, GMP_RNDN); -+ mpfr_set_exp (x, mpfr_get_emin ()); -+ rnd = (mpfr_rnd_t) (i % GMP_RND_MAX); -+ flags_before = 0; -+ if (j & 4) -+ mpfr_set_emax (-17); -+ } -+ else -+ { -+ tests_default_random (x, 256, -5, 50); -+ rnd = RND_RAND (); -+ flags_before = (randlimb () & 1) ? -+ (unsigned int) (MPFR_FLAGS_ALL ^ MPFR_FLAGS_ERANGE) : -+ (unsigned int) 0; -+ } -+ __gmpfr_flags = flags_before; -+ inex_sin = mpfr_sin (s1, x, rnd); -+ flags_sin = __gmpfr_flags; -+ __gmpfr_flags = flags_before; -+ inex_cos = mpfr_cos (c1, x, rnd); -+ flags_cos = __gmpfr_flags; -+ __gmpfr_flags = flags_before; -+ inex = !!mpfr_sin_cos (s2, c2, x, rnd); -+ flags = __gmpfr_flags; -+ inex_ref = inex_sin || inex_cos; -+ flags_ref = flags_sin | flags_cos; -+ if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2)) || -+ inex != inex_ref || flags != flags_ref) - { -- printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s,\nx = ", -- mpfr_print_rnd_mode (rnd)); -+ printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s," -+ " i = %d\nx = ", mpfr_print_rnd_mode (rnd), i); - mpfr_dump (x); - printf ("s1 = "); - mpfr_dump (s1); -@@ -408,9 +441,16 @@ - mpfr_dump (c1); - printf ("c2 = "); - mpfr_dump (c2); -+ printf ("inex_sin = %d, inex_cos = %d, inex = %d (expected %d)\n", -+ inex_sin, inex_cos, inex, inex_ref); -+ printf ("flags_sin = 0x%x, flags_cos = 0x%x, " -+ "flags = 0x%x (expected 0x%x)\n", -+ flags_sin, flags_cos, flags, flags_ref); - exit (1); - } - mpfr_clears (x, s1, s2, c1, c2, (mpfr_ptr) 0); -+ mpfr_set_emin (emin); -+ mpfr_set_emax (emax); - } - } - ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.2"; -+ return "2.4.2-p1"; - } diff --git a/packages/mpfr/2.4.2/0001-longlong.h.patch b/packages/mpfr/2.4.2/0001-longlong.h.patch deleted file mode 100644 index da3929b..0000000 --- a/packages/mpfr/2.4.2/0001-longlong.h.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - mpfr-longlong.h | 21 +++++++++++++++++++-- - mpfr.h | 2 +- - version.c | 2 +- - 5 files changed, 23 insertions(+), 5 deletions(-) - ---- a/PATCHES -+++ b/PATCHES -@@ -1 +1,2 @@ -+longlong.h - sin_cos_underflow ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --2.4.2-p1 -+2.4.2-p2 ---- a/mpfr-longlong.h -+++ b/mpfr-longlong.h -@@ -1011,7 +1011,15 @@ - #endif /* __m88000__ */ - - #if defined (__mips) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 -+#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) -+#define umul_ppmm(w1, w0, u, v) \ -+ do { \ -+ UDItype _r; \ -+ _r = (UDItype) u * v; \ -+ (w1) = _r >> 32; \ -+ (w0) = (USItype) _r; \ -+ } while (0) -+#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) - #else -@@ -1024,7 +1032,16 @@ - #endif /* __mips */ - - #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 -+#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) -+typedef unsigned int UTItype __attribute__ ((mode (TI))); -+#define umul_ppmm(w1, w0, u, v) \ -+ do { \ -+ UTItype _r; \ -+ _r = (UTItype) u * v; \ -+ (w1) = _r >> 64; \ -+ (w0) = (UDItype) _r; \ -+ } while (0) -+#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ - __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) - #else ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 2 --#define MPFR_VERSION_STRING "2.4.2-p1" -+#define MPFR_VERSION_STRING "2.4.2-p2" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.2-p1"; -+ return "2.4.2-p2"; - } diff --git a/packages/mpfr/2.4.2/0002-gmp5.patch b/packages/mpfr/2.4.2/0002-gmp5.patch deleted file mode 100644 index ce01cc6..0000000 --- a/packages/mpfr/2.4.2/0002-gmp5.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - configure | 3 +++ - configure.in | 3 +++ - mpfr-impl.h | 6 ++++++ - mpfr.h | 2 +- - version.c | 2 +- - 7 files changed, 16 insertions(+), 3 deletions(-) - ---- a/PATCHES -+++ b/PATCHES -@@ -1,2 +1,3 @@ -+gmp5 - longlong.h - sin_cos_underflow ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --2.4.2-p2 -+2.4.2-p3 ---- a/configure -+++ b/configure -@@ -20449,6 +20449,9 @@ - main () - { - -+#ifndef BITS_PER_MP_LIMB -+#define BITS_PER_MP_LIMB GMP_LIMB_BITS -+#endif - return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT - && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1; - ---- a/configure.in -+++ b/configure.in -@@ -424,6 +424,9 @@ - #include "gmp.h" - #include "gmp-impl.h" - ]], [[ -+#ifndef BITS_PER_MP_LIMB -+#define BITS_PER_MP_LIMB GMP_LIMB_BITS -+#endif - return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT - && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1; - ]])], [AC_MSG_RESULT(yes)], [ ---- a/mpfr-impl.h -+++ b/mpfr-impl.h -@@ -65,6 +65,12 @@ - # ifndef __GMP_IMPL_H__ - # include "gmp-impl.h" - # endif -+# ifndef BITS_PER_MP_LIMB -+# define BITS_PER_MP_LIMB GMP_LIMB_BITS -+# endif -+#ifndef mpn_sqr_n -+# define mpn_sqr_n mpn_sqr -+#endif - # ifdef MPFR_NEED_LONGLONG_H - # include "longlong.h" - # endif ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 2 --#define MPFR_VERSION_STRING "2.4.2-p2" -+#define MPFR_VERSION_STRING "2.4.2-p3" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.2-p2"; -+ return "2.4.2-p3"; - } diff --git a/packages/mpfr/2.4.2/chksum b/packages/mpfr/2.4.2/chksum deleted file mode 100644 index cf94a47..0000000 --- a/packages/mpfr/2.4.2/chksum +++ /dev/null @@ -1,16 +0,0 @@ -md5 mpfr-2.4.2.tar.xz f61da10945c3de6962749a5eb70dafd3 -sha1 mpfr-2.4.2.tar.xz 1407793ff7b258f7fc893d80eccee5107a03ac72 -sha256 mpfr-2.4.2.tar.xz d7271bbfbc9ddf387d3919df8318cd7192c67b232919bfa1cb3202d07843da1b -sha512 mpfr-2.4.2.tar.xz f4a5a47c7530e5a84cd3be015ee8cac791df5ef31649046710105ff8b6a112f8d6c67614021bc7b16b23d7debe66b42aaa2b7484d265577641e2ea8da6e5af7d -md5 mpfr-2.4.2.tar.bz2 89e59fe665e2b3ad44a6789f40b059a0 -sha1 mpfr-2.4.2.tar.bz2 7ca93006e38ae6e53a995af836173cf10ee7c18c -sha256 mpfr-2.4.2.tar.bz2 c7e75a08a8d49d2082e4caee1591a05d11b9d5627514e678f02d66a124bcf2ba -sha512 mpfr-2.4.2.tar.bz2 c004b3dbf86c04960e4a1f8db37a409a7cc4cb76135e76e98dcc5ad93aaa8deb62334ee13ff84447a7c12a5e8cb57f25c62ac908c24920f1fb1a38d79d4a4c5e -md5 mpfr-2.4.2.tar.gz 0e3dcf9fe2b6656ed417c89aa9159428 -sha1 mpfr-2.4.2.tar.gz d2c3504bd0318dda8332ca80523659e9779c367c -sha256 mpfr-2.4.2.tar.gz 246d7e184048b1fc48d3696dd302c9774e24e921204221540745e5464022b637 -sha512 mpfr-2.4.2.tar.gz b0275941e3edd50757c80c0d2e8fdd1924f7f1b6a1f5c383e9b4369288c4b5e56d857297139c8d75467b3e55a4994f7e87e6a13de64232776e5fcf44381c4c7d -md5 mpfr-2.4.2.zip a21eab985b5f67064295b024072a380c -sha1 mpfr-2.4.2.zip c4dc686559f6a41b513eb8b921b76db2cf15faf8 -sha256 mpfr-2.4.2.zip 1ba928eff5c5095bcb1aebce9e63458e282438f43a19a6726a2af94f03311eec -sha512 mpfr-2.4.2.zip fd181856d34ff7d741229627e5aca6c6df20af912910a76fdbc5635169f96cd410eb726d3d380e953fd11d890789b8596a393a64c64b7c4fd377b1b88d772ec0 diff --git a/packages/mpfr/2.4.2/version.desc b/packages/mpfr/2.4.2/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/mpfr/2.4.2/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/mpfr/3.0.1/0000-asin_exprange.patch b/packages/mpfr/3.0.1/0000-asin_exprange.patch deleted file mode 100644 index db153b1..0000000 --- a/packages/mpfr/3.0.1/0000-asin_exprange.patch +++ /dev/null @@ -1,140 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - asin.c | 12 +++++++----- - mpfr.h | 2 +- - tests/tasin.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - version.c | 2 +- - 6 files changed, 55 insertions(+), 8 deletions(-) - ---- /dev/null -+++ b/PATCHES -@@ -0,0 +1 @@ -+asin_exprange ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --3.0.1 -+3.0.1-p1 ---- a/asin.c -+++ b/asin.c -@@ -63,11 +63,14 @@ - - compared = mpfr_cmp_ui (xp, 1); - -+ MPFR_SAVE_EXPO_MARK (expo); -+ - if (MPFR_UNLIKELY (compared >= 0)) - { - mpfr_clear (xp); - if (compared > 0) /* asin(x) = NaN for |x| > 1 */ - { -+ MPFR_SAVE_EXPO_FREE (expo); - MPFR_SET_NAN (asin); - MPFR_RET_NAN; - } -@@ -80,13 +83,11 @@ - inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode)); - MPFR_CHANGE_SIGN (asin); - } -- mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */ -- return inexact; -+ mpfr_div_2ui (asin, asin, 1, rnd_mode); - } - } -- -- MPFR_SAVE_EXPO_MARK (expo); -- -+ else -+ { - /* Compute exponent of 1 - ABS(x) */ - mpfr_ui_sub (xp, 1, xp, MPFR_RNDD); - MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0); -@@ -115,6 +116,7 @@ - inexact = mpfr_set (asin, xp, rnd_mode); - - mpfr_clear (xp); -+ } - - MPFR_SAVE_EXPO_FREE (expo); - return mpfr_check_range (asin, inexact, rnd_mode); ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 0 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "3.0.1" -+#define MPFR_VERSION_STRING "3.0.1-p1" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/tests/tasin.c -+++ b/tests/tasin.c -@@ -219,6 +219,49 @@ - mpfr_clear (y); - } - -+static void -+reduced_expo_range (void) -+{ -+ mpfr_exp_t emin, emax; -+ mpfr_t x, y, ex_y; -+ int inex, ex_inex; -+ unsigned int flags, ex_flags; -+ -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ -+ mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0); -+ mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN); -+ -+ mpfr_set_emin (1); -+ mpfr_set_emax (1); -+ mpfr_clear_flags (); -+ inex = mpfr_asin (y, x, MPFR_RNDA); -+ flags = __gmpfr_flags; -+ mpfr_set_emin (emin); -+ mpfr_set_emax (emax); -+ -+ mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN); -+ ex_inex = -1; -+ ex_flags = MPFR_FLAGS_INEXACT; -+ -+ if (SIGN (inex) != ex_inex || flags != ex_flags || -+ ! mpfr_equal_p (y, ex_y)) -+ { -+ printf ("Error in reduced_expo_range\non x = "); -+ mpfr_dump (x); -+ printf ("Expected y = "); -+ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags); -+ printf ("Got y = "); -+ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags); -+ exit (1); -+ } -+ -+ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0); -+} -+ - int - main (void) - { -@@ -226,6 +269,7 @@ - - special (); - special_overflow (); -+ reduced_expo_range (); - - test_generic (2, 100, 15); - ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.0.1"; -+ return "3.0.1-p1"; - } diff --git a/packages/mpfr/3.0.1/0001-rec_sqrt-carry.patch b/packages/mpfr/3.0.1/0001-rec_sqrt-carry.patch deleted file mode 100644 index 2b1ddbc..0000000 --- a/packages/mpfr/3.0.1/0001-rec_sqrt-carry.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - mpfr.h | 2 +- - rec_sqrt.c | 21 +++++++++++++++++++-- - version.c | 2 +- - 5 files changed, 23 insertions(+), 5 deletions(-) - ---- a/PATCHES -+++ b/PATCHES -@@ -1 +1,2 @@ -+rec_sqrt-carry - asin_exprange ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --3.0.1-p1 -+3.0.1-p2 ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 0 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "3.0.1-p1" -+#define MPFR_VERSION_STRING "3.0.1-p2" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/rec_sqrt.c -+++ b/rec_sqrt.c -@@ -375,20 +375,37 @@ - MPFR_ASSERTD(un == ln + 1 || un == ln + 2); - /* the high un-ln limbs of u will overlap the low part of {x+ln,xn}, - we need to add or subtract the overlapping part {u + ln, un - ln} */ -+ /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1 -+ below (with size = th) mustn't be used. In such a case, the limb -+ (carry) will be 0, so that this is semantically a no-op, but if -+ mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a -+ non-atomic read/write in a place that is not always allocated, -+ with the possible consequences: a crash if the corresponding -+ address is not mapped, or (rather unlikely) memory corruption -+ if another process/thread writes at the same place; things may -+ be worse with future GMP versions. Hence the tests carry != 0. */ - if (neg == 0) - { - if (ln > 0) - MPN_COPY (x, u, ln); - cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln); - /* add cu at x+un */ -- cy += mpn_add_1 (x + un, x + un, th, cu); -+ if (cu != 0) -+ { -+ MPFR_ASSERTD (th != 0); -+ cy += mpn_add_1 (x + un, x + un, th, cu); -+ } - } - else /* negative case */ - { - /* subtract {u+ln, un-ln} from {x+ln,un} */ - cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln); - /* carry cy is at x+un, like cu */ -- cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */ -+ if (cy + cu != 0) -+ { -+ MPFR_ASSERTD (th != 0); -+ cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */ -+ } - /* cy cannot be zero, since the most significant bit of Xh is 1, - and the correction is bounded by 2^{-h+3} */ - MPFR_ASSERTD(cy == 0); ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.0.1-p1"; -+ return "3.0.1-p2"; - } diff --git a/packages/mpfr/3.0.1/0002-atan-expo-range.patch b/packages/mpfr/3.0.1/0002-atan-expo-range.patch deleted file mode 100644 index 060d8de..0000000 --- a/packages/mpfr/3.0.1/0002-atan-expo-range.patch +++ /dev/null @@ -1,112 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - atan.c | 2 +- - mpfr.h | 2 +- - tests/tatan.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ - version.c | 2 +- - 6 files changed, 52 insertions(+), 4 deletions(-) - ---- a/PATCHES -+++ b/PATCHES -@@ -1,2 +1,3 @@ -+atan-expo-range - rec_sqrt-carry - asin_exprange ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --3.0.1-p2 -+3.0.1-p3 ---- a/atan.c -+++ b/atan.c -@@ -431,5 +431,5 @@ - MPFR_GROUP_CLEAR (group); - - MPFR_SAVE_EXPO_FREE (expo); -- return mpfr_check_range (arctgt, inexact, rnd_mode); -+ return mpfr_check_range (atan, inexact, rnd_mode); - } ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 0 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "3.0.1-p2" -+#define MPFR_VERSION_STRING "3.0.1-p3" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/tests/tatan.c -+++ b/tests/tatan.c -@@ -535,6 +535,52 @@ - mpfr_clears (a, x, y, (mpfr_ptr) 0); - } - -+/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html -+ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure). -+ */ -+static void -+reduced_expo_range (void) -+{ -+ mpfr_exp_t emin, emax; -+ mpfr_t x, y, ex_y; -+ int inex, ex_inex; -+ unsigned int flags, ex_flags; -+ -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ -+ mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0); -+ mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN); -+ -+ mpfr_set_emin (-5); -+ mpfr_set_emax (-5); -+ mpfr_clear_flags (); -+ inex = mpfr_atan (y, x, MPFR_RNDN); -+ flags = __gmpfr_flags; -+ mpfr_set_emin (emin); -+ mpfr_set_emax (emax); -+ -+ mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN); -+ ex_inex = 1; -+ ex_flags = MPFR_FLAGS_INEXACT; -+ -+ if (SIGN (inex) != ex_inex || flags != ex_flags || -+ ! mpfr_equal_p (y, ex_y)) -+ { -+ printf ("Error in reduced_expo_range\non x = "); -+ mpfr_dump (x); -+ printf ("Expected y = "); -+ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags); -+ printf ("Got y = "); -+ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags); -+ exit (1); -+ } -+ -+ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0); -+} -+ - int - main (int argc, char *argv[]) - { -@@ -546,6 +592,7 @@ - smallvals_atan2 (); - atan2_bug_20071003 (); - atan2_different_prec (); -+ reduced_expo_range (); - - test_generic_atan (2, 200, 17); - test_generic_atan2 (2, 200, 17); ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.0.1-p2"; -+ return "3.0.1-p3"; - } diff --git a/packages/mpfr/3.0.1/0003-texp-zero.patch b/packages/mpfr/3.0.1/0003-texp-zero.patch deleted file mode 100644 index a761a5f..0000000 --- a/packages/mpfr/3.0.1/0003-texp-zero.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- - PATCHES | 1 + - VERSION | 2 +- - mpfr.h | 2 +- - tests/texp.c | 4 +++- - version.c | 2 +- - 5 files changed, 7 insertions(+), 4 deletions(-) - ---- a/PATCHES -+++ b/PATCHES -@@ -1,3 +1,4 @@ -+texp-zero - atan-expo-range - rec_sqrt-carry - asin_exprange ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --3.0.1-p3 -+3.0.1-p4 ---- a/mpfr.h -+++ b/mpfr.h -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 0 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "3.0.1-p3" -+#define MPFR_VERSION_STRING "3.0.1-p4" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) ---- a/tests/texp.c -+++ b/tests/texp.c -@@ -170,7 +170,9 @@ - mpfr_set_prec (x, prec); - mpfr_set_prec (y, prec); - mpfr_set_prec (z, prec); -- mpfr_urandomb (x, RANDS); -+ do -+ mpfr_urandomb (x, RANDS); -+ while (MPFR_IS_ZERO (x)); /* 0 is handled by mpfr_exp only */ - rnd = RND_RAND (); - mpfr_exp_2 (y, x, rnd); - mpfr_exp_3 (z, x, rnd); ---- a/version.c -+++ b/version.c -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.0.1-p3"; -+ return "3.0.1-p4"; - } diff --git a/packages/mpfr/3.0.1/chksum b/packages/mpfr/3.0.1/chksum deleted file mode 100644 index 44d1783..0000000 --- a/packages/mpfr/3.0.1/chksum +++ /dev/null @@ -1,16 +0,0 @@ -md5 mpfr-3.0.1.tar.xz 645882d9d179113a70af84d27086ed9f -sha1 mpfr-3.0.1.tar.xz f9d540a89c6b3b5840dbe074e7bdcf9124e07ae0 -sha256 mpfr-3.0.1.tar.xz 28a96d58f2763528a979b2a016959dce2abbc8fef8142fa1860670c248760061 -sha512 mpfr-3.0.1.tar.xz a025e70bff2f0b8e2d5c93f147a04c66ae40fa6595613671495eeb2a93ad720098826a634fa2255432de3e98ef8d3c0a7ef2ee461b006bf0ab0c0d39858b7a85 -md5 mpfr-3.0.1.tar.bz2 bfbecb2eacb6d48432ead5cfc3f7390a -sha1 mpfr-3.0.1.tar.bz2 fbf402fc196724ae60ef01eb6ca8490b1ea4db69 -sha256 mpfr-3.0.1.tar.bz2 e1977099bb494319c0f0c1f85759050c418a56884e9c6cef1c540b9b13e38e7f -sha512 mpfr-3.0.1.tar.bz2 bbac7d0d63fd3b4cd895e247c448adce7f4c2b6b66ecfe26af138018e0f96991fa8cbd8cbe94f924761aa1ac676e259af1228600dfc0854314e875e7739fd279 -md5 mpfr-3.0.1.tar.gz e9c191fc46a4f5741f8a0a11ab33b8bf -sha1 mpfr-3.0.1.tar.gz caa0609934c0d2ffa29bd11bfa9c05fbade130eb -sha256 mpfr-3.0.1.tar.gz df67386b66c98adb0e5dc75c926b836a862da50b1e37c576328bb2d78e8bccc7 -sha512 mpfr-3.0.1.tar.gz a99ae1063b2f28bf19b5f76dd06f58e6a5bd6e36820d50e75d2c160a5713ddd0bdfc1371298e6025285a6a749ad59eced30797a6f9395a37565d5db083531e4e -md5 mpfr-3.0.1.zip 035523ebf2e43dc0c233f02c04273a8a -sha1 mpfr-3.0.1.zip 3b7548b0d315bf3872421c8b586391851c601cb4 -sha256 mpfr-3.0.1.zip 3ac8c903971c111c1f3e360a94af1732fcea7470ee9ae997b2b57e13b122226d -sha512 mpfr-3.0.1.zip 431ab0f9e3fc5fa15a73a655ebd7313e51279a0665ba99fb13b5f981081609fd67da323904712a2da90a53fed6789b330e14418d3fa3449ca376bb18ef536d38 diff --git a/packages/mpfr/3.0.1/version.desc b/packages/mpfr/3.0.1/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/mpfr/3.0.1/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From c22bce37e912cbe17df59f861b5f45e6f9ac4f82 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: musl: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - musl-1.1.15 Signed-off-by: Chris Packham diff --git a/packages/musl/1.1.15/chksum b/packages/musl/1.1.15/chksum deleted file mode 100644 index 8f4d9f7..0000000 --- a/packages/musl/1.1.15/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 musl-1.1.15.tar.gz 9590a9d47ee64f220b3c12f7afb864ca -sha1 musl-1.1.15.tar.gz 027c3ae2182fa53c2b554ca98a28dc5cfca4b2c3 -sha256 musl-1.1.15.tar.gz 97e447c7ee2a7f613186ec54a93054fe15469fe34d7d323080f7ef38f5ecb0fa -sha512 musl-1.1.15.tar.gz 9e923572c0d6bad3dc2d2646d4b0699c10b477ce6300ac6c6224895192a90667f581ddf6eda2ab8c4c16f47bde4bccb03bb90478638d136d9df721430f4d0163 diff --git a/packages/musl/1.1.15/version.desc b/packages/musl/1.1.15/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/musl/1.1.15/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From bb4d2a458cccee9664062190df492b23fb3cd8d2 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: newlib: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - newlib-linaro-/2.1.0-2014.09 - newlib-linaro-2.2.0-2015.01 - newlib-1.17.0 - newlib-1.18.0 - newlib-1.19.0 - newlib-1.20.0 - newlib-2.0.0 - newlib-2.1.0 - newlib-2.2.0.20151023 - newlib-2.3.0.20160226 - newlib-2.4.0.20161025 Signed-off-by: Chris Packham diff --git a/packages/newlib-linaro/2.1.0-2014.09/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib-linaro/2.1.0-2014.09/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib-linaro/2.1.0-2014.09/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib-linaro/2.1.0-2014.09/0001-fix-eabihf.patch b/packages/newlib-linaro/2.1.0-2014.09/0001-fix-eabihf.patch deleted file mode 100644 index f295593..0000000 --- a/packages/newlib-linaro/2.1.0-2014.09/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2531,7 +2531,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib-linaro/2.1.0-2014.09/0002-fix-mt-cflags.patch b/packages/newlib-linaro/2.1.0-2014.09/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib-linaro/2.1.0-2014.09/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib-linaro/2.1.0-2014.09/chksum b/packages/newlib-linaro/2.1.0-2014.09/chksum deleted file mode 100644 index d124fd0..0000000 --- a/packages/newlib-linaro/2.1.0-2014.09/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-linaro-2.1.0-2014.09.tar.bz2 657b0e183e24866a37d3f9e710aac529 -sha1 newlib-linaro-2.1.0-2014.09.tar.bz2 4aa995911c6c03f258e8146d63b0b46775886a4e -sha256 newlib-linaro-2.1.0-2014.09.tar.bz2 ed92e8547246834725a3c5743fa41d3f573e3e5d2e5066d433ac3c29e6676fc8 -sha512 newlib-linaro-2.1.0-2014.09.tar.bz2 214c03557f3fbea4af0e189c531f6653e8c0ed051003ca106feb3309973cb492e6b8e54dae85177259bde84c16bf75f76c429d1ad9237fc4354d683e5f9ba223 diff --git a/packages/newlib-linaro/2.1.0-2014.09/version.desc b/packages/newlib-linaro/2.1.0-2014.09/version.desc deleted file mode 100644 index a114052..0000000 --- a/packages/newlib-linaro/2.1.0-2014.09/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' diff --git a/packages/newlib-linaro/2.2.0-2015.01/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib-linaro/2.2.0-2015.01/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib-linaro/2.2.0-2015.01/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib-linaro/2.2.0-2015.01/0001-fix-eabihf.patch b/packages/newlib-linaro/2.2.0-2015.01/0001-fix-eabihf.patch deleted file mode 100644 index f295593..0000000 --- a/packages/newlib-linaro/2.2.0-2015.01/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2531,7 +2531,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib-linaro/2.2.0-2015.01/0002-fix-mt-cflags.patch b/packages/newlib-linaro/2.2.0-2015.01/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib-linaro/2.2.0-2015.01/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib-linaro/2.2.0-2015.01/chksum b/packages/newlib-linaro/2.2.0-2015.01/chksum deleted file mode 100644 index aa52a46..0000000 --- a/packages/newlib-linaro/2.2.0-2015.01/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-linaro-2.2.0-2015.01.tar.xz 03164a4ce9c0e4bca03eba1a1da40193 -sha1 newlib-linaro-2.2.0-2015.01.tar.xz 0e3f3a3849d06f7773f7deee4c2a858ba46e539f -sha256 newlib-linaro-2.2.0-2015.01.tar.xz d29fe53d70f545c2fb080b9686e05d0f8af5088fec9b7dc78bc788a98765ef99 -sha512 newlib-linaro-2.2.0-2015.01.tar.xz ec1a136da2acba5e1409e5860e11cf88b826d6b52636f0f7df5dd484c4cd6c0d8e2a16fdcdfe635cc5a1bf1015d5b2e1dd2ed12f6929713f0b658504a8b1aa8c diff --git a/packages/newlib-linaro/2.2.0-2015.01/version.desc b/packages/newlib-linaro/2.2.0-2015.01/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib-linaro/2.2.0-2015.01/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib-linaro/package.desc b/packages/newlib-linaro/package.desc deleted file mode 100644 index 74d8f17..0000000 --- a/packages/newlib-linaro/package.desc +++ /dev/null @@ -1,7 +0,0 @@ -origin='Linaro' -master='newlib' -repository='git https://git.linaro.org/toolchain/newlib.git' -mirrors='$(CT_Mirrors Linaro newlib ${CT_NEWLIB_LINARO_VERSION})' -relevantpattern='*.*|.*-' -experimental='yes' -archive_formats='.tar.xz' diff --git a/packages/newlib/1.17.0/0000-fix-eabihf.patch b/packages/newlib/1.17.0/0000-fix-eabihf.patch deleted file mode 100644 index 66d56a1..0000000 --- a/packages/newlib/1.17.0/0000-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2540,7 +2540,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/1.17.0/0001-fix-mt-cflags.patch b/packages/newlib/1.17.0/0001-fix-mt-cflags.patch deleted file mode 100644 index 9984a7e..0000000 --- a/packages/newlib/1.17.0/0001-fix-mt-cflags.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1,2 +1,2 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \ -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \ - $(DEBUG_PREFIX_CFLAGS_FOR_TARGET) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/1.17.0/0002-fix-arm-build.patch b/packages/newlib/1.17.0/0002-fix-arm-build.patch deleted file mode 100644 index 6b8170c..0000000 --- a/packages/newlib/1.17.0/0002-fix-arm-build.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- - libgloss/arm/linux-syscalls0.S | 44 ----------------------------------------- - 1 file changed, 44 deletions(-) - ---- a/libgloss/arm/linux-syscalls0.S -+++ b/libgloss/arm/linux-syscalls0.S -@@ -19,47 +19,6 @@ - #define GLOBAL(name) .global name; FUNC(name) - #define SIZE(name) .size name, .-name - --#if __thumb__ -- --# define SYSCALL0(name) \ -- GLOBAL(_ ## name); \ -- mov r12, r7; \ -- mov r7, #SYS_ ## name; \ -- swi; \ -- mov r7, r12; \ -- b _set_errno; \ -- SIZE(_ ## name) -- --/* static int _syscall3(int a, int b, int c, int number); */ --FUNC(_syscall3) -- push { r7 } -- mov r7, r3 -- swi -- pop { r7 } -- b _set_errno -- SIZE(_syscall3) -- --# define SYSCALL3(name) \ -- GLOBAL(_ ## name); \ -- mov r3, #SYS_ ## name; \ -- b _syscall3; \ -- SIZE(_ ## name) -- --# define SYSCALL6(name) \ -- GLOBAL(_ ## name); \ -- push { r4 - r5, r7 }; \ -- ldr r4, [sp, #12]; \ -- ldr r5, [sp, #16]; \ -- mov r7, #SYS_ ## name; \ -- swi; \ -- pop { r4 - r5, r7 }; \ -- b _set_errno; \ -- SIZE(_ ## name) -- --# define SYSCALL4(name) SYSCALL6(name) -- --#else /* __thumb__ */ -- - # define SYSCALL4(name) \ - GLOBAL(_ ## name); \ - swi #SYS_ ## name; \ -@@ -78,9 +37,6 @@ - - #define SYSCALL0(name) SYSCALL3(name) - #define SYSCALL3(name) SYSCALL4(name) -- --#endif /* __thumb__ */ -- - #define SYSCALL1(name) SYSCALL3(name) - #define SYSCALL2(name) SYSCALL3(name) - #define SYSCALL5(name) SYSCALL6(name) diff --git a/packages/newlib/1.17.0/chksum b/packages/newlib/1.17.0/chksum deleted file mode 100644 index 5018d12..0000000 --- a/packages/newlib/1.17.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-1.17.0.tar.gz 9c345928b4f600a211ddc5a6072f8337 -sha1 newlib-1.17.0.tar.gz be026382c8621320fc9079f1f148f7e948e9b28f -sha256 newlib-1.17.0.tar.gz b7c8135f7dbff0269436da26917d9f01fe33f4da0f37c07c3f55066cba80274e -sha512 newlib-1.17.0.tar.gz 4e58f5446e8000f7df9b874a1fe943fc48021f7e6a0618c900c600340c8f29816f5b5ccf04e79a24af8bffba56e0083ec9520cfc6bfc85243952a8d7444c7845 diff --git a/packages/newlib/1.17.0/version.desc b/packages/newlib/1.17.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/1.17.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/1.18.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.18.0/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index 78da4e0..0000000 --- a/packages/newlib/1.18.0/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,21 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mcpu32__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/1.18.0/0001-fix-eabihf.patch b/packages/newlib/1.18.0/0001-fix-eabihf.patch deleted file mode 100644 index 66d56a1..0000000 --- a/packages/newlib/1.18.0/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2540,7 +2540,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/1.18.0/0002-fix-mt-cflags.patch b/packages/newlib/1.18.0/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/1.18.0/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/1.18.0/chksum b/packages/newlib/1.18.0/chksum deleted file mode 100644 index 7a04af2..0000000 --- a/packages/newlib/1.18.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-1.18.0.tar.gz 3dae127d4aa659d72f8ea8c0ff2a7a20 -sha1 newlib-1.18.0.tar.gz a47d3b8a508304143334b36bdb5b33786a61ce94 -sha256 newlib-1.18.0.tar.gz d608f22b0b2e7725d2fca13cac19f34bc652d9773acadae778db9881746cb071 -sha512 newlib-1.18.0.tar.gz 67b80060fd7bb9d035c004cfbcfbc66b8c8f176366c1ce11ae68dd31b8ee3e02b59ad37ceaf6f54da3c35eeee977c462ddaff4492a27425128ee5d5898840771 diff --git a/packages/newlib/1.18.0/version.desc b/packages/newlib/1.18.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/1.18.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/1.19.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.19.0/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index 87f16dd..0000000 --- a/packages/newlib/1.19.0/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,23 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/1.19.0/0001-fix-eabihf.patch b/packages/newlib/1.19.0/0001-fix-eabihf.patch deleted file mode 100644 index 66d56a1..0000000 --- a/packages/newlib/1.19.0/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2540,7 +2540,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/1.19.0/0002-fix-mt-cflags.patch b/packages/newlib/1.19.0/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/1.19.0/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/1.19.0/chksum b/packages/newlib/1.19.0/chksum deleted file mode 100644 index 28305e9..0000000 --- a/packages/newlib/1.19.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-1.19.0.tar.gz 0966e19f03217db9e9076894b47e6601 -sha1 newlib-1.19.0.tar.gz b2269d30ce7b93b7c714b90ef2f40221c2df0fcd -sha256 newlib-1.19.0.tar.gz 4f43807236b2274c220881ca69f7dc6aecc52f14bb32a6f03404d30780c25007 -sha512 newlib-1.19.0.tar.gz 041004947fbbf1a205f365512de52f9052060f35291827e38caa202c202a76e2f442bbd880abf8edd05317fe179b8c3cb94662b2688b58b3390136d6214ef6f6 diff --git a/packages/newlib/1.19.0/version.desc b/packages/newlib/1.19.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/1.19.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/1.20.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.20.0/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/1.20.0/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/1.20.0/0001-fix-eabihf.patch b/packages/newlib/1.20.0/0001-fix-eabihf.patch deleted file mode 100644 index 66d56a1..0000000 --- a/packages/newlib/1.20.0/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2540,7 +2540,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/1.20.0/0002-fix-mt-cflags.patch b/packages/newlib/1.20.0/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/1.20.0/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/1.20.0/chksum b/packages/newlib/1.20.0/chksum deleted file mode 100644 index 92b78a9..0000000 --- a/packages/newlib/1.20.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-1.20.0.tar.gz e5488f545c46287d360e68a801d470e8 -sha1 newlib-1.20.0.tar.gz 65e7bdbeda0cbbf99c8160df573fd04d1cbe00d1 -sha256 newlib-1.20.0.tar.gz c644b2847244278c57bec2ddda69d8fab5a7c767f3b9af69aa7aa3da823ff692 -sha512 newlib-1.20.0.tar.gz 2abf1d30980e460c4d6ffe4d1682e38403d056048e00675362256731e57fe6759d01e85bcba84258d211941926e13bf3c632ff3824931a844c8b2596e795451f diff --git a/packages/newlib/1.20.0/version.desc b/packages/newlib/1.20.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/1.20.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/2.0.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.0.0/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.0.0/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.0.0/0001-fix-eabihf.patch b/packages/newlib/2.0.0/0001-fix-eabihf.patch deleted file mode 100644 index 66d56a1..0000000 --- a/packages/newlib/2.0.0/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2540,7 +2540,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/2.0.0/0002-fix-mt-cflags.patch b/packages/newlib/2.0.0/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/2.0.0/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/2.0.0/chksum b/packages/newlib/2.0.0/chksum deleted file mode 100644 index 7ae5ab1..0000000 --- a/packages/newlib/2.0.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.0.0.tar.gz e3e936235e56d6a28afb2a7f98b1a635 -sha1 newlib-2.0.0.tar.gz ea6b5727162453284791869e905f39fb8fab8d3f -sha256 newlib-2.0.0.tar.gz 49c29e9129325e7c3b221aa829743ddcd796d024440e47c80fc0d6769af72d8a -sha512 newlib-2.0.0.tar.gz 539cc6e3854a52a7871a822e35563ff0dff7124b667fd9471150b9c56f556c0bcc526dfb5503aba5160a5fb61955a3d0876df639374727d2a444b08f90dbf233 diff --git a/packages/newlib/2.0.0/version.desc b/packages/newlib/2.0.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/2.0.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/2.1.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.1.0/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.1.0/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.1.0/0001-fix-eabihf.patch b/packages/newlib/2.1.0/0001-fix-eabihf.patch deleted file mode 100644 index ecb5c37..0000000 --- a/packages/newlib/2.1.0/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2541,7 +2541,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi) -+ *-*-elf | *-*-eabi*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/2.1.0/0002-fix-mt-cflags.patch b/packages/newlib/2.1.0/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/2.1.0/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/2.1.0/chksum b/packages/newlib/2.1.0/chksum deleted file mode 100644 index 8efa9b6..0000000 --- a/packages/newlib/2.1.0/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.1.0.tar.gz c6559d83ecce4728a52f0ce7ec80de97 -sha1 newlib-2.1.0.tar.gz 364d569771866bf55cdbd1f8c4a6fa5c9cf2ef6c -sha256 newlib-2.1.0.tar.gz 3e4d5ab9f0508942b6231b8ade4f8e5048cf92c96ed574c2bd6bd3320a599a48 -sha512 newlib-2.1.0.tar.gz 6770864f9307abb2401a4e48f286845d3a4afc30b2ac987da4b964a5485cc3823b32d06a0abf61528e93c4ad8a3a0aa3cc1ecd3b033850e6b2bde6d9bbc9a547 diff --git a/packages/newlib/2.1.0/version.desc b/packages/newlib/2.1.0/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/2.1.0/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/2.2.0.20151023/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.2.0.20151023/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.2.0.20151023/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.2.0.20151023/0001-fix-eabihf.patch b/packages/newlib/2.2.0.20151023/0001-fix-eabihf.patch deleted file mode 100644 index f295593..0000000 --- a/packages/newlib/2.2.0.20151023/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2531,7 +2531,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/2.2.0.20151023/0002-fix-mt-cflags.patch b/packages/newlib/2.2.0.20151023/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/2.2.0.20151023/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/2.2.0.20151023/chksum b/packages/newlib/2.2.0.20151023/chksum deleted file mode 100644 index ecd733b..0000000 --- a/packages/newlib/2.2.0.20151023/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.2.0.20151023.tar.gz 8e01646fe6ed7c518e281b9764503231 -sha1 newlib-2.2.0.20151023.tar.gz 9de7c2877fa17383940dbca2da42d71dbe7751af -sha256 newlib-2.2.0.20151023.tar.gz fd1d3d358dd66922f37563518e787196e1fba8adaa6d8b1e955d145b38b3fa60 -sha512 newlib-2.2.0.20151023.tar.gz 92a7915525fe8ebc18772806831971ff06ed3585f0afac443ee190629c5e4da150bc1592d739e984fd09fad70720dd3d0540a7011ab1c096fb0ba809d25fbca3 diff --git a/packages/newlib/2.2.0.20151023/version.desc b/packages/newlib/2.2.0.20151023/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/2.2.0.20151023/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/2.3.0.20160226/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.3.0.20160226/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.3.0.20160226/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.3.0.20160226/0001-fix-eabihf.patch b/packages/newlib/2.3.0.20160226/0001-fix-eabihf.patch deleted file mode 100644 index f295593..0000000 --- a/packages/newlib/2.3.0.20160226/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2531,7 +2531,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/2.3.0.20160226/0002-fix-mt-cflags.patch b/packages/newlib/2.3.0.20160226/0002-fix-mt-cflags.patch deleted file mode 100644 index 22c4642..0000000 --- a/packages/newlib/2.3.0.20160226/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - config/mt-gnu | 2 +- - config/mt-ospace | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C ---- a/config/mt-gnu -+++ b/config/mt-gnu -@@ -1 +1 @@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE -+CXXFLAGS_FOR_TARGET += $(CXXFLAGS) -D_GNU_SOURCE ---- a/config/mt-ospace -+++ b/config/mt-ospace -@@ -1,3 +1,3 @@ - # Build libraries optimizing for space, not speed. -- CFLAGS_FOR_TARGET = -g -Os -- CXXFLAGS_FOR_TARGET = -g -Os -+ CFLAGS_FOR_TARGET += -g -Os -+ CXXFLAGS_FOR_TARGET += -g -Os diff --git a/packages/newlib/2.3.0.20160226/chksum b/packages/newlib/2.3.0.20160226/chksum deleted file mode 100644 index 9e4fd09..0000000 --- a/packages/newlib/2.3.0.20160226/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.3.0.20160226.tar.gz 23cf0c3322d19b63d20f9adb4d74e3d9 -sha1 newlib-2.3.0.20160226.tar.gz 56df3bc630fd36e5b37eece303f6f7033fa9ff85 -sha256 newlib-2.3.0.20160226.tar.gz a9489dd28276e4fb29d65a1388a359b1f005d2ba6a4b92a6e5a802b95e1ad7d1 -sha512 newlib-2.3.0.20160226.tar.gz f3862b9e8622997cb47688115fa919a0ce933211b590e72f6ab8f7de2d6d1cfa30de405f6a02cf227e81dace94abee8018b80861b291361d1b95062ba67a5175 diff --git a/packages/newlib/2.3.0.20160226/version.desc b/packages/newlib/2.3.0.20160226/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/2.3.0.20160226/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/newlib/2.4.0.20161025/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.4.0.20161025/0000-fix-unaligned-access-memcpy-m68k.patch deleted file mode 100644 index b6709d5..0000000 --- a/packages/newlib/2.4.0.20161025/0000-fix-unaligned-access-memcpy-m68k.patch +++ /dev/null @@ -1,25 +0,0 @@ -The m68k mcpu processor does not like unaligned access - -Disable at least mcpu32, m68010 and m68020. These processors certainly -do not like unaligned accesses. - -Signed-off-by: Remy Bohmer -[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0] -Signed-off-by: "Yann E. MORIN" -[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0] -Signed-off-by: Austin Morton ---- - newlib/libc/machine/m68k/memcpy.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/newlib/libc/machine/m68k/memcpy.S -+++ b/newlib/libc/machine/m68k/memcpy.S -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 diff --git a/packages/newlib/2.4.0.20161025/0001-fix-eabihf.patch b/packages/newlib/2.4.0.20161025/0001-fix-eabihf.patch deleted file mode 100644 index f295593..0000000 --- a/packages/newlib/2.4.0.20161025/0001-fix-eabihf.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- - libgloss/arm/configure | 2 +- - libgloss/arm/configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/libgloss/arm/configure -+++ b/libgloss/arm/configure -@@ -2531,7 +2531,7 @@ - - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) ---- a/libgloss/arm/configure.in -+++ b/libgloss/arm/configure.in -@@ -49,7 +49,7 @@ - LIB_AM_PROG_AS - - case "${target}" in -- *-*-elf | *-*-eabi | *-*-tirtos*) -+ *-*-elf | *-*-eabi* | *-*-tirtos*) - objtype=elf- - ;; - *-*-coff) diff --git a/packages/newlib/2.4.0.20161025/0002-fix-mt-cflags.patch b/packages/newlib/2.4.0.20161025/0002-fix-mt-cflags.patch deleted file mode 100644 index 24a9215..0000000 --- a/packages/newlib/2.4.0.20161025/0002-fix-mt-cflags.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- - config/mt-d30v | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/config/mt-d30v -+++ b/config/mt-d30v -@@ -1,4 +1,4 @@ - # Build libraries optimizing for space, not speed. - # Turn off warnings about symbols named the same as registers -- CFLAGS_FOR_TARGET = -g -Os -Wa,-C -- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C -+ CFLAGS_FOR_TARGET += -g -Os -Wa,-C -+ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C diff --git a/packages/newlib/2.4.0.20161025/chksum b/packages/newlib/2.4.0.20161025/chksum deleted file mode 100644 index 0f0ccf9..0000000 --- a/packages/newlib/2.4.0.20161025/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 newlib-2.4.0.20161025.tar.gz 6b1bf8483f71d776bbc54533054caa3e -sha1 newlib-2.4.0.20161025.tar.gz 12879b06241f0ee987a8fef866de0db27b85755d -sha256 newlib-2.4.0.20161025.tar.gz cbecbc637496fcec02829c12babf8441c6500eb1933c776d2fa4e0a9a35f081f -sha512 newlib-2.4.0.20161025.tar.gz bad47dc4062e0e9a0660a95cdd7a8b180d4257f68352a4a1fb66cd936aa38fbf44ccbe51f8281f89667e96a8296a02f1dbfc6ee5daba6951db375bbca74898eb diff --git a/packages/newlib/2.4.0.20161025/version.desc b/packages/newlib/2.4.0.20161025/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/newlib/2.4.0.20161025/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From e4394bf9bb684bf267a35f9efd59057e74c10784 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: strace: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - strace-4.10 - strace-4.11 - strace-4.12 - strace-4.13 - strace-4.14 - strace-4.5.20 - strace-4.6 - strace-4.7 - strace-4.8 - strace-4.9 Signed-off-by: Chris Packham diff --git a/packages/strace/4.10/0000-aarch64_rt_sigreturn.patch b/packages/strace/4.10/0000-aarch64_rt_sigreturn.patch deleted file mode 100644 index e99891d..0000000 --- a/packages/strace/4.10/0000-aarch64_rt_sigreturn.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit d76d3069526c348e6fe5d40bbbceb2ae4a928d16 -Author: Dmitry V. Levin -Date: Wed Mar 11 14:32:25 2015 +0000 - - aarch64: fix rt_sigreturn decoding - - * sigreturn.c (sys_sigreturn) [AARCH64]: Fix personality check. - ---- - sigreturn.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sigreturn.c -+++ b/sigreturn.c -@@ -23,7 +23,7 @@ - # define OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK (5 * 4 + SIZEOF_STRUCT_SIGCONTEXT) - const long addr = - # ifdef AARCH64 -- current_personality == 0 ? -+ current_personality == 1 ? - (*aarch64_sp_ptr + SIZEOF_STRUCT_SIGINFO + - offsetof(struct ucontext, uc_sigmask)) : - # endif diff --git a/packages/strace/4.10/0001-arm_mmap2.patch b/packages/strace/4.10/0001-arm_mmap2.patch deleted file mode 100644 index d244c0e..0000000 --- a/packages/strace/4.10/0001-arm_mmap2.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit dbadf7bcc8995612d5ef737047b909e868387e37 -Author: Andreas Schwab -Date: Mon Mar 9 16:55:06 2015 +0100 - - Fix decoding of mmap2 for arm - - * syscallent.h (mmap2): Decode with sys_mmap_4koff, not - sys_mmap_pgoff. - ---- - linux/arm/syscallent.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/linux/arm/syscallent.h -+++ b/linux/arm/syscallent.h -@@ -218,7 +218,7 @@ - [189] = { 5, 0, sys_putpmsg, "putpmsg" }, - [190] = { 0, TP, sys_vfork, "vfork" }, - [191] = { 2, 0, sys_getrlimit, "ugetrlimit" }, --[192] = { 6, TD|TM|SI, sys_mmap_pgoff, "mmap2" }, -+[192] = { 6, TD|TM|SI, sys_mmap_4koff, "mmap2" }, - [193] = { 4, TF, sys_truncate64, "truncate64" }, - [194] = { 4, TD, sys_ftruncate64, "ftruncate64" }, - [195] = { 2, TF, sys_stat64, "stat64" }, diff --git a/packages/strace/4.10/0002-aarch64_arch_regs.patch b/packages/strace/4.10/0002-aarch64_arch_regs.patch deleted file mode 100644 index e4066d9..0000000 --- a/packages/strace/4.10/0002-aarch64_arch_regs.patch +++ /dev/null @@ -1,28 +0,0 @@ -commit 64fc9cedc475b2fc0d940509dc4232b02b5f83ec -Author: Andreas Schwab -Date: Thu Mar 12 11:54:08 2015 +0100 - - Distribute linux/aarch64/arch_regs.h - - * Makefile.am (EXTRA_DIST): Add linux/aarch64/arch_regs.h. - ---- - Makefile.am | 1 + - linux/aarch64/arch_regs.h | 2 ++ - 2 files changed, 3 insertions(+) - ---- a/Makefile.am -+++ b/Makefile.am -@@ -164,6 +164,7 @@ - linux/32/syscallent.h \ - linux/64/ioctls_inc.h \ - linux/64/syscallent.h \ -+ linux/aarch64/arch_regs.h \ - linux/aarch64/errnoent1.h \ - linux/aarch64/ioctls_arch0.h \ - linux/aarch64/ioctls_arch1.h \ ---- /dev/null -+++ b/linux/aarch64/arch_regs.h -@@ -0,0 +1,2 @@ -+extern uint64_t *const aarch64_sp_ptr; -+extern uint32_t *const arm_sp_ptr; diff --git a/packages/strace/4.10/0003-stat64-v.test.patch b/packages/strace/4.10/0003-stat64-v.test.patch deleted file mode 100644 index acb098b..0000000 --- a/packages/strace/4.10/0003-stat64-v.test.patch +++ /dev/null @@ -1,89 +0,0 @@ -commit f79252f072a193bdff435afeaa6b6cd6d5c79947 -Author: Dmitry V. Levin -Date: Mon Mar 16 17:18:40 2015 +0000 - - stat64-v.test: add newfstatat syscall support - - Newer architectures have no stat syscall, so stat() is implemented there - using newfstatat syscall. - - * tests/stat.c (STAT_FNAME): Rename to STAT_PREFIX. Update callers. - [_FILE_OFFSET_BITS == 64] (STAT_PREFIX): Add newfstatat support. - (main) [!NR_stat]: Add newfstatat support. - - Reported-by: Andreas Schwab - ---- - tests/stat.c | 24 ++++++++++++++---------- - 1 file changed, 14 insertions(+), 10 deletions(-) - ---- a/tests/stat.c -+++ b/tests/stat.c -@@ -14,22 +14,22 @@ - # include - #endif - --#undef STAT_FNAME -+#undef STAT_PREFIX - #undef NR_stat - - #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 - # include --# define STAT_FNAME "stat(64)?" -+# define STAT_PREFIX "(stat(64)?\\(|newfstatat\\(AT_FDCWD, )" - #else - # include - # if defined __NR_stat - # define NR_stat __NR_stat --# define STAT_FNAME "stat" -+# define STAT_PREFIX "stat\\(" - # elif defined __NR_newstat - # define NR_stat __NR_newstat --# define STAT_FNAME "newstat" -+# define STAT_PREFIX "newstat\\(" - # endif --# ifdef STAT_FNAME -+# ifdef STAT_PREFIX - /* for S_IFMT */ - # define stat libc_stat - # define stat64 libc_stat64 -@@ -57,10 +57,10 @@ - # define off_t __kernel_off_t - # define loff_t __kernel_loff_t - # include --# endif /* STAT_FNAME */ -+# endif /* STAT_PREFIX */ - #endif /* _FILE_OFFSET_BITS */ - --#ifdef STAT_FNAME -+#ifdef STAT_PREFIX - - static void - print_ftype(unsigned int mode) -@@ -115,7 +115,7 @@ - assert(stat(av[1], &stb) == 0); - #endif - -- printf(STAT_FNAME "\\(\"%s\", \\{", av[1]); -+ printf(STAT_PREFIX "\"%s\", \\{", av[1]); - printf("st_dev=makedev\\(%u, %u\\)", - (unsigned int) major(stb.st_dev), - (unsigned int) minor(stb.st_dev)); -@@ -159,11 +159,15 @@ - printf("(, st_flags=[0-9]+)?"); - printf("(, st_fstype=[^,]*)?"); - printf("(, st_gen=[0-9]+)?"); -- printf("\\}\\) += 0\n"); -+ printf("\\}"); -+#ifndef NR_stat -+ printf("(, 0)?"); -+#endif -+ printf("\\) += 0\n"); - return 0; - } - --#else /* !STAT_FNAME */ -+#else /* !STAT_PREFIX */ - int main(void) - { - return 77; diff --git a/packages/strace/4.10/0004-select_test.patch b/packages/strace/4.10/0004-select_test.patch deleted file mode 100644 index a778392..0000000 --- a/packages/strace/4.10/0004-select_test.patch +++ /dev/null @@ -1,49 +0,0 @@ -commit 95336102eb836ba69a2b51a3bbe733abd63bbe77 -Author: Andreas Schwab -Date: Thu Mar 12 16:47:38 2015 +0100 - - tests/select.test: handle architectures using pselect6 syscall - - * tests/select.awk (BEGIN): Update regexps to match both select - and pselect6 syscalls. - * tests/select.test: Probe for both select and pselect6 syscall. - ---- - tests/select.awk | 6 +++--- - tests/select.test | 7 +++++-- - 2 files changed, 8 insertions(+), 5 deletions(-) - ---- a/tests/select.awk -+++ b/tests/select.awk -@@ -1,7 +1,7 @@ - BEGIN { -- r[1] = "^select\\(2, \\[0 1\\], \\[0 1\\], \\[0 1\\], NULL\\) += 1 \\(\\)$" -- r[2] = "^select\\(-1, NULL, 0x[0-9a-f]+, NULL, NULL\\) += -1 " -- r[3] = "^select\\(1025, \\[0\\], \\[\\], NULL, \\{0, 100\\}\\) += 0 \\(Timeout\\)$" -+ r[1] = "^p?select6?\\(2, \\[0 1\\], \\[0 1\\], \\[0 1\\], NULL(, 0)?\\) += 1 \\(\\)$" -+ r[2] = "^p?select6?\\(-1, NULL, 0x[0-9a-f]+, NULL, NULL(, 0)?\\) += -1 " -+ r[3] = "^p?select6?\\(1025, \\[0\\], \\[\\], NULL, \\{0, 100(000)?\\}(, 0)?\\) += 0 \\(Timeout\\)$" - r[4] = "^\\+\\+\\+ exited with 0 \\+\\+\\+$" - lines = 4 - fail = 0 ---- a/tests/select.test -+++ b/tests/select.test -@@ -6,13 +6,16 @@ - - check_prog awk - --$STRACE -eselect -h > /dev/null || -+syscall= -+$STRACE -epselect6 -h > /dev/null && syscall=$syscall,pselect6 -+$STRACE -eselect -h > /dev/null && syscall=$syscall,select -+test -n "$syscall" || - skip_ 'select syscall is not supported on this architecture' - - ./select || - framework_skip_ 'select syscall does not behave as expected' - --args='-eselect ./select' -+args="-e$syscall ./select" - $STRACE -o "$LOG" $args || { - cat "$LOG" - fail_ "$STRACE $args failed" diff --git a/packages/strace/4.10/0005-fix_aarch64_ioctl_decoding.patch b/packages/strace/4.10/0005-fix_aarch64_ioctl_decoding.patch deleted file mode 100644 index 9f4c053..0000000 --- a/packages/strace/4.10/0005-fix_aarch64_ioctl_decoding.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit 0e3811d7914f209858cf4e445221fd65644cc94b -Author: Andreas Schwab -Date: Thu Mar 12 18:07:00 2015 +0100 - - aarch64: fix ioctl decoding - - * linux/aarch64/ioctls_inc0.h: Rename from ioctls_inc1.h. - * linux/aarch64/ioctls_inc1.h: Rename from ioctls_inc0.h. - * linux/aarch64/ioctls_arch0.h: Rename from ioctls_arch1.h. - * linux/aarch64/ioctls_arch1.h: Rename from ioctls_arch0.h. - ---- - linux/aarch64/ioctls_arch0.h | 2 +- - linux/aarch64/ioctls_arch1.h | 2 +- - linux/aarch64/ioctls_inc0.h | 2 +- - linux/aarch64/ioctls_inc1.h | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - ---- a/linux/aarch64/ioctls_arch0.h -+++ b/linux/aarch64/ioctls_arch0.h -@@ -1 +1 @@ --/* Generated by ioctls_gen.sh from definitions found in $linux/arch/arm64/include/ tree. */ -+#include "arm/ioctls_arch0.h" ---- a/linux/aarch64/ioctls_arch1.h -+++ b/linux/aarch64/ioctls_arch1.h -@@ -1 +1 @@ --#include "arm/ioctls_arch0.h" -+/* Generated by ioctls_gen.sh from definitions found in $linux/arch/arm64/include/ tree. */ ---- a/linux/aarch64/ioctls_inc0.h -+++ b/linux/aarch64/ioctls_inc0.h -@@ -1 +1 @@ --#include "64/ioctls_inc.h" -+#include "arm/ioctls_inc0.h" ---- a/linux/aarch64/ioctls_inc1.h -+++ b/linux/aarch64/ioctls_inc1.h -@@ -1 +1 @@ --#include "arm/ioctls_inc0.h" -+#include "64/ioctls_inc.h" diff --git a/packages/strace/4.10/0006-fix_bexecve64_test.patch b/packages/strace/4.10/0006-fix_bexecve64_test.patch deleted file mode 100644 index f5b255b..0000000 --- a/packages/strace/4.10/0006-fix_bexecve64_test.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit b704e8fbb4d9cf90ac56f3c889de5b779c444db4 -(loosely based on) ---- - tests/bexecve.test | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/tests/bexecve.test -+++ b/tests/bexecve.test -@@ -24,13 +24,14 @@ - } - - pattern='Process [1-9][0-9]* detached' -+pattern_personality='\[ Process PID=[1-9][0-9]* runs in .* mode. \]' - - LC_ALL=C grep -x "$pattern" "$LOG" > /dev/null || { - cat "$LOG" - fail_ "$what: unexpected output" - } - --if LC_ALL=C grep -v -x "$pattern" "$LOG" > /dev/null; then -+if LC_ALL=C grep -E -v -x "($pattern|$pattern_personality)" "$LOG" > /dev/null; then - cat "$LOG" - fail_ "$what: unexpected output" - fi diff --git a/packages/strace/4.10/0007-decode_mips_indirect_syscall.patch b/packages/strace/4.10/0007-decode_mips_indirect_syscall.patch deleted file mode 100644 index 8921dda..0000000 --- a/packages/strace/4.10/0007-decode_mips_indirect_syscall.patch +++ /dev/null @@ -1,67 +0,0 @@ -commit f34b97f89dd3893ef3652a6899487771402fc13c ---- - linux/mips/syscallent-o32.h | 2 +- - linux/syscall.h | 1 + - syscall.c | 24 ++++++++++++++++++++++++ - 3 files changed, 26 insertions(+), 1 deletion(-) - ---- a/linux/mips/syscallent-o32.h -+++ b/linux/mips/syscallent-o32.h -@@ -1,6 +1,6 @@ - #if defined LINUX_MIPSO32 - /* For an O32 strace, decode the o32 syscalls. */ --[4000] = { MA, 0, printargs, "syscall" }, /* start of Linux o32 */ -+[4000] = { MA, 0, sys_syscall, "syscall" }, /* start of Linux o32 */ - [4001] = { 1, TP|SE, sys_exit, "exit" }, - [4002] = { 0, TP, sys_fork, "fork" }, - [4003] = { 3, TD, sys_read, "read" }, ---- a/syscall.c -+++ b/syscall.c -@@ -606,6 +606,25 @@ - } - #endif - -+#ifdef LINUX_MIPSO32 -+static void -+decode_mips_subcall(struct tcb *tcp) -+{ -+ if (!SCNO_IS_VALID(tcp->u_arg[0])) -+ return; -+ tcp->scno = tcp->u_arg[0]; -+ tcp->qual_flg = qual_flags[tcp->scno]; -+ tcp->s_ent = &sysent[tcp->scno]; -+ memmove(&tcp->u_arg[0], &tcp->u_arg[1], -+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0])); -+} -+ -+int sys_syscall(struct tcb *tcp) -+{ -+ return printargs(tcp); -+} -+#endif -+ - int - printargs(struct tcb *tcp) - { -@@ -1774,6 +1793,11 @@ - goto ret; - } - -+#ifdef LINUX_MIPSO32 -+ if (sys_syscall == tcp->s_ent->sys_func) -+ decode_mips_subcall(tcp); -+#endif -+ - if ( sys_execve == tcp->s_ent->sys_func - # if defined(SPARC) || defined(SPARC64) - || sys_execv == tcp->s_ent->sys_func ---- a/linux/syscall.h -+++ b/linux/syscall.h -@@ -277,6 +277,7 @@ - int sys_symlinkat(); - int sys_sync_file_range(); - int sys_sync_file_range2(); -+int sys_syscall(); - int sys_sysctl(); - int sys_sysinfo(); - int sys_syslog(); diff --git a/packages/strace/4.10/0008-upstream-musl_includes.patch b/packages/strace/4.10/0008-upstream-musl_includes.patch deleted file mode 100644 index 87717ca..0000000 --- a/packages/strace/4.10/0008-upstream-musl_includes.patch +++ /dev/null @@ -1,63 +0,0 @@ -commit 3460dc486d333231998de0f19918204aacee9ae3 -commit d34e00b293942b1012ddc49ed3ab379a32337611 ---- - evdev.c | 2 ++ - ioctl.c | 2 +- - ioctlsort.c | 2 +- - mknod.c | 1 + - printmode.c | 1 + - 5 files changed, 6 insertions(+), 2 deletions(-) - ---- a/evdev.c -+++ b/evdev.c -@@ -28,6 +28,8 @@ - - #include "defs.h" - -+#include -+ - #ifdef HAVE_LINUX_INPUT_H - #include - #include "xlat/evdev_abs.h" ---- a/ioctl.c -+++ b/ioctl.c -@@ -29,7 +29,7 @@ - */ - - #include "defs.h" --#include -+#include - #include "xlat/ioctl_dirs.h" - - #ifdef HAVE_LINUX_INPUT_H ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,7 @@ - #include - #include - #include --#include -+#include - - struct ioctlent { - const char *info; ---- a/mknod.c -+++ b/mknod.c -@@ -1,6 +1,7 @@ - #include "defs.h" - - #include -+#include - - #ifdef MAJOR_IN_SYSMACROS - # include ---- a/printmode.c -+++ b/printmode.c -@@ -1,6 +1,7 @@ - #include "defs.h" - - #include -+#include - - #include "xlat/modetypes.h" - diff --git a/packages/strace/4.10/0009-use-host-ioctl.patch b/packages/strace/4.10/0009-use-host-ioctl.patch deleted file mode 100644 index 857c7c0..0000000 --- a/packages/strace/4.10/0009-use-host-ioctl.patch +++ /dev/null @@ -1,145 +0,0 @@ ---- - Makefile.am | 14 ++++++++++++-- - Makefile.in | 14 ++++++++++++-- - ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - ioctlsort.c | 3 ++- - 4 files changed, 69 insertions(+), 5 deletions(-) - ---- /dev/null -+++ b/ioctl_iocdef.c -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2017 Alexey Neyman -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result -+ * is included into ioctlsort (which is compiled for build). Since some -+ * of these values are used in structure initializers, they cannot be -+ * defined as 'const unsigned int' - instead, they have to be macros. -+ * Hence, the result of preprocessing will be run through sed to change -+ * 'DEFINE' into '#define' -+ */ -+#include -+ -+DEFINE HOST_IOC_NONE _IOC_NONE -+DEFINE HOST_IOC_READ _IOC_READ -+DEFINE HOST_IOC_WRITE _IOC_WRITE -+ -+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT -+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,8 @@ - #include - #include - #include --#include -+ -+#include "ioctl_iocdef.h" - - struct ioctlent { - const char *info; ---- a/Makefile.am -+++ b/Makefile.am -@@ -159,6 +159,7 @@ - debian/strace64.manpages \ - debian/watch \ - errnoent.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/syscallent.h \ -@@ -417,15 +418,24 @@ - ioctls_inc_h = $(wildcard $(srcdir)/$(OS)/$(ARCH)/ioctls_inc*.h) - ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_inc_h)) - BUILT_SOURCES += $(ioctlent_h) --CLEANFILES = $(ioctlent_h) -+CLEANFILES = $(ioctlent_h) ioctl_iocdef.h - - ioctlent%.h: ioctlsort% - ./$< > $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h ---- a/Makefile.in -+++ b/Makefile.in -@@ -687,6 +687,7 @@ - debian/strace64.manpages \ - debian/watch \ - errnoent.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/syscallent.h \ -@@ -921,7 +922,7 @@ - ioctlsort_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) - ioctls_inc_h = $(wildcard $(srcdir)/$(OS)/$(ARCH)/ioctls_inc*.h) - ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_inc_h)) --CLEANFILES = $(ioctlent_h) -+CLEANFILES = $(ioctlent_h) ioctl_iocdef.h - @MAINTAINER_MODE_TRUE@gen_changelog_start_date = 2009-07-08 20:00 - all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive -@@ -3414,13 +3415,22 @@ - exit 1; \ - fi - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlent%.h: ioctlsort% - ./$< > $@ - - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h diff --git a/packages/strace/4.10/chksum b/packages/strace/4.10/chksum deleted file mode 100644 index 195f865..0000000 --- a/packages/strace/4.10/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.10.tar.xz 107a5be455493861189e9b57a3a51912 -sha1 strace-4.10.tar.xz 5c3ec4c5a9eeb440d7ec70514923c2e7e7f9ab6c -sha256 strace-4.10.tar.xz e6180d866ef9e76586b96e2ece2bfeeb3aa23f5cc88153f76e9caedd65e40ee2 -sha512 strace-4.10.tar.xz 53d55b749224927cfcc9783db57eb8a057fc1329b2f5da2f54299dab17d530f5d1359480f03bea307fb72f6f372e50a0dbf0bd25d36a57a77632d9c1f690fc1d diff --git a/packages/strace/4.10/version.desc b/packages/strace/4.10/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.10/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.11/0000-use-host-ioctl.patch b/packages/strace/4.11/0000-use-host-ioctl.patch deleted file mode 100644 index 99f8c4c..0000000 --- a/packages/strace/4.11/0000-use-host-ioctl.patch +++ /dev/null @@ -1,147 +0,0 @@ ---- - Makefile.am | 14 ++++++++++++-- - Makefile.in | 14 ++++++++++++-- - ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - ioctlsort.c | 3 ++- - 4 files changed, 69 insertions(+), 5 deletions(-) - ---- /dev/null -+++ b/ioctl_iocdef.c -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2017 Alexey Neyman -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result -+ * is included into ioctlsort (which is compiled for build). Since some -+ * of these values are used in structure initializers, they cannot be -+ * defined as 'const unsigned int' - instead, they have to be macros. -+ * Hence, the result of preprocessing will be run through sed to change -+ * 'DEFINE' into '#define' -+ */ -+#include -+ -+DEFINE HOST_IOC_NONE _IOC_NONE -+DEFINE HOST_IOC_READ _IOC_READ -+DEFINE HOST_IOC_WRITE _IOC_WRITE -+ -+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT -+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,8 @@ - #include - #include - #include --#include -+ -+#include "ioctl_iocdef.h" - - struct ioctlent { - const char *info; ---- a/Makefile.am -+++ b/Makefile.am -@@ -239,6 +239,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -666,17 +667,26 @@ - ioctlent%.h: ioctlsort% - ./$< > $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h - cat $^ > $@ - - BUILT_SOURCES = $(ioctlent_h) native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version --CLEANFILES = $(ioctlent_h) native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h -+CLEANFILES = $(ioctlent_h) ioctl_iocdef.h native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h - - # defines mpers_source_files ---- a/Makefile.in -+++ b/Makefile.in -@@ -848,6 +848,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -1243,7 +1244,7 @@ - BUILT_SOURCES = $(ioctlent_h) native_printer_decls.h \ - native_printer_defs.h printers.h sen.h sys_func.h .version \ - $(am__append_7) $(am__append_11) --CLEANFILES = $(ioctlent_h) native_printer_decls.h \ -+CLEANFILES = $(ioctlent_h) ioctl_iocdef.h native_printer_decls.h \ - native_printer_defs.h printers.h sen.h sys_func.h \ - $(am__append_8) $(am__append_12) - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h -@@ -4829,13 +4830,22 @@ - exit 1; \ - fi - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlent%.h: ioctlsort% - ./$< > $@ - - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h diff --git a/packages/strace/4.11/chksum b/packages/strace/4.11/chksum deleted file mode 100644 index 360141b..0000000 --- a/packages/strace/4.11/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.11.tar.xz a15d2555a7febb56d00c6e1a51c655dc -sha1 strace-4.11.tar.xz 8fd717dc3c51b69fde51ce0bdb066404a678363c -sha256 strace-4.11.tar.xz e86a5f6cd8f941f67f3e4b28f4e60f3d9185c951cf266404533210a2e5cd8152 -sha512 strace-4.11.tar.xz e1e07ed427f504f53bcd117b61bb96a780b0f531010856ed157e4d8c2090371bf320ab59a02b88e67bf2afd443fba67e12f90e53afeab795188c89c6496daecd diff --git a/packages/strace/4.11/version.desc b/packages/strace/4.11/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.11/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.12/0000-use-host-ioctl.patch b/packages/strace/4.12/0000-use-host-ioctl.patch deleted file mode 100644 index 932ccda..0000000 --- a/packages/strace/4.12/0000-use-host-ioctl.patch +++ /dev/null @@ -1,148 +0,0 @@ ---- - Makefile.am | 14 ++++++++++++-- - Makefile.in | 14 ++++++++++++-- - ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - ioctlsort.c | 3 ++- - 4 files changed, 69 insertions(+), 5 deletions(-) - ---- /dev/null -+++ b/ioctl_iocdef.c -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2017 Alexey Neyman -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result -+ * is included into ioctlsort (which is compiled for build). Since some -+ * of these values are used in structure initializers, they cannot be -+ * defined as 'const unsigned int' - instead, they have to be macros. -+ * Hence, the result of preprocessing will be run through sed to change -+ * 'DEFINE' into '#define' -+ */ -+#include -+ -+DEFINE HOST_IOC_NONE _IOC_NONE -+DEFINE HOST_IOC_READ _IOC_READ -+DEFINE HOST_IOC_WRITE _IOC_WRITE -+ -+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT -+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,8 @@ - #include - #include - #include --#include -+ -+#include "ioctl_iocdef.h" - - struct ioctlent { - const char *info; ---- a/Makefile.am -+++ b/Makefile.am -@@ -274,6 +274,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -712,10 +713,19 @@ - ioctlent%.h: ioctlsort% - ./$< > $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h -@@ -723,7 +733,7 @@ - - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) ioctl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h - ---- a/Makefile.in -+++ b/Makefile.in -@@ -952,6 +952,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -1351,7 +1352,7 @@ - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) native_printer_decls.h \ - native_printer_defs.h printers.h sen.h sys_func.h .version \ - $(am__append_7) $(am__append_11) --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) octl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h \ - sys_func.h $(am__append_8) $(am__append_12) - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h -@@ -5506,13 +5507,22 @@ - rm -f $<-t - mv $@-t $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlent%.h: ioctlsort% - ./$< > $@ - - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h diff --git a/packages/strace/4.12/chksum b/packages/strace/4.12/chksum deleted file mode 100644 index 79656cc..0000000 --- a/packages/strace/4.12/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.12.tar.xz efb8611fc332e71ec419c53f59faa93e -sha1 strace-4.12.tar.xz 30d79bc07e46a8672decb945e458447c1b66e496 -sha256 strace-4.12.tar.xz 51144b78cb9ba22211b95a5aafe0af3694c0d575b25975d80ca9dd4dfd7c1e59 -sha512 strace-4.12.tar.xz 1df57c5d684cebee370bbd88f11cb568ffbe178b38060384920083da83888a78244483b3464c79fc0cccf6f14bb09538cf84bc1fd1fc43b959c7d4724548afb8 diff --git a/packages/strace/4.12/version.desc b/packages/strace/4.12/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.12/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.13/0000-use-host-ioctl.patch b/packages/strace/4.13/0000-use-host-ioctl.patch deleted file mode 100644 index ee59695..0000000 --- a/packages/strace/4.13/0000-use-host-ioctl.patch +++ /dev/null @@ -1,148 +0,0 @@ ---- - Makefile.am | 14 ++++++++++++-- - Makefile.in | 14 ++++++++++++-- - ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - ioctlsort.c | 3 ++- - 4 files changed, 69 insertions(+), 5 deletions(-) - ---- /dev/null -+++ b/ioctl_iocdef.c -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2017 Alexey Neyman -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result -+ * is included into ioctlsort (which is compiled for build). Since some -+ * of these values are used in structure initializers, they cannot be -+ * defined as 'const unsigned int' - instead, they have to be macros. -+ * Hence, the result of preprocessing will be run through sed to change -+ * 'DEFINE' into '#define' -+ */ -+#include -+ -+DEFINE HOST_IOC_NONE _IOC_NONE -+DEFINE HOST_IOC_READ _IOC_READ -+DEFINE HOST_IOC_WRITE _IOC_WRITE -+ -+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT -+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,8 @@ - #include - #include - #include --#include -+ -+#include "ioctl_iocdef.h" - - struct ioctlent { - const char *info; ---- a/Makefile.am -+++ b/Makefile.am -@@ -283,6 +283,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -721,10 +722,19 @@ - ioctlent%.h: ioctlsort% - ./$< > $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h -@@ -732,7 +742,7 @@ - - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) ioctl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h - ---- a/Makefile.in -+++ b/Makefile.in -@@ -978,6 +978,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -1377,7 +1378,7 @@ - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) native_printer_decls.h \ - native_printer_defs.h printers.h sen.h sys_func.h .version \ - $(am__append_7) $(am__append_11) --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) octl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h \ - sys_func.h $(am__append_8) $(am__append_12) - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h -@@ -5730,13 +5731,22 @@ - rm -f $<-t - mv $@-t $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlent%.h: ioctlsort% - ./$< > $@ - - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h diff --git a/packages/strace/4.13/chksum b/packages/strace/4.13/chksum deleted file mode 100644 index 1623267..0000000 --- a/packages/strace/4.13/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.13.tar.xz 4b78c7febdd24c79d5147824d1a080a3 -sha1 strace-4.13.tar.xz 7e1fc622e2b166cb74799a14c23d6bfde9ddbc3c -sha256 strace-4.13.tar.xz d48f732576c91ece36a5843d63f9be054c40ef59f1e4773986042636861625d7 -sha512 strace-4.13.tar.xz 166d9b80ec093e049161ee5506a60c408d6f953d8fa04ba5dcb5105b0c9181282a2c28ff0a7acfa44880be44fd1dbde2319e895868a6edecd0121700a49dfdec diff --git a/packages/strace/4.13/version.desc b/packages/strace/4.13/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.13/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.14/0000-use-host-ioctl.patch b/packages/strace/4.14/0000-use-host-ioctl.patch deleted file mode 100644 index 5e90362..0000000 --- a/packages/strace/4.14/0000-use-host-ioctl.patch +++ /dev/null @@ -1,148 +0,0 @@ ---- - Makefile.am | 14 ++++++++++++-- - Makefile.in | 14 ++++++++++++-- - ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - ioctlsort.c | 3 ++- - 4 files changed, 69 insertions(+), 5 deletions(-) - ---- /dev/null -+++ b/ioctl_iocdef.c -@@ -0,0 +1,43 @@ -+/* -+ * Copyright (c) 2017 Alexey Neyman -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 3. The name of the author may not be used to endorse or promote products -+ * derived from this software without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+/* -+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result -+ * is included into ioctlsort (which is compiled for build). Since some -+ * of these values are used in structure initializers, they cannot be -+ * defined as 'const unsigned int' - instead, they have to be macros. -+ * Hence, the result of preprocessing will be run through sed to change -+ * 'DEFINE' into '#define' -+ */ -+#include -+ -+DEFINE HOST_IOC_NONE _IOC_NONE -+DEFINE HOST_IOC_READ _IOC_READ -+DEFINE HOST_IOC_WRITE _IOC_WRITE -+ -+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT -+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT ---- a/ioctlsort.c -+++ b/ioctlsort.c -@@ -33,7 +33,8 @@ - #include - #include - #include --#include -+ -+#include "ioctl_iocdef.h" - - struct ioctlent { - const char *info; ---- a/Makefile.am -+++ b/Makefile.am -@@ -289,6 +289,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -739,10 +740,19 @@ - ioctlent%.h: ioctlsort% - ./$< > $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h -@@ -750,7 +760,7 @@ - - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) ioctl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h - ---- a/Makefile.in -+++ b/Makefile.in -@@ -995,6 +995,7 @@ - debian/watch \ - errnoent.sh \ - generate_sen.sh \ -+ ioctl_iocdef.c \ - ioctlsort.c \ - linux/32/ioctls_inc.h \ - linux/32/ioctls_inc_align32.h \ -@@ -1406,7 +1407,7 @@ - BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) native_printer_decls.h \ - native_printer_defs.h printers.h sen.h sys_func.h .version \ - $(am__append_7) $(am__append_11) --CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \ -+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) octl_iocdef.h $(mpers_preproc_files) \ - native_printer_decls.h native_printer_defs.h printers.h sen.h \ - sys_func.h $(am__append_8) $(am__append_12) - DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h -@@ -5896,13 +5897,22 @@ - rm -f $<-t - mv $@-t $@ - -+# Need to pick up definitions *for host* while compiling -+# ioctlsort *for build*, hence this magic. -+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c -+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@ -+ -+ioctl_iocdef.h: ioctl_iocdef.i -+ sed -n 's/^DEFINE HOST/#define /p' $< > $@ -+ - ioctlent%.h: ioctlsort% - ./$< > $@ - - ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o - $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@ - --ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c -+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c - $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c - - ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h diff --git a/packages/strace/4.14/chksum b/packages/strace/4.14/chksum deleted file mode 100644 index 3e27b66..0000000 --- a/packages/strace/4.14/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.14.tar.xz 1e39b5f7583256d7dc21170b9da529ae -sha1 strace-4.14.tar.xz fce60bd11cf5af30a562c27b26090dca1403bc24 -sha256 strace-4.14.tar.xz 5bed5110b243dce6864bedba269446c18c8c63f553cdd7fd4f808d89a764712f -sha512 strace-4.14.tar.xz e0040a0a0f7bf8537c9dd4ca42f514be0caa40475673522cce7f02ca608b7c0fdf4653dad049c4a6323740579926061f90e8522b6378d4c57c2a7732197a0950 diff --git a/packages/strace/4.14/version.desc b/packages/strace/4.14/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.14/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.5.20/chksum b/packages/strace/4.5.20/chksum deleted file mode 100644 index f2ad0cc..0000000 --- a/packages/strace/4.5.20/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.5.20.tar.bz2 64dfe10d9db0c1e34030891695ffca4b -sha1 strace-4.5.20.tar.bz2 3f5c8874610d7e3d13fc1c8b2e5fb5513468c45a -sha256 strace-4.5.20.tar.bz2 ea8c059369eaa5ad90b246f34eab247d0ee48bfdee2670c7196320a4669ccabd -sha512 strace-4.5.20.tar.bz2 b5adcbd00960580adf9441068d252216a40fcc4dca7888447f2de941b33e28bdd75058f3a7126eb487bc93f100b1f660d0fc5998885ca76929e5a0ce2069f2db diff --git a/packages/strace/4.5.20/version.desc b/packages/strace/4.5.20/version.desc deleted file mode 100644 index a114052..0000000 --- a/packages/strace/4.5.20/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' diff --git a/packages/strace/4.6/chksum b/packages/strace/4.6/chksum deleted file mode 100644 index cf2d270..0000000 --- a/packages/strace/4.6/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.6.tar.xz e537b2b1afeec70c0e6e27a0d0fd671e -sha1 strace-4.6.tar.xz d84d6e215a65454aa5660e7b5c6200f6de39b89e -sha256 strace-4.6.tar.xz 9ef9aa41b6118578e33ef4833b8a04209d6cc062546c28efd715f283b172c28a -sha512 strace-4.6.tar.xz 09246a2b104b66f407d35d25407def13a49aaab1fefdb5c3693503d066f18c20b68057fdf7954feaff7281b37b2e503b43eba89b7977108d84cb51e16b57cb43 diff --git a/packages/strace/4.6/version.desc b/packages/strace/4.6/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.6/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.7/chksum b/packages/strace/4.7/chksum deleted file mode 100644 index 5812fed..0000000 --- a/packages/strace/4.7/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.7.tar.xz 6054c3880a00c6703f83b57f15e04642 -sha1 strace-4.7.tar.xz af917d27abf54b43fecf10373b320a2d42dfba4e -sha256 strace-4.7.tar.xz c49cd98873c119c5f201356200a9b9687da1ceea83a05047e2ae0a7ac1e41195 -sha512 strace-4.7.tar.xz 52bcdd4b7a842b20233737197aeb5baf12533ea088568c9eeb644172420b98c79b86213c8068b49733da0a790031301b832489f87244bc65460971d1b0398d1e diff --git a/packages/strace/4.7/version.desc b/packages/strace/4.7/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.7/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.8/0000-strace-4.8-glibc_2.18_build_fix-1.patch b/packages/strace/4.8/0000-strace-4.8-glibc_2.18_build_fix-1.patch deleted file mode 100644 index 042f82a..0000000 --- a/packages/strace/4.8/0000-strace-4.8-glibc_2.18_build_fix-1.patch +++ /dev/null @@ -1,77 +0,0 @@ -Submitted By: Ken Moffat -Date: 2013-08-26 -Initial Package Version: 4.8 -Upstream Status: Unknown -Origin: Unknown -Description: Fixes compilation with glibc-2.18. -From OpenSuse factory, found in strace-4.8-2.1.src.rpm by rpmfind.net. -http://download.opensuse.org/factory/repo/src-oss/suse/strace-4.8-2.1.src.rpm -Their changelog reports: - * Wed Aug 14 2013 schwab@suse.de - - strace-linux-ptrace-h.patch: handle conflict with struct - ptrace_peeksiginfo_args between and - - ---- - process.c | 2 ++ - signal.c | 2 ++ - syscall.c | 2 ++ - util.c | 2 ++ - 4 files changed, 8 insertions(+) - ---- a/process.c -+++ b/process.c -@@ -63,9 +63,11 @@ - # ifdef HAVE_STRUCT_PT_ALL_USER_REGS - # define pt_all_user_regs XXX_pt_all_user_regs - # endif -+# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - # include - # undef ia64_fpreg - # undef pt_all_user_regs -+# undef ptrace_peeksiginfo_args - #endif - - #if defined(SPARC64) ---- a/signal.c -+++ b/signal.c -@@ -51,9 +51,11 @@ - # ifdef HAVE_STRUCT_PT_ALL_USER_REGS - # define pt_all_user_regs XXX_pt_all_user_regs - # endif -+# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - # include - # undef ia64_fpreg - # undef pt_all_user_regs -+# undef ptrace_peeksiginfo_args - #endif - - #ifdef IA64 ---- a/syscall.c -+++ b/syscall.c -@@ -48,9 +48,11 @@ - # ifdef HAVE_STRUCT_PT_ALL_USER_REGS - # define pt_all_user_regs XXX_pt_all_user_regs - # endif -+# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - # include - # undef ia64_fpreg - # undef pt_all_user_regs -+# undef ptrace_peeksiginfo_args - #endif - - #if defined(SPARC64) ---- a/util.c -+++ b/util.c -@@ -55,9 +55,11 @@ - # ifdef HAVE_STRUCT_PT_ALL_USER_REGS - # define pt_all_user_regs XXX_pt_all_user_regs - # endif -+# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - # include - # undef ia64_fpreg - # undef pt_all_user_regs -+# undef ptrace_peeksiginfo_args - #endif - - int diff --git a/packages/strace/4.8/chksum b/packages/strace/4.8/chksum deleted file mode 100644 index 1ea40cc..0000000 --- a/packages/strace/4.8/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.8.tar.xz c575ef43829586801f514fd91bfe7575 -sha1 strace-4.8.tar.xz 88c19b900d9cb2931e6ea4cf36e0ae3838f2f698 -sha256 strace-4.8.tar.xz f492291f07a7c805c07a8395cce1ea054a6401ad414f4cc12185672215e1d7f8 -sha512 strace-4.8.tar.xz c3316382f60cd4d02eec1eef46a0ef2d000afbccf2c176a6fec652e1b3391685f0e33f184497cb3ccf54d72d460471a4945d3a864fb5bce1f45f32fdf132cfe3 diff --git a/packages/strace/4.8/version.desc b/packages/strace/4.8/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.8/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' diff --git a/packages/strace/4.9/chksum b/packages/strace/4.9/chksum deleted file mode 100644 index 21d3485..0000000 --- a/packages/strace/4.9/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 strace-4.9.tar.xz 885eafadb10f6c60464a266d3929a2a4 -sha1 strace-4.9.tar.xz 5e6c78f0dc75e64814e5f8ef49c66823b7f00ae9 -sha256 strace-4.9.tar.xz 095bfea5c540b91d297ccac73b21b92fd54a24599fd70395db87ff9eb7fd6f65 -sha512 strace-4.9.tar.xz 70d03b74067ad03940cda72dc057a44a8a33fc55790a8a3bfffb1c4d7442c2de7f3e975a01dc7c7b0430342e492579b2f3a007242d13c8a0feba1a1989f42b7b diff --git a/packages/strace/4.9/version.desc b/packages/strace/4.9/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/strace/4.9/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6 From dab2d8011ea67118348a6bd28ae3583960c1b5c3 Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 21 Sep 2021 19:56:07 +1200 Subject: uClibc: Remove obsolete versions The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - uClibc-0.9.33.2 Signed-off-by: Chris Packham diff --git a/packages/uClibc/0.9.33.2/0000-m68k-ice.patch b/packages/uClibc/0.9.33.2/0000-m68k-ice.patch deleted file mode 100644 index 4f228f0..0000000 --- a/packages/uClibc/0.9.33.2/0000-m68k-ice.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- - Rules.mak | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/Rules.mak -+++ b/Rules.mak -@@ -226,6 +226,7 @@ - - OPTIMIZATION:= - # Use '-Os' optimization if available, else use -O2, allow Config to override -+ifneq ($(TARGET_ARCH),m68k) - $(eval $(call check-gcc-var,-Os)) - ifneq ($(CFLAG_-Os),) - OPTIMIZATION += $(CFLAG_-Os) -@@ -233,6 +234,7 @@ - $(eval $(call check-gcc-var,-O2)) - OPTIMIZATION += $(CFLAG_-O2) - endif -+endif - # Use the gcc 3.4 -funit-at-a-time optimization when available - $(eval $(call check-gcc-var,-funit-at-a-time)) - OPTIMIZATION += $(CFLAG_-funit-at-a-time) diff --git a/packages/uClibc/0.9.33.2/0001-fix-kernel-3.4plus-build.patch b/packages/uClibc/0.9.33.2/0001-fix-kernel-3.4plus-build.patch deleted file mode 100644 index 8c02399..0000000 --- a/packages/uClibc/0.9.33.2/0001-fix-kernel-3.4plus-build.patch +++ /dev/null @@ -1,346 +0,0 @@ -From 7fef6b983456e4c529a5239ea90715050e6f4452 Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Mon, 1 Oct 2012 18:12:54 +1300 -Subject: [PATCH 4/8] libc/sysdeps: add __kernel_long and __kernel_ulong - -Linux 3.4 added __kernel_long_t and __kernel_ulong_t and various -exported header files were updated to use these new types. Add the -definitions for __kernel_long_t and __kernel_ulong_t to the relevant -kernel_types.h headers. - -This change was automated with the following scriptlet - - git grep --name-only 'typedef.*__kernel_old_dev_t' \ - | xargs sed -i '/typedef.*__kernel_old_dev_t/ a\ - typedef long\t\t__kernel_long_t;\ - typedef unsigned long\t__kernel_ulong_t;' - -Whitespace in arm, avr32, hppa, sparc was then manually fixed up. - -Signed-off-by: Chris Packham --- -Here's a cleaned up patch which should get the whitespace right. I'm a -bit iffy about the sparc changes they make sense to me but it's not a -platform I have access to. - -I can break this up per arch or per maintainer if requested. - - libc/sysdeps/linux/alpha/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/arm/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/avr32/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/bfin/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/c6x/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/cris/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/e1/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/h8300/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/hppa/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/i386/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/ia64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/m68k/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/microblaze/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/mips/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/nios2/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/powerpc/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/sh/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/sh64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/sparc/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/v850/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/x86_64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/xtensa/bits/kernel_types.h | 2 ++ - 22 files changed, 50 insertions(+) -Signed-off-by: Bernhard Reutner-Fischer -Signed-off-by: Gustavo Zacarias -Signed-off-by: Thomas Petazzoni ---- - libc/sysdeps/linux/alpha/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/arm/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/avr32/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/bfin/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/c6x/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/cris/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/e1/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/h8300/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/hppa/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/i386/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/ia64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/m68k/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/microblaze/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/mips/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/nios2/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/powerpc/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/sh/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/sh64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/sparc/bits/kernel_types.h | 4 ++++ - libc/sysdeps/linux/v850/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/x86_64/bits/kernel_types.h | 2 ++ - libc/sysdeps/linux/xtensa/bits/kernel_types.h | 2 ++ - 22 files changed, 50 insertions(+) - ---- a/libc/sysdeps/linux/alpha/bits/kernel_types.h -+++ b/libc/sysdeps/linux/alpha/bits/kernel_types.h -@@ -33,6 +33,8 @@ - typedef __kernel_uid_t __kernel_uid32_t; - typedef __kernel_gid_t __kernel_gid32_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - int val[2]; ---- a/libc/sysdeps/linux/arm/bits/kernel_types.h -+++ b/libc/sysdeps/linux/arm/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef unsigned short __kernel_old_gid_t; - typedef long long __kernel_loff_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/avr32/bits/kernel_types.h -+++ b/libc/sysdeps/linux/avr32/bits/kernel_types.h -@@ -39,6 +39,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef unsigned short __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - #ifdef __GNUC__ - typedef long long __kernel_loff_t; ---- a/libc/sysdeps/linux/bfin/bits/kernel_types.h -+++ b/libc/sysdeps/linux/bfin/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef unsigned short __kernel_old_gid_t; - typedef long long __kernel_loff_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/c6x/bits/kernel_types.h -+++ b/libc/sysdeps/linux/c6x/bits/kernel_types.h -@@ -22,6 +22,8 @@ - typedef unsigned int __kernel_old_uid_t; - typedef unsigned int __kernel_old_gid_t; - typedef unsigned int __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef unsigned int __kernel_size_t; - typedef int __kernel_ssize_t; - typedef int __kernel_ptrdiff_t; ---- a/libc/sysdeps/linux/cris/bits/kernel_types.h -+++ b/libc/sysdeps/linux/cris/bits/kernel_types.h -@@ -28,6 +28,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - #ifdef __GNUC__ - typedef long long __kernel_loff_t; ---- a/libc/sysdeps/linux/e1/bits/kernel_types.h -+++ b/libc/sysdeps/linux/e1/bits/kernel_types.h -@@ -31,6 +31,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - /* ---- a/libc/sysdeps/linux/h8300/bits/kernel_types.h -+++ b/libc/sysdeps/linux/h8300/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef unsigned short __kernel_old_gid_t; - typedef long long __kernel_loff_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/hppa/bits/kernel_types.h -+++ b/libc/sysdeps/linux/hppa/bits/kernel_types.h -@@ -45,6 +45,8 @@ - typedef unsigned long long __kernel_ino64_t; - - typedef unsigned int __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/i386/bits/kernel_types.h -+++ b/libc/sysdeps/linux/i386/bits/kernel_types.h -@@ -40,6 +40,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - typedef struct { ---- a/libc/sysdeps/linux/ia64/bits/kernel_types.h -+++ b/libc/sysdeps/linux/ia64/bits/kernel_types.h -@@ -52,5 +52,7 @@ - - typedef unsigned int __kernel_dev_t; - typedef unsigned int __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - #endif /* _ASM_IA64_POSIX_TYPES_H */ ---- a/libc/sysdeps/linux/m68k/bits/kernel_types.h -+++ b/libc/sysdeps/linux/m68k/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef unsigned short __kernel_old_gid_t; - typedef long long __kernel_loff_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/microblaze/bits/kernel_types.h -+++ b/libc/sysdeps/linux/microblaze/bits/kernel_types.h -@@ -44,6 +44,8 @@ - typedef unsigned int __kernel_old_uid_t; - typedef unsigned int __kernel_old_gid_t; - typedef unsigned int __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - #ifdef __GNUC__ - typedef long long __kernel_loff_t; ---- a/libc/sysdeps/linux/mips/bits/kernel_types.h -+++ b/libc/sysdeps/linux/mips/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef __kernel_uid_t __kernel_old_uid_t; - typedef __kernel_gid_t __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - #else - typedef unsigned int __kernel_dev_t; -@@ -68,6 +70,8 @@ - typedef __kernel_uid_t __kernel_old_uid_t; - typedef __kernel_gid_t __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - #endif - ---- a/libc/sysdeps/linux/nios2/bits/kernel_types.h -+++ b/libc/sysdeps/linux/nios2/bits/kernel_types.h -@@ -31,6 +31,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef unsigned short __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - typedef struct { ---- a/libc/sysdeps/linux/powerpc/bits/kernel_types.h -+++ b/libc/sysdeps/linux/powerpc/bits/kernel_types.h -@@ -36,6 +36,8 @@ - typedef unsigned int __kernel_old_uid_t; - typedef unsigned int __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - #else - typedef unsigned int __kernel_dev_t; - typedef unsigned int __kernel_ino_t; -@@ -61,6 +63,8 @@ - typedef unsigned int __kernel_old_uid_t; - typedef unsigned int __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - #endif - ---- a/libc/sysdeps/linux/sh/bits/kernel_types.h -+++ b/libc/sysdeps/linux/sh/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - typedef struct { ---- a/libc/sysdeps/linux/sh64/bits/kernel_types.h -+++ b/libc/sysdeps/linux/sh64/bits/kernel_types.h -@@ -43,6 +43,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - typedef struct { ---- a/libc/sysdeps/linux/sparc/bits/kernel_types.h -+++ b/libc/sysdeps/linux/sparc/bits/kernel_types.h -@@ -32,6 +32,8 @@ - typedef __kernel_uid_t __kernel_old_uid_t; - typedef __kernel_gid_t __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef __kernel_uid_t __kernel_uid32_t; - typedef __kernel_gid_t __kernel_gid32_t; - typedef int __kernel_suseconds_t; -@@ -62,6 +64,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - #endif - ---- a/libc/sysdeps/linux/v850/bits/kernel_types.h -+++ b/libc/sysdeps/linux/v850/bits/kernel_types.h -@@ -41,6 +41,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - - typedef struct { - #ifdef __USE_ALL ---- a/libc/sysdeps/linux/x86_64/bits/kernel_types.h -+++ b/libc/sysdeps/linux/x86_64/bits/kernel_types.h -@@ -40,6 +40,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef __kernel_dev_t __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - typedef struct { ---- a/libc/sysdeps/linux/xtensa/bits/kernel_types.h -+++ b/libc/sysdeps/linux/xtensa/bits/kernel_types.h -@@ -33,6 +33,8 @@ - typedef unsigned short __kernel_old_uid_t; - typedef unsigned short __kernel_old_gid_t; - typedef unsigned short __kernel_old_dev_t; -+typedef long __kernel_long_t; -+typedef unsigned long __kernel_ulong_t; - typedef long long __kernel_loff_t; - - /* Beginning in 2.6 kernels, which is the first version that includes the diff --git a/packages/uClibc/0.9.33.2/0002-fix-darwin-build.patch b/packages/uClibc/0.9.33.2/0002-fix-darwin-build.patch deleted file mode 100644 index 666219c..0000000 --- a/packages/uClibc/0.9.33.2/0002-fix-darwin-build.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - extra/scripts/unifdef.c | 2 -- - 1 file changed, 2 deletions(-) - ---- a/extra/scripts/unifdef.c -+++ b/extra/scripts/unifdef.c -@@ -78,8 +78,6 @@ - #define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); }) - #define err(exit_code, fmt, args...) errx(exit_code, fmt ": %s", ## args, strerror(errno)) - --size_t strlcpy(char *dst, const char *src, size_t siz); -- - /* types of input lines: */ - typedef enum { - LT_TRUEI, /* a true #if with ignore flag */ diff --git a/packages/uClibc/0.9.33.2/0003-arm-unwind.patch b/packages/uClibc/0.9.33.2/0003-arm-unwind.patch deleted file mode 100644 index 2635bdd..0000000 --- a/packages/uClibc/0.9.33.2/0003-arm-unwind.patch +++ /dev/null @@ -1,25 +0,0 @@ -commit 16884562bf54a93e76c6d2ba03edb1fb00e8b3e0 -Author: Alexey Neyman -Date: Thu Oct 1 13:22:37 2015 -0700 - - Mark libgcc_c_resume as used. - - Recent GCC releases eliminate the data that is only set and never read, - along with the code storing to that data. For assembly blocks like in - ARM unwind code, the data structures need to be declared used. - ---- - libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c -+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/unwind-resume.c -@@ -26,7 +26,7 @@ - #define __libc_dlclose dlclose - #define __libc_fatal(x) {/*write(STDERR_FILENO, x, strlen(x));*/ abort();} - --static void (*libgcc_s_resume) (struct _Unwind_Exception *exc); -+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__; - static _Unwind_Reason_Code (*libgcc_s_personality) - (_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *); - diff --git a/packages/uClibc/0.9.33.2/0004-no-install-D.patch b/packages/uClibc/0.9.33.2/0004-no-install-D.patch deleted file mode 100644 index 35968bf..0000000 --- a/packages/uClibc/0.9.33.2/0004-no-install-D.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - utils/Makefile.in | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - ---- a/utils/Makefile.in -+++ b/utils/Makefile.in -@@ -118,15 +118,22 @@ - install-y += utils_install - - # This installs both utils and hostutils, so doesn't depend on either. -+$(PREFIX)$(DEVEL_PREFIX)bin $(PREFIX)$(RUNTIME_PREFIX)sbin: -+ $(do_mkdir) -+ -+utils_install: $(PREFIX)$(DEVEL_PREFIX)bin -+ifeq ($(HAVE_SHARED),y) -+utils_install: $(PREFIX)$(RUNTIME_PREFIX)sbin -+endif - - utils_install: $(addsuffix $(DOTHOST), $(utils_OBJ) $(utils_LOCALE_OBJ)) -- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/getconf$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/getconf -+ $(Q)$(INSTALL) -m 755 $(utils_OUT)/getconf$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/getconf - ifeq ($(HAVE_SHARED),y) -- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/ldd$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/ldd -- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/ldconfig$(DOTHOST) $(PREFIX)$(RUNTIME_PREFIX)sbin/ldconfig -+ $(Q)$(INSTALL) -m 755 $(utils_OUT)/ldd$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/ldd -+ $(Q)$(INSTALL) -m 755 $(utils_OUT)/ldconfig$(DOTHOST) $(PREFIX)$(RUNTIME_PREFIX)sbin/ldconfig - endif - ifeq ($(UCLIBC_HAS_LOCALE),y) -- $(Q)$(INSTALL) -D -m 755 $(utils_OUT)/iconv$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/iconv -+ $(Q)$(INSTALL) -m 755 $(utils_OUT)/iconv$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/iconv - #$(Q)$(INSTALL) -m 755 $(utils_OUT)/locale$(DOTHOST) $(PREFIX)$(DEVEL_PREFIX)bin/locale - endif - diff --git a/packages/uClibc/0.9.33.2/0005-prefer-multilib.patch b/packages/uClibc/0.9.33.2/0005-prefer-multilib.patch deleted file mode 100644 index 286e562..0000000 --- a/packages/uClibc/0.9.33.2/0005-prefer-multilib.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- - ldso/ldso/Makefile.in | 5 +++++ - ldso/ldso/dl-elf.c | 13 +++++++++++++ - 2 files changed, 18 insertions(+) - ---- a/ldso/ldso/dl-elf.c -+++ b/ldso/ldso/dl-elf.c -@@ -284,6 +284,19 @@ - } - } - #endif -+ -+#ifdef LDSO_MULTILIB_DIR -+ /* If multilib directory is selected, search it before falling back to -+ standard lib directories. */ -+ _dl_if_debug_dprint("\tsearching multilib lib path list\n"); -+ tpnt1 = search_for_named_library(libname, rflags, -+ UCLIBC_RUNTIME_PREFIX LDSO_MULTILIB_DIR ":" -+ UCLIBC_RUNTIME_PREFIX "usr" LDSO_MULTILIB_DIR, -+ rpnt); -+ if (tpnt1 != NULL) -+ return tpnt1; -+#endif -+ - #if defined SHARED && defined __LDSO_SEARCH_INTERP_PATH__ - /* Look for libraries wherever the shared library loader - * was installed */ ---- a/ldso/ldso/Makefile.in -+++ b/ldso/ldso/Makefile.in -@@ -30,6 +30,11 @@ - - CFLAGS-ldso.c := -DLDSO_ELFINTERP=\"$(TARGET_ARCH)/elfinterp.c\" $(CFLAGS-ldso) - -+# Search non-default multilib directories -+ifneq ($(MULTILIB_DIR),lib) -+CFLAGS-ldso.c += -DLDSO_MULTILIB_DIR=\"$(MULTILIB_DIR)\" -+endif -+ - LDFLAGS-$(UCLIBC_FORMAT_DSBT_ELF)-$(UCLIBC_LDSO_NAME).so := -Wl,--dsbt-index=1 - ifneq ($(SUPPORT_LD_DEBUG),y) - LDFLAGS-$(UCLIBC_LDSO_NAME).so := $(LDFLAGS) diff --git a/packages/uClibc/0.9.33.2/0006-dlopen-static.patch b/packages/uClibc/0.9.33.2/0006-dlopen-static.patch deleted file mode 100644 index 6699180..0000000 --- a/packages/uClibc/0.9.33.2/0006-dlopen-static.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 231e4a9b4b972662a6832f714a05525a3754892d Mon Sep 17 00:00:00 2001 -From: Filippo Arcidiacono -Date: Thu, 9 May 2013 09:04:20 +0200 -Subject: libdl: fix dlopen implementation from statically linked application - -Calling dlopen from statically linked application is actually broken, -because _dl_find_hash enters into an infinite loop when trying to -resolve symbols. In this case it doesn't need to extend the global -scope, it is readyto be used as it is, because _dl_loaded_modules already points -to the dlopened library. - -The patch also fixesi a typo in __LDSO_LD_LIBRARY_PATH__ macro, that was -preventing to get the actual value of the LD_LIBRARY_PATH. - -Signed-off-by: Filippo Arcidiacono -Signed-off-by: Carmelo Amoroso ---- - ldso/libdl/libdl.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - ---- a/ldso/libdl/libdl.c -+++ b/ldso/libdl/libdl.c -@@ -377,7 +377,7 @@ - if (getenv("LD_BIND_NOW")) - now_flag = RTLD_NOW; - --#if !defined SHARED && defined __LDSO_LIBRARY_PATH__ -+#if !defined SHARED && defined __LDSO_LD_LIBRARY_PATH__ - /* When statically linked, the _dl_library_path is not yet initialized */ - _dl_library_path = getenv("LD_LIBRARY_PATH"); - #endif -@@ -544,11 +544,18 @@ - * to the GOT tables. We need to do this in reverse order so that COPY - * directives work correctly */ - -- /* Get the tail of the list */ -+#ifdef SHARED -+ /* -+ * Get the tail of the list. -+ * In the static case doesn't need to extend the global scope, it is -+ * ready to be used as it is, because _dl_loaded_modules already points -+ * to the dlopened library. -+ */ - for (ls = &_dl_loaded_modules->symbol_scope; ls && ls->next; ls = ls->next); - - /* Extend the global scope by adding the local scope of the dlopened DSO. */ - ls->next = &dyn_chain->dyn->symbol_scope; -+#endif - #ifdef __mips__ - /* - * Relocation of the GOT entries for MIPS have to be done diff --git a/packages/uClibc/0.9.33.2/0007-make-olddefconfig.patch b/packages/uClibc/0.9.33.2/0007-make-olddefconfig.patch deleted file mode 100644 index 9c8a535..0000000 --- a/packages/uClibc/0.9.33.2/0007-make-olddefconfig.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- - Makefile.in | 3 +++ - extra/config/conf.c | 4 +++- - 2 files changed, 6 insertions(+), 1 deletion(-) - ---- a/extra/config/conf.c -+++ b/extra/config/conf.c -@@ -435,6 +435,7 @@ - const char *name; - const char *configname = conf_get_configname(); - struct stat tmpstat; -+ int olddefconfig = 0; - - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); -@@ -451,6 +452,7 @@ - break; - case 'd': - input_mode = set_default; -+ olddefconfig = 1; - break; - case 'D': - input_mode = set_default; -@@ -514,7 +516,7 @@ - switch (input_mode) { - case set_default: - if (!defconfig_file) -- defconfig_file = conf_get_default_confname(); -+ defconfig_file = olddefconfig ? NULL : conf_get_default_confname(); - if (conf_read(defconfig_file)) { - printf(_("***\n" - "*** Can't find default configuration \"%s\"!\n" ---- a/Makefile.in -+++ b/Makefile.in -@@ -460,6 +460,9 @@ - allnoconfig: $(conf) - $(Q)$< -n extra/Configs/Config.in - -+olddefconfig: $(conf) -+ $(Q)$< -d extra/Configs/Config.in -+ - defconfig: $(conf) - $(Q)$< -D extra/Configs/defconfigs/$(ARCH)/$@ extra/Configs/Config.in - diff --git a/packages/uClibc/0.9.33.2/chksum b/packages/uClibc/0.9.33.2/chksum deleted file mode 100644 index 4664396..0000000 --- a/packages/uClibc/0.9.33.2/chksum +++ /dev/null @@ -1,8 +0,0 @@ -md5 uClibc-0.9.33.2.tar.xz 73e6fe215648d02246f4d195b25fb17e -sha1 uClibc-0.9.33.2.tar.xz 7b9f7c9c29b49eda4500dfd5faeb1411ec0c9508 -sha256 uClibc-0.9.33.2.tar.xz 62333167b79afb0b25a843513288c67b59547acf653e8fbe62ee64e71ebd1587 -sha512 uClibc-0.9.33.2.tar.xz 5884c3ed1c0f3dd32fbcc4336fbfe4636439322ed944130c48d6272d894f2f806ce9917c87250b4e04c41fa19b6633b777e0a8548792d10571413464483b8326 -md5 uClibc-0.9.33.2.tar.bz2 a338aaffc56f0f5040e6d9fa8a12eda1 -sha1 uClibc-0.9.33.2.tar.bz2 4d8d67d6754409bd10015d67d1ce7a04c0b001ba -sha256 uClibc-0.9.33.2.tar.bz2 988d2c777e0605fe253d12157f71ec68f25d1bb8428725d2b7460bf9977e1662 -sha512 uClibc-0.9.33.2.tar.bz2 1cf18fe5418e12ae12ce995d7455d465bc4737f225afc49512ec69858771e099bead7b18408b01c7e6f845dcc80c3b4f875332eeffdcc04ae4b48474fb29a8dd diff --git a/packages/uClibc/0.9.33.2/version.desc b/packages/uClibc/0.9.33.2/version.desc deleted file mode 100644 index fcfe389..0000000 --- a/packages/uClibc/0.9.33.2/version.desc +++ /dev/null @@ -1 +0,0 @@ -obsolete='yes' -- cgit v0.10.2-6-g49f6