summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorChris Packham <judge.packham@gmail.com>2021-09-26 07:47:36 (GMT)
committerChris Packham <judge.packham@gmail.com>2021-09-26 07:47:42 (GMT)
commitaa524934f5fcfedb91b03d2fec7a8dd4dd080aea (patch)
treeff5e58ebf6d3aa1fdff5fb1cf9888904f19cd4fa /packages
parent02d1503f6769be4ad8058b393d4245febced459f (diff)
parentdab2d8011ea67118348a6bd28ae3583960c1b5c3 (diff)
Merge branch 'remove-obsolete-versions' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Diffstat (limited to 'packages')
-rw-r--r--packages/android-ndk/r10e/chksum4
-rw-r--r--packages/android-ndk/r10e/version.desc1
-rw-r--r--packages/android-ndk/r11c/chksum4
-rw-r--r--packages/android-ndk/r11c/version.desc1
-rw-r--r--packages/android-ndk/r12b/chksum4
-rw-r--r--packages/android-ndk/r12b/version.desc1
-rw-r--r--packages/android-ndk/r13b/chksum4
-rw-r--r--packages/android-ndk/r13b/version.desc1
-rw-r--r--packages/autoconf/version.desc1
-rw-r--r--packages/automake/1.11.6/0000-escape-left-brace.patch27
-rw-r--r--packages/automake/1.11.6/chksum8
-rw-r--r--packages/automake/1.11.6/version.desc1
-rw-r--r--packages/automake/1.14.1/0000-escape-left-brace.patch27
-rw-r--r--packages/automake/1.14.1/chksum8
-rw-r--r--packages/automake/1.14.1/version.desc1
-rw-r--r--packages/binutils-linaro/2.23.2-2013.10-4/chksum4
-rw-r--r--packages/binutils-linaro/2.23.2-2013.10-4/version.desc2
-rw-r--r--packages/binutils-linaro/2.24.0-2014.11-2/chksum4
-rw-r--r--packages/binutils-linaro/2.24.0-2014.11-2/version.desc1
-rw-r--r--packages/binutils-linaro/2.25.0-2015.01-2/chksum4
-rw-r--r--packages/binutils-linaro/2.25.0-2015.01-2/version.desc1
-rw-r--r--packages/binutils/2.23.2/0000-sh-conf.patch34
-rw-r--r--packages/binutils/2.23.2/0001-ld_makefile_patch.patch27
-rw-r--r--packages/binutils/2.23.2/0002-check_ldrunpath_length.patch24
-rw-r--r--packages/binutils/2.23.2/0003-fix-gold-pthreads-typo.patch18
-rw-r--r--packages/binutils/2.23.2/0004-sysroot.patch41
-rw-r--r--packages/binutils/2.23.2/0005-poison-system-directories.patch273
-rw-r--r--packages/binutils/2.23.2/0006-xtensa-trampolines.patch827
-rw-r--r--packages/binutils/2.23.2/0007-xtensa-gas-first-frag-alignment.patch46
-rw-r--r--packages/binutils/2.23.2/0008-xtensa-gas-ld-diff-relocation-signed.patch126
-rw-r--r--packages/binutils/2.23.2/0009-xtensa-fix-ld-segfault-when-linking-linux-modules.patch42
-rw-r--r--packages/binutils/2.23.2/0010-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch74
-rw-r--r--packages/binutils/2.23.2/0011-Fix-trampolines-search-code-for-conditional-branches.patch81
-rw-r--r--packages/binutils/2.23.2/0012-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch52
-rw-r--r--packages/binutils/2.23.2/0013-xtensa-fix-gas-segfault-with-text-section-literals.patch51
-rw-r--r--packages/binutils/2.23.2/0014-xtensa-fix-signedness-of-gas-relocations.patch42
-rw-r--r--packages/binutils/2.23.2/0015-xtensa-fix-.init-.fini-literals-moving.patch66
-rw-r--r--packages/binutils/2.23.2/0016-Fix-a-missing-include-of-string.patch26
-rw-r--r--packages/binutils/2.23.2/chksum8
-rw-r--r--packages/binutils/2.23.2/version.desc2
-rw-r--r--packages/binutils/2.24/0000-fix-enable-install-libiberty-flag.patch39
-rw-r--r--packages/binutils/2.24/0001-dont-segv-on-initial-instructions-overflow.patch68
-rw-r--r--packages/binutils/2.24/0002-sh-conf.patch34
-rw-r--r--packages/binutils/2.24/0003-ld_makefile_patch.patch27
-rw-r--r--packages/binutils/2.24/0004-check_ldrunpath_length.patch24
-rw-r--r--packages/binutils/2.24/0005-fix-gold-pthreads-typo.patch18
-rw-r--r--packages/binutils/2.24/0006-sysroot.patch41
-rw-r--r--packages/binutils/2.24/0007-poison-system-directories.patch273
-rw-r--r--packages/binutils/2.24/0008-Fix-library-paths-on-PowerPC.patch37
-rw-r--r--packages/binutils/2.24/0009-xtensa-trampolines.patch827
-rw-r--r--packages/binutils/2.24/0010-xtensa-gas-first-frag-alignment.patch46
-rw-r--r--packages/binutils/2.24/0011-xtensa-gas-ld-diff-relocation-signed.patch126
-rw-r--r--packages/binutils/2.24/0012-xtensa-fix-ld-segfault-when-linking-linux-modules.patch42
-rw-r--r--packages/binutils/2.24/0013-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch74
-rw-r--r--packages/binutils/2.24/0014-Fix-trampolines-search-code-for-conditional-branches.patch81
-rw-r--r--packages/binutils/2.24/0015-xtensa-optimize-check_section_ebb_pcrels_fit.patch497
-rw-r--r--packages/binutils/2.24/0016-xtensa-optimize-removed_by_actions.patch351
-rw-r--r--packages/binutils/2.24/0017-xtensa-optimize-find_removed_literal.patch141
-rw-r--r--packages/binutils/2.24/0018-xtensa-replace-action-list-with-splay-tree.patch821
-rw-r--r--packages/binutils/2.24/0019-xtensa-optimize-trampolines-relaxation.patch340
-rw-r--r--packages/binutils/2.24/0020-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch52
-rw-r--r--packages/binutils/2.24/0021-xtensa-fix-gas-segfault-with-text-section-literals.patch51
-rw-r--r--packages/binutils/2.24/0022-xtensa-add-auto-litpools-option.patch684
-rw-r--r--packages/binutils/2.24/0023-xtensa-fix-signedness-of-gas-relocations.patch42
-rw-r--r--packages/binutils/2.24/0024-xtensa-fix-.init-.fini-literals-moving.patch66
-rw-r--r--packages/binutils/2.24/0025-Fix-a-missing-include-of-string.patch26
-rw-r--r--packages/binutils/2.24/chksum8
-rw-r--r--packages/binutils/2.24/version.desc2
-rw-r--r--packages/binutils/2.25.1/0000-sh-conf.patch34
-rw-r--r--packages/binutils/2.25.1/0001-ld_makefile_patch.patch27
-rw-r--r--packages/binutils/2.25.1/0002-check_ldrunpath_length.patch24
-rw-r--r--packages/binutils/2.25.1/0003-fix-gold-pthreads-typo.patch18
-rw-r--r--packages/binutils/2.25.1/0004-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch15
-rw-r--r--packages/binutils/2.25.1/0005-Dont-link-to-libfl-as-its-unnecessary.patch105
-rw-r--r--packages/binutils/2.25.1/0006-Darwin-gold-binary-cc-include-string-not-cstring.patch15
-rw-r--r--packages/binutils/2.25.1/0007-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch70
-rw-r--r--packages/binutils/2.25.1/0008-arm-rotate_left-fix.patch21
-rw-r--r--packages/binutils/2.25.1/0009-sysroot.patch41
-rw-r--r--packages/binutils/2.25.1/0010-poison-system-directories.patch279
-rw-r--r--packages/binutils/2.25.1/0011-Fix-library-paths-on-PowerPC.patch37
-rw-r--r--packages/binutils/2.25.1/0012-Fix-trampolines-search-code-for-conditional-branches.patch81
-rw-r--r--packages/binutils/2.25.1/0013-xtensa-optimize-check_section_ebb_pcrels_fit.patch497
-rw-r--r--packages/binutils/2.25.1/0014-xtensa-optimize-removed_by_actions.patch351
-rw-r--r--packages/binutils/2.25.1/0015-xtensa-optimize-find_removed_literal.patch141
-rw-r--r--packages/binutils/2.25.1/0016-xtensa-replace-action-list-with-splay-tree.patch821
-rw-r--r--packages/binutils/2.25.1/0017-xtensa-optimize-trampolines-relaxation.patch340
-rw-r--r--packages/binutils/2.25.1/0018-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch52
-rw-r--r--packages/binutils/2.25.1/0019-xtensa-fix-gas-segfault-with-text-section-literals.patch51
-rw-r--r--packages/binutils/2.25.1/0020-xtensa-add-auto-litpools-option.patch684
-rw-r--r--packages/binutils/2.25.1/0021-xtensa-fix-signedness-of-gas-relocations.patch85
-rw-r--r--packages/binutils/2.25.1/0022-xtensa-fix-.init-.fini-literals-moving.patch136
-rw-r--r--packages/binutils/2.25.1/0023-Fix-a-missing-include-of-string.patch26
-rw-r--r--packages/binutils/2.25.1/chksum8
-rw-r--r--packages/binutils/2.25.1/version.desc2
-rw-r--r--packages/binutils/package.desc2
-rw-r--r--packages/cloog/0.18.1/chksum4
-rw-r--r--packages/cloog/0.18.1/version.desc1
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0000-gcc_bug_62231.patch132
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0001-gcc_bug_62231.patch21
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0002-libtool-leave-framework-alone.patch18
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0003-uclibc-conf.patch17
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0004-pr65730.patch32
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0005-pr43538.patch20
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0006-mt-ospace-preserve-FLAGS_FOR_TARGET.patch23
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0007-build_gcc-5_with_gcc-6.patch141
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0008-missing-execinfo_h.patch15
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0009-libmudflap-susv3-legacy.patch51
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0010-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch107
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0011-arm-softfloat-libgcc.patch31
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0012-arm_unbreak_armv4t.patch17
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0013-PR57717-E500v2.patch26
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0014-PR60155.patch115
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0015-aarch64-vmlaq_lane_s32-typo.patch26
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0016-libstdcxx-uclibc-c99.patch257
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0017-PR-other-56780.patch235
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0018-xtensa-add-mauto-litpools-option.patch273
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0019-xtensa-reimplement-register-spilling.patch71
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0020-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch28
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0021-xtensa-fix-_Unwind_GetCFA.patch35
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0022-gcc-xtensa-fix-fprintf-format-specifiers.patch68
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0023-xtensa-fix-PR-target-82181.patch26
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0024-musl-support.patch628
-rw-r--r--packages/gcc-linaro/4.8-2015.06/0025-cygwin64.patch15
-rw-r--r--packages/gcc-linaro/4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional122
-rw-r--r--packages/gcc-linaro/4.8-2015.06/chksum4
-rw-r--r--packages/gcc-linaro/4.8-2015.06/version.desc1
-rw-r--r--packages/gcc/4.8.5/0000-gcc_bug_62231.patch132
-rw-r--r--packages/gcc/4.8.5/0001-gcc_bug_62231.patch21
-rw-r--r--packages/gcc/4.8.5/0002-libtool-leave-framework-alone.patch18
-rw-r--r--packages/gcc/4.8.5/0003-uclibc-conf.patch17
-rw-r--r--packages/gcc/4.8.5/0004-alpha-bad-eh_frame.patch15
-rw-r--r--packages/gcc/4.8.5/0005-pr65730.patch32
-rw-r--r--packages/gcc/4.8.5/0006-pr43538.patch20
-rw-r--r--packages/gcc/4.8.5/0007-mt-ospace-preserve-FLAGS_FOR_TARGET.patch23
-rw-r--r--packages/gcc/4.8.5/0008-build_gcc-5_with_gcc-6.patch141
-rw-r--r--packages/gcc/4.8.5/0009-missing-execinfo_h.patch15
-rw-r--r--packages/gcc/4.8.5/0010-libmudflap-susv3-legacy.patch51
-rw-r--r--packages/gcc/4.8.5/0011-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch107
-rw-r--r--packages/gcc/4.8.5/0012-arm-softfloat-libgcc.patch31
-rw-r--r--packages/gcc/4.8.5/0013-arm_unbreak_armv4t.patch17
-rw-r--r--packages/gcc/4.8.5/0014-PR57717-E500v2.patch26
-rw-r--r--packages/gcc/4.8.5/0015-PR60155.patch115
-rw-r--r--packages/gcc/4.8.5/0016-aarch64-vmlaq_lane_s32-typo.patch26
-rw-r--r--packages/gcc/4.8.5/0017-libstdcxx-uclibc-c99.patch257
-rw-r--r--packages/gcc/4.8.5/0018-PR-other-56780.patch235
-rw-r--r--packages/gcc/4.8.5/0019-xtensa-add-mauto-litpools-option.patch273
-rw-r--r--packages/gcc/4.8.5/0020-xtensa-reimplement-register-spilling.patch71
-rw-r--r--packages/gcc/4.8.5/0021-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch28
-rw-r--r--packages/gcc/4.8.5/0022-xtensa-fix-_Unwind_GetCFA.patch35
-rw-r--r--packages/gcc/4.8.5/0023-gcc-xtensa-fix-fprintf-format-specifiers.patch68
-rw-r--r--packages/gcc/4.8.5/0024-xtensa-fix-PR-target-82181.patch26
-rw-r--r--packages/gcc/4.8.5/0025-musl-support.patch628
-rw-r--r--packages/gcc/4.8.5/0026-cygwin64.patch15
-rw-r--r--packages/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional122
-rw-r--r--packages/gcc/4.8.5/chksum8
-rw-r--r--packages/gcc/4.8.5/version.desc2
-rw-r--r--packages/gdb/package.desc2
-rw-r--r--packages/gettext/0.19.7/0000-Fix-linker-error-redefinition-of-vasprintf.patch26
-rw-r--r--packages/gettext/0.19.7/0001-Fix-Woe32-link-errors-when-compiling-with-O0.patch353
-rw-r--r--packages/gettext/0.19.7/0002-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch75
-rw-r--r--packages/gettext/0.19.7/0003-Fix-Cygwin-sys-select.patch41
-rw-r--r--packages/gettext/0.19.7/0004-Fix-Cygwin-sys-select-2.patch30
-rw-r--r--packages/gettext/0.19.7/chksum12
-rw-r--r--packages/gettext/0.19.7/version.desc2
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0000-sparc-nptl.patch14
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0004-unused-variables.patch171
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0006-dl-open-array-bounds.patch38
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0007-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0008-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0009-explicit-boolean.patch35
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0010-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0011-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0012-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0013-utmp-nonstring.patch80
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0014-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc-linaro/2.20-2014.11/0015-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc-linaro/2.20-2014.11/chksum4
-rw-r--r--packages/glibc-linaro/2.20-2014.11/version.desc1
-rw-r--r--packages/glibc-linaro/package.desc7
-rw-r--r--packages/glibc/2.12.2/0000-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.12.2/0001-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.12.2/0002-march-i686.patch37
-rw-r--r--packages/glibc/2.12.2/0003-typedef-caddr.patch31
-rw-r--r--packages/glibc/2.12.2/0004-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.12.2/0005-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.12.2/0006-obstack-common.patch32
-rw-r--r--packages/glibc/2.12.2/0007-new-tools.patch72
-rw-r--r--packages/glibc/2.12.2/0008-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.12.2/0009-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.12.2/0010-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.12.2/0011-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.12.2/0012-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.12.2/chksum12
-rw-r--r--packages/glibc/2.12.2/version.desc1
-rw-r--r--packages/glibc/2.13/0000-respect-env-CPPFLAGS.patch17
-rw-r--r--packages/glibc/2.13/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.13/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.13/0003-unused-variables.patch159
-rw-r--r--packages/glibc/2.13/0004-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.13/0005-dl-open-array-bounds.patch29
-rw-r--r--packages/glibc/2.13/0006-i386-x86_64-revert-clone-cfi.patch51
-rw-r--r--packages/glibc/2.13/0007-disable-ldconfig.patch19
-rw-r--r--packages/glibc/2.13/0008-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.13/0009-queue-header-updates.patch86
-rw-r--r--packages/glibc/2.13/0010-manual-no-perl.patch27
-rw-r--r--packages/glibc/2.13/0011-localedef-fix-trampoline.patch56
-rw-r--r--packages/glibc/2.13/0012-resolv-dynamic.patch42
-rw-r--r--packages/glibc/2.13/0013-localedef-mmap.patch42
-rw-r--r--packages/glibc/2.13/0014-fadvise64_64.patch27
-rw-r--r--packages/glibc/2.13/0015-section-comments.patch27
-rw-r--r--packages/glibc/2.13/0016-no-inline-gmon.patch36
-rw-r--r--packages/glibc/2.13/0017-check_native-headers.patch20
-rw-r--r--packages/glibc/2.13/0018-fix-pr631.patch48
-rw-r--r--packages/glibc/2.13/0019-assume-pipe2.patch43
-rw-r--r--packages/glibc/2.13/0020-china.patch35
-rw-r--r--packages/glibc/2.13/0021-new-valencian-locale.patch118
-rw-r--r--packages/glibc/2.13/0022-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.13/0023-nscd-one-fork.patch43
-rw-r--r--packages/glibc/2.13/0024-hppa-nptl-carlos.patch249
-rw-r--r--packages/glibc/2.13/0025-dl_execstack-PaX-support.patch69
-rw-r--r--packages/glibc/2.13/0026-pre20040117-pt_pax.patch35
-rw-r--r--packages/glibc/2.13/0027-tests-sandbox-libdl-paths.patch196
-rw-r--r--packages/glibc/2.13/0028-dont-build-timezone.patch17
-rw-r--r--packages/glibc/2.13/0029-alpha-xstat.patch18
-rw-r--r--packages/glibc/2.13/0030-alpha-creat.patch17
-rw-r--r--packages/glibc/2.13/0031-alpha_alpha-add-fdatasync-support.patch122
-rw-r--r--packages/glibc/2.13/0032-ppc-atomic.patch412
-rw-r--r--packages/glibc/2.13/0033-mips_shn_undef-hack.patch19
-rw-r--r--packages/glibc/2.13/0034-alpha-atfcts.patch16
-rw-r--r--packages/glibc/2.13/0035-syslog.patch15
-rw-r--r--packages/glibc/2.13/0036-debug-readlink_chk-readklinkat_chk.patch27
-rw-r--r--packages/glibc/2.13/0037-march-i686.patch37
-rw-r--r--packages/glibc/2.13/0038-typedef-caddr.patch31
-rw-r--r--packages/glibc/2.13/0039-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.13/0040-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.13/0041-initfini-ppc64.patch24
-rw-r--r--packages/glibc/2.13/0042-obstack-common.patch32
-rw-r--r--packages/glibc/2.13/0043-new-tools.patch72
-rw-r--r--packages/glibc/2.13/0044-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.13/0045-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.13/0046-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.13/0047-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.13/0048-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.13/chksum12
-rw-r--r--packages/glibc/2.13/version.desc1
-rw-r--r--packages/glibc/2.14.1/0000-respect-env-CPPFLAGS.patch17
-rw-r--r--packages/glibc/2.14.1/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.14.1/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.14.1/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.14.1/0004-unused-variables.patch159
-rw-r--r--packages/glibc/2.14.1/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.14.1/0006-dl-open-array-bounds.patch29
-rw-r--r--packages/glibc/2.14.1/0007-i386-x86_64-revert-clone-cfi.patch51
-rw-r--r--packages/glibc/2.14.1/0008-disable-ldconfig.patch19
-rw-r--r--packages/glibc/2.14.1/0009-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.14.1/0010-queue-header-updates.patch86
-rw-r--r--packages/glibc/2.14.1/0011-manual-no-perl.patch27
-rw-r--r--packages/glibc/2.14.1/0012-localedef-fix-trampoline.patch56
-rw-r--r--packages/glibc/2.14.1/0013-resolv-dynamic.patch42
-rw-r--r--packages/glibc/2.14.1/0014-localedef-mmap.patch42
-rw-r--r--packages/glibc/2.14.1/0015-fadvise64_64.patch27
-rw-r--r--packages/glibc/2.14.1/0016-section-comments.patch27
-rw-r--r--packages/glibc/2.14.1/0017-no-inline-gmon.patch36
-rw-r--r--packages/glibc/2.14.1/0018-assume-pipe2.patch43
-rw-r--r--packages/glibc/2.14.1/0019-china.patch35
-rw-r--r--packages/glibc/2.14.1/0020-new-valencian-locale.patch118
-rw-r--r--packages/glibc/2.14.1/0021-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.14.1/0022-nscd-one-fork.patch43
-rw-r--r--packages/glibc/2.14.1/0023-hppa-nptl-carlos.patch249
-rw-r--r--packages/glibc/2.14.1/0024-dl_execstack-PaX-support.patch69
-rw-r--r--packages/glibc/2.14.1/0025-pre20040117-pt_pax.patch35
-rw-r--r--packages/glibc/2.14.1/0026-tests-sandbox-libdl-paths.patch196
-rw-r--r--packages/glibc/2.14.1/0027-dont-build-timezone.patch17
-rw-r--r--packages/glibc/2.14.1/0028-alpha-xstat.patch18
-rw-r--r--packages/glibc/2.14.1/0029-alpha-creat.patch17
-rw-r--r--packages/glibc/2.14.1/0030-alpha_alpha-add-fdatasync-support.patch122
-rw-r--r--packages/glibc/2.14.1/0031-ppc-atomic.patch412
-rw-r--r--packages/glibc/2.14.1/0032-mips_shn_undef-hack.patch19
-rw-r--r--packages/glibc/2.14.1/0033-alpha-atfcts.patch16
-rw-r--r--packages/glibc/2.14.1/0034-syslog.patch15
-rw-r--r--packages/glibc/2.14.1/0035-debug-readlink_chk-readklinkat_chk.patch27
-rw-r--r--packages/glibc/2.14.1/0036-cpuid-include.patch630
-rw-r--r--packages/glibc/2.14.1/0037-asm-i686.patch52
-rw-r--r--packages/glibc/2.14.1/0038-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.14.1/0039-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.14.1/0040-initfini-ppc64.patch24
-rw-r--r--packages/glibc/2.14.1/0041-obsolete-rpc.patch1607
-rw-r--r--packages/glibc/2.14.1/0042-obstack-common.patch32
-rw-r--r--packages/glibc/2.14.1/0043-new-tools.patch72
-rw-r--r--packages/glibc/2.14.1/0044-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.14.1/0045-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.14.1/0046-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.14.1/0047-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.14.1/0048-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.14.1/chksum12
-rw-r--r--packages/glibc/2.14.1/version.desc1
-rw-r--r--packages/glibc/2.15/0000-respect-env-CPPFLAGS.patch17
-rw-r--r--packages/glibc/2.15/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.15/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.15/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.15/0004-unused-variables.patch155
-rw-r--r--packages/glibc/2.15/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.15/0006-dl-open-array-bounds.patch29
-rw-r--r--packages/glibc/2.15/0007-i386-x86_64-revert-clone-cfi.patch51
-rw-r--r--packages/glibc/2.15/0008-disable-ldconfig.patch19
-rw-r--r--packages/glibc/2.15/0009-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.15/0010-queue-header-updates.patch86
-rw-r--r--packages/glibc/2.15/0011-manual-no-perl.patch27
-rw-r--r--packages/glibc/2.15/0012-localedef-fix-trampoline.patch56
-rw-r--r--packages/glibc/2.15/0013-resolv-dynamic.patch42
-rw-r--r--packages/glibc/2.15/0014-fadvise64_64.patch27
-rw-r--r--packages/glibc/2.15/0015-section-comments.patch27
-rw-r--r--packages/glibc/2.15/0016-no-inline-gmon.patch36
-rw-r--r--packages/glibc/2.15/0017-assume-pipe2.patch43
-rw-r--r--packages/glibc/2.15/0018-china.patch35
-rw-r--r--packages/glibc/2.15/0019-new-valencian-locale.patch118
-rw-r--r--packages/glibc/2.15/0020-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.15/0021-nscd-one-fork.patch43
-rw-r--r--packages/glibc/2.15/0022-hppa-nptl-carlos.patch249
-rw-r--r--packages/glibc/2.15/0023-dl_execstack-PaX-support.patch69
-rw-r--r--packages/glibc/2.15/0024-pre20040117-pt_pax.patch35
-rw-r--r--packages/glibc/2.15/0025-tests-sandbox-libdl-paths.patch196
-rw-r--r--packages/glibc/2.15/0026-dont-build-timezone.patch17
-rw-r--r--packages/glibc/2.15/0027-alpha-xstat.patch18
-rw-r--r--packages/glibc/2.15/0028-alpha-creat.patch17
-rw-r--r--packages/glibc/2.15/0029-alpha_alpha-add-fdatasync-support.patch122
-rw-r--r--packages/glibc/2.15/0030-ppc-atomic.patch412
-rw-r--r--packages/glibc/2.15/0031-mips_shn_undef-hack.patch19
-rw-r--r--packages/glibc/2.15/0032-alpha-atfcts.patch16
-rw-r--r--packages/glibc/2.15/0033-syslog.patch15
-rw-r--r--packages/glibc/2.15/0034-debug-readlink_chk-readklinkat_chk.patch27
-rw-r--r--packages/glibc/2.15/0035-cpuid-include.patch551
-rw-r--r--packages/glibc/2.15/0036-asm-i686.patch52
-rw-r--r--packages/glibc/2.15/0037-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.15/0038-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.15/0039-try-link-static.patch174
-rw-r--r--packages/glibc/2.15/0040-builtin_expect.patch85
-rw-r--r--packages/glibc/2.15/0041-gcc_s-suffix.patch111
-rw-r--r--packages/glibc/2.15/0042-obsolete-rpc.patch1607
-rw-r--r--packages/glibc/2.15/0043-obstack-common.patch32
-rw-r--r--packages/glibc/2.15/0044-new-tools.patch72
-rw-r--r--packages/glibc/2.15/0045-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.15/0046-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.15/0047-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.15/0048-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.15/0049-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.15/0050-fdivp-order.patch27
-rw-r--r--packages/glibc/2.15/chksum12
-rw-r--r--packages/glibc/2.15/version.desc1
-rw-r--r--packages/glibc/2.16.0/0000-respect-env-CPPFLAGS.patch17
-rw-r--r--packages/glibc/2.16.0/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.16.0/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.16.0/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.16.0/0004-unused-variables.patch151
-rw-r--r--packages/glibc/2.16.0/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.16.0/0006-dl-open-array-bounds.patch29
-rw-r--r--packages/glibc/2.16.0/0007-i386-x86_64-revert-clone-cfi.patch51
-rw-r--r--packages/glibc/2.16.0/0008-disable-ldconfig.patch19
-rw-r--r--packages/glibc/2.16.0/0009-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.16.0/0010-queue-header-updates.patch86
-rw-r--r--packages/glibc/2.16.0/0011-localedef-fix-trampoline.patch56
-rw-r--r--packages/glibc/2.16.0/0012-resolv-dynamic.patch42
-rw-r--r--packages/glibc/2.16.0/0013-fadvise64_64.patch27
-rw-r--r--packages/glibc/2.16.0/0014-assume-pipe2.patch43
-rw-r--r--packages/glibc/2.16.0/0015-china.patch35
-rw-r--r--packages/glibc/2.16.0/0016-new-valencian-locale.patch118
-rw-r--r--packages/glibc/2.16.0/0017-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.16.0/0018-nscd-one-fork.patch46
-rw-r--r--packages/glibc/2.16.0/0019-hppa-nptl-carlos.patch249
-rw-r--r--packages/glibc/2.16.0/0020-dl_execstack-PaX-support.patch69
-rw-r--r--packages/glibc/2.16.0/0021-pre20040117-pt_pax.patch35
-rw-r--r--packages/glibc/2.16.0/0022-tests-sandbox-libdl-paths.patch196
-rw-r--r--packages/glibc/2.16.0/0023-dont-build-timezone.patch17
-rw-r--r--packages/glibc/2.16.0/0024-alpha-xstat.patch18
-rw-r--r--packages/glibc/2.16.0/0025-alpha-creat.patch17
-rw-r--r--packages/glibc/2.16.0/0026-alpha_alpha-add-fdatasync-support.patch122
-rw-r--r--packages/glibc/2.16.0/0027-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch222
-rw-r--r--packages/glibc/2.16.0/0028-ppc-atomic.patch412
-rw-r--r--packages/glibc/2.16.0/0029-mips_shn_undef-hack.patch19
-rw-r--r--packages/glibc/2.16.0/0030-alpha-atfcts.patch16
-rw-r--r--packages/glibc/2.16.0/0031-syslog.patch15
-rw-r--r--packages/glibc/2.16.0/0032-debug-readlink_chk-readklinkat_chk.patch27
-rw-r--r--packages/glibc/2.16.0/0033-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.16.0/0034-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.16.0/0035-obstack-common.patch32
-rw-r--r--packages/glibc/2.16.0/0036-new-tools.patch36
-rw-r--r--packages/glibc/2.16.0/0037-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.16.0/0038-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.16.0/0039-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.16.0/0040-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.16.0/0041-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.16.0/0042-fix-GCC-10-detection.patch25
-rw-r--r--packages/glibc/2.16.0/chksum12
-rw-r--r--packages/glibc/2.16.0/version.desc1
-rw-r--r--packages/glibc/2.18/0000-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch65
-rw-r--r--packages/glibc/2.18/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.18/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.18/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.18/0004-unused-variables.patch151
-rw-r--r--packages/glibc/2.18/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.18/0006-dl-open-array-bounds.patch38
-rw-r--r--packages/glibc/2.18/0007-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch77
-rw-r--r--packages/glibc/2.18/0008-support-make4.patch39
-rw-r--r--packages/glibc/2.18/0009-arm-unwind.patch51
-rw-r--r--packages/glibc/2.18/0010-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.18/0011-macos-cross-rpcgen.patch34
-rw-r--r--packages/glibc/2.18/0012-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.18/0013-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.18/0014-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.18/0015-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.18/0016-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.18/0017-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.18/0018-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.18/0019-fix-GCC-10-detection.patch25
-rw-r--r--packages/glibc/2.18/chksum12
-rw-r--r--packages/glibc/2.18/version.desc1
-rw-r--r--packages/glibc/2.20/0000-sparc-nptl.patch14
-rw-r--r--packages/glibc/2.20/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.20/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.20/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.20/0004-unused-variables.patch171
-rw-r--r--packages/glibc/2.20/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.20/0006-dl-open-array-bounds.patch38
-rw-r--r--packages/glibc/2.20/0007-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.20/0008-typedef-caddr.patch17
-rw-r--r--packages/glibc/2.20/0009-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.20/0010-explicit-boolean.patch35
-rw-r--r--packages/glibc/2.20/0011-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.20/0012-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.20/0013-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.20/0014-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.20/0015-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.20/0016-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.20/0017-Fix-cmpli-usage-in-power6-memset.patch49
-rw-r--r--packages/glibc/2.20/0017-fix-GCC-10-detection.patch25
-rw-r--r--packages/glibc/2.20/chksum12
-rw-r--r--packages/glibc/2.20/version.desc1
-rw-r--r--packages/glibc/2.21/0000-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.21/0001-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.21/0002-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.21/0003-unused-variables.patch171
-rw-r--r--packages/glibc/2.21/0004-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.21/0005-dl-open-array-bounds.patch38
-rw-r--r--packages/glibc/2.21/0006-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.21/0007-typedef-caddr.patch17
-rw-r--r--packages/glibc/2.21/0008-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.21/0009-explicit-boolean.patch35
-rw-r--r--packages/glibc/2.21/0010-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.21/0011-dlclose-assert.patch42
-rw-r--r--packages/glibc/2.21/0012-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.21/0013-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.21/0014-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.21/0015-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.21/0016-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.21/0017-Fix-cmpli-usage-in-power6-memset.patch49
-rw-r--r--packages/glibc/2.21/chksum12
-rw-r--r--packages/glibc/2.21/version.desc1
-rw-r--r--packages/glibc/2.22/0000-sparc32-sem_open-missing-include.patch23
-rw-r--r--packages/glibc/2.22/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch75
-rw-r--r--packages/glibc/2.22/0002-fix-signed-shift-overlow.patch97
-rw-r--r--packages/glibc/2.22/0003-dl-openat64-variadic.patch197
-rw-r--r--packages/glibc/2.22/0004-unused-variables.patch171
-rw-r--r--packages/glibc/2.22/0005-misleading-indentation.patch26
-rw-r--r--packages/glibc/2.22/0006-cve-2105-7547-getaddrinfo-stack.patch554
-rw-r--r--packages/glibc/2.22/0007-Fix-combreloc-test-BSD-grep.patch41
-rw-r--r--packages/glibc/2.22/0008-typedef-caddr.patch17
-rw-r--r--packages/glibc/2.22/0009-fix-rpc_parse-format.patch62
-rw-r--r--packages/glibc/2.22/0010-explicit-boolean.patch35
-rw-r--r--packages/glibc/2.22/0011-nis-bogus-conditional.patch64
-rw-r--r--packages/glibc/2.22/0012-strftime-multiple-stmts.patch73
-rw-r--r--packages/glibc/2.22/0013-if_nametoindex-size-check.patch29
-rw-r--r--packages/glibc/2.22/0014-utmp-nonstring.patch80
-rw-r--r--packages/glibc/2.22/0015-getlogin_r-use-strnlen.patch47
-rw-r--r--packages/glibc/2.22/0016-zic.c-use-memcpy.patch25
-rw-r--r--packages/glibc/2.22/0017-Fix-cmpli-usage-in-power6-memset.patch49
-rw-r--r--packages/glibc/2.22/chksum12
-rw-r--r--packages/glibc/2.22/version.desc1
-rw-r--r--packages/gmp/4.3.2/chksum4
-rw-r--r--packages/gmp/4.3.2/version.desc2
-rw-r--r--packages/gmp/5.0.5/0000-fix-r0-clobbering-issue.patch79
-rw-r--r--packages/gmp/5.0.5/chksum8
-rw-r--r--packages/gmp/5.0.5/version.desc2
-rw-r--r--packages/gmp/5.1.3/chksum12
-rw-r--r--packages/gmp/5.1.3/version.desc1
-rw-r--r--packages/gmp/6.0.0a/chksum12
-rw-r--r--packages/gmp/6.0.0a/version.desc2
-rw-r--r--packages/isl/0.11.2/chksum12
-rw-r--r--packages/isl/0.11.2/version.desc2
-rw-r--r--packages/isl/0.12.2/chksum12
-rw-r--r--packages/isl/0.12.2/version.desc2
-rw-r--r--packages/isl/0.14.1/chksum12
-rw-r--r--packages/isl/0.14.1/version.desc1
-rw-r--r--packages/libiconv/1.14/0000-srclib_stdio.in.h-remove-gets-declarations.patch33
-rw-r--r--packages/libiconv/1.14/chksum4
-rw-r--r--packages/libiconv/1.14/version.desc1
-rw-r--r--packages/linux/2.6.33.7/chksum12
-rw-r--r--packages/linux/2.6.33.7/version.desc2
-rw-r--r--packages/linux/2.6.34.7/chksum12
-rw-r--r--packages/linux/2.6.34.7/version.desc2
-rw-r--r--packages/linux/2.6.35.9/chksum12
-rw-r--r--packages/linux/2.6.35.9/version.desc2
-rw-r--r--packages/linux/2.6.36.4/chksum12
-rw-r--r--packages/linux/2.6.36.4/version.desc2
-rw-r--r--packages/linux/2.6.37.6/chksum12
-rw-r--r--packages/linux/2.6.37.6/version.desc2
-rw-r--r--packages/linux/2.6.38.8/chksum12
-rw-r--r--packages/linux/2.6.38.8/version.desc2
-rw-r--r--packages/linux/2.6.39.4/chksum12
-rw-r--r--packages/linux/2.6.39.4/version.desc2
-rw-r--r--packages/linux/3.0.101/chksum12
-rw-r--r--packages/linux/3.0.101/version.desc2
-rw-r--r--packages/linux/3.1.10/chksum12
-rw-r--r--packages/linux/3.1.10/version.desc2
-rw-r--r--packages/linux/3.11.10/chksum12
-rw-r--r--packages/linux/3.11.10/version.desc2
-rw-r--r--packages/linux/3.14.79/chksum8
-rw-r--r--packages/linux/3.14.79/version.desc1
-rw-r--r--packages/linux/3.15.10/chksum8
-rw-r--r--packages/linux/3.15.10/version.desc1
-rw-r--r--packages/linux/3.17.8/chksum8
-rw-r--r--packages/linux/3.17.8/version.desc1
-rw-r--r--packages/linux/3.19.8/chksum8
-rw-r--r--packages/linux/3.19.8/version.desc1
-rw-r--r--packages/linux/3.3.8/chksum12
-rw-r--r--packages/linux/3.3.8/version.desc2
-rw-r--r--packages/linux/3.5.7/chksum12
-rw-r--r--packages/linux/3.5.7/version.desc2
-rw-r--r--packages/linux/3.6.11/chksum12
-rw-r--r--packages/linux/3.6.11/version.desc2
-rw-r--r--packages/linux/3.7.10/chksum12
-rw-r--r--packages/linux/3.7.10/version.desc2
-rw-r--r--packages/linux/3.8.13/chksum12
-rw-r--r--packages/linux/3.8.13/version.desc2
-rw-r--r--packages/linux/3.9.11/chksum12
-rw-r--r--packages/linux/3.9.11/version.desc2
-rw-r--r--packages/linux/4.0.9/chksum8
-rw-r--r--packages/linux/4.0.9/version.desc1
-rw-r--r--packages/linux/4.2.8/chksum8
-rw-r--r--packages/linux/4.2.8/version.desc1
-rw-r--r--packages/linux/4.3.6/chksum8
-rw-r--r--packages/linux/4.3.6/version.desc1
-rw-r--r--packages/linux/4.5.7/chksum8
-rw-r--r--packages/linux/4.5.7/version.desc1
-rw-r--r--packages/linux/4.6.7/chksum8
-rw-r--r--packages/linux/4.6.7/version.desc1
-rw-r--r--packages/linux/4.7.10/chksum8
-rw-r--r--packages/linux/4.7.10/version.desc1
-rw-r--r--packages/linux/4.8.17/chksum8
-rw-r--r--packages/linux/4.8.17/version.desc1
-rw-r--r--packages/ltrace/0.5.3/0000-allow-cross-compile.patch84
-rw-r--r--packages/ltrace/0.5.3/0001-alpha-support.patch14
-rw-r--r--packages/ltrace/0.5.3/0002-debian-ltrace_0.5.3-2.patch86
-rw-r--r--packages/ltrace/0.5.3/0003-add-sysdep.patch19
-rw-r--r--packages/ltrace/0.5.3/0004-mips.patch40
-rw-r--r--packages/ltrace/0.5.3/0005-mips-remove-CP.patch18
-rw-r--r--packages/ltrace/0.5.3/0006-allow-configurable-arch.patch48
-rw-r--r--packages/ltrace/0.5.3/0007-fix-missing-ptrace-defines.patch85
-rw-r--r--packages/ltrace/0.5.3/0008-lib-supcc.patch18
-rw-r--r--packages/ltrace/0.5.3/0009-libltrace-genindex.patch15
-rw-r--r--packages/ltrace/0.5.3/0010-ar-configurable.patch26
-rw-r--r--packages/ltrace/0.5.3/0011-configure-hostos.patch21
-rw-r--r--packages/ltrace/0.5.3/chksum4
-rw-r--r--packages/ltrace/0.5.3/version.desc2
-rw-r--r--packages/make/3.81/chksum8
-rw-r--r--packages/make/3.81/version.desc2
-rw-r--r--packages/make/4.0/chksum8
-rw-r--r--packages/make/4.0/version.desc2
-rw-r--r--packages/make/4.1/chksum8
-rw-r--r--packages/make/4.1/version.desc2
-rw-r--r--packages/mingw-w64/v2.0.10/0000-mingw64-malloc.patch30
-rw-r--r--packages/mingw-w64/v2.0.10/0001-gendef-explicit-fallthrough.patch44
-rw-r--r--packages/mingw-w64/v2.0.10/chksum4
-rw-r--r--packages/mingw-w64/v2.0.10/version.desc3
-rw-r--r--packages/mingw-w64/v3.0.0/0000-mingw64-malloc.patch30
-rw-r--r--packages/mingw-w64/v3.0.0/0001-gendef-explicit-fallthrough.patch44
-rw-r--r--packages/mingw-w64/v3.0.0/0002-genpeimg-explicit-fallthrough.patch31
-rw-r--r--packages/mingw-w64/v3.0.0/chksum4
-rw-r--r--packages/mingw-w64/v3.0.0/version.desc3
-rw-r--r--packages/mingw-w64/v3.1.0/0000-mingw64-malloc.patch30
-rw-r--r--packages/mingw-w64/v3.1.0/0001-gendef-explicit-fallthrough.patch44
-rw-r--r--packages/mingw-w64/v3.1.0/0002-genpeimg-explicit-fallthrough.patch31
-rw-r--r--packages/mingw-w64/v3.1.0/chksum4
-rw-r--r--packages/mingw-w64/v3.1.0/version.desc3
-rw-r--r--packages/mingw-w64/v3.2.0/0000-mingw64-malloc.patch30
-rw-r--r--packages/mingw-w64/v3.2.0/0001-gendef-explicit-fallthrough.patch44
-rw-r--r--packages/mingw-w64/v3.2.0/0002-genpeimg-explicit-fallthrough.patch31
-rw-r--r--packages/mingw-w64/v3.2.0/chksum4
-rw-r--r--packages/mingw-w64/v3.2.0/version.desc3
-rw-r--r--packages/mingw-w64/v3.3.0/0000-mingw64-malloc.patch30
-rw-r--r--packages/mingw-w64/v3.3.0/0001-gendef-explicit-fallthrough.patch44
-rw-r--r--packages/mingw-w64/v3.3.0/0002-genpeimg-explicit-fallthrough.patch31
-rw-r--r--packages/mingw-w64/v3.3.0/chksum4
-rw-r--r--packages/mingw-w64/v3.3.0/version.desc3
-rw-r--r--packages/mpc/0.7/chksum4
-rw-r--r--packages/mpc/0.7/version.desc3
-rw-r--r--packages/mpc/0.8.2/chksum4
-rw-r--r--packages/mpc/0.8.2/version.desc3
-rw-r--r--packages/mpc/0.9/chksum4
-rw-r--r--packages/mpc/0.9/version.desc3
-rw-r--r--packages/mpfr/2.4.2/0000-sin_cos_underflow.patch187
-rw-r--r--packages/mpfr/2.4.2/0001-longlong.h.patch75
-rw-r--r--packages/mpfr/2.4.2/0002-gmp5.patch80
-rw-r--r--packages/mpfr/2.4.2/chksum16
-rw-r--r--packages/mpfr/2.4.2/version.desc1
-rw-r--r--packages/mpfr/3.0.1/0000-asin_exprange.patch140
-rw-r--r--packages/mpfr/3.0.1/0001-rec_sqrt-carry.patch80
-rw-r--r--packages/mpfr/3.0.1/0002-atan-expo-range.patch112
-rw-r--r--packages/mpfr/3.0.1/0003-texp-zero.patch53
-rw-r--r--packages/mpfr/3.0.1/chksum16
-rw-r--r--packages/mpfr/3.0.1/version.desc1
-rw-r--r--packages/musl/1.1.15/chksum4
-rw-r--r--packages/musl/1.1.15/version.desc1
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/chksum4
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/version.desc2
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/chksum4
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/version.desc1
-rw-r--r--packages/newlib-linaro/package.desc7
-rw-r--r--packages/newlib/1.17.0/0000-fix-eabihf.patch27
-rw-r--r--packages/newlib/1.17.0/0001-fix-mt-cflags.patch29
-rw-r--r--packages/newlib/1.17.0/0002-fix-arm-build.patch64
-rw-r--r--packages/newlib/1.17.0/chksum4
-rw-r--r--packages/newlib/1.17.0/version.desc1
-rw-r--r--packages/newlib/1.18.0/0000-fix-unaligned-access-memcpy-m68k.patch21
-rw-r--r--packages/newlib/1.18.0/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/1.18.0/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/1.18.0/chksum4
-rw-r--r--packages/newlib/1.18.0/version.desc1
-rw-r--r--packages/newlib/1.19.0/0000-fix-unaligned-access-memcpy-m68k.patch23
-rw-r--r--packages/newlib/1.19.0/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/1.19.0/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/1.19.0/chksum4
-rw-r--r--packages/newlib/1.19.0/version.desc1
-rw-r--r--packages/newlib/1.20.0/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/1.20.0/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/1.20.0/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/1.20.0/chksum4
-rw-r--r--packages/newlib/1.20.0/version.desc1
-rw-r--r--packages/newlib/2.0.0/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/2.0.0/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/2.0.0/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/2.0.0/chksum4
-rw-r--r--packages/newlib/2.0.0/version.desc1
-rw-r--r--packages/newlib/2.1.0/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/2.1.0/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/2.1.0/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/2.1.0/chksum4
-rw-r--r--packages/newlib/2.1.0/version.desc1
-rw-r--r--packages/newlib/2.2.0.20151023/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/2.2.0.20151023/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/2.2.0.20151023/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/2.2.0.20151023/chksum4
-rw-r--r--packages/newlib/2.2.0.20151023/version.desc1
-rw-r--r--packages/newlib/2.3.0.20160226/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/2.3.0.20160226/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/2.3.0.20160226/0002-fix-mt-cflags.patch28
-rw-r--r--packages/newlib/2.3.0.20160226/chksum4
-rw-r--r--packages/newlib/2.3.0.20160226/version.desc1
-rw-r--r--packages/newlib/2.4.0.20161025/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/2.4.0.20161025/0001-fix-eabihf.patch27
-rw-r--r--packages/newlib/2.4.0.20161025/0002-fix-mt-cflags.patch13
-rw-r--r--packages/newlib/2.4.0.20161025/chksum4
-rw-r--r--packages/newlib/2.4.0.20161025/version.desc1
-rw-r--r--packages/strace/4.10/0000-aarch64_rt_sigreturn.patch23
-rw-r--r--packages/strace/4.10/0001-arm_mmap2.patch24
-rw-r--r--packages/strace/4.10/0002-aarch64_arch_regs.patch28
-rw-r--r--packages/strace/4.10/0003-stat64-v.test.patch89
-rw-r--r--packages/strace/4.10/0004-select_test.patch49
-rw-r--r--packages/strace/4.10/0005-fix_aarch64_ioctl_decoding.patch38
-rw-r--r--packages/strace/4.10/0006-fix_bexecve64_test.patch24
-rw-r--r--packages/strace/4.10/0007-decode_mips_indirect_syscall.patch67
-rw-r--r--packages/strace/4.10/0008-upstream-musl_includes.patch63
-rw-r--r--packages/strace/4.10/0009-use-host-ioctl.patch145
-rw-r--r--packages/strace/4.10/chksum4
-rw-r--r--packages/strace/4.10/version.desc1
-rw-r--r--packages/strace/4.11/0000-use-host-ioctl.patch147
-rw-r--r--packages/strace/4.11/chksum4
-rw-r--r--packages/strace/4.11/version.desc1
-rw-r--r--packages/strace/4.12/0000-use-host-ioctl.patch148
-rw-r--r--packages/strace/4.12/chksum4
-rw-r--r--packages/strace/4.12/version.desc1
-rw-r--r--packages/strace/4.13/0000-use-host-ioctl.patch148
-rw-r--r--packages/strace/4.13/chksum4
-rw-r--r--packages/strace/4.13/version.desc1
-rw-r--r--packages/strace/4.14/0000-use-host-ioctl.patch148
-rw-r--r--packages/strace/4.14/chksum4
-rw-r--r--packages/strace/4.14/version.desc1
-rw-r--r--packages/strace/4.5.20/chksum4
-rw-r--r--packages/strace/4.5.20/version.desc2
-rw-r--r--packages/strace/4.6/chksum4
-rw-r--r--packages/strace/4.6/version.desc1
-rw-r--r--packages/strace/4.7/chksum4
-rw-r--r--packages/strace/4.7/version.desc1
-rw-r--r--packages/strace/4.8/0000-strace-4.8-glibc_2.18_build_fix-1.patch77
-rw-r--r--packages/strace/4.8/chksum4
-rw-r--r--packages/strace/4.8/version.desc1
-rw-r--r--packages/strace/4.9/chksum4
-rw-r--r--packages/strace/4.9/version.desc1
-rw-r--r--packages/uClibc/0.9.33.2/0000-m68k-ice.patch22
-rw-r--r--packages/uClibc/0.9.33.2/0001-fix-kernel-3.4plus-build.patch346
-rw-r--r--packages/uClibc/0.9.33.2/0002-fix-darwin-build.patch15
-rw-r--r--packages/uClibc/0.9.33.2/0003-arm-unwind.patch25
-rw-r--r--packages/uClibc/0.9.33.2/0004-no-install-D.patch33
-rw-r--r--packages/uClibc/0.9.33.2/0005-prefer-multilib.patch41
-rw-r--r--packages/uClibc/0.9.33.2/0006-dlopen-static.patch51
-rw-r--r--packages/uClibc/0.9.33.2/0007-make-olddefconfig.patch44
-rw-r--r--packages/uClibc/0.9.33.2/chksum8
-rw-r--r--packages/uClibc/0.9.33.2/version.desc1
717 files changed, 2 insertions, 45738 deletions
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'
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'
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 <eggert@cs.ucla.edu>
-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 <eggert@cs.ucla.edu>
-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'
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 <odinshorse@googlemail.com>
-
-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 <thomas.petazzoni@free-electrons.com>
-
-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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- Merge from Sourcery G++ binutils 2.17:
-
- 2007-03-20 Joseph Myers <joseph@codesourcery.com>
- Based on patch by Mark Hatle <mark.hatle@windriver.com>.
- 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 <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
----
- 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=<type> 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 <weath@cadence.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <arbatov@cadence.com>
-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 <arbatov@cadence.com>
- David Weatherford <weath@cadence.com>
- Max Filippov <jcmvbkbc@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <augustine.sterling@gmail.com>
-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 <augustine.sterling@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
- * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF*
- substitutions for BFD_RELOC_* as unsigned.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-gas/
- * config/tc-xtensa.c (xtensa_move_literals): Fix check for
- .init.literal/.fini.literal section name.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <mliska@suse.cz>
-Date: Fri, 7 Jun 2019 07:36:52 +0200
-Subject: [PATCH] Fix a missing include of <string>
-
-gold/ChangeLog:
-
-2019-06-07 Martin Liska <mliska@suse.cz>
-
- * 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 <cstdarg>
-+#include <string>
-
- #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 <vapier@gentoo.org>
-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) <arnout@mind.be>
-
-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 <amodra@gmail.com>
-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 <odinshorse@googlemail.com>
-
-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 <thomas.petazzoni@free-electrons.com>
-
-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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- Merge from Sourcery G++ binutils 2.17:
-
- 2007-03-20 Joseph Myers <joseph@codesourcery.com>
- Based on patch by Mark Hatle <mark.hatle@windriver.com>.
- 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 <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
----
- 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=<type> 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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <weath@cadence.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <arbatov@cadence.com>
-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 <arbatov@cadence.com>
- David Weatherford <weath@cadence.com>
- Max Filippov <jcmvbkbc@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <augustine.sterling@gmail.com>
-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 <augustine.sterling@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <weath@cadence.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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=<value>\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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
- * config/tc-xtensa.c (md_apply_fix): Mark BFD_RELOC_XTENSA_DIFF*
- substitutions for BFD_RELOC_* as unsigned.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-gas/
- * config/tc-xtensa.c (xtensa_move_literals): Fix check for
- .init.literal/.fini.literal section name.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <mliska@suse.cz>
-Date: Fri, 7 Jun 2019 07:36:52 +0200
-Subject: [PATCH] Fix a missing include of <string>
-
-gold/ChangeLog:
-
-2019-06-07 Martin Liska <mliska@suse.cz>
-
- * 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 <cstdarg>
-+#include <string>
-
- #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 <cerrno>
--#include <cstring>
-+#include <string>
- #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 <andrewhsieh@google.com>
-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 <Richard.Earnshaw@arm.com>
-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 <odinshorse@googlemail.com>
-
-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 <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-
-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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- 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 <joseph@codesourcery.com>
-
- Merge from Sourcery G++ binutils 2.17:
-
- 2007-03-20 Joseph Myers <joseph@codesourcery.com>
- Based on patch by Mark Hatle <mark.hatle@windriver.com>.
- 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 <mark.hatle@windriver.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
----
- 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=<type> 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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <weath@cadence.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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=<value>\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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
- * 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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <mliska@suse.cz>
-Date: Fri, 7 Jun 2019 07:36:52 +0200
-Subject: [PATCH] Fix a missing include of <string>
-
-gold/ChangeLog:
-
-2019-06-07 Martin Liska <mliska@suse.cz>
-
- * 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 <cstdarg>
-+#include <string>
-
- #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/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'
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 <jcmvbkbc@gmail.com>
-Date: Fri, 10 Apr 2015 17:46:30 +0300
-Subject: [PATCH] Fix PR target/65730
-
-2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 25 Apr 2014 08:03:08 +0000
-Subject: [PATCH] 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
-
- 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 <jcmvbkbc@gmail.com>
----
- 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 <law@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 18 Nov 2014 22:12:52 +0000
-Subject: [PATCH] 2014-11-17 Bob Dunlop <bob.dunlop@xyzzy.org.uk>
-
- * 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 <jcmvbkbc@gmail.com>
----
- 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 <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 25 Feb 2016 15:33:50 +0000
-Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Backported from mainline
- 2016-02-19 Jakub Jelinek <jakub@redhat.com>
- Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * 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
- <http://www.gnu.org/licenses/>. */
--#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 <bug-gnu-gperf@gnu.org>."
- #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
- <http://www.gnu.org/licenses/>. */
--#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 <features.h>
- # 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 <Julian_Brown@mentor.com>
-[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 <gustavo@zacarias.com.ar>
-
----
- 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 <andrewhsieh@google.com>
-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 <peter@korsgaard.com>
----
-
----
- 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 <thomas.petazzoni@free-electrons.com>
-
----
- 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 <ext/string_conversions.h>
---- 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<ctype<_CharT> >(__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<char*>(__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 <ext/string_conversions.h>
-
---- a/libstdc++-v3/include/tr1/cstdio
-+++ b/libstdc++-v3/include/tr1/cstdio
-@@ -33,7 +33,7 @@
-
- #include <cstdio>
-
--#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 <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
-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 <romain.naour@openwide.fr>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-libgcc/
- * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde
- with unwind-dw2-fde-dip.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-libgcc/
- * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
- context->sp instead of context->cfa.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 11 Sep 2017 21:53:38 +0000
-Subject: [PATCH] xtensa: fix PR target/82181
-
-2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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<foo> 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 <thomas.petazzoni@free-electrons.com>
-[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 @@
- <http://www.gnu.org/licenses/>. */
-
- #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 @@
- <http://www.gnu.org/licenses/>. */
-
- #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 <link.h>
---- 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 <unistd.h>
- #if TIME_WITH_SYS_TIME
---- a/libitm/config/arm/hwcap.cc
-+++ b/libitm/config/arm/hwcap.cc
-@@ -40,7 +40,11 @@
-
- #ifdef __linux__
- #include <unistd.h>
-+#ifdef __GLIBC__
- #include <sys/fcntl.h>
-+#else
-+#include <fcntl.h>
-+#endif
- #include <elf.h>
-
- 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 <gustavo@zacarias.com.ar>
-
----
- 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 <features.h>' > 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 <features.h>' > 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 <jcmvbkbc@gmail.com>
-Date: Fri, 10 Apr 2015 17:46:30 +0300
-Subject: [PATCH] Fix PR target/65730
-
-2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 25 Apr 2014 08:03:08 +0000
-Subject: [PATCH] 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
-
- 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 <jcmvbkbc@gmail.com>
----
- 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 <law@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 18 Nov 2014 22:12:52 +0000
-Subject: [PATCH] 2014-11-17 Bob Dunlop <bob.dunlop@xyzzy.org.uk>
-
- * 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 <jcmvbkbc@gmail.com>
----
- 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 <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 25 Feb 2016 15:33:50 +0000
-Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Backported from mainline
- 2016-02-19 Jakub Jelinek <jakub@redhat.com>
- Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * 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
- <http://www.gnu.org/licenses/>. */
--#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 <bug-gnu-gperf@gnu.org>."
- #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
- <http://www.gnu.org/licenses/>. */
--#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 <features.h>
- # 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 <Julian_Brown@mentor.com>
-[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 <gustavo@zacarias.com.ar>
-
----
- 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 <andrewhsieh@google.com>
-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 <peter@korsgaard.com>
----
-
----
- 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 <thomas.petazzoni@free-electrons.com>
-
----
- 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 <ext/string_conversions.h>
---- 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<ctype<_CharT> >(__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<char*>(__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 <ext/string_conversions.h>
-
---- a/libstdc++-v3/include/tr1/cstdio
-+++ b/libstdc++-v3/include/tr1/cstdio
-@@ -33,7 +33,7 @@
-
- #include <cstdio>
-
--#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 <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
-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 <romain.naour@openwide.fr>
----
- 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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-libgcc/
- * config/xtensa/t-xtensa (LIB2ADDEH): Replace unwind-dw2-fde
- with unwind-dw2-fde-dip.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-libgcc/
- * config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
- context->sp instead of context->cfa.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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 <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 11 Sep 2017 21:53:38 +0000
-Subject: [PATCH] xtensa: fix PR target/82181
-
-2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
-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 <jcmvbkbc@gmail.com>
----
- 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<foo> 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 <thomas.petazzoni@free-electrons.com>
-[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 @@
- <http://www.gnu.org/licenses/>. */
-
- #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 @@
- <http://www.gnu.org/licenses/>. */
-
- #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 <link.h>
---- 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 <unistd.h>
- #if TIME_WITH_SYS_TIME
---- a/libitm/config/arm/hwcap.cc
-+++ b/libitm/config/arm/hwcap.cc
-@@ -40,7 +40,11 @@
-
- #ifdef __linux__
- #include <unistd.h>
-+#ifdef __GLIBC__
- #include <sys/fcntl.h>
-+#else
-+#include <fcntl.h>
-+#endif
- #include <elf.h>
-
- 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 <gustavo@zacarias.com.ar>
-
----
- 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 <features.h>' > 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 <features.h>' > 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'
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/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 <ylatuya@gmail.com>
-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 <config.h> because <config.h> may include
- <features.h>, and once <features.h> 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 <ueno@gnu.org>
-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 <mingw.android@gmail.com>
-
---- 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 <sys/types.h>
- #include <sys/stat.h>
-
-+#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:
- <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- #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:
- <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- #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:
- <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- #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:
- + <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- +#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:
- + <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- +#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:
- + <https://cygwin.com/ml/cygwin/2013-06/msg00228.html>. */
- +#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 <address@hidden>
-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 <sys/time.h>.
-- 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 <sys/time.h>
- # 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 <signal.h>
- #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 <sys/time.h>.
- 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 <sys/time.h>
- # 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 <signal.h>
- #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'
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 <lowlevellock.h>
- #include <internaltypes.h>
- #include <semaphore.h>
-+#include <sparc-nptl.h>
-
- #include <shlib-compat.h>
-
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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <joseph@codesourcery.com>
-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 <sellcey@sellcey-thinkpad.caveonetworks.com>
-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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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 <kraj@xxxxxxxxxx>
-
- * 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 <dl-sysdep.h>
- #include <tls.h>
-
-+#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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <pcc@google.com>
-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 <pcc@google.com>
-
- * 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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
- $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-+CPPFLAGS += $(CPPFLAGS-config)
- override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
- $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
- $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
diff --git a/packages/glibc/2.13/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.13/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
deleted file mode 100644
index 30a70a2..0000000
--- a/packages/glibc/2.13/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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <james@nocrew.org>
-# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
-# 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 <arpa/nameser.h>
- #include <resolv.h>
- #include <bits/libc-lock.h>
-+#include <sys/stat.h>
-
-
- /* 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 <aurelien@aurel32.net>
-
- * 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 &lt;kazu@codesourcery.com&gt;
-
- * 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 <stddef.h>
- #include <stdint.h>
- #include <stdlib.h>
-+#include <string.h>
- #include <time.h>
- #include <unistd.h>
- #include <net/if.h>
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 <grp.h>
-#include <stdio.h>
-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 <fcntl.h>
- #include <sys/socket.h>
- #include <kernel-features.h>
-
- #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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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. <azarah@gentoo.org> (12 Nov 2003).
-
- Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (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 - <<EOF
- String1 - Lang1: 1st string
---- a/intl/tst-translit.sh
-+++ b/intl/tst-translit.sh
-@@ -36,7 +36,10 @@
- LOCPATH=${common_objpfx}localedata
- export LOCPATH
-
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
-+# 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 $library_path \
- ${objpfx}tst-translit > ${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 <sysdep.h>
-+#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 <aurelien@aurel32.net>
-
- * 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 <errno.h>
-+#include <unistd.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <bp-checks.h>
-+
-+#include <kernel-features.h>
-+
-+#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 <kraj@xxxxxxxxxx>
-
- * 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 <dl-sysdep.h>
- #include <tls.h>
-
-+#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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <rsa@us.ibm.com>
-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 <pcc@google.com>
-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 <pcc@google.com>
-
- * 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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
- $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-+CPPFLAGS += $(CPPFLAGS-config)
- override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
- $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
- $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
diff --git a/packages/glibc/2.14.1/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.14.1/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
deleted file mode 100644
index 30a70a2..0000000
--- a/packages/glibc/2.14.1/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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <james@nocrew.org>
-# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
-# 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 <arpa/nameser.h>
- #include <resolv.h>
- #include <bits/libc-lock.h>
-+#include <sys/stat.h>
-
-
- /* 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 <aurelien@aurel32.net>
-
- * 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 &lt;kazu@codesourcery.com&gt;
-
- * 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 <grp.h>
-#include <stdio.h>
-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 <fcntl.h>
- #include <sys/socket.h>
- #include <kernel-features.h>
-
- #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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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. <azarah@gentoo.org> (12 Nov 2003).
-
- Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (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 - <<EOF
- String1 - Lang1: 1st string
---- a/intl/tst-translit.sh
-+++ b/intl/tst-translit.sh
-@@ -36,7 +36,10 @@
- LOCPATH=${common_objpfx}localedata
- export LOCPATH
-
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
-+# 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 $library_path \
- ${objpfx}tst-translit > ${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 <sysdep.h>
-+#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 <aurelien@aurel32.net>
-
- * 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 <errno.h>
-+#include <unistd.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <bp-checks.h>
-+
-+#include <kernel-features.h>
-+
-+#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 <joseph@codesourcery.com>
-
- * 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 <stdio.h>
--#ifdef HAVE_SYS_TYPES_H
--# include <sys/types.h>
--#endif
--#ifdef HAVE_SYS_STAT_H
--# include <sys/stat.h>
--#endif
--#ifdef STDC_HEADERS
--# include <stdlib.h>
--# include <stddef.h>
--#else
--# ifdef HAVE_STDLIB_H
--# include <stdlib.h>
--# endif
--#endif
--#ifdef HAVE_STRING_H
--# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
--# include <memory.h>
--# endif
--# include <string.h>
--#endif
--#ifdef HAVE_STRINGS_H
--# include <strings.h>
--#endif
--#ifdef HAVE_INTTYPES_H
--# include <inttypes.h>
--#endif
--#ifdef HAVE_STDINT_H
--# include <stdint.h>
--#endif
--#ifdef HAVE_UNISTD_H
--# include <unistd.h>
--#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 <stdlib.h>
--#include <stdarg.h>
--#include <string.h>
--#include <float.h>
--
--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 <string.h>
--
--_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 <stdlib.h>
--
--_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 <ctype.h>
--#include <stdlib.h>
--#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 <cpuid.h> 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 <<EOF
-@@ -693,7 +219,7 @@
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSE4 support" >&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 <cpuid.h> header])])
-+AC_CHECK_HEADER([cpuid.h], ,
-+ [AC_MSG_ERROR([gcc must provide the <cpuid.h> 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 <matthew_at_linuxfromscratch_dot_org>
-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 <dl-sysdep.h>
- #include <tls.h>
-
-+#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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <rsa@us.ibm.com>
-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 <aj@suse.de>
-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, &regs->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 <pcc@google.com>
-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 <pcc@google.com>
-
- * 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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
- $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-+CPPFLAGS += $(CPPFLAGS-config)
- override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) \
- $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
- $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
diff --git a/packages/glibc/2.15/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.15/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
deleted file mode 100644
index 30a70a2..0000000
--- a/packages/glibc/2.15/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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <james@nocrew.org>
-# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
-# 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 <arpa/nameser.h>
- #include <resolv.h>
- #include <bits/libc-lock.h>
-+#include <sys/stat.h>
-
-
- /* 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 &lt;kazu@codesourcery.com&gt;
-
- * 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 <grp.h>
-#include <stdio.h>
-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 <fcntl.h>
- #include <sys/socket.h>
- #include <kernel-features.h>
-
- #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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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. <azarah@gentoo.org> (12 Nov 2003).
-
- Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (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 - <<EOF
- String1 - Lang1: 1st string
---- a/intl/tst-translit.sh
-+++ b/intl/tst-translit.sh
-@@ -36,7 +36,10 @@
- LOCPATH=${common_objpfx}localedata
- export LOCPATH
-
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
-+# 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 $library_path \
- ${objpfx}tst-translit > ${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 <sysdep.h>
-+#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 <aurelien@aurel32.net>
-
- * 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 <errno.h>
-+#include <unistd.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <bp-checks.h>
-+
-+#include <kernel-features.h>
-+
-+#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 <joseph@codesourcery.com>
-
- * 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 <stdio.h>
--#ifdef HAVE_SYS_TYPES_H
--# include <sys/types.h>
--#endif
--#ifdef HAVE_SYS_STAT_H
--# include <sys/stat.h>
--#endif
--#ifdef STDC_HEADERS
--# include <stdlib.h>
--# include <stddef.h>
--#else
--# ifdef HAVE_STDLIB_H
--# include <stdlib.h>
--# endif
--#endif
--#ifdef HAVE_STRING_H
--# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
--# include <memory.h>
--# endif
--# include <string.h>
--#endif
--#ifdef HAVE_STRINGS_H
--# include <strings.h>
--#endif
--#ifdef HAVE_INTTYPES_H
--# include <inttypes.h>
--#endif
--#ifdef HAVE_STDINT_H
--# include <stdint.h>
--#endif
--#ifdef HAVE_UNISTD_H
--# include <unistd.h>
--#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 <stdlib.h>
--#include <stdarg.h>
--#include <string.h>
--#include <float.h>
--
--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 <string.h>
--
--_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 <stdlib.h>
--
--_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 <ctype.h>
--#include <stdlib.h>
--#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 <cpuid.h> header])])
-+AC_CHECK_HEADER([cpuid.h], ,
-+ [AC_MSG_ERROR([gcc must provide the <cpuid.h> 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 <matthew_at_linuxfromscratch_dot_org>
-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 <dl-sysdep.h>
- #include <tls.h>
-
-+#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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <<EOF
-+int _start (void) { return 0; }
-+int __start (void) { return 0; }
-+$1
-+EOF
-+AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
-+ conftest.c -static -nostartfiles -nostdlib
-+ 1>&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 <<EOF
-+ cat > conftest.c <<EOF
- int _start (void) { return 0; }
- int __start (void) { return 0; }
-+
- int foo (void) { return 1; }
- int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
-+
- EOF
-- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-- -static -nostartfiles -nostdlib 1>&5'
-+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
-+ conftest.c -static -nostartfiles -nostdlib
-+ 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&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 <<EOF
-+int _start (void) { return 0; }
-+int __start (void) { return 0; }
-+
-+__attribute__ ((constructor)) void ctor (void) { asm (""); }
-+__attribute__ ((destructor)) void dtor (void) { asm (""); }
-
--int
--main ()
--{
--
--__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
--__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
--
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
-+EOF
-+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
-+ conftest.c -static -nostartfiles -nostdlib
-+ 1>&5'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&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 <<EOF
--int _start (void) { return 0; }
--int __start (void) { return 0; }
-+LIBC_TRY_LINK_STATIC([
- int foo (void) { return 1; }
- int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
--EOF
-- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
-- -static -nostartfiles -nostdlib 1>&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 <drepper@gmail.com>
-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 <<EOF
--#line $LINENO "configure"
--int foo (int a)
--{
-- a = __builtin_expect (a, 10);
-- return a == 10 ? 0 : 1;
--}
--EOF
--if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
-- -o conftest conftest.c -lgcc >&5'
-- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&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 <<EOF
--#line $LINENO "configure"
--int foo (int a)
--{
-- a = __builtin_expect (a, 10);
-- return a == 10 ? 0 : 1;
--}
--EOF
--dnl No \ in command here because it ends up inside ''.
--if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
-- -o conftest conftest.c -lgcc >&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 <joseph@codesourcery.com>
-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 <<EOF
--int main (void) { return 0; }
--EOF
-- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-- -fPIC -shared -shared-libgcc -o conftest.so \
-- conftest.c -v 2>&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 <<EOF
--int main (void) { return 0; }
--EOF
--changequote(,)dnl
-- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
-- -fPIC -shared -shared-libgcc -o conftest.so \
-- conftest.c -v 2>&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 <<EOF
-@@ -1660,7 +1646,7 @@
- EOF
- if AC_TRY_COMMAND([${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>&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 <aj@suse.de>
-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, &regs->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 <pcc@google.com>
-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 <pcc@google.com>
-
- * 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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <polacek@redhat.com>
-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-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
- $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-+CPPFLAGS += $(CPPFLAGS-config)
- override CFLAGS = -std=gnu99 $(gnu89-inline-CFLAGS) $(config-extra-cflags) \
- $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
- $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
diff --git a/packages/glibc/2.16.0/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.16.0/0001-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
deleted file mode 100644
index 31e9499..0000000
--- a/packages/glibc/2.16.0/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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <james@nocrew.org>
-# DP: Patch Author: (probably) Jakub Jelinek <jakub@redhat.com>
-# 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 <arpa/nameser.h>
- #include <resolv.h>
- #include <bits/libc-lock.h>
-+#include <sys/stat.h>
-
-
- /* 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 <grp.h>
-#include <stdio.h>
-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
- <http://www.gnu.org/licenses/>. */
-
-+#include <fcntl.h>
- #include <sys/socket.h>
- #include <kernel-features.h>
-
- #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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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. <azarah@gentoo.org> (12 Nov 2003).
-
- Patch also NPTL. Bug #116086. <kevquinn@gentoo.org> (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 - <<EOF
- String1 - Lang1: 1st string
---- a/intl/tst-translit.sh
-+++ b/intl/tst-translit.sh
-@@ -35,7 +35,10 @@
- LOCPATH=${common_objpfx}localedata
- export LOCPATH
-
--${common_objpfx}elf/ld.so --library-path $common_objpfx \
-+# 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 $library_path \
- ${objpfx}tst-translit > ${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 <sysdep.h>
-+#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 <aurelien@aurel32.net>
-
- * 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 <errno.h>
-+#include <unistd.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <bp-checks.h>
-+
-+#include <kernel-features.h>
-+
-+#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 <schwab@suse.de>
-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
-+ <http://www.gnu.org/licenses/>. */
-+
-+/* Testcase for BZ #15014 */
-+
-+#include <stdlib.h>
-+#include <netdb.h>
-+#include <errno.h>
-+
-+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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <pcc@google.com>
-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 <pcc@google.com>
-
- * 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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <kuba@parasoft.com>
-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 <will.newton@linaro.org>
-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 <will.newton@linaro.org>
-
- [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 <http://sourceware.org/bugzilla/>
- 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 <will.newton@linaro.org>
-+
-+ [BZ #15909]
-+ * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx
-+ instead of mov lr, pc.
-+
- 2013-07-03 Joseph Myers <joseph@codesourcery.com>
-
- * 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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <siddhesh@redhat.com>
-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 <siddhesh@redhat.com>
-+
-+ [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 <davem@davemloft.net>
-
- * 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 <Marc-Antoine@Perennou.com>
-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 <gnu/lib-names.h>
-
- 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 <pthreadP.h>
-
- 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 <stdio.h>
- #include <unwind.h>
-
--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 <unwind.h>
- #include <gnu/lib-names.h>
-
--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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <proljc@gmail.com>
-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 <proljc@gmail.com>
- Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-
----
- 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 <sys/types.h>
- #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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <kuba@parasoft.com>
-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 <lowlevellock.h>
- #include <internaltypes.h>
- #include <semaphore.h>
-+#include <sparc-nptl.h>
-
- #include <shlib-compat.h>
-
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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <joseph@codesourcery.com>
-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 <sellcey@sellcey-thinkpad.caveonetworks.com>
-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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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 <kuba@parasoft.com>
-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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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 <roland@hack.frob.com>
-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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <joseph@codesourcery.com>
-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 <sellcey@sellcey-thinkpad.caveonetworks.com>
-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 <joseph@codesourcery.com>
-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 <roland@hack.frob.com>
-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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <bits/wordsize.h>
-
- #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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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 <brett@neumeier.us>
-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 <sys/mman.h>
- #include <sys/stat.h>
- #include "semaphoreP.h"
-+#include <futex-internal.h>
- #include <shm-directory.h>
-
-
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 <yvan.roux@linaro.org>
-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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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
- <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> 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 <wdijkstr@arm.com>
-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 <wdijkstr@arm.com>
-
- * 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 <sys/types.h>
- #include <sys/param.h>
- #include <sys/socket.h>
---- 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 <math.h>
- #include <math_private.h>
-
--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 <sellcey@mips.com>
-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
-+ <http://www.gnu.org/licenses/>. */
-+
- /*
- * 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 <stilor@att.net>
-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 <stilor@att.net>
----
- 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 <joseph@codesourcery.com>
-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 <sellcey@sellcey-thinkpad.caveonetworks.com>
-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 <joseph@codesourcery.com>
-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 <joseph@codesourcery.com>
-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 <https://gcc.gnu.org/ml/gcc-patches/2017-06/msg02032.html>.
-
- * 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 <sellcey@caviumnetworks.com>
-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 <msebor@redhat.com>
-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 <joseph@codesourcery.com>
-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
- <https://sourceware.org/ml/libc-alpha/2017-11/msg00797.html>, 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 <eggert@cs.ucla.edu>
-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 <joseph@codesourcery.com>
-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'
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 <tege@gmplib.org>
-# 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'
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'
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'
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'
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 <raj.khem@gmail.com>
-
-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 <sys/types.h>
- #include <sys/time.h>
- #include <stdio.h>
-@@ -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 <features.h>
-
- /* 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 <cespedes@debian.org>
-
----
- 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 <sys/ptrace.h>
- #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 <gelf.h>
-+#include <sys/ptrace.h>
- #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 <sys/ptrace.h>
- #include <string.h>
--#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 <asm/rse.h>
-
- #include <stddef.h>
--#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 <raj.khem@gmail.com>
-
-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 <raj.khem@gmail.com>
-
-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 <debug.h>
-+#include "debug.h"
- #include <gelf.h>
- #include <sys/ptrace.h>
- #include "common.h"
---- a/sysdeps/linux-gnu/mipsel/regs.c
-+++ b/sysdeps/linux-gnu/mipsel/regs.c
-@@ -4,7 +4,6 @@
- #include <sys/types.h>
- #include <sys/ptrace.h>
- #include <asm/ptrace.h>
--#include <linux/user.h>
-
- #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 <raj.khem@gmail.com>
-
-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 <jocke@vmlinux.org>
-
----
- 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 <jocke@vmlinux.org>
-
----
- 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 <errno.h>
- #include <signal.h>
- #include <string.h>
--#include <sys/ptrace.h>
-
--#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 <unistd.h>
- #include <sys/types.h>
- #include <sys/wait.h>
--#include "ptrace.h"
- #include <asm/unistd.h>
-
--#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 <gelf.h>
- #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'
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'
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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#if defined(HAVE_MALLOC_H)
- #include <malloc.h>
-+#endif
- #include <memory.h>
- #include <stdarg.h>
- #include <stdint.h>
---- 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 <malloc.h>
-+#endif
-+#include <stdlib.h>
- #include <string.h>
- #include <memory.h>
-
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 <sezero@users.sourceforge.net>
-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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#if defined(HAVE_MALLOC_H)
- #include <malloc.h>
-+#endif
- #include <memory.h>
- #include <stdarg.h>
- #include <stdint.h>
---- 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 <malloc.h>
-+#endif
-+#include <stdlib.h>
- #include <string.h>
- #include <memory.h>
-
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 <sezero@users.sourceforge.net>
-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 <sezero@users.sourceforge.net>
-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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#if defined(HAVE_MALLOC_H)
- #include <malloc.h>
-+#endif
- #include <memory.h>
- #include <stdarg.h>
- #include <stdint.h>
---- 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 <malloc.h>
-+#endif
-+#include <stdlib.h>
- #include <string.h>
- #include <memory.h>
-
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 <sezero@users.sourceforge.net>
-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 <sezero@users.sourceforge.net>
-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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#if defined(HAVE_MALLOC_H)
- #include <malloc.h>
-+#endif
- #include <memory.h>
- #include <stdarg.h>
- #include <stdint.h>
---- 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 <malloc.h>
-+#endif
-+#include <stdlib.h>
- #include <string.h>
- #include <memory.h>
-
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 <sezero@users.sourceforge.net>
-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 <sezero@users.sourceforge.net>
-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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#if defined(HAVE_MALLOC_H)
- #include <malloc.h>
-+#endif
- #include <memory.h>
- #include <stdarg.h>
- #include <stdint.h>
---- 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 <malloc.h>
-+#endif
-+#include <stdlib.h>
- #include <string.h>
- #include <memory.h>
-
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 <sezero@users.sourceforge.net>
-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 <sezero@users.sourceforge.net>
-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=
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=
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'
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'
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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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 <linux@bohmer.net>
-[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
-Signed-off-by: Austin Morton <austinpmorton@gmail.com>
----
- 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'
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 <ldv@altlinux.org>
-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 <schwab@suse.de>
-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 <schwab@suse.de>
-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 <ldv@altlinux.org>
-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 <schwab@suse.de>
-
----
- tests/stat.c | 24 ++++++++++++++----------
- 1 file changed, 14 insertions(+), 10 deletions(-)
-
---- a/tests/stat.c
-+++ b/tests/stat.c
-@@ -14,22 +14,22 @@
- # include <sys/types.h>
- #endif
-
--#undef STAT_FNAME
-+#undef STAT_PREFIX
- #undef NR_stat
-
- #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
- # include <sys/stat.h>
--# define STAT_FNAME "stat(64)?"
-+# define STAT_PREFIX "(stat(64)?\\(|newfstatat\\(AT_FDCWD, )"
- #else
- # include <sys/syscall.h>
- # 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 <asm/stat.h>
--# 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 <schwab@suse.de>
-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 <schwab@suse.de>
-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 <linux/ioctl.h>
-+
- #ifdef HAVE_LINUX_INPUT_H
- #include <linux/input.h>
- #include "xlat/evdev_abs.h"
---- a/ioctl.c
-+++ b/ioctl.c
-@@ -29,7 +29,7 @@
- */
-
- #include "defs.h"
--#include <asm/ioctl.h>
-+#include <linux/ioctl.h>
- #include "xlat/ioctl_dirs.h"
-
- #ifdef HAVE_LINUX_INPUT_H
---- a/ioctlsort.c
-+++ b/ioctlsort.c
-@@ -33,7 +33,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <asm/ioctl.h>
-+#include <linux/ioctl.h>
-
- struct ioctlent {
- const char *info;
---- a/mknod.c
-+++ b/mknod.c
-@@ -1,6 +1,7 @@
- #include "defs.h"
-
- #include <fcntl.h>
-+#include <sys/stat.h>
-
- #ifdef MAJOR_IN_SYSMACROS
- # include <sys/sysmacros.h>
---- a/printmode.c
-+++ b/printmode.c
-@@ -1,6 +1,7 @@
- #include "defs.h"
-
- #include <fcntl.h>
-+#include <sys/stat.h>
-
- #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 <stilor@att.net>
-+ * 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 <linux/ioctl.h>
-+
-+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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <linux/ioctl.h>
-+
-+#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 <linux/ioctl.h> 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 <linux/ioctl.h> 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 <stilor@att.net>
-+ * 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 <linux/ioctl.h>
-+
-+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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <linux/ioctl.h>
-+
-+#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 <linux/ioctl.h> 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 <linux/ioctl.h> 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 <stilor@att.net>
-+ * 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 <linux/ioctl.h>
-+
-+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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <linux/ioctl.h>
-+
-+#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 <linux/ioctl.h> 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 <linux/ioctl.h> 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 <stilor@att.net>
-+ * 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 <linux/ioctl.h>
-+
-+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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <linux/ioctl.h>
-+
-+#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 <linux/ioctl.h> 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 <linux/ioctl.h> 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 <stilor@att.net>
-+ * 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 <linux/ioctl.h>
-+
-+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 <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <linux/ioctl.h>
-+
-+#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 <linux/ioctl.h> 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 <linux/ioctl.h> 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 <ken at linuxfromscratch dot org>
-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 <sys/ptrace.h> and <linux/ptrace.h>
-
-
----
- 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 <linux/ptrace.h>
- # 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 <linux/ptrace.h>
- # 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 <linux/ptrace.h>
- # 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 <linux/ptrace.h>
- # 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'
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 <chris.packham@alliedtelesis.co.nz>
-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 <chris.packham@alliedtelesis.co.nz>
---
-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 <rep.dot.nop@gmail.com>
-Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- 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 <stilor@att.net>
-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 <filippo.arcidiacono@st.com>
-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 <filippo.arcidiacono@st.com>
-Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
----
- 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'