summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-07-13 07:38:03 (GMT)
committerGitHub <noreply@github.com>2017-07-13 07:38:03 (GMT)
commit45c5bb0f484cba724be2c6105801dcce9a1a82d9 (patch)
tree8fd1c8eaa2ef203009d72b6ca6348611dcc5ee1c
parent8f8e131d566af1f577d8fb6e62e6f121b7955472 (diff)
parentb32fcf7c1eea890a2bd3f88487f818ba241aabb1 (diff)
Merge pull request #767 from stilor/packages
Packages
-rw-r--r--.gitignore1
-rw-r--r--Makefile.in2
-rw-r--r--TODO11
-rwxr-xr-xbootstrap675
-rw-r--r--config/arch/alpha.in57
-rw-r--r--config/arch/alpha.in.256
-rw-r--r--config/arch/arm.in97
-rw-r--r--config/arch/arm.in.296
-rw-r--r--config/arch/mips.in39
-rw-r--r--config/arch/mips.in.238
-rw-r--r--config/arch/powerpc.in43
-rw-r--r--config/arch/powerpc.in.242
-rw-r--r--config/arch/sh.in24
-rw-r--r--config/arch/sh.in.225
-rw-r--r--config/arch/xtensa.in15
-rw-r--r--config/arch/xtensa.in.233
-rw-r--r--config/binutils.in4
-rw-r--r--config/binutils/binutils.in197
-rw-r--r--config/binutils/binutils.in.282
-rw-r--r--config/cc.in11
-rw-r--r--config/cc/gcc.in520
-rw-r--r--config/cc/gcc.in.2387
-rw-r--r--config/comp_libs.in203
-rw-r--r--config/comp_libs/cloog.in11
-rw-r--r--config/comp_libs/expat.in3
-rw-r--r--config/comp_libs/gettext.in3
-rw-r--r--config/comp_libs/gmp.in7
-rw-r--r--config/comp_libs/isl.in26
-rw-r--r--config/comp_libs/libelf.in3
-rw-r--r--config/comp_libs/libiconv.in3
-rw-r--r--config/comp_libs/mpc.in3
-rw-r--r--config/comp_libs/mpfr.in3
-rw-r--r--config/comp_libs/ncurses.in59
-rw-r--r--config/comp_libs/zlib.in3
-rw-r--r--config/comp_tools.in15
-rw-r--r--config/comp_tools/autoconf.in7
-rw-r--r--config/comp_tools/automake.in6
-rw-r--r--config/comp_tools/libtool.in6
-rw-r--r--config/comp_tools/m4.in5
-rw-r--r--config/comp_tools/make.in10
-rw-r--r--config/companion_libs.in186
-rw-r--r--config/companion_libs/cloog.in51
-rw-r--r--config/companion_libs/expat.in25
-rw-r--r--config/companion_libs/gettext.in25
-rw-r--r--config/companion_libs/gmp.in83
-rw-r--r--config/companion_libs/isl.in92
-rw-r--r--config/companion_libs/libelf.in25
-rw-r--r--config/companion_libs/libiconv.in24
-rw-r--r--config/companion_libs/mpc.in61
-rw-r--r--config/companion_libs/mpfr.in67
-rw-r--r--config/companion_libs/ncurses.in75
-rw-r--r--config/companion_libs/zlib.in19
-rw-r--r--config/companion_tools.in15
-rw-r--r--config/companion_tools/autoconf.in29
-rw-r--r--config/companion_tools/automake.in40
-rw-r--r--config/companion_tools/libtool.in23
-rw-r--r--config/companion_tools/m4.in34
-rw-r--r--config/companion_tools/make.in45
-rw-r--r--config/config.in4
-rw-r--r--config/debug/duma.in22
-rw-r--r--config/debug/gdb.in316
-rw-r--r--config/debug/gdb.in.gdbserver2
-rw-r--r--config/debug/gdb.in.native4
-rw-r--r--config/debug/ltrace.in28
-rw-r--r--config/debug/strace.in97
-rw-r--r--config/global/extract.in27
-rw-r--r--config/kernel.in10
-rw-r--r--config/kernel/linux.in302
-rw-r--r--config/kernel/linux.in.240
-rw-r--r--config/kernel/windows.in2
-rw-r--r--config/libc.in23
-rw-r--r--config/libc/avr-libc.in67
-rw-r--r--config/libc/avr-libc.in.28
-rw-r--r--config/libc/bionic.in94
-rw-r--r--config/libc/glibc.in409
-rw-r--r--config/libc/glibc.in.2245
-rw-r--r--config/libc/mingw-w64.in39
-rw-r--r--config/libc/mingw.in159
-rw-r--r--config/libc/musl.in83
-rw-r--r--config/libc/musl.in.251
-rw-r--r--config/libc/newlib.in305
-rw-r--r--config/libc/newlib.in.2176
-rw-r--r--config/libc/uClibc.in239
-rw-r--r--config/libc/uClibc.in.2110
-rw-r--r--config/target.in29
-rw-r--r--config/toolchain.in2
-rw-r--r--kconfig/kconfig.mk1
-rwxr-xr-xmaintainer/addToolVersion.sh238
-rwxr-xr-xmaintainer/gen-kconfig.sh160
-rw-r--r--maintainer/kconfig-choice.template32
-rw-r--r--maintainer/kconfig-menu.template20
-rw-r--r--maintainer/kconfig-versions.template285
-rw-r--r--packages/GNU.help6
-rw-r--r--packages/Linaro.help4
-rw-r--r--packages/android-ndk/package.desc3
-rw-r--r--packages/android-ndk/r10e/version.desc1
-rw-r--r--packages/android-ndk/r11c/version.desc1
-rw-r--r--packages/android-ndk/r12b/version.desc1
-rw-r--r--packages/android-ndk/r13b/version.desc1
-rw-r--r--packages/android-ndk/r14b/version.desc0
-rw-r--r--packages/android-ndk/r15b/version.desc0
-rw-r--r--packages/autoconf/2.65/version.desc0
-rw-r--r--packages/autoconf/2.69/version.desc0
-rw-r--r--packages/autoconf/package.desc3
-rw-r--r--packages/autoconf/version.desc1
-rw-r--r--packages/automake/1.11.1/version.desc1
-rw-r--r--packages/automake/1.11.6/version.desc1
-rw-r--r--packages/automake/1.14/version.desc1
-rw-r--r--packages/automake/1.15/version.desc0
-rw-r--r--packages/automake/package.desc3
-rw-r--r--packages/avr-libc/1.8.0/version.desc1
-rw-r--r--packages/avr-libc/1.8.1/version.desc0
-rw-r--r--packages/avr-libc/2.0.0/version.desc0
-rw-r--r--packages/avr-libc/package.desc2
-rw-r--r--packages/binutils-linaro/2.23.2-2013.10-4/version.desc1
-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/version.desc1
-rw-r--r--packages/binutils-linaro/package.desc5
-rw-r--r--packages/binutils/2.23.2/120-sh-conf.patch (renamed from patches/binutils/2.23.2/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.23.2/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.23.2/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.23.2/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.23.2/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.23.2/310-fix-gold-pthreads-typo.patch (renamed from patches/binutils/2.26/310-fix-gold-pthreads-typo.patch)0
-rw-r--r--packages/binutils/2.23.2/500-sysroot.patch (renamed from patches/binutils/2.26/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.23.2/600-poison-system-directories.patch (renamed from patches/binutils/2.23.2/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.23.2/900-xtensa-trampolines.patch (renamed from patches/binutils/2.24/900-xtensa-trampolines.patch)0
-rw-r--r--packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch (renamed from patches/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch)0
-rw-r--r--packages/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch (renamed from patches/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch)0
-rw-r--r--packages/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch (renamed from patches/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch)0
-rw-r--r--packages/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch (renamed from patches/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch)0
-rw-r--r--packages/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch (renamed from patches/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch)0
-rw-r--r--packages/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch (renamed from patches/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch)0
-rw-r--r--packages/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch (renamed from patches/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch)0
-rw-r--r--packages/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch (renamed from patches/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch)0
-rw-r--r--packages/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch (renamed from patches/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch)0
-rw-r--r--packages/binutils/2.23.2/version.desc1
-rw-r--r--packages/binutils/2.24/001-fix-enable-install-libiberty-flag.patch (renamed from patches/binutils/2.24/001-fix-enable-install-libiberty-flag.patch)0
-rw-r--r--packages/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch (renamed from patches/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch)0
-rw-r--r--packages/binutils/2.24/120-sh-conf.patch (renamed from patches/binutils/2.24/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.24/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.24/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.24/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.24/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.24/310-fix-gold-pthreads-typo.patch (renamed from patches/binutils/2.25.1/310-fix-gold-pthreads-typo.patch)0
-rw-r--r--packages/binutils/2.24/500-sysroot.patch (renamed from patches/binutils/2.25.1/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.24/600-poison-system-directories.patch (renamed from patches/binutils/2.24/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch (renamed from patches/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch)0
-rw-r--r--packages/binutils/2.24/900-xtensa-trampolines.patch (renamed from patches/binutils/2.23.2/900-xtensa-trampolines.patch)0
-rw-r--r--packages/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch (renamed from patches/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch)0
-rw-r--r--packages/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch (renamed from patches/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch)0
-rw-r--r--packages/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch (renamed from patches/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch)0
-rw-r--r--packages/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch (renamed from patches/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch)0
-rw-r--r--packages/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch (renamed from patches/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch)0
-rw-r--r--packages/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch (renamed from patches/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch)0
-rw-r--r--packages/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch (renamed from patches/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch)0
-rw-r--r--packages/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch (renamed from patches/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch)0
-rw-r--r--packages/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch (renamed from patches/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch)0
-rw-r--r--packages/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch (renamed from patches/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch)0
-rw-r--r--packages/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch (renamed from patches/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch)0
-rw-r--r--packages/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch (renamed from patches/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch)0
-rw-r--r--packages/binutils/2.24/913-xtensa-add-auto-litpools-option.patch (renamed from patches/binutils/2.24/913-xtensa-add-auto-litpools-option.patch)0
-rw-r--r--packages/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch (renamed from patches/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch)0
-rw-r--r--packages/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch (renamed from patches/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch)0
-rw-r--r--packages/binutils/2.24/version.desc1
-rw-r--r--packages/binutils/2.25.1/120-sh-conf.patch (renamed from patches/binutils/2.28/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.25.1/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.28/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.25.1/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.28/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.25.1/310-fix-gold-pthreads-typo.patch (renamed from patches/binutils/2.24/310-fix-gold-pthreads-typo.patch)0
-rw-r--r--packages/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch (renamed from patches/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch)0
-rw-r--r--packages/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch (renamed from patches/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch)0
-rw-r--r--packages/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch (renamed from patches/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch)0
-rw-r--r--packages/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch (renamed from patches/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch)0
-rw-r--r--packages/binutils/2.25.1/400-arm-rotate_left-fix.patch (renamed from patches/binutils/2.25.1/400-arm-rotate_left-fix.patch)0
-rw-r--r--packages/binutils/2.25.1/500-sysroot.patch (renamed from patches/binutils/2.24/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.25.1/600-poison-system-directories.patch (renamed from patches/binutils/2.25.1/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch (renamed from patches/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch)0
-rw-r--r--packages/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch (renamed from patches/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch)0
-rw-r--r--packages/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch (renamed from patches/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch)0
-rw-r--r--packages/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch (renamed from patches/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch)0
-rw-r--r--packages/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch (renamed from patches/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch)0
-rw-r--r--packages/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch (renamed from patches/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch)0
-rw-r--r--packages/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch (renamed from patches/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch)0
-rw-r--r--packages/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch (renamed from patches/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch)0
-rw-r--r--packages/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch (renamed from patches/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch)0
-rw-r--r--packages/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch (renamed from patches/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch)0
-rw-r--r--packages/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch (renamed from patches/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch)0
-rw-r--r--packages/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch (renamed from patches/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch)0
-rw-r--r--packages/binutils/2.25.1/version.desc1
-rw-r--r--packages/binutils/2.26/120-sh-conf.patch (renamed from patches/binutils/2.27/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.26/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.27/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.26/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.27/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.26/310-fix-gold-pthreads-typo.patch (renamed from patches/binutils/2.23.2/310-fix-gold-pthreads-typo.patch)0
-rw-r--r--packages/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch (renamed from patches/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch)0
-rw-r--r--packages/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch (renamed from patches/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch)0
-rw-r--r--packages/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch (renamed from patches/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch)0
-rw-r--r--packages/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch (renamed from patches/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch)0
-rw-r--r--packages/binutils/2.26/500-sysroot.patch (renamed from patches/binutils/2.23.2/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.26/600-poison-system-directories.patch (renamed from patches/binutils/2.26/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch (renamed from patches/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch)0
-rw-r--r--packages/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch (renamed from patches/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch)0
-rw-r--r--packages/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch (renamed from patches/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch)0
-rw-r--r--packages/binutils/2.26/version.desc0
-rw-r--r--packages/binutils/2.27/100-missing-break.patch (renamed from patches/binutils/2.27/100-missing-break.patch)0
-rw-r--r--packages/binutils/2.27/120-sh-conf.patch (renamed from patches/binutils/2.26/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.27/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.26/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.27/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.26/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch (renamed from patches/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch)0
-rw-r--r--packages/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch (renamed from patches/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch)0
-rw-r--r--packages/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch (renamed from patches/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch)0
-rw-r--r--packages/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch (renamed from patches/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch)0
-rw-r--r--packages/binutils/2.27/500-sysroot.patch (renamed from patches/binutils/2.28/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.27/600-poison-system-directories.patch (renamed from patches/binutils/2.28/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch (renamed from patches/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch)0
-rw-r--r--packages/binutils/2.27/999-xtensa-reverse-shift-count.patch (renamed from patches/binutils/2.27/999-xtensa-reverse-shift-count.patch)0
-rw-r--r--packages/binutils/2.27/version.desc0
-rw-r--r--packages/binutils/2.28/120-sh-conf.patch (renamed from patches/binutils/2.25.1/120-sh-conf.patch)0
-rw-r--r--packages/binutils/2.28/300-001_ld_makefile_patch.patch (renamed from patches/binutils/2.25.1/300-001_ld_makefile_patch.patch)0
-rw-r--r--packages/binutils/2.28/300-012_check_ldrunpath_length.patch (renamed from patches/binutils/2.25.1/300-012_check_ldrunpath_length.patch)0
-rw-r--r--packages/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch (renamed from patches/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch)0
-rw-r--r--packages/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch (renamed from patches/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch)0
-rw-r--r--packages/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch (renamed from patches/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch)0
-rw-r--r--packages/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch (renamed from patches/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch)0
-rw-r--r--packages/binutils/2.28/500-sysroot.patch (renamed from patches/binutils/2.27/500-sysroot.patch)0
-rw-r--r--packages/binutils/2.28/600-poison-system-directories.patch (renamed from patches/binutils/2.27/600-poison-system-directories.patch)0
-rw-r--r--packages/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch (renamed from patches/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch)0
-rw-r--r--packages/binutils/2.28/version.desc0
-rw-r--r--packages/binutils/package.desc4
-rw-r--r--packages/cloog/0.18.0/version.desc1
-rw-r--r--packages/cloog/0.18.1/version.desc1
-rw-r--r--packages/cloog/0.18.4/version.desc0
-rw-r--r--packages/cloog/package.desc4
-rw-r--r--packages/duma/2_5_15/100-cross-compile.patch (renamed from patches/duma/2_5_15/100-cross-compile.patch)0
-rw-r--r--packages/duma/2_5_15/110-separate_cpp.patch (renamed from patches/duma/2_5_15/110-separate_cpp.patch)0
-rw-r--r--packages/duma/2_5_15/200-cpp11-new-operator.patch (renamed from patches/duma/2_5_15/200-cpp11-new-operator.patch)0
-rw-r--r--packages/duma/2_5_15/version.desc0
-rw-r--r--packages/duma/package.desc4
-rw-r--r--packages/elf2flt/package.desc2
-rw-r--r--packages/expat/2.1.1/version.desc1
-rw-r--r--packages/expat/2.2.1/version.desc0
-rw-r--r--packages/expat/package.desc4
-rw-r--r--packages/gcc-linaro/4.8-2015.06/001_gcc_bug_62231.patch (renamed from patches/gcc/linaro-4.8-2015.06/001_gcc_bug_62231.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/002_gcc_bug_62231.patch (renamed from patches/gcc/linaro-4.8-2015.06/002_gcc_bug_62231.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/100-uclibc-conf.patch (renamed from patches/gcc/linaro-4.9-2017.01/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/linaro-4.9-2017.01/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional (renamed from patches/gcc/linaro-4.8-2015.06/1000-powerpc-link-with-math-lib.patch.conditional)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/111-pr65730.patch (renamed from patches/gcc/linaro-4.8-2015.06/111-pr65730.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/130-pr43538.patch (renamed from patches/gcc/linaro-4.9-2017.01/130-pr43538.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch (renamed from patches/gcc/linaro-4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/132-build_gcc-5_with_gcc-6.patch (renamed from patches/gcc/linaro-4.8-2015.06/132-build_gcc-5_with_gcc-6.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/301-missing-execinfo_h.patch (renamed from patches/gcc/linaro-4.9-2017.01/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/305-libmudflap-susv3-legacy.patch (renamed from patches/gcc/linaro-4.8-2015.06/305-libmudflap-susv3-legacy.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/linaro-4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/linaro-4.8-2015.06/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/linaro-4.9-2017.01/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/841-PR57717-E500v2.patch (renamed from patches/gcc/linaro-4.8-2015.06/841-PR57717-E500v2.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/842-PR60155.patch (renamed from patches/gcc/linaro-4.8-2015.06/842-PR60155.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch (renamed from patches/gcc/linaro-4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/linaro-4.8-2015.06/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/851-PR-other-56780.patch (renamed from patches/gcc/linaro-4.8-2015.06/851-PR-other-56780.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/linaro-5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/linaro-4.9-2017.01/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/linaro-4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/linaro-4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/linaro-4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/900-musl-support.patch (renamed from patches/gcc/linaro-4.8-2015.06/900-musl-support.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/950-cygwin64.patch (renamed from patches/gcc/linaro-4.8-2015.06/950-cygwin64.patch)0
-rw-r--r--packages/gcc-linaro/4.8-2015.06/version.desc1
-rw-r--r--packages/gcc-linaro/4.9-2017.01/001-gcc_bug_62231.patch (renamed from patches/gcc/linaro-4.9-2017.01/001-gcc_bug_62231.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/002-gcc_bug_62231.patch (renamed from patches/gcc/linaro-4.9-2017.01/002-gcc_bug_62231.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/100-uclibc-conf.patch (renamed from patches/gcc/linaro-4.8-2015.06/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/linaro-4.8-2015.06/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional (renamed from patches/gcc/linaro-4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/1100-msp430-string-literals.patch (renamed from patches/gcc/linaro-4.9-2017.01/1100-msp430-string-literals.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/111-pr65730.patch (renamed from patches/gcc/linaro-4.9-2017.01/111-pr65730.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch (renamed from patches/gcc/linaro-4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/130-pr43538.patch (renamed from patches/gcc/linaro-4.8-2015.06/130-pr43538.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch (renamed from patches/gcc/linaro-4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch (renamed from patches/gcc/linaro-4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/301-missing-execinfo_h.patch (renamed from patches/gcc/linaro-4.8-2015.06/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/linaro-4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/linaro-6.3-2017.05/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/linaro-4.8-2015.06/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch (renamed from patches/gcc/linaro-4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/linaro-4.9-2017.01/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/860-cilk-wchar.patch (renamed from patches/gcc/linaro-4.9-2017.01/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/linaro-4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/linaro-4.8-2015.06/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/linaro-4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/linaro-4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/874-xtensa-add-uclinux-support.patch (renamed from patches/gcc/linaro-4.9-2017.01/874-xtensa-add-uclinux-support.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/linaro-4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/880-nios2_legitimize_address.patch (renamed from patches/gcc/linaro-4.9-2017.01/880-nios2_legitimize_address.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/890-fix-m68k-compile.patch (renamed from patches/gcc/linaro-4.9-2017.01/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/891-fix-m68k-uclinux.patch (renamed from patches/gcc/linaro-4.9-2017.01/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/linaro-4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/940-uclinux-enable-threads.patch (renamed from patches/gcc/linaro-4.9-2017.01/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc-linaro/4.9-2017.01/version.desc0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/100-uclibc-conf.patch (renamed from patches/gcc/linaro-6.3-2017.05/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/linaro-5.4-2017.05/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/110-xtensa-implement-trap-pattern.patch (renamed from patches/gcc/linaro-5.4-2017.05/110-xtensa-implement-trap-pattern.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/1100-msp430-string-literals.patch (renamed from patches/gcc/linaro-5.4-2017.05/1100-msp430-string-literals.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch (renamed from patches/gcc/linaro-5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/301-missing-execinfo_h.patch (renamed from patches/gcc/linaro-6.3-2017.05/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/linaro-6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from patches/gcc/linaro-6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/linaro-5.4-2017.05/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/linaro-6.3-2017.05/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch (renamed from patches/gcc/linaro-5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/linaro-5.4-2017.05/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/860-cilk-wchar.patch (renamed from patches/gcc/linaro-6.3-2017.05/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/linaro-4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/linaro-5.4-2017.05/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/linaro-5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/linaro-5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/874-xtensa-add-uclinux-support.patch (renamed from patches/gcc/linaro-5.4-2017.05/874-xtensa-add-uclinux-support.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch (renamed from patches/gcc/linaro-5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch (renamed from patches/gcc/linaro-5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch (renamed from patches/gcc/linaro-5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch (renamed from patches/gcc/linaro-5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/linaro-5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/890-fix-m68k-compile.patch (renamed from patches/gcc/linaro-6.3-2017.05/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/891-fix-m68k-uclinux.patch (renamed from patches/gcc/linaro-6.3-2017.05/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/892-microblaze-uclibc.patch (renamed from patches/gcc/linaro-5.4-2017.05/892-microblaze-uclibc.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/902-unwind-fix-for-musl.patch (renamed from patches/gcc/linaro-5.4-2017.05/902-unwind-fix-for-musl.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/910-nios2-bad-multilib-default.patch (renamed from patches/gcc/linaro-5.4-2017.05/910-nios2-bad-multilib-default.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/linaro-6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/940-uclinux-enable-threads.patch (renamed from patches/gcc/linaro-6.3-2017.05/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc-linaro/5.4-2017.05/version.desc0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/100-uclibc-conf.patch (renamed from patches/gcc/linaro-5.4-2017.05/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/linaro-6.3-2017.05/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/1100-ubsan-fix-check-empty-string.patch (renamed from patches/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/301-missing-execinfo_h.patch (renamed from patches/gcc/linaro-5.4-2017.05/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/linaro-5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from patches/gcc/linaro-5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/linaro-4.9-2017.01/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/linaro-5.4-2017.05/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/860-cilk-wchar.patch (renamed from patches/gcc/linaro-5.4-2017.05/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch (renamed from patches/gcc/linaro-6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch (renamed from patches/gcc/linaro-6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch (renamed from patches/gcc/linaro-6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/linaro-6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/890-fix-m68k-compile.patch (renamed from patches/gcc/linaro-5.4-2017.05/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/891-fix-m68k-uclinux.patch (renamed from patches/gcc/linaro-5.4-2017.05/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch (renamed from patches/gcc/linaro-6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch (renamed from patches/gcc/linaro-6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch (renamed from patches/gcc/linaro-6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/895-bfin-define-REENTRANT.patch (renamed from patches/gcc/linaro-6.3-2017.05/895-bfin-define-REENTRANT.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/900-libgfortran-missing-include.patch (renamed from patches/gcc/linaro-6.3-2017.05/900-libgfortran-missing-include.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/910-nios2-bad-multilib-default.patch (renamed from patches/gcc/linaro-6.3-2017.05/910-nios2-bad-multilib-default.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/linaro-5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/940-uclinux-enable-threads.patch (renamed from patches/gcc/linaro-5.4-2017.05/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/951-bionic-ndk.patch (renamed from patches/gcc/linaro-6.3-2017.05/951-bionic-ndk.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/952-bionic-errno.patch (renamed from patches/gcc/linaro-6.3-2017.05/952-bionic-errno.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/970-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/970-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/971-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/971-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/972-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/972-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/973-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/973-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/974-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/974-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/975-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/975-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/976-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/976-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/977-crystax.patch (renamed from patches/gcc/linaro-6.3-2017.05/977-crystax.patch)0
-rw-r--r--packages/gcc-linaro/6.3-2017.05/version.desc0
-rw-r--r--packages/gcc-linaro/package.desc5
-rw-r--r--packages/gcc/4.8.5/001_gcc_bug_62231.patch (renamed from patches/gcc/4.8.5/001_gcc_bug_62231.patch)0
-rw-r--r--packages/gcc/4.8.5/002_gcc_bug_62231.patch (renamed from patches/gcc/4.8.5/002_gcc_bug_62231.patch)0
-rw-r--r--packages/gcc/4.8.5/100-uclibc-conf.patch (renamed from patches/gcc/4.9.4/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc/4.8.5/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/4.9.4/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional (renamed from patches/gcc/4.8.5/1000-powerpc-link-with-math-lib.patch.conditional)0
-rw-r--r--packages/gcc/4.8.5/111-alpha-bad-eh_frame.patch (renamed from patches/gcc/7.1.0/111-alpha-bad-eh_frame.patch)0
-rw-r--r--packages/gcc/4.8.5/111-pr65730.patch (renamed from patches/gcc/4.8.5/111-pr65730.patch)0
-rw-r--r--packages/gcc/4.8.5/130-pr43538.patch (renamed from patches/gcc/4.9.4/130-pr43538.patch)0
-rw-r--r--packages/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch (renamed from patches/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch)0
-rw-r--r--packages/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch (renamed from patches/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch)0
-rw-r--r--packages/gcc/4.8.5/301-missing-execinfo_h.patch (renamed from patches/gcc/4.9.4/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc/4.8.5/305-libmudflap-susv3-legacy.patch (renamed from patches/gcc/4.8.5/305-libmudflap-susv3-legacy.patch)0
-rw-r--r--packages/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc/4.8.5/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/4.8.5/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc/4.8.5/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/4.9.4/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc/4.8.5/841-PR57717-E500v2.patch (renamed from patches/gcc/4.8.5/841-PR57717-E500v2.patch)0
-rw-r--r--packages/gcc/4.8.5/842-PR60155.patch (renamed from patches/gcc/4.8.5/842-PR60155.patch)0
-rw-r--r--packages/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch (renamed from patches/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch)0
-rw-r--r--packages/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc/4.8.5/851-PR-other-56780.patch (renamed from patches/gcc/4.8.5/851-PR-other-56780.patch)0
-rw-r--r--packages/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc/4.8.5/900-musl-support.patch (renamed from patches/gcc/4.8.5/900-musl-support.patch)0
-rw-r--r--packages/gcc/4.8.5/950-cygwin64.patch (renamed from patches/gcc/4.8.5/950-cygwin64.patch)0
-rw-r--r--packages/gcc/4.8.5/version.desc1
-rw-r--r--packages/gcc/4.9.4/001-gcc_bug_62231.patch (renamed from patches/gcc/4.9.4/001-gcc_bug_62231.patch)0
-rw-r--r--packages/gcc/4.9.4/002-gcc_bug_62231.patch (renamed from patches/gcc/4.9.4/002-gcc_bug_62231.patch)0
-rw-r--r--packages/gcc/4.9.4/100-uclibc-conf.patch (renamed from patches/gcc/4.8.5/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc/4.9.4/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/4.8.5/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional (renamed from patches/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional)0
-rw-r--r--packages/gcc/4.9.4/1100-msp430-string-literals.patch (renamed from patches/gcc/4.9.4/1100-msp430-string-literals.patch)0
-rw-r--r--packages/gcc/4.9.4/111-alpha-bad-eh_frame.patch (renamed from patches/gcc/6.3.0/111-alpha-bad-eh_frame.patch)0
-rw-r--r--packages/gcc/4.9.4/111-pr65730.patch (renamed from patches/gcc/4.9.4/111-pr65730.patch)0
-rw-r--r--packages/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch (renamed from patches/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch)0
-rw-r--r--packages/gcc/4.9.4/130-pr43538.patch (renamed from patches/gcc/4.8.5/130-pr43538.patch)0
-rw-r--r--packages/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch (renamed from patches/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch)0
-rw-r--r--packages/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch (renamed from patches/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch)0
-rw-r--r--packages/gcc/4.9.4/301-missing-execinfo_h.patch (renamed from patches/gcc/4.8.5/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc/4.9.4/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/7.1.0/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc/4.9.4/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/4.8.5/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch (renamed from patches/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch)0
-rw-r--r--packages/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc/4.9.4/860-cilk-wchar.patch (renamed from patches/gcc/4.9.4/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc/4.9.4/874-xtensa-add-uclinux-support.patch (renamed from patches/gcc/4.9.4/874-xtensa-add-uclinux-support.patch)0
-rw-r--r--packages/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc/4.9.4/880-nios2_legitimize_address.patch (renamed from patches/gcc/4.9.4/880-nios2_legitimize_address.patch)0
-rw-r--r--packages/gcc/4.9.4/890-fix-m68k-compile.patch (renamed from patches/gcc/4.9.4/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc/4.9.4/891-fix-m68k-uclinux.patch (renamed from patches/gcc/4.9.4/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc/4.9.4/900-musl-support.patch (renamed from patches/gcc/4.9.4/900-musl-support.patch)0
-rw-r--r--packages/gcc/4.9.4/901-microblaze-uclibc.patch (renamed from patches/gcc/4.9.4/901-microblaze-uclibc.patch)0
-rw-r--r--packages/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc/4.9.4/940-uclinux-enable-threads.patch (renamed from patches/gcc/4.9.4/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc/4.9.4/version.desc0
-rw-r--r--packages/gcc/5.4.0/100-uclibc-conf.patch (renamed from patches/gcc/7.1.0/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc/5.4.0/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/5.4.0/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch (renamed from patches/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch)0
-rw-r--r--packages/gcc/5.4.0/1100-msp430-string-literals.patch (renamed from patches/gcc/5.4.0/1100-msp430-string-literals.patch)0
-rw-r--r--packages/gcc/5.4.0/111-alpha-bad-eh_frame.patch (renamed from patches/gcc/5.4.0/111-alpha-bad-eh_frame.patch)0
-rw-r--r--packages/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch (renamed from patches/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch)0
-rw-r--r--packages/gcc/5.4.0/301-missing-execinfo_h.patch (renamed from patches/gcc/6.3.0/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from patches/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch)0
-rw-r--r--packages/gcc/5.4.0/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/6.3.0/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc/5.4.0/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/6.3.0/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch (renamed from patches/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch)0
-rw-r--r--packages/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch (renamed from patches/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch)0
-rw-r--r--packages/gcc/5.4.0/860-cilk-wchar.patch (renamed from patches/gcc/7.1.0/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch (renamed from patches/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch)0
-rw-r--r--packages/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch (renamed from patches/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch)0
-rw-r--r--packages/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch (renamed from patches/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch)0
-rw-r--r--packages/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch (renamed from patches/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch)0
-rw-r--r--packages/gcc/5.4.0/874-xtensa-add-uclinux-support.patch (renamed from patches/gcc/5.4.0/874-xtensa-add-uclinux-support.patch)0
-rw-r--r--packages/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch (renamed from patches/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch)0
-rw-r--r--packages/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch (renamed from patches/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch)0
-rw-r--r--packages/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch (renamed from patches/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch)0
-rw-r--r--packages/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch (renamed from patches/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch)0
-rw-r--r--packages/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc/5.4.0/890-fix-m68k-compile.patch (renamed from patches/gcc/6.3.0/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc/5.4.0/891-fix-m68k-uclinux.patch (renamed from patches/gcc/7.1.0/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc/5.4.0/892-microblaze-uclibc.patch (renamed from patches/gcc/5.4.0/892-microblaze-uclibc.patch)0
-rw-r--r--packages/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch (renamed from patches/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch (renamed from patches/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/902-unwind-fix-for-musl.patch (renamed from patches/gcc/5.4.0/902-unwind-fix-for-musl.patch)0
-rw-r--r--packages/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch (renamed from patches/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch)0
-rw-r--r--packages/gcc/5.4.0/904-musl-libc-config.patch (renamed from patches/gcc/5.4.0/904-musl-libc-config.patch)0
-rw-r--r--packages/gcc/5.4.0/905-add-musl-support-to-gcc.patch (renamed from patches/gcc/5.4.0/905-add-musl-support-to-gcc.patch)0
-rw-r--r--packages/gcc/5.4.0/906-mips-musl-support.patch (renamed from patches/gcc/5.4.0/906-mips-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/907-x86-musl-support.patch (renamed from patches/gcc/5.4.0/907-x86-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/908-arm-musl-support.patch (renamed from patches/gcc/5.4.0/908-arm-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/909-aarch64-musl-support.patch (renamed from patches/gcc/5.4.0/909-aarch64-musl-support.patch)0
-rw-r--r--packages/gcc/5.4.0/910-nios2-bad-multilib-default.patch (renamed from patches/gcc/5.4.0/910-nios2-bad-multilib-default.patch)0
-rw-r--r--packages/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc/5.4.0/940-uclinux-enable-threads.patch (renamed from patches/gcc/6.3.0/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc/5.4.0/version.desc0
-rw-r--r--packages/gcc/6.3.0/100-uclibc-conf.patch (renamed from patches/gcc/6.3.0/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc/6.3.0/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/7.1.0/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch28
-rw-r--r--packages/gcc/6.3.0/111-alpha-bad-eh_frame.patch (renamed from patches/gcc/4.9.4/111-alpha-bad-eh_frame.patch)0
-rw-r--r--packages/gcc/6.3.0/301-missing-execinfo_h.patch (renamed from patches/gcc/5.4.0/301-missing-execinfo_h.patch)0
-rw-r--r--packages/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from patches/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch)0
-rw-r--r--packages/gcc/6.3.0/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/5.4.0/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc/6.3.0/830-arm_unbreak_armv4t.patch (renamed from patches/gcc/5.4.0/830-arm_unbreak_armv4t.patch)0
-rw-r--r--packages/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch (renamed from patches/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch)0
-rw-r--r--packages/gcc/6.3.0/860-cilk-wchar.patch (renamed from patches/gcc/6.3.0/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch (renamed from patches/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch)0
-rw-r--r--packages/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch (renamed from patches/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch)0
-rw-r--r--packages/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch (renamed from patches/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch)0
-rw-r--r--packages/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc/6.3.0/890-fix-m68k-compile.patch (renamed from patches/gcc/5.4.0/890-fix-m68k-compile.patch)0
-rw-r--r--packages/gcc/6.3.0/891-fix-m68k-uclinux.patch (renamed from patches/gcc/6.3.0/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch (renamed from patches/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch)0
-rw-r--r--packages/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch (renamed from patches/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch)0
-rw-r--r--packages/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch (renamed from patches/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch)0
-rw-r--r--packages/gcc/6.3.0/895-bfin-define-REENTRANT.patch (renamed from patches/gcc/6.3.0/895-bfin-define-REENTRANT.patch)0
-rw-r--r--packages/gcc/6.3.0/900-libgfortran-missing-include.patch (renamed from patches/gcc/7.1.0/900-libgfortran-missing-include.patch)0
-rw-r--r--packages/gcc/6.3.0/910-nios2-bad-multilib-default.patch (renamed from patches/gcc/7.1.0/910-nios2-bad-multilib-default.patch)0
-rw-r--r--packages/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc/6.3.0/940-uclinux-enable-threads.patch (renamed from patches/gcc/5.4.0/940-uclinux-enable-threads.patch)0
-rw-r--r--packages/gcc/6.3.0/951-bionic-ndk.patch (renamed from patches/gcc/7.1.0/951-bionic-ndk.patch)0
-rw-r--r--packages/gcc/6.3.0/952-bionic-errno.patch (renamed from patches/gcc/7.1.0/952-bionic-errno.patch)0
-rw-r--r--packages/gcc/6.3.0/970-crystax.patch (renamed from patches/gcc/6.3.0/970-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/971-crystax.patch (renamed from patches/gcc/7.1.0/971-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/972-crystax.patch (renamed from patches/gcc/7.1.0/972-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/973-crystax.patch (renamed from patches/gcc/7.1.0/973-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/974-crystax.patch (renamed from patches/gcc/7.1.0/974-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/975-crystax.patch (renamed from patches/gcc/7.1.0/975-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/976-crystax.patch (renamed from patches/gcc/7.1.0/976-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/977-crystax.patch (renamed from patches/gcc/7.1.0/977-crystax.patch)0
-rw-r--r--packages/gcc/6.3.0/version.desc0
-rw-r--r--packages/gcc/7.1.0/100-uclibc-conf.patch (renamed from patches/gcc/5.4.0/100-uclibc-conf.patch)0
-rw-r--r--packages/gcc/7.1.0/1000-libtool-leave-framework-alone.patch (renamed from patches/gcc/6.3.0/1000-libtool-leave-framework-alone.patch)0
-rw-r--r--packages/gcc/7.1.0/111-alpha-bad-eh_frame.patch (renamed from patches/gcc/4.8.5/111-alpha-bad-eh_frame.patch)0
-rw-r--r--packages/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (renamed from patches/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch)0
-rw-r--r--packages/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch (renamed from patches/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch)0
-rw-r--r--packages/gcc/7.1.0/810-arm-softfloat-libgcc.patch (renamed from patches/gcc/4.9.4/810-arm-softfloat-libgcc.patch)0
-rw-r--r--packages/gcc/7.1.0/860-cilk-wchar.patch (renamed from patches/gcc/5.4.0/860-cilk-wchar.patch)0
-rw-r--r--packages/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch (renamed from patches/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch)0
-rw-r--r--packages/gcc/7.1.0/891-fix-m68k-uclinux.patch (renamed from patches/gcc/5.4.0/891-fix-m68k-uclinux.patch)0
-rw-r--r--packages/gcc/7.1.0/900-libgfortran-missing-include.patch (renamed from patches/gcc/6.3.0/900-libgfortran-missing-include.patch)0
-rw-r--r--packages/gcc/7.1.0/910-nios2-bad-multilib-default.patch (renamed from patches/gcc/6.3.0/910-nios2-bad-multilib-default.patch)0
-rw-r--r--packages/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch (renamed from patches/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch)0
-rw-r--r--packages/gcc/7.1.0/951-bionic-ndk.patch (renamed from patches/gcc/6.3.0/951-bionic-ndk.patch)0
-rw-r--r--packages/gcc/7.1.0/952-bionic-errno.patch (renamed from patches/gcc/6.3.0/952-bionic-errno.patch)0
-rw-r--r--packages/gcc/7.1.0/970-crystax.patch (renamed from patches/gcc/7.1.0/970-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/971-crystax.patch (renamed from patches/gcc/6.3.0/971-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/972-crystax.patch (renamed from patches/gcc/6.3.0/972-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/973-crystax.patch (renamed from patches/gcc/6.3.0/973-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/974-crystax.patch (renamed from patches/gcc/6.3.0/974-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/975-crystax.patch (renamed from patches/gcc/6.3.0/975-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/976-crystax.patch (renamed from patches/gcc/6.3.0/976-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/977-crystax.patch (renamed from patches/gcc/6.3.0/977-crystax.patch)0
-rw-r--r--packages/gcc/7.1.0/version.desc0
-rw-r--r--packages/gcc/package.desc4
-rw-r--r--packages/gdb-linaro/7.3-2011.12/version.desc1
-rw-r--r--packages/gdb-linaro/7.4-2012.06/version.desc1
-rw-r--r--packages/gdb-linaro/7.5-2012.12/version.desc1
-rw-r--r--packages/gdb-linaro/7.6.1-2013.10/version.desc1
-rw-r--r--packages/gdb-linaro/7.7-2014.05/version.desc1
-rw-r--r--packages/gdb-linaro/7.7.1-2014.06-1/version.desc1
-rw-r--r--packages/gdb-linaro/7.8-2014.09/version.desc1
-rw-r--r--packages/gdb-linaro/package.desc5
-rw-r--r--packages/gdb/6.8a/100-dwarf-stack-overflow.patch (renamed from patches/gdb/6.8a/100-dwarf-stack-overflow.patch)0
-rw-r--r--packages/gdb/6.8a/110-security-errata-20050610.patch (renamed from patches/gdb/6.8a/110-security-errata-20050610.patch)0
-rw-r--r--packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch (renamed from patches/gdb/6.8a/120-tdep-opcode-include-workaround.patch)0
-rw-r--r--packages/gdb/6.8a/130-reg-no-longer-active.patch (renamed from patches/gdb/6.8a/130-reg-no-longer-active.patch)0
-rw-r--r--packages/gdb/6.8a/140-sim-ppc-have-config-h.patch (renamed from patches/gdb/6.8a/140-sim-ppc-have-config-h.patch)0
-rw-r--r--packages/gdb/6.8a/150-handle-stpcpy-define.patch (renamed from patches/gdb/6.8a/150-handle-stpcpy-define.patch)0
-rw-r--r--packages/gdb/6.8a/version.desc1
-rw-r--r--packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch (renamed from patches/gdb/7.0a/100-sim-ppc-have-config-h.patch)0
-rw-r--r--packages/gdb/7.0.1a/version.desc1
-rw-r--r--packages/gdb/7.0a/100-sim-ppc-have-config-h.patch (renamed from patches/gdb/7.0.1a/100-sim-ppc-have-config-h.patch)0
-rw-r--r--packages/gdb/7.0a/version.desc1
-rw-r--r--packages/gdb/7.10.1/100-musl_fix.patch (renamed from patches/gdb/8.0/100-musl_fix.patch)0
-rw-r--r--packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch (renamed from patches/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch)0
-rw-r--r--packages/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch (renamed from patches/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch)0
-rw-r--r--packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch (renamed from patches/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch)0
-rw-r--r--packages/gdb/7.10.1/version.desc1
-rw-r--r--packages/gdb/7.10/10-setns-handling.patch (renamed from patches/gdb/7.10/10-setns-handling.patch)0
-rw-r--r--packages/gdb/7.10/100-musl_fix.patch (renamed from patches/gdb/7.12.1/100-musl_fix.patch)0
-rw-r--r--packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch (renamed from patches/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch)0
-rw-r--r--packages/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch (renamed from patches/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch)0
-rw-r--r--packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch (renamed from patches/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch)0
-rw-r--r--packages/gdb/7.10/version.desc1
-rw-r--r--packages/gdb/7.11.1/100-musl_fix.patch (renamed from patches/gdb/7.11.1/100-musl_fix.patch)0
-rw-r--r--packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch (renamed from patches/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch)0
-rw-r--r--packages/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch (renamed from patches/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch)0
-rw-r--r--packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch (renamed from patches/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch)0
-rw-r--r--packages/gdb/7.11.1/version.desc0
-rw-r--r--packages/gdb/7.12.1/100-musl_fix.patch (renamed from patches/gdb/7.10/100-musl_fix.patch)0
-rw-r--r--packages/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch (renamed from patches/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch)0
-rw-r--r--packages/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch (renamed from patches/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch)0
-rw-r--r--packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch (renamed from patches/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch)0
-rw-r--r--packages/gdb/7.12.1/200-allow-android.patch (renamed from patches/gdb/8.0/200-allow-android.patch)0
-rw-r--r--packages/gdb/7.12.1/version.desc0
-rw-r--r--packages/gdb/7.1a/version.desc1
-rw-r--r--packages/gdb/7.2a/100-sim-ppc-lz-fix.patch (renamed from patches/gdb/7.2a/100-sim-ppc-lz-fix.patch)0
-rw-r--r--packages/gdb/7.2a/version.desc1
-rw-r--r--packages/gdb/7.3.1/version.desc1
-rw-r--r--packages/gdb/7.3a/version.desc1
-rw-r--r--packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch (renamed from patches/gdb/7.4.1/00_all_ptrace_setsiginfo.patch)0
-rw-r--r--packages/gdb/7.4.1/05_all_readline-headers.patch (renamed from patches/gdb/7.4.1/05_all_readline-headers.patch)0
-rw-r--r--packages/gdb/7.4.1/version.desc1
-rw-r--r--packages/gdb/7.4/version.desc1
-rw-r--r--packages/gdb/7.5.1/version.desc1
-rw-r--r--packages/gdb/7.6.1/version.desc1
-rw-r--r--packages/gdb/7.7.1/version.desc1
-rw-r--r--packages/gdb/7.7/version.desc1
-rw-r--r--packages/gdb/7.8.1/version.desc1
-rw-r--r--packages/gdb/7.8/version.desc1
-rw-r--r--packages/gdb/7.9.1/version.desc1
-rw-r--r--packages/gdb/7.9/version.desc1
-rw-r--r--packages/gdb/8.0/100-musl_fix.patch (renamed from patches/gdb/7.10.1/100-musl_fix.patch)0
-rw-r--r--packages/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch (renamed from patches/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch)0
-rw-r--r--packages/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch (renamed from patches/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch)0
-rw-r--r--packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch (renamed from patches/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch)0
-rw-r--r--packages/gdb/8.0/200-allow-android.patch (renamed from patches/gdb/7.12.1/200-allow-android.patch)0
-rw-r--r--packages/gdb/8.0/version.desc0
-rw-r--r--packages/gdb/package.desc4
-rw-r--r--packages/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch (renamed from patches/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch)0
-rw-r--r--packages/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch (renamed from patches/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch)0
-rw-r--r--packages/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch (renamed from patches/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch)0
-rw-r--r--packages/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch (renamed from patches/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch)0
-rw-r--r--packages/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch (renamed from patches/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch)0
-rw-r--r--packages/gettext/0.19.7/version.desc1
-rw-r--r--packages/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch (renamed from patches/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch)0
-rw-r--r--packages/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch (renamed from patches/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch)0
-rw-r--r--packages/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch (renamed from patches/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch)0
-rw-r--r--packages/gettext/0.19.8.1/version.desc0
-rw-r--r--packages/gettext/package.desc5
-rw-r--r--packages/glibc-linaro/2.20-2014.11/100-sparc-nptl.patch (renamed from patches/glibc/linaro-2.20-2014.11/100-sparc-nptl.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/linaro-2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/linaro-2.20-2014.11/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/103-dl-openat64-variadic.patch (renamed from patches/glibc/linaro-2.20-2014.11/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/104-unused-variables.patch (renamed from patches/glibc/linaro-2.20-2014.11/104-unused-variables.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/105-misleading-indentation.patch (renamed from patches/glibc/linaro-2.20-2014.11/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/106-dl-open-array-bounds.patch (renamed from patches/glibc/linaro-2.20-2014.11/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/linaro-2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/920-fix-rpc_parse-format.patch (renamed from patches/glibc/linaro-2.20-2014.11/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/930-explicit-boolean.patch (renamed from patches/glibc/linaro-2.20-2014.11/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/940-nis-bogus-conditional.patch (renamed from patches/glibc/linaro-2.20-2014.11/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc-linaro/2.20-2014.11/version.desc1
-rw-r--r--packages/glibc-linaro/package.desc5
-rw-r--r--packages/glibc-ports/2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.15/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.12.1/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.12.1/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.12.1/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/160-manual-no-perl.patch (renamed from patches/glibc/ports-2.12.1/160-manual-no-perl.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.12.1/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/190-localedef-mmap.patch (renamed from patches/glibc/ports-2.12.1/190-localedef-mmap.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.12.1/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/220-section-comments.patch (renamed from patches/glibc/ports-2.12.1/220-section-comments.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/230-no-inline-gmon.patch (renamed from patches/glibc/ports-2.12.1/230-no-inline-gmon.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/240-check_native-headers.patch (renamed from patches/glibc/ports-2.12.1/240-check_native-headers.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/250-fix-pr631.patch (renamed from patches/glibc/ports-2.12.1/250-fix-pr631.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.12.1/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/270-china.patch (renamed from patches/glibc/ports-2.12.1/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.12.1/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.12.1/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.12.1/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/370-fnmatch.patch (renamed from patches/glibc/ports-2.12.1/370-fnmatch.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.12.1/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.12.1/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/430-alpha-creat.patch (renamed from patches/glibc/ports-2.12.1/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.12.1/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch (renamed from patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.12.1/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/650-syslog.patch (renamed from patches/glibc/ports-2.16.0/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.16.0/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/670-support-hard-float-eabi.patch (renamed from patches/glibc/ports-2.12.1/670-support-hard-float-eabi.patch)0
-rw-r--r--packages/glibc-ports/2.12.1/version.desc0
-rw-r--r--packages/glibc-ports/2.13/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.14/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.13/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.15/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.13/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.16.0/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.13/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.16.0/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.13/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.16.0/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.13/160-manual-no-perl.patch (renamed from patches/glibc/ports-2.15/160-manual-no-perl.patch)0
-rw-r--r--packages/glibc-ports/2.13/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.16.0/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.13/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.16.0/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.13/190-localedef-mmap.patch (renamed from patches/glibc/ports-2.14/190-localedef-mmap.patch)0
-rw-r--r--packages/glibc-ports/2.13/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.16.0/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.13/220-section-comments.patch (renamed from patches/glibc/ports-2.15/220-section-comments.patch)0
-rw-r--r--packages/glibc-ports/2.13/230-no-inline-gmon.patch (renamed from patches/glibc/ports-2.15/230-no-inline-gmon.patch)0
-rw-r--r--packages/glibc-ports/2.13/240-check_native-headers.patch (renamed from patches/glibc/ports-2.14/240-check_native-headers.patch)0
-rw-r--r--packages/glibc-ports/2.13/250-fix-pr631.patch (renamed from patches/glibc/ports-2.13/250-fix-pr631.patch)0
-rw-r--r--packages/glibc-ports/2.13/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.15/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.13/270-china.patch (renamed from patches/glibc/ports-2.16.0/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.13/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.16.0/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.13/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.15/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.13/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.15/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.13/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.13/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.13/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.16.0/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.13/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.16.0/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.13/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.16.0/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.13/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.16.0/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.13/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.16.0/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.13/410-alpha-SETPIPE-GETPIPE.patch (renamed from patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch)0
-rw-r--r--packages/glibc-ports/2.13/420-alpha-statfs.patch (renamed from patches/glibc/ports-2.13/420-alpha-statfs.patch)0
-rw-r--r--packages/glibc-ports/2.13/430-alpha-creat.patch (renamed from patches/glibc/ports-2.16.0/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.13/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.13/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.13/450-alpha-DEFAULT_STACK_PERMS.patch (renamed from patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch)0
-rw-r--r--packages/glibc-ports/2.13/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.13/470-alpha-feupdateenv.patch (renamed from patches/glibc/ports-2.13/470-alpha-feupdateenv.patch)0
-rw-r--r--packages/glibc-ports/2.13/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.14/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.13/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.13/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.16.0/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch (renamed from patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch)0
-rw-r--r--packages/glibc-ports/2.13/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.13/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.13/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.13/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.13/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.16.0/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.13/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.16.0/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.13/650-syslog.patch (renamed from patches/glibc/ports-2.15/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.13/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.15/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.13/670-support-hard-float-eabi.patch (renamed from patches/glibc/ports-2.13/670-support-hard-float-eabi.patch)0
-rw-r--r--packages/glibc-ports/2.13/version.desc0
-rw-r--r--packages/glibc-ports/2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.14/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.15/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.15/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.15/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/160-manual-no-perl.patch (renamed from patches/glibc/ports-2.14/160-manual-no-perl.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.15/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.15/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/190-localedef-mmap.patch (renamed from patches/glibc/ports-2.14.1/190-localedef-mmap.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.15/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/220-section-comments.patch (renamed from patches/glibc/ports-2.14/220-section-comments.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/230-no-inline-gmon.patch (renamed from patches/glibc/ports-2.14/230-no-inline-gmon.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.14/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/270-china.patch (renamed from patches/glibc/ports-2.15/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.15/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.14/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.14/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.14.1/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.15/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.15/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.15/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.15/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.15/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/430-alpha-creat.patch (renamed from patches/glibc/ports-2.15/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.14.1/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.14.1/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.14.1/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.14.1/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.15/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch (renamed from patches/glibc/ports-2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.14.1/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.14.1/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.15/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.15/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/650-syslog.patch (renamed from patches/glibc/ports-2.14/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.14/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.14.1/version.desc0
-rw-r--r--packages/glibc-ports/2.14/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.13/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.14/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.14.1/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.14/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.14/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.14/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.14/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.14/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.14/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.14/160-manual-no-perl.patch (renamed from patches/glibc/ports-2.14.1/160-manual-no-perl.patch)0
-rw-r--r--packages/glibc-ports/2.14/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.14/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.14/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.14/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.14/190-localedef-mmap.patch (renamed from patches/glibc/ports-2.13/190-localedef-mmap.patch)0
-rw-r--r--packages/glibc-ports/2.14/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.14/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.14/220-section-comments.patch (renamed from patches/glibc/ports-2.14.1/220-section-comments.patch)0
-rw-r--r--packages/glibc-ports/2.14/230-no-inline-gmon.patch (renamed from patches/glibc/ports-2.14.1/230-no-inline-gmon.patch)0
-rw-r--r--packages/glibc-ports/2.14/240-check_native-headers.patch (renamed from patches/glibc/ports-2.13/240-check_native-headers.patch)0
-rw-r--r--packages/glibc-ports/2.14/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.14.1/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.14/270-china.patch (renamed from patches/glibc/ports-2.14/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.14/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.14/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.14/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.14.1/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.14/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.14.1/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.14/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.14/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.14/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.14/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.14/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.14/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.14/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.14/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.14/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.14/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.14/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.14/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.14/430-alpha-creat.patch (renamed from patches/glibc/ports-2.14/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.14/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.14/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.14/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.14/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.14/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.14/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.14/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.14/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.14/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch (renamed from patches/glibc/ports-2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch)0
-rw-r--r--packages/glibc-ports/2.14/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.14/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.14/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.14/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.14/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.14/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.14/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.14/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.14/650-syslog.patch (renamed from patches/glibc/ports-2.14.1/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.14/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.14.1/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.14/version.desc0
-rw-r--r--packages/glibc-ports/2.15/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.15/091-libmemusage-link-failure.patch (renamed from patches/glibc/ports-2.15/091-libmemusage-link-failure.patch)0
-rw-r--r--packages/glibc-ports/2.15/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.15/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.14.1/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.15/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.14.1/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.15/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.14.1/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.15/160-manual-no-perl.patch (renamed from patches/glibc/ports-2.13/160-manual-no-perl.patch)0
-rw-r--r--packages/glibc-ports/2.15/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.14.1/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.15/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.14.1/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.15/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.14.1/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.15/220-section-comments.patch (renamed from patches/glibc/ports-2.13/220-section-comments.patch)0
-rw-r--r--packages/glibc-ports/2.15/230-no-inline-gmon.patch (renamed from patches/glibc/ports-2.13/230-no-inline-gmon.patch)0
-rw-r--r--packages/glibc-ports/2.15/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.13/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.15/270-china.patch (renamed from patches/glibc/ports-2.14.1/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.15/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.14.1/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.15/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.13/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.15/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.15/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.15/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.15/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.14.1/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.15/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.14.1/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.15/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.14.1/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.15/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.14.1/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.15/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.14.1/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.15/430-alpha-creat.patch (renamed from patches/glibc/ports-2.14.1/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.15/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.15/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.15/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.15/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.15/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.16.0/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.15/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.15/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.15/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.14.1/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch (renamed from patches/glibc/ports-2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch)0
-rw-r--r--packages/glibc-ports/2.15/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.15/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.15/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.15/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.15/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.14.1/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.15/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.14.1/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.15/650-syslog.patch (renamed from patches/glibc/ports-2.13/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.15/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.15/version.desc0
-rw-r--r--packages/glibc-ports/2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/ports-2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/100-respect-env-CPPFLAGS.patch (renamed from patches/glibc/ports-2.16.0/100-respect-env-CPPFLAGS.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/120-i386-x86_64-revert-clone-cfi.patch (renamed from patches/glibc/ports-2.13/120-i386-x86_64-revert-clone-cfi.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/140-disable-ldconfig.patch (renamed from patches/glibc/ports-2.13/140-disable-ldconfig.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/150-queue-header-updates.patch (renamed from patches/glibc/ports-2.13/150-queue-header-updates.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/170-localedef-fix-trampoline.patch (renamed from patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/180-resolv-dynamic.patch (renamed from patches/glibc/ports-2.13/180-resolv-dynamic.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/200-fadvise64_64.patch (renamed from patches/glibc/ports-2.13/200-fadvise64_64.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/260-assume-pipe2.patch (renamed from patches/glibc/ports-2.16.0/260-assume-pipe2.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/270-china.patch (renamed from patches/glibc/ports-2.13/270-china.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/280-new-valencian-locale.patch (renamed from patches/glibc/ports-2.13/280-new-valencian-locale.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/300-nscd-one-fork.patch (renamed from patches/glibc/ports-2.16.0/300-nscd-one-fork.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/310-hppa-nptl-carlos.patch (renamed from patches/glibc/ports-2.16.0/310-hppa-nptl-carlos.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/330-m68k-sys-user.patch (renamed from patches/glibc/ports-2.16.0/330-m68k-sys-user.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/340-dl_execstack-PaX-support.patch (renamed from patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/350-pre20040117-pt_pax.patch (renamed from patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/360-tests-sandbox-libdl-paths.patch (renamed from patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/380-dont-build-timezone.patch (renamed from patches/glibc/ports-2.13/380-dont-build-timezone.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/400-alpha-xstat.patch (renamed from patches/glibc/ports-2.13/400-alpha-xstat.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/430-alpha-creat.patch (renamed from patches/glibc/ports-2.13/430-alpha-creat.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/440-alpha-cache-shape.patch (renamed from patches/glibc/ports-2.16.0/440-alpha-cache-shape.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/460-alpha-fix-gcc-4.1-warnings.patch (renamed from patches/glibc/ports-2.16.0/460-alpha-fix-gcc-4.1-warnings.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/490-alpha_alpha-add-fdatasync-support.patch (renamed from patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/530-alpha-fix-rtld-fPIC.patch (renamed from patches/glibc/ports-2.16.0/530-alpha-fix-rtld-fPIC.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/560-ppc-atomic.patch (renamed from patches/glibc/ports-2.13/560-ppc-atomic.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/580-nptl-lowlevellock.patch (renamed from patches/glibc/ports-2.16.0/580-nptl-lowlevellock.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/610-fpu-cw-mips.patch (renamed from patches/glibc/ports-2.16.0/610-fpu-cw-mips.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/630-mips_shn_undef-hack.patch (renamed from patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/640-alpha-atfcts.patch (renamed from patches/glibc/ports-2.13/640-alpha-atfcts.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/650-syslog.patch (renamed from patches/glibc/ports-2.12.1/650-syslog.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/660-debug-readlink_chk-readklinkat_chk.patch (renamed from patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch)0
-rw-r--r--packages/glibc-ports/2.16.0/version.desc0
-rw-r--r--packages/glibc-ports/package.desc8
-rw-r--r--packages/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.12.1/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.22/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.12.1/104-unused-variables.patch (renamed from patches/glibc/2.14/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.12.1/105-misleading-indentation.patch (renamed from patches/glibc/2.22/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.12.1/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.15/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.12.1/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.18/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.12.1/900-march-i686.patch (renamed from patches/glibc/2.13/900-march-i686.patch)0
-rw-r--r--packages/glibc/2.12.1/910-typedef-caddr.patch (renamed from patches/glibc/2.19/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.12.1/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.24/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.12.1/920-make-382.patch (renamed from patches/glibc/2.12.1/920-make-382.patch)0
-rw-r--r--packages/glibc/2.12.1/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.24/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.12.1/999-new-tools.patch (renamed from patches/glibc/2.12.1/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.12.1/version.desc1
-rw-r--r--packages/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.12.2/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.17/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.12.2/900-march-i686.patch (renamed from patches/glibc/2.12.2/900-march-i686.patch)0
-rw-r--r--packages/glibc/2.12.2/910-typedef-caddr.patch (renamed from patches/glibc/2.12.2/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.12.2/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.23/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.12.2/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.23/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.12.2/999-new-tools.patch (renamed from patches/glibc/2.12.2/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.12.2/version.desc1
-rw-r--r--packages/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.13/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.21/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.13/104-unused-variables.patch (renamed from patches/glibc/2.14.1/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.13/105-misleading-indentation.patch (renamed from patches/glibc/2.21/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.13/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.14/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.13/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.16.0/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.13/900-march-i686.patch (renamed from patches/glibc/2.12.1/900-march-i686.patch)0
-rw-r--r--packages/glibc/2.13/910-typedef-caddr.patch (renamed from patches/glibc/2.13/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.13/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.22/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.13/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.22/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.13/950-initfini-ppc64.patch (renamed from patches/glibc/2.14/950-initfini-ppc64.patch)0
-rw-r--r--packages/glibc/2.13/999-new-tools.patch (renamed from patches/glibc/2.13/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.13/version.desc1
-rw-r--r--packages/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.14.1/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.20/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.14.1/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.21/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.14.1/104-unused-variables.patch (renamed from patches/glibc/2.13/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.14.1/105-misleading-indentation.patch (renamed from patches/glibc/2.20/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.14.1/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.14.1/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.14.1/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.15/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.14.1/900-cpuid-include.patch (renamed from patches/glibc/2.14/900-cpuid-include.patch)0
-rw-r--r--packages/glibc/2.14.1/910-asm-i686.patch (renamed from patches/glibc/2.15/910-asm-i686.patch)0
-rw-r--r--packages/glibc/2.14.1/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.21/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.14.1/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.21/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.14.1/950-initfini-ppc64.patch (renamed from patches/glibc/2.14.1/950-initfini-ppc64.patch)0
-rw-r--r--packages/glibc/2.14.1/999-new-tools.patch (renamed from patches/glibc/2.14.1/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.14.1/version.desc1
-rw-r--r--packages/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.14/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.19/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.14/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.20/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.14/104-unused-variables.patch (renamed from patches/glibc/2.12.1/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.14/105-misleading-indentation.patch (renamed from patches/glibc/2.19/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.14/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.13/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.14/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.14/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.14/900-cpuid-include.patch (renamed from patches/glibc/2.14.1/900-cpuid-include.patch)0
-rw-r--r--packages/glibc/2.14/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.20/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.14/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.20/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.14/950-initfini-ppc64.patch (renamed from patches/glibc/2.13/950-initfini-ppc64.patch)0
-rw-r--r--packages/glibc/2.14/999-new-tools.patch (renamed from patches/glibc/2.14/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.14/version.desc1
-rw-r--r--packages/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.15/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.18/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.15/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.19/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.15/104-unused-variables.patch (renamed from patches/glibc/2.15/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.15/105-misleading-indentation.patch (renamed from patches/glibc/2.18/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.15/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.12.1/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.15/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.14.1/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.15/900-cpuid-include.patch (renamed from patches/glibc/2.15/900-cpuid-include.patch)0
-rw-r--r--packages/glibc/2.15/910-asm-i686.patch (renamed from patches/glibc/2.14.1/910-asm-i686.patch)0
-rw-r--r--packages/glibc/2.15/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.19/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.15/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.19/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.15/990-try-link-static.patch (renamed from patches/glibc/2.15/990-try-link-static.patch)0
-rw-r--r--packages/glibc/2.15/991-builtin_expect.patch (renamed from patches/glibc/2.15/991-builtin_expect.patch)0
-rw-r--r--packages/glibc/2.15/992-gcc_s-suffix.patch (renamed from patches/glibc/2.15/992-gcc_s-suffix.patch)0
-rw-r--r--packages/glibc/2.15/999-new-tools.patch (renamed from patches/glibc/2.15/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.15/version.desc1
-rw-r--r--packages/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.16.0/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.17/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.16.0/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.18/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.16.0/104-unused-variables.patch (renamed from patches/glibc/2.16.0/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.16.0/105-misleading-indentation.patch (renamed from patches/glibc/2.17/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.16.0/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.17/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.16.0/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.13/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch (renamed from patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch)0
-rw-r--r--packages/glibc/2.16.0/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.18/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.16.0/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.18/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.16.0/999-new-tools.patch (renamed from patches/glibc/2.16.0/999-new-tools.patch)0
-rw-r--r--packages/glibc/2.16.0/version.desc1
-rw-r--r--packages/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch (renamed from patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch)0
-rw-r--r--packages/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.17/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.16.0/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.17/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.17/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.17/104-unused-variables.patch (renamed from patches/glibc/2.17/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.17/105-misleading-indentation.patch (renamed from patches/glibc/2.16.0/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.17/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.16.0/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.17/120-support-make4.patch (renamed from patches/glibc/2.18/120-support-make4.patch)0
-rw-r--r--packages/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.17/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.12.2/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.17/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.17/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.17/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.17/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.17/version.desc1
-rw-r--r--packages/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch (renamed from patches/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch)0
-rw-r--r--packages/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.18/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.15/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.18/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.16.0/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.18/104-unused-variables.patch (renamed from patches/glibc/2.18/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.18/105-misleading-indentation.patch (renamed from patches/glibc/2.15/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.18/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.21/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch (renamed from patches/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch)0
-rw-r--r--packages/glibc/2.18/120-support-make4.patch (renamed from patches/glibc/2.17/120-support-make4.patch)0
-rw-r--r--packages/glibc/2.18/130-arm-unwind.patch (renamed from patches/glibc/2.19/130-arm-unwind.patch)0
-rw-r--r--packages/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.18/300-macos-cross-rpcgen.patch (renamed from patches/glibc/2.12.1/300-macos-cross-rpcgen.patch)0
-rw-r--r--packages/glibc/2.18/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.16.0/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.18/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.16.0/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.18/version.desc1
-rw-r--r--packages/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.19/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.14/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.19/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.15/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.19/104-unused-variables.patch (renamed from patches/glibc/2.20/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.19/105-misleading-indentation.patch (renamed from patches/glibc/2.14/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.19/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.20/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.19/130-arm-unwind.patch (renamed from patches/glibc/2.18/130-arm-unwind.patch)0
-rw-r--r--packages/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.19/910-typedef-caddr.patch (renamed from patches/glibc/2.12.1/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.19/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.15/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.19/930-explicit-boolean.patch (renamed from patches/glibc/2.24/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.19/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.15/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.19/version.desc1
-rw-r--r--packages/glibc/2.20/100-sparc-nptl.patch (renamed from patches/glibc/2.20/100-sparc-nptl.patch)0
-rw-r--r--packages/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.20/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.14.1/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.20/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.14/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.20/104-unused-variables.patch (renamed from patches/glibc/2.19/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.20/105-misleading-indentation.patch (renamed from patches/glibc/2.14.1/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.20/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.19/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.20/910-typedef-caddr.patch (renamed from patches/glibc/2.25/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.20/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.14/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.20/930-explicit-boolean.patch (renamed from patches/glibc/2.23/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.20/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.14/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.20/version.desc1
-rw-r--r--packages/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.21/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.13/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.21/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.14.1/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.21/104-unused-variables.patch (renamed from patches/glibc/2.22/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.21/105-misleading-indentation.patch (renamed from patches/glibc/2.13/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.21/106-dl-open-array-bounds.patch (renamed from patches/glibc/2.18/106-dl-open-array-bounds.patch)0
-rw-r--r--packages/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.21/910-typedef-caddr.patch (renamed from patches/glibc/2.24/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.21/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.14.1/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.21/930-explicit-boolean.patch (renamed from patches/glibc/2.22/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.21/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.14.1/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.21/950-dlclose-assert.patch (renamed from patches/glibc/2.21/950-dlclose-assert.patch)0
-rw-r--r--packages/glibc/2.21/version.desc1
-rw-r--r--packages/glibc/2.22/100-sparc32-sem_open-missing-include.patch (renamed from patches/glibc/2.22/100-sparc32-sem_open-missing-include.patch)0
-rw-r--r--packages/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.22/102-fix-signed-shift-overlow.patch (renamed from patches/glibc/2.12.1/102-fix-signed-shift-overlow.patch)0
-rw-r--r--packages/glibc/2.22/103-dl-openat64-variadic.patch (renamed from patches/glibc/2.22/103-dl-openat64-variadic.patch)0
-rw-r--r--packages/glibc/2.22/104-unused-variables.patch (renamed from patches/glibc/2.21/104-unused-variables.patch)0
-rw-r--r--packages/glibc/2.22/105-misleading-indentation.patch (renamed from patches/glibc/2.12.1/105-misleading-indentation.patch)0
-rw-r--r--packages/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch (renamed from patches/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch)0
-rw-r--r--packages/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.22/910-typedef-caddr.patch (renamed from patches/glibc/2.23/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.22/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.13/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.22/930-explicit-boolean.patch (renamed from patches/glibc/2.21/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.22/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.13/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.22/version.desc1
-rw-r--r--packages/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch (renamed from patches/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch)0
-rw-r--r--packages/glibc/2.23/120-Fix-build-with-enable-static-nss.patch (renamed from patches/glibc/2.25/120-Fix-build-with-enable-static-nss.patch)0
-rw-r--r--packages/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.23/910-typedef-caddr.patch (renamed from patches/glibc/2.22/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.23/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.12.2/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.23/930-explicit-boolean.patch (renamed from patches/glibc/2.20/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.23/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.12.2/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.23/version.desc1
-rw-r--r--packages/glibc/2.24/110-sh-fix-gcc6.patch (renamed from patches/glibc/2.25/110-sh-fix-gcc6.patch)0
-rw-r--r--packages/glibc/2.24/120-Fix-build-with-enable-static-nss.patch (renamed from patches/glibc/2.24/120-Fix-build-with-enable-static-nss.patch)0
-rw-r--r--packages/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.24/910-typedef-caddr.patch (renamed from patches/glibc/2.21/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.24/920-fix-rpc_parse-format.patch (renamed from patches/glibc/2.12.1/920-fix-rpc_parse-format.patch)0
-rw-r--r--packages/glibc/2.24/930-explicit-boolean.patch (renamed from patches/glibc/2.19/930-explicit-boolean.patch)0
-rw-r--r--packages/glibc/2.24/940-nis-bogus-conditional.patch (renamed from patches/glibc/2.12.1/940-nis-bogus-conditional.patch)0
-rw-r--r--packages/glibc/2.24/version.desc0
-rw-r--r--packages/glibc/2.25/110-sh-fix-gcc6.patch (renamed from patches/glibc/2.24/110-sh-fix-gcc6.patch)0
-rw-r--r--packages/glibc/2.25/120-Fix-build-with-enable-static-nss.patch (renamed from patches/glibc/2.23/120-Fix-build-with-enable-static-nss.patch)0
-rw-r--r--packages/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch (renamed from patches/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch)0
-rw-r--r--packages/glibc/2.25/910-typedef-caddr.patch (renamed from patches/glibc/2.20/910-typedef-caddr.patch)0
-rw-r--r--packages/glibc/2.25/960-sh4-trap-divdi3.patch (renamed from patches/glibc/2.25/960-sh4-trap-divdi3.patch)0
-rw-r--r--packages/glibc/2.25/961-sparc-extra-plt-call.patch (renamed from patches/glibc/2.25/961-sparc-extra-plt-call.patch)0
-rw-r--r--packages/glibc/2.25/version.desc0
-rw-r--r--packages/glibc/package.desc4
-rw-r--r--packages/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch (renamed from patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch)0
-rw-r--r--packages/gmp/4.3.0/110-unbounded-alloc.patch (renamed from patches/gmp/4.3.1/110-unbounded-alloc.patch)0
-rw-r--r--packages/gmp/4.3.0/version.desc1
-rw-r--r--packages/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch (renamed from patches/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch)0
-rw-r--r--packages/gmp/4.3.1/110-unbounded-alloc.patch (renamed from patches/gmp/4.3.0/110-unbounded-alloc.patch)0
-rw-r--r--packages/gmp/4.3.1/version.desc1
-rw-r--r--packages/gmp/4.3.2/version.desc1
-rw-r--r--packages/gmp/5.0.1/100-fix-tests-ABI-long-long.patch (renamed from patches/gmp/5.0.1/100-fix-tests-ABI-long-long.patch)0
-rw-r--r--packages/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch (renamed from patches/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch)0
-rw-r--r--packages/gmp/5.0.1/120-fix-r0-clobbering-issue.patch (renamed from patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch)0
-rw-r--r--packages/gmp/5.0.1/version.desc1
-rw-r--r--packages/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch (renamed from patches/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch)0
-rw-r--r--packages/gmp/5.0.2/120-fix-r0-clobbering-issue.patch (renamed from patches/gmp/5.0.1/120-fix-r0-clobbering-issue.patch)0
-rw-r--r--packages/gmp/5.0.2/version.desc1
-rw-r--r--packages/gmp/5.1.1/100-fix-bulldozer-piledriver.patch (renamed from patches/gmp/5.1.1/100-fix-bulldozer-piledriver.patch)0
-rw-r--r--packages/gmp/5.1.1/110-mpz_powm_ui.patch (renamed from patches/gmp/5.1.1/110-mpz_powm_ui.patch)0
-rw-r--r--packages/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch (renamed from patches/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch)0
-rw-r--r--packages/gmp/5.1.1/130-do-not-clobber-f16-f18.patch (renamed from patches/gmp/5.1.1/130-do-not-clobber-f16-f18.patch)0
-rw-r--r--packages/gmp/5.1.1/version.desc1
-rw-r--r--packages/gmp/5.1.3/version.desc1
-rw-r--r--packages/gmp/6.0.0a/version.desc1
-rw-r--r--packages/gmp/6.1.0/100-fix-broadwell-skylake.patch (renamed from patches/gmp/6.1.0/100-fix-broadwell-skylake.patch)0
-rw-r--r--packages/gmp/6.1.0/version.desc1
-rw-r--r--packages/gmp/6.1.2/version.desc0
-rw-r--r--packages/gmp/package.desc4
-rw-r--r--packages/isl/0.11.1/version.desc1
-rw-r--r--packages/isl/0.12.2/version.desc1
-rw-r--r--packages/isl/0.14/version.desc1
-rw-r--r--packages/isl/0.15/version.desc0
-rw-r--r--packages/isl/0.16.1/version.desc0
-rw-r--r--packages/isl/0.17.1/version.desc0
-rw-r--r--packages/isl/0.18/version.desc0
-rw-r--r--packages/isl/package.desc4
-rw-r--r--packages/libelf/0.8.12/100-fix-64-bit-detection.patch (renamed from patches/libelf/0.8.13/100-fix-64-bit-detection.patch)0
-rw-r--r--packages/libelf/0.8.12/version.desc1
-rw-r--r--packages/libelf/0.8.13/100-fix-64-bit-detection.patch (renamed from patches/libelf/0.8.12/100-fix-64-bit-detection.patch)0
-rw-r--r--packages/libelf/0.8.13/version.desc0
-rw-r--r--packages/libelf/package.desc3
-rw-r--r--packages/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch (renamed from patches/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch)0
-rw-r--r--packages/libiconv/1.14/version.desc1
-rw-r--r--packages/libiconv/1.15/version.desc0
-rw-r--r--packages/libiconv/package.desc5
-rw-r--r--packages/libtool/2.4.6/2.4.5-pass-ldflags.patch (renamed from patches/libtool/2.4.6/2.4.5-pass-ldflags.patch)0
-rw-r--r--packages/libtool/2.4.6/version.desc0
-rw-r--r--packages/libtool/package.desc3
-rw-r--r--packages/linux/2.6.32.27/100-unifdef-strclpy.patch (renamed from patches/linux/2.6.32.27/100-unifdef-strclpy.patch)0
-rw-r--r--packages/linux/2.6.32.27/version.desc1
-rw-r--r--packages/linux/2.6.33.7/version.desc1
-rw-r--r--packages/linux/2.6.34.7/version.desc1
-rw-r--r--packages/linux/2.6.35.9/version.desc1
-rw-r--r--packages/linux/2.6.36.4/version.desc1
-rw-r--r--packages/linux/2.6.37.6/version.desc1
-rw-r--r--packages/linux/2.6.38.8/version.desc1
-rw-r--r--packages/linux/2.6.39.4/version.desc1
-rw-r--r--packages/linux/3.0.101/version.desc1
-rw-r--r--packages/linux/3.1.10/version.desc1
-rw-r--r--packages/linux/3.10.105/version.desc1
-rw-r--r--packages/linux/3.11.10/version.desc1
-rw-r--r--packages/linux/3.12.74/version.desc0
-rw-r--r--packages/linux/3.13.11/version.desc1
-rw-r--r--packages/linux/3.14.79/version.desc1
-rw-r--r--packages/linux/3.15.10/version.desc1
-rw-r--r--packages/linux/3.16.43/version.desc0
-rw-r--r--packages/linux/3.17.8/version.desc1
-rw-r--r--packages/linux/3.18.55/version.desc1
-rw-r--r--packages/linux/3.19.8/version.desc1
-rw-r--r--packages/linux/3.2.88/version.desc0
-rw-r--r--packages/linux/3.3.8/version.desc1
-rw-r--r--packages/linux/3.4.113/version.desc0
-rw-r--r--packages/linux/3.5.7/version.desc1
-rw-r--r--packages/linux/3.6.11/version.desc1
-rw-r--r--packages/linux/3.7.10/version.desc1
-rw-r--r--packages/linux/3.8.13/version.desc1
-rw-r--r--packages/linux/3.9.11/version.desc1
-rw-r--r--packages/linux/4.0.9/version.desc1
-rw-r--r--packages/linux/4.1.40/version.desc0
-rw-r--r--packages/linux/4.10.17/version.desc0
-rw-r--r--packages/linux/4.10.8/version.desc1
-rw-r--r--packages/linux/4.11.3/version.desc0
-rw-r--r--packages/linux/4.2.8/version.desc1
-rw-r--r--packages/linux/4.3.6/version.desc1
-rw-r--r--packages/linux/4.4.70/version.desc1
-rw-r--r--packages/linux/4.5.7/version.desc1
-rw-r--r--packages/linux/4.6.7/version.desc1
-rw-r--r--packages/linux/4.7.10/version.desc1
-rw-r--r--packages/linux/4.8.17/version.desc1
-rw-r--r--packages/linux/4.9.30/version.desc0
-rw-r--r--packages/linux/package.desc3
-rw-r--r--packages/ltrace/0.5.3/100-allow-cross-compile.patch (renamed from patches/ltrace/0.5.3/100-allow-cross-compile.patch)0
-rw-r--r--packages/ltrace/0.5.3/110-alpha-support.patch (renamed from patches/ltrace/0.5.3/110-alpha-support.patch)0
-rw-r--r--packages/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch (renamed from patches/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch)0
-rw-r--r--packages/ltrace/0.5.3/130-add-sysdep.patch (renamed from patches/ltrace/0.5.3/130-add-sysdep.patch)0
-rw-r--r--packages/ltrace/0.5.3/140-mips-remove-CP.patch (renamed from patches/ltrace/0.5.3/140-mips-remove-CP.patch)0
-rw-r--r--packages/ltrace/0.5.3/140-mips.patch (renamed from patches/ltrace/0.5.3/140-mips.patch)0
-rw-r--r--packages/ltrace/0.5.3/150-allow-configurable-arch.patch (renamed from patches/ltrace/0.5.3/150-allow-configurable-arch.patch)0
-rw-r--r--packages/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch (renamed from patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch)0
-rw-r--r--packages/ltrace/0.5.3/170-lib-supcc.patch (renamed from patches/ltrace/0.5.3/170-lib-supcc.patch)0
-rw-r--r--packages/ltrace/0.5.3/180-libltrace-genindex.patch (renamed from patches/ltrace/0.5.3/180-libltrace-genindex.patch)0
-rw-r--r--packages/ltrace/0.5.3/190-ar-configurable.patch (renamed from patches/ltrace/0.5.3/190-ar-configurable.patch)0
-rw-r--r--packages/ltrace/0.5.3/200-configure-hostos.patch (renamed from patches/ltrace/0.5.3/200-configure-hostos.patch)0
-rw-r--r--packages/ltrace/0.5.3/version.desc1
-rw-r--r--packages/ltrace/0.7.3/001-avoid-libstdc++.patch (renamed from patches/ltrace/0.7.3/001-avoid-libstdc++.patch)0
-rw-r--r--packages/ltrace/0.7.3/002-printf-p.patch (renamed from patches/ltrace/0.7.3/002-printf-p.patch)0
-rw-r--r--packages/ltrace/0.7.3/003-alpha-debug.h.patch (renamed from patches/ltrace/0.7.3/003-alpha-debug.h.patch)0
-rw-r--r--packages/ltrace/0.7.3/004-compile-warning.patch (renamed from patches/ltrace/0.7.3/004-compile-warning.patch)0
-rw-r--r--packages/ltrace/0.7.3/005-sparc-ftbfs.patch (renamed from patches/ltrace/0.7.3/005-sparc-ftbfs.patch)0
-rw-r--r--packages/ltrace/0.7.3/006-unexpected-breakpoint.patch (renamed from patches/ltrace/0.7.3/006-unexpected-breakpoint.patch)0
-rw-r--r--packages/ltrace/0.7.3/007-gcc-5.patch (renamed from patches/ltrace/0.7.3/007-gcc-5.patch)0
-rw-r--r--packages/ltrace/0.7.3/008-glibc-2.24.patch (renamed from patches/ltrace/0.7.3/008-glibc-2.24.patch)0
-rw-r--r--packages/ltrace/0.7.3/version.desc0
-rw-r--r--packages/ltrace/package.desc5
-rw-r--r--packages/m4/1.4.13/version.desc1
-rw-r--r--packages/m4/1.4.17/version.desc1
-rw-r--r--packages/m4/1.4.18/version.desc0
-rw-r--r--packages/m4/package.desc3
-rw-r--r--packages/make/3.81/version.desc1
-rw-r--r--packages/make/4.0/version.desc1
-rw-r--r--packages/make/4.1/version.desc1
-rw-r--r--packages/make/4.2.1/version.desc0
-rw-r--r--packages/make/package.desc3
-rw-r--r--packages/mingw-w64/package.desc2
-rw-r--r--packages/mingw-w64/v2.0.7/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.6/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v2.0.7/version.desc1
-rw-r--r--packages/mingw-w64/v2.0.8/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.5/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v2.0.8/version.desc1
-rw-r--r--packages/mingw-w64/v2.0.9/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.4/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v2.0.9/version.desc1
-rw-r--r--packages/mingw-w64/v3.0.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.2/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v3.0.0/version.desc1
-rw-r--r--packages/mingw-w64/v3.1.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.1/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v3.1.0/version.desc1
-rw-r--r--packages/mingw-w64/v3.2.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v4.0.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v3.2.0/version.desc1
-rw-r--r--packages/mingw-w64/v3.3.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v3.3.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v3.3.0/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v3.2.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.0/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.1/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v3.1.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.1/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.2/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v3.0.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.2/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.4/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v2.0.9/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.4/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.5/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v2.0.8/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.5/version.desc1
-rw-r--r--packages/mingw-w64/v4.0.6/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v2.0.7/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v4.0.6/version.desc0
-rw-r--r--packages/mingw-w64/v5.0.0/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v5.0.2/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v5.0.0/version.desc1
-rw-r--r--packages/mingw-w64/v5.0.1/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v5.0.1/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v5.0.1/version.desc0
-rw-r--r--packages/mingw-w64/v5.0.2/100-mingw64-malloc.patch (renamed from patches/mingw-w64/v5.0.0/100-mingw64-malloc.patch)0
-rw-r--r--packages/mingw-w64/v5.0.2/version.desc0
-rw-r--r--packages/mpc/0.7/version.desc1
-rw-r--r--packages/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff (renamed from patches/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff)0
-rw-r--r--packages/mpc/0.8.1/version.desc1
-rw-r--r--packages/mpc/0.8.2/version.desc1
-rw-r--r--packages/mpc/0.9/version.desc1
-rw-r--r--packages/mpc/1.0.1/version.desc1
-rw-r--r--packages/mpc/1.0.2/version.desc1
-rw-r--r--packages/mpc/1.0.3/version.desc0
-rw-r--r--packages/mpc/1.0/version.desc1
-rw-r--r--packages/mpc/package.desc3
-rw-r--r--packages/mpfr/2.4.0/100-printf-hh-ll.patch (renamed from patches/mpfr/2.4.0/100-printf-hh-ll.patch)0
-rw-r--r--packages/mpfr/2.4.0/110-mpfr_snprintf.patch (renamed from patches/mpfr/2.4.0/110-mpfr_snprintf.patch)0
-rw-r--r--packages/mpfr/2.4.0/version.desc1
-rw-r--r--packages/mpfr/2.4.1/100-remainder-neg.patch (renamed from patches/mpfr/2.4.1/100-remainder-neg.patch)0
-rw-r--r--packages/mpfr/2.4.1/110-assert.patch (renamed from patches/mpfr/2.4.1/110-assert.patch)0
-rw-r--r--packages/mpfr/2.4.1/120-cast-to-void-ptr.patch (renamed from patches/mpfr/2.4.1/120-cast-to-void-ptr.patch)0
-rw-r--r--packages/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch (renamed from patches/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch)0
-rw-r--r--packages/mpfr/2.4.1/140-zeta_ui-shift.patch (renamed from patches/mpfr/2.4.1/140-zeta_ui-shift.patch)0
-rw-r--r--packages/mpfr/2.4.1/150-test-tmul.patch (renamed from patches/mpfr/2.4.1/150-test-tmul.patch)0
-rw-r--r--packages/mpfr/2.4.1/version.desc1
-rw-r--r--packages/mpfr/2.4.2/100-sin_cos_underflow.patch (renamed from patches/mpfr/2.4.2/100-sin_cos_underflow.patch)0
-rw-r--r--packages/mpfr/2.4.2/110-longlong.h.patch (renamed from patches/mpfr/2.4.2/110-longlong.h.patch)0
-rw-r--r--packages/mpfr/2.4.2/120-gmp5.patch (renamed from patches/mpfr/2.4.2/120-gmp5.patch)0
-rw-r--r--packages/mpfr/2.4.2/version.desc1
-rw-r--r--packages/mpfr/3.0.0/110-mpfr_out_str.patch (renamed from patches/mpfr/3.0.0/110-mpfr_out_str.patch)0
-rw-r--r--packages/mpfr/3.0.0/120-alloca.patch (renamed from patches/mpfr/3.0.0/120-alloca.patch)0
-rw-r--r--packages/mpfr/3.0.0/130-gamma_underflow.patch (renamed from patches/mpfr/3.0.0/130-gamma_underflow.patch)0
-rw-r--r--packages/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch (renamed from patches/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch)0
-rw-r--r--packages/mpfr/3.0.0/150-tcan_round.patch (renamed from patches/mpfr/3.0.0/150-tcan_round.patch)0
-rw-r--r--packages/mpfr/3.0.0/160-mpfr_sub1.patch (renamed from patches/mpfr/3.0.0/160-mpfr_sub1.patch)0
-rw-r--r--packages/mpfr/3.0.0/170-mpfr_set_ld.patch (renamed from patches/mpfr/3.0.0/170-mpfr_set_ld.patch)0
-rw-r--r--packages/mpfr/3.0.0/180-macros.patch (renamed from patches/mpfr/3.0.0/180-macros.patch)0
-rw-r--r--packages/mpfr/3.0.0/version.desc1
-rw-r--r--packages/mpfr/3.0.1/110-asin_exprange.patch (renamed from patches/mpfr/3.0.1/110-asin_exprange.patch)0
-rw-r--r--packages/mpfr/3.0.1/120-rec_sqrt-carry.patch (renamed from patches/mpfr/3.0.1/120-rec_sqrt-carry.patch)0
-rw-r--r--packages/mpfr/3.0.1/130-atan-expo-range.patch (renamed from patches/mpfr/3.0.1/130-atan-expo-range.patch)0
-rw-r--r--packages/mpfr/3.0.1/140-texp-zero.patch (renamed from patches/mpfr/3.0.1/140-texp-zero.patch)0
-rw-r--r--packages/mpfr/3.0.1/version.desc1
-rw-r--r--packages/mpfr/3.1.0/110-mpfr_unlikely.patch (renamed from patches/mpfr/3.1.0/110-mpfr_unlikely.patch)0
-rw-r--r--packages/mpfr/3.1.0/120-lib-search-path.patch (renamed from patches/mpfr/3.1.0/120-lib-search-path.patch)0
-rw-r--r--packages/mpfr/3.1.0/130-vasprintf.patch (renamed from patches/mpfr/3.1.0/130-vasprintf.patch)0
-rw-r--r--packages/mpfr/3.1.0/140-gmp41compat.patch (renamed from patches/mpfr/3.1.0/140-gmp41compat.patch)0
-rw-r--r--packages/mpfr/3.1.0/150-logging-freeze.patch (renamed from patches/mpfr/3.1.0/150-logging-freeze.patch)0
-rw-r--r--packages/mpfr/3.1.0/160-logging-varfmt.patch (renamed from patches/mpfr/3.1.0/160-logging-varfmt.patch)0
-rw-r--r--packages/mpfr/3.1.0/170-large-prec.patch (renamed from patches/mpfr/3.1.0/170-large-prec.patch)0
-rw-r--r--packages/mpfr/3.1.0/180-__gmp_const.patch (renamed from patches/mpfr/3.1.0/180-__gmp_const.patch)0
-rw-r--r--packages/mpfr/3.1.0/190-gamma-underflow.patch (renamed from patches/mpfr/3.1.0/190-gamma-underflow.patch)0
-rw-r--r--packages/mpfr/3.1.0/200-gamma-overunderflow.patch (renamed from patches/mpfr/3.1.0/200-gamma-overunderflow.patch)0
-rw-r--r--packages/mpfr/3.1.0/version.desc1
-rw-r--r--packages/mpfr/3.1.1/110-get_decimal64.patch (renamed from patches/mpfr/3.1.1/110-get_decimal64.patch)0
-rw-r--r--packages/mpfr/3.1.1/120-strtofr-ternary-value.patch (renamed from patches/mpfr/3.1.1/120-strtofr-ternary-value.patch)0
-rw-r--r--packages/mpfr/3.1.1/130-gmp51-compat.patch (renamed from patches/mpfr/3.1.1/130-gmp51-compat.patch)0
-rw-r--r--packages/mpfr/3.1.1/version.desc1
-rw-r--r--packages/mpfr/3.1.2/110-exp_2.patch (renamed from patches/mpfr/3.1.2/110-exp_2.patch)0
-rw-r--r--packages/mpfr/3.1.2/120-fits-smallneg.patch (renamed from patches/mpfr/3.1.2/120-fits-smallneg.patch)0
-rw-r--r--packages/mpfr/3.1.2/130-clang-divby0.patch (renamed from patches/mpfr/3.1.2/130-clang-divby0.patch)0
-rw-r--r--packages/mpfr/3.1.2/140-printf-alt0.patch (renamed from patches/mpfr/3.1.2/140-printf-alt0.patch)0
-rw-r--r--packages/mpfr/3.1.2/150-custom_init_set.patch (renamed from patches/mpfr/3.1.2/150-custom_init_set.patch)0
-rw-r--r--packages/mpfr/3.1.2/160-li2-return.patch (renamed from patches/mpfr/3.1.2/160-li2-return.patch)0
-rw-r--r--packages/mpfr/3.1.2/170-exp3.patch (renamed from patches/mpfr/3.1.2/170-exp3.patch)0
-rw-r--r--packages/mpfr/3.1.2/180-gmp6-compat.patch (renamed from patches/mpfr/3.1.2/180-gmp6-compat.patch)0
-rw-r--r--packages/mpfr/3.1.2/190-div-overflow.patch (renamed from patches/mpfr/3.1.2/190-div-overflow.patch)0
-rw-r--r--packages/mpfr/3.1.2/200-vasprintf.patch (renamed from patches/mpfr/3.1.2/200-vasprintf.patch)0
-rw-r--r--packages/mpfr/3.1.2/210-strtofr.patch (renamed from patches/mpfr/3.1.2/210-strtofr.patch)0
-rw-r--r--packages/mpfr/3.1.2/version.desc1
-rw-r--r--packages/mpfr/3.1.3/110-lngamma-and-doc.patch (renamed from patches/mpfr/3.1.3/110-lngamma-and-doc.patch)0
-rw-r--r--packages/mpfr/3.1.3/120-muldiv-2exp-overflow.patch (renamed from patches/mpfr/3.1.3/120-muldiv-2exp-overflow.patch)0
-rw-r--r--packages/mpfr/3.1.3/130-muldiv-2exp-underflow.patch (renamed from patches/mpfr/3.1.3/130-muldiv-2exp-underflow.patch)0
-rw-r--r--packages/mpfr/3.1.3/140-frexp.patch (renamed from patches/mpfr/3.1.3/140-frexp.patch)0
-rw-r--r--packages/mpfr/3.1.3/150-divhigh-basecase.patch (renamed from patches/mpfr/3.1.3/150-divhigh-basecase.patch)0
-rw-r--r--packages/mpfr/3.1.3/160-jn.patch (renamed from patches/mpfr/3.1.3/160-jn.patch)0
-rw-r--r--packages/mpfr/3.1.3/170-zeta.patch (renamed from patches/mpfr/3.1.3/170-zeta.patch)0
-rw-r--r--packages/mpfr/3.1.3/180-sqrt.patch (renamed from patches/mpfr/3.1.3/180-sqrt.patch)0
-rw-r--r--packages/mpfr/3.1.3/190-si-ops.patch (renamed from patches/mpfr/3.1.3/190-si-ops.patch)0
-rw-r--r--packages/mpfr/3.1.3/200-can_round.patch (renamed from patches/mpfr/3.1.3/200-can_round.patch)0
-rw-r--r--packages/mpfr/3.1.3/210-fits.patch (renamed from patches/mpfr/3.1.3/210-fits.patch)0
-rw-r--r--packages/mpfr/3.1.3/220-root.patch (renamed from patches/mpfr/3.1.3/220-root.patch)0
-rw-r--r--packages/mpfr/3.1.3/230-gamma.patch (renamed from patches/mpfr/3.1.3/230-gamma.patch)0
-rw-r--r--packages/mpfr/3.1.3/240-rem1.patch (renamed from patches/mpfr/3.1.3/240-rem1.patch)0
-rw-r--r--packages/mpfr/3.1.3/250-agm-eq.patch (renamed from patches/mpfr/3.1.3/250-agm-eq.patch)0
-rw-r--r--packages/mpfr/3.1.3/260-sum.patch (renamed from patches/mpfr/3.1.3/260-sum.patch)0
-rw-r--r--packages/mpfr/3.1.3/270-cmp_d.patch (renamed from patches/mpfr/3.1.3/270-cmp_d.patch)0
-rw-r--r--packages/mpfr/3.1.3/version.desc1
-rw-r--r--packages/mpfr/3.1.5/version.desc0
-rw-r--r--packages/mpfr/package.desc4
-rw-r--r--packages/musl/1.1.15/version.desc1
-rw-r--r--packages/musl/1.1.16/version.desc0
-rw-r--r--packages/musl/package.desc2
-rw-r--r--packages/ncurses/6.0/100-ncurses-6.0-20150810.patch (renamed from patches/ncurses/6.0/100-ncurses-6.0-20150810.patch)0
-rw-r--r--packages/ncurses/6.0/110-ncurses-6.0-20150815.patch (renamed from patches/ncurses/6.0/110-ncurses-6.0-20150815.patch)0
-rw-r--r--packages/ncurses/6.0/120-ncurses-6.0-20150822.patch (renamed from patches/ncurses/6.0/120-ncurses-6.0-20150822.patch)0
-rw-r--r--packages/ncurses/6.0/130-ncurses-6.0-20150905.patch (renamed from patches/ncurses/6.0/130-ncurses-6.0-20150905.patch)0
-rw-r--r--packages/ncurses/6.0/140-ncurses-6.0-20150912.patch (renamed from patches/ncurses/6.0/140-ncurses-6.0-20150912.patch)0
-rw-r--r--packages/ncurses/6.0/150-ncurses-6.0-20150919.patch (renamed from patches/ncurses/6.0/150-ncurses-6.0-20150919.patch)0
-rw-r--r--packages/ncurses/6.0/160-ncurses-6.0-20150926.patch (renamed from patches/ncurses/6.0/160-ncurses-6.0-20150926.patch)0
-rw-r--r--packages/ncurses/6.0/170-ncurses-6.0-20151010.patch (renamed from patches/ncurses/6.0/170-ncurses-6.0-20151010.patch)0
-rw-r--r--packages/ncurses/6.0/180-ncurses-6.0-20151017.patch (renamed from patches/ncurses/6.0/180-ncurses-6.0-20151017.patch)0
-rw-r--r--packages/ncurses/6.0/190-ncurses-6.0-20151024.patch (renamed from patches/ncurses/6.0/190-ncurses-6.0-20151024.patch)0
-rw-r--r--packages/ncurses/6.0/200-ncurses-6.0-20151101.patch (renamed from patches/ncurses/6.0/200-ncurses-6.0-20151101.patch)0
-rw-r--r--packages/ncurses/6.0/210-ncurses-6.0-20151107.patch (renamed from patches/ncurses/6.0/210-ncurses-6.0-20151107.patch)0
-rw-r--r--packages/ncurses/6.0/999-create-run_tic.patch (renamed from patches/ncurses/6.0/999-create-run_tic.patch)0
-rw-r--r--packages/ncurses/6.0/version.desc0
-rw-r--r--packages/ncurses/package.desc2
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/linaro-2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/110-fix-eabihf.patch (renamed from patches/newlib/linaro-2.1.0-2014.09/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/200-fix-mt-cflags.patch (renamed from patches/newlib/linaro-2.1.0-2014.09/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib-linaro/2.1.0-2014.09/version.desc1
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/linaro-2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/110-fix-eabihf.patch (renamed from patches/newlib/linaro-2.2.0-2015.01/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/200-fix-mt-cflags.patch (renamed from patches/newlib/linaro-2.2.0-2015.01/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib-linaro/2.2.0-2015.01/version.desc1
-rw-r--r--packages/newlib-linaro/package.desc5
-rw-r--r--packages/newlib/1.17.0/110-fix-eabihf.patch (renamed from patches/newlib/1.17.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/1.17.0/200-fix-mt-cflags.patch (renamed from patches/newlib/1.17.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/1.17.0/999-fix-arm-build.patch (renamed from patches/newlib/1.17.0/999-fix-arm-build.patch)0
-rw-r--r--packages/newlib/1.17.0/version.desc1
-rw-r--r--packages/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/1.18.0/110-fix-eabihf.patch (renamed from patches/newlib/1.18.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/1.18.0/200-fix-mt-cflags.patch (renamed from patches/newlib/1.18.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/1.18.0/version.desc1
-rw-r--r--packages/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/1.19.0/110-fix-eabihf.patch (renamed from patches/newlib/1.19.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/1.19.0/200-fix-mt-cflags.patch (renamed from patches/newlib/1.19.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/1.19.0/version.desc1
-rw-r--r--packages/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/1.20.0/110-fix-eabihf.patch (renamed from patches/newlib/1.20.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/1.20.0/200-fix-mt-cflags.patch (renamed from patches/newlib/1.20.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/1.20.0/version.desc1
-rw-r--r--packages/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.0.0/110-fix-eabihf.patch (renamed from patches/newlib/2.0.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/2.0.0/200-fix-mt-cflags.patch (renamed from patches/newlib/2.0.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.0.0/version.desc1
-rw-r--r--packages/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.1.0/110-fix-eabihf.patch (renamed from patches/newlib/2.1.0/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/2.1.0/200-fix-mt-cflags.patch (renamed from patches/newlib/2.1.0/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.1.0/version.desc1
-rw-r--r--packages/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.2.0.20151023/110-fix-eabihf.patch (renamed from patches/newlib/2.2.0.20151023/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/2.2.0.20151023/200-fix-mt-cflags.patch (renamed from patches/newlib/2.2.0.20151023/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.2.0.20151023/version.desc1
-rw-r--r--packages/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.3.0.20160226/110-fix-eabihf.patch (renamed from patches/newlib/2.3.0.20160226/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/2.3.0.20160226/200-fix-mt-cflags.patch (renamed from patches/newlib/2.3.0.20160226/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.3.0.20160226/version.desc1
-rw-r--r--packages/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.4.0.20161025/110-fix-eabihf.patch (renamed from patches/newlib/2.4.0.20161025/110-fix-eabihf.patch)0
-rw-r--r--packages/newlib/2.4.0.20161025/200-fix-mt-cflags.patch (renamed from patches/newlib/2.4.0.20161025/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.4.0.20161025/version.desc1
-rw-r--r--packages/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch (renamed from patches/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch)0
-rw-r--r--packages/newlib/2.5.0.20170519/200-fix-mt-cflags.patch (renamed from patches/newlib/2.5.0.20170519/200-fix-mt-cflags.patch)0
-rw-r--r--packages/newlib/2.5.0.20170519/version.desc0
-rw-r--r--packages/newlib/package.desc5
-rw-r--r--packages/strace/4.10/001_aarch64_rt_sigreturn.patch (renamed from patches/strace/4.10/001_aarch64_rt_sigreturn.patch)0
-rw-r--r--packages/strace/4.10/002_arm_mmap2.patch (renamed from patches/strace/4.10/002_arm_mmap2.patch)0
-rw-r--r--packages/strace/4.10/003_aarch64_arch_regs.patch (renamed from patches/strace/4.10/003_aarch64_arch_regs.patch)0
-rw-r--r--packages/strace/4.10/004_stat64-v.test.patch (renamed from patches/strace/4.10/004_stat64-v.test.patch)0
-rw-r--r--packages/strace/4.10/005_select_test.patch (renamed from patches/strace/4.10/005_select_test.patch)0
-rw-r--r--packages/strace/4.10/006_fix_aarch64_ioctl_decoding.patch (renamed from patches/strace/4.10/006_fix_aarch64_ioctl_decoding.patch)0
-rw-r--r--packages/strace/4.10/007_fix_bexecve64_test.patch (renamed from patches/strace/4.10/007_fix_bexecve64_test.patch)0
-rw-r--r--packages/strace/4.10/008_decode_mips_indirect_syscall.patch (renamed from patches/strace/4.10/008_decode_mips_indirect_syscall.patch)0
-rw-r--r--packages/strace/4.10/009-upstream-musl_includes.patch (renamed from patches/strace/4.10/009-upstream-musl_includes.patch)0
-rw-r--r--packages/strace/4.10/010-use-host-ioctl.patch (renamed from patches/strace/4.10/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.10/version.desc1
-rw-r--r--packages/strace/4.11/010-use-host-ioctl.patch (renamed from patches/strace/4.11/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.11/version.desc1
-rw-r--r--packages/strace/4.12/010-use-host-ioctl.patch (renamed from patches/strace/4.12/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.12/version.desc1
-rw-r--r--packages/strace/4.13/010-use-host-ioctl.patch (renamed from patches/strace/4.13/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.13/version.desc1
-rw-r--r--packages/strace/4.14/010-use-host-ioctl.patch (renamed from patches/strace/4.14/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.14/version.desc1
-rw-r--r--packages/strace/4.15/010-use-host-ioctl.patch (renamed from patches/strace/4.15/010-use-host-ioctl.patch)0
-rw-r--r--packages/strace/4.15/version.desc0
-rw-r--r--packages/strace/4.16/version.desc0
-rw-r--r--packages/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch (renamed from patches/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch)0
-rw-r--r--packages/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch (renamed from patches/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch)0
-rw-r--r--packages/strace/4.5.18/140-statfs64-check.patch (renamed from patches/strace/4.5.18/140-statfs64-check.patch)0
-rw-r--r--packages/strace/4.5.18/160-fix-check-for-linux-netlink.patch (renamed from patches/strace/4.5.18/160-fix-check-for-linux-netlink.patch)0
-rw-r--r--packages/strace/4.5.18/160-undef-syscall.patch (renamed from patches/strace/4.5.18/160-undef-syscall.patch)0
-rw-r--r--packages/strace/4.5.18/170-no_cachectl.patch (renamed from patches/strace/4.5.18/170-no_cachectl.patch)0
-rw-r--r--packages/strace/4.5.18/180-arm-EABI-syscalls.patch (renamed from patches/strace/4.5.18/180-arm-EABI-syscalls.patch)0
-rw-r--r--packages/strace/4.5.18/900-autoreconf.patch (renamed from patches/strace/4.5.18/900-autoreconf.patch)0
-rw-r--r--packages/strace/4.5.18/version.desc1
-rw-r--r--packages/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch (renamed from patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch)0
-rw-r--r--packages/strace/4.5.19/130-statfs64-check.patch (renamed from patches/strace/4.5.19/130-statfs64-check.patch)0
-rw-r--r--packages/strace/4.5.19/150-undef-syscall.patch (renamed from patches/strace/4.5.19/150-undef-syscall.patch)0
-rw-r--r--packages/strace/4.5.19/160-fix-check-for-linux-netlink.patch (renamed from patches/strace/4.5.19/160-fix-check-for-linux-netlink.patch)0
-rw-r--r--packages/strace/4.5.19/170-update-configure.patch (renamed from patches/strace/4.5.19/170-update-configure.patch)0
-rw-r--r--packages/strace/4.5.19/version.desc1
-rw-r--r--packages/strace/4.5.20/version.desc1
-rw-r--r--packages/strace/4.6/version.desc1
-rw-r--r--packages/strace/4.7/version.desc1
-rw-r--r--packages/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch (renamed from patches/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch)0
-rw-r--r--packages/strace/4.8/version.desc1
-rw-r--r--packages/strace/4.9/version.desc1
-rw-r--r--packages/strace/package.desc3
-rw-r--r--packages/uClibc-ng/1.0.20/100-xtensa-static-link.patch (renamed from patches/uClibc-ng/1.0.20/100-xtensa-static-link.patch)0
-rw-r--r--packages/uClibc-ng/1.0.20/110-has-lfs.patch (renamed from patches/uClibc-ng/1.0.21/110-has-lfs.patch)0
-rw-r--r--packages/uClibc-ng/1.0.20/500-no-install-D.patch (renamed from patches/uClibc-ng/1.0.22/500-no-install-D.patch)0
-rw-r--r--packages/uClibc-ng/1.0.20/600-prefer-multilib.patch (renamed from patches/uClibc-ng/1.0.22/600-prefer-multilib.patch)0
-rw-r--r--packages/uClibc-ng/1.0.20/700-features.h-c11.patch (renamed from patches/uClibc-ng/1.0.24/700-features.h-c11.patch)0
-rw-r--r--packages/uClibc-ng/1.0.20/version.desc1
-rw-r--r--packages/uClibc-ng/1.0.21/110-has-lfs.patch (renamed from patches/uClibc-ng/1.0.20/110-has-lfs.patch)0
-rw-r--r--packages/uClibc-ng/1.0.21/120-module.patch (renamed from patches/uClibc-ng/1.0.21/120-module.patch)0
-rw-r--r--packages/uClibc-ng/1.0.21/500-no-install-D.patch (renamed from patches/uClibc-ng/1.0.21/500-no-install-D.patch)0
-rw-r--r--packages/uClibc-ng/1.0.21/600-prefer-multilib.patch (renamed from patches/uClibc-ng/1.0.21/600-prefer-multilib.patch)0
-rw-r--r--packages/uClibc-ng/1.0.21/700-features.h-c11.patch (renamed from patches/uClibc-ng/1.0.23/700-features.h-c11.patch)0
-rw-r--r--packages/uClibc-ng/1.0.21/version.desc1
-rw-r--r--packages/uClibc-ng/1.0.22/500-no-install-D.patch (renamed from patches/uClibc-ng/1.0.20/500-no-install-D.patch)0
-rw-r--r--packages/uClibc-ng/1.0.22/600-prefer-multilib.patch (renamed from patches/uClibc-ng/1.0.20/600-prefer-multilib.patch)0
-rw-r--r--packages/uClibc-ng/1.0.22/700-features.h-c11.patch (renamed from patches/uClibc-ng/1.0.22/700-features.h-c11.patch)0
-rw-r--r--packages/uClibc-ng/1.0.22/version.desc0
-rw-r--r--packages/uClibc-ng/1.0.23/700-features.h-c11.patch (renamed from patches/uClibc-ng/1.0.21/700-features.h-c11.patch)0
-rw-r--r--packages/uClibc-ng/1.0.23/version.desc0
-rw-r--r--packages/uClibc-ng/1.0.24/700-features.h-c11.patch (renamed from patches/uClibc-ng/1.0.20/700-features.h-c11.patch)0
-rw-r--r--packages/uClibc-ng/1.0.24/version.desc0
-rw-r--r--packages/uClibc-ng/1.0.25/version.desc0
-rw-r--r--packages/uClibc-ng/package.desc4
-rw-r--r--packages/uClibc/0.9.33.2/100-m68k-ice.patch (renamed from patches/uClibc/0.9.33.2/100-m68k-ice.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch (renamed from patches/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/300-fix-darwin-build.patch (renamed from patches/uClibc/0.9.33.2/300-fix-darwin-build.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/400-arm-unwind.patch (renamed from patches/uClibc/0.9.33.2/400-arm-unwind.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/500-no-install-D.patch (renamed from patches/uClibc/0.9.33.2/500-no-install-D.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/600-prefer-multilib.patch (renamed from patches/uClibc/0.9.33.2/600-prefer-multilib.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/998-dlopen-static.patch (renamed from patches/uClibc/0.9.33.2/998-dlopen-static.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/999-make-olddefconfig.patch (renamed from patches/uClibc/0.9.33.2/999-make-olddefconfig.patch)0
-rw-r--r--packages/uClibc/0.9.33.2/version.desc1
-rw-r--r--packages/uClibc/package.desc7
-rw-r--r--packages/zlib/1.2.11/100-make-check-fail.patch (renamed from patches/zlib/1.2.11/100-make-check-fail.patch)0
-rw-r--r--packages/zlib/1.2.11/110-no-_wopen-cygwin.patch (renamed from patches/zlib/1.2.11/110-no-_wopen-cygwin.patch)0
-rw-r--r--packages/zlib/1.2.11/120-mingw-static-only.patch (renamed from patches/zlib/1.2.11/120-mingw-static-only.patch)0
-rw-r--r--packages/zlib/1.2.11/version.desc0
-rw-r--r--packages/zlib/package.desc2
-rw-r--r--patches/ltrace/0.5.2/100-allow-cross-compile.patch77
-rw-r--r--patches/ltrace/0.5.2/110-alpha-support.patch11
-rw-r--r--patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch240
-rw-r--r--patches/ltrace/0.5.2/130-fix-build-with-exotic-linux-host-OS.patch26
-rw-r--r--samples/aarch64-rpi3-linux-gnu/crosstool.config8
-rw-r--r--samples/aarch64-unknown-linux-android/crosstool.config7
-rw-r--r--samples/aarch64-unknown-linux-gnu/crosstool.config6
-rw-r--r--samples/aarch64-unknown-linux-uclibc/crosstool.config10
-rw-r--r--samples/alphaev56-unknown-linux-gnu/crosstool.config3
-rw-r--r--samples/alphaev67-unknown-linux-gnu/crosstool.config3
-rw-r--r--samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config6
-rw-r--r--samples/arm-cortex_a15-linux-gnueabihf/crosstool.config12
-rw-r--r--samples/arm-cortex_a8-linux-gnueabi/crosstool.config13
-rw-r--r--samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config15
-rw-r--r--samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config15
-rw-r--r--samples/arm-multilib-linux-uclibcgnueabi/crosstool.config10
-rw-r--r--samples/arm-nano-eabi/crosstool.config2
-rw-r--r--samples/arm-unknown-eabi/crosstool.config2
-rw-r--r--samples/arm-unknown-linux-gnueabi/crosstool.config13
-rw-r--r--samples/arm-unknown-linux-musleabi/crosstool.config12
-rw-r--r--samples/arm-unknown-linux-uclibcgnueabi/crosstool.config14
-rw-r--r--samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config14
-rw-r--r--samples/armeb-unknown-eabi/crosstool.config6
-rw-r--r--samples/armeb-unknown-linux-gnueabi/crosstool.config13
-rw-r--r--samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config14
-rw-r--r--samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config7
-rw-r--r--samples/armv6-rpi-linux-gnueabi/crosstool.config18
-rw-r--r--samples/armv7-rpi2-linux-gnueabihf/crosstool.config9
-rw-r--r--samples/armv8-rpi3-linux-gnueabihf/crosstool.config9
-rw-r--r--samples/avr/crosstool.config4
-rw-r--r--samples/i586-geode-linux-uclibc/crosstool.config13
-rw-r--r--samples/i686-centos6-linux-gnu/crosstool.config9
-rw-r--r--samples/i686-centos7-linux-gnu/crosstool.config9
-rw-r--r--samples/i686-nptl-linux-gnu/crosstool.config13
-rw-r--r--samples/i686-ubuntu12.04-linux-gnu/crosstool.config9
-rw-r--r--samples/i686-ubuntu14.04-linux-gnu/crosstool.config9
-rw-r--r--samples/i686-ubuntu16.04-linux-gnu/crosstool.config9
-rw-r--r--samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config4
-rw-r--r--samples/i686-w64-mingw32/crosstool.config4
-rw-r--r--samples/m68k-unknown-elf/crosstool.config10
-rw-r--r--samples/m68k-unknown-uclinux-uclibc/crosstool.config4
-rw-r--r--samples/mips-ar2315-linux-gnu/crosstool.config9
-rw-r--r--samples/mips-malta-linux-gnu/crosstool.config7
-rw-r--r--samples/mips-unknown-elf/crosstool.config6
-rw-r--r--samples/mips-unknown-linux-uclibc/crosstool.config11
-rw-r--r--samples/mips64el-multilib-linux-uclibc/crosstool.config6
-rw-r--r--samples/mipsel-multilib-linux-gnu/crosstool.config11
-rw-r--r--samples/mipsel-sde-elf/crosstool.config6
-rw-r--r--samples/mipsel-unknown-linux-gnu/crosstool.config11
-rw-r--r--samples/msp430-unknown-elf/crosstool.config6
-rw-r--r--samples/nios2-unknown-elf/crosstool.config4
-rw-r--r--samples/powerpc-405-linux-gnu/crosstool.config6
-rw-r--r--samples/powerpc-860-linux-gnu/crosstool.config8
-rw-r--r--samples/powerpc-e300c3-linux-gnu/crosstool.config4
-rw-r--r--samples/powerpc-e500v2-linux-gnuspe/crosstool.config9
-rw-r--r--samples/powerpc-unknown-linux-gnu/crosstool.config10
-rw-r--r--samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config4
-rw-r--r--samples/powerpc-unknown-linux-uclibc/crosstool.config13
-rw-r--r--samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config10
-rw-r--r--samples/powerpc64-multilib-linux-gnu/crosstool.config6
-rw-r--r--samples/powerpc64-unknown-linux-gnu/crosstool.config6
-rw-r--r--samples/powerpc64le-unknown-linux-gnu/crosstool.config6
-rw-r--r--samples/s390-ibm-linux-gnu/crosstool.config4
-rw-r--r--samples/s390x-ibm-linux-gnu/crosstool.config4
-rw-r--r--samples/sh4-multilib-linux-gnu/crosstool.config6
-rw-r--r--samples/sh4-multilib-linux-uclibc/crosstool.config9
-rw-r--r--samples/sh4-unknown-linux-gnu/crosstool.config6
-rw-r--r--samples/sparc-leon-linux-uclibc/crosstool.config13
-rw-r--r--samples/sparc-unknown-linux-gnu/crosstool.config4
-rw-r--r--samples/sparc64-multilib-linux-gnu/crosstool.config4
-rw-r--r--samples/x86_64-centos6-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-centos7-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-multilib-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-multilib-linux-musl/crosstool.config10
-rw-r--r--samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config9
-rw-r--r--samples/x86_64-multilib-linux-uclibc/crosstool.config11
-rw-r--r--samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-unknown-linux-gnu/crosstool.config9
-rw-r--r--samples/x86_64-unknown-linux-uclibc/crosstool.config11
-rw-r--r--samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config16
-rw-r--r--samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config14
-rw-r--r--samples/x86_64-w64-mingw32/crosstool.config4
-rw-r--r--samples/xtensa-fsf-linux-uclibc/crosstool.config9
-rw-r--r--scripts/build/arch/sparc.sh2
-rw-r--r--scripts/build/arch/xtensa.sh61
-rw-r--r--scripts/build/binutils/binutils.sh45
-rw-r--r--scripts/build/cc.sh58
-rw-r--r--scripts/build/cc/100-gcc.sh1178
-rw-r--r--scripts/build/cc/gcc.sh1157
-rw-r--r--scripts/build/companion_libs/050-zlib.sh10
-rw-r--r--scripts/build/companion_libs/100-gmp.sh13
-rw-r--r--scripts/build/companion_libs/110-mpfr.sh10
-rw-r--r--scripts/build/companion_libs/121-isl.sh12
-rw-r--r--scripts/build/companion_libs/130-cloog.sh14
-rw-r--r--scripts/build/companion_libs/140-mpc.sh9
-rw-r--r--scripts/build/companion_libs/200-libelf.sh10
-rw-r--r--scripts/build/companion_libs/210-expat.sh8
-rw-r--r--scripts/build/companion_libs/220-ncurses.sh10
-rw-r--r--scripts/build/companion_libs/320-libiconv.sh8
-rw-r--r--scripts/build/companion_libs/330-gettext.sh8
-rw-r--r--scripts/build/companion_tools.sh2
-rw-r--r--scripts/build/companion_tools/050-make.sh9
-rw-r--r--scripts/build/companion_tools/100-m4.sh8
-rw-r--r--scripts/build/companion_tools/200-autoconf.sh9
-rw-r--r--scripts/build/companion_tools/300-automake.sh9
-rw-r--r--scripts/build/companion_tools/400-libtool.sh9
-rw-r--r--scripts/build/debug.sh2
-rw-r--r--scripts/build/debug/200-duma.sh19
-rw-r--r--scripts/build/debug/300-gdb.sh36
-rw-r--r--scripts/build/debug/400-ltrace.sh15
-rw-r--r--scripts/build/debug/500-strace.sh10
-rw-r--r--scripts/build/internals.sh11
-rw-r--r--scripts/build/kernel/linux.sh77
-rw-r--r--scripts/build/libc/avr-libc.sh38
-rw-r--r--scripts/build/libc/bionic.sh22
-rw-r--r--scripts/build/libc/glibc.sh159
-rw-r--r--scripts/build/libc/mingw-w64.sh215
-rw-r--r--scripts/build/libc/mingw.sh227
-rw-r--r--scripts/build/libc/musl.sh14
-rw-r--r--scripts/build/libc/newlib.sh36
-rw-r--r--scripts/build/libc/uClibc.sh83
-rw-r--r--scripts/build/test_suite.sh3
-rw-r--r--scripts/build/test_suite/gcc.sh2
-rw-r--r--scripts/crosstool-NG.sh.in10
-rw-r--r--scripts/functions1088
-rw-r--r--scripts/saveSample.sh.in4
-rw-r--r--scripts/showSamples.sh33
-rw-r--r--scripts/upgrade.sed25
1556 files changed, 5628 insertions, 7942 deletions
diff --git a/.gitignore b/.gitignore
index d12732a..138b741 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@ paths.*
!paths.in
config/configure.in
config/gen/
+config/versions/
.config
# Temporaries
diff --git a/Makefile.in b/Makefile.in
index 0f32064..8f7821c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -148,7 +148,7 @@ distclean: clean
$(call __silent_rm,Makefile kconfig/Makefile config/configure.in)
mrproper: distclean
- $(call __silent_rmdir,autom4te.cache config/gen)
+ $(call __silent_rmdir,autom4te.cache config/gen config/versions)
$(call __silent_rm,config.log config.status configure)
uninstall: real-uninstall
diff --git a/TODO b/TODO
index 58694c2..3957934 100644
--- a/TODO
+++ b/TODO
@@ -2,7 +2,18 @@ A (slightly) ordered set of tasks for crosstool-NG. Written in a cryptic languag
-- Alexey Neyman (@stilor)
+[ ] new packages
+ [ ] config.guess
+ [ ] gnulib
+ [ ] use gnulib in m4, gettext, libiconv, libtool
+ [ ] autoconf-archive
+ [ ] use to retrieve ax_pthread.m4 (gettext?)
+[ ] retire wiki-samples
+ [ ] Fix displaying the versions in case devel is used (custom location/repo) - display "devel" or "custom" in those cases
+[ ] clean up GDB versions - no X.Y if X.Y.1 is present
+ [ ] Check other packages, leave only the most recent on each branch
[ ] arm_neon.h - offer as a companion "library" for the target
+[ ] gdbinit (installed if CT_GDB_INSTALL_GDBINIT is set) is not relocatable, contains absolute paths
[ ] FreeBSD
[ ] Use 'cc' rather than 'gcc' on the host
[ ] Detect in configure what the default value is
diff --git a/bootstrap b/bootstrap
index ab493dd..f5784cd 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,10 +1,671 @@
-#!/bin/sh
-set -e
+#!/bin/bash
-printf "Running autoconf...\n"
-autoconf -Wall --force
+########################################
+# Common meta-language implementation. Syntax:
+#
+# The template file is processed line by line, with @@VAR@@ placeholders
+# being replaced with a value of the VAR variable.
+# Special lines start with '#!' and a keyword:
+#
+# #!//
+# Comment, the rest of the line is ignored
+# #!if COND
+# Conditional: the lines until the matching #!end-if are processed
+# only if the conditional COND evaluates to true.
+# #!foreach NAME
+# Iterate over NAME entities (the iterator must be set up first
+# using the set_iter function), processing the lines until the matching
+# #!end-foreach line.
+
+declare -A info
+
+debug()
+{
+ if [ -n "${DEBUG}" ]; then
+ echo "DEBUG :: $@" >&2
+ fi
+}
+
+msg()
+{
+ if [ -z "${QUIET}" ]; then
+ echo "INFO :: $@" >&2
+ fi
+}
+
+warn()
+{
+ echo "WARN :: $@" >&2
+}
+
+error()
+{
+ echo "ERROR :: $@" >&2
+ exit 1
+}
+
+find_end()
+{
+ local token="${1}"
+ local count=1
+
+ # Skip first line, we know it has the proper '#!' command on it
+ endline=$[l + 1]
+ while [ "${endline}" -le "${end}" ]; do
+ case "${tlines[${endline}]}" in
+ "#!${token} "*)
+ count=$[count + 1]
+ ;;
+ "#!end-${token}")
+ count=$[count - 1]
+ ;;
+ esac
+ if [ "${count}" = 0 ]; then
+ return
+ fi
+ endline=$[endline + 1]
+ done
+ error "line ${l}: '${token}' token is unpaired"
+}
+
+set_iter()
+{
+ local name="${1}"
+
+ if [ "${info[iter_${name}]+set}" = "set" ]; then
+ error "Iterator over '${name}' is already set up"
+ fi
+ shift
+ debug "Setting iterator over '${name}' to '$*'"
+ info[iter_${name}]="$*"
+}
+
+run_if()
+{
+ local cond="${1}"
+ local endline
+
+ find_end "if"
+ if eval "${cond}"; then
+ debug "True conditional '${cond}' at lines ${l}..${endline}"
+ run_lines $[l + 1] $[endline - 1]
+ else
+ debug "False conditional '${cond}' at lines ${l}..${endline}"
+ fi
+ lnext=$[endline + 1]
+ debug "Continue at line ${lnext}"
+}
+
+do_foreach()
+{
+ local var="${1}"
+ local -A saveinfo
+ local v k
+
+ shift
+ if [ "`type -t enter_${var}`" != "function" ]; then
+ error "No parameter setup routine for iterator over '${var}'"
+ fi
+ for v in ${info[iter_${var}]}; do
+ # This works in bash 4.4, but not in bash 4.3:
+ # local saveinfo=`declare -p info`
+ # ...
+ # eval "${saveinfo}"
+ # Therefore, need to save key-by-key
+ saveinfo=()
+ for k in "${!info[@]}"; do
+ saveinfo["${k}"]=${info["${k}"]}
+ done
+ eval "enter_${var} ${v}"
+ eval "$@"
+ info=()
+ for k in "${!saveinfo[@]}"; do
+ info["${k}"]=${saveinfo["${k}"]}
+ done
+ done
+}
+
+run_foreach()
+{
+ local var="${1}"
+ local endline
+
+ if [ "${info[iter_${var}]+set}" != "set" ]; then
+ error "line ${l}: iterator over '${var}' is not defined"
+ fi
+ find_end "foreach"
+ debug "Loop over '${var}', lines ${l}..${endline}"
+ do_foreach ${var} run_lines $[l + 1] $[endline - 1]
+ lnext=$[endline + 1]
+ debug "Continue at line ${lnext}"
+}
+
+run_lines()
+{
+ local start="${1}"
+ local end="${2}"
+ local l lnext s s1 v
+
+ debug "Running lines ${start}..${end}"
+ l=${start}
+ while [ "${l}" -le "${end}" ]; do
+ lnext=$[l+1]
+ s="${tlines[${l}]}"
+ # Expand @@foo@@ to ${info[foo]}. First escape variables/backslashes for evals below.
+ s="${s//\\/\\\\}"
+ s="${s//\$/\\\$}"
+ s1=
+ while [ -n "${s}" ]; do
+ case "${s}" in
+ *@@*@@*)
+ v="${s#*@@}"
+ v="${v%%@@*}"
+ if [ "${info[${v}]+set}" != "set" ]; then
+ error "line ${l}: reference to undefined variable '${v}'"
+ fi
+ s1="${s1}${s%%@@*}\${info[${v}]}"
+ s="${s#*@@*@@}"
+ ;;
+ *@@*)
+ error "line ${l}: non-paired @@ markers"
+ ;;
+ *)
+ s1="${s1}${s}"
+ break
+ ;;
+ esac
+ done
+ s=${s1}
+
+ debug "Evaluate: ${s}"
+ case "${s}" in
+ "#!if "*)
+ run_if "${s#* }"
+ ;;
+ "#!foreach "*)
+ run_foreach "${s#* }"
+ ;;
+ "#!//"*)
+ # Comment, do nothing
+ ;;
+ "#!"*)
+ error "line ${l}: unrecognized command"
+ ;;
+ *)
+ # Not a special command
+ eval "echo \"${s//\"/\\\"}\""
+ ;;
+ esac
+ l=${lnext}
+ done
+}
+
+run_template()
+{
+ local -a tlines
+ local src="${1}"
+
+ if [ ! -r "${src}" ]; then
+ error "Template '${src}' not found"
+ fi
+ debug "Running template ${src}"
+ mapfile -O 1 -t tlines < "${src}"
+ run_lines 1 ${#tlines[@]}
+}
+
+########################################
+
+# Convert the argument to a Kconfig-style macro
+kconfigize()
+{
+ local v="${1}"
+ local p pb pa vx
+ shift
+
+ # If optional patterns are provided, find the first match
+ # and contract to the matching portion.
+ for p in "$@"; do
+ pb=${p%|*}
+ pa=${p#*|}
+ eval "vx=\${v#${pb}${pa}}"
+ if [ "${v%${pa}${vx}}" != "${v}" ]; then
+ v=${v%${pa}${vx}}
+ break
+ fi
+ done
+
+ v=${v//[^0-9A-Za-z_]/_}
+ echo "${v^^}"
+}
+
+# Helper for cmp_versions: compare an upstream/debian portion of
+# a version. Returns 0 if equal, otherwise echoes "-1" or "1" and
+# returns 1.
+equal_versions()
+{
+ local v1="${1}"
+ local v2="${2}"
+ local p1 p2
+
+ # Compare alternating non-numerical/numerical portions, until
+ # non-equal portion is found or either string is exhausted.
+ while [ -n "${v1}" -a -n "${v2}" ]; do
+ # Find non-numerical portions and compare lexicographically
+ p1="${v1%%[0-9]*}"
+ p2="${v2%%[0-9]*}"
+ v1="${v1#${p1}}"
+ v2="${v2#${p2}}"
+ #debug "lex [${p1}] v [${p2}]"
+ if [ "${p1}" \< "${p2}" ]; then
+ echo "-1"
+ return 1
+ elif [ "${p1}" \> "${p2}" ]; then
+ echo "1"
+ return 1
+ fi
+ #debug "rem [${v1}] v [${v2}]"
+ # Find numerical portions and compare numerically
+ p1="${v1%%[^0-9]*}"
+ p2="${v2%%[^0-9]*}"
+ v1="${v1#${p1}}"
+ v2="${v2#${p2}}"
+ #debug "num [${p1}] v [${p2}]"
+ if [ "${p1:-0}" -lt "${p2:-0}" ]; then
+ echo "-1"
+ return 1
+ elif [ "${p1:-0}" -gt "${p2:-0}" ]; then
+ echo "1"
+ return 1
+ fi
+ #debug "rem [${v1}] v [${v2}]"
+ done
+ if [ -n "${v1}" ]; then
+ echo "1"
+ return 1
+ elif [ -n "${v2}" ]; then
+ echo "-1"
+ return 1
+ fi
+ return 0
+}
+
+# Compare two version strings, similar to sort -V. But we don't
+# want to depend on GNU sort availability on the host.
+# See http://www.debian.org/doc/debian-policy/ch-controlfields.html
+# for description of what the version is expected to be.
+# Returns "-1", "0" or "1" if first version is earlier, same or
+# later than the second.
+cmp_versions()
+{
+ local v1="${1}"
+ local v2="${2}"
+ local e1=0 e2=0 u1 u2 d1=0 d2=0
+
+ # Case-insensitive comparison
+ v1="${v1^^}"
+ v2="${v2^^}"
+
+ # Find if the versions contain epoch part
+ case "${v1}" in
+ *:*)
+ e1="${v1%%:*}"
+ v1="${v1#*:}"
+ ;;
+ esac
+ case "${v2}" in
+ *:*)
+ e2="${v2%%:*}"
+ v2="${v2#*:}"
+ ;;
+ esac
+
+ # Compare epochs numerically
+ if [ "${e1}" -lt "${e2}" ]; then
+ echo "-1"
+ return
+ elif [ "${e1}" -gt "${e2}" ]; then
+ echo "1"
+ return
+ fi
+
+ # Find if the version contains a "debian" part.
+ # v1/v2 will now contain "upstream" part.
+ case "${v1}" in
+ *-*)
+ d1=${v1##*-}
+ v1=${v1%-*}
+ ;;
+ esac
+ case "${v2}" in
+ *-*)
+ d2=${v2##*-}
+ v2=${v2%-*}
+ ;;
+ esac
+
+ # Compare upstream
+ if equal_versions "${v1}" "${v2}" && equal_versions "${d1}" "${d2}"; then
+ echo "0"
+ fi
+}
+
+# Sort versions, descending
+sort_versions()
+{
+ local sorted
+ local remains="$*"
+ local next_remains
+ local v vx found
+
+ while [ -n "${remains}" ]; do
+ #debug "Sorting [${remains}]"
+ for v in ${remains}; do
+ found=yes
+ next_remains=
+ #debug "Candidate ${v}"
+ for vx in ${remains}; do
+ #debug "${v} vs ${vx} :: `cmp_versions ${v} ${vx}`"
+ case `cmp_versions ${v} ${vx}` in
+ 1)
+ next_remains+=" ${vx}"
+ ;;
+ 0)
+ ;;
+ -1)
+ found=no
+ #debug "Bad: earlier than ${vx}"
+ break
+ ;;
+ esac
+ done
+ if [ "${found}" = "yes" ]; then
+ # $v is less than all other members in next_remains
+ sorted+=" ${v}"
+ remains="${next_remains}"
+ #debug "Good candidate ${v} sorted [${sorted}] remains [${remains}]"
+ break
+ fi
+ done
+ done
+ echo "${sorted}"
+}
+
+read_file()
+{
+ local l p
+
+ while read l; do
+ l="${p}${l}"
+ p=
+ case "${l}" in
+ "")
+ continue
+ ;;
+ *\\)
+ p="${l%\\}"
+ continue
+ ;;
+ "#"*)
+ continue
+ ;;
+ *=*)
+ echo "info[${l%%=*}]=${l#*=}"
+ ;;
+ *)
+ error "syntax error in '${1}': '${l}'"
+ ;;
+ esac
+ done < "${1}"
+}
-printf "Generating kconfig files...\n"
-./maintainer/gen-kconfig.sh
+read_package_desc()
+{
+ read_file "packages/${1}/package.desc"
+}
+
+read_version_desc()
+{
+ read_file "packages/${1}/${2}/version.desc"
+}
+
+find_forks()
+{
+ local -A info
+
+ info[preferred]=${1}
+ eval `read_package_desc ${1}`
+
+ if [ -n "${info[master]}" ]; then
+ pkg_nforks[${info[master]}]=$[pkg_nforks[${info[master]}]+1]
+ pkg_forks[${info[master]}]+=" ${1} "
+ else
+ pkg_preferred[${1}]=${info[preferred]}
+ pkg_nforks[${1}]=$[pkg_nforks[${1}]+1]
+ pkg_forks[${1}]+=" ${1} "
+ pkg_milestones[${1}]=`sort_versions ${info[milestones]}`
+ pkg_relevantpattern[${1}]=${info[relevantpattern]}
+ pkg_masters+=( "${1}" )
+ fi
+ # Keep sorting so that preferred fork is first
+ if [ -n "${pkg_preferred[${1}]}" ]; then
+ pkg_forks[${1}]="${pkg_preferred[${1}]} ${pkg_forks[${1}]##* ${pkg_preferred[${1}]} } ${pkg_forks[${1}]%% ${pkg_preferred[${1}]} *}"
+ fi
+}
+
+check_obsolete_experimental()
+{
+ [ -z "${info[obsolete]}" ] && only_obsolete=
+ [ -z "${info[experimental]}" ] && only_experimental=
+}
+
+enter_fork()
+{
+ local fork="${1}"
+ local versions
+ local only_obsolete only_experimental
+
+ # Set defaults
+ info[obsolete]=
+ info[experimental]=
+ info[repository]=
+ info[repository_branch]=
+ info[repository_cset]=
+ info[repository_subdir]=
+ info[bootstrap]=
+ info[fork]=${fork}
+ info[pkg_name]=${fork}
+ info[pkg_label]=${fork}
+ info[mirrors]=
+ info[archive_filename]='@{pkg_name}-@{version}'
+ info[archive_dirname]='@{pkg_name}-@{version}'
+
+ eval `read_package_desc ${fork}`
+
+ info[pfx]=`kconfigize ${fork}`
+ info[originpfx]=`kconfigize ${info[origin]}`
+ if [ -r "packages/${info[origin]}.help" ]; then
+ info[originhelp]=`sed 's/^/ /' "packages/${info[origin]}.help"`
+ else
+ info[originhelp]=" ${info[master]} from ${info[origin]}."
+ fi
+
+ if [ -n "${info[repository]}" ]; then
+ info[vcs]=${info[repository]%% *}
+ info[repository_url]=${info[repository]#* }
+ fi
+ info[versionlocked]=`kconfigize "${info[versionlocked]}"`
+
+ versions=`cd packages/${fork} && \
+ for f in */version.desc; do [ -r "${f}" ] && echo "${f%/version.desc}"; done`
+ versions=`sort_versions ${versions}`
+
+ set_iter version ${versions}
+ info[all_versions]=${versions}
+
+ # If a fork does not define any versions at all ("rolling release"), do not
+ # consider it obsolete/experimental unless it is so marked in the fork's
+ # description.
+ if [ -n "${versions}" ]; then
+ only_obsolete=yes
+ only_experimental=yes
+ do_foreach version check_obsolete_experimental
+ info[only_obsolete]=${only_obsolete}
+ info[only_experimental]=${only_experimental}
+ else
+ info[only_obsolete]=${info[obsolete]}
+ info[only_experimental]=${info[experimental]}
+ fi
+}
+
+enter_version()
+{
+ local -A ver_postfix=( \
+ [,yes,,]=" (OBSOLETE)" \
+ [,,yes,]=" (EXPERIMENTAL)" \
+ [,yes,yes,]=" (OBSOLETE,EXPERIMENTAL)" )
+ local version="${1}"
+
+ eval `read_version_desc ${info[fork]} ${version}`
+ info[ver]=${version}
+ info[kcfg]=`kconfigize ${version} ${info[relevantpattern]}`
+ info[ver_postfix]=${ver_postfix[,${info[obsolete]},${info[experimental]},]}
+}
+
+enter_milestone()
+{
+ local ms="${1}"
+ local cmp
+
+ info[ms]=${ms}
+ info[ms_kcfg]=`kconfigize ${ms}`
+ if [ -n "${info[ver]}" ]; then
+ info[version_cmp_milestone]=`cmp_versions ${info[ver]} ${info[ms]}`
+ fi
+}
+
+gen_packages()
+{
+ local -A pkg_forks pkg_milestones pkg_nforks pkg_relevantpattern
+ local -a pkg_masters pkg_all pkg_preferred
+
+ pkg_all=( `cd packages && \
+ ls */package.desc 2>/dev/null | \
+ while read f; do [ -r "${f}" ] && echo "${f%/package.desc}"; done | \
+ xargs echo` )
+
+ debug "Packages: ${pkg_all[@]}"
+
+ # We need to group forks of the same package into the same
+ # config file. Discover such relationships and only iterate
+ # over "master" packages at the top.
+ for p in "${pkg_all[@]}"; do
+ find_forks "${p}"
+ done
+ msg "Master packages: ${pkg_masters[@]}"
+
+ # Now for each master, create its kconfig file with version
+ # definitions.
+ for p in "${pkg_masters[@]}"; do
+ msg "Generating '${config_versions_dir}/${p}.in'"
+ exec >"${config_versions_dir}/${p}.in"
+ # Base definitions for the whole config file
+ info=( \
+ [master]=${p} \
+ [masterpfx]=`kconfigize ${p}` \
+ [nforks]=${pkg_nforks[${p}]} \
+ [all_milestones]=${pkg_milestones[${p}]} \
+ [relevantpattern]=${pkg_relevantpattern[${p}]} \
+ )
+ set_iter fork ${pkg_forks[${p}]}
+ set_iter milestone ${pkg_milestones[${p}]}
+
+ run_template "maintainer/kconfig-versions.template"
+ done
+}
+
+msg "*** Generating package version descriptions"
+config_versions_dir=config/versions
+rm -rf "${config_versions_dir}"
+mkdir -p "${config_versions_dir}"
+gen_packages
+
+get_components()
+{
+ local dir="${1}"
+ local f b
+
+ for f in ${dir}/*.in; do
+ b=${f#${dir}/}
+ echo ${b%.in}
+ done
+}
+
+enter_choice()
+{
+ local choice="${1}"
+ local l
+
+ info[choice]="${choice}"
+ info[kcfg_choice]=`kconfigize "${choice}"`
+
+ # Not local, we need these arrays be set in enter_dependency/enter_help
+ deplines=( )
+ helplines=( )
+ while read l; do
+ case "${l}" in
+ "## help "*)
+ helplines+=( "${l#* help }" )
+ ;;
+ "## depends "*|"## select "*)
+ deplines+=( "${l#* }" )
+ ;;
+ esac
+ done < "config/${info[dir]}/${choice}.in"
+ set_iter dependency "${!deplines[@]}"
+ set_iter help "${!helplines[@]}"
+}
+
+enter_dependency()
+{
+ info[depline]="${deplines[${1}]}"
+}
+
+enter_help()
+{
+ info[helpline]="${helplines[${1}]}"
+}
+
+gen_selection()
+{
+ local type="${1}"
+ local dir="${2}"
+ local label="${3}"
+
+ msg "Generating ${dir}.in"
+ exec >"${config_gen_dir}/${dir}.in"
+ info=( \
+ [prefix]=`kconfigize ${dir}` \
+ [dir]=${dir} \
+ [label]="${label}" \
+ )
+ set_iter choice `get_components config/${dir}`
+ run_template "maintainer/kconfig-${type}.template"
+}
+
+msg "*** Generating menu/choice selections"
+config_gen_dir=config/gen
+rm -rf "${config_gen_dir}"
+mkdir -p "${config_gen_dir}"
+
+gen_selection choice arch "Target Architecture"
+gen_selection choice kernel "Target OS"
+gen_selection choice cc "Compiler"
+gen_selection choice binutils "Binutils"
+gen_selection choice libc "C library"
+gen_selection menu debug "Debug facilities"
+gen_selection menu comp_tools "Companion tools"
+
+msg "*** Running autoconf"
+autoconf -Wall --force
-printf "Done. You may now run:\n ./configure\n"
+msg "*** Done!"
diff --git a/config/arch/alpha.in b/config/arch/alpha.in
index 1c7ec96..f0d7fe0 100644
--- a/config/arch/alpha.in
+++ b/config/arch/alpha.in
@@ -5,5 +5,60 @@
## select ARCH_USE_MMU
## select ARCH_SUPPORTS_WITH_CPU
## select ARCH_SUPPORTS_WITH_TUNE
-##
+
## help The Alpha architecture.
+
+choice
+ bool
+ prompt "Variant"
+
+config ARCH_ALPHA_EV4
+ bool
+ prompt "EV4"
+
+config ARCH_ALPHA_EV45
+ bool
+ prompt "EV45"
+
+config ARCH_ALPHA_EV5
+ bool
+ prompt "EV5"
+
+config ARCH_ALPHA_EV56
+ bool
+ prompt "EV56"
+
+config ARCH_ALPHA_EV6
+ bool
+ prompt "EV6"
+
+config ARCH_ALPHA_EV67
+ bool
+ prompt "EV67"
+
+endchoice
+
+config ARCH_ALPHA_VARIANT
+ string
+ default "ev4" if ARCH_ALPHA_EV4
+ default "ev45" if ARCH_ALPHA_EV45
+ default "ev5" if ARCH_ALPHA_EV5
+ default "ev56" if ARCH_ALPHA_EV56
+ default "ev6" if ARCH_ALPHA_EV6
+ default "ev67" if ARCH_ALPHA_EV67
+
+config ARCH_CPU
+ default "ev4" if ARCH_ALPHA_EV4
+ default "ev45" if ARCH_ALPHA_EV45
+ default "ev5" if ARCH_ALPHA_EV5
+ default "ev56" if ARCH_ALPHA_EV56
+ default "ev6" if ARCH_ALPHA_EV6
+ default "ev67" if ARCH_ALPHA_EV67
+
+config ARCH_TUNE
+ default "ev4" if ARCH_ALPHA_EV4
+ default "ev45" if ARCH_ALPHA_EV45
+ default "ev5" if ARCH_ALPHA_EV5
+ default "ev56" if ARCH_ALPHA_EV56
+ default "ev6" if ARCH_ALPHA_EV6
+ default "ev67" if ARCH_ALPHA_EV67
diff --git a/config/arch/alpha.in.2 b/config/arch/alpha.in.2
deleted file mode 100644
index aa52624..0000000
--- a/config/arch/alpha.in.2
+++ /dev/null
@@ -1,56 +0,0 @@
-# Alpha specific configuration file
-
-choice
- bool
- prompt "Variant"
-
-config ARCH_ALPHA_EV4
- bool
- prompt "EV4"
-
-config ARCH_ALPHA_EV45
- bool
- prompt "EV45"
-
-config ARCH_ALPHA_EV5
- bool
- prompt "EV5"
-
-config ARCH_ALPHA_EV56
- bool
- prompt "EV56"
-
-config ARCH_ALPHA_EV6
- bool
- prompt "EV6"
-
-config ARCH_ALPHA_EV67
- bool
- prompt "EV67"
-
-endchoice
-
-config ARCH_ALPHA_VARIANT
- string
- default "ev4" if ARCH_ALPHA_EV4
- default "ev45" if ARCH_ALPHA_EV45
- default "ev5" if ARCH_ALPHA_EV5
- default "ev56" if ARCH_ALPHA_EV56
- default "ev6" if ARCH_ALPHA_EV6
- default "ev67" if ARCH_ALPHA_EV67
-
-config ARCH_CPU
- default "ev4" if ARCH_ALPHA_EV4
- default "ev45" if ARCH_ALPHA_EV45
- default "ev5" if ARCH_ALPHA_EV5
- default "ev56" if ARCH_ALPHA_EV56
- default "ev6" if ARCH_ALPHA_EV6
- default "ev67" if ARCH_ALPHA_EV67
-
-config ARCH_TUNE
- default "ev4" if ARCH_ALPHA_EV4
- default "ev45" if ARCH_ALPHA_EV45
- default "ev5" if ARCH_ALPHA_EV5
- default "ev56" if ARCH_ALPHA_EV56
- default "ev6" if ARCH_ALPHA_EV6
- default "ev67" if ARCH_ALPHA_EV67
diff --git a/config/arch/arm.in b/config/arch/arm.in
index 5dbc717..269310d 100644
--- a/config/arch/arm.in
+++ b/config/arch/arm.in
@@ -14,6 +14,101 @@
## select ARCH_SUPPORTS_WITH_FLOAT if ARCH_32
## select ARCH_SUPPORTS_WITH_FPU if ARCH_32
## select ARCH_SUPPORTS_SOFTFP if ARCH_32
-##
+
## help The ARM architecture, as defined by:
## help http://www.arm.com/
+
+if ARCH_32
+config ARCH_ARM_MODE
+ string
+ default "arm" if ARCH_ARM_MODE_ARM
+ default "thumb" if ARCH_ARM_MODE_THUMB
+
+choice
+ bool
+ prompt "Default instruction set mode"
+ default ARCH_ARM_MODE_ARM
+
+config ARCH_ARM_MODE_ARM
+ bool
+ prompt "arm"
+ help
+ Defaults to emitting instructions in the ARM mode.
+
+config ARCH_ARM_MODE_THUMB
+ bool
+ prompt "thumb"
+ help
+ Defaults to emitting instructions in the THUMB mode.
+
+endchoice
+
+config ARCH_ARM_INTERWORKING
+ bool
+ prompt "Use Thumb-interworking (READ HELP)"
+ help
+ Excerpt from the gcc manual:
+
+ > Generate code which supports calling between the ARM and Thumb
+ > instruction sets. Without this option the two instruction sets
+ > cannot be reliably used inside one program. The default is
+ > [not to use interwork], since slightly larger code is generated
+ > when [interwork] is specified.
+
+ NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
+ own risks, and report success and/or failure.
+
+# Until we only support EABI:
+config ARCH_ARM_ABI_OK
+ def_bool y
+ depends on ! ARCH_ARM_EABI
+ select ARCH_SUPPORTS_WITH_ABI
+
+# Little trick to force EABI *and* always show the prompt
+config ARCH_ARM_EABI_FORCE
+ bool
+ default y if ! OBSOLETE
+ select ARCH_ARM_EABI
+
+config ARCH_ARM_EABI
+ bool
+ prompt "Use EABI"
+ default y
+ help
+ Set up the toolchain so that it generates EABI-compliant binaries.
+
+ If you say 'n' here, then the toolchain will generate OABI binaries.
+ OABI has long been deprecated, and is now considered legacy.
+
+config ARCH_ARM_TUPLE_USE_EABIHF
+ bool
+ prompt "append 'hf' to the tuple (EXPERIMENTAL)"
+ depends on ARCH_FLOAT_HW
+ depends on ARCH_ARM_EABI # Until we only support that...
+ default y
+ help
+ Is you say 'y' here, then the tuple for the toolchain will end
+ up with *eabihf, instead of the usual *eabi.
+
+ *eabihf is used to denote that the toolchain *is* using the
+ hard-float ABI, while *eabi is just an indication of using the
+ soft-float ABI.
+
+ Ie. all one can say is: *eabihf ⊢ hard-float ABI
+
+ Saying 'n' here does *not* impact the ability of the toolchain to
+ generate hard-float instructions with the hard-float ABI. It is a
+ purely cosmetic thing, used by distros to differentiate their
+ hard-float-ABI-using ports from their soft-float-ABI-using ports.
+ (eg. Debian Wheezy and above).
+
+ This is an option, as not all versions of gcc/binutils do support
+ such tuple, and fail to build with *eabihf. Stock gcc version up
+ to, and including 4.7.2 have an issue or another with *eabihf.
+
+ This option is here for the future.
+
+ Say 'n', unless you are trying to fix gcc to properly recognise
+ the *eabihf tuples.
+
+endif
diff --git a/config/arch/arm.in.2 b/config/arch/arm.in.2
deleted file mode 100644
index 166c78f..0000000
--- a/config/arch/arm.in.2
+++ /dev/null
@@ -1,96 +0,0 @@
-# ARM specific configuration file
-
-if ARCH_32
-config ARCH_ARM_MODE
- string
- default "arm" if ARCH_ARM_MODE_ARM
- default "thumb" if ARCH_ARM_MODE_THUMB
-
-choice
- bool
- prompt "Default instruction set mode"
- default ARCH_ARM_MODE_ARM
-
-config ARCH_ARM_MODE_ARM
- bool
- prompt "arm"
- help
- Defaults to emitting instructions in the ARM mode.
-
-config ARCH_ARM_MODE_THUMB
- bool
- prompt "thumb"
- help
- Defaults to emitting instructions in the THUMB mode.
-
-endchoice
-
-config ARCH_ARM_INTERWORKING
- bool
- prompt "Use Thumb-interworking (READ HELP)"
- help
- Excerpt from the gcc manual:
-
- > Generate code which supports calling between the ARM and Thumb
- > instruction sets. Without this option the two instruction sets
- > cannot be reliably used inside one program. The default is
- > [not to use interwork], since slightly larger code is generated
- > when [interwork] is specified.
-
- NOTE: Interworking in crosstool-NG is not sell-tested. Use at your
- own risks, and report success and/or failure.
-
-# Until we only support EABI:
-config ARCH_ARM_ABI_OK
- def_bool y
- depends on ! ARCH_ARM_EABI
- select ARCH_SUPPORTS_WITH_ABI
-
-# Little trick to force EABI *and* always show the prompt
-config ARCH_ARM_EABI_FORCE
- bool
- default y if ! OBSOLETE
- select ARCH_ARM_EABI
-
-config ARCH_ARM_EABI
- bool
- prompt "Use EABI"
- default y
- help
- Set up the toolchain so that it generates EABI-compliant binaries.
-
- If you say 'n' here, then the toolchain will generate OABI binaries.
- OABI has long been deprecated, and is now considered legacy.
-
-config ARCH_ARM_TUPLE_USE_EABIHF
- bool
- prompt "append 'hf' to the tuple (EXPERIMENTAL)"
- depends on ARCH_FLOAT_HW
- depends on ARCH_ARM_EABI # Until we only support that...
- default y
- help
- Is you say 'y' here, then the tuple for the toolchain will end
- up with *eabihf, instead of the usual *eabi.
-
- *eabihf is used to denote that the toolchain *is* using the
- hard-float ABI, while *eabi is just an indication of using the
- soft-float ABI.
-
- Ie. all one can say is: *eabihf ⊢ hard-float ABI
-
- Saying 'n' here does *not* impact the ability of the toolchain to
- generate hard-float instructions with the hard-float ABI. It is a
- purely cosmetic thing, used by distros to differentiate their
- hard-float-ABI-using ports from their soft-float-ABI-using ports.
- (eg. Debian Wheezy and above).
-
- This is an option, as not all versions of gcc/binutils do support
- such tuple, and fail to build with *eabihf. Stock gcc version up
- to, and including 4.7.2 have an issue or another with *eabihf.
-
- This option is here for the future.
-
- Say 'n', unless you are trying to fix gcc to properly recognise
- the *eabihf tuples.
-
-endif
diff --git a/config/arch/mips.in b/config/arch/mips.in
index 1168f5e..850fe11 100644
--- a/config/arch/mips.in
+++ b/config/arch/mips.in
@@ -9,6 +9,43 @@
## select ARCH_SUPPORTS_WITH_ARCH
## select ARCH_SUPPORTS_WITH_TUNE
## select ARCH_SUPPORTS_WITH_FLOAT
-##
+
## help The MIPS architecture, as defined by:
## help http://www.mips.com/
+
+choice
+ bool
+ prompt "ABI"
+
+config ARCH_mips_o32
+ bool
+ prompt "o32"
+ depends on (ARCH_32 || MULTILIB)
+ help
+ This is the -mabi=32 gcc option.
+
+config ARCH_mips_n32
+ bool
+ prompt "n32"
+ depends on ARCH_64
+ help
+ This is the -mabi=n32 gcc option.
+
+config ARCH_mips_n64
+ bool
+ prompt "n64"
+ depends on ARCH_64
+ help
+ This is the -mabi=64 gcc option.
+
+# Not supported on Linux:
+# o64 : seems related to *BSD
+# eabi : seems related to bare-metal
+
+endchoice
+
+config ARCH_mips_ABI
+ string
+ default "32" if ARCH_mips_o32
+ default "n32" if ARCH_mips_n32
+ default "64" if ARCH_mips_n64
diff --git a/config/arch/mips.in.2 b/config/arch/mips.in.2
deleted file mode 100644
index 35c60e0..0000000
--- a/config/arch/mips.in.2
+++ /dev/null
@@ -1,38 +0,0 @@
-# MIPS specific config options
-
-choice
- bool
- prompt "ABI"
-
-config ARCH_mips_o32
- bool
- prompt "o32"
- depends on (ARCH_32 || MULTILIB)
- help
- This is the -mabi=32 gcc option.
-
-config ARCH_mips_n32
- bool
- prompt "n32"
- depends on ARCH_64
- help
- This is the -mabi=n32 gcc option.
-
-config ARCH_mips_n64
- bool
- prompt "n64"
- depends on ARCH_64
- help
- This is the -mabi=64 gcc option.
-
-# Not supported on Linux:
-# o64 : seems related to *BSD
-# eabi : seems related to bare-metal
-
-endchoice
-
-config ARCH_mips_ABI
- string
- default "32" if ARCH_mips_o32
- default "n32" if ARCH_mips_n32
- default "64" if ARCH_mips_n64
diff --git a/config/arch/powerpc.in b/config/arch/powerpc.in
index 6dfc742..276438f 100644
--- a/config/arch/powerpc.in
+++ b/config/arch/powerpc.in
@@ -1,4 +1,4 @@
-# powerpc specific configuration file
+# Powerpc specific configuration file
## select ARCH_SUPPORTS_32
## select ARCH_SUPPORTS_64
@@ -13,3 +13,44 @@
##
## help The PowerPC architecture, as defined by:
## help http://www.ibm.com/developerworks/eserver/articles/archguide.html
+
+config ARCH_powerpc_ABI
+ string
+ default "" if ARCH_powerpc_ABI_DEFAULT
+ default "eabi" if ARCH_powerpc_ABI_EABI
+ default "spe" if ARCH_powerpc_ABI_SPE
+
+choice
+ bool
+ prompt "ABI"
+ default ARCH_powerpc_ABI_DEFAULT
+
+config ARCH_powerpc_ABI_DEFAULT
+ bool
+ prompt "default"
+ help
+ The default ABI (System V.4).
+
+config ARCH_powerpc_ABI_EABI
+ bool
+ prompt "EABI"
+ depends on BARE_METAL
+ help
+ The Embedded ABI (stack alignment of 8 bytes, etc).
+
+config ARCH_powerpc_ABI_SPE
+ bool
+ prompt "SPE"
+ help
+ Add support for the Signal Processing Engine. This will set up
+ the toolchain so that it supports the SPE ABI extensions. This
+ mainly targets Freescale e500 processors.
+
+ Setting this option will append "spe" to the end of your target
+ tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
+ configure/build system will know to include SPE ABI support. It
+ will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS,
+ and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you
+ do not need to explicitly add them.
+
+endchoice
diff --git a/config/arch/powerpc.in.2 b/config/arch/powerpc.in.2
deleted file mode 100644
index 2cbc370..0000000
--- a/config/arch/powerpc.in.2
+++ /dev/null
@@ -1,42 +0,0 @@
-# powerpc specific configuration file
-
-config ARCH_powerpc_ABI
- string
- default "" if ARCH_powerpc_ABI_DEFAULT
- default "eabi" if ARCH_powerpc_ABI_EABI
- default "spe" if ARCH_powerpc_ABI_SPE
-
-choice
- bool
- prompt "ABI"
- default ARCH_powerpc_ABI_DEFAULT
-
-config ARCH_powerpc_ABI_DEFAULT
- bool
- prompt "default"
- help
- The default ABI (System V.4).
-
-config ARCH_powerpc_ABI_EABI
- bool
- prompt "EABI"
- depends on BARE_METAL
- help
- The Embedded ABI (stack alignment of 8 bytes, etc).
-
-config ARCH_powerpc_ABI_SPE
- bool
- prompt "SPE"
- help
- Add support for the Signal Processing Engine. This will set up
- the toolchain so that it supports the SPE ABI extensions. This
- mainly targets Freescale e500 processors.
-
- Setting this option will append "spe" to the end of your target
- tuple name (e.g., powerpc-e500v2-linux-gnuspe) so that the gcc
- configure/build system will know to include SPE ABI support. It
- will also automatically add "-mabi=spe -mspe" to your TARGET_CFLAGS,
- and "--enable-e500_double" to your CC_EXTRA_CONFIG_ARRAY, so you
- do not need to explicitly add them.
-
-endchoice
diff --git a/config/arch/sh.in b/config/arch/sh.in
index 60de313..be525b4 100644
--- a/config/arch/sh.in
+++ b/config/arch/sh.in
@@ -9,3 +9,27 @@
##
## help The Super-H architecture, as defined by:
## help http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/
+
+choice
+ bool
+ prompt "Variant"
+
+config ARCH_SH_SH3
+ bool
+ prompt "sh3"
+
+config ARCH_SH_SH4
+ bool
+ prompt "sh4"
+
+config ARCH_SH_SH4A
+ bool
+ prompt "sh4a"
+
+endchoice
+
+config ARCH_SH_VARIANT
+ string
+ default "sh3" if ARCH_SH_SH3
+ default "sh4" if ARCH_SH_SH4
+ default "sh4a" if ARCH_SH_SH4A
diff --git a/config/arch/sh.in.2 b/config/arch/sh.in.2
deleted file mode 100644
index 82856ee..0000000
--- a/config/arch/sh.in.2
+++ /dev/null
@@ -1,25 +0,0 @@
-# Super-H specific configuration file
-
-choice
- bool
- prompt "Variant"
-
-config ARCH_SH_SH3
- bool
- prompt "sh3"
-
-config ARCH_SH_SH4
- bool
- prompt "sh4"
-
-config ARCH_SH_SH4A
- bool
- prompt "sh4a"
-
-endchoice
-
-config ARCH_SH_VARIANT
- string
- default "sh3" if ARCH_SH_SH3
- default "sh4" if ARCH_SH_SH4
- default "sh4a" if ARCH_SH_SH4A
diff --git a/config/arch/xtensa.in b/config/arch/xtensa.in
index 3ffa4e8..bf4fcb6 100644
--- a/config/arch/xtensa.in
+++ b/config/arch/xtensa.in
@@ -5,7 +5,7 @@
## select ARCH_DEFAULT_LE
## select ARCH_SUPPORTS_BOTH_MMU
## select ARCH_DEFAULT_HAS_MMU
-##
+
## help The xtensa architecture
## help
## help Xtensa is a configurable and extensible processor architecture.
@@ -20,3 +20,16 @@
## help
## help The default option (ARCH_xtensa_fsf) uses a built-in configuration,
## help which may or may not work for a particular Xtensa processor.
+
+choice
+ prompt "Target Architecture Variant"
+ default ARCH_xtensa_fsf
+
+config XTENSA_CUSTOM
+ bool "Custom Xtensa processor configuration"
+ select TARGET_USE_OVERLAY
+
+config ARCH_xtensa_fsf
+ bool "fsf - Default configuration"
+
+endchoice
diff --git a/config/arch/xtensa.in.2 b/config/arch/xtensa.in.2
deleted file mode 100644
index 25ece70..0000000
--- a/config/arch/xtensa.in.2
+++ /dev/null
@@ -1,33 +0,0 @@
-choice
- prompt "Target Architecture Variant"
- default ARCH_xtensa_fsf
-
-config XTENSA_CUSTOM
- bool "Custom Xtensa processor configuration"
-
-config ARCH_xtensa_fsf
- bool "fsf - Default configuration"
-
-endchoice
-
-config ARCH_XTENSA_CUSTOM_NAME
- string "Custom Xtensa processor configuration name"
- depends on XTENSA_CUSTOM
- default ""
- help
- Enter the name of the custom processor configuration.
- Overlay file for that configuration must be called
- 'xtensa_<CUSTOM_NAME>.tar'.
-
- Leave blank to use the default 'xtensa-overlay.tar'.
- For more information about this option, please also consult
- section 'Using crosstool-NG to build Xtensa toolchains' in the
- docs/C - Misc. tutorials.txt
-
-config ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION
- string "Full path to custom Xtensa processor configurations"
- depends on XTENSA_CUSTOM
- default ""
- help
- Enter the path to the directory for the custom processor
- configuration file.
diff --git a/config/binutils.in b/config/binutils.in
index 0c6d5c0..a483881 100644
--- a/config/binutils.in
+++ b/config/binutils.in
@@ -33,10 +33,6 @@ config ARCH_BINFMT_FDPIC
endchoice
-config BINUTILS
- string
-
source "config/gen/binutils.in"
-source "config/gen/binutils.in.2"
endmenu
diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in
index c83cbb1..3cb58f9 100644
--- a/config/binutils/binutils.in
+++ b/config/binutils/binutils.in
@@ -2,174 +2,29 @@
comment "GNU binutils"
-config BINUTILS_CUSTOM
- bool
- prompt "Custom binutils"
- depends on EXPERIMENTAL
- select BINUTILS_2_26_or_later
- help
- The choosen binutils version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if BINUTILS_CUSTOM
-
-config BINUTILS_CUSTOM_LOCATION
- string
- prompt "Full path to custom binutils source"
- help
- Enter the path to the directory or tarball of your source for binutils.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, binutils, and the version is set
- below in the custom version string.
-
-config BINUTILS_CUSTOM_VERSION
- string
- prompt "Binutils Custom Version number"
- help
- Enter the version number for your custom binutils.
-
-config BINUTILS_VERSION
- string
- default BINUTILS_CUSTOM_VERSION
-
-endif # BINUTILS_CUSTOM
-
-if ! BINUTILS_CUSTOM
-
-config BINUTILS_SHOW_LINARO
- bool
- prompt "Show Linaro versions"
- help
- Linaro is maintaining some advanced/more stable/experimental versions
- of binutils, especially for the ARM architecture.
-
- Those versions have not been blessed by the binutils comunity (nor have they
- been cursed either!), but they look to be pretty much stable, and even
- more stable than the upstream versions. YMMV...
-
- If you do not know what this Linaro stuff is, then simply say 'n' here,
- and rest in peace. OTOH, if you know what you are doing, you will be
- able to use and enjoy :-) the Linaro versions by saying 'y' here.
-
- Linaro: http://www.linaro.org/
-
-choice
- bool
- prompt "binutils version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config BINUTILS_V_2_28
- bool
- prompt "2.28"
- select BINUTILS_2_27_or_later
-
-config BINUTILS_V_2_27
- bool
- prompt "2.27"
- select BINUTILS_2_27_or_later
-
-config BINUTILS_V_2_26
- bool
- prompt "2.26"
- select BINUTILS_2_26_or_later
-
-config BINUTILS_V_2_25_1
- bool
- prompt "2.25.1 (OBSOLETE)"
- select BINUTILS_2_25_1_or_later
- depends on OBSOLETE
-
-config BINUTILS_LINARO_V_2_25
- bool
- prompt "linaro-2.25.0-2015.01-2 (OBSOLETE)"
- select BINUTILS_2_25_or_later
- depends on BINUTILS_SHOW_LINARO
- depends on OBSOLETE
-
-config BINUTILS_LINARO_V_2_24
- bool
- prompt "linaro-2.24.0-2014.11-2 (OBSOLETE)"
- select BINUTILS_2_24_or_later
- depends on BINUTILS_SHOW_LINARO
- depends on OBSOLETE
-
-config BINUTILS_V_2_24
- bool
- prompt "2.24 (OBSOLETE)"
- select BINUTILS_2_24_or_later
- depends on OBSOLETE
-
-config BINUTILS_LINARO_V_2_23_2
- bool
- prompt "linaro-2.23.2-2013.10-4 (OBSOLETE)"
- select BINUTILS_2_23_2_or_later
- depends on BINUTILS_SHOW_LINARO
- depends on OBSOLETE
-
-config BINUTILS_V_2_23_2
- bool
- prompt "2.23.2 (OBSOLETE)"
- select BINUTILS_2_23_2_or_later
- depends on OBSOLETE
-
-endchoice
-
-config BINUTILS_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.28" if BINUTILS_V_2_28
- default "2.27" if BINUTILS_V_2_27
- default "2.26" if BINUTILS_V_2_26
- default "2.25.1" if BINUTILS_V_2_25_1
- default "linaro-2.25.0-2015.01-2" if BINUTILS_LINARO_V_2_25
- default "linaro-2.24.0-2014.11-2" if BINUTILS_LINARO_V_2_24
- default "2.24" if BINUTILS_V_2_24
- default "linaro-2.23.2-2013.10-4" if BINUTILS_LINARO_V_2_23_2
- default "2.23.2" if BINUTILS_V_2_23_2
-
-endif # ! BINUTILS_CUSTOM
-
-config BINUTILS_2_27_or_later
- bool
- select BINUTILS_2_26_or_later
+source "config/versions/binutils.in"
-config BINUTILS_2_26_or_later
- bool
- select BINUTILS_2_25_1_or_later
-
-config BINUTILS_2_25_1_or_later
- bool
- select BINUTILS_2_25_or_later
-
-config BINUTILS_2_25_or_later
- bool
- select BINUTILS_2_24_or_later
-
-config BINUTILS_2_24_or_later
+config BINUTILS_HAS_HASH_STYLE
+ default y if BINUTILS_2_23_or_later
bool
- select BINUTILS_2_23_2_or_later
-config BINUTILS_2_23_2_or_later
+config BINUTILS_HAS_GOLD
+ default y if BINUTILS_2_23_or_later
bool
- select BINUTILS_HAS_GOLD
- select BINUTILS_HAS_HASH_STYLE
- select BINUTILS_HAS_PKGVERSION_BUGURL
- select BINUTILS_HAS_PLUGINS
-config BINUTILS_HAS_HASH_STYLE
+config BINUTILS_HAS_PLUGINS
+ default y if BINUTILS_2_23_or_later
bool
-config BINUTILS_HAS_GOLD
+config BINUTILS_HAS_PKGVERSION_BUGURL
+ default y if BINUTILS_2_23_or_later
bool
# gold only suports the listed architectures
config BINUTILS_GOLD_SUPPORTS_ARCH
bool
- default y if ARCH_arm
- default y if ARCH_x86
+ default y if ARCH_ARM
+ default y if ARCH_X86
config BINUTILS_GOLD_SUPPORT
bool
@@ -178,12 +33,6 @@ config BINUTILS_GOLD_SUPPORT
depends on BINUTILS_GOLD_SUPPORTS_ARCH
depends on ! STATIC_TOOLCHAIN
-config BINUTILS_HAS_PLUGINS
- bool
-
-config BINUTILS_HAS_PKGVERSION_BUGURL
- bool
-
# Force using the BFD linker if needed. There are two options:
# - For some C libraries (eg. glibc at least), BFD ld must be
# built and be selected by default.
@@ -331,3 +180,27 @@ config BINUTILS_FOR_TARGET_BFD
default y
endif # BINUTILS_FOR_TARGET
+
+if ARCH_BINFMT_FLAT
+
+comment "elf2flt"
+
+config ELF2FLT_REQUIRES
+ def_bool y
+ select ZLIB
+ select BINUTILS_FORCE_LD_BFD_ONLY
+
+source "config/versions/elf2flt.in"
+
+config ELF2FLT_EXTRA_CONFIG_ARRAY
+ string
+ prompt "elf2flt extra config"
+ default ""
+ help
+ Extra flags passed onto ./configure when configuring
+
+ You can enter multiple arguments here, and arguments can contain spaces
+ if they are properly quoted (or escaped, but prefer quotes). Eg.:
+ --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
+
+endif # ARCH_BINFMT_FLAT
diff --git a/config/binutils/binutils.in.2 b/config/binutils/binutils.in.2
deleted file mode 100644
index f913355..0000000
--- a/config/binutils/binutils.in.2
+++ /dev/null
@@ -1,82 +0,0 @@
-# elf2flt options
-
-if ARCH_BINFMT_FLAT
-
-config ELF2FLT_REQUIRES
- def_bool y
- select ZLIB
- select BINUTILS_FORCE_LD_BFD_ONLY
-
-comment "elf2flt"
-
-choice
- bool
- prompt "elf2flt version"
-
-config ELF2FLT_GIT
- bool
- prompt "git"
- depends on CONFIGURE_has_git
- help
- Grab the latest version of elf2flt from the CVS repository
-
-config ELF2FLT_CUSTOM
- bool
- prompt "Custom elf2flt"
- depends on EXPERIMENTAL || !CONFIGURE_has_git
- help
- The choosen elf2flt version shall be not downloaded. Instead use
- a custom location to get the source.
-
-endchoice
-
-if ELF2FLT_GIT
-
-config ELF2FLT_GIT_CSET
- string
- prompt "git cset"
- default "6d80ab6c93409e796f85da404bde84b841231531"
- help
- Enter the git changeset to use.
-
- The default currently points to the HEAD of the git tree.
-
-endif # ELF2FLT_GIT
-
-config ELF2FLT_VERSION
- string
- default ELF2FLT_GIT_CSET if ELF2FLT_GIT
- default ELF2FLT_CUSTOM_VERSION if ELF2FLT_CUSTOM
-
-if ELF2FLT_CUSTOM
-
-config ELF2FLT_CUSTOM_LOCATION
- string
- prompt "Full path to custom elf2flt source"
- help
- Enter the path to the directory or tarball of your source for elf2flt.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, elf2flt, and the version is set
- below in the custom version string.
-
-config ELF2FLT_CUSTOM_VERSION
- string
- prompt "elf2flt custom version number"
- help
- Enter the version number for your custom elf2flt.
-
-endif # ELF2FLT_CUSTOM
-
-config ELF2FLT_EXTRA_CONFIG_ARRAY
- string
- prompt "elf2flt extra config"
- default ""
- help
- Extra flags passed onto ./configure when configuring
-
- You can enter multiple arguments here, and arguments can contain spaces
- if they are properly quoted (or escaped, but prefer quotes). Eg.:
- --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
-
-endif # ARCH_BINFMT_FLAT
diff --git a/config/cc.in b/config/cc.in
index 81f168c..187a48d 100644
--- a/config/cc.in
+++ b/config/cc.in
@@ -2,13 +2,6 @@
menu "C compiler"
-config CC
- string
- default "gcc"
-
-config CC_VERSION
- string
-
config CC_CORE_PASSES_NEEDED
bool
select CC_CORE_PASS_1_NEEDED
@@ -20,8 +13,6 @@ config CC_CORE_PASS_1_NEEDED
config CC_CORE_PASS_2_NEEDED
bool
-source "config/gen/cc.in"
-
config CC_SUPPORT_CXX
bool
@@ -43,6 +34,8 @@ config CC_SUPPORT_OBJCXX
config CC_SUPPORT_GOLANG
bool
+source "config/gen/cc.in"
+
comment "Additional supported languages:"
config CC_LANG_CXX
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index d86a300..a11e8cd 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -1,216 +1,432 @@
-# Compiler options
-#
+# GCC options
+
## default y
-## select CC_SUPPORT_CXX if !LIBC_none
+## select CC_SUPPORT_CXX if !LIBC_NONE
## select CC_SUPPORT_FORTRAN
-## select CC_SUPPORT_JAVA if !CC_GCC_6_or_later
+## select CC_SUPPORT_JAVA if !GCC_7_or_later
## select CC_SUPPORT_ADA
## select CC_SUPPORT_OBJC
## select CC_SUPPORT_OBJCXX
## select CC_SUPPORT_GOLANG
-##
+# GCC7 requires ISL 0.15+
+## select ISL_REQUIRE_0_15_or_later if ISL_NEEDED && GCC_7_or_later
+# GCC6 requires ISL 0.14+ (it says 0.14-0.16, but accepts newer ISL as well)
+## select ISL_REQUIRE_0_14_or_later if ISL_NEEDED && GCC_6_or_later
+# GCC5 requires ISL 0.12+ (again, it says 0.12-0.16, but also accepts newer ISL)
+## select ISL_REQUIRE_0_12_or_later if ISL_NEEDED && GCC_5_or_later
+# GCC4.9 requires ISL 0.10..0.15
+# GCC4.8 requires ISL 0.10..0.14
+## select ISL_REQUIRE_0_10_or_later if ISL_NEEDED && GCC_4_8_or_later
+## select ISL_REQUIRE_0_15_or_older if ISL_NEEDED && GCC_4_9_or_later && !GCC_5_or_later
+## select ISL_REQUIRE_0_14_or_older if ISL_NEEDED && GCC_4_8_or_later && !GCC_4_9_or_later
+
## help gcc is the full-blown GNU compiler. This is what most people will choose.
## help
## help gcc supports many languages, a powerful code parser, optimised binary
## help output, and lots of other features.
-config CC_GCC_CUSTOM
- bool
- prompt "Custom gcc"
- depends on EXPERIMENTAL
- select CC_GCC_latest
- help
- The choosen gcc version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if CC_GCC_CUSTOM
-
-config CC_GCC_CUSTOM_LOCATION
- string
- prompt "Full path to custom gcc source"
- help
- Enter the path to the directory or tarball of your source for gcc.
+source "config/versions/gcc.in"
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, gcc, and the version is set
- below in the custom version string.
+# Only enable gcc's support for plugins if binutils has it as well
+# They are useful only when doing LTO, but it does no harm enabling
+# them even without LTO.
+config CC_GCC_ENABLE_PLUGINS
+ def_bool y
+ depends on BINUTILS_PLUGINS
+ depends on ! STATIC_TOOLCHAIN
-config CC_GCC_CUSTOM_VERSION
- string
- prompt "Custom GCC Version"
- help
- Enter the version number for your custom gcc.
+# Affects the build of musl
+config GCC_BUG_61144
+ bool
+ default y if GCC_4_9_or_later && !GCC_4_9_2_or_later
-config CC_GCC_VERSION
- string
- default CC_GCC_CUSTOM_VERSION
+# If binutils installs gold, enable support for gold in gcc
+config CC_GCC_GOLD
+ def_bool y
+ depends on BINUTILS_GOLD_INSTALLED
-endif #CC_GCC_CUSTOM
+config CC_GCC_HAS_LIBMPX
+ def_bool y
+ depends on GCC_5_or_later
-if ! CC_GCC_CUSTOM
+config CC_LANG_JAVA_USE_ECJ
+ def_bool y
+ depends on CC_LANG_JAVA
-config CC_GCC_SHOW_LINARO
- bool
- prompt "Show Linaro versions"
+config CC_GCC_ENABLE_CXX_FLAGS
+ string "Flags to pass to --enable-cxx-flags"
+ default ""
+ help
+ Enter here the value of the gcc's ./configure option --enable-cxx-flags.
+ Leave empty if you don't know better.
+
+ Note: just pass in the option _value_, that is only the part that goes
+ after the '=' sign.
+
+config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
+ string "Core gcc extra config"
+ default ""
+ depends on CC_CORE_PASS_1_NEEDED || CC_CORE_PASS_2_NEEDED
+ help
+ Extra flags to pass onto ./configure when configuring the core gcc.
+
+ The core gcc is a stripped down, C-only compiler needed to build
+ the C library. Kinda bootstrap gcc, if you wish.
+
+ You can enter multiple arguments here, and arguments can contain spaces
+ if they are properly quoted (or escaped, but prefer quotes). Eg.:
+ --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
+
+config CC_GCC_EXTRA_CONFIG_ARRAY
+ string "gcc extra config"
+ default ""
help
- Linaro is maintaining some advanced/more stable/experimental versions
- of gcc, especially for the ARM architecture.
+ Extra flags to pass onto ./configure when configuring gcc.
+
+ You can enter multiple arguments here, and arguments can contain spaces
+ if they are properly quoted (or escaped, but prefer quotes). Eg.:
+ --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
+
+config CC_GCC_MULTILIB_LIST
+ string "List of multilib variants"
+ depends on MULTILIB
+ help
+ Architecture-specific option of expanding or restricting the list of
+ the multilib variants to be built. Refer to GCC installation manual
+ for the format of this option for a particular architecture.
+ Leave empty to use the default list for this architecture.
- Those versions have not been blessed by the gcc comunity (nor have they
- been cursed either!), but they look to be pretty much stable, and even
- more stable than the upstream versions. YMMV...
+config STATIC_TOOLCHAIN
+ bool
+ select CC_GCC_STATIC_LIBSTDCXX
- If you do not know what this Linaro stuff is, then simply say 'n' here,
- and rest in peace. OTOH, if you know what you are doing, you will be
- able to use and enjoy :-) the Linaro versions by saying 'y' here.
+config CC_GCC_STATIC_LIBSTDCXX
+ bool "Link libstdc++ statically into the gcc binary"
+ default y
+ depends on CONFIGURE_has_static_link || CANADIAN || CROSS_NATIVE
+ select WANTS_STATIC_LINK if CROSS || NATIVE
+ select WANTS_STATIC_LINK_CXX if CROSS || NATIVE
+ help
+ Newer gcc versions require some c++ libraries. So statically
+ linking libstdc++ increases the likeliness that the gcc binary will
+ run on machines other than the one which it was built on, without
+ having to worry about distributing the matching version of libstdc++
+ along with it.
+
+config CC_GCC_SYSTEM_ZLIB
+ bool "Use system zlib"
+ help
+ Do not use bundled zlib, and use the zlib already available for
+ the host (eg. the system library).
+
+ If zlib is built as a companion library, selecting this option
+ will use it.
+
+ If you want to build a static toolchain, you will need to also
+ install the static version of zlib for your host.
+
+ If unsure, say 'n'.
+
+config CC_GCC_CONFIG_TLS
+ tristate
+ prompt "Configure TLS (Thread Local Storage)"
+ default m
+ help
+ Specify that the target supports TLS (Thread Local Storage). Usually
+ configure can correctly determine if TLS is supported. In cases where
+ it guesses incorrectly, TLS can be explicitly enabled or disabled.
+ This can happen if the assembler supports TLS but the C library does
+ not, or if the assumptions made by the configure test are incorrect.
+
+ Option | TLS use | Associated ./configure switch
+ ---------+--------------------+--------------------------------
+ Y | forcibly used | --enable-tls
+ M | auto | (none, ./configure decides)
+ N | forcibly not used | --disable-tls
+
+ If unsure, say 'M'.
+
+#-----------------------------------------------------------------------------
+# Optimisation features
+
+comment "Optimisation features"
+
+# Defined in config/cc/gcc.in
+# For graphite: gcc needs cloog and isl
+# In >= gcc-5.x, cloog is no longer needed, but isl is.
+config CC_GCC_USE_GRAPHITE
+ bool "Enable GRAPHITE loop optimisations"
+ default y
+ select CLOOG_NEEDED if !GCC_5_or_later
+ select ISL_NEEDED
+ help
+ Enable the GRAPHITE loop optimsations.
+
+ On some systems (eg. Cygwin), CLooG and ISL (required to enable
+ GRAPHITE) may not build properly (yet), so you'll have to say 'N'
+ here (or help debug the issues)
+
+ TODO: Is this still true on Cygwin?
+
+# The way LTO works is a bit twisted.
+# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
+# Basically:
+# - if binutils has plugins: LTO is handled by ld/gold by loading
+# the plugin when linking
+# - if binutils does not have plugins: LTO is handled by collect2
+# In any case, LTO support does not depend on plugins, but takes
+# advantage of it
+config CC_GCC_USE_LTO
+ bool "Enable LTO"
+ default y
+ depends on ! STATIC_TOOLCHAIN
+ help
+ Enable the Link Time Optimisations.
- Linaro: http://www.linaro.org/
+#-----------------------------------------------------------------------------
+comment "Settings for libraries running on target"
-choice
+config CC_GCC_ENABLE_TARGET_OPTSPACE
bool
- prompt "gcc version"
-
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
+ prompt "Optimize gcc libs for size"
+ default y
+ help
+ Pass --enable-target-optspace to crossgcc's configure.
+
+ This will compile crossgcc's libs with -Os.
-config CC_GCC_V_7_1_0
+config CC_GCC_LIBMUDFLAP
bool
- prompt "7.1.0"
- select CC_GCC_7
-
-config CC_GCC_V_linaro_6_3
+ prompt "Compile libmudflap"
+ help
+ libmudflap is a pointer-use checking tool, which can detect
+ various mis-usages of pointers in C and (to some extents) C++.
+
+ You should say 'N' here, as libmduflap generates instrumented
+ code (thus it is a bit bigger and a bit slower) and requires
+ re-compilation and re-link, while it exists better run-time
+ alternatives (eg. DUMA, dmalloc...) that need neither re-
+ compilation nor re-link.
+
+config CC_GCC_LIBGOMP
bool
- prompt "linaro-6.3-2017.05"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_6
+ prompt "Compile libgomp"
+ depends on !THREADS_NONE
+ help
+ libgomp is "the GNU implementation of the OpenMP Application Programming
+ Interface (API) for multi-platform shared-memory parallel programming in
+ C/C++ and Fortran". See:
+ http://gcc.gnu.org/onlinedocs/libgomp/
-config CC_GCC_V_6_3_0
- bool
- prompt "6.3.0"
- select CC_GCC_6
+ GNU OpenMP support requires threading.
-config CC_GCC_V_linaro_5_4
- bool
- prompt "linaro-5.4-2017.05"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_5
+ The default is 'N'. Say 'Y' if you need it, and report success/failure.
-config CC_GCC_V_5_4_0
+config CC_GCC_LIBSSP
bool
- prompt "5.4.0"
- select CC_GCC_5
+ prompt "Compile libssp"
+ help
+ libssp is the run-time Stack-Smashing Protection library.
+
+ The default is 'N'. Say 'Y' if you need it, and report success/failure.
-config CC_GCC_V_linaro_4_9
+config CC_GCC_LIBQUADMATH
bool
- prompt "linaro-4.9-2017.01"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_4_9
+ prompt "Compile libquadmath"
+ help
+ libquadmath is a library which provides quad-precision mathematical
+ functions on targets supporting the __float128 datatype. See:
+ http://gcc.gnu.org/onlinedocs/libquadmath/
+
+ The default is 'N'. Say 'Y' if you need it, and report success/failure.
-config CC_GCC_V_4_9_4
+config CC_GCC_LIBSANITIZER
bool
- prompt "4.9.4"
- select CC_GCC_4_9
+ prompt "Compile libsanitizer"
+ depends on THREADS_NATIVE
+ depends on !LIBC_UCLIBC && !LIBC_MUSL # Currently lacks required headers (like netrom.h)
+ help
+ libsanitizer is a library which provides run-time sanitising of either
+ or both of:
+ - memory access patterns (out-of-bonds, use-after-free)
+ - racy data accesses (in multi-threaded programs)
-config CC_GCC_V_linaro_4_8
- bool
- prompt "linaro-4.8-2015.06 (OBSOLETE)"
- depends on CC_GCC_SHOW_LINARO
- depends on OBSOLETE
- select CC_GCC_4_8
+ The default is 'N'. Say 'Y' if you need it, and report success/failure.
-config CC_GCC_V_4_8_5
+config CC_GCC_LIBMPX
bool
- prompt "4.8.5 (OBSOLETE)"
- select CC_GCC_4_8
- depends on OBSOLETE
-
-endchoice
+ default y
+ prompt "Compile libmpx"
+ depends on CC_GCC_HAS_LIBMPX
+ depends on ARCH_X86
+ # MUSL does not define libc types that GCC requires. Mingw lacks certain headers.
+ depends on !LIBC_MUSL && !LIBC_MINGW_W64
+ help
+ Enable GCC support for Intel Memory Protection Extensions (MPX).
-endif # ! CC_GCC_CUSTOM
+#-----------------------------------------------------------------------------
-config CC_GCC_4_8
- bool
- select CC_GCC_4_8_or_later
+comment "Misc. obscure options."
-config CC_GCC_4_8_or_later
+config CC_CXA_ATEXIT
bool
+ prompt "Use __cxa_atexit"
+ default y
+ depends on ! BARE_METAL || LIBC_PROVIDES_CXA_ATEXIT
+ help
+ If you get the missing symbol "__cxa_atexit" when building C++ programs,
+ you might want to try disabling this option.
-config CC_GCC_4_9
+config CC_GCC_DISABLE_PCH
bool
- select CC_GCC_4_9_or_later
-
-config CC_GCC_4_9_or_later
+ prompt "Do not build PCH"
+ help
+ Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
+ at the expense of speed when compiling C++ code.
+
+ For some configurations (most notably canadian?), PCH are broken, and
+ need to be disabled. Please see:
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
+
+config CC_GCC_SJLJ_EXCEPTIONS
+ tristate
+ prompt "Use sjlj for exceptions"
+ depends on ! BARE_METAL
+ default m
+ help
+ 'sjlj' is short for setjmp/longjmp.
+
+ On some architectures, stack unwinding during exception handling
+ works perfectly well without using sjlj, while on some others,
+ use of sjlj is required for proper stack unwinding.
+
+ Option | sjlj use | Associated ./configure switch
+ ---------+--------------------+--------------------------------
+ Y | forcibly used | --enable-sjlj-exceptions
+ M | auto | (none, ./configure decides)
+ N | forcibly not used | --disable-sjlj-exceptions
+
+ It should be safe to say 'M' or 'N'.
+
+ It can happen that ./configure is wrong in some cases. Known
+ case is for ARM big endian, where you should say 'N'.
+
+config CC_GCC_LDBL_128
+ tristate
+ prompt "Enable 128-bit long doubles"
+ default m
+ help
+ Saying 'Y' will force gcc to use 128-bit wide long doubles
+ Saying 'N' will force gcc to use 64-bit wide long doubles
+ Saying 'M' will let gcc choose (default is 128-bit for
+ glibc >= 2.4, 64-bit otherwise)
+
+ If in doubt, keep the default, ie. 'M'.
+
+config CC_GCC_BUILD_ID
bool
- select CC_GCC_4_8_or_later
-
-config CC_GCC_5
+ prompt "Enable build-id"
+ help
+ Tells GCC to pass --build-id option to the linker for all final
+ links (links performed without the -r or --relocatable option),
+ if the linker supports it. If you say 'y' here, but your linker
+ does not support --build-id option, a warning is issued and this
+ option is ignored.
+
+ The default is off.
+
+choice CC_GCC_LNK_HASH_STYLE_CHOICE
bool
- select CC_GCC_5_or_later
+ prompt "linker hash style"
+ depends on BINUTILS_HAS_HASH_STYLE
-config CC_GCC_5_or_later
+config CC_GCC_LNK_HASH_STYLE_DEFAULT
bool
- select CC_GCC_4_9_or_later
- select CC_GCC_HAS_LIBMPX
+ prompt "Default"
+ help
+ Do not specify any value, and use the default value (sysv).
-config CC_GCC_6
+config CC_GCC_LNK_HASH_STYLE_SYSV
bool
- select CC_GCC_6_or_later
+ prompt "sysv"
+ help
+ Force use of the SYSV hash style.
-config CC_GCC_6_or_later
+config CC_GCC_LNK_HASH_STYLE_GNU
bool
- select CC_GCC_5_or_later
+ prompt "gnu"
+ help
+ Force use of the GNU hash style.
-config CC_GCC_7
+config CC_GCC_LNK_HASH_STYLE_BOTH
bool
- select CC_GCC_7_or_later
+ prompt "both"
+ help
+ Force use of both hash styles.
-config CC_GCC_7_or_later
- bool
- select CC_GCC_6_or_later
+endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE
-config CC_GCC_latest
- bool
- select CC_GCC_7_or_later
+config CC_GCC_LNK_HASH_STYLE
+ string
+ default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT
+ default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV
+ default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU
+ default "both" if CC_GCC_LNK_HASH_STYLE_BOTH
+
+choice CC_GCC_DEC_FLOATS_CHOICE
+ bool "Decimal floats"
+ default CC_GCC_DEC_FLOATS_AUTO
+ help
+ Choose what type of decimal floats to support.
+
+ Note that using decimal floats requires a C library that provides
+ support for fenv (namely, the fenv.h header). This is the case
+ for (e)glibc, and uClibc on x86/32. For other C libraries, or
+ uClibc on other archs, this might not be the case, so you should
+ disable support for decimal floats.
+
+ The default is to let ./configure decide.
+
+config CC_GCC_DEC_FLOAT_AUTO
+ bool "auto"
+ help
+ Let ./configure decide. If you say 'y' here, gcc will default to:
+ - 'bid' for x86 (32- and 64-bit)
+ - 'dpd' for powerpc
+ - 'no' for the other architectures
-# Only enable gcc's support for plugins if binutils has it as well
-# They are useful only when doing LTO, but it does no harm enabling
-# them even without LTO.
-config CC_GCC_ENABLE_PLUGINS
- bool
- depends on BINUTILS_PLUGINS
- depends on ! STATIC_TOOLCHAIN
- default y
+config CC_GCC_DEC_FLOAT_BID
+ bool "bid"
+ help
+ Use the 'binary integer decimal' format for decimal floats.
-# If binutils installs gold, enable support for gold in gcc
-config CC_GCC_GOLD
- bool
- depends on BINUTILS_GOLD_INSTALLED
- default y
+config CC_GCC_DEC_FLOAT_DPD
+ bool "dpd"
+ help
+ Use the 'densely packed decimal' for decimal floats.
-config CC_GCC_HAS_LIBMPX
- bool
+config CC_GCC_DEC_FLOATS_NO
+ bool "no"
+ help
+ Do not support decimal floats. The default.
-if ! CC_GCC_CUSTOM
+endchoice # CC_GCC_DEC_FLOATS_CHOICE
-config CC_GCC_VERSION
+config CC_GCC_DEC_FLOATS
string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "7.1.0" if CC_GCC_V_7_1_0
- default "linaro-6.3-2017.05" if CC_GCC_V_linaro_6_3
- default "6.3.0" if CC_GCC_V_6_3_0
- default "linaro-5.4-2017.05" if CC_GCC_V_linaro_5_4
- default "5.4.0" if CC_GCC_V_5_4_0
- default "linaro-4.9-2017.01" if CC_GCC_V_linaro_4_9
- default "4.9.4" if CC_GCC_V_4_9_4
- default "linaro-4.8-2015.06" if CC_GCC_V_linaro_4_8
- default "4.8.5" if CC_GCC_V_4_8_5
-
-endif # ! CC_GCC_CUSTOM
+ default "" if CC_GCC_DEC_FLOATS_AUTO
+ default "bid" if CC_GCC_DEC_FLOATS_BID
+ default "dpd" if CC_GCC_DEC_FLOATS_DPD
+ default "no" if CC_GCC_DEC_FLOATS_NO
-config CC_LANG_JAVA_USE_ECJ
+#-----------------------------------------------------------------------------
+
+config CC_GCC_HAS_ARCH_OPTIONS
bool
- default y
- depends on CC_LANG_JAVA
-source "config/cc/gcc.in.2"
+comment "archictecture-specific options"
+ depends on CC_GCC_HAS_ARCH_OPTIONS
+
+if ARCH_MIPS
+source "config/cc/gcc.in.mips"
+endif # ARCH_MIPS
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
deleted file mode 100644
index 79a6225..0000000
--- a/config/cc/gcc.in.2
+++ /dev/null
@@ -1,387 +0,0 @@
-# gcc configuration options
-
-config CC_GCC_ENABLE_CXX_FLAGS
- string
- prompt "Flags to pass to --enable-cxx-flags"
- default ""
- help
- Enter here the value of the gcc's ./configure option --enable-cxx-flags.
- Leave empty if you don't know better.
-
- Note: just pass in the option _value_, that is only the part that goes
- after the '=' sign.
-
-config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
- string
- prompt "Core gcc extra config"
- default ""
- depends on CC_CORE_PASS_1_NEEDED || CC_CORE_PASS_2_NEEDED
- help
- Extra flags to pass onto ./configure when configuring the core gcc.
-
- The core gcc is a stripped down, C-only compiler needed to build
- the C library. Kinda bootstrap gcc, if you wish.
-
- You can enter multiple arguments here, and arguments can contain spaces
- if they are properly quoted (or escaped, but prefer quotes). Eg.:
- --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
-
-config CC_GCC_EXTRA_CONFIG_ARRAY
- string
- prompt "gcc extra config"
- default ""
- help
- Extra flags to pass onto ./configure when configuring gcc.
-
- You can enter multiple arguments here, and arguments can contain spaces
- if they are properly quoted (or escaped, but prefer quotes). Eg.:
- --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
-
-config CC_GCC_MULTILIB_LIST
- string
- prompt "List of multilib variants"
- depends on MULTILIB
- help
- Architecture-specific option of expanding or restricting the list of
- the multilib variants to be built. Refer to GCC installation manual
- for the format of this option for a particular architecture.
- Leave empty to use the default list for this architecture.
-
-config STATIC_TOOLCHAIN
- bool
- select CC_GCC_STATIC_LIBSTDCXX
-
-config CC_GCC_STATIC_LIBSTDCXX
- bool
- prompt "Link libstdc++ statically into the gcc binary"
- default y
- depends on CONFIGURE_has_static_link || CANADIAN || CROSS_NATIVE
- select WANTS_STATIC_LINK if CROSS || NATIVE
- select WANTS_STATIC_LINK_CXX if CROSS || NATIVE
- help
- Newer gcc versions require some c++ libraries. So statically
- linking libstdc++ increases the likeliness that the gcc binary will
- run on machines other than the one which it was built on, without
- having to worry about distributing the matching version of libstdc++
- along with it.
-
-config CC_GCC_SYSTEM_ZLIB
- bool
- prompt "Use system zlib"
- help
- Do not use bundled zlib, and use the zlib already available for
- the host (eg. the system library).
-
- If zlib is built as a companion library, selecting this option
- will use it.
-
- If you want to build a static toolchain, you will need to also
- install the static version of zlib for your host.
-
- If unsure, say 'n'.
-
-config CC_GCC_CONFIG_TLS
- tristate
- prompt "Configure TLS (Thread Local Storage)"
- depends on !LIBC_bionic
- default m
- help
- Specify that the target supports TLS (Thread Local Storage). Usually
- configure can correctly determine if TLS is supported. In cases where
- it guesses incorrectly, TLS can be explicitly enabled or disabled.
- This can happen if the assembler supports TLS but the C library does
- not, or if the assumptions made by the configure test are incorrect.
-
- Option | TLS use | Associated ./configure switch
- ---------+--------------------+--------------------------------
- Y | forcibly used | --enable-tls
- M | auto | (none, ./configure decides)
- N | forcibly not used | --disable-tls
-
- If unsure, say 'M'.
-
-#-----------------------------------------------------------------------------
-# Optimisation features
-
-comment "Optimisation features"
-
-# Defined in config/cc/gcc.in
-# For graphite: gcc needs cloog and isl
-# In >= gcc-5.x, cloog is no longer needed, but isl is.
-# Prompt in config/cc/gcc.in.2
-config CC_GCC_USE_GRAPHITE
- bool "Enable GRAPHITE loop optimisations"
- default y
- select CLOOG_NEEDED if !CC_GCC_5_or_later
- select ISL_NEEDED
- help
- Enable the GRAPHITE loop optimsations.
-
- On some systems (eg. Cygwin), CLooG and ISL (required to enable
- GRAPHITE) may not build properly (yet), so you'll have to say 'N'
- here (or help debug the issues)
-
- TODO: Is this still true on Cygwin?
-
-# The way LTO works is a bit twisted.
-# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
-# Basically:
-# - if binutils has plugins: LTO is handled by ld/gold by loading
-# the plugin when linking
-# - if binutils does not have plugins: LTO is handled by collect2
-# In any case, LTO support does not depend on plugins, but takes
-# advantage of it
-config CC_GCC_USE_LTO
- bool "Enable LTO"
- default y
- depends on ! STATIC_TOOLCHAIN
- help
- Enable the Link Time Optimisations.
-
-#-----------------------------------------------------------------------------
-comment "Settings for libraries running on target"
-
-config CC_GCC_ENABLE_TARGET_OPTSPACE
- bool
- prompt "Optimize gcc libs for size"
- default y
- help
- Pass --enable-target-optspace to crossgcc's configure.
-
- This will compile crossgcc's libs with -Os.
-
-config CC_GCC_LIBMUDFLAP
- bool
- prompt "Compile libmudflap"
- help
- libmudflap is a pointer-use checking tool, which can detect
- various mis-usages of pointers in C and (to some extents) C++.
-
- You should say 'N' here, as libmduflap generates instrumented
- code (thus it is a bit bigger and a bit slower) and requires
- re-compilation and re-link, while it exists better run-time
- alternatives (eg. DUMA, dmalloc...) that need neither re-
- compilation nor re-link.
-
-config CC_GCC_LIBGOMP
- bool
- prompt "Compile libgomp"
- depends on !THREADS_NONE
- help
- libgomp is "the GNU implementation of the OpenMP Application Programming
- Interface (API) for multi-platform shared-memory parallel programming in
- C/C++ and Fortran". See:
- http://gcc.gnu.org/onlinedocs/libgomp/
-
- GNU OpenMP support requires threading.
-
- The default is 'N'. Say 'Y' if you need it, and report success/failure.
-
-config CC_GCC_LIBSSP
- bool
- prompt "Compile libssp"
- help
- libssp is the run-time Stack-Smashing Protection library.
-
- The default is 'N'. Say 'Y' if you need it, and report success/failure.
-
-config CC_GCC_LIBQUADMATH
- bool
- prompt "Compile libquadmath"
- help
- libquadmath is a library which provides quad-precision mathematical
- functions on targets supporting the __float128 datatype. See:
- http://gcc.gnu.org/onlinedocs/libquadmath/
-
- The default is 'N'. Say 'Y' if you need it, and report success/failure.
-
-config CC_GCC_LIBSANITIZER
- bool
- prompt "Compile libsanitizer"
- depends on THREADS_NATIVE
- depends on ! LIBC_uClibc && ! LIBC_musl # Currently lacks required headers (like netrom.h)
- help
- libsanitizer is a library which provides run-time sanitising of either
- or both of:
- - memory access patterns (out-of-bonds, use-after-free)
- - racy data accesses (in multi-threaded programs)
-
- The default is 'N'. Say 'Y' if you need it, and report success/failure.
-
-config CC_GCC_LIBMPX
- bool
- default y
- prompt "Compile libmpx"
- depends on CC_GCC_HAS_LIBMPX
- depends on ARCH_x86
- # MUSL does not define libc types that GCC requires. Mingw lacks certain headers.
- depends on !LIBC_musl && ! LIBC_mingw
- help
- Enable GCC support for Intel Memory Protection Extensions (MPX).
-
-#-----------------------------------------------------------------------------
-
-comment "Misc. obscure options."
-
-config CC_CXA_ATEXIT
- bool
- prompt "Use __cxa_atexit"
- default y
- depends on ! BARE_METAL || LIBC_PROVIDES_CXA_ATEXIT
- help
- If you get the missing symbol "__cxa_atexit" when building C++ programs,
- you might want to try disabling this option.
-
-config CC_GCC_DISABLE_PCH
- bool
- prompt "Do not build PCH"
- help
- Say 'y' here to not use Pre-Compiled Headers in the resulting toolchain.
- at the expense of speed when compiling C++ code.
-
- For some configurations (most notably canadian?), PCH are broken, and
- need to be disabled. Please see:
- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
-
-config CC_GCC_SJLJ_EXCEPTIONS
- tristate
- prompt "Use sjlj for exceptions"
- depends on ! BARE_METAL
- default m
- help
- 'sjlj' is short for setjmp/longjmp.
-
- On some architectures, stack unwinding during exception handling
- works perfectly well without using sjlj, while on some others,
- use of sjlj is required for proper stack unwinding.
-
- Option | sjlj use | Associated ./configure switch
- ---------+--------------------+--------------------------------
- Y | forcibly used | --enable-sjlj-exceptions
- M | auto | (none, ./configure decides)
- N | forcibly not used | --disable-sjlj-exceptions
-
- It should be safe to say 'M' or 'N'.
-
- It can happen that ./configure is wrong in some cases. Known
- case is for ARM big endian, where you should say 'N'.
-
-config CC_GCC_LDBL_128
- tristate
- prompt "Enable 128-bit long doubles"
- default m
- help
- Saying 'Y' will force gcc to use 128-bit wide long doubles
- Saying 'N' will force gcc to use 64-bit wide long doubles
- Saying 'M' will let gcc choose (default is 128-bit for
- glibc >= 2.4, 64-bit otherwise)
-
- If in doubt, keep the default, ie. 'M'.
-
-config CC_GCC_BUILD_ID
- bool
- prompt "Enable build-id"
- help
- Tells GCC to pass --build-id option to the linker for all final
- links (links performed without the -r or --relocatable option),
- if the linker supports it. If you say 'y' here, but your linker
- does not support --build-id option, a warning is issued and this
- option is ignored.
-
- The default is off.
-
-choice CC_GCC_LNK_HASH_STYLE_CHOICE
- bool
- prompt "linker hash style"
- depends on BINUTILS_HAS_HASH_STYLE
-
-config CC_GCC_LNK_HASH_STYLE_DEFAULT
- bool
- prompt "Default"
- help
- Do not specify any value, and use the default value (sysv).
-
-config CC_GCC_LNK_HASH_STYLE_SYSV
- bool
- prompt "sysv"
- help
- Force use of the SYSV hash style.
-
-config CC_GCC_LNK_HASH_STYLE_GNU
- bool
- prompt "gnu"
- help
- Force use of the GNU hash style.
-
-config CC_GCC_LNK_HASH_STYLE_BOTH
- bool
- prompt "both"
- help
- Force use of both hash styles.
-
-endchoice # CC_GCC_LNK_HASH_STYLE_CHOICE
-
-config CC_GCC_LNK_HASH_STYLE
- string
- default "" if CC_GCC_LNK_HASH_STYLE_DEFAULT
- default "sysv" if CC_GCC_LNK_HASH_STYLE_SYSV
- default "gnu" if CC_GCC_LNK_HASH_STYLE_GNU
- default "both" if CC_GCC_LNK_HASH_STYLE_BOTH
-
-choice CC_GCC_DEC_FLOATS_CHOICE
- bool "Decimal floats"
- default CC_GCC_DEC_FLOATS_AUTO
- help
- Choose what type of decimal floats to support.
-
- Note that using decimal floats requires a C library that provides
- support for fenv (namely, the fenv.h header). This is the case
- for (e)glibc, and uClibc on x86/32. For other C libraries, or
- uClibc on other archs, this might not be the case, so you should
- disable support for decimal floats.
-
- The default is to let ./configure decide.
-
-config CC_GCC_DEC_FLOAT_AUTO
- bool "auto"
- help
- Let ./configure decide. If you say 'y' here, gcc will default to:
- - 'bid' for x86 (32- and 64-bit)
- - 'dpd' for powerpc
- - 'no' for the other architectures
-
-config CC_GCC_DEC_FLOAT_BID
- bool "bid"
- help
- Use the 'binary integer decimal' format for decimal floats.
-
-config CC_GCC_DEC_FLOAT_DPD
- bool "dpd"
- help
- Use the 'densely packed decimal' for decimal floats.
-
-config CC_GCC_DEC_FLOATS_NO
- bool "no"
- help
- Do not support decimal floats. The default.
-
-endchoice # CC_GCC_DEC_FLOATS_CHOICE
-
-config CC_GCC_DEC_FLOATS
- string
- default "" if CC_GCC_DEC_FLOATS_AUTO
- default "bid" if CC_GCC_DEC_FLOATS_BID
- default "dpd" if CC_GCC_DEC_FLOATS_DPD
- default "no" if CC_GCC_DEC_FLOATS_NO
-
-#-----------------------------------------------------------------------------
-
-config CC_GCC_HAS_ARCH_OPTIONS
- bool
-
-comment "archictecture-specific options"
- depends on CC_GCC_HAS_ARCH_OPTIONS
-
-if ARCH_mips
-source "config/cc/gcc.in.mips"
-endif # ARCH_mips
diff --git a/config/comp_libs.in b/config/comp_libs.in
new file mode 100644
index 0000000..009aac8
--- /dev/null
+++ b/config/comp_libs.in
@@ -0,0 +1,203 @@
+# Companion libraries config options
+# Those libraries are required for different versions of gcc,
+# and can be used by binutils and gdb (maybe others as well).
+
+menu "Companion libraries"
+
+config COMPLIBS_NEEDED
+ bool
+
+config LIBICONV_NEEDED
+ bool
+ select LIBICONV
+ select COMPLIBS_NEEDED
+
+config GETTEXT_NEEDED
+ bool
+ select GETTEXT
+ select LIBICONV_NEEDED
+ select COMPLIBS_NEEDED
+
+config GMP_NEEDED
+ def_bool y
+ select GMP
+ select COMPLIBS_NEEDED
+
+config MPFR_NEEDED
+ def_bool y
+ select MPFR
+ select COMPLIBS_NEEDED
+
+config ISL_NEEDED
+ bool
+ select ISL
+ select COMPLIBS_NEEDED
+
+config CLOOG_NEEDED
+ bool
+ select CLOOG
+ select COMPLIBS_NEEDED
+
+config MPC_NEEDED
+ def_bool y
+ select MPC
+ select COMPLIBS_NEEDED
+
+config LIBELF_NEEDED
+ bool
+ select LIBELF
+ select COMPLIBS_NEEDED
+
+config EXPAT_NEEDED
+ bool
+ select EXPAT
+ select COMPLIBS_NEEDED
+
+config NCURSES_NEEDED
+ bool
+ select NCURSES
+ select COMPLIBS_NEEDED
+
+config COMPLIBS
+ bool
+
+config LIBICONV
+ bool "Build local libiconv"
+ default y if CANADIAN || CROSS_NATIVE
+ select COMPLIBS
+
+config GETTEXT
+ bool "Build local gettext"
+ default y if CANADIAN || CROSS_NATIVE
+ select LIBICONV_NEEDED
+ select NCURSES_NEEDED
+ select COMPLIBS
+
+config GMP
+ bool
+ select COMPLIBS
+
+config MPFR
+ bool
+ select GMP
+ select COMPLIBS
+
+config ISL
+ bool
+ select GMP
+ select COMPLIBS
+
+config CLOOG
+ bool
+ select GMP
+ select COMPLIBS
+
+config MPC
+ bool
+ select GMP
+ select MPFR
+ select COMPLIBS
+
+config LIBELF
+ bool
+ select COMPLIBS
+
+config LIBELF_TARGET
+ bool
+
+config EXPAT
+ bool
+ select COMPLIBS
+
+config EXPAT_TARGET
+ bool
+
+config NCURSES
+ bool
+ select COMPLIBS
+
+config NCURSES_TARGET
+ bool
+
+config ZLIB
+ bool "Build local zlib"
+
+# FIXME this needs to have a list of options
+# [ ] libfoo for build
+# [ ] libfoo for host (if canadian)
+# [ ] libfoo for target
+# libfoo options -->
+#
+# Then have other packages *set default* for build/host
+# (but not select, so that user can utilize build's or host's system library)
+# and *select* the target (so that we build it if we must, and let user optionally
+# build it if he wants). Upon any of these options LIBFOO_{BUILD,HOST,TARGET}
+# being set, set LIBFOO_ENABLED and use that as a qualifier for submenu.
+# For now, just have comments delineating the libs.
+if ZLIB
+comment "zlib options"
+source "config/comp_libs/zlib.in"
+endif
+if LIBICONV
+comment "libiconv options"
+source "config/comp_libs/libiconv.in"
+endif
+if GETTEXT
+comment "gettext options"
+source "config/comp_libs/gettext.in"
+endif
+if GMP
+comment "GMP options"
+source "config/comp_libs/gmp.in"
+endif
+if MPFR
+comment "MPFR options"
+source "config/comp_libs/mpfr.in"
+endif
+if ISL
+comment "ISL options"
+source "config/comp_libs/isl.in"
+endif
+if CLOOG
+comment "CLooG options"
+source "config/comp_libs/cloog.in"
+endif
+if MPC
+comment "MPC options"
+source "config/comp_libs/mpc.in"
+endif
+if LIBELF || LIBELF_TARGET
+comment "libelf options"
+source "config/comp_libs/libelf.in"
+endif
+if EXPAT || EXPAT_TARGET
+comment "expat options"
+source "config/comp_libs/expat.in"
+endif
+if NCURSES || NCURSES_TARGET
+comment "ncurses options"
+source "config/comp_libs/ncurses.in"
+endif
+
+if COMPLIBS
+
+comment "Companion libraries common options"
+
+config COMPLIBS_CHECK
+ bool
+ prompt "Check the companion libraries builds (!!! READ HELP!!!)"
+ help
+ It is highly recommended to check the newly built companion libraries.
+ Unfortunately, this is a very intensive task, and takes a loooong time.
+
+ Checking the newly built companion libraries is thus disabled by default,
+ but it is suggested that you check them at least once on your machine,
+ and if they work, disable the check on subsequent builds.
+
+ If you suspect that one (or more) of your companion libraries is the
+ cause for incorrectly generated code, you should answer 'Y' here.
+ Note however that this will take a really long time.
+
+endif # COMPLIBS
+
+endmenu
diff --git a/config/comp_libs/cloog.in b/config/comp_libs/cloog.in
new file mode 100644
index 0000000..b894de9
--- /dev/null
+++ b/config/comp_libs/cloog.in
@@ -0,0 +1,11 @@
+# CLooG options
+## depends on OBSOLETE
+
+# CLooG 0.18.4 requires ISL 0.12 or newer
+# CLooG 0.18.1/0.18.0 requires ISL 0.12 or older
+
+source "config/versions/cloog.in"
+
+config CLOOG_HAS_WITH_GMP_ISL_OSL
+ bool
+ default y if CLOOG_0_18_or_later
diff --git a/config/comp_libs/expat.in b/config/comp_libs/expat.in
new file mode 100644
index 0000000..a2753a4
--- /dev/null
+++ b/config/comp_libs/expat.in
@@ -0,0 +1,3 @@
+# expat config file
+
+source "config/versions/expat.in"
diff --git a/config/comp_libs/gettext.in b/config/comp_libs/gettext.in
new file mode 100644
index 0000000..4928ede
--- /dev/null
+++ b/config/comp_libs/gettext.in
@@ -0,0 +1,3 @@
+# gettext options
+
+source "config/versions/gettext.in"
diff --git a/config/comp_libs/gmp.in b/config/comp_libs/gmp.in
new file mode 100644
index 0000000..28359cd
--- /dev/null
+++ b/config/comp_libs/gmp.in
@@ -0,0 +1,7 @@
+# GMP options
+
+source "config/versions/gmp.in"
+
+config GMP_HAS_MPBSD
+ bool
+ default y if !GMP_5_1_or_later
diff --git a/config/comp_libs/isl.in b/config/comp_libs/isl.in
new file mode 100644
index 0000000..9c74078
--- /dev/null
+++ b/config/comp_libs/isl.in
@@ -0,0 +1,26 @@
+# ISL options
+# FIXME these currently have no effect
+## select CLOOG_REQUIRE_0_18_1_or_older if !ISL_0_12_or_later
+## select CLOOG_REQUIRE_0_18_4_or_later if !ISL_0_14_or_older
+
+source "config/versions/isl.in"
+
+# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
+config ISL_CLOOG_auto_select_1
+ def_bool y
+ depends on CLOOG_NEEDED && !ISL_0_12_or_later
+ select CLOOG_REQUIRE_0_18_1_or_older
+
+# FIXME should be auto-generated once companion libs are using gen-kconfig (and hence, ## syntax)
+config ISL_CLOOG_auto_select_2
+ def_bool y
+ depends on CLOOG_NEEDED && !ISL_0_13_or_older
+ select CLOOG_REQUIRE_0_18_4_or_later
+
+config ISL_NEEDS_WITH_GMP
+ bool
+ default y if !ISL_0_12_or_later
+
+config ISL_HAS_WITH_PIPLIB
+ bool
+ default y if !ISL_0_14_or_later
diff --git a/config/comp_libs/libelf.in b/config/comp_libs/libelf.in
new file mode 100644
index 0000000..5b268c1
--- /dev/null
+++ b/config/comp_libs/libelf.in
@@ -0,0 +1,3 @@
+# libelf config file
+
+source "config/versions/libelf.in"
diff --git a/config/comp_libs/libiconv.in b/config/comp_libs/libiconv.in
new file mode 100644
index 0000000..99d3365
--- /dev/null
+++ b/config/comp_libs/libiconv.in
@@ -0,0 +1,3 @@
+# libiconv options
+
+source "config/versions/libiconv.in"
diff --git a/config/comp_libs/mpc.in b/config/comp_libs/mpc.in
new file mode 100644
index 0000000..790e755
--- /dev/null
+++ b/config/comp_libs/mpc.in
@@ -0,0 +1,3 @@
+# MPC options
+
+source "config/versions/mpc.in"
diff --git a/config/comp_libs/mpfr.in b/config/comp_libs/mpfr.in
new file mode 100644
index 0000000..5ed7ac8
--- /dev/null
+++ b/config/comp_libs/mpfr.in
@@ -0,0 +1,3 @@
+# GMP options
+
+source "config/versions/mpfr.in"
diff --git a/config/comp_libs/ncurses.in b/config/comp_libs/ncurses.in
new file mode 100644
index 0000000..7087fbe
--- /dev/null
+++ b/config/comp_libs/ncurses.in
@@ -0,0 +1,59 @@
+# expat config file
+
+source "config/versions/ncurses.in"
+
+config NCURSES_NEW_ABI
+ bool "ncurses 6.0 ABI support"
+ depends on EXPERIMENTAL
+ help
+ This option allows you to use the new ncurses-6 ABI.
+ It's wise to leave this disabled and stick with the ncurses-5 ABI!
+
+config NCURSES_HOST_CONFIG_ARGS
+ string "Extra configure arguments for host ncurses"
+ help
+ Extra arguments that are passed verbatim to the configure when
+ building host ncurses.
+
+config NCURSES_HOST_DISABLE_DB
+ bool "Disable terminfo DB on the host"
+ default y
+ help
+ The terminfo database is not currently not installed on the host
+ as a part of the toolchain built by crosstool-ng. This means the
+ library will not be able to use the terminals, unless that database
+ comes preinstalled.
+
+ Selecting this option allows one to embed some popular terminal
+ definitions into the library itself.
+
+ If not select, the path to the terminfo database on the host will
+ likely need to be passed as an argument to configure.
+
+config NCURSES_HOST_FALLBACKS
+ string "List of fallback terminals for the host"
+ default "linux,xterm,xterm-color,xterm-256color,vt100"
+ help
+ List of terminal descriptions that will be compiled into the curses
+ library for the host.
+
+config NCURSES_TARGET_CONFIG_ARGS
+ string "Extra configure arguments for target ncurses"
+ help
+ Extra arguments that are passed verbatim to the configure when
+ building target ncurses.
+
+config NCURSES_TARGET_DISABLE_DB
+ bool "Disable terminfo DB on the target"
+ default n
+ help
+ The terminfo database is installed with the terminfo database for the
+ target. If you want to configure ncurses with preselected terminals,
+ select Y here.
+
+config NCURSES_TARGET_FALLBACKS
+ string "List of fallback terminals for the target"
+ help
+ List of terminal descriptions that will be compiled into the curses
+ library for the target.
+
diff --git a/config/comp_libs/zlib.in b/config/comp_libs/zlib.in
new file mode 100644
index 0000000..70668e2
--- /dev/null
+++ b/config/comp_libs/zlib.in
@@ -0,0 +1,3 @@
+# Zlib options
+
+source "config/versions/zlib.in"
diff --git a/config/comp_tools.in b/config/comp_tools.in
new file mode 100644
index 0000000..020a070
--- /dev/null
+++ b/config/comp_tools.in
@@ -0,0 +1,15 @@
+# Companion tools config options
+
+menu "Companion tools"
+
+config COMP_TOOLS_FOR_HOST
+ bool
+ prompt "Install companion tools for host"
+ help
+ Enable this option if you want to include the selected companion
+ tools into the final toolchain (rather than just using them
+ to build it).
+
+source "config/gen/comp_tools.in"
+
+endmenu
diff --git a/config/comp_tools/autoconf.in b/config/comp_tools/autoconf.in
new file mode 100644
index 0000000..b49017d
--- /dev/null
+++ b/config/comp_tools/autoconf.in
@@ -0,0 +1,7 @@
+# Autoconf
+
+## default y if !CONFIGURE_has_autoconf_2_63_or_newer
+## default y if !CONFIGURE_has_autoreconf_2_63_or_newer
+## help Autoconf
+
+source "config/versions/autoconf.in"
diff --git a/config/comp_tools/automake.in b/config/comp_tools/automake.in
new file mode 100644
index 0000000..455200e
--- /dev/null
+++ b/config/comp_tools/automake.in
@@ -0,0 +1,6 @@
+# Automake
+
+## default y if !CONFIGURE_has_automake_1_15_or_newer
+## help Automake
+
+source "config/versions/automake.in"
diff --git a/config/comp_tools/libtool.in b/config/comp_tools/libtool.in
new file mode 100644
index 0000000..071b53e
--- /dev/null
+++ b/config/comp_tools/libtool.in
@@ -0,0 +1,6 @@
+# Libtool
+
+## default y if !CONFIGURE_has_libtool_2_4_or_newer
+## default y if !CONFIGURE_has_libtoolize_2_4_or_newer
+
+source "config/versions/libtool.in"
diff --git a/config/comp_tools/m4.in b/config/comp_tools/m4.in
new file mode 100644
index 0000000..1a81a9f
--- /dev/null
+++ b/config/comp_tools/m4.in
@@ -0,0 +1,5 @@
+# GNU m4
+
+## default y if !CONFIGURE_has_gnu_m4_1_4_12_or_newer
+
+source "config/versions/m4.in"
diff --git a/config/comp_tools/make.in b/config/comp_tools/make.in
new file mode 100644
index 0000000..07331d5
--- /dev/null
+++ b/config/comp_tools/make.in
@@ -0,0 +1,10 @@
+# GNU make
+
+## default y if !CONFIGURE_has_make_3_81_or_newer
+
+source "config/versions/make.in"
+
+config MAKE_GMAKE_SYMLINK
+ bool
+ prompt "Add gmake symlink to companion gnu/make"
+ depends on COMP_TOOLS_MAKE
diff --git a/config/companion_libs.in b/config/companion_libs.in
deleted file mode 100644
index fae49ec..0000000
--- a/config/companion_libs.in
+++ /dev/null
@@ -1,186 +0,0 @@
-# Companion libraries config options
-# Those libraries are required for different versions of gcc,
-# and can be used by binutils and gdb (maybe others as well).
-
-menu "Companion libraries"
-
-config COMPLIBS_NEEDED
- bool
-
-config LIBICONV_NEEDED
- bool
- select LIBICONV
- select COMPLIBS_NEEDED
-
-config GETTEXT_NEEDED
- bool
- select GETTEXT
- select LIBICONV_NEEDED
- select COMPLIBS_NEEDED
-
-config GMP_NEEDED
- def_bool y
- select GMP
- select COMPLIBS_NEEDED
-
-config MPFR_NEEDED
- def_bool y
- select MPFR
- select COMPLIBS_NEEDED
-
-config ISL_NEEDED
- bool
- select ISL
- select COMPLIBS_NEEDED
-
-config CLOOG_NEEDED
- bool
- select CLOOG
- select COMPLIBS_NEEDED
-
-config MPC_NEEDED
- def_bool y
- select MPC
- select COMPLIBS_NEEDED
-
-config LIBELF_NEEDED
- bool
- select LIBELF
- select COMPLIBS_NEEDED
-
-config EXPAT_NEEDED
- bool
- select EXPAT
- select COMPLIBS_NEEDED
-
-config NCURSES_NEEDED
- bool
- select NCURSES
- select COMPLIBS_NEEDED
-
-config COMPLIBS
- bool
-
-config LIBICONV
- bool "Build local libiconv"
- default y if CANADIAN || CROSS_NATIVE
- select COMPLIBS
-
-config GETTEXT
- bool "Build local gettext"
- default y if CANADIAN || CROSS_NATIVE
- select LIBICONV_NEEDED
- select NCURSES_NEEDED
- select COMPLIBS
-
-config GMP
- bool
- select COMPLIBS
-
-config MPFR
- bool
- select GMP
- select COMPLIBS
-
-config ISL
- bool
- select GMP
- select COMPLIBS
-
-config CLOOG
- bool
- select GMP
- select COMPLIBS
-
-config MPC
- bool
- select GMP
- select MPFR
- select COMPLIBS
-
-config LIBELF
- bool
- select COMPLIBS
-
-config LIBELF_TARGET
- bool
-
-config EXPAT
- bool
- select COMPLIBS
-
-config EXPAT_TARGET
- bool
-
-config NCURSES
- bool
- select COMPLIBS
-
-config NCURSES_TARGET
- bool
-
-config ZLIB
- bool "Build local zlib"
-
-if ZLIB
-source "config/companion_libs/zlib.in"
-endif
-if LIBICONV
-source "config/companion_libs/libiconv.in"
-endif
-if GETTEXT
-source "config/companion_libs/gettext.in"
-endif
-if GMP
-source "config/companion_libs/gmp.in"
-endif
-if MPFR
-source "config/companion_libs/mpfr.in"
-endif
-if ISL
-source "config/companion_libs/isl.in"
-endif
-if CLOOG
-source "config/companion_libs/cloog.in"
-endif
-if MPC
-source "config/companion_libs/mpc.in"
-endif
-if LIBELF || LIBELF_TARGET
-comment "libelf version needed to build for target"
- depends on !LIBELF
-source "config/companion_libs/libelf.in"
-endif
-if EXPAT || EXPAT_TARGET
-comment "expat version needed to build for target"
- depends on !EXPAT
-source "config/companion_libs/expat.in"
-endif
-if NCURSES || NCURSES_TARGET
-comment "ncurses version needed to build for target"
- depends on !NCURSES
-source "config/companion_libs/ncurses.in"
-endif
-
-if COMPLIBS
-
-comment "Companion libraries common options"
-
-config COMPLIBS_CHECK
- bool
- prompt "Check the companion libraries builds (!!! READ HELP!!!)"
- help
- It is highly recommended to check the newly built companion libraries.
- Unfortunately, this is a very intensive task, and takes a loooong time.
-
- Checking the newly built companion libraries is thus disabled by default,
- but it is suggested that you check them at least once on your machine,
- and if they work, disable the check on subsequent builds.
-
- If you suspect that one (or more) of your companion libraries is the
- cause for incorrectly generated code, you should answer 'Y' here.
- Note however that this will take a really long time.
-
-endif # COMPLIBS
-
-endmenu
diff --git a/config/companion_libs/cloog.in b/config/companion_libs/cloog.in
deleted file mode 100644
index 95b283c..0000000
--- a/config/companion_libs/cloog.in
+++ /dev/null
@@ -1,51 +0,0 @@
-# CLooG options
-## depends on OBSOLETE
-
-# CLooG 0.18.4 requires ISL 0.12 or newer
-# CLooG 0.18.1/0.18.0 frequires ISL 0.12 or older
-choice
- bool
- prompt "CLooG version"
-
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config CLOOG_V_0_18_4
- bool
- prompt "0.18.4"
- depends on ISL_V_0_12_or_later
- select CLOOG_0_18_4_or_later
-
-config CLOOG_V_0_18_1
- bool
- prompt "0.18.1 (OBSOLETE)"
- depends on !ISL_V_0_14_or_later
- depends on OBSOLETE
- select CLOOG_0_18_or_later
-
-config CLOOG_V_0_18_0
- bool
- prompt "0.18.0 (OBSOLETE)"
- depends on !ISL_V_0_14_or_later
- depends on OBSOLETE
- select CLOOG_0_18_or_later
-
-endchoice
-
-config CLOOG_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.18.4" if CLOOG_V_0_18_4
- default "0.18.1" if CLOOG_V_0_18_1
- default "0.18.0" if CLOOG_V_0_18_0
-
-config CLOOG_0_18_4_or_later
- bool
- select CLOOG_0_18_or_later
-
-config CLOOG_0_18_or_later
- bool
-
-config CLOOG_NEEDS_AUTORECONF
- bool
diff --git a/config/companion_libs/expat.in b/config/companion_libs/expat.in
deleted file mode 100644
index 4c2f2e2..0000000
--- a/config/companion_libs/expat.in
+++ /dev/null
@@ -1,25 +0,0 @@
-# expat config file
-
-choice
- bool
- prompt "expat version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config EXPAT_V_2_2_1
- bool
- prompt "2.2.1"
-
-config EXPAT_V_2_1_1
- bool
- prompt "2.1.1 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config EXPAT_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.2.1" if EXPAT_V_2_2_1
- default "2.1.1" if EXPAT_V_2_1_1
diff --git a/config/companion_libs/gettext.in b/config/companion_libs/gettext.in
deleted file mode 100644
index d76955a..0000000
--- a/config/companion_libs/gettext.in
+++ /dev/null
@@ -1,25 +0,0 @@
-# gettext options
-
-choice
- bool
- prompt "gettext version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config GETTEXT_V_0_19_8_1
- bool
- prompt "0.19.8.1"
-
-config GETTEXT_V_0_19_7
- bool
- prompt "0.19.7 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config GETTEXT_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.19.8.1" if GETTEXT_V_0_19_8_1
- default "0.19.7" if GETTEXT_V_0_19_7
diff --git a/config/companion_libs/gmp.in b/config/companion_libs/gmp.in
deleted file mode 100644
index 167c772..0000000
--- a/config/companion_libs/gmp.in
+++ /dev/null
@@ -1,83 +0,0 @@
-# GMP options
-
-choice
- bool
- prompt "GMP version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config GMP_V_6_1_2
- bool
- prompt "6.1.2"
- select GMP_5_0_2_or_later
-
-config GMP_V_6_1_0
- bool
- prompt "6.1.0 (OBSOLETE)"
- select GMP_5_0_2_or_later
- depends on OBSOLETE
-
-config GMP_V_6_0_0
- bool
- prompt "6.0.0a (OBSOLETE)"
- select GMP_5_0_2_or_later
- depends on OBSOLETE
-
-config GMP_V_5_1_3
- bool
- prompt "5.1.3 (OBSOLETE)"
- select GMP_5_0_2_or_later
- depends on OBSOLETE
-
-config GMP_V_5_1_1
- bool
- prompt "5.1.1 (OBSOLETE)"
- select GMP_5_0_2_or_later
- depends on OBSOLETE
-
-config GMP_V_5_0_2
- bool
- prompt "5.0.2 (OBSOLETE)"
- select GMP_5_0_2_or_later
- depends on OBSOLETE
-
-config GMP_V_5_0_1
- bool
- prompt "5.0.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config GMP_V_4_3_2
- bool
- prompt "4.3.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config GMP_V_4_3_1
- bool
- prompt "4.3.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config GMP_V_4_3_0
- bool
- prompt "4.3.0 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-# To disable --enable-mpbsd
-config GMP_5_0_2_or_later
- bool
-
-config GMP_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "6.1.2" if GMP_V_6_1_2
- default "6.1.0" if GMP_V_6_1_0
- default "6.0.0a" if GMP_V_6_0_0
- default "5.1.3" if GMP_V_5_1_3
- default "5.1.1" if GMP_V_5_1_1
- default "5.0.2" if GMP_V_5_0_2
- default "5.0.1" if GMP_V_5_0_1
- default "4.3.2" if GMP_V_4_3_2
- default "4.3.1" if GMP_V_4_3_1
- default "4.3.0" if GMP_V_4_3_0
diff --git a/config/companion_libs/isl.in b/config/companion_libs/isl.in
deleted file mode 100644
index bb2766f..0000000
--- a/config/companion_libs/isl.in
+++ /dev/null
@@ -1,92 +0,0 @@
-# ISL options
-
-# GCC 4.8 supports ISL 0.10 to 0.14
-# GCC 4.9 supports ISL 0.10 to 0.15
-# GCC 5 supports ISL 0.12 to 0.16
-# GCC 6 supports ISL 0.14 to 0.16
-# Starting with GCC 5, GCC's configure no longer checks the ISL version explicitly,
-# despite what the configure's message says ("checking for isl 0.15 or 0.16").
-# Instead, it verifies that certain interfaces are available, so it accepts 0.17.1
-# or 0.18 under that check. Include them as experimental just in case anyone needs
-# the bugfixes in these releases.
-choice
- bool
- prompt "ISL version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config ISL_V_0_18
- bool
- prompt "0.18"
- depends on EXPERIMENTAL # Not officially recommended by GCC
- depends on CC_GCC_5_or_later
- select ISL_V_0_16_or_later
-
-config ISL_V_0_17_1
- bool
- prompt "0.17.1"
- depends on EXPERIMENTAL # Not officially recommended by GCC
- depends on CC_GCC_5_or_later
- select ISL_V_0_16_or_later
-
-config ISL_V_0_16_1
- bool
- prompt "0.16.1"
- depends on CC_GCC_5_or_later
- select ISL_V_0_16_or_later
-
-# Linaro version of 4.9 does not support ISL 0.15, but most recent
-# mainline 4.9 release (4.9.4) does.
-config ISL_V_0_15
- bool
- prompt "0.15"
- depends on CC_GCC_4_9_or_later
- select ISL_V_0_15_or_later
-
-config ISL_V_0_14
- bool
- prompt "0.14 (OBSOLETE)"
- select ISL_V_0_14_or_later
- depends on OBSOLETE
-
-config ISL_V_0_12_2
- bool
- prompt "0.12.2 (OBSOLETE)"
- depends on !CC_GCC_6_or_later
- select ISL_V_0_12_or_later
- depends on OBSOLETE
-
-config ISL_V_0_11_1
- bool
- prompt "0.11.1 (OBSOLETE)"
- depends on !CC_GCC_4_9_or_later
- depends on OBSOLETE
-
-endchoice
-
-config ISL_V_0_16_or_later
- bool
- select ISL_V_0_15_or_later
-
-config ISL_V_0_15_or_later
- bool
- select ISL_V_0_14_or_later
-
-config ISL_V_0_14_or_later
- bool
- select ISL_V_0_12_or_later
-
-config ISL_V_0_12_or_later
- bool
-
-config ISL_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.18" if ISL_V_0_18
- default "0.17.1" if ISL_V_0_17_1
- default "0.16.1" if ISL_V_0_16_1
- default "0.15" if ISL_V_0_15
- default "0.14" if ISL_V_0_14
- default "0.12.2" if ISL_V_0_12_2
- default "0.11.1" if ISL_V_0_11_1
diff --git a/config/companion_libs/libelf.in b/config/companion_libs/libelf.in
deleted file mode 100644
index b01ab36..0000000
--- a/config/companion_libs/libelf.in
+++ /dev/null
@@ -1,25 +0,0 @@
-# libelf config file
-
-choice
- bool
- prompt "libelf version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBELF_V_0_8_13
- bool
- prompt "0.8.13"
-
-config LIBELF_V_0_8_12
- bool
- prompt "0.8.12 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config LIBELF_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.8.13" if LIBELF_V_0_8_13
- default "0.8.12" if LIBELF_V_0_8_12
diff --git a/config/companion_libs/libiconv.in b/config/companion_libs/libiconv.in
deleted file mode 100644
index d871681..0000000
--- a/config/companion_libs/libiconv.in
+++ /dev/null
@@ -1,24 +0,0 @@
-# libiconv options
-
-choice
- bool
- prompt "libiconv version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBICONV_V_1_15
- bool
- prompt "1.15"
-
-config LIBICONV_V_1_14
- bool
- prompt "1.14"
-
-endchoice
-
-config LIBICONV_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.15" if LIBICONV_V_1_15
- default "1.14" if LIBICONV_V_1_14
diff --git a/config/companion_libs/mpc.in b/config/companion_libs/mpc.in
deleted file mode 100644
index cd8132d..0000000
--- a/config/companion_libs/mpc.in
+++ /dev/null
@@ -1,61 +0,0 @@
-# MPC options
-
-choice
- bool
- prompt "MPC version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config MPC_V_1_0_3
- bool
- prompt "1.0.3"
-
-config MPC_V_1_0_2
- bool
- prompt "1.0.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_1_0_1
- bool
- prompt "1.0.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_1_0
- bool
- prompt "1.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_0_9
- bool
- prompt "0.9 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_0_8_2
- bool
- prompt "0.8.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_0_8_1
- bool
- prompt "0.8.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPC_V_0_7
- bool
- prompt "0.7 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config MPC_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.0.3" if MPC_V_1_0_3
- default "1.0.2" if MPC_V_1_0_2
- default "1.0.1" if MPC_V_1_0_1
- default "1.0" if MPC_V_1_0
- default "0.9" if MPC_V_0_9
- default "0.8.2" if MPC_V_0_8_2
- default "0.8.1" if MPC_V_0_8_1
- default "0.7" if MPC_V_0_7
diff --git a/config/companion_libs/mpfr.in b/config/companion_libs/mpfr.in
deleted file mode 100644
index ce33b3d..0000000
--- a/config/companion_libs/mpfr.in
+++ /dev/null
@@ -1,67 +0,0 @@
-# GMP options
-
-choice
- bool
- prompt "MPFR version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config MPFR_V_3_1_5
- bool
- prompt "3.1.5"
-
-config MPFR_V_3_1_3
- bool
- prompt "3.1.3 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_3_1_2
- bool
- prompt "3.1.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_3_1_0
- bool
- prompt "3.1.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_3_0_1
- bool
- prompt "3.0.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_3_0_0
- bool
- prompt "3.0.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_2_4_2
- bool
- prompt "2.4.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_2_4_1
- bool
- prompt "2.4.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config MPFR_V_2_4_0
- bool
- prompt "2.4.0 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config MPFR_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "3.1.5" if MPFR_V_3_1_5
- default "3.1.3" if MPFR_V_3_1_3
- default "3.1.2" if MPFR_V_3_1_2
- default "3.1.0" if MPFR_V_3_1_0
- default "3.0.1" if MPFR_V_3_0_1
- default "3.0.0" if MPFR_V_3_0_0
- default "2.4.2" if MPFR_V_2_4_2
- default "2.4.1" if MPFR_V_2_4_1
- default "2.4.0" if MPFR_V_2_4_0
diff --git a/config/companion_libs/ncurses.in b/config/companion_libs/ncurses.in
deleted file mode 100644
index 68ecbb7..0000000
--- a/config/companion_libs/ncurses.in
+++ /dev/null
@@ -1,75 +0,0 @@
-# expat config file
-
-choice
- bool
- prompt "ncurses version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config NCURSES_V_6_0
- bool
- prompt "6.0"
-
-endchoice
-
-config NCURSES_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "6.0" if NCURSES_V_6_0
-
-config NCURSES_NEW_ABI
- bool "ncurses 6.0 ABI support"
- depends on EXPERIMENTAL
- help
- This option allows you to use the new ncurses-6 ABI.
- It's wise to leave this disabled and stick with the ncurses-5 ABI!
-
-config NCURSES_HOST_CONFIG_ARGS
- string "Extra configure arguments for host ncurses"
- help
- Extra arguments that are passed verbatim to the configure when
- building host ncurses.
-
-config NCURSES_HOST_DISABLE_DB
- bool "Disable terminfo DB on the host"
- default y
- help
- The terminfo database is not currently not installed on the host
- as a part of the toolchain built by crosstool-ng. This means the
- library will not be able to use the terminals, unless that database
- comes preinstalled.
-
- Selecting this option allows one to embed some popular terminal
- definitions into the library itself.
-
- If not select, the path to the terminfo database on the host will
- likely need to be passed as an argument to configure.
-
-config NCURSES_HOST_FALLBACKS
- string "List of fallback terminals for the host"
- default "linux,xterm,xterm-color,xterm-256color,vt100"
- help
- List of terminal descriptions that will be compiled into the curses
- library for the host.
-
-config NCURSES_TARGET_CONFIG_ARGS
- string "Extra configure arguments for target ncurses"
- help
- Extra arguments that are passed verbatim to the configure when
- building target ncurses.
-
-config NCURSES_TARGET_DISABLE_DB
- bool "Disable terminfo DB on the target"
- default n
- help
- The terminfo database is installed with the terminfo database for the
- target. If you want to configure ncurses with preselected terminals,
- select Y here.
-
-config NCURSES_TARGET_FALLBACKS
- string "List of fallback terminals for the target"
- help
- List of terminal descriptions that will be compiled into the curses
- library for the target.
-
diff --git a/config/companion_libs/zlib.in b/config/companion_libs/zlib.in
deleted file mode 100644
index df93682..0000000
--- a/config/companion_libs/zlib.in
+++ /dev/null
@@ -1,19 +0,0 @@
-# Zlib options
-
-choice
- bool
- prompt "zlib version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config ZLIB_V_1_2_11
- bool
- prompt "1.2.11"
-
-endchoice
-
-config ZLIB_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.2.11" if ZLIB_V_1_2_11
diff --git a/config/companion_tools.in b/config/companion_tools.in
deleted file mode 100644
index e5ef3fc..0000000
--- a/config/companion_tools.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# Companion tools config options
-
-menu "Companion tools"
-
-config COMP_TOOLS_FOR_HOST
- bool
- prompt "Install companion tools for host"
- help
- Enable this option if you want to include the selected companion
- tools into the final toolchain (rather than just using them
- to build it).
-
-source "config/gen/companion_tools.in"
-
-endmenu
diff --git a/config/companion_tools/autoconf.in b/config/companion_tools/autoconf.in
deleted file mode 100644
index b85e1f9..0000000
--- a/config/companion_tools/autoconf.in
+++ /dev/null
@@ -1,29 +0,0 @@
-# Autoconf
-
-## default y if !CONFIGURE_has_autoconf_2_63_or_newer
-## default y if !CONFIGURE_has_autoreconf_2_63_or_newer
-## help Autoconf
-
-choice
- bool
- prompt "Autoconf version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config AUTOCONF_V_2_69
- bool
- prompt "2.69"
-
-config AUTOCONF_V_2_65
- bool
- prompt "2.65 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config AUTOCONF_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.69" if AUTOCONF_V_2_69
- default "2.65" if AUTOCONF_V_2_65
diff --git a/config/companion_tools/automake.in b/config/companion_tools/automake.in
deleted file mode 100644
index 31d036b..0000000
--- a/config/companion_tools/automake.in
+++ /dev/null
@@ -1,40 +0,0 @@
-# Automake
-
-## default y if !CONFIGURE_has_automake_1_15_or_newer
-## help Automake
-
-choice
- bool
- prompt "Automake version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config AUTOMAKE_V_1_15
- bool
- prompt "1.15"
-
-config AUTOMAKE_V_1_14
- bool
- prompt "1.14 (OBSOLETE)"
- depends on OBSOLETE
-
-config AUTOMAKE_V_1_11_6
- bool
- prompt "1.11.6 (OBSOLETE)"
- depends on OBSOLETE
-
-config AUTOMAKE_V_1_11_1
- bool
- prompt "1.11.1 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config AUTOMAKE_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.15" if AUTOMAKE_V_1_15
- default "1.14" if AUTOMAKE_V_1_14
- default "1.11.6" if AUTOMAKE_V_1_11_6
- default "1.11.1" if AUTOMAKE_V_1_11_1
diff --git a/config/companion_tools/libtool.in b/config/companion_tools/libtool.in
deleted file mode 100644
index 5c14fa0..0000000
--- a/config/companion_tools/libtool.in
+++ /dev/null
@@ -1,23 +0,0 @@
-# Libtool
-
-## default y if !CONFIGURE_has_libtool_2_4_or_newer
-## default y if !CONFIGURE_has_libtoolize_2_4_or_newer
-## help Libtool
-
-choice
- bool
- prompt "Libtool version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBTOOL_V_2_4_6
- bool
- prompt "2.4.6"
-
-endchoice
-
-config LIBTOOL_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.4.6" if LIBTOOL_V_2_4_6
diff --git a/config/companion_tools/m4.in b/config/companion_tools/m4.in
deleted file mode 100644
index eb6a3d3..0000000
--- a/config/companion_tools/m4.in
+++ /dev/null
@@ -1,34 +0,0 @@
-# GNU m4
-
-## default y if !CONFIGURE_has_gnu_m4_1_4_12_or_newer
-## help GNU m4
-
-choice
- bool
- prompt "m4 version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config M4_V_1_4_18
- bool
- prompt "1.4.18"
-
-config M4_V_1_4_17
- bool
- prompt "1.4.17 (OBSOLETE)"
- depends on OBSOLETE
-
-config M4_V_1_4_13
- bool
- prompt "1.4.13 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config M4_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.4.18" if M4_V_1_4_18
- default "1.4.17" if M4_V_1_4_17
- default "1.4.13" if M4_V_1_4_13
diff --git a/config/companion_tools/make.in b/config/companion_tools/make.in
deleted file mode 100644
index b6834a7..0000000
--- a/config/companion_tools/make.in
+++ /dev/null
@@ -1,45 +0,0 @@
-# GNU make
-
-## default y if !CONFIGURE_has_make_3_81_or_newer
-## help GNU make
-
-choice
- bool
- prompt "make version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config MAKE_V_4_2_1
- bool
- prompt "4.2.1"
-
-config MAKE_V_4_1
- bool
- prompt "4.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config MAKE_V_4_0
- bool
- prompt "4.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config MAKE_V_3_81
- bool
- prompt "3.81 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config MAKE_GMAKE_SYMLINK
- bool
- prompt "Add gmake symlink to companion gnu/make"
- depends on COMP_TOOLS_make
-
-config MAKE_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "4.2.1" if MAKE_V_4_2_1
- default "4.1" if MAKE_V_4_1
- default "4.0" if MAKE_V_4_0
- default "3.81" if MAKE_V_3_81
diff --git a/config/config.in b/config/config.in
index 21b0c7e..6b0b911 100644
--- a/config/config.in
+++ b/config/config.in
@@ -7,6 +7,6 @@ source "config/binutils.in"
source "config/libc.in"
source "config/cc.in"
source "config/debug.in"
-source "config/companion_libs.in"
-source "config/companion_tools.in"
+source "config/comp_libs.in"
+source "config/comp_tools.in"
source "config/test_suite.in"
diff --git a/config/debug/duma.in b/config/debug/duma.in
index f9e727b..c837c65 100644
--- a/config/debug/duma.in
+++ b/config/debug/duma.in
@@ -1,12 +1,14 @@
# D.U.M.A. - Detect Unintended Memory Access - Memory checker
## depends on ! BARE_METAL
-## depends on ! LIBC_bionic
+## depends on ! LIBC_BIONIC
## help D.U.M.A. - Detect Unintended Memory Access
## help A memory bound checker, with additional features.
## help Formerly known as Electric Fence.
+source "config/versions/duma.in"
+
config DUMA_SO
bool
prompt "Build a shared library"
@@ -18,21 +20,3 @@ config DUMA_CUSTOM_WRAPPER
prompt "Install custom D.U.M.A wrapper"
default y
depends on DUMA_SO
-
-choice
- bool
- prompt "D.U.M.A. version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config DUMA_V_2_5_15
- bool
- prompt "2_5_15"
-
-endchoice
-
-config DUMA_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2_5_15" if DUMA_V_2_5_15
diff --git a/config/debug/gdb.in b/config/debug/gdb.in
index b1d101b..3fe486f 100644
--- a/config/debug/gdb.in
+++ b/config/debug/gdb.in
@@ -2,326 +2,20 @@
## help gdb is the GNU debugger
+source "config/versions/gdb.in"
+
source "config/debug/gdb.in.cross"
source "config/debug/gdb.in.native"
source "config/debug/gdb.in.gdbserver"
-comment "gdb version"
-
-config GDB_CUSTOM
- bool
- prompt "Custom gdb"
- depends on EXPERIMENTAL
- select GDB_8_0_or_later
- help
- The choosen gdb version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if GDB_CUSTOM
-
-config GDB_CUSTOM_LOCATION
- string
- prompt "Full path to custom gdb source"
- help
- Enter the path to the directory or tarball of your source for gcc.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, gcc, and the version is set
- below in the custom version string.
-
-config GDB_CUSTOM_VERSION
- string
- prompt "Custom GDB version"
- help
- Enter the version number for your custom gdb.
-
-config GDB_VERSION
- string
- default GDB_CUSTOM_VERSION
-
-endif # GDB_CUSTOM
-
-if ! GDB_CUSTOM
-
-config DEBUG_GDB_SHOW_LINARO
- bool
- prompt "Show Linaro versions"
- depends on OBSOLETE
- help
- Linaro is maintaining some advanced/more stable/experimental versions
- of gdb, especially for the ARM architecture.
-
- Those versions have not been blessed by the gdb community (nor have they
- been cursed either!), but they look to be pretty much stable, and even
- more stable than the upstream versions. YMMV...
-
- If you do not know what this Linaro stuff is, then simply say 'n' here,
- and rest in peace. OTOH, if you know what you are doing, you will be
- able to use and enjoy :-) the Linaro versions by saying 'y' here.
-
- Linaro: http://www.linaro.org/
-
-choice
- bool
- prompt "gdb version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config GDB_V_8_0
- bool
- prompt "8.0"
- select GDB_8_0_or_later
-
-config GDB_V_7_12_1
- bool
- prompt "7.12.1"
- select GDB_7_12_or_later
-
-config GDB_V_7_11_1
- bool
- prompt "7.11.1"
- select GDB_7_2_or_later
-
-config GDB_V_7_10_1
- bool
- prompt "7.10.1 (OBSOLETE)"
- select GDB_7_2_or_later
- depends on OBSOLETE
-
-config GDB_V_7_10
- bool
- prompt "7.10 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_9_1
- bool
- prompt "7.9.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_9
- bool
- prompt "7.9 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_8
- bool
- prompt "linaro-7.8-2014.09 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_8_2
- bool
- prompt "7.8.2 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-
-config GDB_V_7_8_1
- bool
- prompt "7.8.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_8
- bool
- prompt "7.8 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_7_1
- bool
- prompt "linaro-7.7.1-2014.06 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_7_1
- bool
- prompt "7.7.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_7
- bool
- prompt "linaro-7.7-2014.05 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_7
- bool
- prompt "7.7 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_6
- bool
- prompt "linaro-7.6.1-2013.10 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- select GDB_7_2_or_later
-
-config GDB_V_7_6_1
- bool
- prompt "7.6.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_5
- bool
- prompt "linaro-7.5-2012.12 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_5_1
- bool
- prompt "7.5.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_4
- bool
- prompt "linaro-7.4-2012.06 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_4_1
- bool
- prompt "7.4.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_4
- bool
- prompt "7.4 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_linaro_7_3
- bool
- prompt "linaro-7.3-2011.12 (OBSOLETE)"
- depends on DEBUG_GDB_SHOW_LINARO
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_3_1
- bool
- prompt "7.3.1 (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_3a
- bool
- prompt "7.3a (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_2a
- bool
- prompt "7.2a (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_2_or_later
-
-config GDB_V_7_1a
- bool
- prompt "7.1a (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_0_or_later
-
-config GDB_V_7_0_1a
- bool
- prompt "7.0.1a (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_0_or_later
-
-config GDB_V_7_0a
- bool
- prompt "7.0a (OBSOLETE)"
- depends on OBSOLETE
- select GDB_7_0_or_later
-
-config GDB_V_6_8a
- bool
- prompt "6.8a (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-endif # ! GDB_CUSTOM
-
-config GDB_8_0_or_later
- bool
- select GDB_7_12_or_later
-
-config GDB_7_12_or_later
- bool
- select GDB_7_2_or_later
-
-config GDB_7_2_or_later
- bool
- select GDB_7_0_or_later
-
-config GDB_7_0_or_later
- bool
- select GDB_HAS_PKGVERSION_BUGURL
- select GDB_HAS_PYTHON
- select GDB_INSTALL_GDBINIT
-
config GDB_HAS_PKGVERSION_BUGURL
bool
+ default y if GDB_7_0_or_later
config GDB_HAS_PYTHON
bool
+ default y if GDB_7_0_or_later
config GDB_INSTALL_GDBINIT
bool
-
-# GDB 8.0 now requires C++ for build. GDB 7.12 offered a configure
-# switch to fall back to C.
-config GDB_TARGET_DISABLE_CXX_BUILD
- def_bool y
- depends on GDB_7_12_or_later && !GDB_8_0_or_later
-
-if ! GDB_CUSTOM
-
-config GDB_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "8.0" if GDB_V_8_0
- default "7.12.1" if GDB_V_7_12_1
- default "7.11.1" if GDB_V_7_11_1
- default "7.10.1" if GDB_V_7_10_1
- default "7.10" if GDB_V_7_10
- default "7.9.1" if GDB_V_7_9_1
- default "7.9" if GDB_V_7_9
- default "7.8.2" if GDB_V_7_8_2
- default "linaro-7.8-2014.09" if GDB_V_linaro_7_8
- default "7.8.1" if GDB_V_7_8_1
- default "7.8" if GDB_V_7_8
- default "linaro-7.7.1-2014.06-1" if GDB_V_linaro_7_7_1
- default "7.7.1" if GDB_V_7_7_1
- default "linaro-7.7-2014.05" if GDB_V_linaro_7_7
- default "7.7" if GDB_V_7_7
- default "linaro-7.6.1-2013.10" if GDB_V_linaro_7_6
- default "7.6.1" if GDB_V_7_6_1
- default "linaro-7.5-2012.12" if GDB_V_linaro_7_5
- default "7.5.1" if GDB_V_7_5_1
- default "linaro-7.4-2012.06" if GDB_V_linaro_7_4
- default "7.4.1" if GDB_V_7_4_1
- default "7.4" if GDB_V_7_4
- default "linaro-7.3-2011.12" if GDB_V_linaro_7_3
- default "7.3.1" if GDB_V_7_3_1
- default "7.3a" if GDB_V_7_3a
- default "7.2a" if GDB_V_7_2a
- default "7.1a" if GDB_V_7_1a
- default "7.0.1a" if GDB_V_7_0_1a
- default "7.0a" if GDB_V_7_0a
- default "6.8a" if GDB_V_6_8a
-
-endif # ! GDB_CUSTOM
+ default y if GDB_7_0_or_later
diff --git a/config/debug/gdb.in.gdbserver b/config/debug/gdb.in.gdbserver
index db0884e..8e999b4 100644
--- a/config/debug/gdb.in.gdbserver
+++ b/config/debug/gdb.in.gdbserver
@@ -5,7 +5,7 @@ config GDB_GDBSERVER
prompt "gdbserver"
default y
depends on ! BARE_METAL
- select LIBC_UCLIBC_WCHAR if LIBC_uClibc && GDB_8_0_or_later
+ select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later
help
Build and install a gdbserver for the target, to run on the target.
diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native
index 80b50fc..48c8575 100644
--- a/config/debug/gdb.in.native
+++ b/config/debug/gdb.in.native
@@ -4,9 +4,9 @@ config GDB_NATIVE
bool
prompt "Native gdb"
depends on ! BARE_METAL
- depends on ! LIBC_bionic
+ depends on ! LIBC_BIONIC
depends on CC_LANG_CXX || !GDB_8_0_or_later
- select LIBC_UCLIBC_WCHAR if LIBC_uClibc && GDB_8_0_or_later
+ select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later
select EXPAT_TARGET
select NCURSES_TARGET
help
diff --git a/config/debug/ltrace.in b/config/debug/ltrace.in
index fab6b81..01ad147 100644
--- a/config/debug/ltrace.in
+++ b/config/debug/ltrace.in
@@ -1,40 +1,18 @@
# ltrace
## select LIBELF_TARGET
-## depends on ! LIBC_bionic
+## depends on ! LIBC_BIONIC
##
## help ltrace is a program that simply runs the specified command until it exits.
## help It intercepts and records the dynamic library calls which are called by
## help the executed process and the signals which are received by that process.
## help It can also intercept and print the system calls executed by the program.
-choice
- bool
- prompt "ltrace version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LTRACE_V_0_7_3
- bool
- prompt "0.7.3"
-
-config LTRACE_V_0_5_3
- bool
- prompt "0.5.3 (OBSOLETE)"
- depends on OBSOLETE
- select LTRACE_0_5_3_CONFIGURE
-
-endchoice
-
-config LTRACE_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.7.3" if LTRACE_V_0_7_3
- default "0.5.3" if LTRACE_V_0_5_3
+source "config/versions/ltrace.in"
# Ltrace 0.5.3 had a unique hand-crafted configure script that has to be
# run differently from any preceding or following releases. This serves
# as a reminder to remove that code once 0.5.3 support is dropped.
config LTRACE_0_5_3_CONFIGURE
bool
+ default y if LTRACE_V_0_5_3
diff --git a/config/debug/strace.in b/config/debug/strace.in
index e77702b..160a518 100644
--- a/config/debug/strace.in
+++ b/config/debug/strace.in
@@ -1,98 +1,5 @@
# strace
-## depends on ! LIBC_bionic
+## depends on ! LIBC_BIONIC
-choice
- bool
- prompt "strace version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config STRACE_V_4_16
- bool
- prompt "4.16"
-
-config STRACE_V_4_15
- bool
- prompt "4.15"
-
-config STRACE_V_4_14
- bool
- prompt "4.14 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_13
- bool
- prompt "4.13 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_12
- bool
- prompt "4.12 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_11
- bool
- prompt "4.11 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_10
- bool
- prompt "4.10 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_9
- bool
- prompt "4.9 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_8
- bool
- prompt "4.8 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_7
- bool
- prompt "4.7 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_6
- bool
- prompt "4.6 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_5_20
- bool
- prompt "4.5.20 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_5_19
- bool
- prompt "4.5.19 (OBSOLETE)"
- depends on OBSOLETE
-
-config STRACE_V_4_5_18
- bool
- prompt "4.5.18 (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config STRACE_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "4.16" if STRACE_V_4_16
- default "4.15" if STRACE_V_4_15
- default "4.14" if STRACE_V_4_14
- default "4.13" if STRACE_V_4_13
- default "4.12" if STRACE_V_4_12
- default "4.11" if STRACE_V_4_11
- default "4.10" if STRACE_V_4_10
- default "4.9" if STRACE_V_4_9
- default "4.8" if STRACE_V_4_8
- default "4.7" if STRACE_V_4_7
- default "4.6" if STRACE_V_4_6
- default "4.5.20" if STRACE_V_4_5_20
- default "4.5.19" if STRACE_V_4_5_19
- default "4.5.18" if STRACE_V_4_5_18
+source "config/versions/strace.in"
diff --git a/config/global/extract.in b/config/global/extract.in
index b754775..582e69c 100644
--- a/config/global/extract.in
+++ b/config/global/extract.in
@@ -73,24 +73,6 @@ config PATCH_LOCAL_BUNDLED
Apply your local patches, then apply the patches
bundled with crosstool-NG.
-config PATCH_BUNDLED_FALLBACK_LOCAL
- bool
- prompt "Bundled only, local if no bundled"
- select PATCH_USE_LOCAL
- select PATCH_SINGLE
- help
- Apply the patches bundled with crosstool-NG;
- if there's no bundled patches, apply your local patches.
-
-config PATCH_LOCAL_FALLBACK_BUNDLED
- bool
- prompt "Local only, bundled if no local"
- select PATCH_USE_LOCAL
- select PATCH_SINGLE
- help
- Only apply your local patches;
- if there's no local patches, apply patches bundled with crosstool-NG.
-
config PATCH_NONE
bool
prompt "None"
@@ -110,19 +92,16 @@ config PATCH_ORDER
string
default "bundled" if PATCH_BUNDLED
default "local" if PATCH_LOCAL
- default "bundled,local" if PATCH_BUNDLED_LOCAL || PATCH_BUNDLED_FALLBACK_LOCAL
- default "local,bundled" if PATCH_LOCAL_BUNDLED || PATCH_LOCAL_FALLBACK_BUNDLED
+ default "bundled,local" if PATCH_BUNDLED_LOCAL
+ default "local,bundled" if PATCH_LOCAL_BUNDLED
default "none" if PATCH_NONE
-config PATCH_SINGLE
- bool
-
config PATCH_USE_LOCAL
bool
config LOCAL_PATCH_DIR
string
- prompt "| Local patch directory"
+ prompt "Local patch directory"
default ""
depends on PATCH_USE_LOCAL
help
diff --git a/config/kernel.in b/config/kernel.in
index c04f2cb..579cc23 100644
--- a/config/kernel.in
+++ b/config/kernel.in
@@ -4,9 +4,11 @@ menu "Operating System"
# Config option used throughout the config and code to determine wether
# we have a kernel or not (there might be different bare metal stuff)...
+# FIXME use CT_KERNEL_bare_metal instead
config BARE_METAL
bool
+# FIXME use CT_KERNEL_windows instead
config WINDOWS
bool
@@ -16,12 +18,6 @@ config WINDOWS
config KERNEL_SUPPORTS_SHARED_LIBS
bool
-config KERNEL
- string
-
-config KERNEL_VERSION
- string
-
source "config/gen/kernel.in"
comment "Common kernel options"
@@ -37,6 +33,4 @@ config SHARED_LIBS
You might not want shared libraries if you're building for a target that
don't support it (maybe some nommu targets, for example, or bare metal).
-source "config/gen/kernel.in.2"
-
endmenu
diff --git a/config/kernel/linux.in b/config/kernel/linux.in
index dc0f5e5..b8d433a 100644
--- a/config/kernel/linux.in
+++ b/config/kernel/linux.in
@@ -1,294 +1,54 @@
# Linux kernel options
-## depends on ! ARCH_avr
+## depends on ! ARCH_AVR
## select KERNEL_SUPPORTS_SHARED_LIBS
-##
-## help Build a toolchain targeting systems running Linux as a kernel.
-
-config KERNEL_LINUX_CUSTOM
- bool
- prompt "custom tarball or directory"
- help
- The choosen linux version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if KERNEL_LINUX_CUSTOM
-
-config KERNEL_LINUX_CUSTOM_LOCATION
- string
- prompt "Path to custom source, tarball or directory"
- help
- Enter the path to the directory or tarball of your source for linux.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, linux, and the version is set
- below in the custom version string.
-
-config KERNEL_LINUX_CUSTOM_VERSION
- string
- prompt "Custom Linux version"
- help
- Enter the version number for your custom linux.
-
-config KERNEL_VERSION
- string
- default KERNEL_LINUX_CUSTOM_VERSION
-
-endif # KERNEL_LINUX_CUSTOM
-if ! KERNEL_LINUX_CUSTOM
+## help Build a toolchain targeting systems running Linux as a kernel.
# GLIBC and kernel are special when it comes to obsoletion. Users
# of crosstool-ng depend on the ability to build new toolchains matching
# the kernel/libc versions of a particular target system, and LTS releases
# are still using quite ancient versions. Please do not retire versions
# (including versions in between) until the EOL dates indicated below.
-choice
- bool
- prompt "Linux kernel version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config KERNEL_V_4_11
- bool
- prompt "4.11.3"
-
-config KERNEL_V_4_10
- bool
- prompt "4.10.17 (EOL)"
-
-config KERNEL_V_4_9
- bool
- prompt "4.9.30"
-
-config KERNEL_V_4_8
- bool
- prompt "4.8.17 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_4_7
- bool
- prompt "4.7.10 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_4_6
- bool
- prompt "4.6.7 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_4_5
- bool
- prompt "4.5.7 (EOL)"
- depends on OBSOLETE
-
-# EOL 04/2021 [Ubuntu16.04]
-config KERNEL_V_4_4
- bool
- prompt "4.4.70"
-
-config KERNEL_V_4_3
- bool
- prompt "4.3.6 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_4_2
- bool
- prompt "4.2.8 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_4_1
- bool
- prompt "4.1.40"
-
-config KERNEL_V_4_0
- bool
- prompt "4.0.9 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_19
- bool
- prompt "3.19.8 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_18
- bool
- prompt "3.18.55 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_17
- bool
- prompt "3.17.8 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_16
- bool
- prompt "3.16.43"
-
-config KERNEL_V_3_15
- bool
- prompt "3.15.10 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_14
- bool
- prompt "3.14.79 (EOL)"
- depends on OBSOLETE
-
-# EOL 04/2019 [Ubuntu14.04]
-config KERNEL_V_3_13
- bool
- prompt "3.13.11 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_12
- bool
- prompt "3.12.74"
-
-config KERNEL_V_3_11
- bool
- prompt "3.11.10 (EOL)"
- depends on OBSOLETE
-
-# EOL 06/2024 [CentOS7.x]
-config KERNEL_V_3_10
- bool
- prompt "3.10.105"
-
-config KERNEL_V_3_9
- bool
- prompt "3.9.11 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_8
- bool
- prompt "3.8.13 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_7
- bool
- prompt "3.7.10 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_6
- bool
- prompt "3.6.11 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_5
- bool
- prompt "3.5.7 (EOL)"
- depends on OBSOLETE
+# Such pinned versions are indicated in version.desc files with a comment.
-config KERNEL_V_3_4
- bool
- prompt "3.4.113"
-
-config KERNEL_V_3_3
- bool
- prompt "3.3.8 (EOL)"
- depends on OBSOLETE
-
-# EOL 04/2017 [Ubuntu12.04]
-config KERNEL_V_3_2
- bool
- prompt "3.2.88"
-
-config KERNEL_V_3_1
- bool
- prompt "3.1.10 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_3_0
- bool
- prompt "3.0.101 (EOL)"
- depends on OBSOLETE
+source "config/versions/linux.in"
-config KERNEL_V_2_6_39
- bool
- prompt "2.6.39.4 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_2_6_38
- bool
- prompt "2.6.38.8 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_2_6_37
- bool
- prompt "2.6.37.6 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_2_6_36
- bool
- prompt "2.6.36.4 (EOL)"
- depends on OBSOLETE
-
-config KERNEL_V_2_6_35
+choice
bool
- prompt "2.6.35.9 (EOL)"
- depends on OBSOLETE
+ prompt "Kernel verbosity:"
+ default KERNEL_LINUX_VERBOSITY_0
-config KERNEL_V_2_6_34
+config KERNEL_LINUX_VERBOSITY_0
bool
- prompt "2.6.34.7 (EOL)"
- depends on OBSOLETE
+ prompt "Simplified"
+ help
+ Print simplified command lines.
-config KERNEL_V_2_6_33
+config KERNEL_LINUX_VERBOSITY_1
bool
- prompt "2.6.33.7 (EOL)"
- depends on OBSOLETE
+ prompt "Full commands"
+ help
+ Print full command lines.
-# EOL 11/2020 [CentOS6.x]
-config KERNEL_V_2_6_32
+config KERNEL_LINUX_VERBOSITY_2
bool
- prompt "2.6.32.27 (EOL)"
- depends on OBSOLETE
+ prompt "Exec reasons"
+ help
+ Print the reasons why a make target is rebuild.
endchoice
-config KERNEL_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "4.11.3" if KERNEL_V_4_11
- default "4.10.17" if KERNEL_V_4_10
- default "4.9.30" if KERNEL_V_4_9
- default "4.8.17" if KERNEL_V_4_8
- default "4.7.10" if KERNEL_V_4_7
- default "4.6.7" if KERNEL_V_4_6
- default "4.5.7" if KERNEL_V_4_5
- default "4.4.70" if KERNEL_V_4_4
- default "4.3.6" if KERNEL_V_4_3
- default "4.2.8" if KERNEL_V_4_2
- default "4.1.40" if KERNEL_V_4_1
- default "4.0.9" if KERNEL_V_4_0
- default "3.19.8" if KERNEL_V_3_19
- default "3.18.55" if KERNEL_V_3_18
- default "3.17.8" if KERNEL_V_3_17
- default "3.16.43" if KERNEL_V_3_16
- default "3.15.10" if KERNEL_V_3_15
- default "3.14.79" if KERNEL_V_3_14
- default "3.13.11" if KERNEL_V_3_13
- default "3.12.74" if KERNEL_V_3_12
- default "3.11.10" if KERNEL_V_3_11
- default "3.10.105" if KERNEL_V_3_10
- default "3.9.11" if KERNEL_V_3_9
- default "3.8.13" if KERNEL_V_3_8
- default "3.7.10" if KERNEL_V_3_7
- default "3.6.11" if KERNEL_V_3_6
- default "3.5.7" if KERNEL_V_3_5
- default "3.4.113" if KERNEL_V_3_4
- default "3.3.8" if KERNEL_V_3_3
- default "3.2.88" if KERNEL_V_3_2
- default "3.1.10" if KERNEL_V_3_1
- default "3.0.101" if KERNEL_V_3_0
- default "2.6.39.4" if KERNEL_V_2_6_39
- default "2.6.38.8" if KERNEL_V_2_6_38
- default "2.6.37.6" if KERNEL_V_2_6_37
- default "2.6.36.4" if KERNEL_V_2_6_36
- default "2.6.35.9" if KERNEL_V_2_6_35
- default "2.6.34.7" if KERNEL_V_2_6_34
- default "2.6.33.7" if KERNEL_V_2_6_33
- default "2.6.32.27" if KERNEL_V_2_6_32
+config KERNEL_LINUX_VERBOSE_LEVEL
+ int
+ default 0 if KERNEL_LINUX_VERBOSITY_0
+ default 1 if KERNEL_LINUX_VERBOSITY_1
+ default 2 if KERNEL_LINUX_VERBOSITY_2
-endif # ! KERNEL_LINUX_CUSTOM
+config KERNEL_LINUX_INSTALL_CHECK
+ bool
+ prompt "Check installed headers"
+ default y
+ help
+ If you are in doubt that installed headers are buggy, say 'Y'
+ here to have an extra check passed onto the headers.
diff --git a/config/kernel/linux.in.2 b/config/kernel/linux.in.2
deleted file mode 100644
index 80e13f3..0000000
--- a/config/kernel/linux.in.2
+++ /dev/null
@@ -1,40 +0,0 @@
-# Linux kernel options
-
-choice
- bool
- prompt "Kernel verbosity:"
- default KERNEL_LINUX_VERBOSITY_0
-
-config KERNEL_LINUX_VERBOSITY_0
- bool
- prompt "Simplified"
- help
- Print simplified command lines.
-
-config KERNEL_LINUX_VERBOSITY_1
- bool
- prompt "Full commands"
- help
- Print full command lines.
-
-config KERNEL_LINUX_VERBOSITY_2
- bool
- prompt "Exec reasons"
- help
- Print the reasons why a make target is rebuild.
-
-endchoice
-
-config KERNEL_LINUX_VERBOSE_LEVEL
- int
- default 0 if KERNEL_LINUX_VERBOSITY_0
- default 1 if KERNEL_LINUX_VERBOSITY_1
- default 2 if KERNEL_LINUX_VERBOSITY_2
-
-config KERNEL_LINUX_INSTALL_CHECK
- bool
- prompt "Check installed headers"
- default y
- help
- If you are in doubt that installed headers are buggy, say 'Y'
- here to have an extra check passed onto the headers.
diff --git a/config/kernel/windows.in b/config/kernel/windows.in
index 797c023..e649787 100644
--- a/config/kernel/windows.in
+++ b/config/kernel/windows.in
@@ -1,6 +1,6 @@
# windows config options
-## depends on ARCH_x86
+## depends on ARCH_X86
## depends on EXPERIMENTAL
##
## select WINDOWS
diff --git a/config/libc.in b/config/libc.in
index 708c3b6..c132fc6 100644
--- a/config/libc.in
+++ b/config/libc.in
@@ -2,23 +2,6 @@
menu "C-library"
-config LIBC
- string
-
-config LIBC_VERSION
- string
- help
- Enter the date of the snapshot you want to use in the form: YYYYMMDD
- where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
- day in the month.
-
- Please note:
- - glibc has snapshots done every monday, and only the last ten are kept.
- - uClibc has daily snapshots, and only the last 30-or-so are kept.
-
- So if you want to be able to re-build your toolchain later, you will
- have to save your C library tarball by yourself.
-
source "config/gen/libc.in"
config LIBC_SUPPORT_THREADS_ANY
@@ -47,7 +30,7 @@ config THREADS
string
default "none" if THREADS_NONE
-if ! LIBC_none
+if ! LIBC_NONE
comment "Common C library options"
@@ -123,8 +106,6 @@ config LIBC_XLDD
for the native ldd. Please see the help, by running it
with '--help' for more explanations.
-source "config/gen/libc.in.2"
-
-endif # ! LIBC_none
+endif # ! LIBC_NONE
endmenu
diff --git a/config/libc/avr-libc.in b/config/libc/avr-libc.in
index 2b8d891..836fed8 100644
--- a/config/libc/avr-libc.in
+++ b/config/libc/avr-libc.in
@@ -1,6 +1,6 @@
# avr-libc options
-## depends on ARCH_avr
+## depends on ARCH_AVR
## depends on ! LINUX && ! WINDOWS && BARE_METAL
##
## select LIBC_SUPPORT_THREADS_NONE
@@ -9,66 +9,11 @@
## help Atmel AVR 8-bit RISC microcontrollers. In addition, the library
## help provides the basic startup code needed by most applications.
-config LIBC_AVR_LIBC_CUSTOM
- bool
- prompt "Custom avr-libc"
- depends on EXPERIMENTAL
- help
- The choosen avr-libc version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if LIBC_AVR_LIBC_CUSTOM
+source "config/versions/avr-libc.in"
-config LIBC_AVR_LIBC_CUSTOM_LOCATION
+config LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY
string
- prompt "Full path to custom avr-libc source"
+ prompt "Extra config for avr-libc"
+ default ""
help
- Enter the path to the directory or tarball of your source for avr-libc.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, avr-libc, and the version is set
- below in the custom version string.
-
-config LIBC_AVR_LIBC_CUSTOM_VERSION
- string
- prompt "Custom AVR-Libc version"
- help
- Enter the version number for your custom avr-libc.
-
-config LIBC_VERSION
- string
- default LIBC_AVR_LIBC_CUSTOM_VERSION
-
-endif # LIBC_AVR_LIBC_CUSTOM
-
-if ! LIBC_AVR_LIBC_CUSTOM
-
-choice
- bool
- prompt "avr-libc version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBC_AVR_LIBC_V_2_0_0
- bool
- prompt "2.0.0"
-
-config LIBC_AVR_LIBC_V_1_8_1
- bool
- prompt "1.8.1"
-
-config LIBC_AVR_LIBC_V_1_8_0
- bool
- prompt "1.8.0"
-
-endchoice
-
-config LIBC_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.0.0" if LIBC_AVR_LIBC_V_2_0_0
- default "1.8.1" if LIBC_AVR_LIBC_V_1_8_1
- default "1.8.0" if LIBC_AVR_LIBC_V_1_8_0
-
-endif # ! LIBC_AVR_LIBC_CUSTOM
+ Extra flags to pass onto ./configure when configuring the avr-libc.
diff --git a/config/libc/avr-libc.in.2 b/config/libc/avr-libc.in.2
deleted file mode 100644
index 89a182f..0000000
--- a/config/libc/avr-libc.in.2
+++ /dev/null
@@ -1,8 +0,0 @@
-# avr-libc second-part options
-
-config LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY
- string
- prompt "Extra config for avr-libc"
- default ""
- help
- Extra flags to pass onto ./configure when configuring the avr-libc.
diff --git a/config/libc/bionic.in b/config/libc/bionic.in
index 9e04130..eafc482 100644
--- a/config/libc/bionic.in
+++ b/config/libc/bionic.in
@@ -1,9 +1,9 @@
# bionic options
## depends on ! WINDOWS && ! BARE_METAL
-## depends on ARCH_arm || ARCH_mips || ARCH_x86
+## depends on ARCH_ARM || ARCH_MIPS || ARCH_X86
## depends on EXPERIMENTAL
-## depends on CC_GCC_6_or_later
+## depends on GCC_6_or_later
##
## select LIBC_SUPPORT_THREADS_POSIX
##
@@ -11,98 +11,17 @@
## help This platform has no TLS (Thread Local Storage) support so that option must be
## help disabled in the Compiler options.
+source "config/versions/android-ndk.in"
+
config THREADS
default "posix"
-config LIBC_BIONIC_CUSTOM
- bool
- prompt "Custom bionic"
- help
- The chosen bionic-libc version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if LIBC_BIONIC_CUSTOM
-
-config LIBC_BIONIC_CUSTOM_LOCATION
- string
- prompt "Full path to custom bionic source"
- help
- Enter the path to the directory or tarball of your source for bionic.
-
- If the path is a zip archive, it should extract to: <name>-<version>/
- where the name is android-ndk, and the version is set
- below in the custom version string.
-
-config LIBC_BIONIC_CUSTOM_VERSION
- string
- prompt "Custom BIONIC version"
- help
- Enter the version number for your custom bionic.
-
-config LIBC_VERSION
- string
- default LIBC_BIONIC_CUSTOM_VERSION
-
-endif # LIBC_BIONIC_CUSTOM
-
-if ! LIBC_BIONIC_CUSTOM
-
-choice
- bool
- prompt "bionic version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBC_BIONIC_V_15beta1
- bool
- prompt "15beta1"
-
-config LIBC_BIONIC_V_14b
- bool
- prompt "14b"
-
-config LIBC_BIONIC_V_13b
- bool
- prompt "13b (OBSOLETE)"
- depends on OBSOLETE
-
-config LIBC_BIONIC_V_12b
- bool
- prompt "12b (OBSOLETE)"
- depends on OBSOLETE
-
-config LIBC_BIONIC_V_11c
- bool
- prompt "11c (OBSOLETE)"
- depends on OBSOLETE
-
-config LIBC_BIONIC_V_10e
- bool
- prompt "10e (OBSOLETE)"
- depends on OBSOLETE
-
-endchoice
-
-config LIBC_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "r15-beta1" if LIBC_BIONIC_V_15beta1
- default "r14b" if LIBC_BIONIC_V_14b
- default "r13b" if LIBC_BIONIC_V_13b
- default "r12b" if LIBC_BIONIC_V_12b
- default "r11c" if LIBC_BIONIC_V_11c
- default "r10e" if LIBC_BIONIC_V_10e
-
-endif # ! LIBC_BIONIC_CUSTOM
-
+# FIXME does API level depend on the bionic version? generate that, too?
choice
bool
prompt "Android API level"
help
The minimum for 64 bit support is 21.
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
config ANDROID_API_24
bool
@@ -169,8 +88,6 @@ endchoice
config ANDROID_API
string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
default "24" if ANDROID_API_24
default "23" if ANDROID_API_23
default "22" if ANDROID_API_22
@@ -184,4 +101,3 @@ config ANDROID_API
default "13" if ANDROID_API_13
default "12" if ANDROID_API_12
default "9" if ANDROID_API_9
-
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index 9e4ff56..363ab34 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -1,222 +1,289 @@
-# glibc options
+# This file contains the common configuration options
+# that apply to both glibc.
## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
-##
## select LIBC_SUPPORT_THREADS_NATIVE
## select CC_CORE_PASSES_NEEDED
+# TBD: select GETTEXT for build only, not for host
## select GETTEXT_NEEDED
-##
+## select BINUTILS_FORCE_LD_BFD_DEFAULT
+
## help The de-facto standard for Linux distributions.
## help Feature-rich, but large... Most useful for desktop-like systems.
+# GLIBC and kernel are special when it comes to obsoletion. Users
+# of crosstool-ng depend on the ability to build new toolchains matching
+# the kernel/libc versions of a particular target system, and LTS releases
+# are still using quite ancient versions. Please do not retire versions
+# (including versions in between) until the EOL dates indicated in version.desc.
+source "config/versions/glibc.in"
+if GLIBC_USE_PORTS_EXTERNAL
+source "config/versions/glibc-ports.in"
+endif
+
config THREADS
default "nptl"
-config LIBC_GLIBC_CUSTOM
- bool
- prompt "Custom glibc"
- depends on EXPERIMENTAL
- select LIBC_CUSTOM
- select LIBC_GLIBC_2_20_or_later
+# Known add-ons and when they exist(ed)
+# crypt external in 2.1, no longer an add-on since 2.2
+# libidn external in 2.3.4 .. 2.10, still an add-on
+# linuxthreads external in 2.0.1 .. 2.5, no longer available since 2.6 [*]
+# localedata external in 2.0.1 .. 2.0.6, no longer an add-on since 2.1 [*]
+# ports external in 2.3.4 .. 2.16, no longer an add-on since 2.20
+# nptl never external, no longer an add-on since 2.20
+#
+# Given the list of currently supported glibc releases, we only need to worry about
+# 'libidn', 'ports' and 'nptl' add-ons. Of these, only 'ports' can be an external
+# tarball; and only 'libidn' is user-selectable ('ports' & 'nptl' are selected
+# by crosstool-NG, as dictated by the architecture and thread model).
+#
+# I had trouble locating the sources in the repository for some of the released
+# versions. E.g., there is a 2.5 version of linuxthreads, but the tag for 2.5 in Git
+# does not have the linuxthreads directory at all. Similarly, 2.0.6 tag did not have
+# localedata. Since these releases are no longer supported by crosstool-NG, this is
+# of pure historical interest now, however.
+
+config GLIBC_HAS_NPTL_ADDON
+ def_bool y
+ depends on !GLIBC_2_20_or_later
+
+config GLIBC_HAS_PORTS_ADDON
+ def_bool y
+ depends on !GLIBC_2_20_or_later
+
+config GLIBC_HAS_PORTS_ADDON_EXTERNAL
+ def_bool y
+ depends on !GLIBC_2_17_or_later
+
+# In case it folds into main distribution in some future release, too
+config GLIBC_HAS_LIBIDN_ADDON
+ def_bool y
+
+# Some architectures require the ports addon. List them one by one here:
+# This list must be carefully in sync with the architectures names
+# we can find in config/arch/*
+config GLIBC_USE_PORTS_ADDON
+ def_bool y
+ depends on ARCH_ALPHA || ARCH_ARM || ARCH_M68K || ARCH_MIPS || ARCH_POWERPC
+ depends on GLIBC_HAS_PORTS_ADDON
+
+config GLIBC_USE_PORTS_EXTERNAL
+ def_bool y
+ depends on GLIBC_USE_PORTS_ADDON && GLIBC_HAS_PORTS_ADDON_EXTERNAL
+
+config GLIBC_USE_NPTL_ADDON
+ def_bool y
+ depends on THREADS_NATIVE && GLIBC_HAS_NPTL_ADDON
+
+config GLIBC_USE_LIBIDN_ADDON
+ bool "Build libidn add-on"
help
- The choosen glibc version shall be not downloaded. Instead use
- a custom location to get the source.
+ Enables the libidn add-on in GNU libc.
-if LIBC_GLIBC_CUSTOM
+# SPARCv8 support retired in 2.23
+config GLIBC_NO_SPARC_V8
+ def_bool y
+ depends on GLIBC_2_23_or_later
-config LIBC_GLIBC_CUSTOM_LOCATION
+config GLIBC_EXTRA_CONFIG_ARRAY
string
- prompt "Full path to custom glibc source"
+ prompt "extra config"
+ default ""
help
- Enter the path to the directory or tarball of your source for glibc.
+ Extra flags to pass onto ./configure when configuring.
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, glibc, and the version is set
- below in the custom version string.
+ You can enter multiple arguments here, and arguments can contain spaces
+ if they are properly quoted (or escaped, but prefer quotes). Eg.:
+ --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
-config LIBC_GLIBC_CUSTOM_VERSION
+config GLIBC_CONFIGPARMS
string
- prompt "Custom GLIBC version"
+ prompt "Extra config params (READ HELP)"
+ default "" if ! ARCH_SH
+ default "no-z-defs=yes" if ARCH_SH
help
- Enter the version number for your custom glibc.
+ Some architectures need to set options in the file configparms.
+ This is the case for sh3/4, which really need to set configparms
+ to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
+
+ Unless you are building a toolchain for sh3/4, you should leave that empty.
+
+ Note: If you need to pass more than one value, separate them with
+ '\n'. Eg.: var1=val1\nvar2=val2
-config LIBC_VERSION
+config GLIBC_EXTRA_CFLAGS
string
- default LIBC_GLIBC_CUSTOM_VERSION
-
-endif # LIBC_GLIBC_CUSTOM
-
-if ! LIBC_GLIBC_CUSTOM
+ prompt "extra target CFLAGS"
+ default ""
+ help
+ Extra target CFLAGS to use when building.
-config CC_GLIBC_SHOW_LINARO
+config GLIBC_ENABLE_FORTIFIED_BUILD
bool
- prompt "Show Linaro versions"
+ prompt "Enable fortified build (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
help
- Linaro is maintaining some advanced/more stable/experimental versions
- of glibc, especially for the ARM architecture.
-
- Those versions have not been blessed by the glibc comunity (nor have they
- been cursed either!), but they look to be pretty much stable, and even
- more stable than the upstream versions. YMMV...
+ If you say 'y' here, then glibc will be using fortified versions
+ of functions with format arguments (eg. vsyslog, printf...), and
+ do a sanity check on the format at runtime, to avoid some of the
+ common format string attacks.
- If you do not know what this Linaro stuff is, then simply say 'n' here,
- and rest in peace. OTOH, if you know what you are doing, you will be
- able to use and enjoy :-) the Linaro versions by saying 'y' here.
+ This is currently not supported, and will most probably result in
+ a broken build, with an error message like:
+ ../misc/syslog.c: In function '__vsyslog_chk':
+ ../misc/syslog.c:123: sorry, unimplemented: inlining failed in
+ call to 'syslog': function body not available
- Linaro: http://www.linaro.org/
+ If you are brave enough and want to debug the issue, then say 'y'
+ here. Otherwise, be still and say 'n' (the default). ;-)
-# GLIBC and kernel are special when it comes to obsoletion. Users
-# of crosstool-ng depend on the ability to build new toolchains matching
-# the kernel/libc versions of a particular target system, and LTS releases
-# are still using quite ancient versions. Please do not retire versions
-# (including versions in between) until the EOL dates indicated below.
-choice
- bool
- prompt "glibc version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBC_GLIBC_V_2_25
- bool
- prompt "2.25"
- select LIBC_GLIBC_2_23_or_later
-
-config LIBC_GLIBC_V_2_24
- bool
- prompt "2.24"
- select LIBC_GLIBC_2_23_or_later
-
-# EOL 04/2021 [Ubuntu16.04]
-config LIBC_GLIBC_V_2_23
- bool
- prompt "2.23"
- select LIBC_GLIBC_2_23_or_later
-config LIBC_GLIBC_V_2_22
+config GLIBC_DISABLE_VERSIONING
bool
- prompt "2.22 (OBSOLETE)"
- select LIBC_GLIBC_2_20_or_later
- depends on OBSOLETE
+ prompt "Disable symbols versioning"
+ help
+ Do not include versioning information in the library objects.
-config LIBC_GLIBC_V_2_21
- bool
- prompt "2.21 (OBSOLETE)"
- select LIBC_GLIBC_2_20_or_later
- depends on OBSOLETE
+config GLIBC_OLDEST_ABI
+ string
+ prompt "Oldest supported ABI"
+ default ""
+ help
+ Set the oldest ABI supported by the C library.
+
+ Setting this option, for example, to 2.2 will provide ABI support
+ back to (e)glibc-2.2.
-config LIBC_GLIBC_LINARO_V_2_20
- bool
- prompt "Linaro 2.20-2014.11 (OBSOLETE)"
- select LIBC_GLIBC_2_20_or_later
- depends on CC_GLIBC_SHOW_LINARO
- depends on OBSOLETE
+ If this option is not set, (e)glibc will choose for you.
-config LIBC_GLIBC_V_2_20
+config GLIBC_FORCE_UNWIND
bool
- prompt "2.20 (OBSOLETE)"
- select LIBC_GLIBC_2_20_or_later
- depends on OBSOLETE
+ prompt "Force unwind support (READ HELP!)"
+ default y
+ help
+ If your toolchain fails building while building the C library
+ start files, or the complete C library, with a message like:
+ configure: error: forced unwind support is required
+
+ then you may try changing this option. Otherwise, leave it to
+ the default 'y'.
+
+ The issue seems to be related to building NPTL on old versions
+ of glibc on some architectures
+ (seen on s390, s390x and x86_64).
-# EOL 04/2019 [Ubuntu14.04]
-config LIBC_GLIBC_V_2_19
+config GLIBC_LOCALES
bool
- prompt "2.19 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_GLIBC_2_17_or_later
-
-config LIBC_GLIBC_V_2_18
+ prompt "Build and install locales"
+ help
+ Whether to build and install the libc locale files for the target,
+ which is required in order to support internationalization.
+
+if LIBC_GLIBC && GLIBC_LOCALES
+comment "WARNING! "
+comment "| The built locales will be usable if and only if the build "
+comment "| machine and the target: "
+comment "| - have the same endianness, "
+comment "| - and have the same alignment requirements for uint32_t. "
+comment "| You will have to check by yourself (for now). "
+comment "WARNING! "
+comment "| Building GLIBC locales requires that GLIBC supports "
+comment "| the build machine as the target. "
+endif # LIBC_GLIBC && GLIBC_LOCALES
+
+if KERNEL_LINUX
+
+choice GLIBC_SUPPORTED_KERNEL
bool
- prompt "2.18 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_GLIBC_2_17_or_later
+ prompt "Minimum supported kernel version"
+ default GLIBC_KERNEL_VERSION_AS_HEADERS
-# EOL 06/2024 [CentOS7.x]
-config LIBC_GLIBC_V_2_17
+config GLIBC_KERNEL_VERSION_NONE
bool
- prompt "2.17 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_GLIBC_2_17_or_later
-
-config LIBC_GLIBC_V_2_16_0
+ prompt "Let ./configure decide"
+ help
+ Let ./configure decide what minimum kernel version glibc will be
+ able to run against.
+
+ This will include legacy compatibility code for older kernels in
+ the C library, thus ensuring that it will run on a large number
+ of old kernels.
+
+ The minimum kernel version supported will be dependent upon the
+ target you build for. For example:
+ alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
+ sh[34]-*-linux-gnu Requires Linux 2.6.11
+ powerpc* Requires Linux 2.4.19
+ arm*-*-linux-*gnueabi Requires Linux 2.6.16
+
+config GLIBC_KERNEL_VERSION_AS_HEADERS
bool
- prompt "2.16.0 (OBSOLETE)"
- depends on OBSOLETE
+ prompt "Same as kernel headers (default)"
+ help
+ Normally, you'll want glibc to run against the same kernel
+ version as the one used for the headers.
+
+ This is the default.
+
+ If enabled, crosstool-ng will use the chosen version of kernel
+ headers for the glibc minimum kernel version supported, which is
+ what gets passed to "--enable-kernel=" when configuring glibc.
+
+ Enabling this will ensure that no legacy compatibility code for
+ older kernels is built into your C libraries, but it will
+ be unable to run on kernel versions older than whichever kernel
+ headers version you've built the toolchain for.
+
+ If you know for sure that your toolchain will never need to build
+ applications that will run under a kernel version older than your
+ chosen kernel headers version (CT_KERNEL_VERSION), you can choose
+ "y" here.
-# EOL 04/2017 [Ubuntu12.04]
-config LIBC_GLIBC_V_2_15
+config GLIBC_KERNEL_VERSION_CHOSEN
bool
- prompt "2.15 (OBSOLETE)"
- depends on OBSOLETE
+ prompt "Specific kernel version"
+ help
+ Specify the earliest Linux kernel version you want glibc to
+ include support for. This does not have to match the kernel
+ headers version used for your toolchain. This controls what is
+ passed to the "--enable-kernel=" option to the glibc configure
+ script.
-config LIBC_GLIBC_V_2_14_1
- bool
- prompt "2.14.1 (OBSOLETE)"
- depends on OBSOLETE
+ If you want to be able to statically link programs with your
+ toolchain's C library, make sure this kernel version is lower than
+ all kernels you wish to support to avoid "FATAL: kernel too old"
+ errors. The higher the version you specify, the less legacy code
+ will be built into libc.
-config LIBC_GLIBC_V_2_14
- bool
- prompt "2.14 (OBSOLETE)"
- depends on OBSOLETE
+ Most people can leave this at the default value of "2.6.9".
-config LIBC_GLIBC_V_2_13
- bool
- prompt "2.13 (OBSOLETE)"
- depends on OBSOLETE
+if GLIBC_KERNEL_VERSION_CHOSEN
-# This version did not have glibc-ports addon released
-config LIBC_GLIBC_V_2_12_2
- bool
- prompt "2.12.2 (OBSOLETE)"
- depends on OBSOLETE
- depends on !LIBC_GLIBC_NEEDS_PORTS
+config GLIBC_MIN_KERNEL_VERSION
+ string
+ prompt "Minimum kernel version to support"
+ default "2.6.9"
+ help
+ Enter here the lowest kernel version glibc will be able to run against.
+
+ The minimum kernel version supported will be dependent upon the
+ target you build for. For example:
+ alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
+ sh[34]-*-linux-gnu Requires Linux 2.6.11
+ powerpc* Requires Linux 2.4.19
+ arm*-*-linux-*gnueabi Requires Linux 2.6.16
+
+ Note that no sanity check is performed by crosstool-NG to ensure
+ that the value you enter here is appropriate for your target.
-# EOL 11/2020 [CentOS6.x]
-config LIBC_GLIBC_V_2_12_1
- bool
- prompt "2.12.1 (OBSOLETE)"
- depends on OBSOLETE
+endif # GLIBC_KERNEL_VERSION_CHOSEN
endchoice
-endif # ! LIBC_GLIBC_CUSTOM
-
-# Checked by SPARC build: SPARCv8 is dropped in 2.23.
-config LIBC_GLIBC_2_23_or_later
- select LIBC_GLIBC_2_20_or_later
- bool
-
-# DeMark 2.20 as no longer needs to set NPTL as an addon.
-# It is no longer possible to build glibc without pthread!
-config LIBC_GLIBC_2_20_or_later
- bool
- select LIBC_GLIBC_2_17_or_later
-
-# DeMark no more ports
-config LIBC_GLIBC_2_17_or_later
- bool
-
-if ! LIBC_GLIBC_CUSTOM
-
-config LIBC_VERSION
+config GLIBC_MIN_KERNEL
string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.25" if LIBC_GLIBC_V_2_25
- default "2.24" if LIBC_GLIBC_V_2_24
- default "2.23" if LIBC_GLIBC_V_2_23
- default "2.22" if LIBC_GLIBC_V_2_22
- default "2.21" if LIBC_GLIBC_V_2_21
- default "linaro-2.20-2014.11" if LIBC_GLIBC_LINARO_V_2_20
- default "2.20" if LIBC_GLIBC_V_2_20
- default "2.19" if LIBC_GLIBC_V_2_19
- default "2.18" if LIBC_GLIBC_V_2_18
- default "2.17" if LIBC_GLIBC_V_2_17
- default "2.16.0" if LIBC_GLIBC_V_2_16_0
- default "2.15" if LIBC_GLIBC_V_2_15
- default "2.14.1" if LIBC_GLIBC_V_2_14_1
- default "2.14" if LIBC_GLIBC_V_2_14
- default "2.13" if LIBC_GLIBC_V_2_13
- default "2.12.2" if LIBC_GLIBC_V_2_12_2
- default "2.12.1" if LIBC_GLIBC_V_2_12_1
-
-endif # ! LIBC_GLIBC_CUSTOM
+ default "" if GLIBC_KERNEL_VERSION_NONE
+ default LINUX_VERSION if GLIBC_KERNEL_VERSION_AS_HEADERS
+ default GLIBC_MIN_KERNEL_VERSION if GLIBC_KERNEL_VERSION_CHOSEN
+
+endif # KERNEL_LINUX
diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2
deleted file mode 100644
index 93b7b59..0000000
--- a/config/libc/glibc.in.2
+++ /dev/null
@@ -1,245 +0,0 @@
-# This file contains the common configuration options
-# that apply to both glibc.
-
-# Some architectures require the ports addon. List them one by one here:
-# This list must be carefully in sync with the architectures names
-# we can find in config/arch/*
-
-# Ports were integrated into the main tarball in 2.17
-config LIBC_GLIBC_PORTS_EXTERNAL
- def_bool y
- depends on !LIBC_GLIBC_2_17_or_later
-
-config LIBC_GLIBC_NEEDS_PORTS
- def_bool y
- depends on ARCH_alpha || ARCH_arm || ARCH_m68k || ARCH_mips || ARCH_powerpc
-
-# Ports are no longer an add-on starting with 2.20
-config LIBC_GLIBC_USE_PORTS
- def_bool y
- depends on LIBC_GLIBC_NEEDS_PORTS && !LIBC_GLIBC_2_20_or_later
-
-# Force using the BFD linker during the toolchain build
-config LIBC_glibc_family
- bool
- default y
- select BINUTILS_FORCE_LD_BFD_DEFAULT
-
-config LIBC_GLIBC_EXTRA_CONFIG_ARRAY
- string
- prompt "extra config"
- default ""
- help
- Extra flags to pass onto ./configure when configuring.
-
- You can enter multiple arguments here, and arguments can contain spaces
- if they are properly quoted (or escaped, but prefer quotes). Eg.:
- --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
-
-config LIBC_GLIBC_CONFIGPARMS
- string
- prompt "Extra config params (READ HELP)"
- default "" if ! ARCH_sh
- default "no-z-defs=yes" if ARCH_sh
- help
- Some architectures need to set options in the file configparms.
- This is the case for sh3/4, which really need to set configparms
- to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
-
- Unless you are building a toolchain for sh3/4, you should leave that empty.
-
- Note: If you need to pass more than one value, separate them with
- '\n'. Eg.: var1=val1\nvar2=val2
-
-config LIBC_GLIBC_EXTRA_CFLAGS
- string
- prompt "extra target CFLAGS"
- default ""
- help
- Extra target CFLAGS to use when building.
-
-config LIBC_ENABLE_FORTIFIED_BUILD
- bool
- prompt "Enable fortified build (EXPERIMENTAL)"
- depends on EXPERIMENTAL
- help
- If you say 'y' here, then glibc will be using fortified versions
- of functions with format arguments (eg. vsyslog, printf...), and
- do a sanity check on the format at runtime, to avoid some of the
- common format string attacks.
-
- This is currently not supported, and will most probably result in
- a broken build, with an error message like:
- ../misc/syslog.c: In function '__vsyslog_chk':
- ../misc/syslog.c:123: sorry, unimplemented: inlining failed in
- call to 'syslog': function body not available
-
- If you are brave enough and want to debug the issue, then say 'y'
- here. Otherwise, be still and say 'n' (the default). ;-)
-
-
-config LIBC_DISABLE_VERSIONING
- bool
- prompt "Disable symbols versioning"
- help
- Do not include versioning information in the library objects.
-
-config LIBC_OLDEST_ABI
- string
- prompt "Oldest supported ABI"
- default ""
- help
- Set the oldest ABI supported by the C library.
-
- Setting this option, for example, to 2.2 will provide ABI support
- back to (e)glibc-2.2.
-
- If this option is not set, (e)glibc will choose for you.
-
-config LIBC_GLIBC_FORCE_UNWIND
- bool
- prompt "Force unwind support (READ HELP!)"
- default y
- help
- If your toolchain fails building while building the C library
- start files, or the complete C library, with a message like:
- configure: error: forced unwind support is required
-
- then you may try changing this option. Otherwise, leave it to
- the default 'y'.
-
- The issue seems to be related to building NPTL on old versions
- of glibc on some architectures
- (seen on s390, s390x and x86_64).
-
-config LIBC_ADDONS_LIST
- string
- prompt "Extra addons"
- default ""
- help
- Extra addons to include. Space separated list.
-
- You need to specify neither linuxthreads nor nptl, as they are added
- automagically for you depending on the threading model you chose
- earlier and on libc version selected.
-
- Also, do not specify ports even if applicable to the selected libc
- version/architecture; it is selected automatically.
-
- Eg.: libidn
-
-config LIBC_LOCALES
- bool
- prompt "Build and install locales"
- help
- Whether to build and install the libc locale files for the target,
- which is required in order to support internationalization.
-
-if LIBC_glibc && LIBC_LOCALES
-comment "WARNING! "
-comment "| The built locales will be usable if and only if the build "
-comment "| machine and the target: "
-comment "| - have the same endianness, "
-comment "| - and have the same alignment requirements for uint32_t. "
-comment "| You will have to check by yourself (for now). "
-comment "WARNING! "
-comment "| Building GLIBC locales requires that GLIBC supports "
-comment "| the build machine as the target. "
-endif # LIBC_glibc && LIBC_LOCALES
-
-if KERNEL_linux
-
-choice LIBC_GLIBC_SUPPORTED_KERNEL
- bool
- prompt "Minimum supported kernel version"
- default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
-
-config LIBC_GLIBC_KERNEL_VERSION_NONE
- bool
- prompt "Let ./configure decide"
- help
- Let ./configure decide what minimum kernel version glibc will be
- able to run against.
-
- This will include legacy compatibility code for older kernels in
- the C library, thus ensuring that it will run on a large number
- of old kernels.
-
- The minimum kernel version supported will be dependent upon the
- target you build for. For example:
- alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
- sh[34]-*-linux-gnu Requires Linux 2.6.11
- powerpc* Requires Linux 2.4.19
- arm*-*-linux-*gnueabi Requires Linux 2.6.16
-
-config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
- bool
- prompt "Same as kernel headers (default)"
- help
- Normally, you'll want glibc to run against the same kernel
- version as the one used for the headers.
-
- This is the default.
-
- If enabled, crosstool-ng will use the chosen version of kernel
- headers for the glibc minimum kernel version supported, which is
- what gets passed to "--enable-kernel=" when configuring glibc.
-
- Enabling this will ensure that no legacy compatibility code for
- older kernels is built into your C libraries, but it will
- be unable to run on kernel versions older than whichever kernel
- headers version you've built the toolchain for.
-
- If you know for sure that your toolchain will never need to build
- applications that will run under a kernel version older than your
- chosen kernel headers version (CT_KERNEL_VERSION), you can choose
- "y" here.
-
-config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
- bool
- prompt "Specific kernel version"
- help
- Specify the earliest Linux kernel version you want glibc to
- include support for. This does not have to match the kernel
- headers version used for your toolchain. This controls what is
- passed to the "--enable-kernel=" option to the glibc configure
- script.
-
- If you want to be able to statically link programs with your
- toolchain's C library, make sure this kernel version is lower than
- all kernels you wish to support to avoid "FATAL: kernel too old"
- errors. The higher the version you specify, the less legacy code
- will be built into libc.
-
- Most people can leave this at the default value of "2.6.9".
-
-if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
-
-config LIBC_GLIBC_MIN_KERNEL_VERSION
- string
- prompt "Minimum kernel version to support"
- default "2.6.9"
- help
- Enter here the lowest kernel version glibc will be able to run against.
-
- The minimum kernel version supported will be dependent upon the
- target you build for. For example:
- alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
- sh[34]-*-linux-gnu Requires Linux 2.6.11
- powerpc* Requires Linux 2.4.19
- arm*-*-linux-*gnueabi Requires Linux 2.6.16
-
- Note that no sanity check is performed by crosstool-NG to ensure
- that the value you enter here is appropriate for your target.
-
-endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
-
-endchoice
-
-config LIBC_GLIBC_MIN_KERNEL
- string
- default "" if LIBC_GLIBC_KERNEL_VERSION_NONE
- default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
- default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
-
-endif # KERNEL_linux
diff --git a/config/libc/mingw-w64.in b/config/libc/mingw-w64.in
new file mode 100644
index 0000000..769c976
--- /dev/null
+++ b/config/libc/mingw-w64.in
@@ -0,0 +1,39 @@
+# mingw options
+
+## depends on WINDOWS
+##
+## select LIBC_SUPPORT_THREADS_NATIVE
+## select LIBC_SUPPORT_THREADS_POSIX
+## select CC_CORE_PASS_2_NEEDED
+##
+## help The de-facto standard for Mingw distributions.
+
+source "config/versions/mingw-w64.in"
+
+config THREADS
+ default "win32" if THREADS_NATIVE
+ default "posix" if THREADS_POSIX
+
+config MINGW_SECURE_API
+ bool "Expose secure API prototypes"
+ default y
+
+config MINGW_DIRECTX
+ bool "Include DirectX development files"
+
+config MINGW_DDK
+ bool "Include DDK development files"
+
+config MINGW_TOOLS
+ bool "Include the companion tools"
+ default y
+ help
+ Build the companion tools with mingw such as widl, gendef,
+ and genpeimg.
+
+config MINGW_TOOL_LIST_ARRAY
+ string "List of mingw-w64 tools to build"
+ default "gendef genidl genlib genpeimg widl"
+ depends on MINGW_TOOLS
+ help
+ List of mingw-w64 tools to build.
diff --git a/config/libc/mingw.in b/config/libc/mingw.in
deleted file mode 100644
index 0ca1823..0000000
--- a/config/libc/mingw.in
+++ /dev/null
@@ -1,159 +0,0 @@
-# mingw options
-
-## depends on WINDOWS
-##
-## select LIBC_SUPPORT_THREADS_NATIVE
-## select LIBC_SUPPORT_THREADS_POSIX
-## select CC_CORE_PASS_2_NEEDED
-##
-## help The de-facto standard for Mingw distributions.
-
-config THREADS
- default "win32" if THREADS_NATIVE
- default "posix" if THREADS_POSIX
-
-choice
- bool
- prompt "Windows API version"
-
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config WINAPI_V_5_0_2
- bool
- prompt "5.0.2"
-
-config WINAPI_V_5_0_1
- bool
- prompt "5.0.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_5_0_0
- bool
- prompt "5.0.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_4_0_6
- bool
- prompt "4.0.6"
-
-config WINAPI_V_4_0_5
- bool
- prompt "4.0.5 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_4_0_4
- bool
- prompt "4.0.4 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_4_0_2
- bool
- prompt "4.0.2 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_4_0_1
- bool
- prompt "4.0.1 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_4_0_0
- bool
- prompt "4.0.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_3_3_0
- bool
- prompt "3.3.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_3_2_0
- bool
- prompt "3.2.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_3_1_0
- bool
- prompt "3.1.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_3_0_0
- bool
- prompt "3.0.0 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_2_0_9
- bool
- prompt "2.0.9 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_2_0_8
- bool
- prompt "2.0.8 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_2_0_7
- bool
- prompt "2.0.7 (OBSOLETE)"
- depends on OBSOLETE
-
-config WINAPI_V_select
- bool
- prompt "Other version"
-
-config WINAPI_V_DEVEL
- bool
- prompt "devel"
- depends on EXPERIMENTAL
- depends on CONFIGURE_has_git
-
-endchoice
-
-config WINAPI_VERSION
- string
- prompt "Windows API version" if WINAPI_V_select
- default "devel" if WINAPI_V_DEVEL
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "5.0.2" if WINAPI_V_5_0_2
- default "5.0.1" if WINAPI_V_5_0_1
- default "5.0.0" if WINAPI_V_5_0_0
- default "4.0.6" if WINAPI_V_4_0_6
- default "4.0.5" if WINAPI_V_4_0_5
- default "4.0.4" if WINAPI_V_4_0_4
- default "4.0.2" if WINAPI_V_4_0_2
- default "4.0.1" if WINAPI_V_4_0_1
- default "4.0.0" if WINAPI_V_4_0_0
- default "3.3.0" if WINAPI_V_3_3_0
- default "3.2.0" if WINAPI_V_3_2_0
- default "3.1.0" if WINAPI_V_3_1_0
- default "3.0.0" if WINAPI_V_3_0_0
- default "2.0.9" if WINAPI_V_2_0_9
- default "2.0.8" if WINAPI_V_2_0_8
- default "2.0.7" if WINAPI_V_2_0_7
- help
- Enter the version number of the Windows API files to use
-
-config MINGW_SECURE_API
- bool "Expose secure API prototypes"
- default y
-
-config MINGW_DIRECTX
- bool "Include DirectX development files"
-
-config MINGW_DDK
- bool "Include DDK development files"
-
-config MINGW_TOOLS
- bool "Include the companion tools"
- default y
- help
- Build the companion tools with mingw such as widl, gendef,
- and genpeimg.
-
-config MINGW_TOOL_LIST_ARRAY
- string "List of mingw-w64 tools to build"
- default "gendef genidl genlib genpeimg widl"
- depends on MINGW_TOOLS
- help
- List of mingw-w64 tools to build.
diff --git a/config/libc/musl.in b/config/libc/musl.in
index 5ea166f..e16e85a 100644
--- a/config/libc/musl.in
+++ b/config/libc/musl.in
@@ -1,75 +1,66 @@
-# musl options
+# musl second-part option
## depends on ! WINDOWS && ! BARE_METAL
## depends on EXPERIMENTAL
-##
## select LIBC_SUPPORT_THREADS_NATIVE
## select CC_CORE_PASSES_NEEDED
-##
+
## help Musl is a new standard library to power a new generation of Linux-based
## help devices. musl is lightweight, fast, simple, free, and strives to be
## help correct in the sense of standards-conformance and safety.
+source "config/versions/musl.in"
+
+# TBD why? it claims "native", why report "musl"?
config THREADS
default "musl"
-config LIBC_MUSL_CUSTOM
+config LIBC_MUSL_DEBUG
bool
- prompt "Custom musl"
- depends on EXPERIMENTAL
+ prompt "Build with debugging information"
help
- The choosen musl-libc version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if LIBC_MUSL_CUSTOM
+ This option enables debugging information, this will increase the size of
+ the resulting library.
-config LIBC_MUSL_CUSTOM_LOCATION
- string
- prompt "Full path to custom musl-libc source"
+config LIBC_MUSL_WARNINGS
+ bool
+ prompt "Build with recommended warnings flags"
help
- Enter the path to the directory or tarball of your source for musl.
+ Build musl-libc with extra warnings, useful for musl-libc development.
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, musl, and the version is set
- below in the custom version string.
+choice
+ prompt "How to optimize musl-libc"
+ default LIBC_MUSL_OPTIMIZE_AUTO
-config LIBC_MUSL_CUSTOM_VERSION
- string
- prompt "Custom MUSL version"
+config LIBC_MUSL_OPTIMIZE_NONE
+ bool
+ prompt "Do not optimize musl-libc"
help
- Enter the version number for your custom musl-libc.
+ This option sets `--enable-optimize=no' to disable optimization.
-config LIBC_VERSION
- string
- default LIBC_MUSL_CUSTOM_VERSION
-
-endif # LIBC_MUSL_CUSTOM
-
-if ! LIBC_MUSL_CUSTOM
-
-choice
+config LIBC_MUSL_OPTIMIZE_AUTO
bool
- prompt "musl version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
+ prompt "Use musl-libc's automatic optimization"
+ help
+ This option sets `--enable-optimize=auto' to automatically set optimization.
-config LIBC_MUSL_V_1_1_16
+config LIBC_MUSL_OPTIMIZE_SPEED
bool
- prompt "1.1.16"
- depends on EXPERIMENTAL
+ prompt "Optimize musl-libc for speed"
+ help
+ This option sets `--enable-optimize=yes' to set optimization to -O3 for speed.
-config LIBC_MUSL_V_1_1_15
+config LIBC_MUSL_OPTIMIZE_SIZE
bool
- prompt "1.1.15 (OBSOLETE)"
- depends on EXPERIMENTAL && OBSOLETE
+ prompt "Optimize musl-libc for size"
+ help
+ This option sets `--enable-optimize=size' to set optimization to -Os for size.
endchoice
-config LIBC_VERSION
+config LIBC_MUSL_OPTIMIZE
string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.1.16" if LIBC_MUSL_V_1_1_16
- default "1.1.15" if LIBC_MUSL_V_1_1_15
-
-endif # ! LIBC_MUSL_CUSTOM
+ default "no" if LIBC_MUSL_OPTIMIZE_NONE
+ default "auto" if LIBC_MUSL_OPTIMIZE_AUTO
+ default "yes" if LIBC_MUSL_OPTIMIZE_SPEED
+ default "size" if LIBC_MUSL_OPTIMIZE_SIZE
diff --git a/config/libc/musl.in.2 b/config/libc/musl.in.2
deleted file mode 100644
index f4abcc4..0000000
--- a/config/libc/musl.in.2
+++ /dev/null
@@ -1,51 +0,0 @@
-# musl second-part option
-
-config LIBC_MUSL_DEBUG
- bool
- prompt "Build with debugging information"
- help
- This option enables debugging information, this will increase the size of
- the resulting library.
-
-config LIBC_MUSL_WARNINGS
- bool
- prompt "Build with recommended warnings flags"
- help
- Build musl-libc with extra warnings, useful for musl-libc development.
-
-choice
- prompt "How to optimize musl-libc"
- default LIBC_MUSL_OPTIMIZE_AUTO
-
-config LIBC_MUSL_OPTIMIZE_NONE
- bool
- prompt "Do not optimize musl-libc"
- help
- This option sets `--enable-optimize=no' to disable optimization.
-
-config LIBC_MUSL_OPTIMIZE_AUTO
- bool
- prompt "Use musl-libc's automatic optimization"
- help
- This option sets `--enable-optimize=auto' to automatically set optimization.
-
-config LIBC_MUSL_OPTIMIZE_SPEED
- bool
- prompt "Optimize musl-libc for speed"
- help
- This option sets `--enable-optimize=yes' to set optimization to -O3 for speed.
-
-config LIBC_MUSL_OPTIMIZE_SIZE
- bool
- prompt "Optimize musl-libc for size"
- help
- This option sets `--enable-optimize=size' to set optimization to -Os for size.
-
-endchoice
-
-config LIBC_MUSL_OPTIMIZE
- string
- default "no" if LIBC_MUSL_OPTIMIZE_NONE
- default "auto" if LIBC_MUSL_OPTIMIZE_AUTO
- default "yes" if LIBC_MUSL_OPTIMIZE_SPEED
- default "size" if LIBC_MUSL_OPTIMIZE_SIZE
diff --git a/config/libc/newlib.in b/config/libc/newlib.in
index 68e8b62..f43a67d 100644
--- a/config/libc/newlib.in
+++ b/config/libc/newlib.in
@@ -1,220 +1,219 @@
# newlib options
## depends on BARE_METAL
-##
## select LIBC_SUPPORT_THREADS_NONE
## select CC_CORE_PASSES_NEEDED if CANADIAN
## select CC_CORE_PASS_2_NEEDED if ! CANADIAN
-##
+
## help Newlib is a C library intended for use on embedded systems. It is a
## help conglomeration of several library parts, all under free software
## help licenses that make them easily usable on embedded products. Newlib
## help is only available in source form. It can be compiled for a wide
## help array of processors, and will usually work on any architecture with
## help the addition of a few low-level routines.
-#
-config LIBC_NEWLIB_CUSTOM
- bool
- prompt "Custom newlib"
- depends on EXPERIMENTAL
- select LIBC_NEWLIB_2_5_or_later
- help
- The choosen newlib version shall be not downloaded. Instead use
- a custom location to get the source.
-if LIBC_NEWLIB_CUSTOM
+source "config/versions/newlib.in"
-config LIBC_NEWLIB_CUSTOM_LOCATION
- string
- prompt "Full path to custom newlib source"
- help
- Enter the path to the directory or tarball of your source for newlib.
+# maybe older versions of newlib will support it too, but this
+# needs to be checked
+config NEWLIB_CXA_ATEXIT
+ def_bool y
+ depends on NEWLIB_2_0_or_later
+ select LIBC_PROVIDES_CXA_ATEXIT
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component, newlib, and the version is set
- below in the custom version string.
+config NEWLIB_HAS_NANO_MALLOC
+ def_bool y
+ depends on NEWLIB_2_1_or_later
-config LIBC_NEWLIB_CUSTOM_VERSION
- string
- prompt "Custom NEWLIB version"
- help
- Enter the version number for your custom newlib.
+config NEWLIB_HAS_NANO_FORMATTED_IO
+ def_bool y
+ depends on NEWLIB_2_2_or_later
-config LIBC_VERSION
+config LIBC_NEWLIB_TARGET_CFLAGS
string
- default LIBC_NEWLIB_CUSTOM_VERSION
-
-endif # LIBC_NEWLIB_CUSTOM
-
-if ! LIBC_NEWLIB_CUSTOM
-
-config CC_NEWLIB_SHOW_LINARO
- bool
- prompt "Show Linaro versions"
+ prompt "Target CFLAGS for newlib"
+ default ""
help
- Linaro is maintaining some advanced/more stable/experimental versions
- of newlib, especially for the ARM architecture.
-
- Those versions have not been blessed by the newlib comunity (nor have they
- been cursed either!), but they look to be pretty much stable, and even
- more stable than the upstream versions. YMMV...
-
- If you do not know what this Linaro stuff is, then simply say 'n' here,
- and rest in peace. OTOH, if you know what you are doing, you will be
- able to use and enjoy :-) the Linaro versions by saying 'y' here.
-
- Linaro: http://www.linaro.org/
-
-choice
- bool
- prompt "newlib version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-config LIBC_NEWLIB_V_2_5_0
- bool
- prompt "2.5.0.20170519"
- select LIBC_NEWLIB_2_5
+ Used to add specific options when compiling the target libraries
+ (eg. -ffunction-sections -fdata-sections), which can't be defined
+ in global TARGET_CFLAGS, because they shall be not used for the
+ gcc target libraries.
+ Note: Both TARGET_CFLAGS and LIBC_NEWLIB_TARGET_CFLAGS are used
+ to compile the libraries.
-config LIBC_NEWLIB_V_2_4_0
- bool
- prompt "2.4.0.20161025"
- select LIBC_NEWLIB_2_4
+ Leave blank if you don't know better.
-config LIBC_NEWLIB_V_2_3_0
+config LIBC_NEWLIB_IO_C99FMT
bool
- prompt "2.3.0.20160226"
- select LIBC_NEWLIB_2_3
+ prompt "Enable IOs on C99 formats"
+ help
+ Enable support for IOs on C99 formats.
-config LIBC_NEWLIB_LINARO_V_2_2_0
+config LIBC_NEWLIB_IO_LL
bool
- prompt "Linaro 2.2.0-2015.01"
- depends on CC_NEWLIB_SHOW_LINARO
- select LIBC_NEWLIB_2_2
+ prompt "Enable IOs on long long"
+ help
+ Enable support for IOs on long long integers.
-config LIBC_NEWLIB_V_2_2_0
+config LIBC_NEWLIB_IO_FLOAT
bool
- prompt "2.2.0.20151023"
- select LIBC_NEWLIB_2_2
+ prompt "Enable IOs on floats and doubles"
+ help
+ Enable support for IOs on floating point
+ values (float and double).
-config LIBC_NEWLIB_LINARO_V_2_1_0
+config LIBC_NEWLIB_IO_LDBL
bool
- prompt "Linaro 2.1.0-2014.09"
- depends on CC_NEWLIB_SHOW_LINARO
- select LIBC_NEWLIB_2_1
+ prompt "Enable IOs on long doubles"
+ depends on LIBC_NEWLIB_IO_FLOAT
+ help
+ Enable support for IOs on long doubles.
-config LIBC_NEWLIB_V_2_1_0
+config LIBC_NEWLIB_IO_POS_ARGS
bool
- prompt "2.1.0"
- select LIBC_NEWLIB_2_1
+ prompt "Enable printf-family positional arg support"
+ help
+ Enable printf-family positional arg support.
-config LIBC_NEWLIB_V_2_0_0
+config LIBC_NEWLIB_FVWRITE_IN_STREAMIO
bool
- prompt "2.0.0"
- select LIBC_NEWLIB_2_0
+ prompt "Vector buffer mechanism to support stream IO buffering"
+ default y
+ help
+ NEWLIB implements the vector buffer mechanism to support stream IO
+ buffering required by C standard. This feature is possibly
+ unnecessary for embedded systems which won't change file buffering
+ with functions like `setbuf' or `setvbuf'. The buffering mechanism
+ still acts as default for STDIN/STDOUT/STDERR even if this option
+ is specified.
-config LIBC_NEWLIB_V_1_20_0
+config LIBC_NEWLIB_UNBUF_STREAM_OPT
bool
- prompt "1.20.0"
+ prompt "Optimize fprintf to unbuffered unix file"
+ default y
+ help
+ NEWLIB does optimization when `fprintf to write only unbuffered unix
+ file'. It creates a temorary buffer to do the optimization that
+ increases stack consumption by about `BUFSIZ' bytes. Disabling this option
+ disables the optimization and saves size of text and stack.
-config LIBC_NEWLIB_V_1_19_0
+config LIBC_NEWLIB_FSEEK_OPTIMIZATION
bool
- prompt "1.19.0"
+ prompt "Fseek optimisation"
+ default y
+ help
+ Disabling fseek optimisation can decrease code size.
-config LIBC_NEWLIB_V_1_18_0
+config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
bool
- prompt "1.18.0"
+ prompt "Disable the syscalls supplied with newlib"
+ help
+ Disable the syscalls that come with newlib. You
+ will have to implement your own _sbrk, _read,
+ _write... If you plan to port newlib to a new
+ platform/board, say Yes.
-config LIBC_NEWLIB_V_1_17_0
+config LIBC_NEWLIB_REGISTER_FINI
bool
- prompt "1.17.0"
-
-endchoice
-
-endif # ! LIBC_NEWLIB_CUSTOM
+ prompt "Enable finalization function registration using atexit"
+ help
+ Enable finalization function registration using atexit.
-config LIBC_NEWLIB_2_5
+config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
bool
- select LIBC_NEWLIB_2_5_or_later
+ prompt "Enable dynamic allocation of atexit entries"
+ default y
+ help
+ Enable dynamic allocation of atexit entries.
-config LIBC_NEWLIB_2_4
+config LIBC_NEWLIB_GLOBAL_ATEXIT
bool
- select LIBC_NEWLIB_2_4_or_later
+ prompt "Enable atexit data structure as global variable"
+ help
+ Enable atexit data structure as global variable. By doing so it is
+ move out of _reent structure, and can be garbage collected if atexit
+ is not referenced.
-config LIBC_NEWLIB_2_3
+config LIBC_NEWLIB_LITE_EXIT
bool
- select LIBC_NEWLIB_2_3_or_later
+ prompt "Enable lite exit"
+ help
+ Enable lite exit, a size-reduced implementation of exit that doesn't
+ invoke clean-up functions such as _fini or global destructors.
-config LIBC_NEWLIB_2_2
+config LIBC_NEWLIB_REENT_SMALL
bool
- select LIBC_NEWLIB_2_2_or_later
+ prompt "Enable small reentrant struct support"
+ help
+ Enable small reentrant struct support.
-config LIBC_NEWLIB_2_1
+config LIBC_NEWLIB_MULTITHREAD
bool
- select LIBC_NEWLIB_2_1_or_later
+ prompt "Enable support for multiple threads"
+ default y
+ help
+ Enable support for multiple threads.
-config LIBC_NEWLIB_2_0
+config LIBC_NEWLIB_EXTRA_SECTIONS
bool
- select LIBC_NEWLIB_2_0_or_later
+ prompt "Place each function & data element in their own section"
+ help
+ Place each function & data symbol in their own section. This allows
+ the linker to garbage collect unused symbols at link time.
-config LIBC_NEWLIB_2_5_or_later
+config LIBC_NEWLIB_WIDE_ORIENT
bool
- select LIBC_NEWLIB_2_4_or_later
+ prompt "Allow wide C99 stream orientation"
+ default y
+ help
+ C99 states that each stream has an orientation, wide or byte. This
+ feature is possibly unnecessary for embedded systems which only do
+ byte input/output operations on stream. Disabling this feature can
+ decrease code size.
-config LIBC_NEWLIB_2_4_or_later
+config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
bool
- select LIBC_NEWLIB_2_3_or_later
+ prompt "Optimize newlib for size"
+ default y
+ help
+ Pass --enable-target-optspace to newlib configure.
-config LIBC_NEWLIB_2_3_or_later
- bool
- select LIBC_NEWLIB_2_2_or_later
+ This will compile newlib with -Os.
-config LIBC_NEWLIB_2_2_or_later
+config LIBC_NEWLIB_LTO
bool
- select LIBC_NEWLIB_2_1_or_later
+ prompt "Enable Link Time Optimization"
+ depends on CC_GCC_USE_LTO
+ help
+ Builds the libraries with -flto to enable more aggressive link time
+ optimization. You will need to add -flto-partition=one to your
+ application's link line to keep the RETURN assembler macro together
+ with it's consumers.
-config LIBC_NEWLIB_2_1_or_later
+config LIBC_NEWLIB_NANO_MALLOC
bool
- select LIBC_NEWLIB_2_0_or_later
+ prompt "Enable Nano Malloc"
+ depends on NEWLIB_HAS_NANO_MALLOC
+ help
+ NEWLIB has two implementations of malloc family's functions, one in
+ `mallocr.c' and the other one in `nano-mallocr.c'. This options
+ enables the nano-malloc implementation, which is for small systems
+ with very limited memory. Note that this implementation does not
+ support `--enable-malloc-debugging' any more.
-# maybe older versions of newlib will support it too, but this
-# needs to be checked
-config LIBC_NEWLIB_2_0_or_later
+config LIBC_NEWLIB_NANO_FORMATTED_IO
bool
- select LIBC_PROVIDES_CXA_ATEXIT
-
-if ! LIBC_NEWLIB_CUSTOM
-config LIBC_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "2.5.0.20170519" if LIBC_NEWLIB_V_2_5_0
- default "2.4.0.20161025" if LIBC_NEWLIB_V_2_4_0
- default "2.3.0.20160226" if LIBC_NEWLIB_V_2_3_0
- default "linaro-2.2.0-2015.01" if LIBC_NEWLIB_LINARO_V_2_2_0
- default "2.2.0.20151023" if LIBC_NEWLIB_V_2_2_0
- default "linaro-2.1.0-2014.09" if LIBC_NEWLIB_LINARO_V_2_1_0
- default "2.1.0" if LIBC_NEWLIB_V_2_1_0
- default "2.0.0" if LIBC_NEWLIB_V_2_0_0
- default "1.20.0" if LIBC_NEWLIB_V_1_20_0
- default "1.19.0" if LIBC_NEWLIB_V_1_19_0
- default "1.18.0" if LIBC_NEWLIB_V_1_18_0
- default "1.17.0" if LIBC_NEWLIB_V_1_17_0
- help
- Enter the tag you want to use.
- Leave empty to use the 'head' of the repository.
-
-endif # ! LIBC_NEWLIB_CUSTOM
+ prompt "Enable Nano Formatted I/O"
+ depends on NEWLIB_HAS_NANO_FORMATTED_IO
+ help
+ This builds NEWLIB with a special implementation of formatted I/O
+ functions, designed to lower the size of application on small systems
+ with size constraint issues. This option does not affect wide-char
+ formatted I/O functions.
-config LIBC_NEWLIB_TARGET_CFLAGS
+config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY
string
- prompt "Target CFLAGS for newlib"
+ prompt "Extra config for newlib"
default ""
help
- Used to add specific options when compiling the target libraries
- (eg. -ffunction-sections -fdata-sections), which can't be defined
- in global TARGET_CFLAGS, because they shall be not used for the
- gcc target libraries.
- Note: Both TARGET_CFLAGS and LIBC_NEWLIB_TARGET_CFLAGS are used
- to compile the libraries.
-
- Leave blank if you don't know better.
+ Extra flags to pass onto ./configure when configuring the newlib.
diff --git a/config/libc/newlib.in.2 b/config/libc/newlib.in.2
deleted file mode 100644
index 96bd22b..0000000
--- a/config/libc/newlib.in.2
+++ /dev/null
@@ -1,176 +0,0 @@
-# newlib second-part options
-
-config LIBC_NEWLIB_IO_C99FMT
- bool
- prompt "Enable IOs on C99 formats"
- help
- Enable support for IOs on C99 formats.
-
-config LIBC_NEWLIB_IO_LL
- bool
- prompt "Enable IOs on long long"
- help
- Enable support for IOs on long long integers.
-
-config LIBC_NEWLIB_IO_FLOAT
- bool
- prompt "Enable IOs on floats and doubles"
- help
- Enable support for IOs on floating point
- values (float and double).
-
-config LIBC_NEWLIB_IO_LDBL
- bool
- prompt "Enable IOs on long doubles"
- depends on LIBC_NEWLIB_IO_FLOAT
- help
- Enable support for IOs on long doubles.
-
-config LIBC_NEWLIB_IO_POS_ARGS
- bool
- prompt "Enable printf-family positional arg support"
- help
- Enable printf-family positional arg support.
-
-config LIBC_NEWLIB_FVWRITE_IN_STREAMIO
- bool
- prompt "Vector buffer mechanism to support stream IO buffering"
- default y
- help
- NEWLIB implements the vector buffer mechanism to support stream IO
- buffering required by C standard. This feature is possibly
- unnecessary for embedded systems which won't change file buffering
- with functions like `setbuf' or `setvbuf'. The buffering mechanism
- still acts as default for STDIN/STDOUT/STDERR even if this option
- is specified.
-
-config LIBC_NEWLIB_UNBUF_STREAM_OPT
- bool
- prompt "Optimize fprintf to unbuffered unix file"
- default y
- help
- NEWLIB does optimization when `fprintf to write only unbuffered unix
- file'. It creates a temorary buffer to do the optimization that
- increases stack consumption by about `BUFSIZ' bytes. Disabling this option
- disables the optimization and saves size of text and stack.
-
-config LIBC_NEWLIB_FSEEK_OPTIMIZATION
- bool
- prompt "Fseek optimisation"
- default y
- help
- Disabling fseek optimisation can decrease code size.
-
-config LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS
- bool
- prompt "Disable the syscalls supplied with newlib"
- help
- Disable the syscalls that come with newlib. You
- will have to implement your own _sbrk, _read,
- _write... If you plan to port newlib to a new
- platform/board, say Yes.
-
-config LIBC_NEWLIB_REGISTER_FINI
- bool
- prompt "Enable finalization function registration using atexit"
- help
- Enable finalization function registration using atexit.
-
-config LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC
- bool
- prompt "Enable dynamic allocation of atexit entries"
- default y
- help
- Enable dynamic allocation of atexit entries.
-
-config LIBC_NEWLIB_GLOBAL_ATEXIT
- bool
- prompt "Enable atexit data structure as global variable"
- help
- Enable atexit data structure as global variable. By doing so it is
- move out of _reent structure, and can be garbage collected if atexit
- is not referenced.
-
-config LIBC_NEWLIB_LITE_EXIT
- bool
- prompt "Enable lite exit"
- help
- Enable lite exit, a size-reduced implementation of exit that doesn't
- invoke clean-up functions such as _fini or global destructors.
-
-config LIBC_NEWLIB_REENT_SMALL
- bool
- prompt "Enable small reentrant struct support"
- help
- Enable small reentrant struct support.
-
-config LIBC_NEWLIB_MULTITHREAD
- bool
- prompt "Enable support for multiple threads"
- default y
- help
- Enable support for multiple threads.
-
-config LIBC_NEWLIB_EXTRA_SECTIONS
- bool
- prompt "Place each function & data element in their own section"
- help
- Place each function & data symbol in their own section. This allows
- the linker to garbage collect unused symbols at link time.
-
-config LIBC_NEWLIB_WIDE_ORIENT
- bool
- prompt "Allow wide C99 stream orientation"
- default y
- help
- C99 states that each stream has an orientation, wide or byte. This
- feature is possibly unnecessary for embedded systems which only do
- byte input/output operations on stream. Disabling this feature can
- decrease code size.
-
-config LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE
- bool
- prompt "Optimize newlib for size"
- default y
- help
- Pass --enable-target-optspace to newlib configure.
-
- This will compile newlib with -Os.
-
-config LIBC_NEWLIB_LTO
- bool
- prompt "Enable Link Time Optimization"
- depends on CC_GCC_USE_LTO
- help
- Builds the libraries with -flto to enable more aggressive link time
- optimization. You will need to add -flto-partition=one to your
- application's link line to keep the RETURN assembler macro together
- with it's consumers.
-
-config LIBC_NEWLIB_NANO_MALLOC
- bool
- prompt "Enable Nano Malloc"
- depends on LIBC_NEWLIB_2_1_or_later
- help
- NEWLIB has two implementations of malloc family's functions, one in
- `mallocr.c' and the other one in `nano-mallocr.c'. This options
- enables the nano-malloc implementation, which is for small systems
- with very limited memory. Note that this implementation does not
- support `--enable-malloc-debugging' any more.
-
-config LIBC_NEWLIB_NANO_FORMATTED_IO
- bool
- prompt "Enable Nano Formatted I/O"
- depends on LIBC_NEWLIB_2_2_or_later
- help
- This builds NEWLIB with a special implementation of formatted I/O
- functions, designed to lower the size of application on small systems
- with size constraint issues. This option does not affect wide-char
- formatted I/O functions.
-
-config LIBC_NEWLIB_EXTRA_CONFIG_ARRAY
- string
- prompt "Extra config for newlib"
- default ""
- help
- Extra flags to pass onto ./configure when configuring the newlib.
diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in
index a85cf21..e12c3fd 100644
--- a/config/libc/uClibc.in
+++ b/config/libc/uClibc.in
@@ -4,6 +4,7 @@
##
## select LIBC_SUPPORT_THREADS_LT
## select LIBC_SUPPORT_THREADS_NONE
+## select LIBC_SUPPORT_THREADS_NATIVE if UCLIBC_0_9_33_2_or_later
## select CC_CORE_PASSES_NEEDED
##
## help The de-facto standard for embeded linux systems.
@@ -11,6 +12,8 @@
## help Highly configurable, thus as feature-rich as you
## help need, without compromising for size.
+source "config/versions/uClibc.in"
+
config THREADS
default "nptl" if THREADS_NATIVE
default "linuxthreads" if THREADS_LT
@@ -20,141 +23,18 @@ comment "'softfp' ABI and uClibc is not entirely tested in crosstool-NG"
comment "You may experience issues, although it should work just fine"
endif # ARCH_FLOAT_SOFTFP
-config LIBC_UCLIBC_CUSTOM
- bool
- prompt "Custom uClibc"
- depends on EXPERIMENTAL
- help
- The choosen uclibc version shall be not downloaded. Instead use
- a custom location to get the source.
-
-if LIBC_UCLIBC_CUSTOM
-
-choice
- bool
- prompt "uClibc Version Name"
-
-config LIBC_UCLIBC_CUSTOM_UCLIBC
- bool "uClibc (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_UCLIBC_0_9_33_2_or_later
-
-config LIBC_UCLIBC_CUSTOM_UCLIBC_NG
- bool "uClibc-ng (1.0.15 or later)"
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_CUSTOM_UCLIBC_NG_OLD
- bool "uClibc-ng (older than 1.0.15)"
- select LIBC_UCLIBC_NG_1_0_0_or_later
-
-endchoice
-
-config LIBC_UCLIBC_CUSTOM_LOCATION
- string
- prompt "Full path to custom uClibc source"
- help
- Enter the path to the directory or tarball of your source for uClibc.
-
- If the path is a tarball, it should extract to: <name>-<version>/
- where the name is this component will be set by the uClibc Version Name
- option from above, and the version is set below in the custom version
- string.
-
-config LIBC_UCLIBC_CUSTOM_VERSION
- string
- prompt "Custom uClibc Version"
- help
- Enter the version number for your custom uClibc.
- Version 1.0.18 is only enabled in EXPERIMENTAL builds due to issues
- with static libraries.
-
-config LIBC_VERSION
- string
- default LIBC_UCLIBC_CUSTOM_VERSION
-
-endif # LIBC_UCLIBC_CUSTOM
-
-if ! LIBC_UCLIBC_CUSTOM
-
-choice
- bool
- prompt "uClibc version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config LIBC_UCLIBC_NG_V_1_0_25
- bool
- prompt "1.0.25"
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_NG_V_1_0_24
- bool
- prompt "1.0.24"
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_NG_V_1_0_23
- bool
- prompt "1.0.23"
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_NG_V_1_0_22
- bool
- prompt "1.0.22"
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_NG_V_1_0_21
- bool
- prompt "1.0.21 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_NG_V_1_0_20
- bool
- prompt "1.0.20 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_UCLIBC_NG_1_0_15_or_later
-
-config LIBC_UCLIBC_V_0_9_33_2
- bool
- prompt "0.9.33.2 (OBSOLETE)"
- depends on OBSOLETE
- select LIBC_UCLIBC_0_9_33_2_or_later
-
-endchoice
-
-config LIBC_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "1.0.25" if LIBC_UCLIBC_NG_V_1_0_25
- default "1.0.24" if LIBC_UCLIBC_NG_V_1_0_24
- default "1.0.23" if LIBC_UCLIBC_NG_V_1_0_23
- default "1.0.22" if LIBC_UCLIBC_NG_V_1_0_22
- default "1.0.21" if LIBC_UCLIBC_NG_V_1_0_21
- default "1.0.20" if LIBC_UCLIBC_NG_V_1_0_20
- default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2
-
-endif # ! LIBC_UCLIBC_CUSTOM
-
-config LIBC_UCLIBC_NG_1_0_15_or_later
- bool
- select LIBC_UCLIBC_NG_1_0_0_or_later
-
-config LIBC_UCLIBC_NG_1_0_0_or_later
- bool
- select LIBC_UCLIBC_NG
- select LIBC_UCLIBC_0_9_33_2_or_later
-
-config LIBC_UCLIBC_0_9_33_2_or_later
- bool
- select LIBC_SUPPORT_THREADS_NATIVE
- select LIBC_UCLIBC_PARALLEL
-
config LIBC_UCLIBC_PARALLEL
- bool
+ def_bool y
+ depends on UCLIBC_0_9_33_2_or_later
config LIBC_UCLIBC_NG
- bool
+ def_bool y
+ depends on UCLIBC_1_0_0_or_later
+
+# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
+config UCLIBC_MERGED_LINUXTHREADS
+ def_bool y
+ depends on UCLIBC_1_0_15_or_later
choice
bool
@@ -230,3 +110,98 @@ config LIBC_UCLIBC_CONFIG_FILE
Path to the configuration file.
If the file is not provided, we fall back to a default config file.
+
+if THREADS_LT && !UCLIBC_MERGED_LINUXTHREADS
+
+choice
+ bool
+ prompt "Linuxthread implementation: "
+ default LIBC_UCLIBC_LNXTHRD_OLD
+
+config LIBC_UCLIBC_LNXTHRD_OLD
+ bool
+ prompt "old/stable"
+ help
+ From the uClibc config option help:
+ There are two versions of linuxthreads. The older (stable) version
+ has been in uClibc for quite a long time but hasn't seen too many
+ updates other than bugfixes.
+
+config LIBC_UCLIBC_LNXTHRD_NEW
+ bool
+ prompt "new"
+ help
+ From the uClibc config option help:
+ The new version has not been tested much, and lacks ports for arches
+ which glibc does not support (like frv, etc...), but is based on
+ the latest code from glibc, so it may be the only choice for the
+ newer ports (like alpha/amd64/64bit arches and hppa).
+
+endchoice
+
+endif # THREADS_LT
+
+config LIBC_UCLIBC_LNXTHRD
+ string
+ default "" if THREADS_NONE
+ default "" if THREADS_NATIVE
+ default "" if UCLIBC_MERGED_LINUXTHREADS
+ default "old" if LIBC_UCLIBC_LNXTHRD_OLD
+ default "new" if LIBC_UCLIBC_LNXTHRD_NEW
+
+config LIBC_UCLIBC_LOCALES
+ bool
+ select LIBC_UCLIBC_WCHAR
+ prompt "Add support for locales"
+ help
+ Say y if you want uClibc to support localisation.
+
+ Note that seems to be broken on recent uClibc releases.
+
+config LIBC_UCLIBC_IPV6
+ bool
+ prompt "Add support for IPv6"
+ help
+ Say y if you want uClibc to support IPv6.
+
+config LIBC_UCLIBC_WCHAR
+ bool
+ prompt "Add support for WCHAR"
+ help
+ Say y if you want uClibc to support WCHAR.
+
+ Maybe this is needed, if you're building a C++-Compiler
+
+config LIBC_UCLIBC_FENV
+ bool
+ prompt "Add support for fenv.h"
+ default y if ARCH_X86
+ help
+ fenv.h provides functions to control the floating point environment,
+ such as rounding mode, exceptions...
+
+ For some architectures, fenv.h is incomplete, so is not installed
+ by default. x86 is known to have a rather complete fenv.h, so it is
+ installed by default only for x86.
+
+ If you need fenv.h on other architectures, say 'y' here, but you may
+ encounter some issues.
+
+config LIBC_UCLIBC_RPC
+ bool
+ prompt "Add support for RPC"
+ help
+ Enable support for remote procedure calls (RPC) in uClibc.
+
+if ARCH_ARM
+config LIBC_UCLIBC_USE_GNU_SUFFIX
+ bool
+ default y
+ prompt "Use -uclibcgnueabi suffix"
+ help
+ Depending on where the resulting toolchain will be used, you may need
+ to tweak the "system" part of the target tuple. Buildroot prefers
+ to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers
+ arm-*-linux-uclibceabi. Other tools seem to either accept both, or
+ don't care about the suffix.
+endif
diff --git a/config/libc/uClibc.in.2 b/config/libc/uClibc.in.2
deleted file mode 100644
index 1b34855..0000000
--- a/config/libc/uClibc.in.2
+++ /dev/null
@@ -1,110 +0,0 @@
-# uClibc second-part option
-
-if THREADS_LT && !LIBC_UCLIBC_NG_1_0_15_or_later
-
-choice
- bool
- prompt "Linuxthread implementation: "
- default LIBC_UCLIBC_LNXTHRD_OLD
-
-config LIBC_UCLIBC_LNXTHRD_OLD
- bool
- prompt "old/stable"
- help
- From the uClibc config option help:
- There are two versions of linuxthreads. The older (stable) version
- has been in uClibc for quite a long time but hasn't seen too many
- updates other than bugfixes.
-
-config LIBC_UCLIBC_LNXTHRD_NEW
- bool
- prompt "new"
- help
- From the uClibc config option help:
- The new version has not been tested much, and lacks ports for arches
- which glibc does not support (like frv, etc...), but is based on
- the latest code from glibc, so it may be the only choice for the
- newer ports (like alpha/amd64/64bit arches and hppa).
-
-endchoice
-
-endif # THREADS_LT
-
-# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
-config LIBC_UCLIBC_LNXTHRD
- string
- default "" if THREADS_NONE
- default "" if THREADS_NATIVE
- default "" if LIBC_UCLIBC_NG_1_0_15_or_later
- default "old" if LIBC_UCLIBC_LNXTHRD_OLD
- default "new" if LIBC_UCLIBC_LNXTHRD_NEW
-
-config LIBC_UCLIBC_LOCALES
- bool
- select LIBC_UCLIBC_WCHAR
- prompt "Add support for locales"
- help
- Say y if you want uClibc to support localisation.
-
- Note that seems to be broken on recent uClibc releases.
-
-config LIBC_UCLIBC_LOCALES_PREGEN_DATA
- bool
- prompt "Use pregen locales"
- depends on LIBC_UCLIBC_LOCALES
- depends on ! LIBC_UCLIBC_NG
- default y
- help
- If you see issues with using pre-generated locales data,
- you can try switching this off.
-
- If so, please report the issue, so we can default this
- to off if too many people complain.
-
-config LIBC_UCLIBC_IPV6
- bool
- prompt "Add support for IPv6"
- help
- Say y if you want uClibc to support IPv6.
-
-config LIBC_UCLIBC_WCHAR
- bool
- prompt "Add support for WCHAR"
- help
- Say y if you want uClibc to support WCHAR.
-
- Maybe this is needed, if you're building a C++-Compiler
-
-config LIBC_UCLIBC_FENV
- bool
- prompt "Add support for fenv.h"
- default y if ARCH_x86
- help
- fenv.h provides functions to control the floating point environment,
- such as rounding mode, exceptions...
-
- For some architectures, fenv.h is incomplete, so is not installed
- by default. x86 is known to have a rather complete fenv.h, so it is
- installed by default only for x86.
-
- If you need fenv.h on other architectures, say 'y' here, but you may
- encounter some issues.
-
-config LIBC_UCLIBC_RPC
- bool
- prompt "Add support for RPC"
- help
- Enable support for remote procedure calls (RPC) in uClibc.
-
-if ARCH_arm
-config LIBC_UCLIBC_USE_GNU_SUFFIX
- bool
- default y
- prompt "Use -uclibcgnueabi suffix"
- help
- Depending on where the resulting toolchain will be used, you may need
- to tweak the "system" part of the target tuple. Buildroot prefers
- to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers
- arm-*-linux-uclibceabi. Other tools seem to either accept both, or
- don't care about the suffix.
-endif
diff --git a/config/target.in b/config/target.in
index 50aaa61..738f06b 100644
--- a/config/target.in
+++ b/config/target.in
@@ -2,9 +2,6 @@
menu "Target options"
-config ARCH
- string
-
source "config/gen/arch.in"
config ARCH_SUFFIX
@@ -405,6 +402,30 @@ config ARCH_FLOAT
default "soft" if ARCH_FLOAT_SW
default "softfp" if ARCH_FLOAT_SOFTFP
-source "config/gen/arch.in.2"
+config TARGET_USE_OVERLAY
+ bool
+
+if TARGET_USE_OVERLAY
+
+config OVERLAY_NAME
+ string "Custom processor configuration name"
+ help
+ Enter the name of the custom processor configuration.
+ Overlay file for that configuration must be called
+ '<ARCH>_<OVERLAY_NAME>.tar' (optionally, with .gz/.bz2/.lzma/.xz
+ extension).
+
+ Leave blank to use the default '<ARCH>_overlay.tar'.
+ For more information about this option, please also consult the
+ section 'Using crosstool-NG to build Xtensa toolchains' in the
+ in http://crosstool-ng.github.io/docs/caveats-features/
+
+config OVERLAY_LOCATION
+ string "Full path to custom configuration (overlay)"
+ help
+ Enter the path to the directory for the custom processor
+ configuration file.
+
+endif
endmenu
diff --git a/config/toolchain.in b/config/toolchain.in
index 1b2a289..f9a56b9 100644
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -105,7 +105,7 @@ comment "Tuple completion and aliasing"
config TARGET_VENDOR
string
prompt "Tuple's vendor string"
- depends on !LIBC_avr_libc
+ depends on !LIBC_AVR_LIBC
default "unknown"
help
Vendor part of the target tuple.
diff --git a/kconfig/kconfig.mk b/kconfig/kconfig.mk
index c82e502..ec0cd8a 100644
--- a/kconfig/kconfig.mk
+++ b/kconfig/kconfig.mk
@@ -26,6 +26,7 @@ nconfig:
oldconfig: .config
@$(CT_ECHO) " CONF $@"
+ $(SILENT)$(sed) -i -r -f $(CT_LIB_DIR)/scripts/upgrade.sed $<
$(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP)
savedefconfig: .config
diff --git a/maintainer/addToolVersion.sh b/maintainer/addToolVersion.sh
deleted file mode 100755
index 38c2e55..0000000
--- a/maintainer/addToolVersion.sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/sh
-set -e
-
-# Adds a new version to one of the toolchain component
-myname="$0"
-
-# Parse the tools' paths configuration
-# It is expected that this script is only to be run from the
-# source directory of crosstool-NG, so it is trivial to find
-# paths.sh (we can't use ". paths.sh", as POSIX states that
-# $PATH should be searched for, and $PATH most probably doe
-# not include "."), hence the "./".
-. "./paths.sh"
-
-doHelp() {
- cat <<-EOF
- Usage: ${myname} <--tool> <[options] version [...]> ...
- 'tool' in one of:
- gcc, binutils, glibc, uClibc, uClibc-ng, newlib, linux, gdb,
- duma, strace, ltrace, libelf, gmp, mpfr, isl, cloog, mpc,
- mingw-w64, expat, ncurses, musl, gettext, zlib, libiconv
-
- Valid options for all tools:
- --stable, -s, +x (default)
- mark the version as being stable (as opposed to experimental, below)
-
- --experimental, -x, +s
- mark the version as being experimental (as opposed to stable, above)
-
- --current, -c, +o (default)
- mark the version as being cuurent (as opposed to obsolete, below)
-
- --obsolete, -o, +c
- mark the version as being obsolete (as opposed to current, above)
-
- Note: setting a new tool resets to the defaults: 'stable' and 'current'.
-
- 'version' is a valid version for the specified tool.
-
- Examples:
- add stable current version 2.6.19.2 to linux kernel:
- ${myname} --linux 2.6.19.2
-
- add experimental obsolete version 2.3.5 and stable current versions 2.6.1
- and 2.6.2 to glibc, add stable obsolete version 3.3.3 to gcc:
- ${myname} --glibc -x -o 2.3.5 -s -c 2.6.1 2.6.2 --gcc -o 3.3.3
-EOF
-}
-
-# Extract field $3 from version $1 with separator $2
-getVersionField() {
- local version="$1"
- local sep="$2"
- local field="$3"
-
- echo "${version}${sep}${sep}${sep}${sep}" |cut -d ${sep} -f ${field}
-}
-
-# Effectively add a version to the specified tool
-# $cat : tool category
-# $tool : tool name
-# $tool_prefix : tool directory prefix
-# $EXP : set to non empty if experimental, to empty otherwise
-# OBS : set to non empty if obsolete, to empty otherwise
-# $1 : version string to add
-addToolVersion() {
- local version="$1"
- local file="$2"
- local config_ver_option
- local exp_obs_prompt
- local deps v ver_M ver_m ver_p
- local SedExpr1 SedExpr2
-
- [ -f "${file}" ] || return 0
-
- v=$(echo "${version}" |"${sed}" -r -e 's/-/_/g; s/\./_/g;')
-
- config_ver_option="${cat}_V_${v}"
-
- # Check for existing version: it can be legitimitate for an end-user
- # to try adding a new version if the one he/she wants is not listed.
- # But it can be the case where the version is hidden behind either one
- # of EXPERIMENTAL or OBSOLETE, so warn if the version is already listed.
- if ${grep} -E "^config ${config_ver_option}$" "${file}" >/dev/null 2>&1; then
- echo "'${tool}': version '${version}' already present:"
- ${grep} -A1 -B0 -n \
- -E "^(config ${config_ver_option}| {4}prompt \"${version}\")$" \
- "${file}" /dev/null
- return 0
- fi
-
- SedExpr1="${SedExpr1}config ${config_ver_option}\n"
- SedExpr1="${SedExpr1} bool\n"
- SedExpr1="${SedExpr1} prompt \"${version}"
- case "${EXP},${OBS}" in
- ,) ;;
- ,*) exp_obs_prompt=" (OBSOLETE)"
- deps=" depends on OBSOLETE"
- ;;
- *,) exp_obs_prompt=" (EXPERIMENTAL)"
- deps=" depends on EXPERIMENTAL"
- ;;
- *) exp_obs_prompt=" (EXPERIMENTAL, OBSOLETE)"
- deps=" depends on EXPERIMENTAL \\&\\& OBSOLETE"
- ;;
- esac
- [ -n "${exp_obs_prompt}" ] && SedExpr1="${SedExpr1}${exp_obs_prompt}"
- SedExpr1="${SedExpr1}\""
- [ -n "${deps}" ] && SedExpr1="${SedExpr1}\n${deps}"
- case "${tool}" in
- gcc)
- # Extract 'M'ajor and 'm'inor from version string
- ver_M=$(getVersionField "${version}" . 1)
- ver_m=$(getVersionField "${version}" . 2)
- if [ ${ver_M} -ge 4 ] && [ ${ver_m} -ge 2 ]; then
- SedExpr1="${SedExpr1}\n select CC_GCC_${ver_M}_${ver_m}"
- fi
- ;;
- binutils)
- # Extract 'M'ajor, 'm'inor, sometimes 'p'atch from version string
- # TODO: Rework this
- ver_M=$(getVersionField "${version}" . 1)
- ver_m=$(getVersionField "${version}" . 2)
- ver_p=$(getVersionField "${version}" . 3)
- if [ ${ver_M} -eq 2 -a ${ver_m} -eq 27 ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_27_or_later"
- elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 26 ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_26_or_later"
- elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 25 -a ${ver_p} -eq 1 ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_25_1_or_later"
- elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 25 -a -z ${ver_p} ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_25_or_later"
- elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 24 ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_24_or_later"
- elif [ ${ver_M} -eq 2 -a ${ver_m} -eq 23 -a ${ver_p} -eq 2 ]; then
- SedExpr1="${SedExpr1}\n select BINUTILS_2_23_2_or_later"
- fi
- ;;
- uClibc)
- # uClibc-0.9.33.2 needs some love
- ver_M=$(getVersionField "${version}" . 1)
- ver_m=$(getVersionField "${version}" . 2)
- ver_p=$(getVersionField "${version}" . 3)
- if [ ${ver_M} -eq 0 -a ${ver_m} -eq 9 -a ${ver_p} -eq 33 ]; then
- SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_0_9_33_2_or_later"
- fi
- ;;
- uClibc-ng)
- # uClibc-ng-1.0.15 changed threading configuration, no longer compatible
- # with the rest of uClibc gang.
- ver_M=$(getVersionField "${version}" . 1)
- ver_m=$(getVersionField "${version}" . 2)
- ver_p=$(getVersionField "${version}" . 3)
- if [ ${ver_M} -eq 1 -a ${ver_m} -eq 0 -a ${ver_p} -eq 15 ]; then
- SedExpr1="${SedExpr1}\n select LIBC_UCLIBC_NG_1_0_15_or_later"
- fi
- ;;
- gdb)
- # gdb-7.0 and above have special handling
- ver_M=$(getVersionField "${version}" . 1)
- ver_m=$(getVersionField "${version}" . 2)
- if [ ${ver_M} -ge 7 ]; then
- if [ ${ver_m} -ge 2 ]; then
- SedExpr1="${SedExpr1}\n select GDB_7_2_or_later"
- else
- SedExpr1="${SedExpr1}\n select GDB_7_0_or_later"
- fi
- fi
- ;;
- esac
- SedExpr2=" default \"${version}\" if ${config_ver_option}"
- "${sed}" -r -i -e 's/^(# CT_INSERT_VERSION_BELOW)$/\1\n\n'"${SedExpr1}"'/;' "${file}"
- "${sed}" -r -i -e 's/^(# CT_INSERT_VERSION_STRING_BELOW)$/\1\n'"${SedExpr2}"'/;' "${file}"
-}
-
-cat=
-tool=
-tool_prefix=
-VERSION=
-EXP=
-OBS=
-
-if [ $# -eq 0 ]; then
- doHelp
- exit 1
-fi
-
-while [ $# -gt 0 ]; do
- case "$1" in
- # Tools:
- --gcc) EXP=; OBS=; cat=CC_GCC; tool=gcc; tool_prefix=cc; dot2suffix=;;
- --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils; dot2suffix=;;
- --glibc) EXP=; OBS=; cat=LIBC_GLIBC; tool=glibc; tool_prefix=libc; dot2suffix=;;
- --uClibc) EXP=; OBS=; cat=LIBC_UCLIBC; tool=uClibc; tool_prefix=libc; dot2suffix=;;
- --uClibc-ng)EXP=; OBS=; cat=LIBC_UCLIBC_NG; tool=uClibc; tool_prefix=libc; dot2suffix=;;
- --newlib) EXP=; OBS=; cat=LIBC_NEWLIB; tool=newlib; tool_prefix=libc; dot2suffix=;;
- --mingw-w64)EXP=; OBS=; cat=WINAPI; tool=mingw; tool_prefix=libc; dot2suffix=;;
- --musl) EXP=; OBS=; cat=LIBC_MUSL; tool=musl; tool_prefix=libc; dot2suffix=;;
- --linux) EXP=; OBS=; cat=KERNEL; tool=linux; tool_prefix=kernel; dot2suffix=;;
- --gdb) EXP=; OBS=; cat=GDB; tool=gdb; tool_prefix=debug; dot2suffix=;;
- --duma) EXP=; OBS=; cat=DUMA; tool=duma; tool_prefix=debug; dot2suffix=;;
- --strace) EXP=; OBS=; cat=STRACE; tool=strace; tool_prefix=debug; dot2suffix=;;
- --ltrace) EXP=; OBS=; cat=LTRACE; tool=ltrace; tool_prefix=debug; dot2suffix=;;
- --gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs; dot2suffix=;;
- --mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs; dot2suffix=;;
- --isl) EXP=; OBS=; cat=ISL; tool=isl; tool_prefix=companion_libs; dot2suffix=;;
- --cloog) EXP=; OBS=; cat=CLOOG; tool=cloog; tool_prefix=companion_libs; dot2suffix=;;
- --mpc) EXP=; OBS=; cat=MPC; tool=mpc; tool_prefix=companion_libs; dot2suffix=;;
- --libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=companion_libs; dot2suffix=;;
- --expat) EXP=; OBS=; cat=EXPAT; tool=expat; tool_prefix=companion_libs; dot2suffix=;;
- --ncurses) EXP=; OBS=; cat=NCURSES; tool=ncurses; tool_prefix=companion_libs; dot2suffix=;;
- --gettext) EXP=; OBS=; cat=GETTEXT; tool=gettext; tool_prefix=companion_libs; dot2suffix=;;
- --libiconv) EXP=; OBS=; cat=LIBICONV; tool=libiconv; tool_prefix=companion_libs; dot2suffix=;;
- --zlib) EXP=; OBS=; cat=ZLIB; tool=zlib; tool_prefix=companion_tools; dot2suffix=;;
- --make) EXP=; OBS=; cat=MAKE; tool=make; tool_prefix=companion_tools; dot2suffix=;;
- --m4) EXP=; OBS=; cat=M4; tool=m4; tool_prefix=companion_tools; dot2suffix=;;
- --autoconf) EXP=; OBS=; cat=AUTOCONF; tool=autoconf; tool_prefix=companion_tools; dot2suffix=;;
- --automake) EXP=; OBS=; cat=AUTOMAKE; tool=automake; tool_prefix=companion_tools; dot2suffix=;;
- --libtool) EXP=; OBS=; cat=LIBTOOL; tool=libtool; tool_prefix=companion_tools; dot2suffix=;;
-
- # Tools options:
- -x|--experimental|+s) EXP=1;;
- -s|--stable|+x) EXP=;;
- -o|--obsolete|+c) OBS=1;;
- -c|--current|+o) OBS=;;
-
- # Misc:
- -h|--help) doHelp; exit 0;;
- -*) echo "Unknown option: '$1' (use -h/--help for help)."; exit 1;;
-
- # Version string:
- *) [ -n "${tool}" ] || { doHelp; exit 1; }
- file_base="config/${tool_prefix}/${tool}.in"
- addToolVersion "$1" "${file_base}${dot2suffix}"
- ;;
- esac
- shift
-done
diff --git a/maintainer/gen-kconfig.sh b/maintainer/gen-kconfig.sh
deleted file mode 100755
index 364844d..0000000
--- a/maintainer/gen-kconfig.sh
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Accept overrides from command line if needed
-sed=${SED:-sed}
-grep=${GREP:-grep}
-
-# Generate either a choice or a menuconfig with the specified entries.
-#
-# Usage:
-# generate a choice:
-# gen_choice <out-file> <label> <config-prefix> <base-dir>
-#
-# generate a menuconfig:
-# gen_menu <out-file> <label> <config-prefix> <base-dir>
-#
-# where:
-# out-file
-# put the generated choice/menuconfig into that file
-# for choices, it acts as the base bname of the file, the secondary
-# parts (the .in.2) are put in out-file.2
-#
-# label
-# name for the entries family
-# eg. Architecture, Kernel...
-#
-# config-prefix
-# prefix for the choice entries
-# eg. ARCH, KERNEL...
-#
-# base-dir
-# base directory containing config files
-# eg. config/arch, config/kernel...
-#
-
-# Helper: find the base names of all *.in files in a given directory
-get_components() {
- local dir="${1}"
- local f b
-
- for f in ${dir}/*.in; do
- b=${f#${dir}/}
- echo ${b%.in}
- done
-}
-
-# Generate a choice
-# See above for usage
-gen_choice() {
- local out_file="${1}"
- local label="${2}"
- local cfg_prefix="${3}"
- local base_dir="${4}"
- local file entry _entry
-
- # Generate the part-1
- exec >"${out_file}"
- printf '# %s menu\n' "${label}"
- printf '# Generated file, do not edit!!!\n'
- printf '\n'
- printf 'choice GEN_CHOICE_%s\n' "${cfg_prefix}"
- printf ' bool\n'
- printf ' prompt "%s"\n' "${label}"
- printf '\n'
- for entry in `get_components ${base_dir}`; do
- file="${base_dir}/${entry}.in"
- _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
- printf 'config %s_%s\n' "${cfg_prefix}" "${_entry}"
- printf ' bool\n'
- printf ' prompt "%s"\n' "${entry}"
- "${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null
- "${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null
- if "${grep}" -E '^## help' ${file} >/dev/null 2>&1; then
- printf ' help\n'
- "${sed}" -r -e '/^## help ?/!d; s/^## help ?/ /;' ${file} 2>/dev/null
- fi
- printf '\n'
- done
- printf 'endchoice\n'
-
- printf '\n'
- printf 'config %s\n' "${cfg_prefix}"
- for entry in `get_components ${base_dir}`; do
- file="${base_dir}/${entry}.in"
- _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
- printf ' default "%s" if %s_%s\n' "${entry}" "${cfg_prefix}" "${_entry}"
- done
-
- printf '\n'
- for entry in `get_components ${base_dir}`; do
- file="${base_dir}/${entry}.in"
- _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
- printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
- printf 'source "%s"\n' "${file}"
- printf 'endif\n'
- done
-
- # Generate the part-2
- exec >"${out_file}.2"
- printf '# %s second part options\n' "${label}"
- printf '# Generated file, do not edit!!!\n'
- for entry in `get_components ${base_dir}`; do
- file="${base_dir}/${entry}.in"
- _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
- if [ -f "${file}.2" ]; then
- printf '\n'
- printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
- printf 'comment "%s other options"\n' "${entry}"
- printf 'source "%s.2"\n' "${file}"
- printf 'endif\n'
- fi
- done
-}
-
-# Generate a menuconfig
-# See above for usage
-gen_menu() {
- local out_file="${1}"
- local label="${2}"
- local cfg_prefix="${3}"
- local base_dir="${4}"
- local file entry _entry
-
- # Generate the menuconfig
- exec >"${out_file}"
- printf '# %s menu\n' "${label}"
- printf '# Generated file, do not edit!!!\n'
- printf '\n'
- for entry in `get_components ${base_dir}`; do
- file="${base_dir}/${entry}.in"
- _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;')
- printf 'menuconfig %s_%s\n' "${cfg_prefix}" "${_entry}"
- printf ' bool\n'
- if "${grep}" -E '^## default' ${file} >/dev/null 2>&1; then
- "${sed}" -r -e '/^## default ?/!d; s/^## default ?/ default /;' ${file} 2>/dev/null
- fi
- printf ' prompt "%s"\n' "${entry}"
- "${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null
- "${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null
- if "${grep}" -E '^## help' ${file} >/dev/null 2>&1; then
- printf ' help\n'
- "${sed}" -r -e '/^## help ?/!d; s/^## help ?/ /;' ${file} 2>/dev/null
- fi
- printf '\n'
- printf 'if %s_%s\n' "${cfg_prefix}" "${_entry}"
- printf 'source "%s"\n' "${file}"
- printf 'endif\n'
- printf '\n'
- done
-}
-
-mkdir -p config/gen
-gen_choice config/gen/arch.in "Target Architecture" "ARCH" "config/arch"
-gen_choice config/gen/kernel.in "Target OS" "KERNEL" "config/kernel"
-gen_choice config/gen/cc.in "Compiler" "CC" "config/cc"
-gen_choice config/gen/binutils.in "Binutils" "BINUTILS" "config/binutils"
-gen_choice config/gen/libc.in "C library" "LIBC" "config/libc"
-gen_menu config/gen/debug.in "Debug facilities" "DEBUG" "config/debug"
-gen_menu config/gen/companion_tools.in "Companion tools" "COMP_TOOLS" "config/companion_tools"
diff --git a/maintainer/kconfig-choice.template b/maintainer/kconfig-choice.template
new file mode 100644
index 0000000..12ea12c
--- /dev/null
+++ b/maintainer/kconfig-choice.template
@@ -0,0 +1,32 @@
+#
+# DO NOT EDIT! This file is automatically generated.
+#
+
+choice GEN_CHOICE_@@prefix@@
+ bool "@@label@@"
+
+#!foreach choice
+config @@prefix@@_@@kcfg_choice@@
+ bool "@@choice@@"
+#!foreach dependency
+ @@depline@@
+#!end-foreach
+ help
+#!foreach help
+ @@helpline@@
+#!end-foreach
+
+#!end-foreach
+endchoice
+
+config @@prefix@@
+ string
+#!foreach choice
+ default "@@choice@@" if @@prefix@@_@@kcfg_choice@@
+#!end-foreach
+
+#!foreach choice
+if @@prefix@@_@@kcfg_choice@@
+source "config/@@dir@@/@@choice@@.in"
+endif
+#!end-foreach
diff --git a/maintainer/kconfig-menu.template b/maintainer/kconfig-menu.template
new file mode 100644
index 0000000..12b9f2b
--- /dev/null
+++ b/maintainer/kconfig-menu.template
@@ -0,0 +1,20 @@
+#
+# DO NOT EDIT! This file is automatically generated.
+#
+
+#!foreach choice
+menuconfig @@prefix@@_@@kcfg_choice@@
+ bool "@@choice@@"
+#!foreach dependency
+ @@depline@@
+#!end-foreach
+ help
+#!foreach help
+ @@helpline@@
+#!end-foreach
+
+if @@prefix@@_@@kcfg_choice@@
+source "config/@@dir@@/@@choice@@.in"
+endif
+
+#!end-foreach
diff --git a/maintainer/kconfig-versions.template b/maintainer/kconfig-versions.template
new file mode 100644
index 0000000..e7e0121
--- /dev/null
+++ b/maintainer/kconfig-versions.template
@@ -0,0 +1,285 @@
+#
+# DO NOT EDIT! This file is automatically generated.
+#
+
+# The component directory name
+config @@masterpfx@@_DIR_NAME
+ string
+ default "@@master@@"
+
+#!if [ "@@nforks@@" -ge 2 ]
+
+choice
+ bool "Show @@master@@ versions from"
+
+#!foreach fork
+config @@masterpfx@@_USE_@@originpfx@@
+ bool "@@origin@@"
+#!if [ -n "@@only_obsolete@@" ]
+ depends on OBSOLETE
+#!end-if
+#!if [ -n "@@only_experimental@@" ]
+ depends on EXPERIMENTAL
+#!end-if
+ help
+@@originhelp@@
+
+#!end-foreach
+endchoice
+
+config @@masterpfx@@_USE
+ string
+#!foreach fork
+ default "@@pfx@@" if @@masterpfx@@_USE_@@originpfx@@
+#!end-foreach
+
+#!end-if
+
+#!foreach fork
+#!if [ "@@nforks@@" -ge 2 ]
+if @@masterpfx@@_USE_@@originpfx@@
+#!end-if
+
+config @@pfx@@_PKG_NAME
+ string
+ default "@@pkg_name@@"
+
+#!// If a project makes official releases, using "bleeding edge"
+#!// from a development repository is experimental. However, there
+#!// are projects that consider its HEAD a "rolling release". For
+#!// those, checking out from a repository is the regular method.
+choice
+ bool "Source of @@pkg_label@@"
+
+#!if [ -n "@@all_versions@@" ]
+config @@pfx@@_SRC_RELEASE
+ bool "Released tarball"
+ help
+ Download a released tarball.
+
+#!end-if
+config @@pfx@@_SRC_DEVEL
+ bool "Vendor/custom repository"
+#!if [ -n "@@all_versions@@" ]
+ depends on EXPERIMENTAL
+#!end-if
+ help
+ Check out from a repository.
+#!if [ -n "@@repository@@" ]
+ Default is the vendor repository at @@repository_url@@
+#!end-if
+
+if @@pfx@@_SRC_DEVEL
+
+choice
+ bool "VCS type"
+#!if [ -n "@@repository@@" ]
+ default @@pfx@@_DEVEL_VCS_@@vcs@@
+#!end-if
+ help
+ Version control system from which the sources will be checked out.
+ The default value points to the development repository for @@pkg_label@@.
+
+config @@pfx@@_DEVEL_VCS_git
+ bool "Git"
+
+config @@pfx@@_DEVEL_VCS_svn
+ bool "Subversion"
+
+config @@pfx@@_DEVEL_VCS_hg
+ bool "Mercurial"
+
+config @@pfx@@_DEVEL_VCS_cvs
+ bool "CVS"
+
+endchoice
+
+config @@pfx@@_DEVEL_VCS
+ string
+ default "git" if @@pfx@@_DEVEL_VCS_git
+ default "svn" if @@pfx@@_DEVEL_VCS_svn
+ default "hg" if @@pfx@@_DEVEL_VCS_hg
+ default "cvs" if @@pfx@@_DEVEL_VCS_cvs
+
+config @@pfx@@_DEVEL_URL
+ string "Repository URL"
+#!if [ -n "@@repository@@" ]
+ default "@@repository_url@@"
+#!end-if
+ help
+ Repository URL.
+
+ For CVS, enter both the value of CVS root and the module name, separated
+ by a space.
+
+config @@pfx@@_DEVEL_BRANCH
+ string "Branch/tag to check out"
+ default "@@repository_branch@@"
+ help
+ Git/CVS: branch/tag to be checked out
+ Subversion: directories to append to the repository URL (i.e. branch or tag)
+ Mercurial: official guide recommends using separate repositories to maintain
+ stable branches. You likely need to change the repository URL, rather than
+ enter anything here.
+
+config @@pfx@@_DEVEL_REVISION
+ string "Revision/changeset"
+ default "@@repository_cset@@"
+ help
+ Commit ID or revision ID to check out.
+ Git: enter the commit ID to check out a commit.
+ CVS: enter the date in "YYYY/MM/DD HH:MM:SS" format (UTC) to check out certain date.
+ Subversion: enter the revision.
+
+config @@pfx@@_DEVEL_SUBDIR
+ string "Subdirectory in the repository"
+ default "@@repository_subdir@@"
+ help
+ Some projects produce releases not from the top-level directory in the
+ repository, but rather from some subdirectory. If it is the case,
+ specify this subdirectory here.
+
+config @@pfx@@_DEVEL_BOOTSTRAP
+ string "Bootstrap command"
+ default "@@bootstrap@@"
+ help
+ Command to run after checking out. Some projects don't store the generated
+ files like configure script in the repository; building out of a checked out
+ working copy thus requires some extra steps. Separate multiple shell commands
+ with &&.
+
+endif
+
+config @@pfx@@_SRC_CUSTOM
+ bool "Custom location"
+ depends on EXPERIMENTAL
+ help
+ Custom directory or tarball.
+
+if @@pfx@@_SRC_CUSTOM
+
+config @@pfx@@_CUSTOM_LOCATION
+ string "Custom source location"
+ help
+ Path to the directory or tarball with the sources.
+
+endif
+
+endchoice
+
+#!if [ -n "@@all_versions@@" ]
+config @@pfx@@_MIRRORS
+ string
+ default "@@mirrors@@"
+
+config @@pfx@@_ARCHIVE_FILENAME
+ string
+ default "@@archive_filename@@"
+
+config @@pfx@@_ARCHIVE_DIRNAME
+ string
+ default "@@archive_dirname@@"
+
+#!end-if
+
+#!// Below, we explicitly select all milestones to which a given version
+#!// compares greater-or-equal. We don't select just the latest applicable
+#!// (and letting milestones chain-select each other, with FOO_6_or_later
+#!// selecting FOO_5_or_later and so on) so that we can handle the cases
+#!// where we need to identify a range of releases on a branch, for example,
+#!// "all FOO releases after 4.9.1 but before 4.9.3".
+#!//
+#!if [ -n "@@all_versions@@" -a -z "@@versionlocked@@" ]
+choice
+ bool "Version of @@pkg_label@@"
+ help
+ For a released version, select the version of @@pkg_label@@ to download
+ and build. For sources out of the vendor repository or from a custom
+ location, select the version that describes those custom sources.
+ Based on this version, crosstool-NG may apply some version-specific
+ quirks while building @@pkg_label@@.
+
+config @@pfx@@_VERY_NEW
+ bool "newer than anything below"
+ depends on EXPERIMENTAL
+ depends on @@pfx@@_SRC_DEVEL || @@pfx@@_SRC_CUSTOM
+#!foreach milestone
+ select @@masterpfx@@_@@ms_kcfg@@_or_later
+ depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
+#!end-foreach
+
+#!foreach version
+config @@pfx@@_V_@@kcfg@@
+ bool "@@ver@@@@ver_postfix@@"
+#!if [ "@@obsolete@@" = "yes" ]
+ depends on OBSOLETE
+#!end-if
+#!if [ "@@experimental@@" = "yes" ]
+ depends on EXPERIMENTAL
+#!end-if
+#!foreach milestone
+#!if [ "@@version_cmp_milestone@@" -ge 0 ]
+ select @@masterpfx@@_@@ms_kcfg@@_or_later
+#!end-if
+#!if [ "@@version_cmp_milestone@@" -le 0 ]
+ select @@masterpfx@@_@@ms_kcfg@@_or_older
+#!end-if
+#!if [ "@@version_cmp_milestone@@" -gt 0 ]
+ depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
+#!end-if
+#!if [ "@@version_cmp_milestone@@" -lt 0 ]
+ depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
+#!end-if
+#!end-foreach
+
+#!end-foreach
+config @@pfx@@_VERY_OLD
+ bool "older than anything above"
+ depends on OBSOLETE && EXPERIMENTAL
+ depends on @@pfx@@_SRC_DEVEL || @@pfx@@_SRC_CUSTOM
+#!foreach milestone
+ depends on !@@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
+#!end-foreach
+
+endchoice
+#!end-if
+
+#!if [ -n "@@versionlocked@@" ]
+#!foreach version
+config @@pfx@@_V_@@kcfg@@
+ def_bool y
+ depends on @@versionlocked@@_V_@@kcfg@@
+
+#!end-foreach
+#!end-if
+
+config @@pfx@@_VERSION
+ string
+#!foreach version
+ default "@@ver@@" if @@pfx@@_V_@@kcfg@@
+#!end-foreach
+ default "unknown"
+
+#!if [ "@@nforks@@" -ge 2 ]
+endif
+#!end-if
+
+#!end-foreach
+
+#!foreach milestone
+#!// Milestones selected by a chosen version of this package
+config @@masterpfx@@_@@ms_kcfg@@_or_later
+ bool
+
+config @@masterpfx@@_@@ms_kcfg@@_or_older
+ bool
+
+#!// Milestone requirements selected by other packages that restrict
+#!// the choices in this package
+config @@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_later
+ bool
+
+config @@masterpfx@@_REQUIRE_@@ms_kcfg@@_or_older
+ bool
+
+#!end-foreach
diff --git a/packages/GNU.help b/packages/GNU.help
new file mode 100644
index 0000000..ae6ba14
--- /dev/null
+++ b/packages/GNU.help
@@ -0,0 +1,6 @@
+GNU (which is a recursive acronym for "GNU's Not Unix") provides GNU binutils,
+GNU C Compiler (gcc), GNU debugger (gdb) and many other utilities. GNU is
+considered the master source for these packages.
+
+You should select "GNU" here unless you definitely know that you need some version
+from another source.
diff --git a/packages/Linaro.help b/packages/Linaro.help
new file mode 100644
index 0000000..f752543
--- /dev/null
+++ b/packages/Linaro.help
@@ -0,0 +1,4 @@
+Linaro is maintaining some advanced/more stable/experimental versions
+of binutils, gcc, glibc and gdb, especially for the ARM architecture.
+These versions contain some changes that are not (yet?) merged into
+their respective upstream repositories.
diff --git a/packages/android-ndk/package.desc b/packages/android-ndk/package.desc
new file mode 100644
index 0000000..c51775b
--- /dev/null
+++ b/packages/android-ndk/package.desc
@@ -0,0 +1,3 @@
+# We don't support building bionic (yet) so no official repository
+mirrors='https://dl.google.com/android/repository'
+archive_filename='@{pkg_name}-@{version}-linux-x86_64'
diff --git a/packages/android-ndk/r10e/version.desc b/packages/android-ndk/r10e/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/android-ndk/r10e/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/android-ndk/r11c/version.desc b/packages/android-ndk/r11c/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/android-ndk/r11c/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/android-ndk/r12b/version.desc b/packages/android-ndk/r12b/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/android-ndk/r12b/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/android-ndk/r13b/version.desc b/packages/android-ndk/r13b/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/android-ndk/r13b/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/android-ndk/r14b/version.desc b/packages/android-ndk/r14b/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/android-ndk/r14b/version.desc
diff --git a/packages/android-ndk/r15b/version.desc b/packages/android-ndk/r15b/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/android-ndk/r15b/version.desc
diff --git a/packages/autoconf/2.65/version.desc b/packages/autoconf/2.65/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/autoconf/2.65/version.desc
diff --git a/packages/autoconf/2.69/version.desc b/packages/autoconf/2.69/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/autoconf/2.69/version.desc
diff --git a/packages/autoconf/package.desc b/packages/autoconf/package.desc
new file mode 100644
index 0000000..29d6351
--- /dev/null
+++ b/packages/autoconf/package.desc
@@ -0,0 +1,3 @@
+repository='git git://git.sv.gnu.org/autoconf'
+bootstrap='autoreconf -vi'
+mirrors='$(CT_Mirrors GNU autoconf)'
diff --git a/packages/autoconf/version.desc b/packages/autoconf/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/autoconf/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/automake/1.11.1/version.desc b/packages/automake/1.11.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/automake/1.11.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/automake/1.11.6/version.desc b/packages/automake/1.11.6/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/automake/1.11.6/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/automake/1.14/version.desc b/packages/automake/1.14/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/automake/1.14/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/automake/1.15/version.desc b/packages/automake/1.15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/automake/1.15/version.desc
diff --git a/packages/automake/package.desc b/packages/automake/package.desc
new file mode 100644
index 0000000..0191968
--- /dev/null
+++ b/packages/automake/package.desc
@@ -0,0 +1,3 @@
+repository='git https://git.savannah.gnu.org/git/automake.git'
+bootstrap='./bootstrap'
+mirrors='$(CT_Mirrors GNU automake)'
diff --git a/packages/avr-libc/1.8.0/version.desc b/packages/avr-libc/1.8.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/avr-libc/1.8.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/avr-libc/1.8.1/version.desc b/packages/avr-libc/1.8.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/avr-libc/1.8.1/version.desc
diff --git a/packages/avr-libc/2.0.0/version.desc b/packages/avr-libc/2.0.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/avr-libc/2.0.0/version.desc
diff --git a/packages/avr-libc/package.desc b/packages/avr-libc/package.desc
new file mode 100644
index 0000000..8976862
--- /dev/null
+++ b/packages/avr-libc/package.desc
@@ -0,0 +1,2 @@
+repository='svn svn://svn.savannah.nongnu.org/avr-libc/trunk/avr-libc'
+mirrors='http://download.savannah.gnu.org/releases/avr-libc'
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
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils-linaro/2.23.2-2013.10-4/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
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
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils-linaro/2.24.0-2014.11-2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
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
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils-linaro/2.25.0-2015.01-2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/binutils-linaro/package.desc b/packages/binutils-linaro/package.desc
new file mode 100644
index 0000000..ea5dc66
--- /dev/null
+++ b/packages/binutils-linaro/package.desc
@@ -0,0 +1,5 @@
+master='binutils'
+repository='git https://git.linaro.org/toolchain/binutils-gdb.git'
+mirrors='$(CT_Mirrors Linaro binutils ${CT_BINUTILS_LINARO_VERSION})'
+origin='Linaro'
+experimental='yes'
diff --git a/patches/binutils/2.23.2/120-sh-conf.patch b/packages/binutils/2.23.2/120-sh-conf.patch
index ea3d1b6..ea3d1b6 100644
--- a/patches/binutils/2.23.2/120-sh-conf.patch
+++ b/packages/binutils/2.23.2/120-sh-conf.patch
diff --git a/patches/binutils/2.23.2/300-001_ld_makefile_patch.patch b/packages/binutils/2.23.2/300-001_ld_makefile_patch.patch
index 5cb0f61..5cb0f61 100644
--- a/patches/binutils/2.23.2/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.23.2/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.23.2/300-012_check_ldrunpath_length.patch b/packages/binutils/2.23.2/300-012_check_ldrunpath_length.patch
index df78310..df78310 100644
--- a/patches/binutils/2.23.2/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.23.2/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.26/310-fix-gold-pthreads-typo.patch b/packages/binutils/2.23.2/310-fix-gold-pthreads-typo.patch
index f2e6ff2..f2e6ff2 100644
--- a/patches/binutils/2.26/310-fix-gold-pthreads-typo.patch
+++ b/packages/binutils/2.23.2/310-fix-gold-pthreads-typo.patch
diff --git a/patches/binutils/2.26/500-sysroot.patch b/packages/binutils/2.23.2/500-sysroot.patch
index e49c795..e49c795 100644
--- a/patches/binutils/2.26/500-sysroot.patch
+++ b/packages/binutils/2.23.2/500-sysroot.patch
diff --git a/patches/binutils/2.23.2/600-poison-system-directories.patch b/packages/binutils/2.23.2/600-poison-system-directories.patch
index 780e48e..780e48e 100644
--- a/patches/binutils/2.23.2/600-poison-system-directories.patch
+++ b/packages/binutils/2.23.2/600-poison-system-directories.patch
diff --git a/patches/binutils/2.24/900-xtensa-trampolines.patch b/packages/binutils/2.23.2/900-xtensa-trampolines.patch
index b5b934f..b5b934f 100644
--- a/patches/binutils/2.24/900-xtensa-trampolines.patch
+++ b/packages/binutils/2.23.2/900-xtensa-trampolines.patch
diff --git a/patches/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch b/packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch
index e1c2d85..e1c2d85 100644
--- a/patches/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch
+++ b/packages/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch
diff --git a/patches/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch b/packages/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch
index ba24f4e..ba24f4e 100644
--- a/patches/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch
+++ b/packages/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch
diff --git a/patches/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch b/packages/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
index 6a0846e..6a0846e 100644
--- a/patches/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
+++ b/packages/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
diff --git a/patches/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch b/packages/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
index dba7620..dba7620 100644
--- a/patches/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
+++ b/packages/binutils/2.23.2/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
diff --git a/patches/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch
index 8aeb064..8aeb064 100644
--- a/patches/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch
+++ b/packages/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch
diff --git a/patches/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
index 9ad6b3b..9ad6b3b 100644
--- a/patches/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
+++ b/packages/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
diff --git a/patches/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
index 4a3de2c..4a3de2c 100644
--- a/patches/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
+++ b/packages/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
diff --git a/patches/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch
index 2955e11..2955e11 100644
--- a/patches/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch
+++ b/packages/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch
diff --git a/patches/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch
index 62bc4b5..62bc4b5 100644
--- a/patches/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch
+++ b/packages/binutils/2.23.2/915-xtensa-fix-.init-.fini-literals-moving.patch
diff --git a/packages/binutils/2.23.2/version.desc b/packages/binutils/2.23.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils/2.23.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/binutils/2.24/001-fix-enable-install-libiberty-flag.patch b/packages/binutils/2.24/001-fix-enable-install-libiberty-flag.patch
index e408401..e408401 100644
--- a/patches/binutils/2.24/001-fix-enable-install-libiberty-flag.patch
+++ b/packages/binutils/2.24/001-fix-enable-install-libiberty-flag.patch
diff --git a/patches/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch b/packages/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch
index 7881646..7881646 100644
--- a/patches/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch
+++ b/packages/binutils/2.24/002-dont-segv-on-initial-instructions-overflow.patch
diff --git a/patches/binutils/2.24/120-sh-conf.patch b/packages/binutils/2.24/120-sh-conf.patch
index d5913e8..d5913e8 100644
--- a/patches/binutils/2.24/120-sh-conf.patch
+++ b/packages/binutils/2.24/120-sh-conf.patch
diff --git a/patches/binutils/2.24/300-001_ld_makefile_patch.patch b/packages/binutils/2.24/300-001_ld_makefile_patch.patch
index 4b5888a..4b5888a 100644
--- a/patches/binutils/2.24/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.24/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.24/300-012_check_ldrunpath_length.patch b/packages/binutils/2.24/300-012_check_ldrunpath_length.patch
index b49cc04..b49cc04 100644
--- a/patches/binutils/2.24/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.24/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.25.1/310-fix-gold-pthreads-typo.patch b/packages/binutils/2.24/310-fix-gold-pthreads-typo.patch
index f2e6ff2..f2e6ff2 100644
--- a/patches/binutils/2.25.1/310-fix-gold-pthreads-typo.patch
+++ b/packages/binutils/2.24/310-fix-gold-pthreads-typo.patch
diff --git a/patches/binutils/2.25.1/500-sysroot.patch b/packages/binutils/2.24/500-sysroot.patch
index e49c795..e49c795 100644
--- a/patches/binutils/2.25.1/500-sysroot.patch
+++ b/packages/binutils/2.24/500-sysroot.patch
diff --git a/patches/binutils/2.24/600-poison-system-directories.patch b/packages/binutils/2.24/600-poison-system-directories.patch
index 6a3bf6b..6a3bf6b 100644
--- a/patches/binutils/2.24/600-poison-system-directories.patch
+++ b/packages/binutils/2.24/600-poison-system-directories.patch
diff --git a/patches/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch
index cea92f3..cea92f3 100644
--- a/patches/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch
+++ b/packages/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch
diff --git a/patches/binutils/2.23.2/900-xtensa-trampolines.patch b/packages/binutils/2.24/900-xtensa-trampolines.patch
index b5b934f..b5b934f 100644
--- a/patches/binutils/2.23.2/900-xtensa-trampolines.patch
+++ b/packages/binutils/2.24/900-xtensa-trampolines.patch
diff --git a/patches/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch b/packages/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch
index e1c2d85..e1c2d85 100644
--- a/patches/binutils/2.23.2/901-xtensa-gas-first-frag-alignment.patch
+++ b/packages/binutils/2.24/901-xtensa-gas-first-frag-alignment.patch
diff --git a/patches/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch b/packages/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch
index ba24f4e..ba24f4e 100644
--- a/patches/binutils/2.23.2/902-xtensa-gas-ld-diff-relocation-signed.patch
+++ b/packages/binutils/2.24/902-xtensa-gas-ld-diff-relocation-signed.patch
diff --git a/patches/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch b/packages/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
index 6a0846e..6a0846e 100644
--- a/patches/binutils/2.23.2/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
+++ b/packages/binutils/2.24/903-xtensa-fix-ld-segfault-when-linking-linux-modules.patch
diff --git a/patches/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch b/packages/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
index e4c600e..e4c600e 100644
--- a/patches/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
+++ b/packages/binutils/2.24/904-Fix-call8-call-target-out-of-range-xtensa-ld-relaxation.patch
diff --git a/patches/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch
index 8aeb064..8aeb064 100644
--- a/patches/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch
+++ b/packages/binutils/2.24/905-Fix-trampolines-search-code-for-conditional-branches.patch
diff --git a/patches/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch b/packages/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
index 8a21100..8a21100 100644
--- a/patches/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
+++ b/packages/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
diff --git a/patches/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch b/packages/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch
index 9df8065..9df8065 100644
--- a/patches/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch
+++ b/packages/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch
diff --git a/patches/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch b/packages/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch
index 96d526f..96d526f 100644
--- a/patches/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch
+++ b/packages/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch
diff --git a/patches/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch b/packages/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch
index 3090cc2..3090cc2 100644
--- a/patches/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch
+++ b/packages/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch
diff --git a/patches/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch b/packages/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch
index 043ff4d..043ff4d 100644
--- a/patches/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch
+++ b/packages/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch
diff --git a/patches/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
index 9ad6b3b..9ad6b3b 100644
--- a/patches/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
+++ b/packages/binutils/2.24/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
diff --git a/patches/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
index 4a3de2c..4a3de2c 100644
--- a/patches/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
+++ b/packages/binutils/2.24/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
diff --git a/patches/binutils/2.24/913-xtensa-add-auto-litpools-option.patch b/packages/binutils/2.24/913-xtensa-add-auto-litpools-option.patch
index f0199e1..f0199e1 100644
--- a/patches/binutils/2.24/913-xtensa-add-auto-litpools-option.patch
+++ b/packages/binutils/2.24/913-xtensa-add-auto-litpools-option.patch
diff --git a/patches/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch
index 2955e11..2955e11 100644
--- a/patches/binutils/2.23.2/914-xtensa-fix-signedness-of-gas-relocations.patch
+++ b/packages/binutils/2.24/914-xtensa-fix-signedness-of-gas-relocations.patch
diff --git a/patches/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch
index 656373f..656373f 100644
--- a/patches/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch
+++ b/packages/binutils/2.24/915-xtensa-fix-.init-.fini-literals-moving.patch
diff --git a/packages/binutils/2.24/version.desc b/packages/binutils/2.24/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils/2.24/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/binutils/2.28/120-sh-conf.patch b/packages/binutils/2.25.1/120-sh-conf.patch
index c12a023..c12a023 100644
--- a/patches/binutils/2.28/120-sh-conf.patch
+++ b/packages/binutils/2.25.1/120-sh-conf.patch
diff --git a/patches/binutils/2.28/300-001_ld_makefile_patch.patch b/packages/binutils/2.25.1/300-001_ld_makefile_patch.patch
index 2a1320c..2a1320c 100644
--- a/patches/binutils/2.28/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.25.1/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.28/300-012_check_ldrunpath_length.patch b/packages/binutils/2.25.1/300-012_check_ldrunpath_length.patch
index f1f31af..f1f31af 100644
--- a/patches/binutils/2.28/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.25.1/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.24/310-fix-gold-pthreads-typo.patch b/packages/binutils/2.25.1/310-fix-gold-pthreads-typo.patch
index f2e6ff2..f2e6ff2 100644
--- a/patches/binutils/2.24/310-fix-gold-pthreads-typo.patch
+++ b/packages/binutils/2.25.1/310-fix-gold-pthreads-typo.patch
diff --git a/patches/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
index f9a8af6..f9a8af6 100644
--- a/patches/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
+++ b/packages/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
diff --git a/patches/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch
index af4032a..af4032a 100644
--- a/patches/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch
+++ b/packages/binutils/2.25.1/330-Dont-link-to-libfl-as-its-unnecessary.patch
diff --git a/patches/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
index 33441cc..33441cc 100644
--- a/patches/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
+++ b/packages/binutils/2.25.1/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
diff --git a/patches/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
index 6168b31..6168b31 100644
--- a/patches/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
+++ b/packages/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
diff --git a/patches/binutils/2.25.1/400-arm-rotate_left-fix.patch b/packages/binutils/2.25.1/400-arm-rotate_left-fix.patch
index 4149597..4149597 100644
--- a/patches/binutils/2.25.1/400-arm-rotate_left-fix.patch
+++ b/packages/binutils/2.25.1/400-arm-rotate_left-fix.patch
diff --git a/patches/binutils/2.24/500-sysroot.patch b/packages/binutils/2.25.1/500-sysroot.patch
index e49c795..e49c795 100644
--- a/patches/binutils/2.24/500-sysroot.patch
+++ b/packages/binutils/2.25.1/500-sysroot.patch
diff --git a/patches/binutils/2.25.1/600-poison-system-directories.patch b/packages/binutils/2.25.1/600-poison-system-directories.patch
index ec3622b..ec3622b 100644
--- a/patches/binutils/2.25.1/600-poison-system-directories.patch
+++ b/packages/binutils/2.25.1/600-poison-system-directories.patch
diff --git a/patches/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch
index cea92f3..cea92f3 100644
--- a/patches/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch
+++ b/packages/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch
diff --git a/patches/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch b/packages/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch
index 8aeb064..8aeb064 100644
--- a/patches/binutils/2.23.2/905-Fix-trampolines-search-code-for-conditional-branches.patch
+++ b/packages/binutils/2.25.1/905-Fix-trampolines-search-code-for-conditional-branches.patch
diff --git a/patches/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch b/packages/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
index 8a21100..8a21100 100644
--- a/patches/binutils/2.24/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
+++ b/packages/binutils/2.25.1/906-xtensa-optimize-check_section_ebb_pcrels_fit.patch
diff --git a/patches/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch b/packages/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch
index 9df8065..9df8065 100644
--- a/patches/binutils/2.24/907-xtensa-optimize-removed_by_actions.patch
+++ b/packages/binutils/2.25.1/907-xtensa-optimize-removed_by_actions.patch
diff --git a/patches/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch b/packages/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch
index 96d526f..96d526f 100644
--- a/patches/binutils/2.24/908-xtensa-optimize-find_removed_literal.patch
+++ b/packages/binutils/2.25.1/908-xtensa-optimize-find_removed_literal.patch
diff --git a/patches/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch b/packages/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch
index 3090cc2..3090cc2 100644
--- a/patches/binutils/2.24/909-xtensa-replace-action-list-with-splay-tree.patch
+++ b/packages/binutils/2.25.1/909-xtensa-replace-action-list-with-splay-tree.patch
diff --git a/patches/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch b/packages/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch
index 043ff4d..043ff4d 100644
--- a/patches/binutils/2.24/910-xtensa-optimize-trampolines-relaxation.patch
+++ b/packages/binutils/2.25.1/910-xtensa-optimize-trampolines-relaxation.patch
diff --git a/patches/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch b/packages/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
index 9ad6b3b..9ad6b3b 100644
--- a/patches/binutils/2.23.2/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
+++ b/packages/binutils/2.25.1/911-xtensa-fix-localized-symbol-refcounting-with-gc-sect.patch
diff --git a/patches/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch b/packages/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
index 4a3de2c..4a3de2c 100644
--- a/patches/binutils/2.23.2/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
+++ b/packages/binutils/2.25.1/912-xtensa-fix-gas-segfault-with-text-section-literals.patch
diff --git a/patches/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch b/packages/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch
index 3ed9af1..3ed9af1 100644
--- a/patches/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch
+++ b/packages/binutils/2.25.1/913-xtensa-add-auto-litpools-option.patch
diff --git a/patches/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch
index 66d4e60..66d4e60 100644
--- a/patches/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch
+++ b/packages/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch
diff --git a/patches/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch
index ead3e42..ead3e42 100644
--- a/patches/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch
+++ b/packages/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch
diff --git a/packages/binutils/2.25.1/version.desc b/packages/binutils/2.25.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/binutils/2.25.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/binutils/2.27/120-sh-conf.patch b/packages/binutils/2.26/120-sh-conf.patch
index c12a023..c12a023 100644
--- a/patches/binutils/2.27/120-sh-conf.patch
+++ b/packages/binutils/2.26/120-sh-conf.patch
diff --git a/patches/binutils/2.27/300-001_ld_makefile_patch.patch b/packages/binutils/2.26/300-001_ld_makefile_patch.patch
index 2a1320c..2a1320c 100644
--- a/patches/binutils/2.27/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.26/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.27/300-012_check_ldrunpath_length.patch b/packages/binutils/2.26/300-012_check_ldrunpath_length.patch
index f1f31af..f1f31af 100644
--- a/patches/binutils/2.27/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.26/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.23.2/310-fix-gold-pthreads-typo.patch b/packages/binutils/2.26/310-fix-gold-pthreads-typo.patch
index f2e6ff2..f2e6ff2 100644
--- a/patches/binutils/2.23.2/310-fix-gold-pthreads-typo.patch
+++ b/packages/binutils/2.26/310-fix-gold-pthreads-typo.patch
diff --git a/patches/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
index f9a8af6..f9a8af6 100644
--- a/patches/binutils/2.25.1/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
+++ b/packages/binutils/2.26/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
diff --git a/patches/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch
index 334ee3e..334ee3e 100644
--- a/patches/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch
+++ b/packages/binutils/2.26/330-Dont-link-to-libfl-as-its-unnecessary.patch
diff --git a/patches/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
index e4f235b..e4f235b 100644
--- a/patches/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
+++ b/packages/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
diff --git a/patches/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
index 6168b31..6168b31 100644
--- a/patches/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
+++ b/packages/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
diff --git a/patches/binutils/2.23.2/500-sysroot.patch b/packages/binutils/2.26/500-sysroot.patch
index e49c795..e49c795 100644
--- a/patches/binutils/2.23.2/500-sysroot.patch
+++ b/packages/binutils/2.26/500-sysroot.patch
diff --git a/patches/binutils/2.26/600-poison-system-directories.patch b/packages/binutils/2.26/600-poison-system-directories.patch
index aa04082..aa04082 100644
--- a/patches/binutils/2.26/600-poison-system-directories.patch
+++ b/packages/binutils/2.26/600-poison-system-directories.patch
diff --git a/patches/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch
index cea92f3..cea92f3 100644
--- a/patches/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch
+++ b/packages/binutils/2.26/700-Fix-library-paths-on-PowerPC.patch
diff --git a/patches/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch b/packages/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch
index 66d4e60..66d4e60 100644
--- a/patches/binutils/2.25.1/914-xtensa-fix-signedness-of-gas-relocations.patch
+++ b/packages/binutils/2.26/914-xtensa-fix-signedness-of-gas-relocations.patch
diff --git a/patches/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch b/packages/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch
index ead3e42..ead3e42 100644
--- a/patches/binutils/2.25.1/915-xtensa-fix-.init-.fini-literals-moving.patch
+++ b/packages/binutils/2.26/915-xtensa-fix-.init-.fini-literals-moving.patch
diff --git a/packages/binutils/2.26/version.desc b/packages/binutils/2.26/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/binutils/2.26/version.desc
diff --git a/patches/binutils/2.27/100-missing-break.patch b/packages/binutils/2.27/100-missing-break.patch
index 6f9d67c..6f9d67c 100644
--- a/patches/binutils/2.27/100-missing-break.patch
+++ b/packages/binutils/2.27/100-missing-break.patch
diff --git a/patches/binutils/2.26/120-sh-conf.patch b/packages/binutils/2.27/120-sh-conf.patch
index c12a023..c12a023 100644
--- a/patches/binutils/2.26/120-sh-conf.patch
+++ b/packages/binutils/2.27/120-sh-conf.patch
diff --git a/patches/binutils/2.26/300-001_ld_makefile_patch.patch b/packages/binutils/2.27/300-001_ld_makefile_patch.patch
index 2a1320c..2a1320c 100644
--- a/patches/binutils/2.26/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.27/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.26/300-012_check_ldrunpath_length.patch b/packages/binutils/2.27/300-012_check_ldrunpath_length.patch
index f1f31af..f1f31af 100644
--- a/patches/binutils/2.26/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.27/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
index 2956385..2956385 100644
--- a/patches/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
+++ b/packages/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
diff --git a/patches/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch
index c52af05..c52af05 100644
--- a/patches/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch
+++ b/packages/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch
diff --git a/patches/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
index e4f235b..e4f235b 100644
--- a/patches/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
+++ b/packages/binutils/2.27/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
diff --git a/patches/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
index 6168b31..6168b31 100644
--- a/patches/binutils/2.26/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
+++ b/packages/binutils/2.27/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
diff --git a/patches/binutils/2.28/500-sysroot.patch b/packages/binutils/2.27/500-sysroot.patch
index 4cb9bc7..4cb9bc7 100644
--- a/patches/binutils/2.28/500-sysroot.patch
+++ b/packages/binutils/2.27/500-sysroot.patch
diff --git a/patches/binutils/2.28/600-poison-system-directories.patch b/packages/binutils/2.27/600-poison-system-directories.patch
index ff235e3..ff235e3 100644
--- a/patches/binutils/2.28/600-poison-system-directories.patch
+++ b/packages/binutils/2.27/600-poison-system-directories.patch
diff --git a/patches/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch
index cea92f3..cea92f3 100644
--- a/patches/binutils/2.25.1/700-Fix-library-paths-on-PowerPC.patch
+++ b/packages/binutils/2.27/700-Fix-library-paths-on-PowerPC.patch
diff --git a/patches/binutils/2.27/999-xtensa-reverse-shift-count.patch b/packages/binutils/2.27/999-xtensa-reverse-shift-count.patch
index f8bb9c1..f8bb9c1 100644
--- a/patches/binutils/2.27/999-xtensa-reverse-shift-count.patch
+++ b/packages/binutils/2.27/999-xtensa-reverse-shift-count.patch
diff --git a/packages/binutils/2.27/version.desc b/packages/binutils/2.27/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/binutils/2.27/version.desc
diff --git a/patches/binutils/2.25.1/120-sh-conf.patch b/packages/binutils/2.28/120-sh-conf.patch
index c12a023..c12a023 100644
--- a/patches/binutils/2.25.1/120-sh-conf.patch
+++ b/packages/binutils/2.28/120-sh-conf.patch
diff --git a/patches/binutils/2.25.1/300-001_ld_makefile_patch.patch b/packages/binutils/2.28/300-001_ld_makefile_patch.patch
index 2a1320c..2a1320c 100644
--- a/patches/binutils/2.25.1/300-001_ld_makefile_patch.patch
+++ b/packages/binutils/2.28/300-001_ld_makefile_patch.patch
diff --git a/patches/binutils/2.25.1/300-012_check_ldrunpath_length.patch b/packages/binutils/2.28/300-012_check_ldrunpath_length.patch
index f1f31af..f1f31af 100644
--- a/patches/binutils/2.25.1/300-012_check_ldrunpath_length.patch
+++ b/packages/binutils/2.28/300-012_check_ldrunpath_length.patch
diff --git a/patches/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch b/packages/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
index 2956385..2956385 100644
--- a/patches/binutils/2.27/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
+++ b/packages/binutils/2.28/320-MinGW-w64-winpthreads-doesnt-have-pthread_mutexattr_settype.patch
diff --git a/patches/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch b/packages/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch
index c52af05..c52af05 100644
--- a/patches/binutils/2.27/330-Dont-link-to-libfl-as-its-unnecessary.patch
+++ b/packages/binutils/2.28/330-Dont-link-to-libfl-as-its-unnecessary.patch
diff --git a/patches/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch b/packages/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
index e4f235b..e4f235b 100644
--- a/patches/binutils/2.26/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
+++ b/packages/binutils/2.28/340-Darwin-gold-binary-cc-include-string-not-cstring.patch
diff --git a/patches/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch b/packages/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
index 6168b31..6168b31 100644
--- a/patches/binutils/2.25.1/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
+++ b/packages/binutils/2.28/350-Darwin-Two-fixes-from-Android-NDK-PTHREAD_ONCE_INIT-wcsncasecmp.patch
diff --git a/patches/binutils/2.27/500-sysroot.patch b/packages/binutils/2.28/500-sysroot.patch
index 4cb9bc7..4cb9bc7 100644
--- a/patches/binutils/2.27/500-sysroot.patch
+++ b/packages/binutils/2.28/500-sysroot.patch
diff --git a/patches/binutils/2.27/600-poison-system-directories.patch b/packages/binutils/2.28/600-poison-system-directories.patch
index ff235e3..ff235e3 100644
--- a/patches/binutils/2.27/600-poison-system-directories.patch
+++ b/packages/binutils/2.28/600-poison-system-directories.patch
diff --git a/patches/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch b/packages/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch
index cea92f3..cea92f3 100644
--- a/patches/binutils/2.24/700-Fix-library-paths-on-PowerPC.patch
+++ b/packages/binutils/2.28/700-Fix-library-paths-on-PowerPC.patch
diff --git a/packages/binutils/2.28/version.desc b/packages/binutils/2.28/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/binutils/2.28/version.desc
diff --git a/packages/binutils/package.desc b/packages/binutils/package.desc
new file mode 100644
index 0000000..cb98707
--- /dev/null
+++ b/packages/binutils/package.desc
@@ -0,0 +1,4 @@
+repository='git git://sourceware.org/git/binutils-gdb.git'
+mirrors='$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)'
+origin='GNU'
+milestones='2.23'
diff --git a/packages/cloog/0.18.0/version.desc b/packages/cloog/0.18.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/cloog/0.18.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/cloog/0.18.1/version.desc b/packages/cloog/0.18.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/cloog/0.18.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/cloog/0.18.4/version.desc b/packages/cloog/0.18.4/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/cloog/0.18.4/version.desc
diff --git a/packages/cloog/package.desc b/packages/cloog/package.desc
new file mode 100644
index 0000000..333a45c
--- /dev/null
+++ b/packages/cloog/package.desc
@@ -0,0 +1,4 @@
+pkg_label='CLooG'
+repository='git git://repo.or.cz/cloog.git'
+mirrors='http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure'
+milestones='0.18 0.18.1 0.18.4'
diff --git a/patches/duma/2_5_15/100-cross-compile.patch b/packages/duma/2_5_15/100-cross-compile.patch
index cc95160..cc95160 100644
--- a/patches/duma/2_5_15/100-cross-compile.patch
+++ b/packages/duma/2_5_15/100-cross-compile.patch
diff --git a/patches/duma/2_5_15/110-separate_cpp.patch b/packages/duma/2_5_15/110-separate_cpp.patch
index 4bbccc7..4bbccc7 100644
--- a/patches/duma/2_5_15/110-separate_cpp.patch
+++ b/packages/duma/2_5_15/110-separate_cpp.patch
diff --git a/patches/duma/2_5_15/200-cpp11-new-operator.patch b/packages/duma/2_5_15/200-cpp11-new-operator.patch
index 900333e..900333e 100644
--- a/patches/duma/2_5_15/200-cpp11-new-operator.patch
+++ b/packages/duma/2_5_15/200-cpp11-new-operator.patch
diff --git a/packages/duma/2_5_15/version.desc b/packages/duma/2_5_15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/duma/2_5_15/version.desc
diff --git a/packages/duma/package.desc b/packages/duma/package.desc
new file mode 100644
index 0000000..0abd534
--- /dev/null
+++ b/packages/duma/package.desc
@@ -0,0 +1,4 @@
+repository='cvs :pserver:anonymous@duma.cvs.sourceforge.net:/cvsroot/duma duma'
+mirrors='http://downloads.sourceforge.net/project/duma/duma/${CT_DUMA_VERSION//_/.}'
+archive_filename='@{pkg_name}_@{version}'
+archive_dirname='@{pkg_name}_@{version}'
diff --git a/packages/elf2flt/package.desc b/packages/elf2flt/package.desc
new file mode 100644
index 0000000..c46788c
--- /dev/null
+++ b/packages/elf2flt/package.desc
@@ -0,0 +1,2 @@
+repository='git https://github.com/uclinux-dev/elf2flt.git'
+repository_cset='6d80ab6c93409e796f85da404bde84b841231531'
diff --git a/packages/expat/2.1.1/version.desc b/packages/expat/2.1.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/expat/2.1.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/expat/2.2.1/version.desc b/packages/expat/2.2.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/expat/2.2.1/version.desc
diff --git a/packages/expat/package.desc b/packages/expat/package.desc
new file mode 100644
index 0000000..585ce5e
--- /dev/null
+++ b/packages/expat/package.desc
@@ -0,0 +1,4 @@
+repository='git https://github.com/libexpat/libexpat.git'
+repository_subdir='expat'
+bootstrap='./buildconf.sh && make -C doc all'
+mirrors='http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}'
diff --git a/patches/gcc/linaro-4.8-2015.06/001_gcc_bug_62231.patch b/packages/gcc-linaro/4.8-2015.06/001_gcc_bug_62231.patch
index e7c9cf9..e7c9cf9 100644
--- a/patches/gcc/linaro-4.8-2015.06/001_gcc_bug_62231.patch
+++ b/packages/gcc-linaro/4.8-2015.06/001_gcc_bug_62231.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/002_gcc_bug_62231.patch b/packages/gcc-linaro/4.8-2015.06/002_gcc_bug_62231.patch
index b970ebc..b970ebc 100644
--- a/patches/gcc/linaro-4.8-2015.06/002_gcc_bug_62231.patch
+++ b/packages/gcc-linaro/4.8-2015.06/002_gcc_bug_62231.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/100-uclibc-conf.patch b/packages/gcc-linaro/4.8-2015.06/100-uclibc-conf.patch
index d56bf0a..d56bf0a 100644
--- a/patches/gcc/linaro-4.9-2017.01/100-uclibc-conf.patch
+++ b/packages/gcc-linaro/4.8-2015.06/100-uclibc-conf.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/1000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/4.8-2015.06/1000-libtool-leave-framework-alone.patch
index 525592e..525592e 100644
--- a/patches/gcc/linaro-4.9-2017.01/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc-linaro/4.8-2015.06/1000-libtool-leave-framework-alone.patch
diff --git a/patches/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
index b7094fe..b7094fe 100644
--- a/patches/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
diff --git a/patches/gcc/linaro-4.8-2015.06/111-pr65730.patch b/packages/gcc-linaro/4.8-2015.06/111-pr65730.patch
index f195e30..f195e30 100644
--- a/patches/gcc/linaro-4.8-2015.06/111-pr65730.patch
+++ b/packages/gcc-linaro/4.8-2015.06/111-pr65730.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/130-pr43538.patch b/packages/gcc-linaro/4.8-2015.06/130-pr43538.patch
index 19e57bb..19e57bb 100644
--- a/patches/gcc/linaro-4.9-2017.01/130-pr43538.patch
+++ b/packages/gcc-linaro/4.8-2015.06/130-pr43538.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc-linaro/4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
index 1c49fb0..1c49fb0 100644
--- a/patches/gcc/linaro-4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
+++ b/packages/gcc-linaro/4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/132-build_gcc-5_with_gcc-6.patch b/packages/gcc-linaro/4.8-2015.06/132-build_gcc-5_with_gcc-6.patch
index ac1d846..ac1d846 100644
--- a/patches/gcc/linaro-4.8-2015.06/132-build_gcc-5_with_gcc-6.patch
+++ b/packages/gcc-linaro/4.8-2015.06/132-build_gcc-5_with_gcc-6.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/301-missing-execinfo_h.patch b/packages/gcc-linaro/4.8-2015.06/301-missing-execinfo_h.patch
index 00efda2..00efda2 100644
--- a/patches/gcc/linaro-4.9-2017.01/301-missing-execinfo_h.patch
+++ b/packages/gcc-linaro/4.8-2015.06/301-missing-execinfo_h.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/305-libmudflap-susv3-legacy.patch b/packages/gcc-linaro/4.8-2015.06/305-libmudflap-susv3-legacy.patch
index 35d5f50..35d5f50 100644
--- a/patches/gcc/linaro-4.8-2015.06/305-libmudflap-susv3-legacy.patch
+++ b/packages/gcc-linaro/4.8-2015.06/305-libmudflap-susv3-legacy.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index 3cf66b2..3cf66b2 100644
--- a/patches/gcc/linaro-4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc-linaro/4.8-2015.06/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/810-arm-softfloat-libgcc.patch b/packages/gcc-linaro/4.8-2015.06/810-arm-softfloat-libgcc.patch
index c8cb377..c8cb377 100644
--- a/patches/gcc/linaro-4.8-2015.06/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc-linaro/4.8-2015.06/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/830-arm_unbreak_armv4t.patch b/packages/gcc-linaro/4.8-2015.06/830-arm_unbreak_armv4t.patch
index 37f8f2a..37f8f2a 100644
--- a/patches/gcc/linaro-4.9-2017.01/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc-linaro/4.8-2015.06/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/841-PR57717-E500v2.patch b/packages/gcc-linaro/4.8-2015.06/841-PR57717-E500v2.patch
index a011e24..a011e24 100644
--- a/patches/gcc/linaro-4.8-2015.06/841-PR57717-E500v2.patch
+++ b/packages/gcc-linaro/4.8-2015.06/841-PR57717-E500v2.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/842-PR60155.patch b/packages/gcc-linaro/4.8-2015.06/842-PR60155.patch
index 7bc2122..7bc2122 100644
--- a/patches/gcc/linaro-4.8-2015.06/842-PR60155.patch
+++ b/packages/gcc-linaro/4.8-2015.06/842-PR60155.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch b/packages/gcc-linaro/4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch
index afa650c..afa650c 100644
--- a/patches/gcc/linaro-4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch
+++ b/packages/gcc-linaro/4.8-2015.06/843-aarch64-vmlaq_lane_s32-typo.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/850-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/4.8-2015.06/850-libstdcxx-uclibc-c99.patch
index 792976f..792976f 100644
--- a/patches/gcc/linaro-4.8-2015.06/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc-linaro/4.8-2015.06/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/851-PR-other-56780.patch b/packages/gcc-linaro/4.8-2015.06/851-PR-other-56780.patch
index feb4339..feb4339 100644
--- a/patches/gcc/linaro-4.8-2015.06/851-PR-other-56780.patch
+++ b/packages/gcc-linaro/4.8-2015.06/851-PR-other-56780.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch
index aa1376c..aa1376c 100644
--- a/patches/gcc/linaro-5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc-linaro/4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/871-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/4.8-2015.06/871-xtensa-reimplement-register-spilling.patch
index abc7a08..abc7a08 100644
--- a/patches/gcc/linaro-4.9-2017.01/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc-linaro/4.8-2015.06/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc-linaro/4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index f23a5c0..f23a5c0 100644
--- a/patches/gcc/linaro-4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc-linaro/4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch
index dc40513..dc40513 100644
--- a/patches/gcc/linaro-4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc-linaro/4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
index 6013fef..6013fef 100644
--- a/patches/gcc/linaro-4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc-linaro/4.8-2015.06/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/900-musl-support.patch b/packages/gcc-linaro/4.8-2015.06/900-musl-support.patch
index 6743a88..6743a88 100644
--- a/patches/gcc/linaro-4.8-2015.06/900-musl-support.patch
+++ b/packages/gcc-linaro/4.8-2015.06/900-musl-support.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/950-cygwin64.patch b/packages/gcc-linaro/4.8-2015.06/950-cygwin64.patch
index 67182ee..67182ee 100644
--- a/patches/gcc/linaro-4.8-2015.06/950-cygwin64.patch
+++ b/packages/gcc-linaro/4.8-2015.06/950-cygwin64.patch
diff --git a/packages/gcc-linaro/4.8-2015.06/version.desc b/packages/gcc-linaro/4.8-2015.06/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gcc-linaro/4.8-2015.06/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gcc/linaro-4.9-2017.01/001-gcc_bug_62231.patch b/packages/gcc-linaro/4.9-2017.01/001-gcc_bug_62231.patch
index e7c9cf9..e7c9cf9 100644
--- a/patches/gcc/linaro-4.9-2017.01/001-gcc_bug_62231.patch
+++ b/packages/gcc-linaro/4.9-2017.01/001-gcc_bug_62231.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/002-gcc_bug_62231.patch b/packages/gcc-linaro/4.9-2017.01/002-gcc_bug_62231.patch
index b970ebc..b970ebc 100644
--- a/patches/gcc/linaro-4.9-2017.01/002-gcc_bug_62231.patch
+++ b/packages/gcc-linaro/4.9-2017.01/002-gcc_bug_62231.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/100-uclibc-conf.patch b/packages/gcc-linaro/4.9-2017.01/100-uclibc-conf.patch
index d56bf0a..d56bf0a 100644
--- a/patches/gcc/linaro-4.8-2015.06/100-uclibc-conf.patch
+++ b/packages/gcc-linaro/4.9-2017.01/100-uclibc-conf.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/1000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/4.9-2017.01/1000-libtool-leave-framework-alone.patch
index 525592e..525592e 100644
--- a/patches/gcc/linaro-4.8-2015.06/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc-linaro/4.9-2017.01/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional b/packages/gcc-linaro/4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional
index 5e0484f..5e0484f 100644
--- a/patches/gcc/linaro-4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional
+++ b/packages/gcc-linaro/4.9-2017.01/1000-powerpc-link-with-math-lib.patch.conditional
diff --git a/patches/gcc/linaro-4.9-2017.01/1100-msp430-string-literals.patch b/packages/gcc-linaro/4.9-2017.01/1100-msp430-string-literals.patch
index 346842e..346842e 100644
--- a/patches/gcc/linaro-4.9-2017.01/1100-msp430-string-literals.patch
+++ b/packages/gcc-linaro/4.9-2017.01/1100-msp430-string-literals.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/111-pr65730.patch b/packages/gcc-linaro/4.9-2017.01/111-pr65730.patch
index 8a41fd2..8a41fd2 100644
--- a/patches/gcc/linaro-4.9-2017.01/111-pr65730.patch
+++ b/packages/gcc-linaro/4.9-2017.01/111-pr65730.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc-linaro/4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
index bb77c4b..bb77c4b 100644
--- a/patches/gcc/linaro-4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
+++ b/packages/gcc-linaro/4.9-2017.01/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/130-pr43538.patch b/packages/gcc-linaro/4.9-2017.01/130-pr43538.patch
index 19e57bb..19e57bb 100644
--- a/patches/gcc/linaro-4.8-2015.06/130-pr43538.patch
+++ b/packages/gcc-linaro/4.9-2017.01/130-pr43538.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc-linaro/4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
index 1c49fb0..1c49fb0 100644
--- a/patches/gcc/linaro-4.8-2015.06/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
+++ b/packages/gcc-linaro/4.9-2017.01/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch b/packages/gcc-linaro/4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
index 55f3228..55f3228 100644
--- a/patches/gcc/linaro-4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
+++ b/packages/gcc-linaro/4.9-2017.01/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/301-missing-execinfo_h.patch b/packages/gcc-linaro/4.9-2017.01/301-missing-execinfo_h.patch
index 00efda2..00efda2 100644
--- a/patches/gcc/linaro-4.8-2015.06/301-missing-execinfo_h.patch
+++ b/packages/gcc-linaro/4.9-2017.01/301-missing-execinfo_h.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index c3bab15..c3bab15 100644
--- a/patches/gcc/linaro-4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc-linaro/4.9-2017.01/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/810-arm-softfloat-libgcc.patch b/packages/gcc-linaro/4.9-2017.01/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/linaro-6.3-2017.05/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc-linaro/4.9-2017.01/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/830-arm_unbreak_armv4t.patch b/packages/gcc-linaro/4.9-2017.01/830-arm_unbreak_armv4t.patch
index 37f8f2a..37f8f2a 100644
--- a/patches/gcc/linaro-4.8-2015.06/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc-linaro/4.9-2017.01/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch b/packages/gcc-linaro/4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch
index 03fc47f..03fc47f 100644
--- a/patches/gcc/linaro-4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch
+++ b/packages/gcc-linaro/4.9-2017.01/840-microblaze-enable-dwarf-eh-support.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/850-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/4.9-2017.01/850-libstdcxx-uclibc-c99.patch
index 533d01f..533d01f 100644
--- a/patches/gcc/linaro-4.9-2017.01/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc-linaro/4.9-2017.01/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/860-cilk-wchar.patch b/packages/gcc-linaro/4.9-2017.01/860-cilk-wchar.patch
index 1837405..1837405 100644
--- a/patches/gcc/linaro-4.9-2017.01/860-cilk-wchar.patch
+++ b/packages/gcc-linaro/4.9-2017.01/860-cilk-wchar.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch
index 98c7b3f..98c7b3f 100644
--- a/patches/gcc/linaro-4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc-linaro/4.9-2017.01/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/871-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/4.9-2017.01/871-xtensa-reimplement-register-spilling.patch
index abc7a08..abc7a08 100644
--- a/patches/gcc/linaro-4.8-2015.06/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc-linaro/4.9-2017.01/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc-linaro/4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index f23a5c0..f23a5c0 100644
--- a/patches/gcc/linaro-4.8-2015.06/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc-linaro/4.9-2017.01/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch
index dc40513..dc40513 100644
--- a/patches/gcc/linaro-4.8-2015.06/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc-linaro/4.9-2017.01/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/874-xtensa-add-uclinux-support.patch b/packages/gcc-linaro/4.9-2017.01/874-xtensa-add-uclinux-support.patch
index 881aec0..881aec0 100644
--- a/patches/gcc/linaro-4.9-2017.01/874-xtensa-add-uclinux-support.patch
+++ b/packages/gcc-linaro/4.9-2017.01/874-xtensa-add-uclinux-support.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
index 052ffc3..052ffc3 100644
--- a/patches/gcc/linaro-4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc-linaro/4.9-2017.01/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/880-nios2_legitimize_address.patch b/packages/gcc-linaro/4.9-2017.01/880-nios2_legitimize_address.patch
index 4623f29..4623f29 100644
--- a/patches/gcc/linaro-4.9-2017.01/880-nios2_legitimize_address.patch
+++ b/packages/gcc-linaro/4.9-2017.01/880-nios2_legitimize_address.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/890-fix-m68k-compile.patch b/packages/gcc-linaro/4.9-2017.01/890-fix-m68k-compile.patch
index 140977b..140977b 100644
--- a/patches/gcc/linaro-4.9-2017.01/890-fix-m68k-compile.patch
+++ b/packages/gcc-linaro/4.9-2017.01/890-fix-m68k-compile.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/891-fix-m68k-uclinux.patch b/packages/gcc-linaro/4.9-2017.01/891-fix-m68k-uclinux.patch
index 4347642..4347642 100644
--- a/patches/gcc/linaro-4.9-2017.01/891-fix-m68k-uclinux.patch
+++ b/packages/gcc-linaro/4.9-2017.01/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch
index 670cf8d..670cf8d 100644
--- a/patches/gcc/linaro-4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc-linaro/4.9-2017.01/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/940-uclinux-enable-threads.patch b/packages/gcc-linaro/4.9-2017.01/940-uclinux-enable-threads.patch
index 5108147..5108147 100644
--- a/patches/gcc/linaro-4.9-2017.01/940-uclinux-enable-threads.patch
+++ b/packages/gcc-linaro/4.9-2017.01/940-uclinux-enable-threads.patch
diff --git a/packages/gcc-linaro/4.9-2017.01/version.desc b/packages/gcc-linaro/4.9-2017.01/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc-linaro/4.9-2017.01/version.desc
diff --git a/patches/gcc/linaro-6.3-2017.05/100-uclibc-conf.patch b/packages/gcc-linaro/5.4-2017.05/100-uclibc-conf.patch
index 73d1f0d..73d1f0d 100644
--- a/patches/gcc/linaro-6.3-2017.05/100-uclibc-conf.patch
+++ b/packages/gcc-linaro/5.4-2017.05/100-uclibc-conf.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/1000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/5.4-2017.05/1000-libtool-leave-framework-alone.patch
index 0f4912a..0f4912a 100644
--- a/patches/gcc/linaro-5.4-2017.05/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc-linaro/5.4-2017.05/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/110-xtensa-implement-trap-pattern.patch b/packages/gcc-linaro/5.4-2017.05/110-xtensa-implement-trap-pattern.patch
index 3304532..3304532 100644
--- a/patches/gcc/linaro-5.4-2017.05/110-xtensa-implement-trap-pattern.patch
+++ b/packages/gcc-linaro/5.4-2017.05/110-xtensa-implement-trap-pattern.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/1100-msp430-string-literals.patch b/packages/gcc-linaro/5.4-2017.05/1100-msp430-string-literals.patch
index 819d6d2..819d6d2 100644
--- a/patches/gcc/linaro-5.4-2017.05/1100-msp430-string-literals.patch
+++ b/packages/gcc-linaro/5.4-2017.05/1100-msp430-string-literals.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc-linaro/5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
index c11ad35..c11ad35 100644
--- a/patches/gcc/linaro-5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
+++ b/packages/gcc-linaro/5.4-2017.05/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/301-missing-execinfo_h.patch b/packages/gcc-linaro/5.4-2017.05/301-missing-execinfo_h.patch
index 2d0e7ba..2d0e7ba 100644
--- a/patches/gcc/linaro-6.3-2017.05/301-missing-execinfo_h.patch
+++ b/packages/gcc-linaro/5.4-2017.05/301-missing-execinfo_h.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index d8986d5..d8986d5 100644
--- a/patches/gcc/linaro-6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc-linaro/5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
index 12ef48e..12ef48e 100644
--- a/patches/gcc/linaro-6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
+++ b/packages/gcc-linaro/5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/810-arm-softfloat-libgcc.patch b/packages/gcc-linaro/5.4-2017.05/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/linaro-5.4-2017.05/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc-linaro/5.4-2017.05/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/830-arm_unbreak_armv4t.patch b/packages/gcc-linaro/5.4-2017.05/830-arm_unbreak_armv4t.patch
index b730059..b730059 100644
--- a/patches/gcc/linaro-6.3-2017.05/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc-linaro/5.4-2017.05/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch b/packages/gcc-linaro/5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch
index 9d29090..9d29090 100644
--- a/patches/gcc/linaro-5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch
+++ b/packages/gcc-linaro/5.4-2017.05/840-microblaze-enable-dwarf-eh-support.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/850-libstdcxx-uclibc-c99.patch b/packages/gcc-linaro/5.4-2017.05/850-libstdcxx-uclibc-c99.patch
index 9e97d94..9e97d94 100644
--- a/patches/gcc/linaro-5.4-2017.05/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc-linaro/5.4-2017.05/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/860-cilk-wchar.patch b/packages/gcc-linaro/5.4-2017.05/860-cilk-wchar.patch
index 1d9916f..1d9916f 100644
--- a/patches/gcc/linaro-6.3-2017.05/860-cilk-wchar.patch
+++ b/packages/gcc-linaro/5.4-2017.05/860-cilk-wchar.patch
diff --git a/patches/gcc/linaro-4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc-linaro/5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch
index aa1376c..aa1376c 100644
--- a/patches/gcc/linaro-4.8-2015.06/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc-linaro/5.4-2017.05/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/871-xtensa-reimplement-register-spilling.patch b/packages/gcc-linaro/5.4-2017.05/871-xtensa-reimplement-register-spilling.patch
index 4056f8b..4056f8b 100644
--- a/patches/gcc/linaro-5.4-2017.05/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc-linaro/5.4-2017.05/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc-linaro/5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index 9707f68..9707f68 100644
--- a/patches/gcc/linaro-5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc-linaro/5.4-2017.05/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc-linaro/5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch
index 2d8eb7c..2d8eb7c 100644
--- a/patches/gcc/linaro-5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc-linaro/5.4-2017.05/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/874-xtensa-add-uclinux-support.patch b/packages/gcc-linaro/5.4-2017.05/874-xtensa-add-uclinux-support.patch
index 23db3d8..23db3d8 100644
--- a/patches/gcc/linaro-5.4-2017.05/874-xtensa-add-uclinux-support.patch
+++ b/packages/gcc-linaro/5.4-2017.05/874-xtensa-add-uclinux-support.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch b/packages/gcc-linaro/5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
index d128596..d128596 100644
--- a/patches/gcc/linaro-5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
+++ b/packages/gcc-linaro/5.4-2017.05/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch b/packages/gcc-linaro/5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
index 4b2334a..4b2334a 100644
--- a/patches/gcc/linaro-5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
+++ b/packages/gcc-linaro/5.4-2017.05/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch b/packages/gcc-linaro/5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
index 6e0ce6e..6e0ce6e 100644
--- a/patches/gcc/linaro-5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
+++ b/packages/gcc-linaro/5.4-2017.05/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch b/packages/gcc-linaro/5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch
index 4646d3c..4646d3c 100644
--- a/patches/gcc/linaro-5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch
+++ b/packages/gcc-linaro/5.4-2017.05/878-xtensa-Fix-PR-target-78603.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
index e75e258..e75e258 100644
--- a/patches/gcc/linaro-5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc-linaro/5.4-2017.05/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/890-fix-m68k-compile.patch b/packages/gcc-linaro/5.4-2017.05/890-fix-m68k-compile.patch
index 6e63de0..6e63de0 100644
--- a/patches/gcc/linaro-6.3-2017.05/890-fix-m68k-compile.patch
+++ b/packages/gcc-linaro/5.4-2017.05/890-fix-m68k-compile.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/891-fix-m68k-uclinux.patch b/packages/gcc-linaro/5.4-2017.05/891-fix-m68k-uclinux.patch
index 4e186bd..4e186bd 100644
--- a/patches/gcc/linaro-6.3-2017.05/891-fix-m68k-uclinux.patch
+++ b/packages/gcc-linaro/5.4-2017.05/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/892-microblaze-uclibc.patch b/packages/gcc-linaro/5.4-2017.05/892-microblaze-uclibc.patch
index a8eb5a6..a8eb5a6 100644
--- a/patches/gcc/linaro-5.4-2017.05/892-microblaze-uclibc.patch
+++ b/packages/gcc-linaro/5.4-2017.05/892-microblaze-uclibc.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/902-unwind-fix-for-musl.patch b/packages/gcc-linaro/5.4-2017.05/902-unwind-fix-for-musl.patch
index ef47054..ef47054 100644
--- a/patches/gcc/linaro-5.4-2017.05/902-unwind-fix-for-musl.patch
+++ b/packages/gcc-linaro/5.4-2017.05/902-unwind-fix-for-musl.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/910-nios2-bad-multilib-default.patch b/packages/gcc-linaro/5.4-2017.05/910-nios2-bad-multilib-default.patch
index d94697f..d94697f 100644
--- a/patches/gcc/linaro-5.4-2017.05/910-nios2-bad-multilib-default.patch
+++ b/packages/gcc-linaro/5.4-2017.05/910-nios2-bad-multilib-default.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch
index 07f9a73..07f9a73 100644
--- a/patches/gcc/linaro-6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc-linaro/5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/940-uclinux-enable-threads.patch b/packages/gcc-linaro/5.4-2017.05/940-uclinux-enable-threads.patch
index 490a55b..490a55b 100644
--- a/patches/gcc/linaro-6.3-2017.05/940-uclinux-enable-threads.patch
+++ b/packages/gcc-linaro/5.4-2017.05/940-uclinux-enable-threads.patch
diff --git a/packages/gcc-linaro/5.4-2017.05/version.desc b/packages/gcc-linaro/5.4-2017.05/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc-linaro/5.4-2017.05/version.desc
diff --git a/patches/gcc/linaro-5.4-2017.05/100-uclibc-conf.patch b/packages/gcc-linaro/6.3-2017.05/100-uclibc-conf.patch
index 73d1f0d..73d1f0d 100644
--- a/patches/gcc/linaro-5.4-2017.05/100-uclibc-conf.patch
+++ b/packages/gcc-linaro/6.3-2017.05/100-uclibc-conf.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/1000-libtool-leave-framework-alone.patch b/packages/gcc-linaro/6.3-2017.05/1000-libtool-leave-framework-alone.patch
index bce09eb..bce09eb 100644
--- a/patches/gcc/linaro-6.3-2017.05/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc-linaro/6.3-2017.05/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch b/packages/gcc-linaro/6.3-2017.05/1100-ubsan-fix-check-empty-string.patch
index c012719..c012719 100644
--- a/patches/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch
+++ b/packages/gcc-linaro/6.3-2017.05/1100-ubsan-fix-check-empty-string.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/301-missing-execinfo_h.patch b/packages/gcc-linaro/6.3-2017.05/301-missing-execinfo_h.patch
index 2d0e7ba..2d0e7ba 100644
--- a/patches/gcc/linaro-5.4-2017.05/301-missing-execinfo_h.patch
+++ b/packages/gcc-linaro/6.3-2017.05/301-missing-execinfo_h.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc-linaro/6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index d8986d5..d8986d5 100644
--- a/patches/gcc/linaro-5.4-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc-linaro/6.3-2017.05/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc-linaro/6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
index 12ef48e..12ef48e 100644
--- a/patches/gcc/linaro-5.4-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
+++ b/packages/gcc-linaro/6.3-2017.05/380-gcc-plugin-POSIX-include-sys-select-h.patch
diff --git a/patches/gcc/linaro-4.9-2017.01/810-arm-softfloat-libgcc.patch b/packages/gcc-linaro/6.3-2017.05/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/linaro-4.9-2017.01/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc-linaro/6.3-2017.05/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/830-arm_unbreak_armv4t.patch b/packages/gcc-linaro/6.3-2017.05/830-arm_unbreak_armv4t.patch
index b730059..b730059 100644
--- a/patches/gcc/linaro-5.4-2017.05/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc-linaro/6.3-2017.05/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/860-cilk-wchar.patch b/packages/gcc-linaro/6.3-2017.05/860-cilk-wchar.patch
index 1d9916f..1d9916f 100644
--- a/patches/gcc/linaro-5.4-2017.05/860-cilk-wchar.patch
+++ b/packages/gcc-linaro/6.3-2017.05/860-cilk-wchar.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch b/packages/gcc-linaro/6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
index 6e0ce6e..6e0ce6e 100644
--- a/patches/gcc/linaro-6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
+++ b/packages/gcc-linaro/6.3-2017.05/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch b/packages/gcc-linaro/6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch
index c6ae103..c6ae103 100644
--- a/patches/gcc/linaro-6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch
+++ b/packages/gcc-linaro/6.3-2017.05/871-xtensa-Fix-PR-target-78118.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch b/packages/gcc-linaro/6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch
index 669097c..669097c 100644
--- a/patches/gcc/linaro-6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch
+++ b/packages/gcc-linaro/6.3-2017.05/872-xtensa-Fix-PR-target-78603.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc-linaro/6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
index a5b0624..a5b0624 100644
--- a/patches/gcc/linaro-6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc-linaro/6.3-2017.05/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/890-fix-m68k-compile.patch b/packages/gcc-linaro/6.3-2017.05/890-fix-m68k-compile.patch
index 6e63de0..6e63de0 100644
--- a/patches/gcc/linaro-5.4-2017.05/890-fix-m68k-compile.patch
+++ b/packages/gcc-linaro/6.3-2017.05/890-fix-m68k-compile.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/891-fix-m68k-uclinux.patch b/packages/gcc-linaro/6.3-2017.05/891-fix-m68k-uclinux.patch
index 4e186bd..4e186bd 100644
--- a/patches/gcc/linaro-5.4-2017.05/891-fix-m68k-uclinux.patch
+++ b/packages/gcc-linaro/6.3-2017.05/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch b/packages/gcc-linaro/6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch
index 73ee6c5..73ee6c5 100644
--- a/patches/gcc/linaro-6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch
+++ b/packages/gcc-linaro/6.3-2017.05/892-libgcc-mkmap-symver-support-skip_underscore.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/packages/gcc-linaro/6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
index 454295d..454295d 100644
--- a/patches/gcc/linaro-6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
+++ b/packages/gcc-linaro/6.3-2017.05/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/packages/gcc-linaro/6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
index ce49de7..ce49de7 100644
--- a/patches/gcc/linaro-6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
+++ b/packages/gcc-linaro/6.3-2017.05/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/895-bfin-define-REENTRANT.patch b/packages/gcc-linaro/6.3-2017.05/895-bfin-define-REENTRANT.patch
index e2828a5..e2828a5 100644
--- a/patches/gcc/linaro-6.3-2017.05/895-bfin-define-REENTRANT.patch
+++ b/packages/gcc-linaro/6.3-2017.05/895-bfin-define-REENTRANT.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/900-libgfortran-missing-include.patch b/packages/gcc-linaro/6.3-2017.05/900-libgfortran-missing-include.patch
index 1f47469..1f47469 100644
--- a/patches/gcc/linaro-6.3-2017.05/900-libgfortran-missing-include.patch
+++ b/packages/gcc-linaro/6.3-2017.05/900-libgfortran-missing-include.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/910-nios2-bad-multilib-default.patch b/packages/gcc-linaro/6.3-2017.05/910-nios2-bad-multilib-default.patch
index 61989e5..61989e5 100644
--- a/patches/gcc/linaro-6.3-2017.05/910-nios2-bad-multilib-default.patch
+++ b/packages/gcc-linaro/6.3-2017.05/910-nios2-bad-multilib-default.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc-linaro/6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch
index 07f9a73..07f9a73 100644
--- a/patches/gcc/linaro-5.4-2017.05/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc-linaro/6.3-2017.05/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/linaro-5.4-2017.05/940-uclinux-enable-threads.patch b/packages/gcc-linaro/6.3-2017.05/940-uclinux-enable-threads.patch
index 490a55b..490a55b 100644
--- a/patches/gcc/linaro-5.4-2017.05/940-uclinux-enable-threads.patch
+++ b/packages/gcc-linaro/6.3-2017.05/940-uclinux-enable-threads.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/951-bionic-ndk.patch b/packages/gcc-linaro/6.3-2017.05/951-bionic-ndk.patch
index 59c50a8..59c50a8 100644
--- a/patches/gcc/linaro-6.3-2017.05/951-bionic-ndk.patch
+++ b/packages/gcc-linaro/6.3-2017.05/951-bionic-ndk.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/952-bionic-errno.patch b/packages/gcc-linaro/6.3-2017.05/952-bionic-errno.patch
index 91f6ca3..91f6ca3 100644
--- a/patches/gcc/linaro-6.3-2017.05/952-bionic-errno.patch
+++ b/packages/gcc-linaro/6.3-2017.05/952-bionic-errno.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/970-crystax.patch b/packages/gcc-linaro/6.3-2017.05/970-crystax.patch
index e3109cc..e3109cc 100644
--- a/patches/gcc/linaro-6.3-2017.05/970-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/970-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/971-crystax.patch b/packages/gcc-linaro/6.3-2017.05/971-crystax.patch
index 748a381..748a381 100644
--- a/patches/gcc/linaro-6.3-2017.05/971-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/971-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/972-crystax.patch b/packages/gcc-linaro/6.3-2017.05/972-crystax.patch
index b9077be..b9077be 100644
--- a/patches/gcc/linaro-6.3-2017.05/972-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/972-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/973-crystax.patch b/packages/gcc-linaro/6.3-2017.05/973-crystax.patch
index b96ece3..b96ece3 100644
--- a/patches/gcc/linaro-6.3-2017.05/973-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/973-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/974-crystax.patch b/packages/gcc-linaro/6.3-2017.05/974-crystax.patch
index 9db4f54..9db4f54 100644
--- a/patches/gcc/linaro-6.3-2017.05/974-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/974-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/975-crystax.patch b/packages/gcc-linaro/6.3-2017.05/975-crystax.patch
index 9efc2a4..9efc2a4 100644
--- a/patches/gcc/linaro-6.3-2017.05/975-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/975-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/976-crystax.patch b/packages/gcc-linaro/6.3-2017.05/976-crystax.patch
index 790d4a9..790d4a9 100644
--- a/patches/gcc/linaro-6.3-2017.05/976-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/976-crystax.patch
diff --git a/patches/gcc/linaro-6.3-2017.05/977-crystax.patch b/packages/gcc-linaro/6.3-2017.05/977-crystax.patch
index 0211d72..0211d72 100644
--- a/patches/gcc/linaro-6.3-2017.05/977-crystax.patch
+++ b/packages/gcc-linaro/6.3-2017.05/977-crystax.patch
diff --git a/packages/gcc-linaro/6.3-2017.05/version.desc b/packages/gcc-linaro/6.3-2017.05/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc-linaro/6.3-2017.05/version.desc
diff --git a/packages/gcc-linaro/package.desc b/packages/gcc-linaro/package.desc
new file mode 100644
index 0000000..1731843
--- /dev/null
+++ b/packages/gcc-linaro/package.desc
@@ -0,0 +1,5 @@
+master='gcc'
+repository='git https://git.linaro.org/toolchain/gcc.git'
+mirrors='$(CT_Mirrors Linaro gcc ${CT_GCC_LINARO_VERSION})'
+origin='Linaro'
+experimental='yes'
diff --git a/patches/gcc/4.8.5/001_gcc_bug_62231.patch b/packages/gcc/4.8.5/001_gcc_bug_62231.patch
index e7c9cf9..e7c9cf9 100644
--- a/patches/gcc/4.8.5/001_gcc_bug_62231.patch
+++ b/packages/gcc/4.8.5/001_gcc_bug_62231.patch
diff --git a/patches/gcc/4.8.5/002_gcc_bug_62231.patch b/packages/gcc/4.8.5/002_gcc_bug_62231.patch
index b970ebc..b970ebc 100644
--- a/patches/gcc/4.8.5/002_gcc_bug_62231.patch
+++ b/packages/gcc/4.8.5/002_gcc_bug_62231.patch
diff --git a/patches/gcc/4.9.4/100-uclibc-conf.patch b/packages/gcc/4.8.5/100-uclibc-conf.patch
index d56bf0a..d56bf0a 100644
--- a/patches/gcc/4.9.4/100-uclibc-conf.patch
+++ b/packages/gcc/4.8.5/100-uclibc-conf.patch
diff --git a/patches/gcc/4.9.4/1000-libtool-leave-framework-alone.patch b/packages/gcc/4.8.5/1000-libtool-leave-framework-alone.patch
index 525592e..525592e 100644
--- a/patches/gcc/4.9.4/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc/4.8.5/1000-libtool-leave-framework-alone.patch
diff --git a/patches/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
index b7094fe..b7094fe 100644
--- a/patches/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
diff --git a/patches/gcc/7.1.0/111-alpha-bad-eh_frame.patch b/packages/gcc/4.8.5/111-alpha-bad-eh_frame.patch
index 93f6e94..93f6e94 100644
--- a/patches/gcc/7.1.0/111-alpha-bad-eh_frame.patch
+++ b/packages/gcc/4.8.5/111-alpha-bad-eh_frame.patch
diff --git a/patches/gcc/4.8.5/111-pr65730.patch b/packages/gcc/4.8.5/111-pr65730.patch
index f195e30..f195e30 100644
--- a/patches/gcc/4.8.5/111-pr65730.patch
+++ b/packages/gcc/4.8.5/111-pr65730.patch
diff --git a/patches/gcc/4.9.4/130-pr43538.patch b/packages/gcc/4.8.5/130-pr43538.patch
index 19e57bb..19e57bb 100644
--- a/patches/gcc/4.9.4/130-pr43538.patch
+++ b/packages/gcc/4.8.5/130-pr43538.patch
diff --git a/patches/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
index 1c49fb0..1c49fb0 100644
--- a/patches/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
+++ b/packages/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
diff --git a/patches/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch b/packages/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch
index ac1d846..ac1d846 100644
--- a/patches/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch
+++ b/packages/gcc/4.8.5/132-build_gcc-5_with_gcc-6.patch
diff --git a/patches/gcc/4.9.4/301-missing-execinfo_h.patch b/packages/gcc/4.8.5/301-missing-execinfo_h.patch
index 00efda2..00efda2 100644
--- a/patches/gcc/4.9.4/301-missing-execinfo_h.patch
+++ b/packages/gcc/4.8.5/301-missing-execinfo_h.patch
diff --git a/patches/gcc/4.8.5/305-libmudflap-susv3-legacy.patch b/packages/gcc/4.8.5/305-libmudflap-susv3-legacy.patch
index 35d5f50..35d5f50 100644
--- a/patches/gcc/4.8.5/305-libmudflap-susv3-legacy.patch
+++ b/packages/gcc/4.8.5/305-libmudflap-susv3-legacy.patch
diff --git a/patches/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index 3cf66b2..3cf66b2 100644
--- a/patches/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc/4.8.5/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/4.8.5/810-arm-softfloat-libgcc.patch b/packages/gcc/4.8.5/810-arm-softfloat-libgcc.patch
index c8cb377..c8cb377 100644
--- a/patches/gcc/4.8.5/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc/4.8.5/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/4.9.4/830-arm_unbreak_armv4t.patch b/packages/gcc/4.8.5/830-arm_unbreak_armv4t.patch
index 37f8f2a..37f8f2a 100644
--- a/patches/gcc/4.9.4/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc/4.8.5/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/4.8.5/841-PR57717-E500v2.patch b/packages/gcc/4.8.5/841-PR57717-E500v2.patch
index a011e24..a011e24 100644
--- a/patches/gcc/4.8.5/841-PR57717-E500v2.patch
+++ b/packages/gcc/4.8.5/841-PR57717-E500v2.patch
diff --git a/patches/gcc/4.8.5/842-PR60155.patch b/packages/gcc/4.8.5/842-PR60155.patch
index 7bc2122..7bc2122 100644
--- a/patches/gcc/4.8.5/842-PR60155.patch
+++ b/packages/gcc/4.8.5/842-PR60155.patch
diff --git a/patches/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch b/packages/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch
index afa650c..afa650c 100644
--- a/patches/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch
+++ b/packages/gcc/4.8.5/843-aarch64-vmlaq_lane_s32-typo.patch
diff --git a/patches/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch b/packages/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch
index 792976f..792976f 100644
--- a/patches/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc/4.8.5/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/4.8.5/851-PR-other-56780.patch b/packages/gcc/4.8.5/851-PR-other-56780.patch
index feb4339..feb4339 100644
--- a/patches/gcc/4.8.5/851-PR-other-56780.patch
+++ b/packages/gcc/4.8.5/851-PR-other-56780.patch
diff --git a/patches/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch
index aa1376c..aa1376c 100644
--- a/patches/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch b/packages/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch
index abc7a08..abc7a08 100644
--- a/patches/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index f23a5c0..f23a5c0 100644
--- a/patches/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch
index dc40513..dc40513 100644
--- a/patches/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
index 6013fef..6013fef 100644
--- a/patches/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc/4.8.5/874-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/4.8.5/900-musl-support.patch b/packages/gcc/4.8.5/900-musl-support.patch
index 6743a88..6743a88 100644
--- a/patches/gcc/4.8.5/900-musl-support.patch
+++ b/packages/gcc/4.8.5/900-musl-support.patch
diff --git a/patches/gcc/4.8.5/950-cygwin64.patch b/packages/gcc/4.8.5/950-cygwin64.patch
index 67182ee..67182ee 100644
--- a/patches/gcc/4.8.5/950-cygwin64.patch
+++ b/packages/gcc/4.8.5/950-cygwin64.patch
diff --git a/packages/gcc/4.8.5/version.desc b/packages/gcc/4.8.5/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gcc/4.8.5/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gcc/4.9.4/001-gcc_bug_62231.patch b/packages/gcc/4.9.4/001-gcc_bug_62231.patch
index e7c9cf9..e7c9cf9 100644
--- a/patches/gcc/4.9.4/001-gcc_bug_62231.patch
+++ b/packages/gcc/4.9.4/001-gcc_bug_62231.patch
diff --git a/patches/gcc/4.9.4/002-gcc_bug_62231.patch b/packages/gcc/4.9.4/002-gcc_bug_62231.patch
index b970ebc..b970ebc 100644
--- a/patches/gcc/4.9.4/002-gcc_bug_62231.patch
+++ b/packages/gcc/4.9.4/002-gcc_bug_62231.patch
diff --git a/patches/gcc/4.8.5/100-uclibc-conf.patch b/packages/gcc/4.9.4/100-uclibc-conf.patch
index d56bf0a..d56bf0a 100644
--- a/patches/gcc/4.8.5/100-uclibc-conf.patch
+++ b/packages/gcc/4.9.4/100-uclibc-conf.patch
diff --git a/patches/gcc/4.8.5/1000-libtool-leave-framework-alone.patch b/packages/gcc/4.9.4/1000-libtool-leave-framework-alone.patch
index 525592e..525592e 100644
--- a/patches/gcc/4.8.5/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc/4.9.4/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional b/packages/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional
index 5e0484f..5e0484f 100644
--- a/patches/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional
+++ b/packages/gcc/4.9.4/1000-powerpc-link-with-math-lib.patch.conditional
diff --git a/patches/gcc/4.9.4/1100-msp430-string-literals.patch b/packages/gcc/4.9.4/1100-msp430-string-literals.patch
index 346842e..346842e 100644
--- a/patches/gcc/4.9.4/1100-msp430-string-literals.patch
+++ b/packages/gcc/4.9.4/1100-msp430-string-literals.patch
diff --git a/patches/gcc/6.3.0/111-alpha-bad-eh_frame.patch b/packages/gcc/4.9.4/111-alpha-bad-eh_frame.patch
index 93f6e94..93f6e94 100644
--- a/patches/gcc/6.3.0/111-alpha-bad-eh_frame.patch
+++ b/packages/gcc/4.9.4/111-alpha-bad-eh_frame.patch
diff --git a/patches/gcc/4.9.4/111-pr65730.patch b/packages/gcc/4.9.4/111-pr65730.patch
index 8a41fd2..8a41fd2 100644
--- a/patches/gcc/4.9.4/111-pr65730.patch
+++ b/packages/gcc/4.9.4/111-pr65730.patch
diff --git a/patches/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
index bb77c4b..bb77c4b 100644
--- a/patches/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
+++ b/packages/gcc/4.9.4/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
diff --git a/patches/gcc/4.8.5/130-pr43538.patch b/packages/gcc/4.9.4/130-pr43538.patch
index 19e57bb..19e57bb 100644
--- a/patches/gcc/4.8.5/130-pr43538.patch
+++ b/packages/gcc/4.9.4/130-pr43538.patch
diff --git a/patches/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch b/packages/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
index 1c49fb0..1c49fb0 100644
--- a/patches/gcc/4.8.5/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
+++ b/packages/gcc/4.9.4/131-mt-ospace-preserve-FLAGS_FOR_TARGET.patch
diff --git a/patches/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch b/packages/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
index 55f3228..55f3228 100644
--- a/patches/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
+++ b/packages/gcc/4.9.4/140-sanitizer-Fix-build-with-_FILE_OFFSET_BITS-64.patch
diff --git a/patches/gcc/4.8.5/301-missing-execinfo_h.patch b/packages/gcc/4.9.4/301-missing-execinfo_h.patch
index 00efda2..00efda2 100644
--- a/patches/gcc/4.8.5/301-missing-execinfo_h.patch
+++ b/packages/gcc/4.9.4/301-missing-execinfo_h.patch
diff --git a/patches/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index c3bab15..c3bab15 100644
--- a/patches/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc/4.9.4/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/7.1.0/810-arm-softfloat-libgcc.patch b/packages/gcc/4.9.4/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/7.1.0/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc/4.9.4/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/4.8.5/830-arm_unbreak_armv4t.patch b/packages/gcc/4.9.4/830-arm_unbreak_armv4t.patch
index 37f8f2a..37f8f2a 100644
--- a/patches/gcc/4.8.5/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc/4.9.4/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch b/packages/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch
index 03fc47f..03fc47f 100644
--- a/patches/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch
+++ b/packages/gcc/4.9.4/840-microblaze-enable-dwarf-eh-support.patch
diff --git a/patches/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch b/packages/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch
index 533d01f..533d01f 100644
--- a/patches/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/4.9.4/860-cilk-wchar.patch b/packages/gcc/4.9.4/860-cilk-wchar.patch
index 1837405..1837405 100644
--- a/patches/gcc/4.9.4/860-cilk-wchar.patch
+++ b/packages/gcc/4.9.4/860-cilk-wchar.patch
diff --git a/patches/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch
index 98c7b3f..98c7b3f 100644
--- a/patches/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc/4.9.4/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch b/packages/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch
index abc7a08..abc7a08 100644
--- a/patches/gcc/4.8.5/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc/4.9.4/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index f23a5c0..f23a5c0 100644
--- a/patches/gcc/4.8.5/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc/4.9.4/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch
index dc40513..dc40513 100644
--- a/patches/gcc/4.8.5/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc/4.9.4/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/4.9.4/874-xtensa-add-uclinux-support.patch b/packages/gcc/4.9.4/874-xtensa-add-uclinux-support.patch
index 881aec0..881aec0 100644
--- a/patches/gcc/4.9.4/874-xtensa-add-uclinux-support.patch
+++ b/packages/gcc/4.9.4/874-xtensa-add-uclinux-support.patch
diff --git a/patches/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
index 052ffc3..052ffc3 100644
--- a/patches/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc/4.9.4/875-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/4.9.4/880-nios2_legitimize_address.patch b/packages/gcc/4.9.4/880-nios2_legitimize_address.patch
index 4623f29..4623f29 100644
--- a/patches/gcc/4.9.4/880-nios2_legitimize_address.patch
+++ b/packages/gcc/4.9.4/880-nios2_legitimize_address.patch
diff --git a/patches/gcc/4.9.4/890-fix-m68k-compile.patch b/packages/gcc/4.9.4/890-fix-m68k-compile.patch
index 140977b..140977b 100644
--- a/patches/gcc/4.9.4/890-fix-m68k-compile.patch
+++ b/packages/gcc/4.9.4/890-fix-m68k-compile.patch
diff --git a/patches/gcc/4.9.4/891-fix-m68k-uclinux.patch b/packages/gcc/4.9.4/891-fix-m68k-uclinux.patch
index 4347642..4347642 100644
--- a/patches/gcc/4.9.4/891-fix-m68k-uclinux.patch
+++ b/packages/gcc/4.9.4/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/4.9.4/900-musl-support.patch b/packages/gcc/4.9.4/900-musl-support.patch
index a862d01..a862d01 100644
--- a/patches/gcc/4.9.4/900-musl-support.patch
+++ b/packages/gcc/4.9.4/900-musl-support.patch
diff --git a/patches/gcc/4.9.4/901-microblaze-uclibc.patch b/packages/gcc/4.9.4/901-microblaze-uclibc.patch
index 82c44e1..82c44e1 100644
--- a/patches/gcc/4.9.4/901-microblaze-uclibc.patch
+++ b/packages/gcc/4.9.4/901-microblaze-uclibc.patch
diff --git a/patches/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch
index 670cf8d..670cf8d 100644
--- a/patches/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc/4.9.4/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/4.9.4/940-uclinux-enable-threads.patch b/packages/gcc/4.9.4/940-uclinux-enable-threads.patch
index 5108147..5108147 100644
--- a/patches/gcc/4.9.4/940-uclinux-enable-threads.patch
+++ b/packages/gcc/4.9.4/940-uclinux-enable-threads.patch
diff --git a/packages/gcc/4.9.4/version.desc b/packages/gcc/4.9.4/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc/4.9.4/version.desc
diff --git a/patches/gcc/7.1.0/100-uclibc-conf.patch b/packages/gcc/5.4.0/100-uclibc-conf.patch
index 73d1f0d..73d1f0d 100644
--- a/patches/gcc/7.1.0/100-uclibc-conf.patch
+++ b/packages/gcc/5.4.0/100-uclibc-conf.patch
diff --git a/patches/gcc/5.4.0/1000-libtool-leave-framework-alone.patch b/packages/gcc/5.4.0/1000-libtool-leave-framework-alone.patch
index 0f4912a..0f4912a 100644
--- a/patches/gcc/5.4.0/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc/5.4.0/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch b/packages/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch
index 3304532..3304532 100644
--- a/patches/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch
+++ b/packages/gcc/5.4.0/110-xtensa-implement-trap-pattern.patch
diff --git a/patches/gcc/5.4.0/1100-msp430-string-literals.patch b/packages/gcc/5.4.0/1100-msp430-string-literals.patch
index 819d6d2..819d6d2 100644
--- a/patches/gcc/5.4.0/1100-msp430-string-literals.patch
+++ b/packages/gcc/5.4.0/1100-msp430-string-literals.patch
diff --git a/patches/gcc/5.4.0/111-alpha-bad-eh_frame.patch b/packages/gcc/5.4.0/111-alpha-bad-eh_frame.patch
index 93f6e94..93f6e94 100644
--- a/patches/gcc/5.4.0/111-alpha-bad-eh_frame.patch
+++ b/packages/gcc/5.4.0/111-alpha-bad-eh_frame.patch
diff --git a/patches/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch b/packages/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
index c11ad35..c11ad35 100644
--- a/patches/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
+++ b/packages/gcc/5.4.0/120-gcc-config.gcc-fix-typo-for-powerpc-e6500-cpu_is_64b.patch
diff --git a/patches/gcc/6.3.0/301-missing-execinfo_h.patch b/packages/gcc/5.4.0/301-missing-execinfo_h.patch
index 2d0e7ba..2d0e7ba 100644
--- a/patches/gcc/6.3.0/301-missing-execinfo_h.patch
+++ b/packages/gcc/5.4.0/301-missing-execinfo_h.patch
diff --git a/patches/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index d8986d5..d8986d5 100644
--- a/patches/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
index 12ef48e..12ef48e 100644
--- a/patches/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
+++ b/packages/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
diff --git a/patches/gcc/6.3.0/810-arm-softfloat-libgcc.patch b/packages/gcc/5.4.0/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/6.3.0/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc/5.4.0/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/6.3.0/830-arm_unbreak_armv4t.patch b/packages/gcc/5.4.0/830-arm_unbreak_armv4t.patch
index b730059..b730059 100644
--- a/patches/gcc/6.3.0/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc/5.4.0/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch b/packages/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch
index 9d29090..9d29090 100644
--- a/patches/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch
+++ b/packages/gcc/5.4.0/840-microblaze-enable-dwarf-eh-support.patch
diff --git a/patches/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch b/packages/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch
index 9e97d94..9e97d94 100644
--- a/patches/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch
+++ b/packages/gcc/5.4.0/850-libstdcxx-uclibc-c99.patch
diff --git a/patches/gcc/7.1.0/860-cilk-wchar.patch b/packages/gcc/5.4.0/860-cilk-wchar.patch
index 1d9916f..1d9916f 100644
--- a/patches/gcc/7.1.0/860-cilk-wchar.patch
+++ b/packages/gcc/5.4.0/860-cilk-wchar.patch
diff --git a/patches/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch b/packages/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch
index aa1376c..aa1376c 100644
--- a/patches/gcc/4.8.5/870-xtensa-add-mauto-litpools-option.patch
+++ b/packages/gcc/5.4.0/870-xtensa-add-mauto-litpools-option.patch
diff --git a/patches/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch b/packages/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch
index 4056f8b..4056f8b 100644
--- a/patches/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch
+++ b/packages/gcc/5.4.0/871-xtensa-reimplement-register-spilling.patch
diff --git a/patches/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch b/packages/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
index 9707f68..9707f68 100644
--- a/patches/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
+++ b/packages/gcc/5.4.0/872-xtensa-use-unwind-dw2-fde-dip-instead-of-unwind-dw2-.patch
diff --git a/patches/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch b/packages/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch
index 2d8eb7c..2d8eb7c 100644
--- a/patches/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch
+++ b/packages/gcc/5.4.0/873-xtensa-fix-_Unwind_GetCFA.patch
diff --git a/patches/gcc/5.4.0/874-xtensa-add-uclinux-support.patch b/packages/gcc/5.4.0/874-xtensa-add-uclinux-support.patch
index 23db3d8..23db3d8 100644
--- a/patches/gcc/5.4.0/874-xtensa-add-uclinux-support.patch
+++ b/packages/gcc/5.4.0/874-xtensa-add-uclinux-support.patch
diff --git a/patches/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch b/packages/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
index d128596..d128596 100644
--- a/patches/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
+++ b/packages/gcc/5.4.0/875-xtensa-fix-xtensa_fallback_frame_state-for-call0-ABI.patch
diff --git a/patches/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch b/packages/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
index 4b2334a..4b2334a 100644
--- a/patches/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
+++ b/packages/gcc/5.4.0/876-xtensa-fix-libgcc-build-with-text-section-literals.patch
diff --git a/patches/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch b/packages/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
index 6e0ce6e..6e0ce6e 100644
--- a/patches/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
+++ b/packages/gcc/5.4.0/877-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
diff --git a/patches/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch b/packages/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch
index 4646d3c..4646d3c 100644
--- a/patches/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch
+++ b/packages/gcc/5.4.0/878-xtensa-Fix-PR-target-78603.patch
diff --git a/patches/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
index e75e258..e75e258 100644
--- a/patches/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc/5.4.0/879-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/6.3.0/890-fix-m68k-compile.patch b/packages/gcc/5.4.0/890-fix-m68k-compile.patch
index 6e63de0..6e63de0 100644
--- a/patches/gcc/6.3.0/890-fix-m68k-compile.patch
+++ b/packages/gcc/5.4.0/890-fix-m68k-compile.patch
diff --git a/patches/gcc/7.1.0/891-fix-m68k-uclinux.patch b/packages/gcc/5.4.0/891-fix-m68k-uclinux.patch
index 4e186bd..4e186bd 100644
--- a/patches/gcc/7.1.0/891-fix-m68k-uclinux.patch
+++ b/packages/gcc/5.4.0/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/5.4.0/892-microblaze-uclibc.patch b/packages/gcc/5.4.0/892-microblaze-uclibc.patch
index a8eb5a6..a8eb5a6 100644
--- a/patches/gcc/5.4.0/892-microblaze-uclibc.patch
+++ b/packages/gcc/5.4.0/892-microblaze-uclibc.patch
diff --git a/patches/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch b/packages/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch
index fdf4ee7..fdf4ee7 100644
--- a/patches/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch
+++ b/packages/gcc/5.4.0/900-libitm-fixes-for-musl-support.patch
diff --git a/patches/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch b/packages/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch
index 13c08d6..13c08d6 100644
--- a/patches/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch
+++ b/packages/gcc/5.4.0/901-fixincludes-update-for-musl-support.patch
diff --git a/patches/gcc/5.4.0/902-unwind-fix-for-musl.patch b/packages/gcc/5.4.0/902-unwind-fix-for-musl.patch
index ef47054..ef47054 100644
--- a/patches/gcc/5.4.0/902-unwind-fix-for-musl.patch
+++ b/packages/gcc/5.4.0/902-unwind-fix-for-musl.patch
diff --git a/patches/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch b/packages/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch
index c852131..c852131 100644
--- a/patches/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch
+++ b/packages/gcc/5.4.0/903-libstdc++-libgfortran-gthr-workaround-for-musl.patch
diff --git a/patches/gcc/5.4.0/904-musl-libc-config.patch b/packages/gcc/5.4.0/904-musl-libc-config.patch
index 8549140..8549140 100644
--- a/patches/gcc/5.4.0/904-musl-libc-config.patch
+++ b/packages/gcc/5.4.0/904-musl-libc-config.patch
diff --git a/patches/gcc/5.4.0/905-add-musl-support-to-gcc.patch b/packages/gcc/5.4.0/905-add-musl-support-to-gcc.patch
index 92e7436..92e7436 100644
--- a/patches/gcc/5.4.0/905-add-musl-support-to-gcc.patch
+++ b/packages/gcc/5.4.0/905-add-musl-support-to-gcc.patch
diff --git a/patches/gcc/5.4.0/906-mips-musl-support.patch b/packages/gcc/5.4.0/906-mips-musl-support.patch
index 6b473f9..6b473f9 100644
--- a/patches/gcc/5.4.0/906-mips-musl-support.patch
+++ b/packages/gcc/5.4.0/906-mips-musl-support.patch
diff --git a/patches/gcc/5.4.0/907-x86-musl-support.patch b/packages/gcc/5.4.0/907-x86-musl-support.patch
index 3f2fe5d..3f2fe5d 100644
--- a/patches/gcc/5.4.0/907-x86-musl-support.patch
+++ b/packages/gcc/5.4.0/907-x86-musl-support.patch
diff --git a/patches/gcc/5.4.0/908-arm-musl-support.patch b/packages/gcc/5.4.0/908-arm-musl-support.patch
index 906355a..906355a 100644
--- a/patches/gcc/5.4.0/908-arm-musl-support.patch
+++ b/packages/gcc/5.4.0/908-arm-musl-support.patch
diff --git a/patches/gcc/5.4.0/909-aarch64-musl-support.patch b/packages/gcc/5.4.0/909-aarch64-musl-support.patch
index 3d032f5..3d032f5 100644
--- a/patches/gcc/5.4.0/909-aarch64-musl-support.patch
+++ b/packages/gcc/5.4.0/909-aarch64-musl-support.patch
diff --git a/patches/gcc/5.4.0/910-nios2-bad-multilib-default.patch b/packages/gcc/5.4.0/910-nios2-bad-multilib-default.patch
index d94697f..d94697f 100644
--- a/patches/gcc/5.4.0/910-nios2-bad-multilib-default.patch
+++ b/packages/gcc/5.4.0/910-nios2-bad-multilib-default.patch
diff --git a/patches/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch
index 07f9a73..07f9a73 100644
--- a/patches/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/6.3.0/940-uclinux-enable-threads.patch b/packages/gcc/5.4.0/940-uclinux-enable-threads.patch
index 490a55b..490a55b 100644
--- a/patches/gcc/6.3.0/940-uclinux-enable-threads.patch
+++ b/packages/gcc/5.4.0/940-uclinux-enable-threads.patch
diff --git a/packages/gcc/5.4.0/version.desc b/packages/gcc/5.4.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc/5.4.0/version.desc
diff --git a/patches/gcc/6.3.0/100-uclibc-conf.patch b/packages/gcc/6.3.0/100-uclibc-conf.patch
index 73d1f0d..73d1f0d 100644
--- a/patches/gcc/6.3.0/100-uclibc-conf.patch
+++ b/packages/gcc/6.3.0/100-uclibc-conf.patch
diff --git a/patches/gcc/7.1.0/1000-libtool-leave-framework-alone.patch b/packages/gcc/6.3.0/1000-libtool-leave-framework-alone.patch
index bce09eb..bce09eb 100644
--- a/patches/gcc/7.1.0/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc/6.3.0/1000-libtool-leave-framework-alone.patch
diff --git a/packages/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch b/packages/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch
new file mode 100644
index 0000000..c012719
--- /dev/null
+++ b/packages/gcc/6.3.0/1100-ubsan-fix-check-empty-string.patch
@@ -0,0 +1,28 @@
+From 8db2cf6353c13f2a84cbe49b689654897906c499 Mon Sep 17 00:00:00 2001
+From: kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Sat, 3 Sep 2016 10:57:05 +0000
+Subject: [PATCH] gcc/ * ubsan.c (ubsan_use_new_style_p): Fix check for empty
+ string.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239971 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
+
+---
+ gcc/ubsan.c | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+Index: gcc-6.3.0/gcc/ubsan.c
+===================================================================
+--- gcc-6.3.0.orig/gcc/ubsan.c
++++ gcc-6.3.0/gcc/ubsan.c
+@@ -1471,7 +1471,7 @@ ubsan_use_new_style_p (location_t loc)
+
+ expanded_location xloc = expand_location (loc);
+ if (xloc.file == NULL || strncmp (xloc.file, "\1", 2) == 0
+- || xloc.file == '\0' || xloc.file[0] == '\xff'
++ || xloc.file[0] == '\0' || xloc.file[0] == '\xff'
+ || xloc.file[1] == '\xff')
+ return false;
+
diff --git a/patches/gcc/4.9.4/111-alpha-bad-eh_frame.patch b/packages/gcc/6.3.0/111-alpha-bad-eh_frame.patch
index 93f6e94..93f6e94 100644
--- a/patches/gcc/4.9.4/111-alpha-bad-eh_frame.patch
+++ b/packages/gcc/6.3.0/111-alpha-bad-eh_frame.patch
diff --git a/patches/gcc/5.4.0/301-missing-execinfo_h.patch b/packages/gcc/6.3.0/301-missing-execinfo_h.patch
index 2d0e7ba..2d0e7ba 100644
--- a/patches/gcc/5.4.0/301-missing-execinfo_h.patch
+++ b/packages/gcc/6.3.0/301-missing-execinfo_h.patch
diff --git a/patches/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index d8986d5..d8986d5 100644
--- a/patches/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc/6.3.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
index 12ef48e..12ef48e 100644
--- a/patches/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
+++ b/packages/gcc/6.3.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
diff --git a/patches/gcc/5.4.0/810-arm-softfloat-libgcc.patch b/packages/gcc/6.3.0/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/5.4.0/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc/6.3.0/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/5.4.0/830-arm_unbreak_armv4t.patch b/packages/gcc/6.3.0/830-arm_unbreak_armv4t.patch
index b730059..b730059 100644
--- a/patches/gcc/5.4.0/830-arm_unbreak_armv4t.patch
+++ b/packages/gcc/6.3.0/830-arm_unbreak_armv4t.patch
diff --git a/patches/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/packages/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch
index af9fb1d..af9fb1d 100644
--- a/patches/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch
+++ b/packages/gcc/6.3.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch
diff --git a/patches/gcc/6.3.0/860-cilk-wchar.patch b/packages/gcc/6.3.0/860-cilk-wchar.patch
index 1d9916f..1d9916f 100644
--- a/patches/gcc/6.3.0/860-cilk-wchar.patch
+++ b/packages/gcc/6.3.0/860-cilk-wchar.patch
diff --git a/patches/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch b/packages/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
index 6e0ce6e..6e0ce6e 100644
--- a/patches/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
+++ b/packages/gcc/6.3.0/870-xtensa-don-t-use-unwind-dw2-fde-dip-with-elf-targets.patch
diff --git a/patches/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch b/packages/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch
index c6ae103..c6ae103 100644
--- a/patches/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch
+++ b/packages/gcc/6.3.0/871-xtensa-Fix-PR-target-78118.patch
diff --git a/patches/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch b/packages/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch
index 669097c..669097c 100644
--- a/patches/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch
+++ b/packages/gcc/6.3.0/872-xtensa-Fix-PR-target-78603.patch
diff --git a/patches/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
index a5b0624..a5b0624 100644
--- a/patches/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc/6.3.0/873-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/5.4.0/890-fix-m68k-compile.patch b/packages/gcc/6.3.0/890-fix-m68k-compile.patch
index 6e63de0..6e63de0 100644
--- a/patches/gcc/5.4.0/890-fix-m68k-compile.patch
+++ b/packages/gcc/6.3.0/890-fix-m68k-compile.patch
diff --git a/patches/gcc/6.3.0/891-fix-m68k-uclinux.patch b/packages/gcc/6.3.0/891-fix-m68k-uclinux.patch
index 4e186bd..4e186bd 100644
--- a/patches/gcc/6.3.0/891-fix-m68k-uclinux.patch
+++ b/packages/gcc/6.3.0/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch b/packages/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
index 73ee6c5..73ee6c5 100644
--- a/patches/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
+++ b/packages/gcc/6.3.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
diff --git a/patches/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/packages/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
index 454295d..454295d 100644
--- a/patches/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
+++ b/packages/gcc/6.3.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch
diff --git a/patches/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/packages/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
index ce49de7..ce49de7 100644
--- a/patches/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
+++ b/packages/gcc/6.3.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
diff --git a/patches/gcc/6.3.0/895-bfin-define-REENTRANT.patch b/packages/gcc/6.3.0/895-bfin-define-REENTRANT.patch
index e2828a5..e2828a5 100644
--- a/patches/gcc/6.3.0/895-bfin-define-REENTRANT.patch
+++ b/packages/gcc/6.3.0/895-bfin-define-REENTRANT.patch
diff --git a/patches/gcc/7.1.0/900-libgfortran-missing-include.patch b/packages/gcc/6.3.0/900-libgfortran-missing-include.patch
index 1f47469..1f47469 100644
--- a/patches/gcc/7.1.0/900-libgfortran-missing-include.patch
+++ b/packages/gcc/6.3.0/900-libgfortran-missing-include.patch
diff --git a/patches/gcc/7.1.0/910-nios2-bad-multilib-default.patch b/packages/gcc/6.3.0/910-nios2-bad-multilib-default.patch
index 61989e5..61989e5 100644
--- a/patches/gcc/7.1.0/910-nios2-bad-multilib-default.patch
+++ b/packages/gcc/6.3.0/910-nios2-bad-multilib-default.patch
diff --git a/patches/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch
index 07f9a73..07f9a73 100644
--- a/patches/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc/6.3.0/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/5.4.0/940-uclinux-enable-threads.patch b/packages/gcc/6.3.0/940-uclinux-enable-threads.patch
index 490a55b..490a55b 100644
--- a/patches/gcc/5.4.0/940-uclinux-enable-threads.patch
+++ b/packages/gcc/6.3.0/940-uclinux-enable-threads.patch
diff --git a/patches/gcc/7.1.0/951-bionic-ndk.patch b/packages/gcc/6.3.0/951-bionic-ndk.patch
index 59c50a8..59c50a8 100644
--- a/patches/gcc/7.1.0/951-bionic-ndk.patch
+++ b/packages/gcc/6.3.0/951-bionic-ndk.patch
diff --git a/patches/gcc/7.1.0/952-bionic-errno.patch b/packages/gcc/6.3.0/952-bionic-errno.patch
index 91f6ca3..91f6ca3 100644
--- a/patches/gcc/7.1.0/952-bionic-errno.patch
+++ b/packages/gcc/6.3.0/952-bionic-errno.patch
diff --git a/patches/gcc/6.3.0/970-crystax.patch b/packages/gcc/6.3.0/970-crystax.patch
index e3109cc..e3109cc 100644
--- a/patches/gcc/6.3.0/970-crystax.patch
+++ b/packages/gcc/6.3.0/970-crystax.patch
diff --git a/patches/gcc/7.1.0/971-crystax.patch b/packages/gcc/6.3.0/971-crystax.patch
index 748a381..748a381 100644
--- a/patches/gcc/7.1.0/971-crystax.patch
+++ b/packages/gcc/6.3.0/971-crystax.patch
diff --git a/patches/gcc/7.1.0/972-crystax.patch b/packages/gcc/6.3.0/972-crystax.patch
index b9077be..b9077be 100644
--- a/patches/gcc/7.1.0/972-crystax.patch
+++ b/packages/gcc/6.3.0/972-crystax.patch
diff --git a/patches/gcc/7.1.0/973-crystax.patch b/packages/gcc/6.3.0/973-crystax.patch
index b96ece3..b96ece3 100644
--- a/patches/gcc/7.1.0/973-crystax.patch
+++ b/packages/gcc/6.3.0/973-crystax.patch
diff --git a/patches/gcc/7.1.0/974-crystax.patch b/packages/gcc/6.3.0/974-crystax.patch
index 9db4f54..9db4f54 100644
--- a/patches/gcc/7.1.0/974-crystax.patch
+++ b/packages/gcc/6.3.0/974-crystax.patch
diff --git a/patches/gcc/7.1.0/975-crystax.patch b/packages/gcc/6.3.0/975-crystax.patch
index 9efc2a4..9efc2a4 100644
--- a/patches/gcc/7.1.0/975-crystax.patch
+++ b/packages/gcc/6.3.0/975-crystax.patch
diff --git a/patches/gcc/7.1.0/976-crystax.patch b/packages/gcc/6.3.0/976-crystax.patch
index 790d4a9..790d4a9 100644
--- a/patches/gcc/7.1.0/976-crystax.patch
+++ b/packages/gcc/6.3.0/976-crystax.patch
diff --git a/patches/gcc/7.1.0/977-crystax.patch b/packages/gcc/6.3.0/977-crystax.patch
index 0211d72..0211d72 100644
--- a/patches/gcc/7.1.0/977-crystax.patch
+++ b/packages/gcc/6.3.0/977-crystax.patch
diff --git a/packages/gcc/6.3.0/version.desc b/packages/gcc/6.3.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc/6.3.0/version.desc
diff --git a/patches/gcc/5.4.0/100-uclibc-conf.patch b/packages/gcc/7.1.0/100-uclibc-conf.patch
index 73d1f0d..73d1f0d 100644
--- a/patches/gcc/5.4.0/100-uclibc-conf.patch
+++ b/packages/gcc/7.1.0/100-uclibc-conf.patch
diff --git a/patches/gcc/6.3.0/1000-libtool-leave-framework-alone.patch b/packages/gcc/7.1.0/1000-libtool-leave-framework-alone.patch
index bce09eb..bce09eb 100644
--- a/patches/gcc/6.3.0/1000-libtool-leave-framework-alone.patch
+++ b/packages/gcc/7.1.0/1000-libtool-leave-framework-alone.patch
diff --git a/patches/gcc/4.8.5/111-alpha-bad-eh_frame.patch b/packages/gcc/7.1.0/111-alpha-bad-eh_frame.patch
index 93f6e94..93f6e94 100644
--- a/patches/gcc/4.8.5/111-alpha-bad-eh_frame.patch
+++ b/packages/gcc/7.1.0/111-alpha-bad-eh_frame.patch
diff --git a/patches/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch b/packages/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
index d8986d5..d8986d5 100644
--- a/patches/gcc/5.4.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
+++ b/packages/gcc/7.1.0/370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch
diff --git a/patches/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch b/packages/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
index 12ef48e..12ef48e 100644
--- a/patches/gcc/5.4.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
+++ b/packages/gcc/7.1.0/380-gcc-plugin-POSIX-include-sys-select-h.patch
diff --git a/patches/gcc/4.9.4/810-arm-softfloat-libgcc.patch b/packages/gcc/7.1.0/810-arm-softfloat-libgcc.patch
index 5efa7fd..5efa7fd 100644
--- a/patches/gcc/4.9.4/810-arm-softfloat-libgcc.patch
+++ b/packages/gcc/7.1.0/810-arm-softfloat-libgcc.patch
diff --git a/patches/gcc/5.4.0/860-cilk-wchar.patch b/packages/gcc/7.1.0/860-cilk-wchar.patch
index 1d9916f..1d9916f 100644
--- a/patches/gcc/5.4.0/860-cilk-wchar.patch
+++ b/packages/gcc/7.1.0/860-cilk-wchar.patch
diff --git a/patches/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch b/packages/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch
index cf21584..cf21584 100644
--- a/patches/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch
+++ b/packages/gcc/7.1.0/870-gcc-xtensa-fix-fprintf-format-specifiers.patch
diff --git a/patches/gcc/5.4.0/891-fix-m68k-uclinux.patch b/packages/gcc/7.1.0/891-fix-m68k-uclinux.patch
index 4e186bd..4e186bd 100644
--- a/patches/gcc/5.4.0/891-fix-m68k-uclinux.patch
+++ b/packages/gcc/7.1.0/891-fix-m68k-uclinux.patch
diff --git a/patches/gcc/6.3.0/900-libgfortran-missing-include.patch b/packages/gcc/7.1.0/900-libgfortran-missing-include.patch
index 1f47469..1f47469 100644
--- a/patches/gcc/6.3.0/900-libgfortran-missing-include.patch
+++ b/packages/gcc/7.1.0/900-libgfortran-missing-include.patch
diff --git a/patches/gcc/6.3.0/910-nios2-bad-multilib-default.patch b/packages/gcc/7.1.0/910-nios2-bad-multilib-default.patch
index 61989e5..61989e5 100644
--- a/patches/gcc/6.3.0/910-nios2-bad-multilib-default.patch
+++ b/packages/gcc/7.1.0/910-nios2-bad-multilib-default.patch
diff --git a/patches/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch b/packages/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch
index 07f9a73..07f9a73 100644
--- a/patches/gcc/5.4.0/930-libgcc-disable-split-stack-nothreads.patch
+++ b/packages/gcc/7.1.0/930-libgcc-disable-split-stack-nothreads.patch
diff --git a/patches/gcc/6.3.0/951-bionic-ndk.patch b/packages/gcc/7.1.0/951-bionic-ndk.patch
index 59c50a8..59c50a8 100644
--- a/patches/gcc/6.3.0/951-bionic-ndk.patch
+++ b/packages/gcc/7.1.0/951-bionic-ndk.patch
diff --git a/patches/gcc/6.3.0/952-bionic-errno.patch b/packages/gcc/7.1.0/952-bionic-errno.patch
index 91f6ca3..91f6ca3 100644
--- a/patches/gcc/6.3.0/952-bionic-errno.patch
+++ b/packages/gcc/7.1.0/952-bionic-errno.patch
diff --git a/patches/gcc/7.1.0/970-crystax.patch b/packages/gcc/7.1.0/970-crystax.patch
index 7324d7f..7324d7f 100644
--- a/patches/gcc/7.1.0/970-crystax.patch
+++ b/packages/gcc/7.1.0/970-crystax.patch
diff --git a/patches/gcc/6.3.0/971-crystax.patch b/packages/gcc/7.1.0/971-crystax.patch
index 748a381..748a381 100644
--- a/patches/gcc/6.3.0/971-crystax.patch
+++ b/packages/gcc/7.1.0/971-crystax.patch
diff --git a/patches/gcc/6.3.0/972-crystax.patch b/packages/gcc/7.1.0/972-crystax.patch
index b9077be..b9077be 100644
--- a/patches/gcc/6.3.0/972-crystax.patch
+++ b/packages/gcc/7.1.0/972-crystax.patch
diff --git a/patches/gcc/6.3.0/973-crystax.patch b/packages/gcc/7.1.0/973-crystax.patch
index b96ece3..b96ece3 100644
--- a/patches/gcc/6.3.0/973-crystax.patch
+++ b/packages/gcc/7.1.0/973-crystax.patch
diff --git a/patches/gcc/6.3.0/974-crystax.patch b/packages/gcc/7.1.0/974-crystax.patch
index 9db4f54..9db4f54 100644
--- a/patches/gcc/6.3.0/974-crystax.patch
+++ b/packages/gcc/7.1.0/974-crystax.patch
diff --git a/patches/gcc/6.3.0/975-crystax.patch b/packages/gcc/7.1.0/975-crystax.patch
index 9efc2a4..9efc2a4 100644
--- a/patches/gcc/6.3.0/975-crystax.patch
+++ b/packages/gcc/7.1.0/975-crystax.patch
diff --git a/patches/gcc/6.3.0/976-crystax.patch b/packages/gcc/7.1.0/976-crystax.patch
index 790d4a9..790d4a9 100644
--- a/patches/gcc/6.3.0/976-crystax.patch
+++ b/packages/gcc/7.1.0/976-crystax.patch
diff --git a/patches/gcc/6.3.0/977-crystax.patch b/packages/gcc/7.1.0/977-crystax.patch
index 0211d72..0211d72 100644
--- a/patches/gcc/6.3.0/977-crystax.patch
+++ b/packages/gcc/7.1.0/977-crystax.patch
diff --git a/packages/gcc/7.1.0/version.desc b/packages/gcc/7.1.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gcc/7.1.0/version.desc
diff --git a/packages/gcc/package.desc b/packages/gcc/package.desc
new file mode 100644
index 0000000..dc49186
--- /dev/null
+++ b/packages/gcc/package.desc
@@ -0,0 +1,4 @@
+repository='svn svn://gcc.gnu.org/svn/gcc'
+mirrors='$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})'
+origin='GNU'
+milestones='4.8 4.9 4.9.2 5 6 7'
diff --git a/packages/gdb-linaro/7.3-2011.12/version.desc b/packages/gdb-linaro/7.3-2011.12/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.3-2011.12/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.4-2012.06/version.desc b/packages/gdb-linaro/7.4-2012.06/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.4-2012.06/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.5-2012.12/version.desc b/packages/gdb-linaro/7.5-2012.12/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.5-2012.12/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.6.1-2013.10/version.desc b/packages/gdb-linaro/7.6.1-2013.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.6.1-2013.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.7-2014.05/version.desc b/packages/gdb-linaro/7.7-2014.05/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.7-2014.05/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.7.1-2014.06-1/version.desc b/packages/gdb-linaro/7.7.1-2014.06-1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.7.1-2014.06-1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/7.8-2014.09/version.desc b/packages/gdb-linaro/7.8-2014.09/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb-linaro/7.8-2014.09/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb-linaro/package.desc b/packages/gdb-linaro/package.desc
new file mode 100644
index 0000000..f5ed8fa
--- /dev/null
+++ b/packages/gdb-linaro/package.desc
@@ -0,0 +1,5 @@
+master='gdb'
+repository='git https://git.linaro.org/toolchain/binutils-gdb.git'
+mirrors='$(CT_Mirrors Linaro gdb ${CT_GDB_LINARO_VERSION})'
+origin='Linaro'
+experimental='yes'
diff --git a/patches/gdb/6.8a/100-dwarf-stack-overflow.patch b/packages/gdb/6.8a/100-dwarf-stack-overflow.patch
index 344d5a3..344d5a3 100644
--- a/patches/gdb/6.8a/100-dwarf-stack-overflow.patch
+++ b/packages/gdb/6.8a/100-dwarf-stack-overflow.patch
diff --git a/patches/gdb/6.8a/110-security-errata-20050610.patch b/packages/gdb/6.8a/110-security-errata-20050610.patch
index 27e8174..27e8174 100644
--- a/patches/gdb/6.8a/110-security-errata-20050610.patch
+++ b/packages/gdb/6.8a/110-security-errata-20050610.patch
diff --git a/patches/gdb/6.8a/120-tdep-opcode-include-workaround.patch b/packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch
index 61fdef4..61fdef4 100644
--- a/patches/gdb/6.8a/120-tdep-opcode-include-workaround.patch
+++ b/packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch
diff --git a/patches/gdb/6.8a/130-reg-no-longer-active.patch b/packages/gdb/6.8a/130-reg-no-longer-active.patch
index 1c7e7e0..1c7e7e0 100644
--- a/patches/gdb/6.8a/130-reg-no-longer-active.patch
+++ b/packages/gdb/6.8a/130-reg-no-longer-active.patch
diff --git a/patches/gdb/6.8a/140-sim-ppc-have-config-h.patch b/packages/gdb/6.8a/140-sim-ppc-have-config-h.patch
index f3723b5..f3723b5 100644
--- a/patches/gdb/6.8a/140-sim-ppc-have-config-h.patch
+++ b/packages/gdb/6.8a/140-sim-ppc-have-config-h.patch
diff --git a/patches/gdb/6.8a/150-handle-stpcpy-define.patch b/packages/gdb/6.8a/150-handle-stpcpy-define.patch
index 88d703f..88d703f 100644
--- a/patches/gdb/6.8a/150-handle-stpcpy-define.patch
+++ b/packages/gdb/6.8a/150-handle-stpcpy-define.patch
diff --git a/packages/gdb/6.8a/version.desc b/packages/gdb/6.8a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/6.8a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.0a/100-sim-ppc-have-config-h.patch b/packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch
index f3723b5..f3723b5 100644
--- a/patches/gdb/7.0a/100-sim-ppc-have-config-h.patch
+++ b/packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch
diff --git a/packages/gdb/7.0.1a/version.desc b/packages/gdb/7.0.1a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.0.1a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.0.1a/100-sim-ppc-have-config-h.patch b/packages/gdb/7.0a/100-sim-ppc-have-config-h.patch
index f3723b5..f3723b5 100644
--- a/patches/gdb/7.0.1a/100-sim-ppc-have-config-h.patch
+++ b/packages/gdb/7.0a/100-sim-ppc-have-config-h.patch
diff --git a/packages/gdb/7.0a/version.desc b/packages/gdb/7.0a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.0a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/8.0/100-musl_fix.patch b/packages/gdb/7.10.1/100-musl_fix.patch
index c0c1e0a..c0c1e0a 100644
--- a/patches/gdb/8.0/100-musl_fix.patch
+++ b/packages/gdb/7.10.1/100-musl_fix.patch
diff --git a/patches/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch b/packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
index 1182a45..1182a45 100644
--- a/patches/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
+++ b/packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
diff --git a/patches/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch
index 982bd7f..982bd7f 100644
--- a/patches/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch
+++ b/packages/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch
diff --git a/patches/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch
index 506a57c..506a57c 100644
--- a/patches/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch
+++ b/packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch
diff --git a/packages/gdb/7.10.1/version.desc b/packages/gdb/7.10.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.10.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.10/10-setns-handling.patch b/packages/gdb/7.10/10-setns-handling.patch
index e2647ad..e2647ad 100644
--- a/patches/gdb/7.10/10-setns-handling.patch
+++ b/packages/gdb/7.10/10-setns-handling.patch
diff --git a/patches/gdb/7.12.1/100-musl_fix.patch b/packages/gdb/7.10/100-musl_fix.patch
index c0c1e0a..c0c1e0a 100644
--- a/patches/gdb/7.12.1/100-musl_fix.patch
+++ b/packages/gdb/7.10/100-musl_fix.patch
diff --git a/patches/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch b/packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
index 1182a45..1182a45 100644
--- a/patches/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
+++ b/packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch
diff --git a/patches/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch
index 982bd7f..982bd7f 100644
--- a/patches/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch
+++ b/packages/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch
diff --git a/patches/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch
index 506a57c..506a57c 100644
--- a/patches/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch
+++ b/packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch
diff --git a/packages/gdb/7.10/version.desc b/packages/gdb/7.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.11.1/100-musl_fix.patch b/packages/gdb/7.11.1/100-musl_fix.patch
index c0c1e0a..c0c1e0a 100644
--- a/patches/gdb/7.11.1/100-musl_fix.patch
+++ b/packages/gdb/7.11.1/100-musl_fix.patch
diff --git a/patches/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch
index ff59907..ff59907 100644
--- a/patches/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch
+++ b/packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch
diff --git a/patches/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch
index 982bd7f..982bd7f 100644
--- a/patches/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch
+++ b/packages/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch
diff --git a/patches/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch
index 506a57c..506a57c 100644
--- a/patches/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch
+++ b/packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch
diff --git a/packages/gdb/7.11.1/version.desc b/packages/gdb/7.11.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gdb/7.11.1/version.desc
diff --git a/patches/gdb/7.10/100-musl_fix.patch b/packages/gdb/7.12.1/100-musl_fix.patch
index c0c1e0a..c0c1e0a 100644
--- a/patches/gdb/7.10/100-musl_fix.patch
+++ b/packages/gdb/7.12.1/100-musl_fix.patch
diff --git a/patches/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch
index cd7a4c6..cd7a4c6 100644
--- a/patches/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch
+++ b/packages/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch
diff --git a/patches/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch
index 982bd7f..982bd7f 100644
--- a/patches/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch
+++ b/packages/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch
diff --git a/patches/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch
index 506a57c..506a57c 100644
--- a/patches/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch
+++ b/packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch
diff --git a/patches/gdb/8.0/200-allow-android.patch b/packages/gdb/7.12.1/200-allow-android.patch
index 7954477..7954477 100644
--- a/patches/gdb/8.0/200-allow-android.patch
+++ b/packages/gdb/7.12.1/200-allow-android.patch
diff --git a/packages/gdb/7.12.1/version.desc b/packages/gdb/7.12.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gdb/7.12.1/version.desc
diff --git a/packages/gdb/7.1a/version.desc b/packages/gdb/7.1a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.1a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.2a/100-sim-ppc-lz-fix.patch b/packages/gdb/7.2a/100-sim-ppc-lz-fix.patch
index 6f08ef8..6f08ef8 100644
--- a/patches/gdb/7.2a/100-sim-ppc-lz-fix.patch
+++ b/packages/gdb/7.2a/100-sim-ppc-lz-fix.patch
diff --git a/packages/gdb/7.2a/version.desc b/packages/gdb/7.2a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.2a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.3.1/version.desc b/packages/gdb/7.3.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.3.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.3a/version.desc b/packages/gdb/7.3a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.3a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.4.1/00_all_ptrace_setsiginfo.patch b/packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch
index 81a92db..81a92db 100644
--- a/patches/gdb/7.4.1/00_all_ptrace_setsiginfo.patch
+++ b/packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch
diff --git a/patches/gdb/7.4.1/05_all_readline-headers.patch b/packages/gdb/7.4.1/05_all_readline-headers.patch
index e65adf6..e65adf6 100644
--- a/patches/gdb/7.4.1/05_all_readline-headers.patch
+++ b/packages/gdb/7.4.1/05_all_readline-headers.patch
diff --git a/packages/gdb/7.4.1/version.desc b/packages/gdb/7.4.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.4.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.4/version.desc b/packages/gdb/7.4/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.4/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.5.1/version.desc b/packages/gdb/7.5.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.5.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.6.1/version.desc b/packages/gdb/7.6.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.6.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.7.1/version.desc b/packages/gdb/7.7.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.7.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.7/version.desc b/packages/gdb/7.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.8.1/version.desc b/packages/gdb/7.8.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.8.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.8/version.desc b/packages/gdb/7.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.9.1/version.desc b/packages/gdb/7.9.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.9.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gdb/7.9/version.desc b/packages/gdb/7.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gdb/7.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gdb/7.10.1/100-musl_fix.patch b/packages/gdb/8.0/100-musl_fix.patch
index c0c1e0a..c0c1e0a 100644
--- a/patches/gdb/7.10.1/100-musl_fix.patch
+++ b/packages/gdb/8.0/100-musl_fix.patch
diff --git a/patches/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch
index cd7a4c6..cd7a4c6 100644
--- a/patches/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch
+++ b/packages/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch
diff --git a/patches/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch
index 982bd7f..982bd7f 100644
--- a/patches/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch
+++ b/packages/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch
diff --git a/patches/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch
index 506a57c..506a57c 100644
--- a/patches/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch
+++ b/packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch
diff --git a/patches/gdb/7.12.1/200-allow-android.patch b/packages/gdb/8.0/200-allow-android.patch
index 7954477..7954477 100644
--- a/patches/gdb/7.12.1/200-allow-android.patch
+++ b/packages/gdb/8.0/200-allow-android.patch
diff --git a/packages/gdb/8.0/version.desc b/packages/gdb/8.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gdb/8.0/version.desc
diff --git a/packages/gdb/package.desc b/packages/gdb/package.desc
new file mode 100644
index 0000000..e6120f2
--- /dev/null
+++ b/packages/gdb/package.desc
@@ -0,0 +1,4 @@
+origin='GNU'
+repository='git git://sourceware.org/git/binutils-gdb.git'
+mirrors='$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)'
+milestones='7.0 7.2 8.0'
diff --git a/patches/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch b/packages/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch
index dacdfb1..dacdfb1 100644
--- a/patches/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch
+++ b/packages/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch
diff --git a/patches/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch b/packages/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
index 4624cb5..4624cb5 100644
--- a/patches/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
+++ b/packages/gettext/0.19.7/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
diff --git a/patches/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch b/packages/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
index 3487302..3487302 100644
--- a/patches/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
+++ b/packages/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
diff --git a/patches/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch b/packages/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch
index 7f980ac..7f980ac 100644
--- a/patches/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch
+++ b/packages/gettext/0.19.7/140-Fix-Cygwin-sys-select.patch
diff --git a/patches/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch b/packages/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch
index caaf0a0..caaf0a0 100644
--- a/patches/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch
+++ b/packages/gettext/0.19.7/150-Fix-Cygwin-sys-select-2.patch
diff --git a/packages/gettext/0.19.7/version.desc b/packages/gettext/0.19.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gettext/0.19.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch b/packages/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch
index dacdfb1..dacdfb1 100644
--- a/patches/gettext/0.19.7/110-Fix-linker-error-redefinition-of-vasprintf.patch
+++ b/packages/gettext/0.19.8.1/110-Fix-linker-error-redefinition-of-vasprintf.patch
diff --git a/patches/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch b/packages/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
index 8c6b94f..8c6b94f 100644
--- a/patches/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
+++ b/packages/gettext/0.19.8.1/120-Fix-Woe32-link-errors-when-compiling-with-O0.patch
diff --git a/patches/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch b/packages/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
index 3487302..3487302 100644
--- a/patches/gettext/0.19.7/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
+++ b/packages/gettext/0.19.8.1/130-Fix-static-Cygwin-x86_64-build-environ-is-always-dllimport.patch
diff --git a/packages/gettext/0.19.8.1/version.desc b/packages/gettext/0.19.8.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gettext/0.19.8.1/version.desc
diff --git a/packages/gettext/package.desc b/packages/gettext/package.desc
new file mode 100644
index 0000000..065e790
--- /dev/null
+++ b/packages/gettext/package.desc
@@ -0,0 +1,5 @@
+repository='git https://git.savannah.gnu.org/git/gettext.git'
+# TBD autogen.sh will check out most recent gnulib - need to make gnulib
+# a separate package and depend on it in case of devel builds?
+bootstrap='./autogen.sh'
+mirrors='$(CT_Mirrors GNU gettext)'
diff --git a/patches/glibc/linaro-2.20-2014.11/100-sparc-nptl.patch b/packages/glibc-linaro/2.20-2014.11/100-sparc-nptl.patch
index 21f0337..21f0337 100644
--- a/patches/glibc/linaro-2.20-2014.11/100-sparc-nptl.patch
+++ b/packages/glibc-linaro/2.20-2014.11/100-sparc-nptl.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc-linaro/2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/linaro-2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc-linaro/2.20-2014.11/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/102-fix-signed-shift-overlow.patch b/packages/glibc-linaro/2.20-2014.11/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/linaro-2.20-2014.11/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc-linaro/2.20-2014.11/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/103-dl-openat64-variadic.patch b/packages/glibc-linaro/2.20-2014.11/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/linaro-2.20-2014.11/103-dl-openat64-variadic.patch
+++ b/packages/glibc-linaro/2.20-2014.11/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/104-unused-variables.patch b/packages/glibc-linaro/2.20-2014.11/104-unused-variables.patch
index 889c9bb..889c9bb 100644
--- a/patches/glibc/linaro-2.20-2014.11/104-unused-variables.patch
+++ b/packages/glibc-linaro/2.20-2014.11/104-unused-variables.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/105-misleading-indentation.patch b/packages/glibc-linaro/2.20-2014.11/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/linaro-2.20-2014.11/105-misleading-indentation.patch
+++ b/packages/glibc-linaro/2.20-2014.11/105-misleading-indentation.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/106-dl-open-array-bounds.patch b/packages/glibc-linaro/2.20-2014.11/106-dl-open-array-bounds.patch
index 08a9076..08a9076 100644
--- a/patches/glibc/linaro-2.20-2014.11/106-dl-open-array-bounds.patch
+++ b/packages/glibc-linaro/2.20-2014.11/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc-linaro/2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/linaro-2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc-linaro/2.20-2014.11/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/920-fix-rpc_parse-format.patch b/packages/glibc-linaro/2.20-2014.11/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/linaro-2.20-2014.11/920-fix-rpc_parse-format.patch
+++ b/packages/glibc-linaro/2.20-2014.11/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/930-explicit-boolean.patch b/packages/glibc-linaro/2.20-2014.11/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/linaro-2.20-2014.11/930-explicit-boolean.patch
+++ b/packages/glibc-linaro/2.20-2014.11/930-explicit-boolean.patch
diff --git a/patches/glibc/linaro-2.20-2014.11/940-nis-bogus-conditional.patch b/packages/glibc-linaro/2.20-2014.11/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/linaro-2.20-2014.11/940-nis-bogus-conditional.patch
+++ b/packages/glibc-linaro/2.20-2014.11/940-nis-bogus-conditional.patch
diff --git a/packages/glibc-linaro/2.20-2014.11/version.desc b/packages/glibc-linaro/2.20-2014.11/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc-linaro/2.20-2014.11/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/glibc-linaro/package.desc b/packages/glibc-linaro/package.desc
new file mode 100644
index 0000000..91195f4
--- /dev/null
+++ b/packages/glibc-linaro/package.desc
@@ -0,0 +1,5 @@
+master='glibc'
+origin='Linaro'
+repository='git https://git.linaro.org/toolchain/glibc.git'
+mirrors='$(CT_Mirrors Linaro glibc ${CT_GLIBC_LINARO_VERSION})'
+experimental='yes'
diff --git a/patches/glibc/ports-2.15/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch
index 1a632fe..1a632fe 100644
--- a/patches/glibc/ports-2.15/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.12.1/100-respect-env-CPPFLAGS.patch
index ed022be..ed022be 100644
--- a/patches/glibc/ports-2.12.1/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.12.1/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.12.1/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.12.1/120-i386-x86_64-revert-clone-cfi.patch
index 95f5ace..95f5ace 100644
--- a/patches/glibc/ports-2.12.1/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.12.1/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.12.1/140-disable-ldconfig.patch b/packages/glibc-ports/2.12.1/140-disable-ldconfig.patch
index 43330b8..43330b8 100644
--- a/patches/glibc/ports-2.12.1/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.12.1/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.12.1/150-queue-header-updates.patch b/packages/glibc-ports/2.12.1/150-queue-header-updates.patch
index fe625e1..fe625e1 100644
--- a/patches/glibc/ports-2.12.1/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.12.1/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.12.1/160-manual-no-perl.patch b/packages/glibc-ports/2.12.1/160-manual-no-perl.patch
index 2eb5414..2eb5414 100644
--- a/patches/glibc/ports-2.12.1/160-manual-no-perl.patch
+++ b/packages/glibc-ports/2.12.1/160-manual-no-perl.patch
diff --git a/patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.12.1/170-localedef-fix-trampoline.patch
index fb0881d..fb0881d 100644
--- a/patches/glibc/ports-2.12.1/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.12.1/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.12.1/180-resolv-dynamic.patch b/packages/glibc-ports/2.12.1/180-resolv-dynamic.patch
index 8f74a53..8f74a53 100644
--- a/patches/glibc/ports-2.12.1/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.12.1/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.12.1/190-localedef-mmap.patch b/packages/glibc-ports/2.12.1/190-localedef-mmap.patch
index b24ed80..b24ed80 100644
--- a/patches/glibc/ports-2.12.1/190-localedef-mmap.patch
+++ b/packages/glibc-ports/2.12.1/190-localedef-mmap.patch
diff --git a/patches/glibc/ports-2.12.1/200-fadvise64_64.patch b/packages/glibc-ports/2.12.1/200-fadvise64_64.patch
index a9f10cd..a9f10cd 100644
--- a/patches/glibc/ports-2.12.1/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.12.1/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.12.1/220-section-comments.patch b/packages/glibc-ports/2.12.1/220-section-comments.patch
index 4d35535..4d35535 100644
--- a/patches/glibc/ports-2.12.1/220-section-comments.patch
+++ b/packages/glibc-ports/2.12.1/220-section-comments.patch
diff --git a/patches/glibc/ports-2.12.1/230-no-inline-gmon.patch b/packages/glibc-ports/2.12.1/230-no-inline-gmon.patch
index 594fb79..594fb79 100644
--- a/patches/glibc/ports-2.12.1/230-no-inline-gmon.patch
+++ b/packages/glibc-ports/2.12.1/230-no-inline-gmon.patch
diff --git a/patches/glibc/ports-2.12.1/240-check_native-headers.patch b/packages/glibc-ports/2.12.1/240-check_native-headers.patch
index de0cb5b..de0cb5b 100644
--- a/patches/glibc/ports-2.12.1/240-check_native-headers.patch
+++ b/packages/glibc-ports/2.12.1/240-check_native-headers.patch
diff --git a/patches/glibc/ports-2.12.1/250-fix-pr631.patch b/packages/glibc-ports/2.12.1/250-fix-pr631.patch
index af5b347..af5b347 100644
--- a/patches/glibc/ports-2.12.1/250-fix-pr631.patch
+++ b/packages/glibc-ports/2.12.1/250-fix-pr631.patch
diff --git a/patches/glibc/ports-2.12.1/260-assume-pipe2.patch b/packages/glibc-ports/2.12.1/260-assume-pipe2.patch
index b84f882..b84f882 100644
--- a/patches/glibc/ports-2.12.1/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.12.1/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.12.1/270-china.patch b/packages/glibc-ports/2.12.1/270-china.patch
index 4cde1cf..4cde1cf 100644
--- a/patches/glibc/ports-2.12.1/270-china.patch
+++ b/packages/glibc-ports/2.12.1/270-china.patch
diff --git a/patches/glibc/ports-2.12.1/280-new-valencian-locale.patch b/packages/glibc-ports/2.12.1/280-new-valencian-locale.patch
index 6b46b44..6b46b44 100644
--- a/patches/glibc/ports-2.12.1/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.12.1/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.12.1/300-nscd-one-fork.patch b/packages/glibc-ports/2.12.1/300-nscd-one-fork.patch
index 27eae51..27eae51 100644
--- a/patches/glibc/ports-2.12.1/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.12.1/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.12.1/310-hppa-nptl-carlos.patch
index 947bb58..947bb58 100644
--- a/patches/glibc/ports-2.12.1/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.12.1/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.12.1/330-m68k-sys-user.patch b/packages/glibc-ports/2.12.1/330-m68k-sys-user.patch
index b441691..b441691 100644
--- a/patches/glibc/ports-2.12.1/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.12.1/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.12.1/340-dl_execstack-PaX-support.patch
index afdb39c..afdb39c 100644
--- a/patches/glibc/ports-2.12.1/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.12.1/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.12.1/350-pre20040117-pt_pax.patch
index 3f03169..3f03169 100644
--- a/patches/glibc/ports-2.12.1/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.12.1/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.12.1/360-tests-sandbox-libdl-paths.patch
index a847cdb..a847cdb 100644
--- a/patches/glibc/ports-2.12.1/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.12.1/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.12.1/370-fnmatch.patch b/packages/glibc-ports/2.12.1/370-fnmatch.patch
index f345b35..f345b35 100644
--- a/patches/glibc/ports-2.12.1/370-fnmatch.patch
+++ b/packages/glibc-ports/2.12.1/370-fnmatch.patch
diff --git a/patches/glibc/ports-2.12.1/380-dont-build-timezone.patch b/packages/glibc-ports/2.12.1/380-dont-build-timezone.patch
index 0a30436..0a30436 100644
--- a/patches/glibc/ports-2.12.1/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.12.1/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.12.1/400-alpha-xstat.patch b/packages/glibc-ports/2.12.1/400-alpha-xstat.patch
index 97bea98..97bea98 100644
--- a/patches/glibc/ports-2.12.1/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.12.1/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.12.1/430-alpha-creat.patch b/packages/glibc-ports/2.12.1/430-alpha-creat.patch
index bfb72d0..bfb72d0 100644
--- a/patches/glibc/ports-2.12.1/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.12.1/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch b/packages/glibc-ports/2.12.1/440-alpha-cache-shape.patch
index ea85e99..ea85e99 100644
--- a/patches/glibc/ports-2.12.1/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.12.1/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.12.1/460-alpha-fix-gcc-4.1-warnings.patch
index 6438267..6438267 100644
--- a/patches/glibc/ports-2.12.1/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.12.1/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.12.1/490-alpha_alpha-add-fdatasync-support.patch
index 9d35ebd..9d35ebd 100644
--- a/patches/glibc/ports-2.12.1/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.12.1/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.12.1/530-alpha-fix-rtld-fPIC.patch
index 621a6f3..621a6f3 100644
--- a/patches/glibc/ports-2.12.1/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.12.1/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.12.1/560-ppc-atomic.patch b/packages/glibc-ports/2.12.1/560-ppc-atomic.patch
index 679ef18..679ef18 100644
--- a/patches/glibc/ports-2.12.1/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.12.1/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/packages/glibc-ports/2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
index fc42a92..fc42a92 100644
--- a/patches/glibc/ports-2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
+++ b/packages/glibc-ports/2.12.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
diff --git a/patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.12.1/580-nptl-lowlevellock.patch
index c243a76..c243a76 100644
--- a/patches/glibc/ports-2.12.1/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.12.1/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch b/packages/glibc-ports/2.12.1/610-fpu-cw-mips.patch
index 7d990de..7d990de 100644
--- a/patches/glibc/ports-2.12.1/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.12.1/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.12.1/630-mips_shn_undef-hack.patch
index f6a5eb6..f6a5eb6 100644
--- a/patches/glibc/ports-2.12.1/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.12.1/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.12.1/640-alpha-atfcts.patch b/packages/glibc-ports/2.12.1/640-alpha-atfcts.patch
index 90a9d0d..90a9d0d 100644
--- a/patches/glibc/ports-2.12.1/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.12.1/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.16.0/650-syslog.patch b/packages/glibc-ports/2.12.1/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.16.0/650-syslog.patch
+++ b/packages/glibc-ports/2.12.1/650-syslog.patch
diff --git a/patches/glibc/ports-2.16.0/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.12.1/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.16.0/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.12.1/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/patches/glibc/ports-2.12.1/670-support-hard-float-eabi.patch b/packages/glibc-ports/2.12.1/670-support-hard-float-eabi.patch
index 3f2bc0f..3f2bc0f 100644
--- a/patches/glibc/ports-2.12.1/670-support-hard-float-eabi.patch
+++ b/packages/glibc-ports/2.12.1/670-support-hard-float-eabi.patch
diff --git a/packages/glibc-ports/2.12.1/version.desc b/packages/glibc-ports/2.12.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.12.1/version.desc
diff --git a/patches/glibc/ports-2.14/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.13/090-Fix-ARM-build-with-GCC-trunk.patch
index 1a632fe..1a632fe 100644
--- a/patches/glibc/ports-2.14/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.13/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.15/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.13/100-respect-env-CPPFLAGS.patch
index 3798cb2..3798cb2 100644
--- a/patches/glibc/ports-2.15/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.13/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.16.0/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.13/120-i386-x86_64-revert-clone-cfi.patch
index c7f6182..c7f6182 100644
--- a/patches/glibc/ports-2.16.0/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.13/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.16.0/140-disable-ldconfig.patch b/packages/glibc-ports/2.13/140-disable-ldconfig.patch
index 378e1df..378e1df 100644
--- a/patches/glibc/ports-2.16.0/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.13/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.16.0/150-queue-header-updates.patch b/packages/glibc-ports/2.13/150-queue-header-updates.patch
index 7cbe70e..7cbe70e 100644
--- a/patches/glibc/ports-2.16.0/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.13/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.15/160-manual-no-perl.patch b/packages/glibc-ports/2.13/160-manual-no-perl.patch
index 5e2b807..5e2b807 100644
--- a/patches/glibc/ports-2.15/160-manual-no-perl.patch
+++ b/packages/glibc-ports/2.13/160-manual-no-perl.patch
diff --git a/patches/glibc/ports-2.16.0/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.13/170-localedef-fix-trampoline.patch
index 3cc6559..3cc6559 100644
--- a/patches/glibc/ports-2.16.0/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.13/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.16.0/180-resolv-dynamic.patch b/packages/glibc-ports/2.13/180-resolv-dynamic.patch
index e916bce..e916bce 100644
--- a/patches/glibc/ports-2.16.0/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.13/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.14/190-localedef-mmap.patch b/packages/glibc-ports/2.13/190-localedef-mmap.patch
index f3914cd..f3914cd 100644
--- a/patches/glibc/ports-2.14/190-localedef-mmap.patch
+++ b/packages/glibc-ports/2.13/190-localedef-mmap.patch
diff --git a/patches/glibc/ports-2.16.0/200-fadvise64_64.patch b/packages/glibc-ports/2.13/200-fadvise64_64.patch
index 71bca38..71bca38 100644
--- a/patches/glibc/ports-2.16.0/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.13/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.15/220-section-comments.patch b/packages/glibc-ports/2.13/220-section-comments.patch
index d717829..d717829 100644
--- a/patches/glibc/ports-2.15/220-section-comments.patch
+++ b/packages/glibc-ports/2.13/220-section-comments.patch
diff --git a/patches/glibc/ports-2.15/230-no-inline-gmon.patch b/packages/glibc-ports/2.13/230-no-inline-gmon.patch
index fa33c2b..fa33c2b 100644
--- a/patches/glibc/ports-2.15/230-no-inline-gmon.patch
+++ b/packages/glibc-ports/2.13/230-no-inline-gmon.patch
diff --git a/patches/glibc/ports-2.14/240-check_native-headers.patch b/packages/glibc-ports/2.13/240-check_native-headers.patch
index c936f71..c936f71 100644
--- a/patches/glibc/ports-2.14/240-check_native-headers.patch
+++ b/packages/glibc-ports/2.13/240-check_native-headers.patch
diff --git a/patches/glibc/ports-2.13/250-fix-pr631.patch b/packages/glibc-ports/2.13/250-fix-pr631.patch
index a48912e..a48912e 100644
--- a/patches/glibc/ports-2.13/250-fix-pr631.patch
+++ b/packages/glibc-ports/2.13/250-fix-pr631.patch
diff --git a/patches/glibc/ports-2.15/260-assume-pipe2.patch b/packages/glibc-ports/2.13/260-assume-pipe2.patch
index 42e8f4e..42e8f4e 100644
--- a/patches/glibc/ports-2.15/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.13/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.16.0/270-china.patch b/packages/glibc-ports/2.13/270-china.patch
index 41d7759..41d7759 100644
--- a/patches/glibc/ports-2.16.0/270-china.patch
+++ b/packages/glibc-ports/2.13/270-china.patch
diff --git a/patches/glibc/ports-2.16.0/280-new-valencian-locale.patch b/packages/glibc-ports/2.13/280-new-valencian-locale.patch
index 4cdd108..4cdd108 100644
--- a/patches/glibc/ports-2.16.0/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.13/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.15/300-nscd-one-fork.patch b/packages/glibc-ports/2.13/300-nscd-one-fork.patch
index adc9b3f..adc9b3f 100644
--- a/patches/glibc/ports-2.15/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.13/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.15/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.13/310-hppa-nptl-carlos.patch
index 4c028b2..4c028b2 100644
--- a/patches/glibc/ports-2.15/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.13/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.13/330-m68k-sys-user.patch b/packages/glibc-ports/2.13/330-m68k-sys-user.patch
index 191e0c6..191e0c6 100644
--- a/patches/glibc/ports-2.13/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.13/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.16.0/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.13/340-dl_execstack-PaX-support.patch
index 2402af0..2402af0 100644
--- a/patches/glibc/ports-2.16.0/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.13/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.16.0/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.13/350-pre20040117-pt_pax.patch
index f8f6b83..f8f6b83 100644
--- a/patches/glibc/ports-2.16.0/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.13/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.16.0/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.13/360-tests-sandbox-libdl-paths.patch
index 9f78c52..9f78c52 100644
--- a/patches/glibc/ports-2.16.0/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.13/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.16.0/380-dont-build-timezone.patch b/packages/glibc-ports/2.13/380-dont-build-timezone.patch
index 11c358e..11c358e 100644
--- a/patches/glibc/ports-2.16.0/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.13/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.16.0/400-alpha-xstat.patch b/packages/glibc-ports/2.13/400-alpha-xstat.patch
index 6e4ab8f..6e4ab8f 100644
--- a/patches/glibc/ports-2.16.0/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.13/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch b/packages/glibc-ports/2.13/410-alpha-SETPIPE-GETPIPE.patch
index fd55537..fd55537 100644
--- a/patches/glibc/ports-2.13/410-alpha-SETPIPE-GETPIPE.patch
+++ b/packages/glibc-ports/2.13/410-alpha-SETPIPE-GETPIPE.patch
diff --git a/patches/glibc/ports-2.13/420-alpha-statfs.patch b/packages/glibc-ports/2.13/420-alpha-statfs.patch
index 65c925a..65c925a 100644
--- a/patches/glibc/ports-2.13/420-alpha-statfs.patch
+++ b/packages/glibc-ports/2.13/420-alpha-statfs.patch
diff --git a/patches/glibc/ports-2.16.0/430-alpha-creat.patch b/packages/glibc-ports/2.13/430-alpha-creat.patch
index da6ddda..da6ddda 100644
--- a/patches/glibc/ports-2.16.0/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.13/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.13/440-alpha-cache-shape.patch b/packages/glibc-ports/2.13/440-alpha-cache-shape.patch
index 62ade7b..62ade7b 100644
--- a/patches/glibc/ports-2.13/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.13/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch b/packages/glibc-ports/2.13/450-alpha-DEFAULT_STACK_PERMS.patch
index ac3ea9a..ac3ea9a 100644
--- a/patches/glibc/ports-2.13/450-alpha-DEFAULT_STACK_PERMS.patch
+++ b/packages/glibc-ports/2.13/450-alpha-DEFAULT_STACK_PERMS.patch
diff --git a/patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.13/460-alpha-fix-gcc-4.1-warnings.patch
index 313e0e0..313e0e0 100644
--- a/patches/glibc/ports-2.13/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.13/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.13/470-alpha-feupdateenv.patch b/packages/glibc-ports/2.13/470-alpha-feupdateenv.patch
index 45a7051..45a7051 100644
--- a/patches/glibc/ports-2.13/470-alpha-feupdateenv.patch
+++ b/packages/glibc-ports/2.13/470-alpha-feupdateenv.patch
diff --git a/patches/glibc/ports-2.14/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.13/490-alpha_alpha-add-fdatasync-support.patch
index 372f34c..372f34c 100644
--- a/patches/glibc/ports-2.14/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.13/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.13/530-alpha-fix-rtld-fPIC.patch
index b2ae9b5..b2ae9b5 100644
--- a/patches/glibc/ports-2.13/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.13/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.16.0/560-ppc-atomic.patch b/packages/glibc-ports/2.13/560-ppc-atomic.patch
index ee1cb90..ee1cb90 100644
--- a/patches/glibc/ports-2.16.0/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.13/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/packages/glibc-ports/2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
index 4f4dbec..4f4dbec 100644
--- a/patches/glibc/ports-2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
+++ b/packages/glibc-ports/2.13/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
diff --git a/patches/glibc/ports-2.13/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.13/580-nptl-lowlevellock.patch
index 08518e9..08518e9 100644
--- a/patches/glibc/ports-2.13/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.13/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.13/610-fpu-cw-mips.patch b/packages/glibc-ports/2.13/610-fpu-cw-mips.patch
index cd2b4d9..cd2b4d9 100644
--- a/patches/glibc/ports-2.13/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.13/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.16.0/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.13/630-mips_shn_undef-hack.patch
index 791d76c..791d76c 100644
--- a/patches/glibc/ports-2.16.0/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.13/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.16.0/640-alpha-atfcts.patch b/packages/glibc-ports/2.13/640-alpha-atfcts.patch
index 7a8a94a..7a8a94a 100644
--- a/patches/glibc/ports-2.16.0/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.13/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.15/650-syslog.patch b/packages/glibc-ports/2.13/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.15/650-syslog.patch
+++ b/packages/glibc-ports/2.13/650-syslog.patch
diff --git a/patches/glibc/ports-2.15/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.13/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.15/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.13/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/patches/glibc/ports-2.13/670-support-hard-float-eabi.patch b/packages/glibc-ports/2.13/670-support-hard-float-eabi.patch
index 589f11e..589f11e 100644
--- a/patches/glibc/ports-2.13/670-support-hard-float-eabi.patch
+++ b/packages/glibc-ports/2.13/670-support-hard-float-eabi.patch
diff --git a/packages/glibc-ports/2.13/version.desc b/packages/glibc-ports/2.13/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.13/version.desc
diff --git a/patches/glibc/ports-2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch
index 1a632fe..1a632fe 100644
--- a/patches/glibc/ports-2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.14.1/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.14/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.14.1/100-respect-env-CPPFLAGS.patch
index 3798cb2..3798cb2 100644
--- a/patches/glibc/ports-2.14/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.14.1/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.15/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.14.1/120-i386-x86_64-revert-clone-cfi.patch
index c7f6182..c7f6182 100644
--- a/patches/glibc/ports-2.15/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.14.1/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.15/140-disable-ldconfig.patch b/packages/glibc-ports/2.14.1/140-disable-ldconfig.patch
index 378e1df..378e1df 100644
--- a/patches/glibc/ports-2.15/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.14.1/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.15/150-queue-header-updates.patch b/packages/glibc-ports/2.14.1/150-queue-header-updates.patch
index 7cbe70e..7cbe70e 100644
--- a/patches/glibc/ports-2.15/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.14.1/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.14/160-manual-no-perl.patch b/packages/glibc-ports/2.14.1/160-manual-no-perl.patch
index 5e2b807..5e2b807 100644
--- a/patches/glibc/ports-2.14/160-manual-no-perl.patch
+++ b/packages/glibc-ports/2.14.1/160-manual-no-perl.patch
diff --git a/patches/glibc/ports-2.15/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.14.1/170-localedef-fix-trampoline.patch
index 3cc6559..3cc6559 100644
--- a/patches/glibc/ports-2.15/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.14.1/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.15/180-resolv-dynamic.patch b/packages/glibc-ports/2.14.1/180-resolv-dynamic.patch
index e916bce..e916bce 100644
--- a/patches/glibc/ports-2.15/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.14.1/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.14.1/190-localedef-mmap.patch b/packages/glibc-ports/2.14.1/190-localedef-mmap.patch
index f3914cd..f3914cd 100644
--- a/patches/glibc/ports-2.14.1/190-localedef-mmap.patch
+++ b/packages/glibc-ports/2.14.1/190-localedef-mmap.patch
diff --git a/patches/glibc/ports-2.15/200-fadvise64_64.patch b/packages/glibc-ports/2.14.1/200-fadvise64_64.patch
index 71bca38..71bca38 100644
--- a/patches/glibc/ports-2.15/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.14.1/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.14/220-section-comments.patch b/packages/glibc-ports/2.14.1/220-section-comments.patch
index d717829..d717829 100644
--- a/patches/glibc/ports-2.14/220-section-comments.patch
+++ b/packages/glibc-ports/2.14.1/220-section-comments.patch
diff --git a/patches/glibc/ports-2.14/230-no-inline-gmon.patch b/packages/glibc-ports/2.14.1/230-no-inline-gmon.patch
index fa33c2b..fa33c2b 100644
--- a/patches/glibc/ports-2.14/230-no-inline-gmon.patch
+++ b/packages/glibc-ports/2.14.1/230-no-inline-gmon.patch
diff --git a/patches/glibc/ports-2.14/260-assume-pipe2.patch b/packages/glibc-ports/2.14.1/260-assume-pipe2.patch
index 42e8f4e..42e8f4e 100644
--- a/patches/glibc/ports-2.14/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.14.1/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.15/270-china.patch b/packages/glibc-ports/2.14.1/270-china.patch
index 41d7759..41d7759 100644
--- a/patches/glibc/ports-2.15/270-china.patch
+++ b/packages/glibc-ports/2.14.1/270-china.patch
diff --git a/patches/glibc/ports-2.15/280-new-valencian-locale.patch b/packages/glibc-ports/2.14.1/280-new-valencian-locale.patch
index 4cdd108..4cdd108 100644
--- a/patches/glibc/ports-2.15/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.14.1/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.14/300-nscd-one-fork.patch b/packages/glibc-ports/2.14.1/300-nscd-one-fork.patch
index adc9b3f..adc9b3f 100644
--- a/patches/glibc/ports-2.14/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.14.1/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.14/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.14.1/310-hppa-nptl-carlos.patch
index 4c028b2..4c028b2 100644
--- a/patches/glibc/ports-2.14/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.14.1/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.14.1/330-m68k-sys-user.patch b/packages/glibc-ports/2.14.1/330-m68k-sys-user.patch
index 8fbe2e5..8fbe2e5 100644
--- a/patches/glibc/ports-2.14.1/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.14.1/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.15/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.14.1/340-dl_execstack-PaX-support.patch
index 2402af0..2402af0 100644
--- a/patches/glibc/ports-2.15/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.14.1/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.15/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.14.1/350-pre20040117-pt_pax.patch
index f8f6b83..f8f6b83 100644
--- a/patches/glibc/ports-2.15/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.14.1/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.15/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.14.1/360-tests-sandbox-libdl-paths.patch
index 9f78c52..9f78c52 100644
--- a/patches/glibc/ports-2.15/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.14.1/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.15/380-dont-build-timezone.patch b/packages/glibc-ports/2.14.1/380-dont-build-timezone.patch
index 11c358e..11c358e 100644
--- a/patches/glibc/ports-2.15/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.14.1/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.15/400-alpha-xstat.patch b/packages/glibc-ports/2.14.1/400-alpha-xstat.patch
index 6e4ab8f..6e4ab8f 100644
--- a/patches/glibc/ports-2.15/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.14.1/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.15/430-alpha-creat.patch b/packages/glibc-ports/2.14.1/430-alpha-creat.patch
index da6ddda..da6ddda 100644
--- a/patches/glibc/ports-2.15/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.14.1/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.14.1/440-alpha-cache-shape.patch b/packages/glibc-ports/2.14.1/440-alpha-cache-shape.patch
index 8ca0bd6..8ca0bd6 100644
--- a/patches/glibc/ports-2.14.1/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.14.1/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.14.1/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.14.1/460-alpha-fix-gcc-4.1-warnings.patch
index c3e59f4..c3e59f4 100644
--- a/patches/glibc/ports-2.14.1/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.14.1/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.14.1/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.14.1/490-alpha_alpha-add-fdatasync-support.patch
index 372f34c..372f34c 100644
--- a/patches/glibc/ports-2.14.1/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.14.1/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.14.1/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.14.1/530-alpha-fix-rtld-fPIC.patch
index 2691a99..2691a99 100644
--- a/patches/glibc/ports-2.14.1/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.14.1/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.15/560-ppc-atomic.patch b/packages/glibc-ports/2.14.1/560-ppc-atomic.patch
index ee1cb90..ee1cb90 100644
--- a/patches/glibc/ports-2.15/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.14.1/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/packages/glibc-ports/2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
index 5e45682..5e45682 100644
--- a/patches/glibc/ports-2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
+++ b/packages/glibc-ports/2.14.1/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
diff --git a/patches/glibc/ports-2.14.1/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.14.1/580-nptl-lowlevellock.patch
index 6bf5250..6bf5250 100644
--- a/patches/glibc/ports-2.14.1/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.14.1/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.14.1/610-fpu-cw-mips.patch b/packages/glibc-ports/2.14.1/610-fpu-cw-mips.patch
index e53ac78..e53ac78 100644
--- a/patches/glibc/ports-2.14.1/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.14.1/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.15/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.14.1/630-mips_shn_undef-hack.patch
index 791d76c..791d76c 100644
--- a/patches/glibc/ports-2.15/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.14.1/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.15/640-alpha-atfcts.patch b/packages/glibc-ports/2.14.1/640-alpha-atfcts.patch
index 7a8a94a..7a8a94a 100644
--- a/patches/glibc/ports-2.15/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.14.1/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.14/650-syslog.patch b/packages/glibc-ports/2.14.1/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.14/650-syslog.patch
+++ b/packages/glibc-ports/2.14.1/650-syslog.patch
diff --git a/patches/glibc/ports-2.14/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.14.1/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.14/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.14.1/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/packages/glibc-ports/2.14.1/version.desc b/packages/glibc-ports/2.14.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.14.1/version.desc
diff --git a/patches/glibc/ports-2.13/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.14/090-Fix-ARM-build-with-GCC-trunk.patch
index 1a632fe..1a632fe 100644
--- a/patches/glibc/ports-2.13/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.14/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.14.1/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.14/100-respect-env-CPPFLAGS.patch
index 3798cb2..3798cb2 100644
--- a/patches/glibc/ports-2.14.1/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.14/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.14/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.14/120-i386-x86_64-revert-clone-cfi.patch
index c7f6182..c7f6182 100644
--- a/patches/glibc/ports-2.14/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.14/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.14/140-disable-ldconfig.patch b/packages/glibc-ports/2.14/140-disable-ldconfig.patch
index 378e1df..378e1df 100644
--- a/patches/glibc/ports-2.14/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.14/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.14/150-queue-header-updates.patch b/packages/glibc-ports/2.14/150-queue-header-updates.patch
index 7cbe70e..7cbe70e 100644
--- a/patches/glibc/ports-2.14/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.14/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.14.1/160-manual-no-perl.patch b/packages/glibc-ports/2.14/160-manual-no-perl.patch
index 5e2b807..5e2b807 100644
--- a/patches/glibc/ports-2.14.1/160-manual-no-perl.patch
+++ b/packages/glibc-ports/2.14/160-manual-no-perl.patch
diff --git a/patches/glibc/ports-2.14/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.14/170-localedef-fix-trampoline.patch
index 3cc6559..3cc6559 100644
--- a/patches/glibc/ports-2.14/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.14/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.14/180-resolv-dynamic.patch b/packages/glibc-ports/2.14/180-resolv-dynamic.patch
index e916bce..e916bce 100644
--- a/patches/glibc/ports-2.14/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.14/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.13/190-localedef-mmap.patch b/packages/glibc-ports/2.14/190-localedef-mmap.patch
index f3914cd..f3914cd 100644
--- a/patches/glibc/ports-2.13/190-localedef-mmap.patch
+++ b/packages/glibc-ports/2.14/190-localedef-mmap.patch
diff --git a/patches/glibc/ports-2.14/200-fadvise64_64.patch b/packages/glibc-ports/2.14/200-fadvise64_64.patch
index 71bca38..71bca38 100644
--- a/patches/glibc/ports-2.14/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.14/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.14.1/220-section-comments.patch b/packages/glibc-ports/2.14/220-section-comments.patch
index d717829..d717829 100644
--- a/patches/glibc/ports-2.14.1/220-section-comments.patch
+++ b/packages/glibc-ports/2.14/220-section-comments.patch
diff --git a/patches/glibc/ports-2.14.1/230-no-inline-gmon.patch b/packages/glibc-ports/2.14/230-no-inline-gmon.patch
index fa33c2b..fa33c2b 100644
--- a/patches/glibc/ports-2.14.1/230-no-inline-gmon.patch
+++ b/packages/glibc-ports/2.14/230-no-inline-gmon.patch
diff --git a/patches/glibc/ports-2.13/240-check_native-headers.patch b/packages/glibc-ports/2.14/240-check_native-headers.patch
index c936f71..c936f71 100644
--- a/patches/glibc/ports-2.13/240-check_native-headers.patch
+++ b/packages/glibc-ports/2.14/240-check_native-headers.patch
diff --git a/patches/glibc/ports-2.14.1/260-assume-pipe2.patch b/packages/glibc-ports/2.14/260-assume-pipe2.patch
index 42e8f4e..42e8f4e 100644
--- a/patches/glibc/ports-2.14.1/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.14/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.14/270-china.patch b/packages/glibc-ports/2.14/270-china.patch
index 41d7759..41d7759 100644
--- a/patches/glibc/ports-2.14/270-china.patch
+++ b/packages/glibc-ports/2.14/270-china.patch
diff --git a/patches/glibc/ports-2.14/280-new-valencian-locale.patch b/packages/glibc-ports/2.14/280-new-valencian-locale.patch
index 4cdd108..4cdd108 100644
--- a/patches/glibc/ports-2.14/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.14/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.14.1/300-nscd-one-fork.patch b/packages/glibc-ports/2.14/300-nscd-one-fork.patch
index adc9b3f..adc9b3f 100644
--- a/patches/glibc/ports-2.14.1/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.14/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.14.1/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.14/310-hppa-nptl-carlos.patch
index 4c028b2..4c028b2 100644
--- a/patches/glibc/ports-2.14.1/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.14/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.14/330-m68k-sys-user.patch b/packages/glibc-ports/2.14/330-m68k-sys-user.patch
index 28bcb11..28bcb11 100644
--- a/patches/glibc/ports-2.14/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.14/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.14/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.14/340-dl_execstack-PaX-support.patch
index 2402af0..2402af0 100644
--- a/patches/glibc/ports-2.14/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.14/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.14/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.14/350-pre20040117-pt_pax.patch
index f8f6b83..f8f6b83 100644
--- a/patches/glibc/ports-2.14/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.14/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.14/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.14/360-tests-sandbox-libdl-paths.patch
index 9f78c52..9f78c52 100644
--- a/patches/glibc/ports-2.14/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.14/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.14/380-dont-build-timezone.patch b/packages/glibc-ports/2.14/380-dont-build-timezone.patch
index 11c358e..11c358e 100644
--- a/patches/glibc/ports-2.14/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.14/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.14/400-alpha-xstat.patch b/packages/glibc-ports/2.14/400-alpha-xstat.patch
index 6e4ab8f..6e4ab8f 100644
--- a/patches/glibc/ports-2.14/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.14/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.14/430-alpha-creat.patch b/packages/glibc-ports/2.14/430-alpha-creat.patch
index da6ddda..da6ddda 100644
--- a/patches/glibc/ports-2.14/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.14/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.14/440-alpha-cache-shape.patch b/packages/glibc-ports/2.14/440-alpha-cache-shape.patch
index def0181..def0181 100644
--- a/patches/glibc/ports-2.14/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.14/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.14/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.14/460-alpha-fix-gcc-4.1-warnings.patch
index 1569ce4..1569ce4 100644
--- a/patches/glibc/ports-2.14/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.14/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.14/490-alpha_alpha-add-fdatasync-support.patch
index 372f34c..372f34c 100644
--- a/patches/glibc/ports-2.13/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.14/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.14/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.14/530-alpha-fix-rtld-fPIC.patch
index 3560e2a..3560e2a 100644
--- a/patches/glibc/ports-2.14/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.14/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.14/560-ppc-atomic.patch b/packages/glibc-ports/2.14/560-ppc-atomic.patch
index ee1cb90..ee1cb90 100644
--- a/patches/glibc/ports-2.14/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.14/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/packages/glibc-ports/2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
index b297ff0..b297ff0 100644
--- a/patches/glibc/ports-2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
+++ b/packages/glibc-ports/2.14/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
diff --git a/patches/glibc/ports-2.14/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.14/580-nptl-lowlevellock.patch
index a2a141c..a2a141c 100644
--- a/patches/glibc/ports-2.14/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.14/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.14/610-fpu-cw-mips.patch b/packages/glibc-ports/2.14/610-fpu-cw-mips.patch
index c624565..c624565 100644
--- a/patches/glibc/ports-2.14/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.14/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.14/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.14/630-mips_shn_undef-hack.patch
index 791d76c..791d76c 100644
--- a/patches/glibc/ports-2.14/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.14/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.14/640-alpha-atfcts.patch b/packages/glibc-ports/2.14/640-alpha-atfcts.patch
index 7a8a94a..7a8a94a 100644
--- a/patches/glibc/ports-2.14/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.14/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.14.1/650-syslog.patch b/packages/glibc-ports/2.14/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.14.1/650-syslog.patch
+++ b/packages/glibc-ports/2.14/650-syslog.patch
diff --git a/patches/glibc/ports-2.14.1/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.14/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.14.1/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.14/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/packages/glibc-ports/2.14/version.desc b/packages/glibc-ports/2.14/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.14/version.desc
diff --git a/patches/glibc/ports-2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.15/090-Fix-ARM-build-with-GCC-trunk.patch
index 1a632fe..1a632fe 100644
--- a/patches/glibc/ports-2.12.1/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.15/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.15/091-libmemusage-link-failure.patch b/packages/glibc-ports/2.15/091-libmemusage-link-failure.patch
index 9f9887c..9f9887c 100644
--- a/patches/glibc/ports-2.15/091-libmemusage-link-failure.patch
+++ b/packages/glibc-ports/2.15/091-libmemusage-link-failure.patch
diff --git a/patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.15/100-respect-env-CPPFLAGS.patch
index 3798cb2..3798cb2 100644
--- a/patches/glibc/ports-2.13/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.15/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.14.1/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.15/120-i386-x86_64-revert-clone-cfi.patch
index c7f6182..c7f6182 100644
--- a/patches/glibc/ports-2.14.1/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.15/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.14.1/140-disable-ldconfig.patch b/packages/glibc-ports/2.15/140-disable-ldconfig.patch
index 378e1df..378e1df 100644
--- a/patches/glibc/ports-2.14.1/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.15/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.14.1/150-queue-header-updates.patch b/packages/glibc-ports/2.15/150-queue-header-updates.patch
index 7cbe70e..7cbe70e 100644
--- a/patches/glibc/ports-2.14.1/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.15/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.13/160-manual-no-perl.patch b/packages/glibc-ports/2.15/160-manual-no-perl.patch
index 5e2b807..5e2b807 100644
--- a/patches/glibc/ports-2.13/160-manual-no-perl.patch
+++ b/packages/glibc-ports/2.15/160-manual-no-perl.patch
diff --git a/patches/glibc/ports-2.14.1/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.15/170-localedef-fix-trampoline.patch
index 3cc6559..3cc6559 100644
--- a/patches/glibc/ports-2.14.1/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.15/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.14.1/180-resolv-dynamic.patch b/packages/glibc-ports/2.15/180-resolv-dynamic.patch
index e916bce..e916bce 100644
--- a/patches/glibc/ports-2.14.1/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.15/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.14.1/200-fadvise64_64.patch b/packages/glibc-ports/2.15/200-fadvise64_64.patch
index 71bca38..71bca38 100644
--- a/patches/glibc/ports-2.14.1/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.15/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.13/220-section-comments.patch b/packages/glibc-ports/2.15/220-section-comments.patch
index d717829..d717829 100644
--- a/patches/glibc/ports-2.13/220-section-comments.patch
+++ b/packages/glibc-ports/2.15/220-section-comments.patch
diff --git a/patches/glibc/ports-2.13/230-no-inline-gmon.patch b/packages/glibc-ports/2.15/230-no-inline-gmon.patch
index fa33c2b..fa33c2b 100644
--- a/patches/glibc/ports-2.13/230-no-inline-gmon.patch
+++ b/packages/glibc-ports/2.15/230-no-inline-gmon.patch
diff --git a/patches/glibc/ports-2.13/260-assume-pipe2.patch b/packages/glibc-ports/2.15/260-assume-pipe2.patch
index 42e8f4e..42e8f4e 100644
--- a/patches/glibc/ports-2.13/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.15/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.14.1/270-china.patch b/packages/glibc-ports/2.15/270-china.patch
index 41d7759..41d7759 100644
--- a/patches/glibc/ports-2.14.1/270-china.patch
+++ b/packages/glibc-ports/2.15/270-china.patch
diff --git a/patches/glibc/ports-2.14.1/280-new-valencian-locale.patch b/packages/glibc-ports/2.15/280-new-valencian-locale.patch
index 4cdd108..4cdd108 100644
--- a/patches/glibc/ports-2.14.1/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.15/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.13/300-nscd-one-fork.patch b/packages/glibc-ports/2.15/300-nscd-one-fork.patch
index adc9b3f..adc9b3f 100644
--- a/patches/glibc/ports-2.13/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.15/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.15/310-hppa-nptl-carlos.patch
index 4c028b2..4c028b2 100644
--- a/patches/glibc/ports-2.13/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.15/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.15/330-m68k-sys-user.patch b/packages/glibc-ports/2.15/330-m68k-sys-user.patch
index faee18f..faee18f 100644
--- a/patches/glibc/ports-2.15/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.15/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.14.1/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.15/340-dl_execstack-PaX-support.patch
index 2402af0..2402af0 100644
--- a/patches/glibc/ports-2.14.1/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.15/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.14.1/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.15/350-pre20040117-pt_pax.patch
index f8f6b83..f8f6b83 100644
--- a/patches/glibc/ports-2.14.1/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.15/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.14.1/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.15/360-tests-sandbox-libdl-paths.patch
index 9f78c52..9f78c52 100644
--- a/patches/glibc/ports-2.14.1/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.15/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.14.1/380-dont-build-timezone.patch b/packages/glibc-ports/2.15/380-dont-build-timezone.patch
index 11c358e..11c358e 100644
--- a/patches/glibc/ports-2.14.1/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.15/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.14.1/400-alpha-xstat.patch b/packages/glibc-ports/2.15/400-alpha-xstat.patch
index 6e4ab8f..6e4ab8f 100644
--- a/patches/glibc/ports-2.14.1/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.15/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.14.1/430-alpha-creat.patch b/packages/glibc-ports/2.15/430-alpha-creat.patch
index da6ddda..da6ddda 100644
--- a/patches/glibc/ports-2.14.1/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.15/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.15/440-alpha-cache-shape.patch b/packages/glibc-ports/2.15/440-alpha-cache-shape.patch
index b3158da..b3158da 100644
--- a/patches/glibc/ports-2.15/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.15/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.15/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.15/460-alpha-fix-gcc-4.1-warnings.patch
index a54d823..a54d823 100644
--- a/patches/glibc/ports-2.15/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.15/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.16.0/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.15/490-alpha_alpha-add-fdatasync-support.patch
index acf250d..acf250d 100644
--- a/patches/glibc/ports-2.16.0/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.15/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.15/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.15/530-alpha-fix-rtld-fPIC.patch
index 800a789..800a789 100644
--- a/patches/glibc/ports-2.15/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.15/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.14.1/560-ppc-atomic.patch b/packages/glibc-ports/2.15/560-ppc-atomic.patch
index ee1cb90..ee1cb90 100644
--- a/patches/glibc/ports-2.14.1/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.15/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch b/packages/glibc-ports/2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
index 8a05574..8a05574 100644
--- a/patches/glibc/ports-2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
+++ b/packages/glibc-ports/2.15/570-arm-cirrus-ep93xx-maverick-crunch-fpu.patch
diff --git a/patches/glibc/ports-2.15/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.15/580-nptl-lowlevellock.patch
index a39e463..a39e463 100644
--- a/patches/glibc/ports-2.15/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.15/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.15/610-fpu-cw-mips.patch b/packages/glibc-ports/2.15/610-fpu-cw-mips.patch
index 8692a1f..8692a1f 100644
--- a/patches/glibc/ports-2.15/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.15/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.14.1/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.15/630-mips_shn_undef-hack.patch
index 791d76c..791d76c 100644
--- a/patches/glibc/ports-2.14.1/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.15/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.14.1/640-alpha-atfcts.patch b/packages/glibc-ports/2.15/640-alpha-atfcts.patch
index 7a8a94a..7a8a94a 100644
--- a/patches/glibc/ports-2.14.1/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.15/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.13/650-syslog.patch b/packages/glibc-ports/2.15/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.13/650-syslog.patch
+++ b/packages/glibc-ports/2.15/650-syslog.patch
diff --git a/patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.15/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.13/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.15/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/packages/glibc-ports/2.15/version.desc b/packages/glibc-ports/2.15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.15/version.desc
diff --git a/patches/glibc/ports-2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc-ports/2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch
index 59f95aa..59f95aa 100644
--- a/patches/glibc/ports-2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc-ports/2.16.0/090-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/ports-2.16.0/100-respect-env-CPPFLAGS.patch b/packages/glibc-ports/2.16.0/100-respect-env-CPPFLAGS.patch
index dce491c..dce491c 100644
--- a/patches/glibc/ports-2.16.0/100-respect-env-CPPFLAGS.patch
+++ b/packages/glibc-ports/2.16.0/100-respect-env-CPPFLAGS.patch
diff --git a/patches/glibc/ports-2.13/120-i386-x86_64-revert-clone-cfi.patch b/packages/glibc-ports/2.16.0/120-i386-x86_64-revert-clone-cfi.patch
index c7f6182..c7f6182 100644
--- a/patches/glibc/ports-2.13/120-i386-x86_64-revert-clone-cfi.patch
+++ b/packages/glibc-ports/2.16.0/120-i386-x86_64-revert-clone-cfi.patch
diff --git a/patches/glibc/ports-2.13/140-disable-ldconfig.patch b/packages/glibc-ports/2.16.0/140-disable-ldconfig.patch
index 378e1df..378e1df 100644
--- a/patches/glibc/ports-2.13/140-disable-ldconfig.patch
+++ b/packages/glibc-ports/2.16.0/140-disable-ldconfig.patch
diff --git a/patches/glibc/ports-2.13/150-queue-header-updates.patch b/packages/glibc-ports/2.16.0/150-queue-header-updates.patch
index 7cbe70e..7cbe70e 100644
--- a/patches/glibc/ports-2.13/150-queue-header-updates.patch
+++ b/packages/glibc-ports/2.16.0/150-queue-header-updates.patch
diff --git a/patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch b/packages/glibc-ports/2.16.0/170-localedef-fix-trampoline.patch
index 3cc6559..3cc6559 100644
--- a/patches/glibc/ports-2.13/170-localedef-fix-trampoline.patch
+++ b/packages/glibc-ports/2.16.0/170-localedef-fix-trampoline.patch
diff --git a/patches/glibc/ports-2.13/180-resolv-dynamic.patch b/packages/glibc-ports/2.16.0/180-resolv-dynamic.patch
index e916bce..e916bce 100644
--- a/patches/glibc/ports-2.13/180-resolv-dynamic.patch
+++ b/packages/glibc-ports/2.16.0/180-resolv-dynamic.patch
diff --git a/patches/glibc/ports-2.13/200-fadvise64_64.patch b/packages/glibc-ports/2.16.0/200-fadvise64_64.patch
index 71bca38..71bca38 100644
--- a/patches/glibc/ports-2.13/200-fadvise64_64.patch
+++ b/packages/glibc-ports/2.16.0/200-fadvise64_64.patch
diff --git a/patches/glibc/ports-2.16.0/260-assume-pipe2.patch b/packages/glibc-ports/2.16.0/260-assume-pipe2.patch
index 54f0382..54f0382 100644
--- a/patches/glibc/ports-2.16.0/260-assume-pipe2.patch
+++ b/packages/glibc-ports/2.16.0/260-assume-pipe2.patch
diff --git a/patches/glibc/ports-2.13/270-china.patch b/packages/glibc-ports/2.16.0/270-china.patch
index 41d7759..41d7759 100644
--- a/patches/glibc/ports-2.13/270-china.patch
+++ b/packages/glibc-ports/2.16.0/270-china.patch
diff --git a/patches/glibc/ports-2.13/280-new-valencian-locale.patch b/packages/glibc-ports/2.16.0/280-new-valencian-locale.patch
index 4cdd108..4cdd108 100644
--- a/patches/glibc/ports-2.13/280-new-valencian-locale.patch
+++ b/packages/glibc-ports/2.16.0/280-new-valencian-locale.patch
diff --git a/patches/glibc/ports-2.16.0/300-nscd-one-fork.patch b/packages/glibc-ports/2.16.0/300-nscd-one-fork.patch
index 13b2861..13b2861 100644
--- a/patches/glibc/ports-2.16.0/300-nscd-one-fork.patch
+++ b/packages/glibc-ports/2.16.0/300-nscd-one-fork.patch
diff --git a/patches/glibc/ports-2.16.0/310-hppa-nptl-carlos.patch b/packages/glibc-ports/2.16.0/310-hppa-nptl-carlos.patch
index 11e8a65..11e8a65 100644
--- a/patches/glibc/ports-2.16.0/310-hppa-nptl-carlos.patch
+++ b/packages/glibc-ports/2.16.0/310-hppa-nptl-carlos.patch
diff --git a/patches/glibc/ports-2.16.0/330-m68k-sys-user.patch b/packages/glibc-ports/2.16.0/330-m68k-sys-user.patch
index f113996..f113996 100644
--- a/patches/glibc/ports-2.16.0/330-m68k-sys-user.patch
+++ b/packages/glibc-ports/2.16.0/330-m68k-sys-user.patch
diff --git a/patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch b/packages/glibc-ports/2.16.0/340-dl_execstack-PaX-support.patch
index 2402af0..2402af0 100644
--- a/patches/glibc/ports-2.13/340-dl_execstack-PaX-support.patch
+++ b/packages/glibc-ports/2.16.0/340-dl_execstack-PaX-support.patch
diff --git a/patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch b/packages/glibc-ports/2.16.0/350-pre20040117-pt_pax.patch
index f8f6b83..f8f6b83 100644
--- a/patches/glibc/ports-2.13/350-pre20040117-pt_pax.patch
+++ b/packages/glibc-ports/2.16.0/350-pre20040117-pt_pax.patch
diff --git a/patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch b/packages/glibc-ports/2.16.0/360-tests-sandbox-libdl-paths.patch
index 9f78c52..9f78c52 100644
--- a/patches/glibc/ports-2.13/360-tests-sandbox-libdl-paths.patch
+++ b/packages/glibc-ports/2.16.0/360-tests-sandbox-libdl-paths.patch
diff --git a/patches/glibc/ports-2.13/380-dont-build-timezone.patch b/packages/glibc-ports/2.16.0/380-dont-build-timezone.patch
index 11c358e..11c358e 100644
--- a/patches/glibc/ports-2.13/380-dont-build-timezone.patch
+++ b/packages/glibc-ports/2.16.0/380-dont-build-timezone.patch
diff --git a/patches/glibc/ports-2.13/400-alpha-xstat.patch b/packages/glibc-ports/2.16.0/400-alpha-xstat.patch
index 6e4ab8f..6e4ab8f 100644
--- a/patches/glibc/ports-2.13/400-alpha-xstat.patch
+++ b/packages/glibc-ports/2.16.0/400-alpha-xstat.patch
diff --git a/patches/glibc/ports-2.13/430-alpha-creat.patch b/packages/glibc-ports/2.16.0/430-alpha-creat.patch
index da6ddda..da6ddda 100644
--- a/patches/glibc/ports-2.13/430-alpha-creat.patch
+++ b/packages/glibc-ports/2.16.0/430-alpha-creat.patch
diff --git a/patches/glibc/ports-2.16.0/440-alpha-cache-shape.patch b/packages/glibc-ports/2.16.0/440-alpha-cache-shape.patch
index 5b1a298..5b1a298 100644
--- a/patches/glibc/ports-2.16.0/440-alpha-cache-shape.patch
+++ b/packages/glibc-ports/2.16.0/440-alpha-cache-shape.patch
diff --git a/patches/glibc/ports-2.16.0/460-alpha-fix-gcc-4.1-warnings.patch b/packages/glibc-ports/2.16.0/460-alpha-fix-gcc-4.1-warnings.patch
index f2ff04f..f2ff04f 100644
--- a/patches/glibc/ports-2.16.0/460-alpha-fix-gcc-4.1-warnings.patch
+++ b/packages/glibc-ports/2.16.0/460-alpha-fix-gcc-4.1-warnings.patch
diff --git a/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch b/packages/glibc-ports/2.16.0/490-alpha_alpha-add-fdatasync-support.patch
index acf250d..acf250d 100644
--- a/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch
+++ b/packages/glibc-ports/2.16.0/490-alpha_alpha-add-fdatasync-support.patch
diff --git a/patches/glibc/ports-2.16.0/530-alpha-fix-rtld-fPIC.patch b/packages/glibc-ports/2.16.0/530-alpha-fix-rtld-fPIC.patch
index 42faaa5..42faaa5 100644
--- a/patches/glibc/ports-2.16.0/530-alpha-fix-rtld-fPIC.patch
+++ b/packages/glibc-ports/2.16.0/530-alpha-fix-rtld-fPIC.patch
diff --git a/patches/glibc/ports-2.13/560-ppc-atomic.patch b/packages/glibc-ports/2.16.0/560-ppc-atomic.patch
index ee1cb90..ee1cb90 100644
--- a/patches/glibc/ports-2.13/560-ppc-atomic.patch
+++ b/packages/glibc-ports/2.16.0/560-ppc-atomic.patch
diff --git a/patches/glibc/ports-2.16.0/580-nptl-lowlevellock.patch b/packages/glibc-ports/2.16.0/580-nptl-lowlevellock.patch
index 185331c..185331c 100644
--- a/patches/glibc/ports-2.16.0/580-nptl-lowlevellock.patch
+++ b/packages/glibc-ports/2.16.0/580-nptl-lowlevellock.patch
diff --git a/patches/glibc/ports-2.16.0/610-fpu-cw-mips.patch b/packages/glibc-ports/2.16.0/610-fpu-cw-mips.patch
index 0c0daf3..0c0daf3 100644
--- a/patches/glibc/ports-2.16.0/610-fpu-cw-mips.patch
+++ b/packages/glibc-ports/2.16.0/610-fpu-cw-mips.patch
diff --git a/patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch b/packages/glibc-ports/2.16.0/630-mips_shn_undef-hack.patch
index 791d76c..791d76c 100644
--- a/patches/glibc/ports-2.13/630-mips_shn_undef-hack.patch
+++ b/packages/glibc-ports/2.16.0/630-mips_shn_undef-hack.patch
diff --git a/patches/glibc/ports-2.13/640-alpha-atfcts.patch b/packages/glibc-ports/2.16.0/640-alpha-atfcts.patch
index 7a8a94a..7a8a94a 100644
--- a/patches/glibc/ports-2.13/640-alpha-atfcts.patch
+++ b/packages/glibc-ports/2.16.0/640-alpha-atfcts.patch
diff --git a/patches/glibc/ports-2.12.1/650-syslog.patch b/packages/glibc-ports/2.16.0/650-syslog.patch
index c20cafc..c20cafc 100644
--- a/patches/glibc/ports-2.12.1/650-syslog.patch
+++ b/packages/glibc-ports/2.16.0/650-syslog.patch
diff --git a/patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch b/packages/glibc-ports/2.16.0/660-debug-readlink_chk-readklinkat_chk.patch
index a5a7052..a5a7052 100644
--- a/patches/glibc/ports-2.12.1/660-debug-readlink_chk-readklinkat_chk.patch
+++ b/packages/glibc-ports/2.16.0/660-debug-readlink_chk-readklinkat_chk.patch
diff --git a/packages/glibc-ports/2.16.0/version.desc b/packages/glibc-ports/2.16.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc-ports/2.16.0/version.desc
diff --git a/packages/glibc-ports/package.desc b/packages/glibc-ports/package.desc
new file mode 100644
index 0000000..4f7e7ac
--- /dev/null
+++ b/packages/glibc-ports/package.desc
@@ -0,0 +1,8 @@
+# This is not a true package, but rather a part of glibc. When
+# the ports were an external add-on, it used a separate repository
+# and separate tarballs.
+repository='git git://sourceware.org/git/glibc-ports.git'
+mirrors='$(CT_Mirrors GNU glibc) $(CT_Mirrors sourceware glibc/releases)'
+
+# Version of this package must be the same as the glibc's
+versionlocked='glibc'
diff --git a/patches/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.22/102-fix-signed-shift-overlow.patch b/packages/glibc/2.12.1/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.22/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.12.1/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.14/104-unused-variables.patch b/packages/glibc/2.12.1/104-unused-variables.patch
index e063675..e063675 100644
--- a/patches/glibc/2.14/104-unused-variables.patch
+++ b/packages/glibc/2.12.1/104-unused-variables.patch
diff --git a/patches/glibc/2.22/105-misleading-indentation.patch b/packages/glibc/2.12.1/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.22/105-misleading-indentation.patch
+++ b/packages/glibc/2.12.1/105-misleading-indentation.patch
diff --git a/patches/glibc/2.15/106-dl-open-array-bounds.patch b/packages/glibc/2.12.1/106-dl-open-array-bounds.patch
index bdb5c19..bdb5c19 100644
--- a/patches/glibc/2.15/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.12.1/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch
index 530d4ff..530d4ff 100644
--- a/patches/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.18/300-macos-cross-rpcgen.patch b/packages/glibc/2.12.1/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.18/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.12.1/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.13/900-march-i686.patch b/packages/glibc/2.12.1/900-march-i686.patch
index 7f5b1ce..7f5b1ce 100644
--- a/patches/glibc/2.13/900-march-i686.patch
+++ b/packages/glibc/2.12.1/900-march-i686.patch
diff --git a/patches/glibc/2.19/910-typedef-caddr.patch b/packages/glibc/2.12.1/910-typedef-caddr.patch
index e29e810..e29e810 100644
--- a/patches/glibc/2.19/910-typedef-caddr.patch
+++ b/packages/glibc/2.12.1/910-typedef-caddr.patch
diff --git a/patches/glibc/2.24/920-fix-rpc_parse-format.patch b/packages/glibc/2.12.1/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.24/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.12.1/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.12.1/920-make-382.patch b/packages/glibc/2.12.1/920-make-382.patch
index 28be2fe..28be2fe 100644
--- a/patches/glibc/2.12.1/920-make-382.patch
+++ b/packages/glibc/2.12.1/920-make-382.patch
diff --git a/patches/glibc/2.24/940-nis-bogus-conditional.patch b/packages/glibc/2.12.1/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.24/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.12.1/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.12.1/999-new-tools.patch b/packages/glibc/2.12.1/999-new-tools.patch
index d600b58..d600b58 100644
--- a/patches/glibc/2.12.1/999-new-tools.patch
+++ b/packages/glibc/2.12.1/999-new-tools.patch
diff --git a/packages/glibc/2.12.1/version.desc b/packages/glibc/2.12.1/version.desc
new file mode 100644
index 0000000..fb988b5
--- /dev/null
+++ b/packages/glibc/2.12.1/version.desc
@@ -0,0 +1 @@
+# Not obsolete (CentOS 6, EOL 11/2020)
diff --git a/patches/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch
index 530d4ff..530d4ff 100644
--- a/patches/glibc/2.12.1/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.12.2/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.17/300-macos-cross-rpcgen.patch b/packages/glibc/2.12.2/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.17/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.12.2/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.12.2/900-march-i686.patch b/packages/glibc/2.12.2/900-march-i686.patch
index 6030de9..6030de9 100644
--- a/patches/glibc/2.12.2/900-march-i686.patch
+++ b/packages/glibc/2.12.2/900-march-i686.patch
diff --git a/patches/glibc/2.12.2/910-typedef-caddr.patch b/packages/glibc/2.12.2/910-typedef-caddr.patch
index 4bc75cb..4bc75cb 100644
--- a/patches/glibc/2.12.2/910-typedef-caddr.patch
+++ b/packages/glibc/2.12.2/910-typedef-caddr.patch
diff --git a/patches/glibc/2.23/920-fix-rpc_parse-format.patch b/packages/glibc/2.12.2/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.23/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.12.2/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.23/940-nis-bogus-conditional.patch b/packages/glibc/2.12.2/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.23/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.12.2/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.12.2/999-new-tools.patch b/packages/glibc/2.12.2/999-new-tools.patch
index e2f7b1d..e2f7b1d 100644
--- a/patches/glibc/2.12.2/999-new-tools.patch
+++ b/packages/glibc/2.12.2/999-new-tools.patch
diff --git a/packages/glibc/2.12.2/version.desc b/packages/glibc/2.12.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.12.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.21/102-fix-signed-shift-overlow.patch b/packages/glibc/2.13/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.21/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.13/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.14.1/104-unused-variables.patch b/packages/glibc/2.13/104-unused-variables.patch
index e063675..e063675 100644
--- a/patches/glibc/2.14.1/104-unused-variables.patch
+++ b/packages/glibc/2.13/104-unused-variables.patch
diff --git a/patches/glibc/2.21/105-misleading-indentation.patch b/packages/glibc/2.13/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.21/105-misleading-indentation.patch
+++ b/packages/glibc/2.13/105-misleading-indentation.patch
diff --git a/patches/glibc/2.14/106-dl-open-array-bounds.patch b/packages/glibc/2.13/106-dl-open-array-bounds.patch
index bdb5c19..bdb5c19 100644
--- a/patches/glibc/2.14/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.13/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch
index da21d9e..da21d9e 100644
--- a/patches/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.13/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.16.0/300-macos-cross-rpcgen.patch b/packages/glibc/2.13/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.16.0/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.13/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.12.1/900-march-i686.patch b/packages/glibc/2.13/900-march-i686.patch
index 7f5b1ce..7f5b1ce 100644
--- a/patches/glibc/2.12.1/900-march-i686.patch
+++ b/packages/glibc/2.13/900-march-i686.patch
diff --git a/patches/glibc/2.13/910-typedef-caddr.patch b/packages/glibc/2.13/910-typedef-caddr.patch
index e29e810..e29e810 100644
--- a/patches/glibc/2.13/910-typedef-caddr.patch
+++ b/packages/glibc/2.13/910-typedef-caddr.patch
diff --git a/patches/glibc/2.22/920-fix-rpc_parse-format.patch b/packages/glibc/2.13/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.22/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.13/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.22/940-nis-bogus-conditional.patch b/packages/glibc/2.13/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.22/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.13/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.14/950-initfini-ppc64.patch b/packages/glibc/2.13/950-initfini-ppc64.patch
index 87f8d23..87f8d23 100644
--- a/patches/glibc/2.14/950-initfini-ppc64.patch
+++ b/packages/glibc/2.13/950-initfini-ppc64.patch
diff --git a/patches/glibc/2.13/999-new-tools.patch b/packages/glibc/2.13/999-new-tools.patch
index d2d498a..d2d498a 100644
--- a/patches/glibc/2.13/999-new-tools.patch
+++ b/packages/glibc/2.13/999-new-tools.patch
diff --git a/packages/glibc/2.13/version.desc b/packages/glibc/2.13/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.13/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.20/102-fix-signed-shift-overlow.patch b/packages/glibc/2.14.1/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.20/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.14.1/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.21/103-dl-openat64-variadic.patch b/packages/glibc/2.14.1/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.21/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.14.1/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.13/104-unused-variables.patch b/packages/glibc/2.14.1/104-unused-variables.patch
index e063675..e063675 100644
--- a/patches/glibc/2.13/104-unused-variables.patch
+++ b/packages/glibc/2.14.1/104-unused-variables.patch
diff --git a/patches/glibc/2.20/105-misleading-indentation.patch b/packages/glibc/2.14.1/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.20/105-misleading-indentation.patch
+++ b/packages/glibc/2.14.1/105-misleading-indentation.patch
diff --git a/patches/glibc/2.14.1/106-dl-open-array-bounds.patch b/packages/glibc/2.14.1/106-dl-open-array-bounds.patch
index bdb5c19..bdb5c19 100644
--- a/patches/glibc/2.14.1/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.14.1/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch
index d720d39..d720d39 100644
--- a/patches/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.15/300-macos-cross-rpcgen.patch b/packages/glibc/2.14.1/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.15/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.14.1/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.14/900-cpuid-include.patch b/packages/glibc/2.14.1/900-cpuid-include.patch
index 0b8db71..0b8db71 100644
--- a/patches/glibc/2.14/900-cpuid-include.patch
+++ b/packages/glibc/2.14.1/900-cpuid-include.patch
diff --git a/patches/glibc/2.15/910-asm-i686.patch b/packages/glibc/2.14.1/910-asm-i686.patch
index b049887..b049887 100644
--- a/patches/glibc/2.15/910-asm-i686.patch
+++ b/packages/glibc/2.14.1/910-asm-i686.patch
diff --git a/patches/glibc/2.21/920-fix-rpc_parse-format.patch b/packages/glibc/2.14.1/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.21/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.14.1/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.21/940-nis-bogus-conditional.patch b/packages/glibc/2.14.1/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.21/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.14.1/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.14.1/950-initfini-ppc64.patch b/packages/glibc/2.14.1/950-initfini-ppc64.patch
index 87f8d23..87f8d23 100644
--- a/patches/glibc/2.14.1/950-initfini-ppc64.patch
+++ b/packages/glibc/2.14.1/950-initfini-ppc64.patch
diff --git a/patches/glibc/2.14.1/999-new-tools.patch b/packages/glibc/2.14.1/999-new-tools.patch
index f335a54..f335a54 100644
--- a/patches/glibc/2.14.1/999-new-tools.patch
+++ b/packages/glibc/2.14.1/999-new-tools.patch
diff --git a/packages/glibc/2.14.1/version.desc b/packages/glibc/2.14.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.14.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.19/102-fix-signed-shift-overlow.patch b/packages/glibc/2.14/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.19/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.14/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.20/103-dl-openat64-variadic.patch b/packages/glibc/2.14/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.20/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.14/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.12.1/104-unused-variables.patch b/packages/glibc/2.14/104-unused-variables.patch
index e063675..e063675 100644
--- a/patches/glibc/2.12.1/104-unused-variables.patch
+++ b/packages/glibc/2.14/104-unused-variables.patch
diff --git a/patches/glibc/2.19/105-misleading-indentation.patch b/packages/glibc/2.14/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.19/105-misleading-indentation.patch
+++ b/packages/glibc/2.14/105-misleading-indentation.patch
diff --git a/patches/glibc/2.13/106-dl-open-array-bounds.patch b/packages/glibc/2.14/106-dl-open-array-bounds.patch
index bdb5c19..bdb5c19 100644
--- a/patches/glibc/2.13/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.14/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch
index d720d39..d720d39 100644
--- a/patches/glibc/2.14.1/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.14/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.14/300-macos-cross-rpcgen.patch b/packages/glibc/2.14/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.14/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.14/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.14.1/900-cpuid-include.patch b/packages/glibc/2.14/900-cpuid-include.patch
index 0b8db71..0b8db71 100644
--- a/patches/glibc/2.14.1/900-cpuid-include.patch
+++ b/packages/glibc/2.14/900-cpuid-include.patch
diff --git a/patches/glibc/2.20/920-fix-rpc_parse-format.patch b/packages/glibc/2.14/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.20/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.14/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.20/940-nis-bogus-conditional.patch b/packages/glibc/2.14/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.20/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.14/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.13/950-initfini-ppc64.patch b/packages/glibc/2.14/950-initfini-ppc64.patch
index 87f8d23..87f8d23 100644
--- a/patches/glibc/2.13/950-initfini-ppc64.patch
+++ b/packages/glibc/2.14/950-initfini-ppc64.patch
diff --git a/patches/glibc/2.14/999-new-tools.patch b/packages/glibc/2.14/999-new-tools.patch
index 7d115fd..7d115fd 100644
--- a/patches/glibc/2.14/999-new-tools.patch
+++ b/packages/glibc/2.14/999-new-tools.patch
diff --git a/packages/glibc/2.14/version.desc b/packages/glibc/2.14/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.14/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.18/102-fix-signed-shift-overlow.patch b/packages/glibc/2.15/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.18/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.15/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.19/103-dl-openat64-variadic.patch b/packages/glibc/2.15/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.19/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.15/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.15/104-unused-variables.patch b/packages/glibc/2.15/104-unused-variables.patch
index 63e4a40..63e4a40 100644
--- a/patches/glibc/2.15/104-unused-variables.patch
+++ b/packages/glibc/2.15/104-unused-variables.patch
diff --git a/patches/glibc/2.18/105-misleading-indentation.patch b/packages/glibc/2.15/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.18/105-misleading-indentation.patch
+++ b/packages/glibc/2.15/105-misleading-indentation.patch
diff --git a/patches/glibc/2.12.1/106-dl-open-array-bounds.patch b/packages/glibc/2.15/106-dl-open-array-bounds.patch
index bdb5c19..bdb5c19 100644
--- a/patches/glibc/2.12.1/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.15/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch
index c36cdf4..c36cdf4 100644
--- a/patches/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.15/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.14.1/300-macos-cross-rpcgen.patch b/packages/glibc/2.15/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.14.1/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.15/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.15/900-cpuid-include.patch b/packages/glibc/2.15/900-cpuid-include.patch
index 29edf7b..29edf7b 100644
--- a/patches/glibc/2.15/900-cpuid-include.patch
+++ b/packages/glibc/2.15/900-cpuid-include.patch
diff --git a/patches/glibc/2.14.1/910-asm-i686.patch b/packages/glibc/2.15/910-asm-i686.patch
index b049887..b049887 100644
--- a/patches/glibc/2.14.1/910-asm-i686.patch
+++ b/packages/glibc/2.15/910-asm-i686.patch
diff --git a/patches/glibc/2.19/920-fix-rpc_parse-format.patch b/packages/glibc/2.15/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.19/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.15/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.19/940-nis-bogus-conditional.patch b/packages/glibc/2.15/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.19/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.15/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.15/990-try-link-static.patch b/packages/glibc/2.15/990-try-link-static.patch
index a0ffadd..a0ffadd 100644
--- a/patches/glibc/2.15/990-try-link-static.patch
+++ b/packages/glibc/2.15/990-try-link-static.patch
diff --git a/patches/glibc/2.15/991-builtin_expect.patch b/packages/glibc/2.15/991-builtin_expect.patch
index 8a327fa..8a327fa 100644
--- a/patches/glibc/2.15/991-builtin_expect.patch
+++ b/packages/glibc/2.15/991-builtin_expect.patch
diff --git a/patches/glibc/2.15/992-gcc_s-suffix.patch b/packages/glibc/2.15/992-gcc_s-suffix.patch
index 6dbc70f..6dbc70f 100644
--- a/patches/glibc/2.15/992-gcc_s-suffix.patch
+++ b/packages/glibc/2.15/992-gcc_s-suffix.patch
diff --git a/patches/glibc/2.15/999-new-tools.patch b/packages/glibc/2.15/999-new-tools.patch
index e0632a3..e0632a3 100644
--- a/patches/glibc/2.15/999-new-tools.patch
+++ b/packages/glibc/2.15/999-new-tools.patch
diff --git a/packages/glibc/2.15/version.desc b/packages/glibc/2.15/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.15/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.17/102-fix-signed-shift-overlow.patch b/packages/glibc/2.16.0/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.17/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.16.0/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.18/103-dl-openat64-variadic.patch b/packages/glibc/2.16.0/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.18/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.16.0/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.16.0/104-unused-variables.patch b/packages/glibc/2.16.0/104-unused-variables.patch
index 2a85a0c..2a85a0c 100644
--- a/patches/glibc/2.16.0/104-unused-variables.patch
+++ b/packages/glibc/2.16.0/104-unused-variables.patch
diff --git a/patches/glibc/2.17/105-misleading-indentation.patch b/packages/glibc/2.16.0/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.17/105-misleading-indentation.patch
+++ b/packages/glibc/2.16.0/105-misleading-indentation.patch
diff --git a/patches/glibc/2.17/106-dl-open-array-bounds.patch b/packages/glibc/2.16.0/106-dl-open-array-bounds.patch
index a8efe9a..a8efe9a 100644
--- a/patches/glibc/2.17/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.16.0/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch
index 3c34e01..3c34e01 100644
--- a/patches/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.13/300-macos-cross-rpcgen.patch b/packages/glibc/2.16.0/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.13/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.16.0/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch b/packages/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch
index 803ac6f..803ac6f 100644
--- a/patches/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch
+++ b/packages/glibc/2.16.0/500-fix-parsing-of-numeric-hosts-in-gethostbyname_r.patch
diff --git a/patches/glibc/2.18/920-fix-rpc_parse-format.patch b/packages/glibc/2.16.0/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.18/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.16.0/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.18/940-nis-bogus-conditional.patch b/packages/glibc/2.16.0/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.18/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.16.0/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.16.0/999-new-tools.patch b/packages/glibc/2.16.0/999-new-tools.patch
index e753365..e753365 100644
--- a/patches/glibc/2.16.0/999-new-tools.patch
+++ b/packages/glibc/2.16.0/999-new-tools.patch
diff --git a/packages/glibc/2.16.0/version.desc b/packages/glibc/2.16.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.16.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch b/packages/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch
index 59f95aa..59f95aa 100644
--- a/patches/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch
+++ b/packages/glibc/2.17/100-Fix-ARM-build-with-GCC-trunk.patch
diff --git a/patches/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.17/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.16.0/102-fix-signed-shift-overlow.patch b/packages/glibc/2.17/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.16.0/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.17/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.17/103-dl-openat64-variadic.patch b/packages/glibc/2.17/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.17/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.17/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.17/104-unused-variables.patch b/packages/glibc/2.17/104-unused-variables.patch
index 80e0ff2..80e0ff2 100644
--- a/patches/glibc/2.17/104-unused-variables.patch
+++ b/packages/glibc/2.17/104-unused-variables.patch
diff --git a/patches/glibc/2.16.0/105-misleading-indentation.patch b/packages/glibc/2.17/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.16.0/105-misleading-indentation.patch
+++ b/packages/glibc/2.17/105-misleading-indentation.patch
diff --git a/patches/glibc/2.16.0/106-dl-open-array-bounds.patch b/packages/glibc/2.17/106-dl-open-array-bounds.patch
index a8efe9a..a8efe9a 100644
--- a/patches/glibc/2.16.0/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.17/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.18/120-support-make4.patch b/packages/glibc/2.17/120-support-make4.patch
index ca2bae0..ca2bae0 100644
--- a/patches/glibc/2.18/120-support-make4.patch
+++ b/packages/glibc/2.17/120-support-make4.patch
diff --git a/patches/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch
index 3c34e01..3c34e01 100644
--- a/patches/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.17/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.12.2/300-macos-cross-rpcgen.patch b/packages/glibc/2.17/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.12.2/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.17/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.17/920-fix-rpc_parse-format.patch b/packages/glibc/2.17/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.17/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.17/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.17/940-nis-bogus-conditional.patch b/packages/glibc/2.17/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.17/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.17/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.17/version.desc b/packages/glibc/2.17/version.desc
new file mode 100644
index 0000000..9ac7dc2
--- /dev/null
+++ b/packages/glibc/2.17/version.desc
@@ -0,0 +1 @@
+# Not obsolete (CentOS 7, EOL 06/2024)
diff --git a/patches/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch b/packages/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch
index 40e3632..40e3632 100644
--- a/patches/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch
+++ b/packages/glibc/2.18/100-4f2bcda-ARM-Fix-clone-code-when-built-for-Thumb.patch
diff --git a/patches/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.16.0/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.18/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.15/102-fix-signed-shift-overlow.patch b/packages/glibc/2.18/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.15/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.18/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.16.0/103-dl-openat64-variadic.patch b/packages/glibc/2.18/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.16.0/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.18/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.18/104-unused-variables.patch b/packages/glibc/2.18/104-unused-variables.patch
index 642edb1..642edb1 100644
--- a/patches/glibc/2.18/104-unused-variables.patch
+++ b/packages/glibc/2.18/104-unused-variables.patch
diff --git a/patches/glibc/2.15/105-misleading-indentation.patch b/packages/glibc/2.18/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.15/105-misleading-indentation.patch
+++ b/packages/glibc/2.18/105-misleading-indentation.patch
diff --git a/patches/glibc/2.21/106-dl-open-array-bounds.patch b/packages/glibc/2.18/106-dl-open-array-bounds.patch
index 08a9076..08a9076 100644
--- a/patches/glibc/2.21/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.18/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch b/packages/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch
index 7ad9fdf..7ad9fdf 100644
--- a/patches/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch
+++ b/packages/glibc/2.18/110-2770d15-Fix-PI-mutex-check-in-pthread_cond_broadcast-and-pthread_cond_signal.patch
diff --git a/patches/glibc/2.17/120-support-make4.patch b/packages/glibc/2.18/120-support-make4.patch
index ca2bae0..ca2bae0 100644
--- a/patches/glibc/2.17/120-support-make4.patch
+++ b/packages/glibc/2.18/120-support-make4.patch
diff --git a/patches/glibc/2.19/130-arm-unwind.patch b/packages/glibc/2.18/130-arm-unwind.patch
index 69cc07a..69cc07a 100644
--- a/patches/glibc/2.19/130-arm-unwind.patch
+++ b/packages/glibc/2.18/130-arm-unwind.patch
diff --git a/patches/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch
index 3c34e01..3c34e01 100644
--- a/patches/glibc/2.16.0/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.18/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.12.1/300-macos-cross-rpcgen.patch b/packages/glibc/2.18/300-macos-cross-rpcgen.patch
index e654644..e654644 100644
--- a/patches/glibc/2.12.1/300-macos-cross-rpcgen.patch
+++ b/packages/glibc/2.18/300-macos-cross-rpcgen.patch
diff --git a/patches/glibc/2.16.0/920-fix-rpc_parse-format.patch b/packages/glibc/2.18/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.16.0/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.18/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.16.0/940-nis-bogus-conditional.patch b/packages/glibc/2.18/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.16.0/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.18/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.18/version.desc b/packages/glibc/2.18/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.18/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.15/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.19/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.14/102-fix-signed-shift-overlow.patch b/packages/glibc/2.19/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.14/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.19/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.15/103-dl-openat64-variadic.patch b/packages/glibc/2.19/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.15/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.19/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.20/104-unused-variables.patch b/packages/glibc/2.19/104-unused-variables.patch
index 889c9bb..889c9bb 100644
--- a/patches/glibc/2.20/104-unused-variables.patch
+++ b/packages/glibc/2.19/104-unused-variables.patch
diff --git a/patches/glibc/2.14/105-misleading-indentation.patch b/packages/glibc/2.19/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.14/105-misleading-indentation.patch
+++ b/packages/glibc/2.19/105-misleading-indentation.patch
diff --git a/patches/glibc/2.20/106-dl-open-array-bounds.patch b/packages/glibc/2.19/106-dl-open-array-bounds.patch
index 08a9076..08a9076 100644
--- a/patches/glibc/2.20/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.19/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.18/130-arm-unwind.patch b/packages/glibc/2.19/130-arm-unwind.patch
index 69cc07a..69cc07a 100644
--- a/patches/glibc/2.18/130-arm-unwind.patch
+++ b/packages/glibc/2.19/130-arm-unwind.patch
diff --git a/patches/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.12.1/910-typedef-caddr.patch b/packages/glibc/2.19/910-typedef-caddr.patch
index e29e810..e29e810 100644
--- a/patches/glibc/2.12.1/910-typedef-caddr.patch
+++ b/packages/glibc/2.19/910-typedef-caddr.patch
diff --git a/patches/glibc/2.15/920-fix-rpc_parse-format.patch b/packages/glibc/2.19/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.15/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.19/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.24/930-explicit-boolean.patch b/packages/glibc/2.19/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.24/930-explicit-boolean.patch
+++ b/packages/glibc/2.19/930-explicit-boolean.patch
diff --git a/patches/glibc/2.15/940-nis-bogus-conditional.patch b/packages/glibc/2.19/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.15/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.19/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.19/version.desc b/packages/glibc/2.19/version.desc
new file mode 100644
index 0000000..f261ea8
--- /dev/null
+++ b/packages/glibc/2.19/version.desc
@@ -0,0 +1 @@
+# Not obsolete (Ubuntu 14.04, EOL 04/2019)
diff --git a/patches/glibc/2.20/100-sparc-nptl.patch b/packages/glibc/2.20/100-sparc-nptl.patch
index 21f0337..21f0337 100644
--- a/patches/glibc/2.20/100-sparc-nptl.patch
+++ b/packages/glibc/2.20/100-sparc-nptl.patch
diff --git a/patches/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.14/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.20/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.14.1/102-fix-signed-shift-overlow.patch b/packages/glibc/2.20/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.14.1/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.20/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.14/103-dl-openat64-variadic.patch b/packages/glibc/2.20/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.14/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.20/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.19/104-unused-variables.patch b/packages/glibc/2.20/104-unused-variables.patch
index 889c9bb..889c9bb 100644
--- a/patches/glibc/2.19/104-unused-variables.patch
+++ b/packages/glibc/2.20/104-unused-variables.patch
diff --git a/patches/glibc/2.14.1/105-misleading-indentation.patch b/packages/glibc/2.20/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.14.1/105-misleading-indentation.patch
+++ b/packages/glibc/2.20/105-misleading-indentation.patch
diff --git a/patches/glibc/2.19/106-dl-open-array-bounds.patch b/packages/glibc/2.20/106-dl-open-array-bounds.patch
index 08a9076..08a9076 100644
--- a/patches/glibc/2.19/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.20/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.25/910-typedef-caddr.patch b/packages/glibc/2.20/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.25/910-typedef-caddr.patch
+++ b/packages/glibc/2.20/910-typedef-caddr.patch
diff --git a/patches/glibc/2.14/920-fix-rpc_parse-format.patch b/packages/glibc/2.20/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.14/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.20/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.23/930-explicit-boolean.patch b/packages/glibc/2.20/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.23/930-explicit-boolean.patch
+++ b/packages/glibc/2.20/930-explicit-boolean.patch
diff --git a/patches/glibc/2.14/940-nis-bogus-conditional.patch b/packages/glibc/2.20/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.14/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.20/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.20/version.desc b/packages/glibc/2.20/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.20/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.14.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.21/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.13/102-fix-signed-shift-overlow.patch b/packages/glibc/2.21/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.13/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.21/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.14.1/103-dl-openat64-variadic.patch b/packages/glibc/2.21/103-dl-openat64-variadic.patch
index fe94b96..fe94b96 100644
--- a/patches/glibc/2.14.1/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.21/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.22/104-unused-variables.patch b/packages/glibc/2.21/104-unused-variables.patch
index fd4def0..fd4def0 100644
--- a/patches/glibc/2.22/104-unused-variables.patch
+++ b/packages/glibc/2.21/104-unused-variables.patch
diff --git a/patches/glibc/2.13/105-misleading-indentation.patch b/packages/glibc/2.21/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.13/105-misleading-indentation.patch
+++ b/packages/glibc/2.21/105-misleading-indentation.patch
diff --git a/patches/glibc/2.18/106-dl-open-array-bounds.patch b/packages/glibc/2.21/106-dl-open-array-bounds.patch
index 08a9076..08a9076 100644
--- a/patches/glibc/2.18/106-dl-open-array-bounds.patch
+++ b/packages/glibc/2.21/106-dl-open-array-bounds.patch
diff --git a/patches/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.24/910-typedef-caddr.patch b/packages/glibc/2.21/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.24/910-typedef-caddr.patch
+++ b/packages/glibc/2.21/910-typedef-caddr.patch
diff --git a/patches/glibc/2.14.1/920-fix-rpc_parse-format.patch b/packages/glibc/2.21/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.14.1/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.21/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.22/930-explicit-boolean.patch b/packages/glibc/2.21/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.22/930-explicit-boolean.patch
+++ b/packages/glibc/2.21/930-explicit-boolean.patch
diff --git a/patches/glibc/2.14.1/940-nis-bogus-conditional.patch b/packages/glibc/2.21/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.14.1/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.21/940-nis-bogus-conditional.patch
diff --git a/patches/glibc/2.21/950-dlclose-assert.patch b/packages/glibc/2.21/950-dlclose-assert.patch
index 6e2fcff..6e2fcff 100644
--- a/patches/glibc/2.21/950-dlclose-assert.patch
+++ b/packages/glibc/2.21/950-dlclose-assert.patch
diff --git a/packages/glibc/2.21/version.desc b/packages/glibc/2.21/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.21/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.22/100-sparc32-sem_open-missing-include.patch b/packages/glibc/2.22/100-sparc32-sem_open-missing-include.patch
index b481046..b481046 100644
--- a/patches/glibc/2.22/100-sparc32-sem_open-missing-include.patch
+++ b/packages/glibc/2.22/100-sparc32-sem_open-missing-include.patch
diff --git a/patches/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.13/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.22/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.12.1/102-fix-signed-shift-overlow.patch b/packages/glibc/2.22/102-fix-signed-shift-overlow.patch
index ef49f83..ef49f83 100644
--- a/patches/glibc/2.12.1/102-fix-signed-shift-overlow.patch
+++ b/packages/glibc/2.22/102-fix-signed-shift-overlow.patch
diff --git a/patches/glibc/2.22/103-dl-openat64-variadic.patch b/packages/glibc/2.22/103-dl-openat64-variadic.patch
index 302088e..302088e 100644
--- a/patches/glibc/2.22/103-dl-openat64-variadic.patch
+++ b/packages/glibc/2.22/103-dl-openat64-variadic.patch
diff --git a/patches/glibc/2.21/104-unused-variables.patch b/packages/glibc/2.22/104-unused-variables.patch
index fd4def0..fd4def0 100644
--- a/patches/glibc/2.21/104-unused-variables.patch
+++ b/packages/glibc/2.22/104-unused-variables.patch
diff --git a/patches/glibc/2.12.1/105-misleading-indentation.patch b/packages/glibc/2.22/105-misleading-indentation.patch
index 1dd8d85..1dd8d85 100644
--- a/patches/glibc/2.12.1/105-misleading-indentation.patch
+++ b/packages/glibc/2.22/105-misleading-indentation.patch
diff --git a/patches/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch b/packages/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch
index 257c5f2..257c5f2 100644
--- a/patches/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch
+++ b/packages/glibc/2.22/120-cve-2105-7547-getaddrinfo-stack.patch
diff --git a/patches/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.22/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.23/910-typedef-caddr.patch b/packages/glibc/2.22/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.23/910-typedef-caddr.patch
+++ b/packages/glibc/2.22/910-typedef-caddr.patch
diff --git a/patches/glibc/2.13/920-fix-rpc_parse-format.patch b/packages/glibc/2.22/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.13/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.22/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.21/930-explicit-boolean.patch b/packages/glibc/2.22/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.21/930-explicit-boolean.patch
+++ b/packages/glibc/2.22/930-explicit-boolean.patch
diff --git a/patches/glibc/2.13/940-nis-bogus-conditional.patch b/packages/glibc/2.22/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.13/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.22/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.22/version.desc b/packages/glibc/2.22/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/glibc/2.22/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch b/packages/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
index 6fd663a..6fd663a 100644
--- a/patches/glibc/2.12.1/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
+++ b/packages/glibc/2.23/101-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch
diff --git a/patches/glibc/2.25/120-Fix-build-with-enable-static-nss.patch b/packages/glibc/2.23/120-Fix-build-with-enable-static-nss.patch
index 59ab087..59ab087 100644
--- a/patches/glibc/2.25/120-Fix-build-with-enable-static-nss.patch
+++ b/packages/glibc/2.23/120-Fix-build-with-enable-static-nss.patch
diff --git a/patches/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.21/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.23/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.22/910-typedef-caddr.patch b/packages/glibc/2.23/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.22/910-typedef-caddr.patch
+++ b/packages/glibc/2.23/910-typedef-caddr.patch
diff --git a/patches/glibc/2.12.2/920-fix-rpc_parse-format.patch b/packages/glibc/2.23/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.12.2/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.23/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.20/930-explicit-boolean.patch b/packages/glibc/2.23/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.20/930-explicit-boolean.patch
+++ b/packages/glibc/2.23/930-explicit-boolean.patch
diff --git a/patches/glibc/2.12.2/940-nis-bogus-conditional.patch b/packages/glibc/2.23/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.12.2/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.23/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.23/version.desc b/packages/glibc/2.23/version.desc
new file mode 100644
index 0000000..4bec49f
--- /dev/null
+++ b/packages/glibc/2.23/version.desc
@@ -0,0 +1 @@
+# Not obsolete (Ubuntu 16.04, EOL 04/21)
diff --git a/patches/glibc/2.25/110-sh-fix-gcc6.patch b/packages/glibc/2.24/110-sh-fix-gcc6.patch
index cacf390..cacf390 100644
--- a/patches/glibc/2.25/110-sh-fix-gcc6.patch
+++ b/packages/glibc/2.24/110-sh-fix-gcc6.patch
diff --git a/patches/glibc/2.24/120-Fix-build-with-enable-static-nss.patch b/packages/glibc/2.24/120-Fix-build-with-enable-static-nss.patch
index 59ab087..59ab087 100644
--- a/patches/glibc/2.24/120-Fix-build-with-enable-static-nss.patch
+++ b/packages/glibc/2.24/120-Fix-build-with-enable-static-nss.patch
diff --git a/patches/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.20/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.24/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.21/910-typedef-caddr.patch b/packages/glibc/2.24/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.21/910-typedef-caddr.patch
+++ b/packages/glibc/2.24/910-typedef-caddr.patch
diff --git a/patches/glibc/2.12.1/920-fix-rpc_parse-format.patch b/packages/glibc/2.24/920-fix-rpc_parse-format.patch
index 37e58da..37e58da 100644
--- a/patches/glibc/2.12.1/920-fix-rpc_parse-format.patch
+++ b/packages/glibc/2.24/920-fix-rpc_parse-format.patch
diff --git a/patches/glibc/2.19/930-explicit-boolean.patch b/packages/glibc/2.24/930-explicit-boolean.patch
index 780fae6..780fae6 100644
--- a/patches/glibc/2.19/930-explicit-boolean.patch
+++ b/packages/glibc/2.24/930-explicit-boolean.patch
diff --git a/patches/glibc/2.12.1/940-nis-bogus-conditional.patch b/packages/glibc/2.24/940-nis-bogus-conditional.patch
index 09b38cf..09b38cf 100644
--- a/patches/glibc/2.12.1/940-nis-bogus-conditional.patch
+++ b/packages/glibc/2.24/940-nis-bogus-conditional.patch
diff --git a/packages/glibc/2.24/version.desc b/packages/glibc/2.24/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc/2.24/version.desc
diff --git a/patches/glibc/2.24/110-sh-fix-gcc6.patch b/packages/glibc/2.25/110-sh-fix-gcc6.patch
index cacf390..cacf390 100644
--- a/patches/glibc/2.24/110-sh-fix-gcc6.patch
+++ b/packages/glibc/2.25/110-sh-fix-gcc6.patch
diff --git a/patches/glibc/2.23/120-Fix-build-with-enable-static-nss.patch b/packages/glibc/2.25/120-Fix-build-with-enable-static-nss.patch
index 59ab087..59ab087 100644
--- a/patches/glibc/2.23/120-Fix-build-with-enable-static-nss.patch
+++ b/packages/glibc/2.25/120-Fix-build-with-enable-static-nss.patch
diff --git a/patches/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch b/packages/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch
index fdc3a60..fdc3a60 100644
--- a/patches/glibc/2.19/140-Fix-combreloc-test-BSD-grep.patch
+++ b/packages/glibc/2.25/140-Fix-combreloc-test-BSD-grep.patch
diff --git a/patches/glibc/2.20/910-typedef-caddr.patch b/packages/glibc/2.25/910-typedef-caddr.patch
index fc7979b..fc7979b 100644
--- a/patches/glibc/2.20/910-typedef-caddr.patch
+++ b/packages/glibc/2.25/910-typedef-caddr.patch
diff --git a/patches/glibc/2.25/960-sh4-trap-divdi3.patch b/packages/glibc/2.25/960-sh4-trap-divdi3.patch
index 99fad46..99fad46 100644
--- a/patches/glibc/2.25/960-sh4-trap-divdi3.patch
+++ b/packages/glibc/2.25/960-sh4-trap-divdi3.patch
diff --git a/patches/glibc/2.25/961-sparc-extra-plt-call.patch b/packages/glibc/2.25/961-sparc-extra-plt-call.patch
index 3781cf0..3781cf0 100644
--- a/patches/glibc/2.25/961-sparc-extra-plt-call.patch
+++ b/packages/glibc/2.25/961-sparc-extra-plt-call.patch
diff --git a/packages/glibc/2.25/version.desc b/packages/glibc/2.25/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/glibc/2.25/version.desc
diff --git a/packages/glibc/package.desc b/packages/glibc/package.desc
new file mode 100644
index 0000000..13e2233
--- /dev/null
+++ b/packages/glibc/package.desc
@@ -0,0 +1,4 @@
+origin='GNU'
+repository='git git://sourceware.org/git/glibc.git'
+mirrors='$(CT_Mirrors GNU glibc) $(CT_Mirrors sourceware glibc/releases)'
+milestones='2.17 2.20 2.23'
diff --git a/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch b/packages/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch
index f60e88f..f60e88f 100644
--- a/patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
+++ b/packages/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch
diff --git a/patches/gmp/4.3.1/110-unbounded-alloc.patch b/packages/gmp/4.3.0/110-unbounded-alloc.patch
index 78e0588..78e0588 100644
--- a/patches/gmp/4.3.1/110-unbounded-alloc.patch
+++ b/packages/gmp/4.3.0/110-unbounded-alloc.patch
diff --git a/packages/gmp/4.3.0/version.desc b/packages/gmp/4.3.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/4.3.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch b/packages/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
index f60e88f..f60e88f 100644
--- a/patches/gmp/4.3.0/100-multiplicity-that-does-not-fit-an-int.patch
+++ b/packages/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
diff --git a/patches/gmp/4.3.0/110-unbounded-alloc.patch b/packages/gmp/4.3.1/110-unbounded-alloc.patch
index 78e0588..78e0588 100644
--- a/patches/gmp/4.3.0/110-unbounded-alloc.patch
+++ b/packages/gmp/4.3.1/110-unbounded-alloc.patch
diff --git a/packages/gmp/4.3.1/version.desc b/packages/gmp/4.3.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/4.3.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gmp/4.3.2/version.desc b/packages/gmp/4.3.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/4.3.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gmp/5.0.1/100-fix-tests-ABI-long-long.patch b/packages/gmp/5.0.1/100-fix-tests-ABI-long-long.patch
index b6e303e..b6e303e 100644
--- a/patches/gmp/5.0.1/100-fix-tests-ABI-long-long.patch
+++ b/packages/gmp/5.0.1/100-fix-tests-ABI-long-long.patch
diff --git a/patches/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch b/packages/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch
index 2e0a1af..2e0a1af 100644
--- a/patches/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch
+++ b/packages/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch
diff --git a/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch b/packages/gmp/5.0.1/120-fix-r0-clobbering-issue.patch
index d12d6b2..d12d6b2 100644
--- a/patches/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
+++ b/packages/gmp/5.0.1/120-fix-r0-clobbering-issue.patch
diff --git a/packages/gmp/5.0.1/version.desc b/packages/gmp/5.0.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/5.0.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch b/packages/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch
index 2e0a1af..2e0a1af 100644
--- a/patches/gmp/5.0.1/110-get-mpn_sub_1-size-argument-right.patch
+++ b/packages/gmp/5.0.2/110-get-mpn_sub_1-size-argument-right.patch
diff --git a/patches/gmp/5.0.1/120-fix-r0-clobbering-issue.patch b/packages/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
index d12d6b2..d12d6b2 100644
--- a/patches/gmp/5.0.1/120-fix-r0-clobbering-issue.patch
+++ b/packages/gmp/5.0.2/120-fix-r0-clobbering-issue.patch
diff --git a/packages/gmp/5.0.2/version.desc b/packages/gmp/5.0.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/5.0.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gmp/5.1.1/100-fix-bulldozer-piledriver.patch b/packages/gmp/5.1.1/100-fix-bulldozer-piledriver.patch
index f6faca1..f6faca1 100644
--- a/patches/gmp/5.1.1/100-fix-bulldozer-piledriver.patch
+++ b/packages/gmp/5.1.1/100-fix-bulldozer-piledriver.patch
diff --git a/patches/gmp/5.1.1/110-mpz_powm_ui.patch b/packages/gmp/5.1.1/110-mpz_powm_ui.patch
index f0d240c..f0d240c 100644
--- a/patches/gmp/5.1.1/110-mpz_powm_ui.patch
+++ b/packages/gmp/5.1.1/110-mpz_powm_ui.patch
diff --git a/patches/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch b/packages/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch
index 13a50ad..13a50ad 100644
--- a/patches/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch
+++ b/packages/gmp/5.1.1/120-fix-mpn_sbpi1_div_qr_sec.patch
diff --git a/patches/gmp/5.1.1/130-do-not-clobber-f16-f18.patch b/packages/gmp/5.1.1/130-do-not-clobber-f16-f18.patch
index 9f9f470..9f9f470 100644
--- a/patches/gmp/5.1.1/130-do-not-clobber-f16-f18.patch
+++ b/packages/gmp/5.1.1/130-do-not-clobber-f16-f18.patch
diff --git a/packages/gmp/5.1.1/version.desc b/packages/gmp/5.1.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/5.1.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gmp/5.1.3/version.desc b/packages/gmp/5.1.3/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/5.1.3/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gmp/6.0.0a/version.desc b/packages/gmp/6.0.0a/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/6.0.0a/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/gmp/6.1.0/100-fix-broadwell-skylake.patch b/packages/gmp/6.1.0/100-fix-broadwell-skylake.patch
index 9afd339..9afd339 100644
--- a/patches/gmp/6.1.0/100-fix-broadwell-skylake.patch
+++ b/packages/gmp/6.1.0/100-fix-broadwell-skylake.patch
diff --git a/packages/gmp/6.1.0/version.desc b/packages/gmp/6.1.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/gmp/6.1.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/gmp/6.1.2/version.desc b/packages/gmp/6.1.2/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/gmp/6.1.2/version.desc
diff --git a/packages/gmp/package.desc b/packages/gmp/package.desc
new file mode 100644
index 0000000..eed0d3c
--- /dev/null
+++ b/packages/gmp/package.desc
@@ -0,0 +1,4 @@
+repository='hg https://gmplib.org/repo/gmp/'
+bootstrap='./.bootstrap'
+mirrors='https://gmplib.org/download/gmp $(CT_Mirrors GNU gmp)'
+milestones='5.1'
diff --git a/packages/isl/0.11.1/version.desc b/packages/isl/0.11.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/isl/0.11.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/isl/0.12.2/version.desc b/packages/isl/0.12.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/isl/0.12.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/isl/0.14/version.desc b/packages/isl/0.14/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/isl/0.14/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/isl/0.15/version.desc b/packages/isl/0.15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/isl/0.15/version.desc
diff --git a/packages/isl/0.16.1/version.desc b/packages/isl/0.16.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/isl/0.16.1/version.desc
diff --git a/packages/isl/0.17.1/version.desc b/packages/isl/0.17.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/isl/0.17.1/version.desc
diff --git a/packages/isl/0.18/version.desc b/packages/isl/0.18/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/isl/0.18/version.desc
diff --git a/packages/isl/package.desc b/packages/isl/package.desc
new file mode 100644
index 0000000..1efde40
--- /dev/null
+++ b/packages/isl/package.desc
@@ -0,0 +1,4 @@
+repository='git git://repo.or.cz/isl.git'
+bootstrap='./autogen.sh'
+mirrors='http://isl.gforge.inria.fr'
+milestones='0.12 0.13 0.14 0.15'
diff --git a/patches/libelf/0.8.13/100-fix-64-bit-detection.patch b/packages/libelf/0.8.12/100-fix-64-bit-detection.patch
index 7995443..7995443 100644
--- a/patches/libelf/0.8.13/100-fix-64-bit-detection.patch
+++ b/packages/libelf/0.8.12/100-fix-64-bit-detection.patch
diff --git a/packages/libelf/0.8.12/version.desc b/packages/libelf/0.8.12/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/libelf/0.8.12/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/libelf/0.8.12/100-fix-64-bit-detection.patch b/packages/libelf/0.8.13/100-fix-64-bit-detection.patch
index 7995443..7995443 100644
--- a/patches/libelf/0.8.12/100-fix-64-bit-detection.patch
+++ b/packages/libelf/0.8.13/100-fix-64-bit-detection.patch
diff --git a/packages/libelf/0.8.13/version.desc b/packages/libelf/0.8.13/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/libelf/0.8.13/version.desc
diff --git a/packages/libelf/package.desc b/packages/libelf/package.desc
new file mode 100644
index 0000000..4720cd4
--- /dev/null
+++ b/packages/libelf/package.desc
@@ -0,0 +1,3 @@
+# FIXME No public repository and no new releases.
+# Consider switching to/adding project elftoolchain?
+mirrors='http://www.mr511.de/software'
diff --git a/patches/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch b/packages/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch
index 382c841..382c841 100644
--- a/patches/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch
+++ b/packages/libiconv/1.14/100-srclib_stdio.in.h-remove-gets-declarations.patch
diff --git a/packages/libiconv/1.14/version.desc b/packages/libiconv/1.14/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/libiconv/1.14/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/libiconv/1.15/version.desc b/packages/libiconv/1.15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/libiconv/1.15/version.desc
diff --git a/packages/libiconv/package.desc b/packages/libiconv/package.desc
new file mode 100644
index 0000000..f75054a
--- /dev/null
+++ b/packages/libiconv/package.desc
@@ -0,0 +1,5 @@
+repository='git https://git.savannah.gnu.org/git/libiconv.git'
+# TBD autogen.sh will check out most recent gnulib - need to make gnulib
+# a separate package and depend on it in case of devel builds?
+bootstrap='./autogen.sh'
+mirrors='$(CT_Mirrors GNU libiconv)'
diff --git a/patches/libtool/2.4.6/2.4.5-pass-ldflags.patch b/packages/libtool/2.4.6/2.4.5-pass-ldflags.patch
index d35e343..d35e343 100644
--- a/patches/libtool/2.4.6/2.4.5-pass-ldflags.patch
+++ b/packages/libtool/2.4.6/2.4.5-pass-ldflags.patch
diff --git a/packages/libtool/2.4.6/version.desc b/packages/libtool/2.4.6/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/libtool/2.4.6/version.desc
diff --git a/packages/libtool/package.desc b/packages/libtool/package.desc
new file mode 100644
index 0000000..7338f84
--- /dev/null
+++ b/packages/libtool/package.desc
@@ -0,0 +1,3 @@
+repository='git git://git.savannah.gnu.org/libtool.git'
+bootstrap='./bootstrap'
+mirrors='$(CT_Mirrors GNU libtool)'
diff --git a/patches/linux/2.6.32.27/100-unifdef-strclpy.patch b/packages/linux/2.6.32.27/100-unifdef-strclpy.patch
index 072fac6..072fac6 100644
--- a/patches/linux/2.6.32.27/100-unifdef-strclpy.patch
+++ b/packages/linux/2.6.32.27/100-unifdef-strclpy.patch
diff --git a/packages/linux/2.6.32.27/version.desc b/packages/linux/2.6.32.27/version.desc
new file mode 100644
index 0000000..3475dc2
--- /dev/null
+++ b/packages/linux/2.6.32.27/version.desc
@@ -0,0 +1 @@
+# Not obsolete: used by CentOS6.x, EOL 11/2020
diff --git a/packages/linux/2.6.33.7/version.desc b/packages/linux/2.6.33.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.33.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.34.7/version.desc b/packages/linux/2.6.34.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.34.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.35.9/version.desc b/packages/linux/2.6.35.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.35.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.36.4/version.desc b/packages/linux/2.6.36.4/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.36.4/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.37.6/version.desc b/packages/linux/2.6.37.6/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.37.6/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.38.8/version.desc b/packages/linux/2.6.38.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.38.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/2.6.39.4/version.desc b/packages/linux/2.6.39.4/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/2.6.39.4/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.0.101/version.desc b/packages/linux/3.0.101/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.0.101/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.1.10/version.desc b/packages/linux/3.1.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.1.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.10.105/version.desc b/packages/linux/3.10.105/version.desc
new file mode 100644
index 0000000..7c0a082
--- /dev/null
+++ b/packages/linux/3.10.105/version.desc
@@ -0,0 +1 @@
+# Not obsolete: used by CentOS7.x, EOL 06/2024
diff --git a/packages/linux/3.11.10/version.desc b/packages/linux/3.11.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.11.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.12.74/version.desc b/packages/linux/3.12.74/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/3.12.74/version.desc
diff --git a/packages/linux/3.13.11/version.desc b/packages/linux/3.13.11/version.desc
new file mode 100644
index 0000000..89c1908
--- /dev/null
+++ b/packages/linux/3.13.11/version.desc
@@ -0,0 +1 @@
+# Not obsolete: used by Ubuntu14.04, EOL 04/2019
diff --git a/packages/linux/3.14.79/version.desc b/packages/linux/3.14.79/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.14.79/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.15.10/version.desc b/packages/linux/3.15.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.15.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.16.43/version.desc b/packages/linux/3.16.43/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/3.16.43/version.desc
diff --git a/packages/linux/3.17.8/version.desc b/packages/linux/3.17.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.17.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.18.55/version.desc b/packages/linux/3.18.55/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.18.55/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.19.8/version.desc b/packages/linux/3.19.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.19.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.2.88/version.desc b/packages/linux/3.2.88/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/3.2.88/version.desc
diff --git a/packages/linux/3.3.8/version.desc b/packages/linux/3.3.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.3.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.4.113/version.desc b/packages/linux/3.4.113/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/3.4.113/version.desc
diff --git a/packages/linux/3.5.7/version.desc b/packages/linux/3.5.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.5.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.6.11/version.desc b/packages/linux/3.6.11/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.6.11/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.7.10/version.desc b/packages/linux/3.7.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.7.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.8.13/version.desc b/packages/linux/3.8.13/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.8.13/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/3.9.11/version.desc b/packages/linux/3.9.11/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/3.9.11/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.0.9/version.desc b/packages/linux/4.0.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.0.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.1.40/version.desc b/packages/linux/4.1.40/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/4.1.40/version.desc
diff --git a/packages/linux/4.10.17/version.desc b/packages/linux/4.10.17/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/4.10.17/version.desc
diff --git a/packages/linux/4.10.8/version.desc b/packages/linux/4.10.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.10.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.11.3/version.desc b/packages/linux/4.11.3/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/4.11.3/version.desc
diff --git a/packages/linux/4.2.8/version.desc b/packages/linux/4.2.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.2.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.3.6/version.desc b/packages/linux/4.3.6/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.3.6/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.4.70/version.desc b/packages/linux/4.4.70/version.desc
new file mode 100644
index 0000000..7d5188f
--- /dev/null
+++ b/packages/linux/4.4.70/version.desc
@@ -0,0 +1 @@
+# Not obsolete: used by Ubuntu16.04, EOL 04/2021
diff --git a/packages/linux/4.5.7/version.desc b/packages/linux/4.5.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.5.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.6.7/version.desc b/packages/linux/4.6.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.6.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.7.10/version.desc b/packages/linux/4.7.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.7.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.8.17/version.desc b/packages/linux/4.8.17/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/linux/4.8.17/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/linux/4.9.30/version.desc b/packages/linux/4.9.30/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/linux/4.9.30/version.desc
diff --git a/packages/linux/package.desc b/packages/linux/package.desc
new file mode 100644
index 0000000..3dae8f3
--- /dev/null
+++ b/packages/linux/package.desc
@@ -0,0 +1,3 @@
+repository='git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'
+mirrors='$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})'
+relevantpattern='2.*.*|. *.*|.'
diff --git a/patches/ltrace/0.5.3/100-allow-cross-compile.patch b/packages/ltrace/0.5.3/100-allow-cross-compile.patch
index 58572cd..58572cd 100644
--- a/patches/ltrace/0.5.3/100-allow-cross-compile.patch
+++ b/packages/ltrace/0.5.3/100-allow-cross-compile.patch
diff --git a/patches/ltrace/0.5.3/110-alpha-support.patch b/packages/ltrace/0.5.3/110-alpha-support.patch
index 838b84b..838b84b 100644
--- a/patches/ltrace/0.5.3/110-alpha-support.patch
+++ b/packages/ltrace/0.5.3/110-alpha-support.patch
diff --git a/patches/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch b/packages/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch
index 483c743..483c743 100644
--- a/patches/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch
+++ b/packages/ltrace/0.5.3/120-debian-ltrace_0.5.3-2.patch
diff --git a/patches/ltrace/0.5.3/130-add-sysdep.patch b/packages/ltrace/0.5.3/130-add-sysdep.patch
index 6fd8d26..6fd8d26 100644
--- a/patches/ltrace/0.5.3/130-add-sysdep.patch
+++ b/packages/ltrace/0.5.3/130-add-sysdep.patch
diff --git a/patches/ltrace/0.5.3/140-mips-remove-CP.patch b/packages/ltrace/0.5.3/140-mips-remove-CP.patch
index 4532a8f..4532a8f 100644
--- a/patches/ltrace/0.5.3/140-mips-remove-CP.patch
+++ b/packages/ltrace/0.5.3/140-mips-remove-CP.patch
diff --git a/patches/ltrace/0.5.3/140-mips.patch b/packages/ltrace/0.5.3/140-mips.patch
index b01b7a9..b01b7a9 100644
--- a/patches/ltrace/0.5.3/140-mips.patch
+++ b/packages/ltrace/0.5.3/140-mips.patch
diff --git a/patches/ltrace/0.5.3/150-allow-configurable-arch.patch b/packages/ltrace/0.5.3/150-allow-configurable-arch.patch
index 7208ca8..7208ca8 100644
--- a/patches/ltrace/0.5.3/150-allow-configurable-arch.patch
+++ b/packages/ltrace/0.5.3/150-allow-configurable-arch.patch
diff --git a/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch b/packages/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
index b57a166..b57a166 100644
--- a/patches/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
+++ b/packages/ltrace/0.5.3/160-fix-missing-ptrace-defines.patch
diff --git a/patches/ltrace/0.5.3/170-lib-supcc.patch b/packages/ltrace/0.5.3/170-lib-supcc.patch
index 8842b91..8842b91 100644
--- a/patches/ltrace/0.5.3/170-lib-supcc.patch
+++ b/packages/ltrace/0.5.3/170-lib-supcc.patch
diff --git a/patches/ltrace/0.5.3/180-libltrace-genindex.patch b/packages/ltrace/0.5.3/180-libltrace-genindex.patch
index 0b1629b..0b1629b 100644
--- a/patches/ltrace/0.5.3/180-libltrace-genindex.patch
+++ b/packages/ltrace/0.5.3/180-libltrace-genindex.patch
diff --git a/patches/ltrace/0.5.3/190-ar-configurable.patch b/packages/ltrace/0.5.3/190-ar-configurable.patch
index 28856a3..28856a3 100644
--- a/patches/ltrace/0.5.3/190-ar-configurable.patch
+++ b/packages/ltrace/0.5.3/190-ar-configurable.patch
diff --git a/patches/ltrace/0.5.3/200-configure-hostos.patch b/packages/ltrace/0.5.3/200-configure-hostos.patch
index 36563f4..36563f4 100644
--- a/patches/ltrace/0.5.3/200-configure-hostos.patch
+++ b/packages/ltrace/0.5.3/200-configure-hostos.patch
diff --git a/packages/ltrace/0.5.3/version.desc b/packages/ltrace/0.5.3/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/ltrace/0.5.3/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/ltrace/0.7.3/001-avoid-libstdc++.patch b/packages/ltrace/0.7.3/001-avoid-libstdc++.patch
index 9cbf557..9cbf557 100644
--- a/patches/ltrace/0.7.3/001-avoid-libstdc++.patch
+++ b/packages/ltrace/0.7.3/001-avoid-libstdc++.patch
diff --git a/patches/ltrace/0.7.3/002-printf-p.patch b/packages/ltrace/0.7.3/002-printf-p.patch
index 10631d9..10631d9 100644
--- a/patches/ltrace/0.7.3/002-printf-p.patch
+++ b/packages/ltrace/0.7.3/002-printf-p.patch
diff --git a/patches/ltrace/0.7.3/003-alpha-debug.h.patch b/packages/ltrace/0.7.3/003-alpha-debug.h.patch
index 237026d..237026d 100644
--- a/patches/ltrace/0.7.3/003-alpha-debug.h.patch
+++ b/packages/ltrace/0.7.3/003-alpha-debug.h.patch
diff --git a/patches/ltrace/0.7.3/004-compile-warning.patch b/packages/ltrace/0.7.3/004-compile-warning.patch
index ad65829..ad65829 100644
--- a/patches/ltrace/0.7.3/004-compile-warning.patch
+++ b/packages/ltrace/0.7.3/004-compile-warning.patch
diff --git a/patches/ltrace/0.7.3/005-sparc-ftbfs.patch b/packages/ltrace/0.7.3/005-sparc-ftbfs.patch
index 266a8e6..266a8e6 100644
--- a/patches/ltrace/0.7.3/005-sparc-ftbfs.patch
+++ b/packages/ltrace/0.7.3/005-sparc-ftbfs.patch
diff --git a/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch b/packages/ltrace/0.7.3/006-unexpected-breakpoint.patch
index 443bee4..443bee4 100644
--- a/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch
+++ b/packages/ltrace/0.7.3/006-unexpected-breakpoint.patch
diff --git a/patches/ltrace/0.7.3/007-gcc-5.patch b/packages/ltrace/0.7.3/007-gcc-5.patch
index 4c62f85..4c62f85 100644
--- a/patches/ltrace/0.7.3/007-gcc-5.patch
+++ b/packages/ltrace/0.7.3/007-gcc-5.patch
diff --git a/patches/ltrace/0.7.3/008-glibc-2.24.patch b/packages/ltrace/0.7.3/008-glibc-2.24.patch
index 85b008b..85b008b 100644
--- a/patches/ltrace/0.7.3/008-glibc-2.24.patch
+++ b/packages/ltrace/0.7.3/008-glibc-2.24.patch
diff --git a/packages/ltrace/0.7.3/version.desc b/packages/ltrace/0.7.3/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/ltrace/0.7.3/version.desc
diff --git a/packages/ltrace/package.desc b/packages/ltrace/package.desc
new file mode 100644
index 0000000..475c56b
--- /dev/null
+++ b/packages/ltrace/package.desc
@@ -0,0 +1,5 @@
+repository='git git://git.debian.org/git/collab-maint/ltrace.git'
+bootstrap='./autogen.sh'
+mirrors='http://ftp.debian.org/debian/pool/main/l/ltrace ftp:://ftp.debian.org/debian/pool/main/l/ltrace'
+archive_filename='@{pkg_name}_@{version}.orig'
+archive_dirname='@{pkg_name}-@{version}'
diff --git a/packages/m4/1.4.13/version.desc b/packages/m4/1.4.13/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/m4/1.4.13/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/m4/1.4.17/version.desc b/packages/m4/1.4.17/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/m4/1.4.17/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/m4/1.4.18/version.desc b/packages/m4/1.4.18/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/m4/1.4.18/version.desc
diff --git a/packages/m4/package.desc b/packages/m4/package.desc
new file mode 100644
index 0000000..6615cdc
--- /dev/null
+++ b/packages/m4/package.desc
@@ -0,0 +1,3 @@
+repository='git git://git.sv.gnu.org/m4'
+bootstrap='./bootstrap'
+mirrors='$(CT_Mirrors GNU m4)'
diff --git a/packages/make/3.81/version.desc b/packages/make/3.81/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/make/3.81/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/make/4.0/version.desc b/packages/make/4.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/make/4.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/make/4.1/version.desc b/packages/make/4.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/make/4.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/make/4.2.1/version.desc b/packages/make/4.2.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/make/4.2.1/version.desc
diff --git a/packages/make/package.desc b/packages/make/package.desc
new file mode 100644
index 0000000..9eb9d07
--- /dev/null
+++ b/packages/make/package.desc
@@ -0,0 +1,3 @@
+repository='git https://git.savannah.gnu.org/git/make.git'
+bootstrap='autoreconf -i'
+mirrors='$(CT_Mirrors GNU make)'
diff --git a/packages/mingw-w64/package.desc b/packages/mingw-w64/package.desc
new file mode 100644
index 0000000..bbe507a
--- /dev/null
+++ b/packages/mingw-w64/package.desc
@@ -0,0 +1,2 @@
+repository='git https://git.code.sf.net/p/mingw-w64/mingw-w64'
+mirrors='http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/'
diff --git a/patches/mingw-w64/v4.0.6/100-mingw64-malloc.patch b/packages/mingw-w64/v2.0.7/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.6/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v2.0.7/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v2.0.7/version.desc b/packages/mingw-w64/v2.0.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v2.0.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v4.0.5/100-mingw64-malloc.patch b/packages/mingw-w64/v2.0.8/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.5/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v2.0.8/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v2.0.8/version.desc b/packages/mingw-w64/v2.0.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v2.0.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v4.0.4/100-mingw64-malloc.patch b/packages/mingw-w64/v2.0.9/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.4/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v2.0.9/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v2.0.9/version.desc b/packages/mingw-w64/v2.0.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v2.0.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v4.0.2/100-mingw64-malloc.patch b/packages/mingw-w64/v3.0.0/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.2/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v3.0.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v3.0.0/version.desc b/packages/mingw-w64/v3.0.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v3.0.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v4.0.1/100-mingw64-malloc.patch b/packages/mingw-w64/v3.1.0/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.1/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v3.1.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v3.1.0/version.desc b/packages/mingw-w64/v3.1.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v3.1.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v4.0.0/100-mingw64-malloc.patch b/packages/mingw-w64/v3.2.0/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v4.0.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v3.2.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v3.2.0/version.desc b/packages/mingw-w64/v3.2.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v3.2.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v3.3.0/100-mingw64-malloc.patch b/packages/mingw-w64/v3.3.0/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v3.3.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v3.3.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v3.3.0/version.desc b/packages/mingw-w64/v3.3.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v3.3.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v3.2.0/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.0/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v3.2.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.0/version.desc b/packages/mingw-w64/v4.0.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v4.0.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v3.1.0/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.1/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v3.1.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.1/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.1/version.desc b/packages/mingw-w64/v4.0.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v4.0.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v3.0.0/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.2/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v3.0.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.2/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.2/version.desc b/packages/mingw-w64/v4.0.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v4.0.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v2.0.9/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.4/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v2.0.9/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.4/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.4/version.desc b/packages/mingw-w64/v4.0.4/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v4.0.4/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v2.0.8/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.5/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v2.0.8/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.5/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.5/version.desc b/packages/mingw-w64/v4.0.5/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v4.0.5/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v2.0.7/100-mingw64-malloc.patch b/packages/mingw-w64/v4.0.6/100-mingw64-malloc.patch
index d9d5a61..d9d5a61 100644
--- a/patches/mingw-w64/v2.0.7/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v4.0.6/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v4.0.6/version.desc b/packages/mingw-w64/v4.0.6/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/mingw-w64/v4.0.6/version.desc
diff --git a/patches/mingw-w64/v5.0.2/100-mingw64-malloc.patch b/packages/mingw-w64/v5.0.0/100-mingw64-malloc.patch
index 3d05b63..3d05b63 100644
--- a/patches/mingw-w64/v5.0.2/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v5.0.0/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v5.0.0/version.desc b/packages/mingw-w64/v5.0.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mingw-w64/v5.0.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mingw-w64/v5.0.1/100-mingw64-malloc.patch b/packages/mingw-w64/v5.0.1/100-mingw64-malloc.patch
index 3d05b63..3d05b63 100644
--- a/patches/mingw-w64/v5.0.1/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v5.0.1/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v5.0.1/version.desc b/packages/mingw-w64/v5.0.1/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/mingw-w64/v5.0.1/version.desc
diff --git a/patches/mingw-w64/v5.0.0/100-mingw64-malloc.patch b/packages/mingw-w64/v5.0.2/100-mingw64-malloc.patch
index 3d05b63..3d05b63 100644
--- a/patches/mingw-w64/v5.0.0/100-mingw64-malloc.patch
+++ b/packages/mingw-w64/v5.0.2/100-mingw64-malloc.patch
diff --git a/packages/mingw-w64/v5.0.2/version.desc b/packages/mingw-w64/v5.0.2/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/mingw-w64/v5.0.2/version.desc
diff --git a/packages/mpc/0.7/version.desc b/packages/mpc/0.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/0.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff b/packages/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff
index 88e1517..88e1517 100644
--- a/patches/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff
+++ b/packages/mpc/0.8.1/100-fix-build-with-mpfr-3_0_9.diff
diff --git a/packages/mpc/0.8.1/version.desc b/packages/mpc/0.8.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/0.8.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/0.8.2/version.desc b/packages/mpc/0.8.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/0.8.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/0.9/version.desc b/packages/mpc/0.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/0.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/1.0.1/version.desc b/packages/mpc/1.0.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/1.0.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/1.0.2/version.desc b/packages/mpc/1.0.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/1.0.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/1.0.3/version.desc b/packages/mpc/1.0.3/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/mpc/1.0.3/version.desc
diff --git a/packages/mpc/1.0/version.desc b/packages/mpc/1.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpc/1.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpc/package.desc b/packages/mpc/package.desc
new file mode 100644
index 0000000..8eba114
--- /dev/null
+++ b/packages/mpc/package.desc
@@ -0,0 +1,3 @@
+repository='git https://scm.gforge.inria.fr/anonscm/git/mpc/mpc.git'
+bootstrap='autoreconf -i'
+mirrors='http://www.multiprecision.org/mpc/download $(CT_Mirrors GNU mpc)'
diff --git a/patches/mpfr/2.4.0/100-printf-hh-ll.patch b/packages/mpfr/2.4.0/100-printf-hh-ll.patch
index e2a9f81..e2a9f81 100644
--- a/patches/mpfr/2.4.0/100-printf-hh-ll.patch
+++ b/packages/mpfr/2.4.0/100-printf-hh-ll.patch
diff --git a/patches/mpfr/2.4.0/110-mpfr_snprintf.patch b/packages/mpfr/2.4.0/110-mpfr_snprintf.patch
index 92af137..92af137 100644
--- a/patches/mpfr/2.4.0/110-mpfr_snprintf.patch
+++ b/packages/mpfr/2.4.0/110-mpfr_snprintf.patch
diff --git a/packages/mpfr/2.4.0/version.desc b/packages/mpfr/2.4.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/2.4.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/2.4.1/100-remainder-neg.patch b/packages/mpfr/2.4.1/100-remainder-neg.patch
index ae92788..ae92788 100644
--- a/patches/mpfr/2.4.1/100-remainder-neg.patch
+++ b/packages/mpfr/2.4.1/100-remainder-neg.patch
diff --git a/patches/mpfr/2.4.1/110-assert.patch b/packages/mpfr/2.4.1/110-assert.patch
index c6b6aac..c6b6aac 100644
--- a/patches/mpfr/2.4.1/110-assert.patch
+++ b/packages/mpfr/2.4.1/110-assert.patch
diff --git a/patches/mpfr/2.4.1/120-cast-to-void-ptr.patch b/packages/mpfr/2.4.1/120-cast-to-void-ptr.patch
index e85136a..e85136a 100644
--- a/patches/mpfr/2.4.1/120-cast-to-void-ptr.patch
+++ b/packages/mpfr/2.4.1/120-cast-to-void-ptr.patch
diff --git a/patches/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch b/packages/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch
index 08e21f2..08e21f2 100644
--- a/patches/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch
+++ b/packages/mpfr/2.4.1/130-vasprintf-mp_limb_t.patch
diff --git a/patches/mpfr/2.4.1/140-zeta_ui-shift.patch b/packages/mpfr/2.4.1/140-zeta_ui-shift.patch
index 710c698..710c698 100644
--- a/patches/mpfr/2.4.1/140-zeta_ui-shift.patch
+++ b/packages/mpfr/2.4.1/140-zeta_ui-shift.patch
diff --git a/patches/mpfr/2.4.1/150-test-tmul.patch b/packages/mpfr/2.4.1/150-test-tmul.patch
index 8b757d3..8b757d3 100644
--- a/patches/mpfr/2.4.1/150-test-tmul.patch
+++ b/packages/mpfr/2.4.1/150-test-tmul.patch
diff --git a/packages/mpfr/2.4.1/version.desc b/packages/mpfr/2.4.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/2.4.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/2.4.2/100-sin_cos_underflow.patch b/packages/mpfr/2.4.2/100-sin_cos_underflow.patch
index 2721517..2721517 100644
--- a/patches/mpfr/2.4.2/100-sin_cos_underflow.patch
+++ b/packages/mpfr/2.4.2/100-sin_cos_underflow.patch
diff --git a/patches/mpfr/2.4.2/110-longlong.h.patch b/packages/mpfr/2.4.2/110-longlong.h.patch
index fa85d8e..fa85d8e 100644
--- a/patches/mpfr/2.4.2/110-longlong.h.patch
+++ b/packages/mpfr/2.4.2/110-longlong.h.patch
diff --git a/patches/mpfr/2.4.2/120-gmp5.patch b/packages/mpfr/2.4.2/120-gmp5.patch
index 3ce4952..3ce4952 100644
--- a/patches/mpfr/2.4.2/120-gmp5.patch
+++ b/packages/mpfr/2.4.2/120-gmp5.patch
diff --git a/packages/mpfr/2.4.2/version.desc b/packages/mpfr/2.4.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/2.4.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.0.0/110-mpfr_out_str.patch b/packages/mpfr/3.0.0/110-mpfr_out_str.patch
index da98aab..da98aab 100644
--- a/patches/mpfr/3.0.0/110-mpfr_out_str.patch
+++ b/packages/mpfr/3.0.0/110-mpfr_out_str.patch
diff --git a/patches/mpfr/3.0.0/120-alloca.patch b/packages/mpfr/3.0.0/120-alloca.patch
index af6dfb2..af6dfb2 100644
--- a/patches/mpfr/3.0.0/120-alloca.patch
+++ b/packages/mpfr/3.0.0/120-alloca.patch
diff --git a/patches/mpfr/3.0.0/130-gamma_underflow.patch b/packages/mpfr/3.0.0/130-gamma_underflow.patch
index cf8a936..cf8a936 100644
--- a/patches/mpfr/3.0.0/130-gamma_underflow.patch
+++ b/packages/mpfr/3.0.0/130-gamma_underflow.patch
diff --git a/patches/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch b/packages/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch
index 67d6a6a..67d6a6a 100644
--- a/patches/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch
+++ b/packages/mpfr/3.0.0/140-mpfr_cmp_set_ui_si.patch
diff --git a/patches/mpfr/3.0.0/150-tcan_round.patch b/packages/mpfr/3.0.0/150-tcan_round.patch
index 292e7a5..292e7a5 100644
--- a/patches/mpfr/3.0.0/150-tcan_round.patch
+++ b/packages/mpfr/3.0.0/150-tcan_round.patch
diff --git a/patches/mpfr/3.0.0/160-mpfr_sub1.patch b/packages/mpfr/3.0.0/160-mpfr_sub1.patch
index 2ce98e9..2ce98e9 100644
--- a/patches/mpfr/3.0.0/160-mpfr_sub1.patch
+++ b/packages/mpfr/3.0.0/160-mpfr_sub1.patch
diff --git a/patches/mpfr/3.0.0/170-mpfr_set_ld.patch b/packages/mpfr/3.0.0/170-mpfr_set_ld.patch
index 9209afe..9209afe 100644
--- a/patches/mpfr/3.0.0/170-mpfr_set_ld.patch
+++ b/packages/mpfr/3.0.0/170-mpfr_set_ld.patch
diff --git a/patches/mpfr/3.0.0/180-macros.patch b/packages/mpfr/3.0.0/180-macros.patch
index 58a490f..58a490f 100644
--- a/patches/mpfr/3.0.0/180-macros.patch
+++ b/packages/mpfr/3.0.0/180-macros.patch
diff --git a/packages/mpfr/3.0.0/version.desc b/packages/mpfr/3.0.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.0.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.0.1/110-asin_exprange.patch b/packages/mpfr/3.0.1/110-asin_exprange.patch
index d79a6f9..d79a6f9 100644
--- a/patches/mpfr/3.0.1/110-asin_exprange.patch
+++ b/packages/mpfr/3.0.1/110-asin_exprange.patch
diff --git a/patches/mpfr/3.0.1/120-rec_sqrt-carry.patch b/packages/mpfr/3.0.1/120-rec_sqrt-carry.patch
index 0367d84..0367d84 100644
--- a/patches/mpfr/3.0.1/120-rec_sqrt-carry.patch
+++ b/packages/mpfr/3.0.1/120-rec_sqrt-carry.patch
diff --git a/patches/mpfr/3.0.1/130-atan-expo-range.patch b/packages/mpfr/3.0.1/130-atan-expo-range.patch
index 251b837..251b837 100644
--- a/patches/mpfr/3.0.1/130-atan-expo-range.patch
+++ b/packages/mpfr/3.0.1/130-atan-expo-range.patch
diff --git a/patches/mpfr/3.0.1/140-texp-zero.patch b/packages/mpfr/3.0.1/140-texp-zero.patch
index fd74087..fd74087 100644
--- a/patches/mpfr/3.0.1/140-texp-zero.patch
+++ b/packages/mpfr/3.0.1/140-texp-zero.patch
diff --git a/packages/mpfr/3.0.1/version.desc b/packages/mpfr/3.0.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.0.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.1.0/110-mpfr_unlikely.patch b/packages/mpfr/3.1.0/110-mpfr_unlikely.patch
index 437b1a2..437b1a2 100644
--- a/patches/mpfr/3.1.0/110-mpfr_unlikely.patch
+++ b/packages/mpfr/3.1.0/110-mpfr_unlikely.patch
diff --git a/patches/mpfr/3.1.0/120-lib-search-path.patch b/packages/mpfr/3.1.0/120-lib-search-path.patch
index 4714ac9..4714ac9 100644
--- a/patches/mpfr/3.1.0/120-lib-search-path.patch
+++ b/packages/mpfr/3.1.0/120-lib-search-path.patch
diff --git a/patches/mpfr/3.1.0/130-vasprintf.patch b/packages/mpfr/3.1.0/130-vasprintf.patch
index aa1cfbc..aa1cfbc 100644
--- a/patches/mpfr/3.1.0/130-vasprintf.patch
+++ b/packages/mpfr/3.1.0/130-vasprintf.patch
diff --git a/patches/mpfr/3.1.0/140-gmp41compat.patch b/packages/mpfr/3.1.0/140-gmp41compat.patch
index 4b1ba08..4b1ba08 100644
--- a/patches/mpfr/3.1.0/140-gmp41compat.patch
+++ b/packages/mpfr/3.1.0/140-gmp41compat.patch
diff --git a/patches/mpfr/3.1.0/150-logging-freeze.patch b/packages/mpfr/3.1.0/150-logging-freeze.patch
index c664cee..c664cee 100644
--- a/patches/mpfr/3.1.0/150-logging-freeze.patch
+++ b/packages/mpfr/3.1.0/150-logging-freeze.patch
diff --git a/patches/mpfr/3.1.0/160-logging-varfmt.patch b/packages/mpfr/3.1.0/160-logging-varfmt.patch
index 0f4bfad..0f4bfad 100644
--- a/patches/mpfr/3.1.0/160-logging-varfmt.patch
+++ b/packages/mpfr/3.1.0/160-logging-varfmt.patch
diff --git a/patches/mpfr/3.1.0/170-large-prec.patch b/packages/mpfr/3.1.0/170-large-prec.patch
index 08e7b57..08e7b57 100644
--- a/patches/mpfr/3.1.0/170-large-prec.patch
+++ b/packages/mpfr/3.1.0/170-large-prec.patch
diff --git a/patches/mpfr/3.1.0/180-__gmp_const.patch b/packages/mpfr/3.1.0/180-__gmp_const.patch
index 94444b6..94444b6 100644
--- a/patches/mpfr/3.1.0/180-__gmp_const.patch
+++ b/packages/mpfr/3.1.0/180-__gmp_const.patch
diff --git a/patches/mpfr/3.1.0/190-gamma-underflow.patch b/packages/mpfr/3.1.0/190-gamma-underflow.patch
index 3de1d19..3de1d19 100644
--- a/patches/mpfr/3.1.0/190-gamma-underflow.patch
+++ b/packages/mpfr/3.1.0/190-gamma-underflow.patch
diff --git a/patches/mpfr/3.1.0/200-gamma-overunderflow.patch b/packages/mpfr/3.1.0/200-gamma-overunderflow.patch
index e6d6051..e6d6051 100644
--- a/patches/mpfr/3.1.0/200-gamma-overunderflow.patch
+++ b/packages/mpfr/3.1.0/200-gamma-overunderflow.patch
diff --git a/packages/mpfr/3.1.0/version.desc b/packages/mpfr/3.1.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.1.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.1.1/110-get_decimal64.patch b/packages/mpfr/3.1.1/110-get_decimal64.patch
index d73a3d7..d73a3d7 100644
--- a/patches/mpfr/3.1.1/110-get_decimal64.patch
+++ b/packages/mpfr/3.1.1/110-get_decimal64.patch
diff --git a/patches/mpfr/3.1.1/120-strtofr-ternary-value.patch b/packages/mpfr/3.1.1/120-strtofr-ternary-value.patch
index 76dbc45..76dbc45 100644
--- a/patches/mpfr/3.1.1/120-strtofr-ternary-value.patch
+++ b/packages/mpfr/3.1.1/120-strtofr-ternary-value.patch
diff --git a/patches/mpfr/3.1.1/130-gmp51-compat.patch b/packages/mpfr/3.1.1/130-gmp51-compat.patch
index ecf7537..ecf7537 100644
--- a/patches/mpfr/3.1.1/130-gmp51-compat.patch
+++ b/packages/mpfr/3.1.1/130-gmp51-compat.patch
diff --git a/packages/mpfr/3.1.1/version.desc b/packages/mpfr/3.1.1/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.1.1/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.1.2/110-exp_2.patch b/packages/mpfr/3.1.2/110-exp_2.patch
index 731ea92..731ea92 100644
--- a/patches/mpfr/3.1.2/110-exp_2.patch
+++ b/packages/mpfr/3.1.2/110-exp_2.patch
diff --git a/patches/mpfr/3.1.2/120-fits-smallneg.patch b/packages/mpfr/3.1.2/120-fits-smallneg.patch
index b229c18..b229c18 100644
--- a/patches/mpfr/3.1.2/120-fits-smallneg.patch
+++ b/packages/mpfr/3.1.2/120-fits-smallneg.patch
diff --git a/patches/mpfr/3.1.2/130-clang-divby0.patch b/packages/mpfr/3.1.2/130-clang-divby0.patch
index 8e0cd8e..8e0cd8e 100644
--- a/patches/mpfr/3.1.2/130-clang-divby0.patch
+++ b/packages/mpfr/3.1.2/130-clang-divby0.patch
diff --git a/patches/mpfr/3.1.2/140-printf-alt0.patch b/packages/mpfr/3.1.2/140-printf-alt0.patch
index 2451f36..2451f36 100644
--- a/patches/mpfr/3.1.2/140-printf-alt0.patch
+++ b/packages/mpfr/3.1.2/140-printf-alt0.patch
diff --git a/patches/mpfr/3.1.2/150-custom_init_set.patch b/packages/mpfr/3.1.2/150-custom_init_set.patch
index 669b91d..669b91d 100644
--- a/patches/mpfr/3.1.2/150-custom_init_set.patch
+++ b/packages/mpfr/3.1.2/150-custom_init_set.patch
diff --git a/patches/mpfr/3.1.2/160-li2-return.patch b/packages/mpfr/3.1.2/160-li2-return.patch
index 50cd04d..50cd04d 100644
--- a/patches/mpfr/3.1.2/160-li2-return.patch
+++ b/packages/mpfr/3.1.2/160-li2-return.patch
diff --git a/patches/mpfr/3.1.2/170-exp3.patch b/packages/mpfr/3.1.2/170-exp3.patch
index 378c3bf..378c3bf 100644
--- a/patches/mpfr/3.1.2/170-exp3.patch
+++ b/packages/mpfr/3.1.2/170-exp3.patch
diff --git a/patches/mpfr/3.1.2/180-gmp6-compat.patch b/packages/mpfr/3.1.2/180-gmp6-compat.patch
index 2245c7c..2245c7c 100644
--- a/patches/mpfr/3.1.2/180-gmp6-compat.patch
+++ b/packages/mpfr/3.1.2/180-gmp6-compat.patch
diff --git a/patches/mpfr/3.1.2/190-div-overflow.patch b/packages/mpfr/3.1.2/190-div-overflow.patch
index 6ff7c4a..6ff7c4a 100644
--- a/patches/mpfr/3.1.2/190-div-overflow.patch
+++ b/packages/mpfr/3.1.2/190-div-overflow.patch
diff --git a/patches/mpfr/3.1.2/200-vasprintf.patch b/packages/mpfr/3.1.2/200-vasprintf.patch
index 43848f7..43848f7 100644
--- a/patches/mpfr/3.1.2/200-vasprintf.patch
+++ b/packages/mpfr/3.1.2/200-vasprintf.patch
diff --git a/patches/mpfr/3.1.2/210-strtofr.patch b/packages/mpfr/3.1.2/210-strtofr.patch
index 462162e..462162e 100644
--- a/patches/mpfr/3.1.2/210-strtofr.patch
+++ b/packages/mpfr/3.1.2/210-strtofr.patch
diff --git a/packages/mpfr/3.1.2/version.desc b/packages/mpfr/3.1.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.1.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/mpfr/3.1.3/110-lngamma-and-doc.patch b/packages/mpfr/3.1.3/110-lngamma-and-doc.patch
index d7e1cbf..d7e1cbf 100644
--- a/patches/mpfr/3.1.3/110-lngamma-and-doc.patch
+++ b/packages/mpfr/3.1.3/110-lngamma-and-doc.patch
diff --git a/patches/mpfr/3.1.3/120-muldiv-2exp-overflow.patch b/packages/mpfr/3.1.3/120-muldiv-2exp-overflow.patch
index df711fd..df711fd 100644
--- a/patches/mpfr/3.1.3/120-muldiv-2exp-overflow.patch
+++ b/packages/mpfr/3.1.3/120-muldiv-2exp-overflow.patch
diff --git a/patches/mpfr/3.1.3/130-muldiv-2exp-underflow.patch b/packages/mpfr/3.1.3/130-muldiv-2exp-underflow.patch
index c7be09f..c7be09f 100644
--- a/patches/mpfr/3.1.3/130-muldiv-2exp-underflow.patch
+++ b/packages/mpfr/3.1.3/130-muldiv-2exp-underflow.patch
diff --git a/patches/mpfr/3.1.3/140-frexp.patch b/packages/mpfr/3.1.3/140-frexp.patch
index e0d5e09..e0d5e09 100644
--- a/patches/mpfr/3.1.3/140-frexp.patch
+++ b/packages/mpfr/3.1.3/140-frexp.patch
diff --git a/patches/mpfr/3.1.3/150-divhigh-basecase.patch b/packages/mpfr/3.1.3/150-divhigh-basecase.patch
index ef8d891..ef8d891 100644
--- a/patches/mpfr/3.1.3/150-divhigh-basecase.patch
+++ b/packages/mpfr/3.1.3/150-divhigh-basecase.patch
diff --git a/patches/mpfr/3.1.3/160-jn.patch b/packages/mpfr/3.1.3/160-jn.patch
index e7d04fa..e7d04fa 100644
--- a/patches/mpfr/3.1.3/160-jn.patch
+++ b/packages/mpfr/3.1.3/160-jn.patch
diff --git a/patches/mpfr/3.1.3/170-zeta.patch b/packages/mpfr/3.1.3/170-zeta.patch
index 12faf1d..12faf1d 100644
--- a/patches/mpfr/3.1.3/170-zeta.patch
+++ b/packages/mpfr/3.1.3/170-zeta.patch
diff --git a/patches/mpfr/3.1.3/180-sqrt.patch b/packages/mpfr/3.1.3/180-sqrt.patch
index 4887009..4887009 100644
--- a/patches/mpfr/3.1.3/180-sqrt.patch
+++ b/packages/mpfr/3.1.3/180-sqrt.patch
diff --git a/patches/mpfr/3.1.3/190-si-ops.patch b/packages/mpfr/3.1.3/190-si-ops.patch
index e4df233..e4df233 100644
--- a/patches/mpfr/3.1.3/190-si-ops.patch
+++ b/packages/mpfr/3.1.3/190-si-ops.patch
diff --git a/patches/mpfr/3.1.3/200-can_round.patch b/packages/mpfr/3.1.3/200-can_round.patch
index 6c0f79a..6c0f79a 100644
--- a/patches/mpfr/3.1.3/200-can_round.patch
+++ b/packages/mpfr/3.1.3/200-can_round.patch
diff --git a/patches/mpfr/3.1.3/210-fits.patch b/packages/mpfr/3.1.3/210-fits.patch
index 888389c..888389c 100644
--- a/patches/mpfr/3.1.3/210-fits.patch
+++ b/packages/mpfr/3.1.3/210-fits.patch
diff --git a/patches/mpfr/3.1.3/220-root.patch b/packages/mpfr/3.1.3/220-root.patch
index 9cd62a7..9cd62a7 100644
--- a/patches/mpfr/3.1.3/220-root.patch
+++ b/packages/mpfr/3.1.3/220-root.patch
diff --git a/patches/mpfr/3.1.3/230-gamma.patch b/packages/mpfr/3.1.3/230-gamma.patch
index 47d4e41..47d4e41 100644
--- a/patches/mpfr/3.1.3/230-gamma.patch
+++ b/packages/mpfr/3.1.3/230-gamma.patch
diff --git a/patches/mpfr/3.1.3/240-rem1.patch b/packages/mpfr/3.1.3/240-rem1.patch
index 9d5e3c1..9d5e3c1 100644
--- a/patches/mpfr/3.1.3/240-rem1.patch
+++ b/packages/mpfr/3.1.3/240-rem1.patch
diff --git a/patches/mpfr/3.1.3/250-agm-eq.patch b/packages/mpfr/3.1.3/250-agm-eq.patch
index e59e914..e59e914 100644
--- a/patches/mpfr/3.1.3/250-agm-eq.patch
+++ b/packages/mpfr/3.1.3/250-agm-eq.patch
diff --git a/patches/mpfr/3.1.3/260-sum.patch b/packages/mpfr/3.1.3/260-sum.patch
index 6fae047..6fae047 100644
--- a/patches/mpfr/3.1.3/260-sum.patch
+++ b/packages/mpfr/3.1.3/260-sum.patch
diff --git a/patches/mpfr/3.1.3/270-cmp_d.patch b/packages/mpfr/3.1.3/270-cmp_d.patch
index f22e27a..f22e27a 100644
--- a/patches/mpfr/3.1.3/270-cmp_d.patch
+++ b/packages/mpfr/3.1.3/270-cmp_d.patch
diff --git a/packages/mpfr/3.1.3/version.desc b/packages/mpfr/3.1.3/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/mpfr/3.1.3/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/mpfr/3.1.5/version.desc b/packages/mpfr/3.1.5/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/mpfr/3.1.5/version.desc
diff --git a/packages/mpfr/package.desc b/packages/mpfr/package.desc
new file mode 100644
index 0000000..afab5e5
--- /dev/null
+++ b/packages/mpfr/package.desc
@@ -0,0 +1,4 @@
+repository='svn https://scm.gforge.inria.fr/anonscm/svn/mpfr'
+# TBD: meta-package autoconf-archive to install extra m4's
+bootstrap='wget -O m4/ax_pthread.m4 \\"http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_pthread.m4\\" && ./autogen.sh'
+mirrors='http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)'
diff --git a/packages/musl/1.1.15/version.desc b/packages/musl/1.1.15/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/musl/1.1.15/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/musl/1.1.16/version.desc b/packages/musl/1.1.16/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/musl/1.1.16/version.desc
diff --git a/packages/musl/package.desc b/packages/musl/package.desc
new file mode 100644
index 0000000..f1b73dc
--- /dev/null
+++ b/packages/musl/package.desc
@@ -0,0 +1,2 @@
+repository='git git://git.musl-libc.org/musl'
+mirrors='http://www.musl-libc.org/releases'
diff --git a/patches/ncurses/6.0/100-ncurses-6.0-20150810.patch b/packages/ncurses/6.0/100-ncurses-6.0-20150810.patch
index 76f238f..76f238f 100644
--- a/patches/ncurses/6.0/100-ncurses-6.0-20150810.patch
+++ b/packages/ncurses/6.0/100-ncurses-6.0-20150810.patch
diff --git a/patches/ncurses/6.0/110-ncurses-6.0-20150815.patch b/packages/ncurses/6.0/110-ncurses-6.0-20150815.patch
index 21fe06e..21fe06e 100644
--- a/patches/ncurses/6.0/110-ncurses-6.0-20150815.patch
+++ b/packages/ncurses/6.0/110-ncurses-6.0-20150815.patch
diff --git a/patches/ncurses/6.0/120-ncurses-6.0-20150822.patch b/packages/ncurses/6.0/120-ncurses-6.0-20150822.patch
index 202ffe8..202ffe8 100644
--- a/patches/ncurses/6.0/120-ncurses-6.0-20150822.patch
+++ b/packages/ncurses/6.0/120-ncurses-6.0-20150822.patch
diff --git a/patches/ncurses/6.0/130-ncurses-6.0-20150905.patch b/packages/ncurses/6.0/130-ncurses-6.0-20150905.patch
index 76dd45c..76dd45c 100644
--- a/patches/ncurses/6.0/130-ncurses-6.0-20150905.patch
+++ b/packages/ncurses/6.0/130-ncurses-6.0-20150905.patch
diff --git a/patches/ncurses/6.0/140-ncurses-6.0-20150912.patch b/packages/ncurses/6.0/140-ncurses-6.0-20150912.patch
index 4d698f4..4d698f4 100644
--- a/patches/ncurses/6.0/140-ncurses-6.0-20150912.patch
+++ b/packages/ncurses/6.0/140-ncurses-6.0-20150912.patch
diff --git a/patches/ncurses/6.0/150-ncurses-6.0-20150919.patch b/packages/ncurses/6.0/150-ncurses-6.0-20150919.patch
index 13646a7..13646a7 100644
--- a/patches/ncurses/6.0/150-ncurses-6.0-20150919.patch
+++ b/packages/ncurses/6.0/150-ncurses-6.0-20150919.patch
diff --git a/patches/ncurses/6.0/160-ncurses-6.0-20150926.patch b/packages/ncurses/6.0/160-ncurses-6.0-20150926.patch
index d675a26..d675a26 100644
--- a/patches/ncurses/6.0/160-ncurses-6.0-20150926.patch
+++ b/packages/ncurses/6.0/160-ncurses-6.0-20150926.patch
diff --git a/patches/ncurses/6.0/170-ncurses-6.0-20151010.patch b/packages/ncurses/6.0/170-ncurses-6.0-20151010.patch
index 1f9e949..1f9e949 100644
--- a/patches/ncurses/6.0/170-ncurses-6.0-20151010.patch
+++ b/packages/ncurses/6.0/170-ncurses-6.0-20151010.patch
diff --git a/patches/ncurses/6.0/180-ncurses-6.0-20151017.patch b/packages/ncurses/6.0/180-ncurses-6.0-20151017.patch
index 6bb1cd3..6bb1cd3 100644
--- a/patches/ncurses/6.0/180-ncurses-6.0-20151017.patch
+++ b/packages/ncurses/6.0/180-ncurses-6.0-20151017.patch
diff --git a/patches/ncurses/6.0/190-ncurses-6.0-20151024.patch b/packages/ncurses/6.0/190-ncurses-6.0-20151024.patch
index 61f922f..61f922f 100644
--- a/patches/ncurses/6.0/190-ncurses-6.0-20151024.patch
+++ b/packages/ncurses/6.0/190-ncurses-6.0-20151024.patch
diff --git a/patches/ncurses/6.0/200-ncurses-6.0-20151101.patch b/packages/ncurses/6.0/200-ncurses-6.0-20151101.patch
index 7cae284..7cae284 100644
--- a/patches/ncurses/6.0/200-ncurses-6.0-20151101.patch
+++ b/packages/ncurses/6.0/200-ncurses-6.0-20151101.patch
diff --git a/patches/ncurses/6.0/210-ncurses-6.0-20151107.patch b/packages/ncurses/6.0/210-ncurses-6.0-20151107.patch
index f2567c9..f2567c9 100644
--- a/patches/ncurses/6.0/210-ncurses-6.0-20151107.patch
+++ b/packages/ncurses/6.0/210-ncurses-6.0-20151107.patch
diff --git a/patches/ncurses/6.0/999-create-run_tic.patch b/packages/ncurses/6.0/999-create-run_tic.patch
index 7c4fb0d..7c4fb0d 100644
--- a/patches/ncurses/6.0/999-create-run_tic.patch
+++ b/packages/ncurses/6.0/999-create-run_tic.patch
diff --git a/packages/ncurses/6.0/version.desc b/packages/ncurses/6.0/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/ncurses/6.0/version.desc
diff --git a/packages/ncurses/package.desc b/packages/ncurses/package.desc
new file mode 100644
index 0000000..bb5646d
--- /dev/null
+++ b/packages/ncurses/package.desc
@@ -0,0 +1,2 @@
+# No public repository for ncurses
+mirrors='ftp://invisible-island.net/ncurses $(CT_Mirrors GNU ncurses)'
diff --git a/patches/newlib/linaro-2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib-linaro/2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/linaro-2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib-linaro/2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/linaro-2.1.0-2014.09/110-fix-eabihf.patch b/packages/newlib-linaro/2.1.0-2014.09/110-fix-eabihf.patch
index 21a3149..21a3149 100644
--- a/patches/newlib/linaro-2.1.0-2014.09/110-fix-eabihf.patch
+++ b/packages/newlib-linaro/2.1.0-2014.09/110-fix-eabihf.patch
diff --git a/patches/newlib/linaro-2.1.0-2014.09/200-fix-mt-cflags.patch b/packages/newlib-linaro/2.1.0-2014.09/200-fix-mt-cflags.patch
index f64c170..f64c170 100644
--- a/patches/newlib/linaro-2.1.0-2014.09/200-fix-mt-cflags.patch
+++ b/packages/newlib-linaro/2.1.0-2014.09/200-fix-mt-cflags.patch
diff --git a/packages/newlib-linaro/2.1.0-2014.09/version.desc b/packages/newlib-linaro/2.1.0-2014.09/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib-linaro/2.1.0-2014.09/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/linaro-2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib-linaro/2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/linaro-2.1.0-2014.09/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib-linaro/2.2.0-2015.01/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/linaro-2.2.0-2015.01/110-fix-eabihf.patch b/packages/newlib-linaro/2.2.0-2015.01/110-fix-eabihf.patch
index 1fa21cc..1fa21cc 100644
--- a/patches/newlib/linaro-2.2.0-2015.01/110-fix-eabihf.patch
+++ b/packages/newlib-linaro/2.2.0-2015.01/110-fix-eabihf.patch
diff --git a/patches/newlib/linaro-2.2.0-2015.01/200-fix-mt-cflags.patch b/packages/newlib-linaro/2.2.0-2015.01/200-fix-mt-cflags.patch
index 68e935b..68e935b 100644
--- a/patches/newlib/linaro-2.2.0-2015.01/200-fix-mt-cflags.patch
+++ b/packages/newlib-linaro/2.2.0-2015.01/200-fix-mt-cflags.patch
diff --git a/packages/newlib-linaro/2.2.0-2015.01/version.desc b/packages/newlib-linaro/2.2.0-2015.01/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib-linaro/2.2.0-2015.01/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/newlib-linaro/package.desc b/packages/newlib-linaro/package.desc
new file mode 100644
index 0000000..a11646d
--- /dev/null
+++ b/packages/newlib-linaro/package.desc
@@ -0,0 +1,5 @@
+origin='Linaro'
+master='newlib'
+repository='git https://git.linaro.org/toolchain/newlib.git'
+mirrors='$(CT_Mirrors Linaro newlib ${CT_NEWLIB_LINARO_VERSION})'
+experimental='yes'
diff --git a/patches/newlib/1.17.0/110-fix-eabihf.patch b/packages/newlib/1.17.0/110-fix-eabihf.patch
index d896ad0..d896ad0 100644
--- a/patches/newlib/1.17.0/110-fix-eabihf.patch
+++ b/packages/newlib/1.17.0/110-fix-eabihf.patch
diff --git a/patches/newlib/1.17.0/200-fix-mt-cflags.patch b/packages/newlib/1.17.0/200-fix-mt-cflags.patch
index f97ba15..f97ba15 100644
--- a/patches/newlib/1.17.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/1.17.0/200-fix-mt-cflags.patch
diff --git a/patches/newlib/1.17.0/999-fix-arm-build.patch b/packages/newlib/1.17.0/999-fix-arm-build.patch
index 154a92f..154a92f 100644
--- a/patches/newlib/1.17.0/999-fix-arm-build.patch
+++ b/packages/newlib/1.17.0/999-fix-arm-build.patch
diff --git a/packages/newlib/1.17.0/version.desc b/packages/newlib/1.17.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/1.17.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch
index 6214ee5..6214ee5 100644
--- a/patches/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/1.18.0/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/1.18.0/110-fix-eabihf.patch b/packages/newlib/1.18.0/110-fix-eabihf.patch
index c2868b9..c2868b9 100644
--- a/patches/newlib/1.18.0/110-fix-eabihf.patch
+++ b/packages/newlib/1.18.0/110-fix-eabihf.patch
diff --git a/patches/newlib/1.18.0/200-fix-mt-cflags.patch b/packages/newlib/1.18.0/200-fix-mt-cflags.patch
index 718e0c9..718e0c9 100644
--- a/patches/newlib/1.18.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/1.18.0/200-fix-mt-cflags.patch
diff --git a/packages/newlib/1.18.0/version.desc b/packages/newlib/1.18.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/1.18.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch
index 191363a..191363a 100644
--- a/patches/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/1.19.0/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/1.19.0/110-fix-eabihf.patch b/packages/newlib/1.19.0/110-fix-eabihf.patch
index 69ddff3..69ddff3 100644
--- a/patches/newlib/1.19.0/110-fix-eabihf.patch
+++ b/packages/newlib/1.19.0/110-fix-eabihf.patch
diff --git a/patches/newlib/1.19.0/200-fix-mt-cflags.patch b/packages/newlib/1.19.0/200-fix-mt-cflags.patch
index 9158e90..9158e90 100644
--- a/patches/newlib/1.19.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/1.19.0/200-fix-mt-cflags.patch
diff --git a/packages/newlib/1.19.0/version.desc b/packages/newlib/1.19.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/1.19.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/1.20.0/110-fix-eabihf.patch b/packages/newlib/1.20.0/110-fix-eabihf.patch
index 8e30823..8e30823 100644
--- a/patches/newlib/1.20.0/110-fix-eabihf.patch
+++ b/packages/newlib/1.20.0/110-fix-eabihf.patch
diff --git a/patches/newlib/1.20.0/200-fix-mt-cflags.patch b/packages/newlib/1.20.0/200-fix-mt-cflags.patch
index b470af7..b470af7 100644
--- a/patches/newlib/1.20.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/1.20.0/200-fix-mt-cflags.patch
diff --git a/packages/newlib/1.20.0/version.desc b/packages/newlib/1.20.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/1.20.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.0.0/110-fix-eabihf.patch b/packages/newlib/2.0.0/110-fix-eabihf.patch
index 5bb2405..5bb2405 100644
--- a/patches/newlib/2.0.0/110-fix-eabihf.patch
+++ b/packages/newlib/2.0.0/110-fix-eabihf.patch
diff --git a/patches/newlib/2.0.0/200-fix-mt-cflags.patch b/packages/newlib/2.0.0/200-fix-mt-cflags.patch
index d2b0529..d2b0529 100644
--- a/patches/newlib/2.0.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.0.0/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.0.0/version.desc b/packages/newlib/2.0.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/2.0.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.1.0/110-fix-eabihf.patch b/packages/newlib/2.1.0/110-fix-eabihf.patch
index 5f91a23..5f91a23 100644
--- a/patches/newlib/2.1.0/110-fix-eabihf.patch
+++ b/packages/newlib/2.1.0/110-fix-eabihf.patch
diff --git a/patches/newlib/2.1.0/200-fix-mt-cflags.patch b/packages/newlib/2.1.0/200-fix-mt-cflags.patch
index 57839ed..57839ed 100644
--- a/patches/newlib/2.1.0/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.1.0/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.1.0/version.desc b/packages/newlib/2.1.0/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/2.1.0/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.2.0.20151023/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.2.0.20151023/110-fix-eabihf.patch b/packages/newlib/2.2.0.20151023/110-fix-eabihf.patch
index 2d5a3ff..2d5a3ff 100644
--- a/patches/newlib/2.2.0.20151023/110-fix-eabihf.patch
+++ b/packages/newlib/2.2.0.20151023/110-fix-eabihf.patch
diff --git a/patches/newlib/2.2.0.20151023/200-fix-mt-cflags.patch b/packages/newlib/2.2.0.20151023/200-fix-mt-cflags.patch
index e1d8c02..e1d8c02 100644
--- a/patches/newlib/2.2.0.20151023/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.2.0.20151023/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.2.0.20151023/version.desc b/packages/newlib/2.2.0.20151023/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/2.2.0.20151023/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.1.0/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.3.0.20160226/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.3.0.20160226/110-fix-eabihf.patch b/packages/newlib/2.3.0.20160226/110-fix-eabihf.patch
index 37d8842..37d8842 100644
--- a/patches/newlib/2.3.0.20160226/110-fix-eabihf.patch
+++ b/packages/newlib/2.3.0.20160226/110-fix-eabihf.patch
diff --git a/patches/newlib/2.3.0.20160226/200-fix-mt-cflags.patch b/packages/newlib/2.3.0.20160226/200-fix-mt-cflags.patch
index 8c080e4..8c080e4 100644
--- a/patches/newlib/2.3.0.20160226/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.3.0.20160226/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.3.0.20160226/version.desc b/packages/newlib/2.3.0.20160226/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/2.3.0.20160226/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/2.0.0/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.4.0.20161025/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.4.0.20161025/110-fix-eabihf.patch b/packages/newlib/2.4.0.20161025/110-fix-eabihf.patch
index 65122f1..65122f1 100644
--- a/patches/newlib/2.4.0.20161025/110-fix-eabihf.patch
+++ b/packages/newlib/2.4.0.20161025/110-fix-eabihf.patch
diff --git a/patches/newlib/2.4.0.20161025/200-fix-mt-cflags.patch b/packages/newlib/2.4.0.20161025/200-fix-mt-cflags.patch
index dcf6826..dcf6826 100644
--- a/patches/newlib/2.4.0.20161025/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.4.0.20161025/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.4.0.20161025/version.desc b/packages/newlib/2.4.0.20161025/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/newlib/2.4.0.20161025/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch
index 1d0b49b..1d0b49b 100644
--- a/patches/newlib/1.20.0/100-fix-unaligned-access-memcpy-m68k.patch
+++ b/packages/newlib/2.5.0.20170519/100-fix-unaligned-access-memcpy-m68k.patch
diff --git a/patches/newlib/2.5.0.20170519/200-fix-mt-cflags.patch b/packages/newlib/2.5.0.20170519/200-fix-mt-cflags.patch
index cc15551..cc15551 100644
--- a/patches/newlib/2.5.0.20170519/200-fix-mt-cflags.patch
+++ b/packages/newlib/2.5.0.20170519/200-fix-mt-cflags.patch
diff --git a/packages/newlib/2.5.0.20170519/version.desc b/packages/newlib/2.5.0.20170519/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/newlib/2.5.0.20170519/version.desc
diff --git a/packages/newlib/package.desc b/packages/newlib/package.desc
new file mode 100644
index 0000000..523bd47
--- /dev/null
+++ b/packages/newlib/package.desc
@@ -0,0 +1,5 @@
+origin='RedHat'
+repository='git git://sourceware.org/git/newlib-cygwin.git'
+mirrors='ftp://sourceware.org/pub/newlib'
+milestones='2.0 2.1 2.2'
+relevantpattern='*.*.*|.'
diff --git a/patches/strace/4.10/001_aarch64_rt_sigreturn.patch b/packages/strace/4.10/001_aarch64_rt_sigreturn.patch
index 6b7bbe3..6b7bbe3 100644
--- a/patches/strace/4.10/001_aarch64_rt_sigreturn.patch
+++ b/packages/strace/4.10/001_aarch64_rt_sigreturn.patch
diff --git a/patches/strace/4.10/002_arm_mmap2.patch b/packages/strace/4.10/002_arm_mmap2.patch
index 41953e2..41953e2 100644
--- a/patches/strace/4.10/002_arm_mmap2.patch
+++ b/packages/strace/4.10/002_arm_mmap2.patch
diff --git a/patches/strace/4.10/003_aarch64_arch_regs.patch b/packages/strace/4.10/003_aarch64_arch_regs.patch
index e5153b5..e5153b5 100644
--- a/patches/strace/4.10/003_aarch64_arch_regs.patch
+++ b/packages/strace/4.10/003_aarch64_arch_regs.patch
diff --git a/patches/strace/4.10/004_stat64-v.test.patch b/packages/strace/4.10/004_stat64-v.test.patch
index 53383e3..53383e3 100644
--- a/patches/strace/4.10/004_stat64-v.test.patch
+++ b/packages/strace/4.10/004_stat64-v.test.patch
diff --git a/patches/strace/4.10/005_select_test.patch b/packages/strace/4.10/005_select_test.patch
index cb56ec6..cb56ec6 100644
--- a/patches/strace/4.10/005_select_test.patch
+++ b/packages/strace/4.10/005_select_test.patch
diff --git a/patches/strace/4.10/006_fix_aarch64_ioctl_decoding.patch b/packages/strace/4.10/006_fix_aarch64_ioctl_decoding.patch
index a270349..a270349 100644
--- a/patches/strace/4.10/006_fix_aarch64_ioctl_decoding.patch
+++ b/packages/strace/4.10/006_fix_aarch64_ioctl_decoding.patch
diff --git a/patches/strace/4.10/007_fix_bexecve64_test.patch b/packages/strace/4.10/007_fix_bexecve64_test.patch
index 6dc9b46..6dc9b46 100644
--- a/patches/strace/4.10/007_fix_bexecve64_test.patch
+++ b/packages/strace/4.10/007_fix_bexecve64_test.patch
diff --git a/patches/strace/4.10/008_decode_mips_indirect_syscall.patch b/packages/strace/4.10/008_decode_mips_indirect_syscall.patch
index d2d7217..d2d7217 100644
--- a/patches/strace/4.10/008_decode_mips_indirect_syscall.patch
+++ b/packages/strace/4.10/008_decode_mips_indirect_syscall.patch
diff --git a/patches/strace/4.10/009-upstream-musl_includes.patch b/packages/strace/4.10/009-upstream-musl_includes.patch
index c68f8d8..c68f8d8 100644
--- a/patches/strace/4.10/009-upstream-musl_includes.patch
+++ b/packages/strace/4.10/009-upstream-musl_includes.patch
diff --git a/patches/strace/4.10/010-use-host-ioctl.patch b/packages/strace/4.10/010-use-host-ioctl.patch
index e9c34d3..e9c34d3 100644
--- a/patches/strace/4.10/010-use-host-ioctl.patch
+++ b/packages/strace/4.10/010-use-host-ioctl.patch
diff --git a/packages/strace/4.10/version.desc b/packages/strace/4.10/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.10/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.11/010-use-host-ioctl.patch b/packages/strace/4.11/010-use-host-ioctl.patch
index 5155200..5155200 100644
--- a/patches/strace/4.11/010-use-host-ioctl.patch
+++ b/packages/strace/4.11/010-use-host-ioctl.patch
diff --git a/packages/strace/4.11/version.desc b/packages/strace/4.11/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.11/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.12/010-use-host-ioctl.patch b/packages/strace/4.12/010-use-host-ioctl.patch
index bd5a40e..bd5a40e 100644
--- a/patches/strace/4.12/010-use-host-ioctl.patch
+++ b/packages/strace/4.12/010-use-host-ioctl.patch
diff --git a/packages/strace/4.12/version.desc b/packages/strace/4.12/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.12/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.13/010-use-host-ioctl.patch b/packages/strace/4.13/010-use-host-ioctl.patch
index 40ebbf3..40ebbf3 100644
--- a/patches/strace/4.13/010-use-host-ioctl.patch
+++ b/packages/strace/4.13/010-use-host-ioctl.patch
diff --git a/packages/strace/4.13/version.desc b/packages/strace/4.13/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.13/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.14/010-use-host-ioctl.patch b/packages/strace/4.14/010-use-host-ioctl.patch
index 2c7671f..2c7671f 100644
--- a/patches/strace/4.14/010-use-host-ioctl.patch
+++ b/packages/strace/4.14/010-use-host-ioctl.patch
diff --git a/packages/strace/4.14/version.desc b/packages/strace/4.14/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.14/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.15/010-use-host-ioctl.patch b/packages/strace/4.15/010-use-host-ioctl.patch
index 71d380a..71d380a 100644
--- a/patches/strace/4.15/010-use-host-ioctl.patch
+++ b/packages/strace/4.15/010-use-host-ioctl.patch
diff --git a/packages/strace/4.15/version.desc b/packages/strace/4.15/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/strace/4.15/version.desc
diff --git a/packages/strace/4.16/version.desc b/packages/strace/4.16/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/strace/4.16/version.desc
diff --git a/patches/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch b/packages/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch
index ebbf69a..ebbf69a 100644
--- a/patches/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch
+++ b/packages/strace/4.5.18/110-dont-use-REG_SYSCALL-for-sh.patch
diff --git a/patches/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch b/packages/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch
index 2f47dc9..2f47dc9 100644
--- a/patches/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch
+++ b/packages/strace/4.5.18/130-fix-disabled-largefile-syscalls.patch
diff --git a/patches/strace/4.5.18/140-statfs64-check.patch b/packages/strace/4.5.18/140-statfs64-check.patch
index 758966b..758966b 100644
--- a/patches/strace/4.5.18/140-statfs64-check.patch
+++ b/packages/strace/4.5.18/140-statfs64-check.patch
diff --git a/patches/strace/4.5.18/160-fix-check-for-linux-netlink.patch b/packages/strace/4.5.18/160-fix-check-for-linux-netlink.patch
index e12b4e4..e12b4e4 100644
--- a/patches/strace/4.5.18/160-fix-check-for-linux-netlink.patch
+++ b/packages/strace/4.5.18/160-fix-check-for-linux-netlink.patch
diff --git a/patches/strace/4.5.18/160-undef-syscall.patch b/packages/strace/4.5.18/160-undef-syscall.patch
index c7dcb07..c7dcb07 100644
--- a/patches/strace/4.5.18/160-undef-syscall.patch
+++ b/packages/strace/4.5.18/160-undef-syscall.patch
diff --git a/patches/strace/4.5.18/170-no_cachectl.patch b/packages/strace/4.5.18/170-no_cachectl.patch
index a8fab23..a8fab23 100644
--- a/patches/strace/4.5.18/170-no_cachectl.patch
+++ b/packages/strace/4.5.18/170-no_cachectl.patch
diff --git a/patches/strace/4.5.18/180-arm-EABI-syscalls.patch b/packages/strace/4.5.18/180-arm-EABI-syscalls.patch
index 1f28450..1f28450 100644
--- a/patches/strace/4.5.18/180-arm-EABI-syscalls.patch
+++ b/packages/strace/4.5.18/180-arm-EABI-syscalls.patch
diff --git a/patches/strace/4.5.18/900-autoreconf.patch b/packages/strace/4.5.18/900-autoreconf.patch
index cff775f..cff775f 100644
--- a/patches/strace/4.5.18/900-autoreconf.patch
+++ b/packages/strace/4.5.18/900-autoreconf.patch
diff --git a/packages/strace/4.5.18/version.desc b/packages/strace/4.5.18/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.5.18/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch b/packages/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
index a555fc2..a555fc2 100644
--- a/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
+++ b/packages/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch
diff --git a/patches/strace/4.5.19/130-statfs64-check.patch b/packages/strace/4.5.19/130-statfs64-check.patch
index 0959bdd..0959bdd 100644
--- a/patches/strace/4.5.19/130-statfs64-check.patch
+++ b/packages/strace/4.5.19/130-statfs64-check.patch
diff --git a/patches/strace/4.5.19/150-undef-syscall.patch b/packages/strace/4.5.19/150-undef-syscall.patch
index 7d65e1d..7d65e1d 100644
--- a/patches/strace/4.5.19/150-undef-syscall.patch
+++ b/packages/strace/4.5.19/150-undef-syscall.patch
diff --git a/patches/strace/4.5.19/160-fix-check-for-linux-netlink.patch b/packages/strace/4.5.19/160-fix-check-for-linux-netlink.patch
index d8c6b2a..d8c6b2a 100644
--- a/patches/strace/4.5.19/160-fix-check-for-linux-netlink.patch
+++ b/packages/strace/4.5.19/160-fix-check-for-linux-netlink.patch
diff --git a/patches/strace/4.5.19/170-update-configure.patch b/packages/strace/4.5.19/170-update-configure.patch
index 5d12276..5d12276 100644
--- a/patches/strace/4.5.19/170-update-configure.patch
+++ b/packages/strace/4.5.19/170-update-configure.patch
diff --git a/packages/strace/4.5.19/version.desc b/packages/strace/4.5.19/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.5.19/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/strace/4.5.20/version.desc b/packages/strace/4.5.20/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.5.20/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/strace/4.6/version.desc b/packages/strace/4.6/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.6/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/strace/4.7/version.desc b/packages/strace/4.7/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.7/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch b/packages/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch
index 49a71e1..49a71e1 100644
--- a/patches/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch
+++ b/packages/strace/4.8/001-strace-4.8-glibc_2.18_build_fix-1.patch
diff --git a/packages/strace/4.8/version.desc b/packages/strace/4.8/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.8/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/strace/4.9/version.desc b/packages/strace/4.9/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/strace/4.9/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/strace/package.desc b/packages/strace/package.desc
new file mode 100644
index 0000000..7b035c2
--- /dev/null
+++ b/packages/strace/package.desc
@@ -0,0 +1,3 @@
+repository='git https://git.code.sf.net/p/strace/code'
+bootstrap='./bootstrap'
+mirrors='http://downloads.sourceforge.net/project/strace/strace/${CT_STRACE_VERSION}'
diff --git a/patches/uClibc-ng/1.0.20/100-xtensa-static-link.patch b/packages/uClibc-ng/1.0.20/100-xtensa-static-link.patch
index 3f8a518..3f8a518 100644
--- a/patches/uClibc-ng/1.0.20/100-xtensa-static-link.patch
+++ b/packages/uClibc-ng/1.0.20/100-xtensa-static-link.patch
diff --git a/patches/uClibc-ng/1.0.21/110-has-lfs.patch b/packages/uClibc-ng/1.0.20/110-has-lfs.patch
index c5b90de..c5b90de 100644
--- a/patches/uClibc-ng/1.0.21/110-has-lfs.patch
+++ b/packages/uClibc-ng/1.0.20/110-has-lfs.patch
diff --git a/patches/uClibc-ng/1.0.22/500-no-install-D.patch b/packages/uClibc-ng/1.0.20/500-no-install-D.patch
index 83d3ff6..83d3ff6 100644
--- a/patches/uClibc-ng/1.0.22/500-no-install-D.patch
+++ b/packages/uClibc-ng/1.0.20/500-no-install-D.patch
diff --git a/patches/uClibc-ng/1.0.22/600-prefer-multilib.patch b/packages/uClibc-ng/1.0.20/600-prefer-multilib.patch
index 4338f9f..4338f9f 100644
--- a/patches/uClibc-ng/1.0.22/600-prefer-multilib.patch
+++ b/packages/uClibc-ng/1.0.20/600-prefer-multilib.patch
diff --git a/patches/uClibc-ng/1.0.24/700-features.h-c11.patch b/packages/uClibc-ng/1.0.20/700-features.h-c11.patch
index cb1d2a8..cb1d2a8 100644
--- a/patches/uClibc-ng/1.0.24/700-features.h-c11.patch
+++ b/packages/uClibc-ng/1.0.20/700-features.h-c11.patch
diff --git a/packages/uClibc-ng/1.0.20/version.desc b/packages/uClibc-ng/1.0.20/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/uClibc-ng/1.0.20/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/uClibc-ng/1.0.20/110-has-lfs.patch b/packages/uClibc-ng/1.0.21/110-has-lfs.patch
index c5b90de..c5b90de 100644
--- a/patches/uClibc-ng/1.0.20/110-has-lfs.patch
+++ b/packages/uClibc-ng/1.0.21/110-has-lfs.patch
diff --git a/patches/uClibc-ng/1.0.21/120-module.patch b/packages/uClibc-ng/1.0.21/120-module.patch
index 2e8a989..2e8a989 100644
--- a/patches/uClibc-ng/1.0.21/120-module.patch
+++ b/packages/uClibc-ng/1.0.21/120-module.patch
diff --git a/patches/uClibc-ng/1.0.21/500-no-install-D.patch b/packages/uClibc-ng/1.0.21/500-no-install-D.patch
index 83d3ff6..83d3ff6 100644
--- a/patches/uClibc-ng/1.0.21/500-no-install-D.patch
+++ b/packages/uClibc-ng/1.0.21/500-no-install-D.patch
diff --git a/patches/uClibc-ng/1.0.21/600-prefer-multilib.patch b/packages/uClibc-ng/1.0.21/600-prefer-multilib.patch
index 4338f9f..4338f9f 100644
--- a/patches/uClibc-ng/1.0.21/600-prefer-multilib.patch
+++ b/packages/uClibc-ng/1.0.21/600-prefer-multilib.patch
diff --git a/patches/uClibc-ng/1.0.23/700-features.h-c11.patch b/packages/uClibc-ng/1.0.21/700-features.h-c11.patch
index cb1d2a8..cb1d2a8 100644
--- a/patches/uClibc-ng/1.0.23/700-features.h-c11.patch
+++ b/packages/uClibc-ng/1.0.21/700-features.h-c11.patch
diff --git a/packages/uClibc-ng/1.0.21/version.desc b/packages/uClibc-ng/1.0.21/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/uClibc-ng/1.0.21/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/patches/uClibc-ng/1.0.20/500-no-install-D.patch b/packages/uClibc-ng/1.0.22/500-no-install-D.patch
index 83d3ff6..83d3ff6 100644
--- a/patches/uClibc-ng/1.0.20/500-no-install-D.patch
+++ b/packages/uClibc-ng/1.0.22/500-no-install-D.patch
diff --git a/patches/uClibc-ng/1.0.20/600-prefer-multilib.patch b/packages/uClibc-ng/1.0.22/600-prefer-multilib.patch
index 4338f9f..4338f9f 100644
--- a/patches/uClibc-ng/1.0.20/600-prefer-multilib.patch
+++ b/packages/uClibc-ng/1.0.22/600-prefer-multilib.patch
diff --git a/patches/uClibc-ng/1.0.22/700-features.h-c11.patch b/packages/uClibc-ng/1.0.22/700-features.h-c11.patch
index cb1d2a8..cb1d2a8 100644
--- a/patches/uClibc-ng/1.0.22/700-features.h-c11.patch
+++ b/packages/uClibc-ng/1.0.22/700-features.h-c11.patch
diff --git a/packages/uClibc-ng/1.0.22/version.desc b/packages/uClibc-ng/1.0.22/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/uClibc-ng/1.0.22/version.desc
diff --git a/patches/uClibc-ng/1.0.21/700-features.h-c11.patch b/packages/uClibc-ng/1.0.23/700-features.h-c11.patch
index cb1d2a8..cb1d2a8 100644
--- a/patches/uClibc-ng/1.0.21/700-features.h-c11.patch
+++ b/packages/uClibc-ng/1.0.23/700-features.h-c11.patch
diff --git a/packages/uClibc-ng/1.0.23/version.desc b/packages/uClibc-ng/1.0.23/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/uClibc-ng/1.0.23/version.desc
diff --git a/patches/uClibc-ng/1.0.20/700-features.h-c11.patch b/packages/uClibc-ng/1.0.24/700-features.h-c11.patch
index cb1d2a8..cb1d2a8 100644
--- a/patches/uClibc-ng/1.0.20/700-features.h-c11.patch
+++ b/packages/uClibc-ng/1.0.24/700-features.h-c11.patch
diff --git a/packages/uClibc-ng/1.0.24/version.desc b/packages/uClibc-ng/1.0.24/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/uClibc-ng/1.0.24/version.desc
diff --git a/packages/uClibc-ng/1.0.25/version.desc b/packages/uClibc-ng/1.0.25/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/uClibc-ng/1.0.25/version.desc
diff --git a/packages/uClibc-ng/package.desc b/packages/uClibc-ng/package.desc
new file mode 100644
index 0000000..f03bd80
--- /dev/null
+++ b/packages/uClibc-ng/package.desc
@@ -0,0 +1,4 @@
+master='uClibc'
+origin='uclibc-ng.org'
+repository='git git://uclibc-ng.org/git/uclibc-ng'
+mirrors='http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}'
diff --git a/patches/uClibc/0.9.33.2/100-m68k-ice.patch b/packages/uClibc/0.9.33.2/100-m68k-ice.patch
index 410f8d6..410f8d6 100644
--- a/patches/uClibc/0.9.33.2/100-m68k-ice.patch
+++ b/packages/uClibc/0.9.33.2/100-m68k-ice.patch
diff --git a/patches/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch b/packages/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch
index 0381ba8..0381ba8 100644
--- a/patches/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch
+++ b/packages/uClibc/0.9.33.2/200-fix-kernel-3.4plus-build.patch
diff --git a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch b/packages/uClibc/0.9.33.2/300-fix-darwin-build.patch
index 884307d..884307d 100644
--- a/patches/uClibc/0.9.33.2/300-fix-darwin-build.patch
+++ b/packages/uClibc/0.9.33.2/300-fix-darwin-build.patch
diff --git a/patches/uClibc/0.9.33.2/400-arm-unwind.patch b/packages/uClibc/0.9.33.2/400-arm-unwind.patch
index d31844c..d31844c 100644
--- a/patches/uClibc/0.9.33.2/400-arm-unwind.patch
+++ b/packages/uClibc/0.9.33.2/400-arm-unwind.patch
diff --git a/patches/uClibc/0.9.33.2/500-no-install-D.patch b/packages/uClibc/0.9.33.2/500-no-install-D.patch
index f8c2cc1..f8c2cc1 100644
--- a/patches/uClibc/0.9.33.2/500-no-install-D.patch
+++ b/packages/uClibc/0.9.33.2/500-no-install-D.patch
diff --git a/patches/uClibc/0.9.33.2/600-prefer-multilib.patch b/packages/uClibc/0.9.33.2/600-prefer-multilib.patch
index 677c599..677c599 100644
--- a/patches/uClibc/0.9.33.2/600-prefer-multilib.patch
+++ b/packages/uClibc/0.9.33.2/600-prefer-multilib.patch
diff --git a/patches/uClibc/0.9.33.2/998-dlopen-static.patch b/packages/uClibc/0.9.33.2/998-dlopen-static.patch
index 9d2fa55..9d2fa55 100644
--- a/patches/uClibc/0.9.33.2/998-dlopen-static.patch
+++ b/packages/uClibc/0.9.33.2/998-dlopen-static.patch
diff --git a/patches/uClibc/0.9.33.2/999-make-olddefconfig.patch b/packages/uClibc/0.9.33.2/999-make-olddefconfig.patch
index 8bc87ec..8bc87ec 100644
--- a/patches/uClibc/0.9.33.2/999-make-olddefconfig.patch
+++ b/packages/uClibc/0.9.33.2/999-make-olddefconfig.patch
diff --git a/packages/uClibc/0.9.33.2/version.desc b/packages/uClibc/0.9.33.2/version.desc
new file mode 100644
index 0000000..fcfe389
--- /dev/null
+++ b/packages/uClibc/0.9.33.2/version.desc
@@ -0,0 +1 @@
+obsolete='yes'
diff --git a/packages/uClibc/package.desc b/packages/uClibc/package.desc
new file mode 100644
index 0000000..887e4c2
--- /dev/null
+++ b/packages/uClibc/package.desc
@@ -0,0 +1,7 @@
+# Even though this is the "master" package, we really want to steer the users
+# towards uClibc-ng, as the original uClibc is no longer maintained.
+preferred='uClibc-ng'
+origin='uclibc.org'
+repository='git git://git.busybox.net/uClibc'
+mirrors='http://www.uclibc.org/downloads http://www.uclibc.org/downloads/old-releases'
+milestones='0.9.33.2 1.0.0 1.0.15'
diff --git a/patches/zlib/1.2.11/100-make-check-fail.patch b/packages/zlib/1.2.11/100-make-check-fail.patch
index 3852206..3852206 100644
--- a/patches/zlib/1.2.11/100-make-check-fail.patch
+++ b/packages/zlib/1.2.11/100-make-check-fail.patch
diff --git a/patches/zlib/1.2.11/110-no-_wopen-cygwin.patch b/packages/zlib/1.2.11/110-no-_wopen-cygwin.patch
index 6704e3e..6704e3e 100644
--- a/patches/zlib/1.2.11/110-no-_wopen-cygwin.patch
+++ b/packages/zlib/1.2.11/110-no-_wopen-cygwin.patch
diff --git a/patches/zlib/1.2.11/120-mingw-static-only.patch b/packages/zlib/1.2.11/120-mingw-static-only.patch
index 9eef00b..9eef00b 100644
--- a/patches/zlib/1.2.11/120-mingw-static-only.patch
+++ b/packages/zlib/1.2.11/120-mingw-static-only.patch
diff --git a/packages/zlib/1.2.11/version.desc b/packages/zlib/1.2.11/version.desc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/packages/zlib/1.2.11/version.desc
diff --git a/packages/zlib/package.desc b/packages/zlib/package.desc
new file mode 100644
index 0000000..789f3c7
--- /dev/null
+++ b/packages/zlib/package.desc
@@ -0,0 +1,2 @@
+repository='git https://github.com/madler/zlib.git'
+mirrors='http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}'
diff --git a/patches/ltrace/0.5.2/100-allow-cross-compile.patch b/patches/ltrace/0.5.2/100-allow-cross-compile.patch
deleted file mode 100644
index 10440ad..0000000
--- a/patches/ltrace/0.5.2/100-allow-cross-compile.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff -durN ltrace-0.5.2.orig/Makefile.in ltrace-0.5.2/Makefile.in
---- ltrace-0.5.2.orig/Makefile.in 2009-05-21 19:14:54.000000000 +0200
-+++ ltrace-0.5.2/Makefile.in 2009-06-27 15:30:34.000000000 +0200
-@@ -2,8 +2,14 @@
- # ltrace's Makefile.in
- #
-
--#OS := $(shell uname -s)
- OS := @HOST_OS@
-+ARCH := $(shell echo "@HOST_ARCH@" |sed -e s/i.86/i386/ \
-+ -e s/sun4u/sparc64/ \
-+ -e s/arm.*/arm/ \
-+ -e s/sa110/arm/ \
-+ -e s/ppc64/ppc/ \
-+ -e s/s390x/s390/)
-+export ARCH
-
- TOPDIR = $(shell pwd)
-
-diff -durN ltrace-0.5.2.orig/configure ltrace-0.5.2/configure
---- ltrace-0.5.2.orig/configure 2009-05-21 19:14:57.000000000 +0200
-+++ ltrace-0.5.2/configure 2009-06-27 15:30:34.000000000 +0200
-@@ -660,6 +660,7 @@
- host_cpu
- host_vendor
- host_os
-+HOST_ARCH
- HOST_OS
- CC
- CFLAGS
-@@ -1823,6 +1824,7 @@
- case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-+HOST_ARCH="$host_cpu"
- case "$host_os" in
- linux-gnu*) host_os=linux-gnu
- esac
-@@ -5406,6 +5408,7 @@
- host_cpu!$host_cpu$ac_delim
- host_vendor!$host_vendor$ac_delim
- host_os!$host_os$ac_delim
-+HOST_ARCH!$HOST_ARCH$ac_delim
- HOST_OS!$HOST_OS$ac_delim
- CC!$CC$ac_delim
- CFLAGS!$CFLAGS$ac_delim
-@@ -5426,7 +5429,7 @@
- LTLIBOBJS!$LTLIBOBJS$ac_delim
- _ACEOF
-
-- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 63; then
-+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 64; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-diff -durN ltrace-0.5.2.orig/configure.ac ltrace-0.5.2/configure.ac
---- ltrace-0.5.2.orig/configure.ac 2009-05-21 19:14:54.000000000 +0200
-+++ ltrace-0.5.2/configure.ac 2009-06-27 15:30:34.000000000 +0200
-@@ -11,6 +11,8 @@
- esac
- HOST_OS="$host_os"
- AC_SUBST(HOST_OS)
-+HOST_ARCH="$host_cpu"
-+AC_SUBST(HOST_ARCH)
-
- dnl Checks for programs.
- AC_PROG_CC
-diff -durN ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile ltrace-0.5.2/sysdeps/linux-gnu/Makefile
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/Makefile 2009-05-21 19:14:54.000000000 +0200
-+++ ltrace-0.5.2/sysdeps/linux-gnu/Makefile 2009-06-27 15:30:34.000000000 +0200
-@@ -1,6 +1,3 @@
--ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-- -e s/arm.*/arm/ -e s/sa110/arm/ -e s/ppc64/ppc/ -e s/s390x/s390/)
--
- CPPFLAGS += -I$(TOPDIR)/sysdeps/linux-gnu/$(ARCH)
-
- OBJ = events.o trace.o proc.o breakpoint.o
diff --git a/patches/ltrace/0.5.2/110-alpha-support.patch b/patches/ltrace/0.5.2/110-alpha-support.patch
deleted file mode 100644
index f121ca1..0000000
--- a/patches/ltrace/0.5.2/110-alpha-support.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -durN ltrace-0.5.2.orig/Makefile.in ltrace-0.5.2/Makefile.in
---- ltrace-0.5.2.orig/Makefile.in 2009-06-27 15:34:04.000000000 +0200
-+++ ltrace-0.5.2/Makefile.in 2009-06-27 15:34:27.000000000 +0200
-@@ -5,6 +5,7 @@
- OS := @HOST_OS@
- ARCH := $(shell echo "@HOST_ARCH@" |sed -e s/i.86/i386/ \
- -e s/sun4u/sparc64/ \
-+ -e s/alpha.*/alpha/ \
- -e s/arm.*/arm/ \
- -e s/sa110/arm/ \
- -e s/ppc64/ppc/ \
diff --git a/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch b/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch
deleted file mode 100644
index 6d62315..0000000
--- a/patches/ltrace/0.5.2/120-debian-ltrace-0.5.2-2.patch
+++ /dev/null
@@ -1,240 +0,0 @@
---- ltrace-0.5.2.orig/TODO
-+++ ltrace-0.5.2/TODO
-@@ -37,3 +37,4 @@
- * debug: change "-d" option to be something like "-d elf,events", or "-d breakpoints"
- * Find out if a process is sharing memory with its parent?
- * When using -p, find out if that process is sharing memory with other procs
-+* After a clone(), syscalls may be seen as sysrets in s390 (see trace.c:syscall_p())
---- ltrace-0.5.2.orig/process_event.c
-+++ ltrace-0.5.2/process_event.c
-@@ -170,7 +170,7 @@
- enable_breakpoint(proc->pid, proc->breakpoint_being_enabled);
- proc->breakpoint_being_enabled = NULL;
- }
-- if (proc->parent->state == STATE_ATTACHED && options.follow) {
-+ if (options.follow) {
- proc->state = STATE_ATTACHED;
- } else {
- proc->state = STATE_IGNORED;
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/ppc/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/ppc/trace.c
-@@ -50,9 +50,9 @@
- *sysnum =
- (int)ptrace(PTRACE_PEEKUSER, proc->pid,
- sizeof(long) * PT_R0, 0);
-- if (proc->callstack_depth > 0
-- && proc->callstack[proc->callstack_depth -
-- 1].is_syscall) {
-+ if (proc->callstack_depth > 0 &&
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- }
- return 1;
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/i386/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/i386/trace.c
-@@ -32,7 +32,8 @@
- *sysnum = ptrace(PTRACE_PEEKUSER, proc->pid, 4 * ORIG_EAX, 0);
-
- if (proc->callstack_depth > 0 &&
-- proc->callstack[proc->callstack_depth - 1].is_syscall) {
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- }
-
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/ia64/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/ia64/trace.c
-@@ -106,8 +106,8 @@
- if (insn == 0x1000000000 || insn == 0x1ffffffffff) {
- *sysnum = r15;
- if (proc->callstack_depth > 0 &&
-- proc->callstack[proc->callstack_depth -
-- 1].is_syscall) {
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- }
- return 1;
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/m68k/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/m68k/trace.c
-@@ -36,9 +36,8 @@
- if (*sysnum >= 0) {
- depth = proc->callstack_depth;
- if (depth > 0 &&
-- proc->callstack[depth - 1].is_syscall &&
-- proc->callstack[depth - 1].c_un.syscall ==
-- *sysnum) {
-+ proc->callstack[depth - 1].is_syscall &&
-+ proc->callstack[depth - 1].c_un.syscall == *sysnum) {
- return 2;
- } else {
- return 1;
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/alpha/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/alpha/trace.c
-@@ -36,8 +36,9 @@
- return 0;
- *sysnum =
- ptrace(PTRACE_PEEKUSER, proc->pid, 0 /* REG_R0 */ , 0);
-- if (proc->callstack_depth > 0
-- && proc->callstack[proc->callstack_depth - 1].is_syscall) {
-+ if (proc->callstack_depth > 0 &&
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- }
- if (*sysnum >= 0 && *sysnum < 500) {
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/sparc/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/sparc/trace.c
-@@ -33,9 +33,9 @@
- insn = ptrace(PTRACE_PEEKTEXT, proc->pid, ip, 0);
- if ((insn & 0xc1f8007f) == 0x81d00010) {
- *sysnum = ((proc_archdep *) proc->arch_ptr)->regs.r_g1;
-- if ((proc->callstack_depth > 0)
-- && proc->callstack[proc->callstack_depth -
-- 1].is_syscall) {
-+ if (proc->callstack_depth > 0 &&
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- } else if (*sysnum >= 0) {
- return 1;
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/mipsel/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/mipsel/trace.c
-@@ -60,33 +60,34 @@
- int
- syscall_p(Process *proc, int status, int *sysnum) {
- if (WIFSTOPPED(status)
-- && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) {
-- /* get the user's pc (plus 8) */
-- long pc = (long)get_instruction_pointer(proc);
-- /* fetch the SWI instruction */
-- int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0);
-- int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0);
--
--/*
-- On a mipsel, syscall looks like:
-- 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall
-- 0000000c syscall
-- */
-- if(insn!=0x0000000c){
-- return 0;
-- }
--
-- *sysnum = (num & 0xFFFF) - 4000;
-- /* if it is a syscall, return 1 or 2 */
-- if (proc->callstack_depth > 0 &&
-- proc->callstack[proc->callstack_depth - 1].is_syscall) {
-- return 2;
-- }
--
-- if (*sysnum >= 0) {
-- return 1;
-- }
-- }
-+ && WSTOPSIG(status) == (SIGTRAP | proc->tracesysgood)) {
-+ /* get the user's pc (plus 8) */
-+ long pc = (long)get_instruction_pointer(proc);
-+ /* fetch the SWI instruction */
-+ int insn = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 4, 0);
-+ int num = ptrace(PTRACE_PEEKTEXT, proc->pid, pc - 8, 0);
-+
-+ /*
-+ On a mipsel, syscall looks like:
-+ 24040fa1 li v0, 0x0fa1 # 4001 --> _exit syscall
-+ 0000000c syscall
-+ */
-+ if(insn!=0x0000000c){
-+ return 0;
-+ }
-+
-+ *sysnum = (num & 0xFFFF) - 4000;
-+ /* if it is a syscall, return 1 or 2 */
-+ if (proc->callstack_depth > 0 &&
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
-+ return 2;
-+ }
-+
-+ if (*sysnum >= 0) {
-+ return 1;
-+ }
-+ }
- return 0;
- }
- /**
-@@ -119,34 +120,34 @@
- */
- long
- gimme_arg(enum tof type, Process *proc, int arg_num, arg_type_info *info) {
-- long ret;
-- debug(2,"type %d arg %d",type,arg_num);
-- if (type == LT_TOF_FUNCTION || type == LT_TOF_SYSCALL){
-- if(arg_num <4){
-- ret=ptrace(PTRACE_PEEKUSER,proc->pid,off_a0+arg_num,0);
-- debug(2,"ret = %#lx",ret);
-- return ret;
-- } else {
-- // If we need this, I think we can look at [sp+16] for arg_num==4.
-- CP;
-- return 0;
-- }
-- }
-- if(arg_num>=0){
-- fprintf(stderr,"args on return?");
-- }
-- if(type == LT_TOF_FUNCTIONR) {
-- return ptrace(PTRACE_PEEKUSER,proc->pid,off_v0,0);
-- }
-- if (type == LT_TOF_SYSCALLR) {
-- unsigned a3=ptrace(PTRACE_PEEKUSER, proc->pid,off_a3,0);
-- unsigned v0=ptrace(PTRACE_PEEKUSER, proc->pid,off_v0,0);
-- if(!a3){
-- return v0;
-- }
-- return -1;
-- }
-- fprintf(stderr, "gimme_arg called with wrong arguments\n");
-+ long ret;
-+ debug(2,"type %d arg %d",type,arg_num);
-+ if (type == LT_TOF_FUNCTION || type == LT_TOF_SYSCALL){
-+ if(arg_num <4){
-+ ret=ptrace(PTRACE_PEEKUSER,proc->pid,off_a0+arg_num,0);
-+ debug(2,"ret = %#lx",ret);
-+ return ret;
-+ } else {
-+ // If we need this, I think we can look at [sp+16] for arg_num==4.
-+ CP;
-+ return 0;
-+ }
-+ }
-+ if(arg_num>=0){
-+ fprintf(stderr,"args on return?");
-+ }
-+ if(type == LT_TOF_FUNCTIONR) {
-+ return ptrace(PTRACE_PEEKUSER,proc->pid,off_v0,0);
-+ }
-+ if (type == LT_TOF_SYSCALLR) {
-+ unsigned a3=ptrace(PTRACE_PEEKUSER, proc->pid,off_a3,0);
-+ unsigned v0=ptrace(PTRACE_PEEKUSER, proc->pid,off_v0,0);
-+ if(!a3){
-+ return v0;
-+ }
-+ return -1;
-+ }
-+ fprintf(stderr, "gimme_arg called with wrong arguments\n");
- return 0;
- }
-
---- ltrace-0.5.2.orig/sysdeps/linux-gnu/x86_64/trace.c
-+++ ltrace-0.5.2/sysdeps/linux-gnu/x86_64/trace.c
-@@ -41,7 +41,8 @@
- *sysnum = ptrace(PTRACE_PEEKUSER, proc->pid, 8 * ORIG_RAX, 0);
-
- if (proc->callstack_depth > 0 &&
-- proc->callstack[proc->callstack_depth - 1].is_syscall) {
-+ proc->callstack[proc->callstack_depth - 1].is_syscall &&
-+ proc->callstack[proc->callstack_depth - 1].c_un.syscall == *sysnum) {
- return 2;
- }
-
diff --git a/patches/ltrace/0.5.2/130-fix-build-with-exotic-linux-host-OS.patch b/patches/ltrace/0.5.2/130-fix-build-with-exotic-linux-host-OS.patch
deleted file mode 100644
index 20396d6..0000000
--- a/patches/ltrace/0.5.2/130-fix-build-with-exotic-linux-host-OS.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -durN ltrace-0.5.2.orig/configure ltrace-0.5.2/configure
---- ltrace-0.5.2.orig/configure 2009-09-14 18:47:45.000000000 +0200
-+++ ltrace-0.5.2/configure 2009-09-14 18:49:18.000000000 +0200
-@@ -1829,6 +1829,9 @@
- linux-gnu*) host_os=linux-gnu
- esac
- HOST_OS="$host_os"
-+case "${HOST_OS}" in
-+ linux-*) HOST_OS=linux-gnu;;
-+esac
-
-
- ac_ext=c
-diff -durN ltrace-0.5.2.orig/configure.ac ltrace-0.5.2/configure.ac
---- ltrace-0.5.2.orig/configure.ac 2009-09-14 18:47:45.000000000 +0200
-+++ ltrace-0.5.2/configure.ac 2009-09-14 18:49:18.000000000 +0200
-@@ -10,6 +10,9 @@
- linux-gnu*) host_os=linux-gnu
- esac
- HOST_OS="$host_os"
-+case "${HOST_OS}" in
-+ linux-*) HOST_OS=linux-gnu;;
-+esac
- AC_SUBST(HOST_OS)
- HOST_ARCH="$host_cpu"
- AC_SUBST(HOST_ARCH)
diff --git a/samples/aarch64-rpi3-linux-gnu/crosstool.config b/samples/aarch64-rpi3-linux-gnu/crosstool.config
index 01605ac..f8ef63d 100644
--- a/samples/aarch64-rpi3-linux-gnu/crosstool.config
+++ b/samples/aarch64-rpi3-linux-gnu/crosstool.config
@@ -1,11 +1,11 @@
-CT_ARCH_arm=y
-CT_ARCH_64=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a53"
+CT_ARCH_64=y
CT_TARGET_VENDOR="rpi3"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/aarch64-unknown-linux-android/crosstool.config b/samples/aarch64-unknown-linux-android/crosstool.config
index 295b219..0e8a6f8 100644
--- a/samples/aarch64-unknown-linux-android/crosstool.config
+++ b/samples/aarch64-unknown-linux-android/crosstool.config
@@ -1,11 +1,10 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_64=y
CT_ARCH_ARCH="armv8-a"
CT_STATIC_TOOLCHAIN=y
-CT_KERNEL_linux=y
-CT_LIBC_BIONIC_V_14b=y
+CT_KERNEL_LINUX=y
CT_ANDROID_API_21=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
CT_GETTEXT=y
diff --git a/samples/aarch64-unknown-linux-gnu/crosstool.config b/samples/aarch64-unknown-linux-gnu/crosstool.config
index e3a393a..898e4e4 100644
--- a/samples/aarch64-unknown-linux-gnu/crosstool.config
+++ b/samples/aarch64-unknown-linux-gnu/crosstool.config
@@ -1,10 +1,10 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_64=y
CT_TARGET_VENDOR=""
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/aarch64-unknown-linux-uclibc/crosstool.config b/samples/aarch64-unknown-linux-uclibc/crosstool.config
index ebc0524..fdda449 100644
--- a/samples/aarch64-unknown-linux-uclibc/crosstool.config
+++ b/samples/aarch64-unknown-linux-uclibc/crosstool.config
@@ -1,14 +1,14 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_64=y
CT_TARGET_VENDOR=""
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
CT_GETTEXT=y
diff --git a/samples/alphaev56-unknown-linux-gnu/crosstool.config b/samples/alphaev56-unknown-linux-gnu/crosstool.config
index 67a5807..321e957 100644
--- a/samples/alphaev56-unknown-linux-gnu/crosstool.config
+++ b/samples/alphaev56-unknown-linux-gnu/crosstool.config
@@ -1,5 +1,4 @@
-CT_ARCH_CPU="ev56"
CT_ARCH_ALPHA_EV56=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
diff --git a/samples/alphaev67-unknown-linux-gnu/crosstool.config b/samples/alphaev67-unknown-linux-gnu/crosstool.config
index 41cc753..485bd2d 100644
--- a/samples/alphaev67-unknown-linux-gnu/crosstool.config
+++ b/samples/alphaev67-unknown-linux-gnu/crosstool.config
@@ -1,6 +1,5 @@
-CT_ARCH_CPU="ev67"
CT_ARCH_ALPHA_EV67=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_LANG_CXX=y
diff --git a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config
index c570a1e..09cae2b 100644
--- a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config
+++ b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config
@@ -1,8 +1,8 @@
-CT_ARCH_arm=y
-# CT_ARCH_USE_MMU is not set
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-m3"
-CT_ARCH_FLOAT_SW=y
CT_ARCH_ARM_MODE_THUMB=y
+# CT_ARCH_USE_MMU is not set
+CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="bare_newlib_cortex_m3_nommu"
CT_ARCH_BINFMT_FLAT=y
CT_LIBC_NEWLIB_IO_C99FMT=y
diff --git a/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config b/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config
index 76174b6..491046d 100644
--- a/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config
+++ b/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config
@@ -1,18 +1,16 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a15"
CT_ARCH_FPU="neon-vfpv4"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="cortex_a15"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
-CT_CC_GCC_SHOW_LINARO=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config
index 7b7a74b..3e4c024 100644
--- a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config
+++ b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config
@@ -1,17 +1,16 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a8"
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="cortex_a8"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config b/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config
index 980d03f..49e842c 100644
--- a/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config
+++ b/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config
@@ -1,20 +1,19 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a5"
CT_ARCH_FPU="vfpv4-d16"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="cortexa5"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_CROSS_STATIC=y
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config
index f5a57dd..83f781f 100644
--- a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config
+++ b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config
@@ -1,23 +1,22 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a9"
CT_ARCH_FPU="neon"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="cortexa9_neon"
CT_TOOLCHAIN_ENABLE_NLS=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
-CT_LIBC_ADDONS_LIST="libidn"
-CT_LIBC_LOCALES=y
-CT_LIBC_GLIBC_KERNEL_VERSION_NONE=y
-CT_CC_GCC_SHOW_LINARO=y
+CT_LIBC_GLIBC=y
+CT_GLIBC_USE_LIBIDN_ADDON=y
+CT_GLIBC_LOCALES=y
+CT_GLIBC_KERNEL_VERSION_NONE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
CT_GDB_NATIVE_STATIC=y
diff --git a/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config b/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config
index 00ac47b..6dc39fa 100644
--- a/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config
+++ b/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config
@@ -1,15 +1,15 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_MULTILIB=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
# CT_SHARED_LIBS is not set
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
CT_THREADS_NONE=y
CT_CC_GCC_MULTILIB_LIST="aprofile"
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-nano-eabi/crosstool.config b/samples/arm-nano-eabi/crosstool.config
index a00b6a2..82e5714 100644
--- a/samples/arm-nano-eabi/crosstool.config
+++ b/samples/arm-nano-eabi/crosstool.config
@@ -1,4 +1,4 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_MULTILIB=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="nano"
diff --git a/samples/arm-unknown-eabi/crosstool.config b/samples/arm-unknown-eabi/crosstool.config
index a22ac4a..f52abec 100644
--- a/samples/arm-unknown-eabi/crosstool.config
+++ b/samples/arm-unknown-eabi/crosstool.config
@@ -1,4 +1,4 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_FLOAT_SW=y
CT_LIBC_NEWLIB_IO_C99FMT=y
CT_LIBC_NEWLIB_IO_LL=y
diff --git a/samples/arm-unknown-linux-gnueabi/crosstool.config b/samples/arm-unknown-linux-gnueabi/crosstool.config
index 20157cf..128d379 100644
--- a/samples/arm-unknown-linux-gnueabi/crosstool.config
+++ b/samples/arm-unknown-linux-gnueabi/crosstool.config
@@ -1,17 +1,16 @@
# CT_REMOVE_DOCS is not set
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
# CT_CC_GCC_SJLJ_EXCEPTIONS is not set
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-unknown-linux-musleabi/crosstool.config b/samples/arm-unknown-linux-musleabi/crosstool.config
index e2335a7..c384611 100644
--- a/samples/arm-unknown-linux-musleabi/crosstool.config
+++ b/samples/arm-unknown-linux-musleabi/crosstool.config
@@ -1,14 +1,14 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
-CT_KERNEL_linux=y
+CT_ARCH_ARM=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_FOR_TARGET=y
-CT_LIBC_musl=y
+CT_LIBC_MUSL=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config
index c2b4823..2993b99 100644
--- a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config
+++ b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config
@@ -1,16 +1,16 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="arm926ej-s"
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_CROSS_STATIC=y
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config b/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config
index d327974..3fd2d2d 100644
--- a/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config
+++ b/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config
@@ -1,18 +1,18 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="arm926ej-s"
CT_ARCH_FLOAT_HW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_CROSS_STATIC=y
CT_GDB_NATIVE=y
CT_GDB_NATIVE_STATIC=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/armeb-unknown-eabi/crosstool.config b/samples/armeb-unknown-eabi/crosstool.config
index ce975a8..c6779f8 100644
--- a/samples/armeb-unknown-eabi/crosstool.config
+++ b/samples/armeb-unknown-eabi/crosstool.config
@@ -1,11 +1,11 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_BE=y
CT_ARCH_FLOAT_SW=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_none=y
+CT_LIBC_NONE=y
# CT_CC_GCC_USE_GRAPHITE is not set
# CT_CC_GCC_USE_LTO is not set
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/armeb-unknown-linux-gnueabi/crosstool.config b/samples/armeb-unknown-linux-gnueabi/crosstool.config
index 983c33d..22d7d9f 100644
--- a/samples/armeb-unknown-linux-gnueabi/crosstool.config
+++ b/samples/armeb-unknown-linux-gnueabi/crosstool.config
@@ -1,18 +1,17 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_BE=y
CT_ARCH_ARCH="armv5te"
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
# CT_CC_GCC_SJLJ_EXCEPTIONS is not set
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config
index 8f4d688..c2b21f8 100644
--- a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config
+++ b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config
@@ -1,17 +1,17 @@
-CT_ARCH_arm=y
-CT_ARCH_BE=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="xscale"
+CT_ARCH_BE=y
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
# CT_CC_GCC_SJLJ_EXCEPTIONS is not set
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config
index 398a550..4b0c04b 100644
--- a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config
+++ b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config
@@ -1,13 +1,12 @@
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_SUFFIX="v6"
# CT_ARCH_USE_MMU is not set
CT_TARGET_VENDOR="nommu"
-CT_KERNEL_linux=y
-# CT_SHARED_LIBS is not set
+CT_KERNEL_LINUX=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
+# CT_SHARED_LIBS is not set
CT_BINUTILS_PLUGINS=y
CT_THREADS_NONE=y
-CT_CC_GCC_SHOW_LINARO=y
CT_CC_GCC_DISABLE_PCH=y
CT_CC_GCC_BUILD_ID=y
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
diff --git a/samples/armv6-rpi-linux-gnueabi/crosstool.config b/samples/armv6-rpi-linux-gnueabi/crosstool.config
index 22fbfaa..94f1b2a 100644
--- a/samples/armv6-rpi-linux-gnueabi/crosstool.config
+++ b/samples/armv6-rpi-linux-gnueabi/crosstool.config
@@ -1,22 +1,20 @@
-CT_ARCH_arm=y
-CT_ARCH_SUFFIX="v6"
+CT_ARCH_ARM=y
CT_ARCH_CPU="arm1176jzf-s"
+CT_ARCH_SUFFIX="v6"
CT_ARCH_FPU="vfp"
CT_TARGET_VENDOR="rpi"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_12=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_12=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
-CT_LIBC_LOCALES=y
-CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN=y
-CT_LIBC_GLIBC_MIN_KERNEL_VERSION="3.2.27"
-CT_CC_GCC_SHOW_LINARO=y
+CT_GLIBC_LOCALES=y
+CT_GLIBC_KERNEL_VERSION_CHOSEN=y
+CT_GLIBC_MIN_KERNEL_VERSION="3.2.27"
CT_CC_GCC_DISABLE_PCH=y
CT_CC_GCC_BUILD_ID=y
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/armv7-rpi2-linux-gnueabihf/crosstool.config b/samples/armv7-rpi2-linux-gnueabihf/crosstool.config
index 30b678d..102c503 100644
--- a/samples/armv7-rpi2-linux-gnueabihf/crosstool.config
+++ b/samples/armv7-rpi2-linux-gnueabihf/crosstool.config
@@ -1,14 +1,13 @@
-CT_ARCH_arm=y
-CT_ARCH_SUFFIX="v7"
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a7"
+CT_ARCH_SUFFIX="v7"
CT_ARCH_FPU="neon-vfpv4"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="rpi2"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/armv8-rpi3-linux-gnueabihf/crosstool.config b/samples/armv8-rpi3-linux-gnueabihf/crosstool.config
index 6d1d0f8..fe9b5af 100644
--- a/samples/armv8-rpi3-linux-gnueabihf/crosstool.config
+++ b/samples/armv8-rpi3-linux-gnueabihf/crosstool.config
@@ -1,14 +1,13 @@
-CT_ARCH_arm=y
-CT_ARCH_SUFFIX="v8"
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a53"
+CT_ARCH_SUFFIX="v8"
CT_ARCH_FPU="neon-vfpv4"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="rpi3"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/avr/crosstool.config b/samples/avr/crosstool.config
index 3a3016f..6283c78 100644
--- a/samples/avr/crosstool.config
+++ b/samples/avr/crosstool.config
@@ -1,3 +1,3 @@
-CT_ARCH_avr=y
+CT_ARCH_AVR=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/i586-geode-linux-uclibc/crosstool.config b/samples/i586-geode-linux-uclibc/crosstool.config
index 5dc1cc4..08f90f5 100644
--- a/samples/i586-geode-linux-uclibc/crosstool.config
+++ b/samples/i586-geode-linux-uclibc/crosstool.config
@@ -1,16 +1,15 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="pentium-mmx"
CT_TARGET_VENDOR="geode"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/i686-centos6-linux-gnu/crosstool.config b/samples/i686-centos6-linux-gnu/crosstool.config
index 86ec1f6..c285893 100644
--- a/samples/i686-centos6-linux-gnu/crosstool.config
+++ b/samples/i686-centos6-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="centos6"
-CT_KERNEL_linux=y
-CT_KERNEL_V_2_6_32=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_2_6_32=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_12_2=y
+CT_GLIBC_V_2_12_2=y
CT_CC_LANG_CXX=y
diff --git a/samples/i686-centos7-linux-gnu/crosstool.config b/samples/i686-centos7-linux-gnu/crosstool.config
index b6403bb..498afcc 100644
--- a/samples/i686-centos7-linux-gnu/crosstool.config
+++ b/samples/i686-centos7-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="centos7"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_10=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_10=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_17=y
+CT_GLIBC_V_2_17=y
CT_CC_LANG_CXX=y
diff --git a/samples/i686-nptl-linux-gnu/crosstool.config b/samples/i686-nptl-linux-gnu/crosstool.config
index 1f14d67..48df330 100644
--- a/samples/i686-nptl-linux-gnu/crosstool.config
+++ b/samples/i686-nptl-linux-gnu/crosstool.config
@@ -1,16 +1,15 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="nptl"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
diff --git a/samples/i686-ubuntu12.04-linux-gnu/crosstool.config b/samples/i686-ubuntu12.04-linux-gnu/crosstool.config
index 01c4312..958825d 100644
--- a/samples/i686-ubuntu12.04-linux-gnu/crosstool.config
+++ b/samples/i686-ubuntu12.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="ubuntu12.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_2=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_2=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_15=y
+CT_GLIBC_V_2_15=y
CT_CC_LANG_CXX=y
diff --git a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config
index e3f459b..339c4c6 100644
--- a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config
+++ b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="ubuntu14.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_13=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_13=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_19=y
+CT_GLIBC_V_2_19=y
CT_CC_LANG_CXX=y
diff --git a/samples/i686-ubuntu16.04-linux-gnu/crosstool.config b/samples/i686-ubuntu16.04-linux-gnu/crosstool.config
index 9eec3c1..e7f381e 100644
--- a/samples/i686-ubuntu16.04-linux-gnu/crosstool.config
+++ b/samples/i686-ubuntu16.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="ubuntu16.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_4_4=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_4_4=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_23=y
+CT_GLIBC_V_2_23=y
CT_CC_LANG_CXX=y
diff --git a/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config b/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config
index f3cd8e5..c3df4ad 100644
--- a/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config
+++ b/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config
@@ -1,10 +1,10 @@
CT_EXPERIMENTAL=y
# CT_REMOVE_DOCS is not set
-CT_ARCH_nios2=y
+CT_ARCH_NIOS2=y
CT_STATIC_TOOLCHAIN=y
CT_TOOLCHAIN_BUGURL="https://bitbucket.org/netzimme/eax-gcc/issues?status=new&status=open"
CT_TARGET_VENDOR="spico"
CT_CANADIAN=y
CT_HOST="i686-w64-mingw32"
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/i686-w64-mingw32/crosstool.config b/samples/i686-w64-mingw32/crosstool.config
index 4d2c99c..5ed39c0 100644
--- a/samples/i686-w64-mingw32/crosstool.config
+++ b/samples/i686-w64-mingw32/crosstool.config
@@ -1,8 +1,8 @@
CT_EXPERIMENTAL=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_ARCH="i686"
CT_TARGET_VENDOR="w64"
-CT_KERNEL_windows=y
+CT_KERNEL_WINDOWS=y
CT_BINUTILS_PLUGINS=y
CT_MINGW_DIRECTX=y
CT_MINGW_DDK=y
diff --git a/samples/m68k-unknown-elf/crosstool.config b/samples/m68k-unknown-elf/crosstool.config
index 9b93583..227d45b 100644
--- a/samples/m68k-unknown-elf/crosstool.config
+++ b/samples/m68k-unknown-elf/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_m68k=y
+CT_ARCH_M68K=y
CT_ARCH_CPU="cpu32"
CT_ARCH_BINFMT_FLAT=y
-CT_LIBC_none=y
+CT_LIBC_NONE=y
# CT_CC_GCC_USE_GRAPHITE is not set
# CT_CC_GCC_USE_LTO is not set
-CT_COMP_TOOLS_autoconf=y
-CT_COMP_TOOLS_automake=y
-CT_COMP_TOOLS_libtool=y
+CT_COMP_TOOLS_AUTOCONF=y
+CT_COMP_TOOLS_AUTOMAKE=y
+CT_COMP_TOOLS_LIBTOOL=y
diff --git a/samples/m68k-unknown-uclinux-uclibc/crosstool.config b/samples/m68k-unknown-uclinux-uclibc/crosstool.config
index ab0fbe5..61c37f1 100644
--- a/samples/m68k-unknown-uclinux-uclibc/crosstool.config
+++ b/samples/m68k-unknown-uclinux-uclibc/crosstool.config
@@ -1,3 +1,3 @@
-CT_ARCH_m68k=y
-CT_KERNEL_linux=y
+CT_ARCH_M68K=y
+CT_KERNEL_LINUX=y
CT_THREADS_LT=y
diff --git a/samples/mips-ar2315-linux-gnu/crosstool.config b/samples/mips-ar2315-linux-gnu/crosstool.config
index 55ae935..f9e79d7 100644
--- a/samples/mips-ar2315-linux-gnu/crosstool.config
+++ b/samples/mips-ar2315-linux-gnu/crosstool.config
@@ -1,12 +1,11 @@
-CT_ARCH_mips=y
-CT_ARCH_ARCH="4kc"
+CT_ARCH_MIPS=y
CT_ARCH_TUNE="4kc"
+CT_ARCH_ARCH="4kc"
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="ar2315"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/mips-malta-linux-gnu/crosstool.config b/samples/mips-malta-linux-gnu/crosstool.config
index 624d01d..a063908 100644
--- a/samples/mips-malta-linux-gnu/crosstool.config
+++ b/samples/mips-malta-linux-gnu/crosstool.config
@@ -1,9 +1,8 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_TARGET_VENDOR="malta"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/mips-unknown-elf/crosstool.config b/samples/mips-unknown-elf/crosstool.config
index 658b3ef..133d27e 100644
--- a/samples/mips-unknown-elf/crosstool.config
+++ b/samples/mips-unknown-elf/crosstool.config
@@ -1,6 +1,6 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_ARCH_FLOAT_SW=y
-CT_LIBC_none=y
+CT_LIBC_NONE=y
CT_CC_GCC_mips_plt=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/mips-unknown-linux-uclibc/crosstool.config b/samples/mips-unknown-linux-uclibc/crosstool.config
index c693e8b..a4cd5ce 100644
--- a/samples/mips-unknown-linux-uclibc/crosstool.config
+++ b/samples/mips-unknown-linux-uclibc/crosstool.config
@@ -1,12 +1,11 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_ARCH_ARCH="mips1"
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/mips64el-multilib-linux-uclibc/crosstool.config b/samples/mips64el-multilib-linux-uclibc/crosstool.config
index f4d8e66..faeab87 100644
--- a/samples/mips64el-multilib-linux-uclibc/crosstool.config
+++ b/samples/mips64el-multilib-linux-uclibc/crosstool.config
@@ -1,12 +1,12 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_MULTILIB=y
CT_ARCH_LE=y
CT_ARCH_64=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
+CT_LIBC_UCLIBC=y
CT_LIBC_UCLIBC_WCHAR=y
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
diff --git a/samples/mipsel-multilib-linux-gnu/crosstool.config b/samples/mipsel-multilib-linux-gnu/crosstool.config
index 6f767a3..9257801 100644
--- a/samples/mipsel-multilib-linux-gnu/crosstool.config
+++ b/samples/mipsel-multilib-linux-gnu/crosstool.config
@@ -1,17 +1,16 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_MULTILIB=y
CT_ARCH_LE=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-targets=all"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-targets=all"
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/mipsel-sde-elf/crosstool.config b/samples/mipsel-sde-elf/crosstool.config
index f5cac25..8e89c90 100644
--- a/samples/mipsel-sde-elf/crosstool.config
+++ b/samples/mipsel-sde-elf/crosstool.config
@@ -1,8 +1,8 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_ARCH_LE=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="sde"
-CT_LIBC_none=y
+CT_LIBC_NONE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/mipsel-unknown-linux-gnu/crosstool.config b/samples/mipsel-unknown-linux-gnu/crosstool.config
index 11320bf..5458b7e 100644
--- a/samples/mipsel-unknown-linux-gnu/crosstool.config
+++ b/samples/mipsel-unknown-linux-gnu/crosstool.config
@@ -1,14 +1,13 @@
-CT_ARCH_mips=y
+CT_ARCH_MIPS=y
CT_ARCH_LE=y
CT_ARCH_ARCH="mips1"
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
CT_CC_GCC_mips_plt=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/msp430-unknown-elf/crosstool.config b/samples/msp430-unknown-elf/crosstool.config
index 5e979e1..52c53ba 100644
--- a/samples/msp430-unknown-elf/crosstool.config
+++ b/samples/msp430-unknown-elf/crosstool.config
@@ -1,4 +1,4 @@
CT_EXPERIMENTAL=y
-CT_ARCH_msp430=y
-CT_CC_GCC_V_4_9_4=y
-CT_DEBUG_gdb=y
+CT_ARCH_MSP430=y
+CT_GCC_V_4_9_4=y
+CT_DEBUG_GDB=y
diff --git a/samples/nios2-unknown-elf/crosstool.config b/samples/nios2-unknown-elf/crosstool.config
index 6fe5990..1657309 100644
--- a/samples/nios2-unknown-elf/crosstool.config
+++ b/samples/nios2-unknown-elf/crosstool.config
@@ -1,4 +1,4 @@
-CT_ARCH_nios2=y
+CT_ARCH_NIOS2=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/powerpc-405-linux-gnu/crosstool.config b/samples/powerpc-405-linux-gnu/crosstool.config
index eeddbac..0e22d92 100644
--- a/samples/powerpc-405-linux-gnu/crosstool.config
+++ b/samples/powerpc-405-linux-gnu/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_CPU="405"
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="405"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/powerpc-860-linux-gnu/crosstool.config b/samples/powerpc-860-linux-gnu/crosstool.config
index eae5f91..6f1db15 100644
--- a/samples/powerpc-860-linux-gnu/crosstool.config
+++ b/samples/powerpc-860-linux-gnu/crosstool.config
@@ -1,10 +1,10 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_CPU="860"
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="860"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="--without-fp"
+CT_GLIBC_EXTRA_CONFIG_ARRAY="--without-fp"
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/powerpc-e300c3-linux-gnu/crosstool.config b/samples/powerpc-e300c3-linux-gnu/crosstool.config
index 8cdef71..53ad00c 100644
--- a/samples/powerpc-e300c3-linux-gnu/crosstool.config
+++ b/samples/powerpc-e300c3-linux-gnu/crosstool.config
@@ -1,7 +1,7 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_CPU="e300c3"
CT_TARGET_VENDOR="e300c3"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_LANG_CXX=y
diff --git a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config
index d05e2b4..aab2632 100644
--- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config
+++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config
@@ -1,16 +1,15 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_CPU="8548"
+CT_ARCH_powerpc_ABI_SPE=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_CFLAGS="-mfloat-gprs=double -Wa,-me500x2"
-CT_ARCH_powerpc_ABI_SPE=y
CT_TARGET_VENDOR="e500v2"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-spe=yes --enable-e500x2 --with-e500x2"
-CT_CC_GCC_SHOW_LINARO=y
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="--enable-e500_double"
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--enable-e500_double"
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_GCC_LDBL_128=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/powerpc-unknown-linux-gnu/crosstool.config b/samples/powerpc-unknown-linux-gnu/crosstool.config
index 8fbfb0b..29bedbf 100644
--- a/samples/powerpc-unknown-linux-gnu/crosstool.config
+++ b/samples/powerpc-unknown-linux-gnu/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_powerpc=y
-CT_KERNEL_linux=y
+CT_ARCH_POWERPC=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config
index 5225b61..749e26d 100644
--- a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config
+++ b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config
@@ -1,7 +1,7 @@
-CT_ARCH_m68k=y
+CT_ARCH_M68K=y
CT_CANADIAN=y
CT_HOST="powerpc-unknown-linux-uclibc"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_THREADS_LT=y
# CT_LIBICONV is not set
# CT_GETTEXT is not set
diff --git a/samples/powerpc-unknown-linux-uclibc/crosstool.config b/samples/powerpc-unknown-linux-uclibc/crosstool.config
index 5dddeeb..e0f6dcb 100644
--- a/samples/powerpc-unknown-linux-uclibc/crosstool.config
+++ b/samples/powerpc-unknown-linux-uclibc/crosstool.config
@@ -1,12 +1,11 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_FLOAT_SW=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_FOR_TARGET=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
CT_CC_LANG_FORTRAN=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
-CT_DEBUG_strace=y
+CT_DEBUG_STRACE=y
diff --git a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config
index 4b0dc05..b42fa3b 100644
--- a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config
+++ b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="unknown_nofpu"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
-CT_DEBUG_strace=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
+CT_DEBUG_STRACE=y
diff --git a/samples/powerpc64-multilib-linux-gnu/crosstool.config b/samples/powerpc64-multilib-linux-gnu/crosstool.config
index d59aa5a..d89a262 100644
--- a/samples/powerpc64-multilib-linux-gnu/crosstool.config
+++ b/samples/powerpc64-multilib-linux-gnu/crosstool.config
@@ -1,10 +1,10 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
diff --git a/samples/powerpc64-unknown-linux-gnu/crosstool.config b/samples/powerpc64-unknown-linux-gnu/crosstool.config
index 15cb99b..bbe8d5b 100644
--- a/samples/powerpc64-unknown-linux-gnu/crosstool.config
+++ b/samples/powerpc64-unknown-linux-gnu/crosstool.config
@@ -1,8 +1,8 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_64=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
diff --git a/samples/powerpc64le-unknown-linux-gnu/crosstool.config b/samples/powerpc64le-unknown-linux-gnu/crosstool.config
index 9f8245e..21b9e8c 100644
--- a/samples/powerpc64le-unknown-linux-gnu/crosstool.config
+++ b/samples/powerpc64le-unknown-linux-gnu/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_ARCH_LE=y
CT_ARCH_64=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
diff --git a/samples/s390-ibm-linux-gnu/crosstool.config b/samples/s390-ibm-linux-gnu/crosstool.config
index 2312934..8648aa5 100644
--- a/samples/s390-ibm-linux-gnu/crosstool.config
+++ b/samples/s390-ibm-linux-gnu/crosstool.config
@@ -1,5 +1,5 @@
CT_EXPERIMENTAL=y
-CT_ARCH_s390=y
-CT_KERNEL_linux=y
+CT_ARCH_S390=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
diff --git a/samples/s390x-ibm-linux-gnu/crosstool.config b/samples/s390x-ibm-linux-gnu/crosstool.config
index 97afa2e..32f06c0 100644
--- a/samples/s390x-ibm-linux-gnu/crosstool.config
+++ b/samples/s390x-ibm-linux-gnu/crosstool.config
@@ -1,5 +1,5 @@
-CT_ARCH_s390=y
+CT_ARCH_S390=y
CT_ARCH_64=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
diff --git a/samples/sh4-multilib-linux-gnu/crosstool.config b/samples/sh4-multilib-linux-gnu/crosstool.config
index 2055126..7965da6 100644
--- a/samples/sh4-multilib-linux-gnu/crosstool.config
+++ b/samples/sh4-multilib-linux-gnu/crosstool.config
@@ -1,9 +1,9 @@
-CT_ARCH_sh=y
+CT_ARCH_SH=y
CT_ARCH_SH_SH4=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_GCC_MULTILIB_LIST="m4a"
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/sh4-multilib-linux-uclibc/crosstool.config b/samples/sh4-multilib-linux-uclibc/crosstool.config
index 2c61643..2fc3406 100644
--- a/samples/sh4-multilib-linux-uclibc/crosstool.config
+++ b/samples/sh4-multilib-linux-uclibc/crosstool.config
@@ -1,11 +1,10 @@
-CT_ARCH_sh=y
+CT_ARCH_SH=y
CT_ARCH_SH_SH4=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_CC_GCC_V_4_9_4=y
+CT_LIBC_UCLIBC=y
CT_CC_GCC_MULTILIB_LIST="m4a,m3"
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/sh4-unknown-linux-gnu/crosstool.config b/samples/sh4-unknown-linux-gnu/crosstool.config
index 0972f31..36d806f 100644
--- a/samples/sh4-unknown-linux-gnu/crosstool.config
+++ b/samples/sh4-unknown-linux-gnu/crosstool.config
@@ -1,7 +1,7 @@
-CT_ARCH_sh=y
+CT_ARCH_SH=y
CT_ARCH_SH_SH4=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
# CT_GDB_CROSS_PYTHON is not set
diff --git a/samples/sparc-leon-linux-uclibc/crosstool.config b/samples/sparc-leon-linux-uclibc/crosstool.config
index 02c346d..26d3cbd 100644
--- a/samples/sparc-leon-linux-uclibc/crosstool.config
+++ b/samples/sparc-leon-linux-uclibc/crosstool.config
@@ -1,15 +1,14 @@
-CT_ARCH_sparc=y
+CT_ARCH_SPARC=y
CT_ARCH_CPU="leon"
CT_ARCH_TUNE="leon"
CT_ARCH_FLOAT_SW=y
CT_TARGET_VENDOR="leon"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_10=y
-CT_LIBC_uClibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_10=y
+CT_LIBC_UCLIBC=y
CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/uClibc.config"
CT_LIBC_UCLIBC_IPV6=y
-CT_LIBC_UCLIBC_WCHAR=y
-CT_CC_GCC_V_6_3_0=y
+CT_GCC_V_6_3_0=y
CT_CC_GCC_EXTRA_CONFIG_ARRAY="--disable-libitm"
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/sparc-unknown-linux-gnu/crosstool.config b/samples/sparc-unknown-linux-gnu/crosstool.config
index 9590037..2b225c7 100644
--- a/samples/sparc-unknown-linux-gnu/crosstool.config
+++ b/samples/sparc-unknown-linux-gnu/crosstool.config
@@ -1,2 +1,2 @@
-CT_ARCH_sparc=y
-CT_KERNEL_linux=y
+CT_ARCH_SPARC=y
+CT_KERNEL_LINUX=y
diff --git a/samples/sparc64-multilib-linux-gnu/crosstool.config b/samples/sparc64-multilib-linux-gnu/crosstool.config
index 3cd2a30..7ee711f 100644
--- a/samples/sparc64-multilib-linux-gnu/crosstool.config
+++ b/samples/sparc64-multilib-linux-gnu/crosstool.config
@@ -1,5 +1,5 @@
-CT_ARCH_sparc=y
+CT_ARCH_SPARC=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
diff --git a/samples/x86_64-centos6-linux-gnu/crosstool.config b/samples/x86_64-centos6-linux-gnu/crosstool.config
index ad84a6c..6f0c10f 100644
--- a/samples/x86_64-centos6-linux-gnu/crosstool.config
+++ b/samples/x86_64-centos6-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="centos6"
-CT_KERNEL_linux=y
-CT_KERNEL_V_2_6_32=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_2_6_32=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_12_2=y
+CT_GLIBC_V_2_12_2=y
CT_CC_LANG_CXX=y
diff --git a/samples/x86_64-centos7-linux-gnu/crosstool.config b/samples/x86_64-centos7-linux-gnu/crosstool.config
index 8ca023c..9d16c9e 100644
--- a/samples/x86_64-centos7-linux-gnu/crosstool.config
+++ b/samples/x86_64-centos7-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="centos7"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_10=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_10=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_17=y
+CT_GLIBC_V_2_17=y
CT_CC_LANG_CXX=y
diff --git a/samples/x86_64-multilib-linux-gnu/crosstool.config b/samples/x86_64-multilib-linux-gnu/crosstool.config
index d3e5b63..5fc177c 100644
--- a/samples/x86_64-multilib-linux-gnu/crosstool.config
+++ b/samples/x86_64-multilib-linux-gnu/crosstool.config
@@ -1,15 +1,14 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
-CT_LIBC_GLIBC_KERNEL_VERSION_NONE=y
+CT_GLIBC_KERNEL_VERSION_NONE=y
CT_CC_GCC_MULTILIB_LIST="m64,m32,mx32"
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/x86_64-multilib-linux-musl/crosstool.config b/samples/x86_64-multilib-linux-musl/crosstool.config
index 7725879..a24f96f 100644
--- a/samples/x86_64-multilib-linux-musl/crosstool.config
+++ b/samples/x86_64-multilib-linux-musl/crosstool.config
@@ -1,15 +1,15 @@
CT_EXPERIMENTAL=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_musl=y
+CT_LIBC_MUSL=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
diff --git a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config
index a243ac4..d5be28f 100644
--- a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config
+++ b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config
@@ -1,11 +1,10 @@
-CT_ARCH_powerpc=y
+CT_ARCH_POWERPC=y
CT_TARGET_VENDOR=""
CT_CANADIAN=y
CT_HOST="x86_64-multilib-linux-uclibc"
CT_BINUTILS_PLUGINS=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
-# CT_GDB_CROSS_PYTHON is not set
+CT_DEBUG_GDB=y
CT_COMP_TOOLS_FOR_HOST=y
-CT_COMP_TOOLS_m4=y
-CT_COMP_TOOLS_make=y
+CT_COMP_TOOLS_M4=y
+CT_COMP_TOOLS_MAKE=y
diff --git a/samples/x86_64-multilib-linux-uclibc/crosstool.config b/samples/x86_64-multilib-linux-uclibc/crosstool.config
index c2fa7fa..4e08f7c 100644
--- a/samples/x86_64-multilib-linux-uclibc/crosstool.config
+++ b/samples/x86_64-multilib-linux-uclibc/crosstool.config
@@ -1,16 +1,15 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="multilib"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
diff --git a/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config
index 3e2bc3f..f71ad6d 100644
--- a/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config
+++ b/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="ubuntu12.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_2=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_2=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_15=y
+CT_GLIBC_V_2_15=y
CT_CC_LANG_CXX=y
diff --git a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config
index 4aa16c7..e7bfcd3 100644
--- a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config
+++ b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="ubuntu14.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_3_13=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_3_13=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_19=y
+CT_GLIBC_V_2_19=y
CT_CC_LANG_CXX=y
diff --git a/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config
index 37be385..2a7fc1d 100644
--- a/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config
+++ b/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config
@@ -1,10 +1,9 @@
CT_OBSOLETE=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="ubuntu16.04"
-CT_KERNEL_linux=y
-CT_KERNEL_V_4_4=y
-CT_LIBC_glibc=y
+CT_KERNEL_LINUX=y
+CT_LINUX_V_4_4=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
-CT_LIBC_GLIBC_V_2_23=y
+CT_GLIBC_V_2_23=y
CT_CC_LANG_CXX=y
diff --git a/samples/x86_64-unknown-linux-gnu/crosstool.config b/samples/x86_64-unknown-linux-gnu/crosstool.config
index 3f7c338..c3518a1 100644
--- a/samples/x86_64-unknown-linux-gnu/crosstool.config
+++ b/samples/x86_64-unknown-linux-gnu/crosstool.config
@@ -1,12 +1,11 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_glibc=y
-CT_LIBC_GLIBC_KERNEL_VERSION_NONE=y
+CT_GLIBC_KERNEL_VERSION_NONE=y
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/samples/x86_64-unknown-linux-uclibc/crosstool.config b/samples/x86_64-unknown-linux-uclibc/crosstool.config
index 1cf57fb..6b2eb17 100644
--- a/samples/x86_64-unknown-linux-uclibc/crosstool.config
+++ b/samples/x86_64-unknown-linux-uclibc/crosstool.config
@@ -1,14 +1,13 @@
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_duma=y
-CT_DEBUG_gdb=y
+CT_DEBUG_DUMA=y
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
diff --git a/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config b/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config
index 34d1ea1..2fc67d9 100644
--- a/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config
+++ b/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config
@@ -1,5 +1,5 @@
CT_EXPERIMENTAL=y
-CT_ARCH_arm=y
+CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a9"
CT_ARCH_FPU="neon"
CT_ARCH_FLOAT_HW=y
@@ -7,18 +7,16 @@ CT_TARGET_VENDOR="cortexa9_neon"
CT_CANADIAN=y
CT_HOST="x86_64-w64-mingw32"
CT_TOOLCHAIN_ENABLE_NLS=y
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
-CT_LIBC_glibc=y
-CT_LIBC_ADDONS_LIST="libidn"
-CT_LIBC_LOCALES=y
-CT_LIBC_GLIBC_KERNEL_VERSION_NONE=y
-CT_CC_GCC_SHOW_LINARO=y
+CT_LIBC_GLIBC=y
+CT_GLIBC_USE_LIBIDN_ADDON=y
+CT_GLIBC_LOCALES=y
+CT_GLIBC_KERNEL_VERSION_NONE=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
-# CT_GDB_CROSS_PYTHON is not set
+CT_DEBUG_GDB=y
CT_GDB_NATIVE=y
CT_GDB_NATIVE_STATIC=y
diff --git a/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config b/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config
index efd43a0..f10a91a 100644
--- a/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config
+++ b/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config
@@ -1,18 +1,18 @@
CT_EXPERIMENTAL=y
# CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES is not set
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_ARCH_64=y
CT_TARGET_VENDOR="pc"
CT_CANADIAN=y
CT_HOST="x86_64-w64-mingw32"
-CT_KERNEL_linux=y
+CT_KERNEL_LINUX=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_FOR_TARGET=y
-CT_LIBC_glibc=y
+CT_LIBC_GLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_ltrace=y
-CT_DEBUG_strace=y
-CT_COMP_TOOLS_libtool=y
-CT_COMP_TOOLS_make=y
+CT_DEBUG_LTRACE=y
+CT_DEBUG_STRACE=y
+CT_COMP_TOOLS_LIBTOOL=y
+CT_COMP_TOOLS_MAKE=y
diff --git a/samples/x86_64-w64-mingw32/crosstool.config b/samples/x86_64-w64-mingw32/crosstool.config
index 253cb1c..eda9c67 100644
--- a/samples/x86_64-w64-mingw32/crosstool.config
+++ b/samples/x86_64-w64-mingw32/crosstool.config
@@ -1,9 +1,9 @@
CT_EXPERIMENTAL=y
-CT_ARCH_x86=y
+CT_ARCH_X86=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="w64"
-CT_KERNEL_windows=y
+CT_KERNEL_WINDOWS=y
CT_BINUTILS_PLUGINS=y
CT_MINGW_DIRECTX=y
CT_MINGW_DDK=y
diff --git a/samples/xtensa-fsf-linux-uclibc/crosstool.config b/samples/xtensa-fsf-linux-uclibc/crosstool.config
index ab82294..92f0388 100644
--- a/samples/xtensa-fsf-linux-uclibc/crosstool.config
+++ b/samples/xtensa-fsf-linux-uclibc/crosstool.config
@@ -1,9 +1,8 @@
-CT_ARCH_xtensa=y
+CT_ARCH_XTENSA=y
CT_ARCH_BE=y
CT_TARGET_CFLAGS="-mlongcalls -mtext-section-literals"
CT_TARGET_VENDOR="fsf"
-CT_KERNEL_linux=y
-CT_LIBC_uClibc=y
-CT_LIBC_UCLIBC_WCHAR=y
+CT_KERNEL_LINUX=y
+CT_LIBC_UCLIBC=y
CT_CC_LANG_CXX=y
-CT_DEBUG_gdb=y
+CT_DEBUG_GDB=y
diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh
index b5f8140..7433c4d 100644
--- a/scripts/build/arch/sparc.sh
+++ b/scripts/build/arch/sparc.sh
@@ -60,7 +60,7 @@ CT_DoArchGlibcAdjustTuple() {
# earlier (corresponding pthread barrier code is missing). Until this
# support is reintroduced, configure as sparcv9.
sparc-*)
- if [ "${CT_LIBC_GLIBC_2_23_or_later}" = y ]; then
+ if [ "${CT_GLIBC_NO_SPARC_V8}" = y ]; then
CT_DoLog WARN "GLIBC 2.23 and newer only support SPARCv9"
target_=${target_/#sparc-/sparcv9-}
fi
diff --git a/scripts/build/arch/xtensa.sh b/scripts/build/arch/xtensa.sh
index bf94ddf..744bbb2 100644
--- a/scripts/build/arch/xtensa.sh
+++ b/scripts/build/arch/xtensa.sh
@@ -12,67 +12,6 @@ CT_DoArchTupleValues() {
esac
}
-# This function updates the specified component (binutils, gcc, gdb, etc.)
-# with the processor specific configuration.
-CT_ConfigureXtensa() {
- local component="${1}"
- local version="${2}"
- local custom_overlay="xtensa_${CT_ARCH_XTENSA_CUSTOM_NAME}.tar"
- local custom_location="${CT_ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION}"
-
- if [ -z "${CT_ARCH_XTENSA_CUSTOM_NAME}" ]; then
- custom_overlay="xtensa-overlay.tar"
- fi
-
- CT_TestAndAbort "${custom_overlay}: CT_ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION must be set." -z "${custom_location}"
-
- local full_file="${custom_location}/${custom_overlay}"
- local basename="${component}-${version}"
- local ext
-
- ext=${full_file/*./.}
-
- if [ -z "${ext}" ] ; then
- CT_DoLog WARN "'${full_file}' not found"
- return 1
- fi
-
- if [ -e "${CT_SRC_DIR}/.${basename}.configuring" ]; then
- CT_DoLog ERROR "The '${basename}' source were partially configured."
- CT_DoLog ERROR "Please remove first:"
- CT_DoLog ERROR " - the source dir for '${basename}', in '${CT_SRC_DIR}'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${basename}.extracted'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${basename}.patch'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${basename}.configuring'"
- CT_Abort
- fi
-
- CT_DoLog EXTRA "Using '${custom_overlay}' from ${custom_location}"
- CT_DoExecLog DEBUG ln -sf "${custom_location}/${custom_overlay}" \
- "${CT_TARBALLS_DIR}/${custom_overlay}"
-
- CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.configuring"
-
- CT_Pushd "${CT_SRC_DIR}/${basename}"
-
- tar_opts=( "--strip-components=1" )
- tar_opts+=( "-xv" )
-
- case "${ext}" in
- .tar) CT_DoExecLog FILE tar "${tar_opts[@]}" -f "${full_file}" "${component}";;
- .gz|.tgz) gzip -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f - "${component}";;
- .bz2) bzip2 -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f - "${component}";;
- *) CT_DoLog WARN "Don't know how to handle '${basename}${ext}': unknown extension"
- return 1
- ;;
- esac
-
- CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.configured"
- CT_DoExecLog DEBUG rm -f "${CT_SRC_DIR}/.${basename}.configuring"
-
- CT_Popd
-}
-
CT_DoArchUClibcConfig() {
local cfg="${1}"
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index f378b4f..8fb51b8 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -4,44 +4,17 @@
# Download binutils
do_binutils_get() {
- if [ "${CT_BINUTILS_CUSTOM}" = "y" ]; then
- CT_GetCustom "binutils" "${CT_BINUTILS_CUSTOM_VERSION}" \
- "${CT_BINUTILS_CUSTOM_LOCATION}"
- else
- case "${CT_BINUTILS_VERSION}" in
- linaro-*)
- CT_GetLinaro "binutils" "${CT_BINUTILS_VERSION}"
- ;;
- *)
- CT_GetFile "binutils-${CT_BINUTILS_VERSION}" \
- {http,ftp}://{ftp.gnu.org/gnu,ftp.kernel.org/pub/linux/devel}/binutils \
- ftp://{sourceware.org,gcc.gnu.org}/pub/binutils/{releases,snapshots}
- ;;
- esac
- fi
-
+ CT_Fetch BINUTILS
if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
- if [ "${CT_ELF2FLT_CUSTOM}" = "y" ]; then
- CT_GetCustom "elf2flt" "${CT_ELF2FLT_CUSTOM_VERSION}" \
- "${CT_ELF2FLT_CUSTOM_LOCATION}"
- else
- CT_GetGit elf2flt "${CT_ELF2FLT_GIT_CSET}" https://github.com/uclinux-dev/elf2flt.git
- fi
+ CT_Fetch ELF2FLT
fi
}
# Extract binutils
do_binutils_extract() {
- CT_Extract "binutils-${CT_BINUTILS_VERSION}"
- CT_Patch "binutils" "${CT_BINUTILS_VERSION}"
-
+ CT_ExtractPatch BINUTILS
if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
- CT_Extract "elf2flt-${CT_ELF2FLT_GIT_CSET}"
- CT_Patch "elf2flt" "${CT_ELF2FLT_GIT_CSET}"
- fi
-
- if [ -n "${CT_ARCH_XTENSA_CUSTOM_NAME}" ]; then
- CT_ConfigureXtensa "binutils" "${CT_BINUTILS_VERSION}"
+ CT_ExtractPatch ELF2FLT
fi
}
@@ -67,7 +40,7 @@ do_binutils_for_build() {
if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
# We re-use binutils' options, plus our owns
- binutils_opts+=( "binutils_src=${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}" )
+ binutils_opts+=( "binutils_src=${CT_SRC_DIR}/binutils" )
binutils_opts+=( "binutils_bld=${CT_BUILD_DIR}/build-binutils-build-${CT_BUILD}" )
CT_mkdir_pushd "${CT_BUILD_DIR}/build-elf2flt-build-${CT_BUILD}"
@@ -100,7 +73,7 @@ do_binutils_for_host() {
if [ -n "${CT_ARCH_BINFMT_FLAT}" ]; then
# We re-use binutils' options, plus our owns
- binutils_opts+=( "binutils_src=${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}" )
+ binutils_opts+=( "binutils_src=${CT_SRC_DIR}/binutils" )
binutils_opts+=( "binutils_bld=${CT_BUILD_DIR}/build-binutils-host-${CT_HOST}" )
CT_mkdir_pushd "${CT_BUILD_DIR}/build-elf2flt-host-${CT_HOST}"
@@ -207,7 +180,7 @@ do_binutils_backend() {
CXXFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \
+ "${CT_SRC_DIR}/binutils/configure" \
--build=${CT_BUILD} \
--host=${host} \
--target=${CT_TARGET} \
@@ -291,7 +264,7 @@ do_elf2flt_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/elf2flt-${CT_ELF2FLT_VERSION}/configure" \
+ "${CT_SRC_DIR}/elf2flt/configure" \
--build=${CT_BUILD} \
--host=${host} \
--target=${CT_TARGET} \
@@ -351,7 +324,7 @@ do_binutils_for_target() {
CT_DoExecLog CFG \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \
+ "${CT_SRC_DIR}/binutils/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--target=${CT_TARGET} \
diff --git a/scripts/build/cc.sh b/scripts/build/cc.sh
deleted file mode 100644
index 0db6b9c..0000000
--- a/scripts/build/cc.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-# Wrapper to build the companion tools facilities
-
-# List all companion tools facilities, and parse their scripts
-CT_CC_FACILITY_LIST=
-for f in "${CT_LIB_DIR}/scripts/build/cc/"*.sh; do
- _f="$(basename "${f}" .sh)"
- _f="${_f#???-}"
- __f="CT_CC_${_f}"
- if [ "${!__f}" = "y" ]; then
- CT_DoLog DEBUG "Enabling cc '${_f}'"
- . "${f}"
- CT_CC_FACILITY_LIST="${CT_CC_FACILITY_LIST} ${_f}"
- else
- CT_DoLog DEBUG "Disabling cc '${_f}'"
- fi
-done
-
-# Download the cc facilities
-do_cc_get() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_get
- done
-}
-
-# Extract and patch the cc facilities
-do_cc_extract() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_extract
- done
-}
-
-# Core pass 1 the cc facilities
-do_cc_core_pass_1() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_core_pass_1
- done
-}
-
-# Core pass 2 the cc facilities
-do_cc_core_pass_2() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_core_pass_2
- done
-}
-
-# Build for build the cc facilities
-do_cc_for_build() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_for_build
- done
-}
-
-# Build for host the cc facilities
-do_cc_for_host() {
- for f in ${CT_CC_FACILITY_LIST}; do
- do_${f}_for_host
- done
-}
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
deleted file mode 100644
index 2ca8e6f..0000000
--- a/scripts/build/cc/100-gcc.sh
+++ /dev/null
@@ -1,1178 +0,0 @@
-# This file adds the function to build the gcc C compiler
-# Copyright 2007 Yann E. MORIN
-# Licensed under the GPL v2. See COPYING in the root of this package
-
-# Download gcc
-do_gcc_get() {
- local linaro_version=""
- local linaro_series=""
-
- if [ "${CT_CC_GCC_CUSTOM}" = "y" ]; then
- CT_GetCustom "gcc" "${CT_CC_GCC_CUSTOM_VERSION}" \
- "${CT_CC_GCC_CUSTOM_LOCATION}"
- else
- case "${CT_CC_GCC_VERSION}" in
- linaro-*)
- CT_GetLinaro "gcc" "${CT_CC_GCC_VERSION}"
- ;;
- *)
- # The official gcc hosts put gcc under a gcc/release/ directory,
- # whereas the mirrors put it in the gcc/ directory.
- CT_GetFile "gcc-${CT_CC_GCC_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/gcc/gcc-${CT_CC_GCC_VERSION} \
- ftp://{gcc.gnu.org,sourceware.org}/pub/gcc/releases/gcc-${CT_CC_GCC_VERSION}
- ;;
- esac
- fi # ! custom location
- # Starting with GCC 4.3, ecj is used for Java, and will only be
- # built if the configure script finds ecj.jar at the top of the
- # GCC source tree, which will not be there unless we get it and
- # put it there ourselves
- if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then
- CT_GetFile ecj-latest .jar http://mirrors.kernel.org/sourceware/java/ \
- http://crosstool-ng.org/pub/java \
- ftp://gcc.gnu.org/pub/java \
- ftp://sourceware.org/pub/java
- fi
-}
-
-# Extract gcc
-do_gcc_extract() {
- CT_Extract "gcc-${CT_CC_GCC_VERSION}"
- CT_Patch "gcc" "${CT_CC_GCC_VERSION}"
-
- # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
- if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \
- -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar" \
- ]; then
- CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar"
- fi
-
- if [ -n "${CT_ARCH_XTENSA_CUSTOM_NAME}" ]; then
- CT_ConfigureXtensa "gcc" "${CT_CC_GCC_VERSION}"
- fi
-}
-
-#------------------------------------------------------------------------------
-# This function builds up the set of languages to enable
-# No argument expected, returns the comma-separated language list on stdout
-cc_gcc_lang_list() {
- local lang_list
-
- lang_list="c"
- [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++"
- [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran"
- [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada"
- [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java"
- [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc"
- [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++"
- [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go"
- lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}"
-
- printf "%s" "${lang_list}"
-}
-
-#------------------------------------------------------------------------------
-# Report the type of a GCC option
-cc_gcc_classify_opt() {
- # Options present in multiple architectures
- case "${1}" in
- -march=*) echo "arch"; return;;
- -mabi=*) echo "abi"; return;;
- -mcpu=*|-mmcu=*) echo "cpu"; return;;
- -mtune=*) echo "tune"; return;;
- -mfpu=*) echo "fpu"; return;;
- -mhard-float|-msoft-float|-mno-soft-float|-mno-float|-mfloat-abi=*|\
- -mfpu|-mno-fpu) echo "float"; return;;
- -EB|-EL|-mbig-endian|-mlittle-endian|-mbig|-mlittle|-meb|-mel|-mb|-ml) echo "endian"; return;;
- -mthumb|-marm) echo "mode"; return;;
- esac
-
- # Arch-specific options and aliases
- case "${CT_ARCH}" in
- m68k)
- case "${1}" in
- -m68881) echo "float"; return;;
- -m5[234]*|-mcfv4e) echo "cpu"; return;;
- -m68*|-mc68*) echo "arch"; return;;
- esac
- ;;
- mips)
- case "${1}" in
- -mips[1234]|-mips32|-mips32r*|-mips64|-mips64r*) echo "cpu"; return;;
- esac
- ;;
- sh)
- case "${1}" in
- -m[12345]*) echo "cpu"; return;;
- esac
- esac
-
- # All tried and failed
- echo "unknown"
-}
-
-evaluate_multilib_cflags()
-{
- local multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_flags multi_index multi_count
- local mdir mdir_os dirtop
- local f
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- mdir="lib/${multi_dir}"
- mdir_os="lib/${multi_os_dir_gcc}"
- CT_SanitizeVarDir mdir mdir_os
- CT_DoLog EXTRA " '${multi_flags}' --> ${mdir} (gcc) ${mdir_os} (os)"
- for f in ${multi_flags}; do
- eval ml_`cc_gcc_classify_opt ${f}`=seen
- done
- if [ "${CT_DEMULTILIB}" = "y" -a "${CT_USE_SYSROOT}" = "y" ]; then
- case "${mdir_os}" in
- lib/*)
- ;;
- *)
- dirtop="${mdir_os%%/*}"
- if [ ! -e "${multi_root}/${mdir_os}" ]; then
- CT_DoExecLog ALL ln -sfv lib "${multi_root}/${mdir_os}"
- fi
- if [ ! -e "${multi_root}/usr/${mdir_os}" ]; then
- CT_DoExecLog ALL ln -sfv lib "${multi_root}/usr/${mdir_os}"
- fi
- ;;
- esac
- fi
-}
-
-#------------------------------------------------------------------------------
-# This function lists the multilibs configured in the compiler (even if multilib
-# is disabled - so that it lists the default GCC/OS directory, which may differ
-# from the default 'lib'). It then performs a few multilib checks/quirks:
-#
-# 1. On MIPS target, gcc (or rather, ld, which it invokes under the hood) chokes
-# if supplied with two -mabi=* options. I.e., 'gcc -mabi=n32' and 'gcc -mabi=32' both
-# work, but 'gcc -mabi=32 -mabi=n32' produces an internal error in ld. Thus we do
-# not supply target's CFLAGS in multilib builds - and after compiling pass-1 gcc,
-# attempt to determine which CFLAGS need to be filtered out.
-#
-# 2. If "demultilibing" is in effect, create top-level directories for any
-# multilibs not in lib/ as symlinks to lib.
-cc_gcc_multilib_housekeeping() {
- local cc host
- local ml_arch ml_abi ml_cpu ml_tune ml_fpu ml_float ml_endian ml_mode ml_unknown ml
- local new_cflags
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- if [ \( "${CT_CANADIAN}" = "y" -o "${CT_CROSS_NATIVE}" = "y" \) -a "${host}" = "${CT_HOST}" ]; then
- CT_DoLog EXTRA "Canadian Cross/Cross-native unable to confirm multilibs configuration "\
- "directly; will use build-compiler for housekeeping."
- # Since we cannot run the desired compiler, substitute build-CC with the assumption
- # that the host-CC is configured in the same way.
- cc="${CT_BUILDTOOLS_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}"
- fi
-
- CT_IterateMultilibs evaluate_multilib_cflags evaluate_cflags
-
- # Filtering out some of the options provided in CT-NG config. Then *prepend*
- # them to CT_TARGET_CFLAGS, like scripts/crosstool-NG.sh does. Zero out
- # the stashed MULTILIB flags so that we don't process them again in the passes
- # that follow.
- CT_DoLog DEBUG "Configured target CFLAGS: '${CT_ARCH_TARGET_CFLAGS_MULTILIB}'"
- ml_unknown= # Pass through anything we don't know about
- for f in ${CT_ARCH_TARGET_CFLAGS_MULTILIB}; do
- eval ml=\$ml_`cc_gcc_classify_opt ${f}`
- if [ "${ml}" != "seen" ]; then
- new_cflags="${new_cflags} ${f}"
- fi
- done
- CT_DoLog DEBUG "Filtered target CFLAGS: '${new_cflags}'"
- CT_EnvModify CT_TARGET_CFLAGS "${new_cflags} ${CT_TARGET_CFLAGS}"
- CT_EnvModify CT_ARCH_TARGET_CFLAGS_MULTILIB ""
-
- # Currently, the only LDFLAGS are endianness-related
- CT_DoLog DEBUG "Configured target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
- if [ "${ml_endian}" != "seen" ]; then
- CT_EnvModify CT_TARGET_LDFLAGS "${CT_ARCH_TARGET_LDFLAGS_MULTILIB} ${CT_TARGET_LDFLAGS}"
- CT_EnvModify CT_ARCH_TARGET_LDFLAGS_MULTILIB ""
- fi
- CT_DoLog DEBUG "Filtered target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
-}
-
-#------------------------------------------------------------------------------
-# Core gcc pass 1
-do_gcc_core_pass_1() {
- local -a core_opts
-
- if [ "${CT_CC_CORE_PASS_1_NEEDED}" != "y" ]; then
- return 0
- fi
-
- core_opts+=( "mode=static" )
- core_opts+=( "host=${CT_BUILD}" )
- core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
- core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
- core_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
- core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
- core_opts+=( "lang_list=c" )
- core_opts+=( "build_step=core1" )
-
- CT_DoStep INFO "Installing pass-1 core C gcc compiler"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1"
-
- do_gcc_core_backend "${core_opts[@]}"
-
- CT_Popd
- CT_EndStep
-}
-
-# Core gcc pass 2
-do_gcc_core_pass_2() {
- local -a core_opts
-
- if [ "${CT_CC_CORE_PASS_2_NEEDED}" != "y" ]; then
- return 0
- fi
-
- # Common options:
- core_opts+=( "host=${CT_BUILD}" )
- core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
- core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
- core_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
- core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
- core_opts+=( "lang_list=c" )
- core_opts+=( "build_step=core2" )
-
- # Different conditions are at stake here:
- # - In case the threading model is NPTL, we need a shared-capable core
- # gcc; in all other cases, we need a static-only core gcc.
- # - In case the threading model is NPTL or win32, or gcc is 4.3 or
- # later, we need to build libgcc
- case "${CT_THREADS}" in
- nptl)
- core_opts+=( "mode=shared" )
- core_opts+=( "build_libgcc=yes" )
- ;;
- win32)
- core_opts+=( "mode=static" )
- core_opts+=( "build_libgcc=yes" )
- ;;
- *)
- core_opts+=( "mode=static" )
- core_opts+=( "build_libgcc=yes" )
- ;;
- esac
-
- CT_DoStep INFO "Installing pass-2 core C gcc compiler"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-2"
-
- do_gcc_core_backend "${core_opts[@]}"
-
- CT_Popd
- CT_EndStep
-}
-
-#------------------------------------------------------------------------------
-# Build core gcc
-# This function is used to build the core C compiler.
-# Usage: do_gcc_core_backend param=value [...]
-# Parameter : Definition : Type : Default
-# mode : build a 'static', 'shared' or 'baremetal' : string : (none)
-# host : the machine the core will run on : tuple : (none)
-# prefix : dir prefix to install into : dir : (none)
-# complibs : dir where complibs are installed : dir : (none)
-# lang_list : the list of languages to build : string : (empty)
-# build_libgcc : build libgcc or not : bool : no
-# build_libstdcxx : build libstdc++ or not : bool : no
-# build_libgfortran : build libgfortran or not : bool : no
-# build_staticlinked : build statically linked or not : bool : no
-# build_manuals : whether to build manuals or not : bool : no
-# cflags : cflags to use : string : (empty)
-# ldflags : ldflags to use : string : (empty)
-# build_step : build step 'core1', 'core2', 'gcc_build'
-# or 'gcc_host' : string : (none)
-# Usage: do_gcc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no]
-do_gcc_core_backend() {
- local mode
- local build_libgcc=no
- local build_libstdcxx=no
- local build_libgfortran=no
- local build_staticlinked=no
- local build_manuals=no
- local host
- local prefix
- local complibs
- local lang_list
- local cflags
- local cflags_for_build
- local ldflags
- local build_step
- local log_txt
- local tmp
- local -a host_libstdcxx_flags
- local -a extra_config
- local -a core_LDFLAGS
- local -a core_targets
- local -a core_targets_all
- local -a core_targets_install
- local -a extra_user_config
- local arg
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- # This function gets called in case of a bare metal compiler for the final gcc, too.
- case "${build_step}" in
- core1|core2)
- CT_DoLog EXTRA "Configuring core C gcc compiler"
- log_txt="gcc"
- extra_user_config=( "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
- ;;
- gcc_build|gcc_host)
- CT_DoLog EXTRA "Configuring final gcc compiler"
- extra_user_config=( "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" )
- log_txt="final gcc compiler"
- # to inhibit the libiberty and libgcc tricks later on
- build_libgcc=no
- ;;
- *)
- CT_Abort "Internal Error: 'build_step' must be one of: 'core1', 'core2', 'gcc_build' or 'gcc_host', not '${build_step:-(empty)}'"
- ;;
- esac
-
- case "${mode}" in
- static)
- extra_config+=("--with-newlib")
- extra_config+=("--enable-threads=no")
- extra_config+=("--disable-shared")
- ;;
- shared)
- extra_config+=("--enable-shared")
- ;;
- baremetal)
- extra_config+=("--with-newlib")
- extra_config+=("--enable-threads=no")
- extra_config+=("--disable-shared")
- ;;
- *)
- CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'"
- ;;
- esac
-
- # This is only needed when building libstdc++ in a canadian environment with
- # this function being used for final step (i.e., when building for bare metal).
- if [ "${build_step}" = "gcc_build" ]; then
- CT_DoLog DEBUG "Copying headers to install area of core C compiler"
- CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
- fi
-
- for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
- eval tmp="\${CT_ARCH_WITH_${tmp}}"
- if [ -n "${tmp}" ]; then
- extra_config+=("${tmp}")
- fi
- done
-
- extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
- [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
-
- if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
- extra_config+=("--enable-__cxa_atexit")
- else
- extra_config+=("--disable-__cxa_atexit")
- fi
-
- if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" \
- -a "${mode}" = "baremetal" ]; then
- extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
- fi
-
- extra_config+=(--disable-libgomp)
- extra_config+=(--disable-libmudflap)
- extra_config+=(--disable-libmpx)
-
- if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
- extra_config+=(--enable-libssp)
- else
- extra_config+=(--disable-libssp)
- fi
- if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
- extra_config+=(--enable-libquadmath)
- extra_config+=(--enable-libquadmath-support)
- else
- extra_config+=(--disable-libquadmath)
- extra_config+=(--disable-libquadmath-support)
- fi
-
- core_LDFLAGS+=("${ldflags}")
-
- # *** WARNING ! ***
- # Keep this full if-else-if-elif-fi-fi block in sync
- # with the same block in do_gcc_backend, below.
- if [ "${build_staticlinked}" = "yes" ]; then
- core_LDFLAGS+=("-static")
- host_libstdcxx_flags+=("-static-libgcc")
- host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
- host_libstdcxx_flags+=("-lm")
- # Companion libraries are build static (eg !shared), so
- # the libstdc++ is not pulled automatically, although it
- # is needed. Shoe-horn it in our LDFLAGS
- # Ditto libm on some Fedora boxen
- core_LDFLAGS+=("-lstdc++")
- core_LDFLAGS+=("-lm")
- else
- if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
- # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
- # build script
- # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
- # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
- host_libstdcxx_flags+=("-static-libgcc")
- host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
- host_libstdcxx_flags+=("-lm")
- fi
- # When companion libraries are build static (eg !shared),
- # the libstdc++ is not pulled automatically, although it
- # is needed. Shoe-horn it in our LDFLAGS
- # Ditto libm on some Fedora boxen
- core_LDFLAGS+=("-lstdc++")
- core_LDFLAGS+=("-lm")
- fi
-
- extra_config+=("--with-gmp=${complibs}")
- extra_config+=("--with-mpfr=${complibs}")
- extra_config+=("--with-mpc=${complibs}")
- if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
- if [ "${CT_ISL}" = "y" ]; then
- extra_config+=("--with-isl=${complibs}")
- fi
- if [ "${CT_CLOOG}" = "y" ]; then
- extra_config+=("--with-cloog=${complibs}")
- fi
- else
- extra_config+=("--with-isl=no")
- extra_config+=("--with-cloog=no")
- fi
- if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
- extra_config+=("--enable-lto")
- else
- extra_config+=("--disable-lto")
- fi
-
- if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
- extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
- fi
-
- if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
- extra_config+=("--enable-target-optspace")
- fi
- if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
- extra_config+=("--disable-libstdcxx-pch")
- fi
-
- case "${CT_CC_GCC_LDBL_128}" in
- y) extra_config+=("--with-long-double-128");;
- m) ;;
- "") extra_config+=("--without-long-double-128");;
- esac
-
- if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
- extra_config+=( --enable-linker-build-id )
- fi
-
- case "${CT_CC_GCC_LNK_HASH_STYLE}" in
- "") ;;
- *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
- esac
-
- case "${CT_CC_GCC_DEC_FLOATS}" in
- "") ;;
- *) extra_config+=( "--enable-decimal-float=${CT_CC_GCC_DEC_FLOATS}" );;
- esac
-
- case "${CT_ARCH}" in
- mips)
- case "${CT_CC_GCC_mips_llsc}" in
- y) extra_config+=( --with-llsc );;
- m) ;;
- *) extra_config+=( --without-llsc );;
- esac
- case "${CT_CC_GCC_mips_synci}" in
- y) extra_config+=( --with-synci );;
- m) ;;
- *) extra_config+=( --without-synci );;
- esac
- if [ "${CT_CC_GCC_mips_plt}" ]; then
- extra_config+=( --with-mips-plt )
- fi
- ;; # ARCH is mips
- esac
-
- if [ "${CT_TOOLCHAIN_ENABLE_NLS}" = "y" ]; then
- extra_config+=("--with-libintl-prefix=${complibs}")
- else
- extra_config+=("--disable-nls")
- fi
-
- if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
- extra_config+=("--with-system-zlib")
- fi
-
- case "${CT_CC_GCC_CONFIG_TLS}" in
- y) extra_config+=("--enable-tls");;
- m) ;;
- "") extra_config+=("--disable-tls");;
- esac
-
- # Some versions of gcc have a defective --enable-multilib.
- # Since that's the default, only pass --disable-multilib. For multilib,
- # also enable multiarch. Without explicit --enable-multiarch, pass-1
- # compiler is configured as multilib/no-multiarch and pass-2/final
- # are multilib/multiarch (because gcc autodetects multiarch based on
- # multiple instances of crt*.o in the install directory - which do
- # not exist in pass-1).
- if [ "${CT_MULTILIB}" != "y" ]; then
- extra_config+=("--disable-multilib")
- else
- extra_config+=("--enable-multiarch")
- if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
- extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
- fi
- fi
-
- CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
-
- # We may need to modify host/build CFLAGS separately below
- cflags_for_build="${CT_CFLAGS_FOR_BUILD}"
-
- # Clang's default bracket-depth is 256, and building GCC
- # requires somewhere between 257 and 512.
- if [ "${host}" = "${CT_BUILD}" ]; then
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags="$cflags "-fbracket-depth=512
- cflags_for_build="$cflags_for_build "-fbracket-depth=512
- fi
- else
- # FIXME we currently don't support clang as host compiler, only as build
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags_for_build="$cflags_for_build "-fbracket-depth=512
- fi
- fi
-
- # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
- CT_DoExecLog CFG \
- CC_FOR_BUILD="${CT_BUILD}-gcc" \
- CFLAGS="${cflags}" \
- CFLAGS_FOR_BUILD="${cflags_for_build}" \
- CXXFLAGS="${cflags}" \
- CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
- LDFLAGS="${core_LDFLAGS[*]}" \
- CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
- CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
- LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \
- --build=${CT_BUILD} \
- --host=${host} \
- --target=${CT_TARGET} \
- --prefix="${prefix}" \
- --with-local-prefix="${CT_SYSROOT_DIR}" \
- ${CC_CORE_SYSROOT_ARG} \
- "${extra_config[@]}" \
- --enable-languages="${lang_list}" \
- "${extra_user_config[@]}"
-
- if [ "${build_libgcc}" = "yes" ]; then
- # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or
- # gcc/config/t-libunwind so -lc is removed from the link for
- # libgcc_s.so, as we do not have a target -lc yet.
- # This is not as ugly as it appears to be ;-) All symbols get resolved
- # during the glibc build, and we provide a proper libgcc_s.so for the
- # cross toolchain during the final gcc build.
- #
- # As we cannot modify the source tree, nor override SHLIB_LC itself
- # during configure or make, we have to edit the resultant
- # gcc/libgcc.mk itself to remove -lc from the link.
- # This causes us to have to jump through some hoops...
- #
- # To produce libgcc.mk to edit we firstly require libiberty.a,
- # so we configure then build it.
- # Next we have to configure gcc, create libgcc.mk then edit it...
- # So much easier if we just edit the source tree, but hey...
- if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
- CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty
- CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a
- CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp
- CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp
- else
- CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty
- CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty
- fi
- # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
- if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libdecnumber" ]; then
- CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber
- CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a
- fi
- # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here.
- if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libbacktrace" ]; then
- CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace
- CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace
- fi
-
- libgcc_rule="libgcc.mvars"
- core_targets=( gcc target-libgcc )
-
- # On bare metal and canadian build the host-compiler is used when
- # actually the build-system compiler is required. Choose the correct
- # compilers for canadian build and use the defaults on other
- # configurations.
- if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
- repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
- CXX_FOR_BUILD=${CT_BUILD}-g++ \
- GCC_FOR_TARGET=${CT_TARGET}-${CT_CC}"
- else
- repair_cc=""
- fi
-
- CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \
- ${repair_cc}
- sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
- else # build_libgcc
- core_targets=( gcc )
- fi # ! build libgcc
- if [ "${build_libstdcxx}" = "yes" \
- -a "${CT_CC_LANG_CXX}" = "y" \
- ]; then
- core_targets+=( target-libstdc++-v3 )
- fi
-
- if [ "${build_libgfortran}" = "yes" \
- -a "${CT_CC_LANG_FORTRAN}" = "y" \
- ]; then
- core_targets+=( target-libgfortran )
- fi
-
- core_targets_all="${core_targets[@]/#/all-}"
- core_targets_install="${core_targets[@]/#/install-}"
-
- case "${build_step}" in
- gcc_build|gcc_host)
- core_targets_all=all
- core_targets_install=install
- ;;
- esac
-
- CT_DoLog EXTRA "Building ${log_txt}"
- CT_DoExecLog ALL make ${JOBSFLAGS} ${core_targets_all}
-
- # Do not pass ${JOBSFLAGS} here: recent GCC builds have been failing
- # in parallel 'make install' at random locations: libitm, libcilk,
- # always for the files that are installed more than once to the same
- # location (such as libitm.info).
- # The symptom is that the install command fails with "File exists"
- # error; running the same command manually succeeds. It looks like
- # attempts to remove the destination and re-create it, but another
- # install gets in the way.
- CT_DoLog EXTRA "Installing ${log_txt}"
- CT_DoExecLog ALL make ${core_targets_install}
-
- # Remove the libtool "pseudo-libraries": having them in the installed
- # tree makes the libtoolized utilities that are built next assume
- # that, for example, libsupc++ is an "accessory library", and not include
- # -lsupc++ to the link flags. That breaks ltrace, for example.
- CT_DoLog EXTRA "Housekeeping for core gcc compiler"
- CT_Pushd "${prefix}"
- find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL
- CT_Popd
-
- if [ "${build_manuals}" = "yes" ]; then
- CT_DoLog EXTRA "Building the GCC manuals"
- CT_DoExecLog ALL make pdf html
- CT_DoLog EXTRA "Installing the GCC manuals"
- CT_DoExecLog ALL make install-{pdf,html}-gcc
- fi
-
- # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able
- # to call the C compiler with the same, somewhat canonical name.
- # check whether compiler has an extension
- file="$( ls -1 "${prefix}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )"
- [ -z "${file}" ] || ext=".${file##*.}"
- if [ -f "${prefix}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then
- CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
- fi
-
- cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \
- host="${host}"
-}
-
-#------------------------------------------------------------------------------
-# Build complete gcc to run on build
-do_gcc_for_build() {
- local -a build_final_opts
- local build_final_backend
-
- # If native or simple cross toolchain is being built, then build==host;
- # nothing to do.
- case "${CT_TOOLCHAIN_TYPE}" in
- native|cross) return 0;;
- esac
-
- build_final_opts+=( "host=${CT_BUILD}" )
- build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
- build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
- build_final_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
- build_final_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
- build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
- build_final_opts+=( "build_step=gcc_build" )
- if [ "${CT_BARE_METAL}" = "y" ]; then
- # In the tests I've done, bare-metal was not impacted by the
- # lack of such a compiler, but better safe than sorry...
- build_final_opts+=( "mode=baremetal" )
- build_final_opts+=( "build_libgcc=yes" )
- build_final_opts+=( "build_libstdcxx=yes" )
- build_final_opts+=( "build_libgfortran=yes" )
- if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
- build_final_opts+=( "build_staticlinked=yes" )
- fi
- build_final_backend=do_gcc_core_backend
- else
- build_final_backend=do_gcc_backend
- fi
-
- CT_DoStep INFO "Installing final gcc compiler for build"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-build-${CT_BUILD}"
-
- "${build_final_backend}" "${build_final_opts[@]}"
-
- CT_Popd
- CT_EndStep
-}
-
-gcc_movelibs() {
- local multi_flags multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_index multi_count
- local gcc_dir dst_dir
- local rel
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- # Move only files, directories are for other multilibs. We're looking inside
- # GCC's directory structure, thus use unmangled multi_os_dir that GCC reports.
- gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir_gcc}"
- if [ ! -d "${gcc_dir}" ]; then
- # GCC didn't install anything outside of sysroot
- return
- fi
- # Depending on the selected libc, we may or may not have the ${multi_os_dir_gcc}
- # created by libc installation. If we do, use it. If we don't, use ${multi_os_dir}
- # to avoid creating an otherwise empty directory.
- dst_dir="${multi_root}/lib/${multi_os_dir_gcc}"
- if [ ! -d "${dst_dir}" ]; then
- dst_dir="${multi_root}/lib/${multi_os_dir}"
- fi
- CT_SanitizeVarDir dst_dir gcc_dir
- rel=$( echo "${gcc_dir#${CT_PREFIX_DIR}/}" | sed 's#[^/]\{1,\}#..#g' )
-
- ls "${gcc_dir}" | while read f; do
- case "${f}" in
- *.ld)
- # Linker scripts remain in GCC's directory; elf2flt insists on
- # finding them there.
- continue
- ;;
- esac
- if [ -f "${gcc_dir}/${f}" ]; then
- CT_DoExecLog ALL mkdir -p "${dst_dir}"
- CT_DoExecLog ALL mv "${gcc_dir}/${f}" "${dst_dir}/${f}"
- CT_DoExecLog ALL ln -sf "${rel}/${dst_dir#${CT_PREFIX_DIR}/}/${f}" "${gcc_dir}/${f}"
- fi
- done
-}
-
-#------------------------------------------------------------------------------
-# Build final gcc to run on host
-do_gcc_for_host() {
- local -a final_opts
- local final_backend
-
- final_opts+=( "host=${CT_HOST}" )
- final_opts+=( "prefix=${CT_PREFIX_DIR}" )
- final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" )
- final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
- final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
- final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
- final_opts+=( "build_step=gcc_host" )
- if [ "${CT_BUILD_MANUALS}" = "y" ]; then
- final_opts+=( "build_manuals=yes" )
- fi
- if [ "${CT_BARE_METAL}" = "y" ]; then
- final_opts+=( "mode=baremetal" )
- final_opts+=( "build_libgcc=yes" )
- final_opts+=( "build_libstdcxx=yes" )
- final_opts+=( "build_libgfortran=yes" )
- if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
- final_opts+=( "build_staticlinked=yes" )
- fi
- final_backend=do_gcc_core_backend
- else
- final_backend=do_gcc_backend
- fi
-
- CT_DoStep INFO "Installing final gcc compiler"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final"
- "${final_backend}" "${final_opts[@]}"
- CT_Popd
-
- # GCC installs stuff (including libgcc) into its own /lib dir,
- # outside of sysroot, breaking linking with -static-libgcc.
- # Fix up by moving the libraries into the sysroot.
- if [ "${CT_USE_SYSROOT}" = "y" ]; then
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-movelibs"
- CT_IterateMultilibs gcc_movelibs movelibs
- CT_Popd
- fi
-
- CT_EndStep
-}
-
-#------------------------------------------------------------------------------
-# Build the final gcc
-# Usage: do_gcc_backend param=value [...]
-# Parameter : Definition : Type : Default
-# host : the host we run onto : tuple : (none)
-# prefix : the runtime prefix : dir : (none)
-# complibs : the companion libraries prefix : dir : (none)
-# cflags : cflags to use : string : (empty)
-# ldflags : ldflags to use : string : (empty)
-# lang_list : the list of languages to build : string : (empty)
-# build_manuals : whether to build manuals or not : bool : no
-do_gcc_backend() {
- local host
- local prefix
- local complibs
- local lang_list
- local cflags
- local cflags_for_build
- local ldflags
- local build_manuals
- local -a host_libstdcxx_flags
- local -a extra_config
- local -a final_LDFLAGS
- local tmp
- local arg
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- CT_DoLog EXTRA "Configuring final gcc compiler"
-
- # Enable selected languages
- extra_config+=("--enable-languages=${lang_list}")
-
- for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
- eval tmp="\${CT_ARCH_WITH_${tmp}}"
- if [ -n "${tmp}" ]; then
- extra_config+=("${tmp}")
- fi
- done
-
- [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared")
- extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
- [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
-
- case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in
- y) extra_config+=("--enable-sjlj-exceptions");;
- m) ;;
- "") extra_config+=("--disable-sjlj-exceptions");;
- esac
- if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
- extra_config+=("--enable-__cxa_atexit")
- else
- extra_config+=("--disable-__cxa_atexit")
- fi
-
- if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
- extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
- fi
-
- if [ "${CT_THREADS}" = "none" ]; then
- extra_config+=(--disable-libatomic)
- fi
- if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
- extra_config+=(--enable-libmudflap)
- else
- extra_config+=(--disable-libmudflap)
- fi
- if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then
- extra_config+=(--enable-libgomp)
- else
- extra_config+=(--disable-libgomp)
- fi
- if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
- extra_config+=(--enable-libssp)
- else
- extra_config+=(--disable-libssp)
- fi
- if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
- extra_config+=(--enable-libquadmath)
- extra_config+=(--enable-libquadmath-support)
- else
- extra_config+=(--disable-libquadmath)
- extra_config+=(--disable-libquadmath-support)
- fi
-
- if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then
- extra_config+=(--enable-libsanitizer)
- else
- extra_config+=(--disable-libsanitizer)
- fi
-
- if [ "${CT_CC_GCC_HAS_LIBMPX}" = "y" ]; then
- if [ "${CT_CC_GCC_LIBMPX}" = "y" ]; then
- extra_config+=(--enable-libmpx)
- else
- extra_config+=(--disable-libmpx)
- fi
- fi
-
- final_LDFLAGS+=("${ldflags}")
-
- # *** WARNING ! ***
- # Keep this full if-else-if-elif-fi-fi block in sync
- # with the same block in do_gcc_core_backend, above.
- if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
- final_LDFLAGS+=("-static")
- host_libstdcxx_flags+=("-static-libgcc")
- host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
- host_libstdcxx_flags+=("-lm")
- # Companion libraries are build static (eg !shared), so
- # the libstdc++ is not pulled automatically, although it
- # is needed. Shoe-horn it in our LDFLAGS
- # Ditto libm on some Fedora boxen
- final_LDFLAGS+=("-lstdc++")
- final_LDFLAGS+=("-lm")
- else
- if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
- # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
- # build script
- # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
- # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
- host_libstdcxx_flags+=("-static-libgcc")
- host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
- host_libstdcxx_flags+=("-lm")
- fi
- # When companion libraries are build static (eg !shared),
- # the libstdc++ is not pulled automatically, although it
- # is needed. Shoe-horn it in our LDFLAGS
- # Ditto libm on some Fedora boxen
- final_LDFLAGS+=("-lstdc++")
- final_LDFLAGS+=("-lm")
- fi
-
- extra_config+=("--with-gmp=${complibs}")
- extra_config+=("--with-mpfr=${complibs}")
- extra_config+=("--with-mpc=${complibs}")
- if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
- if [ "${CT_ISL}" = "y" ]; then
- extra_config+=("--with-isl=${complibs}")
- fi
- if [ "${CT_CLOOG}" = "y" ]; then
- extra_config+=("--with-cloog=${complibs}")
- fi
- else
- extra_config+=("--with-isl=no")
- extra_config+=("--with-cloog=no")
- fi
- if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
- extra_config+=("--enable-lto")
- else
- extra_config+=("--disable-lto")
- fi
-
- if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
- extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
- fi
-
- if [ "${CT_THREADS}" = "none" ]; then
- extra_config+=("--disable-threads")
- else
- if [ "${CT_THREADS}" = "win32" ]; then
- extra_config+=("--enable-threads=win32")
- extra_config+=("--disable-win32-registry")
- else
- extra_config+=("--enable-threads=posix")
- fi
- fi
-
- if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
- extra_config+=("--enable-target-optspace")
- fi
- if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
- extra_config+=("--disable-libstdcxx-pch")
- fi
-
- case "${CT_CC_GCC_LDBL_128}" in
- y) extra_config+=("--with-long-double-128");;
- m) ;;
- "") extra_config+=("--without-long-double-128");;
- esac
-
- if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
- extra_config+=( --enable-linker-build-id )
- fi
-
- case "${CT_CC_GCC_LNK_HASH_STYLE}" in
- "") ;;
- *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
- esac
-
- case "${CT_CC_GCC_DEC_FLOATS}" in
- "") ;;
- *) extra_config+=( "--enable-decimal-float=${CT_CC_GCC_DEC_FLOATS}" );;
- esac
-
- if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then
- extra_config+=( --enable-plugin )
- else
- extra_config+=( --disable-plugin )
- fi
- if [ "${CT_CC_GCC_GOLD}" = "y" ]; then
- extra_config+=( --enable-gold )
- fi
-
- case "${CT_ARCH}" in
- mips)
- case "${CT_CC_GCC_mips_llsc}" in
- y) extra_config+=( --with-llsc );;
- m) ;;
- *) extra_config+=( --without-llsc );;
- esac
- case "${CT_CC_GCC_mips_synci}" in
- y) extra_config+=( --with-synci );;
- m) ;;
- *) extra_config+=( --without-synci );;
- esac
- if [ "${CT_CC_GCC_mips_plt}" ]; then
- extra_config+=( --with-mips-plt )
- fi
- ;; # ARCH is mips
- esac
-
- if [ "${CT_TOOLCHAIN_ENABLE_NLS}" = "y" ]; then
- extra_config+=("--with-libintl-prefix=${complibs}")
- else
- extra_config+=("--disable-nls")
- fi
-
- if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
- extra_config+=("--with-system-zlib")
- fi
-
- case "${CT_CC_GCC_CONFIG_TLS}" in
- y) extra_config+=("--enable-tls");;
- m) ;;
- "") extra_config+=("--disable-tls");;
- esac
-
- # Some versions of gcc have a defective --enable-multilib.
- # Since that's the default, only pass --disable-multilib.
- if [ "${CT_MULTILIB}" != "y" ]; then
- extra_config+=("--disable-multilib")
- else
- extra_config+=("--enable-multiarch")
- if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
- extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
- fi
- fi
-
- CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
-
- # We may need to modify host/build CFLAGS separately below
- cflags_for_build="${cflags}"
-
- # Clang's default bracket-depth is 256, and building GCC
- # requires somewhere between 257 and 512.
- if [ "${host}" = "${CT_BUILD}" ]; then
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags="$cflags "-fbracket-depth=512
- cflags_for_build="$cflags_for_build "-fbracket-depth=512
- fi
- else
- # FIXME we currently don't support clang as host compiler, only as build
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags_for_build="$cflags_for_build "-fbracket-depth=512
- fi
- fi
-
- CT_DoExecLog CFG \
- CC_FOR_BUILD="${CT_BUILD}-gcc" \
- CFLAGS="${cflags}" \
- CFLAGS_FOR_BUILD="${cflags_for_build}" \
- CXXFLAGS="${cflags}" \
- CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
- LDFLAGS="${final_LDFLAGS[*]}" \
- CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
- CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
- LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \
- --build=${CT_BUILD} \
- --host=${host} \
- --target=${CT_TARGET} \
- --prefix="${prefix}" \
- ${CC_SYSROOT_ARG} \
- "${extra_config[@]}" \
- --with-local-prefix="${CT_SYSROOT_DIR}" \
- --enable-long-long \
- "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}"
-
- if [ "${CT_CANADIAN}" = "y" ]; then
- CT_DoLog EXTRA "Building libiberty"
- CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty
- fi
-
- CT_DoLog EXTRA "Building final gcc compiler"
- CT_DoExecLog ALL make ${JOBSFLAGS} all
-
- # See the note on issues with parallel 'make install' in GCC above.
- CT_DoLog EXTRA "Installing final gcc compiler"
- if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
- CT_DoExecLog ALL make install-strip
- else
- CT_DoExecLog ALL make install
- fi
-
- # Remove the libtool "pseudo-libraries": having them in the installed
- # tree makes the libtoolized utilities that are built next assume
- # that, for example, libsupc++ is an "accessory library", and not include
- # -lsupc++ to the link flags. That breaks ltrace, for example.
- CT_DoLog EXTRA "Housekeeping for final gcc compiler"
- CT_Pushd "${prefix}"
- find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL
- CT_Popd
-
- if [ "${build_manuals}" = "yes" ]; then
- CT_DoLog EXTRA "Building the GCC manuals"
- CT_DoExecLog ALL make pdf html
- CT_DoLog EXTRA "Installing the GCC manuals"
- CT_DoExecLog ALL make install-{pdf,html}-gcc
- fi
-
- # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able
- # to call the C compiler with the same, somewhat canonical name.
- # check whether compiler has an extension
- file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )"
- [ -z "${file}" ] || ext=".${file##*.}"
- if [ -f "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then
- CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
- fi
-
- cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \
- host="${host}"
-}
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
new file mode 100644
index 0000000..6019b35
--- /dev/null
+++ b/scripts/build/cc/gcc.sh
@@ -0,0 +1,1157 @@
+# This file adds the function to build the gcc C compiler
+# Copyright 2007 Yann E. MORIN
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+# Download gcc
+do_cc_get() {
+ local linaro_version=""
+ local linaro_series=""
+
+ CT_Fetch GCC
+
+ # Starting with GCC 4.3, ecj is used for Java, and will only be
+ # built if the configure script finds ecj.jar at the top of the
+ # GCC source tree, which will not be there unless we get it and
+ # put it there ourselves
+ if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then
+ if ! CT_GetFile ecj-latest .jar $(CT_Mirrors sourceware java); then
+ # Should be a package, too - but with Java retirement in GCC,
+ # it may not make sense.
+ CT_Abort "Failed to download ecj-latest.jar"
+ fi
+ fi
+}
+
+# Extract gcc
+do_cc_extract() {
+ CT_ExtractPatch GCC
+
+ # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree
+ if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" -a ! -f "${CT_SRC_DIR}/gcc/ecj.jar" ]; then
+ CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc/ecj.jar"
+ fi
+}
+
+#------------------------------------------------------------------------------
+# This function builds up the set of languages to enable
+# No argument expected, returns the comma-separated language list on stdout
+cc_gcc_lang_list() {
+ local lang_list
+
+ lang_list="c"
+ [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++"
+ [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran"
+ [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada"
+ [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java"
+ [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc"
+ [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++"
+ [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go"
+ lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}"
+
+ printf "%s" "${lang_list}"
+}
+
+#------------------------------------------------------------------------------
+# Report the type of a GCC option
+cc_gcc_classify_opt() {
+ # Options present in multiple architectures
+ case "${1}" in
+ -march=*) echo "arch"; return;;
+ -mabi=*) echo "abi"; return;;
+ -mcpu=*|-mmcu=*) echo "cpu"; return;;
+ -mtune=*) echo "tune"; return;;
+ -mfpu=*) echo "fpu"; return;;
+ -mhard-float|-msoft-float|-mno-soft-float|-mno-float|-mfloat-abi=*|\
+ -mfpu|-mno-fpu) echo "float"; return;;
+ -EB|-EL|-mbig-endian|-mlittle-endian|-mbig|-mlittle|-meb|-mel|-mb|-ml) echo "endian"; return;;
+ -mthumb|-marm) echo "mode"; return;;
+ esac
+
+ # Arch-specific options and aliases
+ case "${CT_ARCH}" in
+ m68k)
+ case "${1}" in
+ -m68881) echo "float"; return;;
+ -m5[234]*|-mcfv4e) echo "cpu"; return;;
+ -m68*|-mc68*) echo "arch"; return;;
+ esac
+ ;;
+ mips)
+ case "${1}" in
+ -mips[1234]|-mips32|-mips32r*|-mips64|-mips64r*) echo "cpu"; return;;
+ esac
+ ;;
+ sh)
+ case "${1}" in
+ -m[12345]*) echo "cpu"; return;;
+ esac
+ esac
+
+ # All tried and failed
+ echo "unknown"
+}
+
+evaluate_multilib_cflags()
+{
+ local multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_flags multi_index multi_count
+ local mdir mdir_os dirtop
+ local f
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ mdir="lib/${multi_dir}"
+ mdir_os="lib/${multi_os_dir_gcc}"
+ CT_SanitizeVarDir mdir mdir_os
+ CT_DoLog EXTRA " '${multi_flags}' --> ${mdir} (gcc) ${mdir_os} (os)"
+ for f in ${multi_flags}; do
+ eval ml_`cc_gcc_classify_opt ${f}`=seen
+ done
+ if [ "${CT_DEMULTILIB}" = "y" -a "${CT_USE_SYSROOT}" = "y" ]; then
+ case "${mdir_os}" in
+ lib/*)
+ ;;
+ *)
+ dirtop="${mdir_os%%/*}"
+ if [ ! -e "${multi_root}/${mdir_os}" ]; then
+ CT_DoExecLog ALL ln -sfv lib "${multi_root}/${mdir_os}"
+ fi
+ if [ ! -e "${multi_root}/usr/${mdir_os}" ]; then
+ CT_DoExecLog ALL ln -sfv lib "${multi_root}/usr/${mdir_os}"
+ fi
+ ;;
+ esac
+ fi
+}
+
+#------------------------------------------------------------------------------
+# This function lists the multilibs configured in the compiler (even if multilib
+# is disabled - so that it lists the default GCC/OS directory, which may differ
+# from the default 'lib'). It then performs a few multilib checks/quirks:
+#
+# 1. On MIPS target, gcc (or rather, ld, which it invokes under the hood) chokes
+# if supplied with two -mabi=* options. I.e., 'gcc -mabi=n32' and 'gcc -mabi=32' both
+# work, but 'gcc -mabi=32 -mabi=n32' produces an internal error in ld. Thus we do
+# not supply target's CFLAGS in multilib builds - and after compiling pass-1 gcc,
+# attempt to determine which CFLAGS need to be filtered out.
+#
+# 2. If "demultilibing" is in effect, create top-level directories for any
+# multilibs not in lib/ as symlinks to lib.
+cc_gcc_multilib_housekeeping() {
+ local cc host
+ local ml_arch ml_abi ml_cpu ml_tune ml_fpu ml_float ml_endian ml_mode ml_unknown ml
+ local new_cflags
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ if [ \( "${CT_CANADIAN}" = "y" -o "${CT_CROSS_NATIVE}" = "y" \) -a "${host}" = "${CT_HOST}" ]; then
+ CT_DoLog EXTRA "Canadian Cross/Cross-native unable to confirm multilibs configuration "\
+ "directly; will use build-compiler for housekeeping."
+ # Since we cannot run the desired compiler, substitute build-CC with the assumption
+ # that the host-CC is configured in the same way.
+ cc="${CT_BUILDTOOLS_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}"
+ fi
+
+ CT_IterateMultilibs evaluate_multilib_cflags evaluate_cflags
+
+ # Filtering out some of the options provided in CT-NG config. Then *prepend*
+ # them to CT_TARGET_CFLAGS, like scripts/crosstool-NG.sh does. Zero out
+ # the stashed MULTILIB flags so that we don't process them again in the passes
+ # that follow.
+ CT_DoLog DEBUG "Configured target CFLAGS: '${CT_ARCH_TARGET_CFLAGS_MULTILIB}'"
+ ml_unknown= # Pass through anything we don't know about
+ for f in ${CT_ARCH_TARGET_CFLAGS_MULTILIB}; do
+ eval ml=\$ml_`cc_gcc_classify_opt ${f}`
+ if [ "${ml}" != "seen" ]; then
+ new_cflags="${new_cflags} ${f}"
+ fi
+ done
+ CT_DoLog DEBUG "Filtered target CFLAGS: '${new_cflags}'"
+ CT_EnvModify CT_TARGET_CFLAGS "${new_cflags} ${CT_TARGET_CFLAGS}"
+ CT_EnvModify CT_ARCH_TARGET_CFLAGS_MULTILIB ""
+
+ # Currently, the only LDFLAGS are endianness-related
+ CT_DoLog DEBUG "Configured target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
+ if [ "${ml_endian}" != "seen" ]; then
+ CT_EnvModify CT_TARGET_LDFLAGS "${CT_ARCH_TARGET_LDFLAGS_MULTILIB} ${CT_TARGET_LDFLAGS}"
+ CT_EnvModify CT_ARCH_TARGET_LDFLAGS_MULTILIB ""
+ fi
+ CT_DoLog DEBUG "Filtered target LDFLAGS: '${CT_ARCH_TARGET_LDFLAGS_MULTILIB}'"
+}
+
+#------------------------------------------------------------------------------
+# Core gcc pass 1
+do_cc_core_pass_1() {
+ local -a core_opts
+
+ if [ "${CT_CC_CORE_PASS_1_NEEDED}" != "y" ]; then
+ return 0
+ fi
+
+ core_opts+=( "mode=static" )
+ core_opts+=( "host=${CT_BUILD}" )
+ core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ core_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
+ core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
+ core_opts+=( "lang_list=c" )
+ core_opts+=( "build_step=core1" )
+
+ CT_DoStep INFO "Installing pass-1 core C gcc compiler"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1"
+
+ do_gcc_core_backend "${core_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+# Core gcc pass 2
+do_cc_core_pass_2() {
+ local -a core_opts
+
+ if [ "${CT_CC_CORE_PASS_2_NEEDED}" != "y" ]; then
+ return 0
+ fi
+
+ # Common options:
+ core_opts+=( "host=${CT_BUILD}" )
+ core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ core_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
+ core_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
+ core_opts+=( "lang_list=c" )
+ core_opts+=( "build_step=core2" )
+
+ # Different conditions are at stake here:
+ # - In case the threading model is NPTL, we need a shared-capable core
+ # gcc; in all other cases, we need a static-only core gcc.
+ # - In case the threading model is NPTL or win32, or gcc is 4.3 or
+ # later, we need to build libgcc
+ case "${CT_THREADS}" in
+ nptl)
+ core_opts+=( "mode=shared" )
+ core_opts+=( "build_libgcc=yes" )
+ ;;
+ win32)
+ core_opts+=( "mode=static" )
+ core_opts+=( "build_libgcc=yes" )
+ ;;
+ *)
+ core_opts+=( "mode=static" )
+ core_opts+=( "build_libgcc=yes" )
+ ;;
+ esac
+
+ CT_DoStep INFO "Installing pass-2 core C gcc compiler"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-2"
+
+ do_gcc_core_backend "${core_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+#------------------------------------------------------------------------------
+# Build core gcc
+# This function is used to build the core C compiler.
+# Usage: do_gcc_core_backend param=value [...]
+# Parameter : Definition : Type : Default
+# mode : build a 'static', 'shared' or 'baremetal' : string : (none)
+# host : the machine the core will run on : tuple : (none)
+# prefix : dir prefix to install into : dir : (none)
+# complibs : dir where complibs are installed : dir : (none)
+# lang_list : the list of languages to build : string : (empty)
+# build_libgcc : build libgcc or not : bool : no
+# build_libstdcxx : build libstdc++ or not : bool : no
+# build_libgfortran : build libgfortran or not : bool : no
+# build_staticlinked : build statically linked or not : bool : no
+# build_manuals : whether to build manuals or not : bool : no
+# cflags : cflags to use : string : (empty)
+# ldflags : ldflags to use : string : (empty)
+# build_step : build step 'core1', 'core2', 'gcc_build'
+# or 'gcc_host' : string : (none)
+# Usage: do_gcc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no]
+do_gcc_core_backend() {
+ local mode
+ local build_libgcc=no
+ local build_libstdcxx=no
+ local build_libgfortran=no
+ local build_staticlinked=no
+ local build_manuals=no
+ local host
+ local prefix
+ local complibs
+ local lang_list
+ local cflags
+ local cflags_for_build
+ local ldflags
+ local build_step
+ local log_txt
+ local tmp
+ local -a host_libstdcxx_flags
+ local -a extra_config
+ local -a core_LDFLAGS
+ local -a core_targets
+ local -a core_targets_all
+ local -a core_targets_install
+ local -a extra_user_config
+ local arg
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ # This function gets called in case of a bare metal compiler for the final gcc, too.
+ case "${build_step}" in
+ core1|core2)
+ CT_DoLog EXTRA "Configuring core C gcc compiler"
+ log_txt="gcc"
+ extra_user_config=( "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
+ ;;
+ gcc_build|gcc_host)
+ CT_DoLog EXTRA "Configuring final gcc compiler"
+ extra_user_config=( "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" )
+ log_txt="final gcc compiler"
+ # to inhibit the libiberty and libgcc tricks later on
+ build_libgcc=no
+ ;;
+ *)
+ CT_Abort "Internal Error: 'build_step' must be one of: 'core1', 'core2', 'gcc_build' or 'gcc_host', not '${build_step:-(empty)}'"
+ ;;
+ esac
+
+ case "${mode}" in
+ static)
+ extra_config+=("--with-newlib")
+ extra_config+=("--enable-threads=no")
+ extra_config+=("--disable-shared")
+ ;;
+ shared)
+ extra_config+=("--enable-shared")
+ ;;
+ baremetal)
+ extra_config+=("--with-newlib")
+ extra_config+=("--enable-threads=no")
+ extra_config+=("--disable-shared")
+ ;;
+ *)
+ CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'"
+ ;;
+ esac
+
+ # This is only needed when building libstdc++ in a canadian environment with
+ # this function being used for final step (i.e., when building for bare metal).
+ if [ "${build_step}" = "gcc_build" ]; then
+ CT_DoLog DEBUG "Copying headers to install area of core C compiler"
+ CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
+ fi
+
+ for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
+ eval tmp="\${CT_ARCH_WITH_${tmp}}"
+ if [ -n "${tmp}" ]; then
+ extra_config+=("${tmp}")
+ fi
+ done
+
+ extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
+ [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+
+ if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
+ extra_config+=("--enable-__cxa_atexit")
+ else
+ extra_config+=("--disable-__cxa_atexit")
+ fi
+
+ if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" \
+ -a "${mode}" = "baremetal" ]; then
+ extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
+ fi
+
+ extra_config+=(--disable-libgomp)
+ extra_config+=(--disable-libmudflap)
+ extra_config+=(--disable-libmpx)
+
+ if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
+ extra_config+=(--enable-libssp)
+ else
+ extra_config+=(--disable-libssp)
+ fi
+ if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
+ extra_config+=(--enable-libquadmath)
+ extra_config+=(--enable-libquadmath-support)
+ else
+ extra_config+=(--disable-libquadmath)
+ extra_config+=(--disable-libquadmath-support)
+ fi
+
+ core_LDFLAGS+=("${ldflags}")
+
+ # *** WARNING ! ***
+ # Keep this full if-else-if-elif-fi-fi block in sync
+ # with the same block in do_gcc_backend, below.
+ if [ "${build_staticlinked}" = "yes" ]; then
+ core_LDFLAGS+=("-static")
+ host_libstdcxx_flags+=("-static-libgcc")
+ host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
+ host_libstdcxx_flags+=("-lm")
+ # Companion libraries are build static (eg !shared), so
+ # the libstdc++ is not pulled automatically, although it
+ # is needed. Shoe-horn it in our LDFLAGS
+ # Ditto libm on some Fedora boxen
+ core_LDFLAGS+=("-lstdc++")
+ core_LDFLAGS+=("-lm")
+ else
+ if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
+ # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
+ # build script
+ # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
+ # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
+ host_libstdcxx_flags+=("-static-libgcc")
+ host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
+ host_libstdcxx_flags+=("-lm")
+ fi
+ # When companion libraries are build static (eg !shared),
+ # the libstdc++ is not pulled automatically, although it
+ # is needed. Shoe-horn it in our LDFLAGS
+ # Ditto libm on some Fedora boxen
+ core_LDFLAGS+=("-lstdc++")
+ core_LDFLAGS+=("-lm")
+ fi
+
+ extra_config+=("--with-gmp=${complibs}")
+ extra_config+=("--with-mpfr=${complibs}")
+ extra_config+=("--with-mpc=${complibs}")
+ if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
+ if [ "${CT_ISL}" = "y" ]; then
+ extra_config+=("--with-isl=${complibs}")
+ fi
+ if [ "${CT_CLOOG}" = "y" ]; then
+ extra_config+=("--with-cloog=${complibs}")
+ fi
+ else
+ extra_config+=("--with-isl=no")
+ extra_config+=("--with-cloog=no")
+ fi
+ if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
+ extra_config+=("--enable-lto")
+ else
+ extra_config+=("--disable-lto")
+ fi
+
+ if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
+ extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
+ fi
+
+ if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
+ extra_config+=("--enable-target-optspace")
+ fi
+ if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
+ extra_config+=("--disable-libstdcxx-pch")
+ fi
+
+ case "${CT_CC_GCC_LDBL_128}" in
+ y) extra_config+=("--with-long-double-128");;
+ m) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
+ if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
+ extra_config+=( --enable-linker-build-id )
+ fi
+
+ case "${CT_CC_GCC_LNK_HASH_STYLE}" in
+ "") ;;
+ *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
+ esac
+
+ case "${CT_CC_GCC_DEC_FLOATS}" in
+ "") ;;
+ *) extra_config+=( "--enable-decimal-float=${CT_CC_GCC_DEC_FLOATS}" );;
+ esac
+
+ case "${CT_ARCH}" in
+ mips)
+ case "${CT_CC_GCC_mips_llsc}" in
+ y) extra_config+=( --with-llsc );;
+ m) ;;
+ *) extra_config+=( --without-llsc );;
+ esac
+ case "${CT_CC_GCC_mips_synci}" in
+ y) extra_config+=( --with-synci );;
+ m) ;;
+ *) extra_config+=( --without-synci );;
+ esac
+ if [ "${CT_CC_GCC_mips_plt}" ]; then
+ extra_config+=( --with-mips-plt )
+ fi
+ ;; # ARCH is mips
+ esac
+
+ if [ "${CT_TOOLCHAIN_ENABLE_NLS}" = "y" ]; then
+ extra_config+=("--with-libintl-prefix=${complibs}")
+ else
+ extra_config+=("--disable-nls")
+ fi
+
+ if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
+ extra_config+=("--with-system-zlib")
+ fi
+
+ case "${CT_CC_GCC_CONFIG_TLS}" in
+ y) extra_config+=("--enable-tls");;
+ m) ;;
+ "") extra_config+=("--disable-tls");;
+ esac
+
+ # Some versions of gcc have a defective --enable-multilib.
+ # Since that's the default, only pass --disable-multilib. For multilib,
+ # also enable multiarch. Without explicit --enable-multiarch, pass-1
+ # compiler is configured as multilib/no-multiarch and pass-2/final
+ # are multilib/multiarch (because gcc autodetects multiarch based on
+ # multiple instances of crt*.o in the install directory - which do
+ # not exist in pass-1).
+ if [ "${CT_MULTILIB}" != "y" ]; then
+ extra_config+=("--disable-multilib")
+ else
+ extra_config+=("--enable-multiarch")
+ if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
+ extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
+ fi
+ fi
+
+ CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+
+ # We may need to modify host/build CFLAGS separately below
+ cflags_for_build="${CT_CFLAGS_FOR_BUILD}"
+
+ # Clang's default bracket-depth is 256, and building GCC
+ # requires somewhere between 257 and 512.
+ if [ "${host}" = "${CT_BUILD}" ]; then
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ else
+ # FIXME we currently don't support clang as host compiler, only as build
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ fi
+
+ # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
+ CT_DoExecLog CFG \
+ CC_FOR_BUILD="${CT_BUILD}-gcc" \
+ CFLAGS="${cflags}" \
+ CFLAGS_FOR_BUILD="${cflags_for_build}" \
+ CXXFLAGS="${cflags}" \
+ CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
+ LDFLAGS="${core_LDFLAGS[*]}" \
+ CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
+ CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
+ LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/gcc/configure" \
+ --build=${CT_BUILD} \
+ --host=${host} \
+ --target=${CT_TARGET} \
+ --prefix="${prefix}" \
+ --with-local-prefix="${CT_SYSROOT_DIR}" \
+ ${CC_CORE_SYSROOT_ARG} \
+ "${extra_config[@]}" \
+ --enable-languages="${lang_list}" \
+ "${extra_user_config[@]}"
+
+ if [ "${build_libgcc}" = "yes" ]; then
+ # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or
+ # gcc/config/t-libunwind so -lc is removed from the link for
+ # libgcc_s.so, as we do not have a target -lc yet.
+ # This is not as ugly as it appears to be ;-) All symbols get resolved
+ # during the glibc build, and we provide a proper libgcc_s.so for the
+ # cross toolchain during the final gcc build.
+ #
+ # As we cannot modify the source tree, nor override SHLIB_LC itself
+ # during configure or make, we have to edit the resultant
+ # gcc/libgcc.mk itself to remove -lc from the link.
+ # This causes us to have to jump through some hoops...
+ #
+ # To produce libgcc.mk to edit we firstly require libiberty.a,
+ # so we configure then build it.
+ # Next we have to configure gcc, create libgcc.mk then edit it...
+ # So much easier if we just edit the source tree, but hey...
+ if [ ! -f "${CT_SRC_DIR}/gcc/gcc/BASE-VER" ]; then
+ CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty
+ CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a
+ CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp
+ CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp
+ else
+ CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty
+ CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty
+ fi
+ # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
+ if [ -d "${CT_SRC_DIR}/gcc/libdecnumber" ]; then
+ CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber
+ CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a
+ fi
+ # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here.
+ if [ -d "${CT_SRC_DIR}/gcc/libbacktrace" ]; then
+ CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace
+ CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace
+ fi
+
+ libgcc_rule="libgcc.mvars"
+ core_targets=( gcc target-libgcc )
+
+ # On bare metal and canadian build the host-compiler is used when
+ # actually the build-system compiler is required. Choose the correct
+ # compilers for canadian build and use the defaults on other
+ # configurations.
+ if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
+ repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
+ CXX_FOR_BUILD=${CT_BUILD}-g++ \
+ GCC_FOR_TARGET=${CT_TARGET}-${CT_CC}"
+ else
+ repair_cc=""
+ fi
+
+ CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \
+ ${repair_cc}
+ sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule}
+ else # build_libgcc
+ core_targets=( gcc )
+ fi # ! build libgcc
+ if [ "${build_libstdcxx}" = "yes" \
+ -a "${CT_CC_LANG_CXX}" = "y" \
+ ]; then
+ core_targets+=( target-libstdc++-v3 )
+ fi
+
+ if [ "${build_libgfortran}" = "yes" \
+ -a "${CT_CC_LANG_FORTRAN}" = "y" \
+ ]; then
+ core_targets+=( target-libgfortran )
+ fi
+
+ core_targets_all="${core_targets[@]/#/all-}"
+ core_targets_install="${core_targets[@]/#/install-}"
+
+ case "${build_step}" in
+ gcc_build|gcc_host)
+ core_targets_all=all
+ core_targets_install=install
+ ;;
+ esac
+
+ CT_DoLog EXTRA "Building ${log_txt}"
+ CT_DoExecLog ALL make ${JOBSFLAGS} ${core_targets_all}
+
+ # Do not pass ${JOBSFLAGS} here: recent GCC builds have been failing
+ # in parallel 'make install' at random locations: libitm, libcilk,
+ # always for the files that are installed more than once to the same
+ # location (such as libitm.info).
+ # The symptom is that the install command fails with "File exists"
+ # error; running the same command manually succeeds. It looks like
+ # attempts to remove the destination and re-create it, but another
+ # install gets in the way.
+ CT_DoLog EXTRA "Installing ${log_txt}"
+ CT_DoExecLog ALL make ${core_targets_install}
+
+ # Remove the libtool "pseudo-libraries": having them in the installed
+ # tree makes the libtoolized utilities that are built next assume
+ # that, for example, libsupc++ is an "accessory library", and not include
+ # -lsupc++ to the link flags. That breaks ltrace, for example.
+ CT_DoLog EXTRA "Housekeeping for core gcc compiler"
+ CT_Pushd "${prefix}"
+ find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL
+ CT_Popd
+
+ if [ "${build_manuals}" = "yes" ]; then
+ CT_DoLog EXTRA "Building the GCC manuals"
+ CT_DoExecLog ALL make pdf html
+ CT_DoLog EXTRA "Installing the GCC manuals"
+ CT_DoExecLog ALL make install-{pdf,html}-gcc
+ fi
+
+ # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able
+ # to call the C compiler with the same, somewhat canonical name.
+ # check whether compiler has an extension
+ file="$( ls -1 "${prefix}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )"
+ [ -z "${file}" ] || ext=".${file##*.}"
+ if [ -f "${prefix}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then
+ CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
+ fi
+
+ cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \
+ host="${host}"
+}
+
+#------------------------------------------------------------------------------
+# Build complete gcc to run on build
+do_cc_for_build() {
+ local -a build_final_opts
+ local build_final_backend
+
+ # If native or simple cross toolchain is being built, then build==host;
+ # nothing to do.
+ case "${CT_TOOLCHAIN_TYPE}" in
+ native|cross) return 0;;
+ esac
+
+ build_final_opts+=( "host=${CT_BUILD}" )
+ build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )
+ build_final_opts+=( "cflags=${CT_CFLAGS_FOR_BUILD}" )
+ build_final_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
+ build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
+ build_final_opts+=( "build_step=gcc_build" )
+ if [ "${CT_BARE_METAL}" = "y" ]; then
+ # In the tests I've done, bare-metal was not impacted by the
+ # lack of such a compiler, but better safe than sorry...
+ build_final_opts+=( "mode=baremetal" )
+ build_final_opts+=( "build_libgcc=yes" )
+ build_final_opts+=( "build_libstdcxx=yes" )
+ build_final_opts+=( "build_libgfortran=yes" )
+ if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
+ build_final_opts+=( "build_staticlinked=yes" )
+ fi
+ build_final_backend=do_gcc_core_backend
+ else
+ build_final_backend=do_gcc_backend
+ fi
+
+ CT_DoStep INFO "Installing final gcc compiler for build"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-build-${CT_BUILD}"
+
+ "${build_final_backend}" "${build_final_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+gcc_movelibs() {
+ local multi_flags multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_index multi_count
+ local gcc_dir dst_dir
+ local rel
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ # Move only files, directories are for other multilibs. We're looking inside
+ # GCC's directory structure, thus use unmangled multi_os_dir that GCC reports.
+ gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir_gcc}"
+ if [ ! -d "${gcc_dir}" ]; then
+ # GCC didn't install anything outside of sysroot
+ return
+ fi
+ # Depending on the selected libc, we may or may not have the ${multi_os_dir_gcc}
+ # created by libc installation. If we do, use it. If we don't, use ${multi_os_dir}
+ # to avoid creating an otherwise empty directory.
+ dst_dir="${multi_root}/lib/${multi_os_dir_gcc}"
+ if [ ! -d "${dst_dir}" ]; then
+ dst_dir="${multi_root}/lib/${multi_os_dir}"
+ fi
+ CT_SanitizeVarDir dst_dir gcc_dir
+ rel=$( echo "${gcc_dir#${CT_PREFIX_DIR}/}" | sed 's#[^/]\{1,\}#..#g' )
+
+ ls "${gcc_dir}" | while read f; do
+ case "${f}" in
+ *.ld)
+ # Linker scripts remain in GCC's directory; elf2flt insists on
+ # finding them there.
+ continue
+ ;;
+ esac
+ if [ -f "${gcc_dir}/${f}" ]; then
+ CT_DoExecLog ALL mkdir -p "${dst_dir}"
+ CT_DoExecLog ALL mv "${gcc_dir}/${f}" "${dst_dir}/${f}"
+ CT_DoExecLog ALL ln -sf "${rel}/${dst_dir#${CT_PREFIX_DIR}/}/${f}" "${gcc_dir}/${f}"
+ fi
+ done
+}
+
+#------------------------------------------------------------------------------
+# Build final gcc to run on host
+do_cc_for_host() {
+ local -a final_opts
+ local final_backend
+
+ final_opts+=( "host=${CT_HOST}" )
+ final_opts+=( "prefix=${CT_PREFIX_DIR}" )
+ final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" )
+ final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
+ final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
+ final_opts+=( "lang_list=$( cc_gcc_lang_list )" )
+ final_opts+=( "build_step=gcc_host" )
+ if [ "${CT_BUILD_MANUALS}" = "y" ]; then
+ final_opts+=( "build_manuals=yes" )
+ fi
+ if [ "${CT_BARE_METAL}" = "y" ]; then
+ final_opts+=( "mode=baremetal" )
+ final_opts+=( "build_libgcc=yes" )
+ final_opts+=( "build_libstdcxx=yes" )
+ final_opts+=( "build_libgfortran=yes" )
+ if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
+ final_opts+=( "build_staticlinked=yes" )
+ fi
+ final_backend=do_gcc_core_backend
+ else
+ final_backend=do_gcc_backend
+ fi
+
+ CT_DoStep INFO "Installing final gcc compiler"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final"
+ "${final_backend}" "${final_opts[@]}"
+ CT_Popd
+
+ # GCC installs stuff (including libgcc) into its own /lib dir,
+ # outside of sysroot, breaking linking with -static-libgcc.
+ # Fix up by moving the libraries into the sysroot.
+ if [ "${CT_USE_SYSROOT}" = "y" ]; then
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-movelibs"
+ CT_IterateMultilibs gcc_movelibs movelibs
+ CT_Popd
+ fi
+
+ CT_EndStep
+}
+
+#------------------------------------------------------------------------------
+# Build the final gcc
+# Usage: do_gcc_backend param=value [...]
+# Parameter : Definition : Type : Default
+# host : the host we run onto : tuple : (none)
+# prefix : the runtime prefix : dir : (none)
+# complibs : the companion libraries prefix : dir : (none)
+# cflags : cflags to use : string : (empty)
+# ldflags : ldflags to use : string : (empty)
+# lang_list : the list of languages to build : string : (empty)
+# build_manuals : whether to build manuals or not : bool : no
+do_gcc_backend() {
+ local host
+ local prefix
+ local complibs
+ local lang_list
+ local cflags
+ local cflags_for_build
+ local ldflags
+ local build_manuals
+ local -a host_libstdcxx_flags
+ local -a extra_config
+ local -a final_LDFLAGS
+ local tmp
+ local arg
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ CT_DoLog EXTRA "Configuring final gcc compiler"
+
+ # Enable selected languages
+ extra_config+=("--enable-languages=${lang_list}")
+
+ for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
+ eval tmp="\${CT_ARCH_WITH_${tmp}}"
+ if [ -n "${tmp}" ]; then
+ extra_config+=("${tmp}")
+ fi
+ done
+
+ [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared")
+ extra_config+=("--with-pkgversion=${CT_PKGVERSION}")
+ [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
+
+ case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in
+ y) extra_config+=("--enable-sjlj-exceptions");;
+ m) ;;
+ "") extra_config+=("--disable-sjlj-exceptions");;
+ esac
+ if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
+ extra_config+=("--enable-__cxa_atexit")
+ else
+ extra_config+=("--disable-__cxa_atexit")
+ fi
+
+ if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
+ extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
+ fi
+
+ if [ "${CT_THREADS}" = "none" ]; then
+ extra_config+=(--disable-libatomic)
+ fi
+ if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
+ extra_config+=(--enable-libmudflap)
+ else
+ extra_config+=(--disable-libmudflap)
+ fi
+ if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then
+ extra_config+=(--enable-libgomp)
+ else
+ extra_config+=(--disable-libgomp)
+ fi
+ if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
+ extra_config+=(--enable-libssp)
+ else
+ extra_config+=(--disable-libssp)
+ fi
+ if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then
+ extra_config+=(--enable-libquadmath)
+ extra_config+=(--enable-libquadmath-support)
+ else
+ extra_config+=(--disable-libquadmath)
+ extra_config+=(--disable-libquadmath-support)
+ fi
+
+ if [ "${CT_CC_GCC_LIBSANITIZER}" = "y" ]; then
+ extra_config+=(--enable-libsanitizer)
+ else
+ extra_config+=(--disable-libsanitizer)
+ fi
+
+ if [ "${CT_CC_GCC_HAS_LIBMPX}" = "y" ]; then
+ if [ "${CT_CC_GCC_LIBMPX}" = "y" ]; then
+ extra_config+=(--enable-libmpx)
+ else
+ extra_config+=(--disable-libmpx)
+ fi
+ fi
+
+ final_LDFLAGS+=("${ldflags}")
+
+ # *** WARNING ! ***
+ # Keep this full if-else-if-elif-fi-fi block in sync
+ # with the same block in do_gcc_core_backend, above.
+ if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
+ final_LDFLAGS+=("-static")
+ host_libstdcxx_flags+=("-static-libgcc")
+ host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++")
+ host_libstdcxx_flags+=("-lm")
+ # Companion libraries are build static (eg !shared), so
+ # the libstdc++ is not pulled automatically, although it
+ # is needed. Shoe-horn it in our LDFLAGS
+ # Ditto libm on some Fedora boxen
+ final_LDFLAGS+=("-lstdc++")
+ final_LDFLAGS+=("-lm")
+ else
+ if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then
+ # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
+ # build script
+ # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++,
+ # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html
+ host_libstdcxx_flags+=("-static-libgcc")
+ host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic")
+ host_libstdcxx_flags+=("-lm")
+ fi
+ # When companion libraries are build static (eg !shared),
+ # the libstdc++ is not pulled automatically, although it
+ # is needed. Shoe-horn it in our LDFLAGS
+ # Ditto libm on some Fedora boxen
+ final_LDFLAGS+=("-lstdc++")
+ final_LDFLAGS+=("-lm")
+ fi
+
+ extra_config+=("--with-gmp=${complibs}")
+ extra_config+=("--with-mpfr=${complibs}")
+ extra_config+=("--with-mpc=${complibs}")
+ if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
+ if [ "${CT_ISL}" = "y" ]; then
+ extra_config+=("--with-isl=${complibs}")
+ fi
+ if [ "${CT_CLOOG}" = "y" ]; then
+ extra_config+=("--with-cloog=${complibs}")
+ fi
+ else
+ extra_config+=("--with-isl=no")
+ extra_config+=("--with-cloog=no")
+ fi
+ if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
+ extra_config+=("--enable-lto")
+ else
+ extra_config+=("--disable-lto")
+ fi
+
+ if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then
+ extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}")
+ fi
+
+ if [ "${CT_THREADS}" = "none" ]; then
+ extra_config+=("--disable-threads")
+ else
+ if [ "${CT_THREADS}" = "win32" ]; then
+ extra_config+=("--enable-threads=win32")
+ extra_config+=("--disable-win32-registry")
+ else
+ extra_config+=("--enable-threads=posix")
+ fi
+ fi
+
+ if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
+ extra_config+=("--enable-target-optspace")
+ fi
+ if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then
+ extra_config+=("--disable-libstdcxx-pch")
+ fi
+
+ case "${CT_CC_GCC_LDBL_128}" in
+ y) extra_config+=("--with-long-double-128");;
+ m) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
+ if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then
+ extra_config+=( --enable-linker-build-id )
+ fi
+
+ case "${CT_CC_GCC_LNK_HASH_STYLE}" in
+ "") ;;
+ *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );;
+ esac
+
+ case "${CT_CC_GCC_DEC_FLOATS}" in
+ "") ;;
+ *) extra_config+=( "--enable-decimal-float=${CT_CC_GCC_DEC_FLOATS}" );;
+ esac
+
+ if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then
+ extra_config+=( --enable-plugin )
+ else
+ extra_config+=( --disable-plugin )
+ fi
+ if [ "${CT_CC_GCC_GOLD}" = "y" ]; then
+ extra_config+=( --enable-gold )
+ fi
+
+ case "${CT_ARCH}" in
+ mips)
+ case "${CT_CC_GCC_mips_llsc}" in
+ y) extra_config+=( --with-llsc );;
+ m) ;;
+ *) extra_config+=( --without-llsc );;
+ esac
+ case "${CT_CC_GCC_mips_synci}" in
+ y) extra_config+=( --with-synci );;
+ m) ;;
+ *) extra_config+=( --without-synci );;
+ esac
+ if [ "${CT_CC_GCC_mips_plt}" ]; then
+ extra_config+=( --with-mips-plt )
+ fi
+ ;; # ARCH is mips
+ esac
+
+ if [ "${CT_TOOLCHAIN_ENABLE_NLS}" = "y" ]; then
+ extra_config+=("--with-libintl-prefix=${complibs}")
+ else
+ extra_config+=("--disable-nls")
+ fi
+
+ if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then
+ extra_config+=("--with-system-zlib")
+ fi
+
+ case "${CT_CC_GCC_CONFIG_TLS}" in
+ y) extra_config+=("--enable-tls");;
+ m) ;;
+ "") extra_config+=("--disable-tls");;
+ esac
+
+ # Some versions of gcc have a defective --enable-multilib.
+ # Since that's the default, only pass --disable-multilib.
+ if [ "${CT_MULTILIB}" != "y" ]; then
+ extra_config+=("--disable-multilib")
+ else
+ extra_config+=("--enable-multiarch")
+ if [ -n "${CT_CC_GCC_MULTILIB_LIST}" ]; then
+ extra_config+=("--with-multilib-list=${CT_CC_GCC_MULTILIB_LIST}")
+ fi
+ fi
+
+ CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+
+ # We may need to modify host/build CFLAGS separately below
+ cflags_for_build="${cflags}"
+
+ # Clang's default bracket-depth is 256, and building GCC
+ # requires somewhere between 257 and 512.
+ if [ "${host}" = "${CT_BUILD}" ]; then
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ else
+ # FIXME we currently don't support clang as host compiler, only as build
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ fi
+
+ CT_DoExecLog CFG \
+ CC_FOR_BUILD="${CT_BUILD}-gcc" \
+ CFLAGS="${cflags}" \
+ CFLAGS_FOR_BUILD="${cflags_for_build}" \
+ CXXFLAGS="${cflags}" \
+ CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
+ LDFLAGS="${final_LDFLAGS[*]}" \
+ CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
+ CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
+ LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/gcc/configure" \
+ --build=${CT_BUILD} \
+ --host=${host} \
+ --target=${CT_TARGET} \
+ --prefix="${prefix}" \
+ ${CC_SYSROOT_ARG} \
+ "${extra_config[@]}" \
+ --with-local-prefix="${CT_SYSROOT_DIR}" \
+ --enable-long-long \
+ "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}"
+
+ if [ "${CT_CANADIAN}" = "y" ]; then
+ CT_DoLog EXTRA "Building libiberty"
+ CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty
+ fi
+
+ CT_DoLog EXTRA "Building final gcc compiler"
+ CT_DoExecLog ALL make ${JOBSFLAGS} all
+
+ # See the note on issues with parallel 'make install' in GCC above.
+ CT_DoLog EXTRA "Installing final gcc compiler"
+ if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
+ CT_DoExecLog ALL make install-strip
+ else
+ CT_DoExecLog ALL make install
+ fi
+
+ # Remove the libtool "pseudo-libraries": having them in the installed
+ # tree makes the libtoolized utilities that are built next assume
+ # that, for example, libsupc++ is an "accessory library", and not include
+ # -lsupc++ to the link flags. That breaks ltrace, for example.
+ CT_DoLog EXTRA "Housekeeping for final gcc compiler"
+ CT_Pushd "${prefix}"
+ find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL
+ CT_Popd
+
+ if [ "${build_manuals}" = "yes" ]; then
+ CT_DoLog EXTRA "Building the GCC manuals"
+ CT_DoExecLog ALL make pdf html
+ CT_DoLog EXTRA "Installing the GCC manuals"
+ CT_DoExecLog ALL make install-{pdf,html}-gcc
+ fi
+
+ # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able
+ # to call the C compiler with the same, somewhat canonical name.
+ # check whether compiler has an extension
+ file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )"
+ [ -z "${file}" ] || ext=".${file##*.}"
+ if [ -f "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then
+ CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}"
+ fi
+
+ cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \
+ host="${host}"
+}
diff --git a/scripts/build/companion_libs/050-zlib.sh b/scripts/build/companion_libs/050-zlib.sh
index a3ba638..868bf3d 100644
--- a/scripts/build/companion_libs/050-zlib.sh
+++ b/scripts/build/companion_libs/050-zlib.sh
@@ -13,14 +13,12 @@ if [ "${CT_ZLIB}" = "y" ]; then
# Download zlib
do_zlib_get() {
- CT_GetFile "zlib-${CT_ZLIB_VERSION}" \
- "http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION}"
+ CT_Fetch ZLIB
}
# Extract zlib
do_zlib_extract() {
- CT_Extract "zlib-${CT_ZLIB_VERSION}"
- CT_Patch "zlib" "${CT_ZLIB_VERSION}"
+ CT_ExtractPatch ZLIB
}
# Build zlib for running on build
@@ -87,7 +85,7 @@ do_zlib_backend() {
# zlib treats mingw host differently and requires using a different
# makefile rather than configure+make. It also does not support
# out-of-tree building.
- cp -av "${CT_SRC_DIR}/zlib-${CT_ZLIB_VERSION}/." .
+ cp -av "${CT_SRC_DIR}/zlib/." .
extra_make=( -f win32/Makefile.gcc \
PREFIX="${host}-" \
SHAREDLIB= \
@@ -107,7 +105,7 @@ do_zlib_backend() {
LDFLAGS="${ldflags}" \
CHOST="${host}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/zlib-${CT_ZLIB_VERSION}/configure" \
+ "${CT_SRC_DIR}/zlib/configure" \
--prefix="${prefix}" \
--static \
"${extra_config[@]}"
diff --git a/scripts/build/companion_libs/100-gmp.sh b/scripts/build/companion_libs/100-gmp.sh
index e6a4875..272af66 100644
--- a/scripts/build/companion_libs/100-gmp.sh
+++ b/scripts/build/companion_libs/100-gmp.sh
@@ -13,15 +13,12 @@ if [ "${CT_GMP}" = "y" ]; then
# Download GMP
do_gmp_get() {
- CT_GetFile "gmp-${CT_GMP_VERSION}" \
- https://gmplib.org/download/gmp \
- {http,ftp,https}://ftp.gnu.org/gnu/gmp
+ CT_Fetch GMP
}
# Extract GMP
do_gmp_extract() {
- CT_Extract "gmp-${CT_GMP_VERSION}"
- CT_Patch "gmp" "${CT_GMP_VERSION}"
+ CT_ExtractPatch GMP
}
# Build GMP for running on build
@@ -84,7 +81,9 @@ do_gmp_backend() {
CT_DoLog EXTRA "Configuring GMP"
- if [ ! "${CT_GMP_5_0_2_or_later}" = "y" ]; then
+ # FIXME is it needed even for older versions? They seem to compile fine
+ # without it.
+ if [ "${CT_GMP_HAS_MPBSD}" = "y" ]; then
extra_config+=("--enable-mpbsd")
fi
@@ -95,7 +94,7 @@ do_gmp_backend() {
CFLAGS="${cflags} -fexceptions" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
+ "${CT_SRC_DIR}/gmp/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/110-mpfr.sh b/scripts/build/companion_libs/110-mpfr.sh
index 5a89077..b4be3f4 100644
--- a/scripts/build/companion_libs/110-mpfr.sh
+++ b/scripts/build/companion_libs/110-mpfr.sh
@@ -13,16 +13,14 @@ if [ "${CT_MPFR}" = "y" ]; then
# Download MPFR
do_mpfr_get() {
- CT_GetFile "mpfr-${CT_MPFR_VERSION}" \
- {https,http,ftp}://ftp.gnu.org/gnu/mpfr \
- http://www.mpfr.org/mpfr-${CT_MPFR_VERSION}
+ CT_Fetch MPFR
}
# Extract MPFR
do_mpfr_extract() {
- CT_Extract "mpfr-${CT_MPFR_VERSION}"
- CT_Patch "mpfr" "${CT_MPFR_VERSION}"
+ CT_ExtractPatch MPFR
+ # TBD is it a problem with 2.4.x? The comment says it is not, yet the code is run
# OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
# same version number. Unfortunately, some tarballs of MPFR are not
# built sanely, and thus ./configure fails on Gentoo.
@@ -115,7 +113,7 @@ do_mpfr_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \
+ "${CT_SRC_DIR}/mpfr/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/121-isl.sh b/scripts/build/companion_libs/121-isl.sh
index ef93bbd..d96e9ce 100644
--- a/scripts/build/companion_libs/121-isl.sh
+++ b/scripts/build/companion_libs/121-isl.sh
@@ -13,14 +13,12 @@ if [ "${CT_ISL}" = "y" ]; then
# Download ISL
do_isl_get() {
- CT_GetFile "isl-${CT_ISL_VERSION}" \
- http://isl.gforge.inria.fr
+ CT_Fetch ISL
}
# Extract ISL
do_isl_extract() {
- CT_Extract "isl-${CT_ISL_VERSION}"
- CT_Patch "isl" "${CT_ISL_VERSION}"
+ CT_ExtractPatch ISL
}
# Build ISL for running on build
@@ -86,12 +84,12 @@ do_isl_backend() {
CT_DoLog EXTRA "Configuring ISL"
- if [ "${CT_ISL_V_0_12_or_later}" != "y" ]; then
+ if [ "${CT_ISL_NEEDS_WITH_GMP}" != "y" ]; then
extra_config+=("--with-libgmp-prefix=${prefix}")
extra_config+=("--with-libgmpxx-prefix=${prefix}")
fi
- if [ "${CT_ISL_V_0_14_or_later}" != "y" ]; then
+ if [ "${CT_ISL_HAS_WITH_PIPLIB}" != "y" ]; then
extra_config+=("--with-piplib=no")
fi
@@ -100,7 +98,7 @@ do_isl_backend() {
CXXFLAGS="${cxxflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/isl-${CT_ISL_VERSION}/configure" \
+ "${CT_SRC_DIR}/isl/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/130-cloog.sh b/scripts/build/companion_libs/130-cloog.sh
index b21b028..445d259 100644
--- a/scripts/build/companion_libs/130-cloog.sh
+++ b/scripts/build/companion_libs/130-cloog.sh
@@ -13,18 +13,12 @@ if [ "${CT_CLOOG}" = "y" ]; then
# Download CLooG
do_cloog_get() {
- CT_GetFile "cloog-${CT_CLOOG_VERSION}" \
- http://www.bastoul.net/cloog/pages/download \
- ftp://gcc.gnu.org/pub/gcc/infrastructure
+ CT_Fetch CLOOG
}
# Extract CLooG
do_cloog_extract() {
- CT_Extract "cloog-${CT_CLOOG_VERSION}"
- CT_Patch "cloog" "${CT_CLOOG_VERSION}"
-
- # Help the autostuff in case it thinks there are things to regenerate...
- CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/cloog-${CT_CLOOG_VERSION}/m4"
+ CT_ExtractPatch CLOOG
}
# Build CLooG for running on build
@@ -85,7 +79,7 @@ do_cloog_backend() {
eval "${arg// /\\ }"
done
- if [ "${CT_CLOOG_0_18_or_later}" = y ]; then
+ if [ "${CT_CLOOG_HAS_WITH_GMP_ISL_OSL}" = y ]; then
cloog_opts+=( --with-gmp=system --with-gmp-prefix="${prefix}" )
cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" )
cloog_opts+=( --without-osl )
@@ -98,7 +92,7 @@ do_cloog_backend() {
LDFLAGS="${ldflags}" \
LIBS="-lm" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/cloog-${CT_CLOOG_VERSION}/configure" \
+ "${CT_SRC_DIR}/cloog/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/140-mpc.sh b/scripts/build/companion_libs/140-mpc.sh
index e6efb4f..3136ab4 100644
--- a/scripts/build/companion_libs/140-mpc.sh
+++ b/scripts/build/companion_libs/140-mpc.sh
@@ -13,15 +13,12 @@ if [ "${CT_MPC}" = "y" ]; then
# Download MPC
do_mpc_get() {
- CT_GetFile "mpc-${CT_MPC_VERSION}" .tar.gz \
- {http,ftp,https}://ftp.gnu.org/gnu/mpc \
- http://www.multiprecision.org/mpc/download
+ CT_Fetch MPC
}
# Extract MPC
do_mpc_extract() {
- CT_Extract "mpc-${CT_MPC_VERSION}"
- CT_Patch "mpc" "${CT_MPC_VERSION}"
+ CT_ExtractPatch MPC
}
# Build MPC for running on build
@@ -87,7 +84,7 @@ do_mpc_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
+ "${CT_SRC_DIR}/mpc/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/200-libelf.sh b/scripts/build/companion_libs/200-libelf.sh
index 807ce7e..d1ac0b4 100644
--- a/scripts/build/companion_libs/200-libelf.sh
+++ b/scripts/build/companion_libs/200-libelf.sh
@@ -9,15 +9,11 @@ do_libelf_for_target() { :; }
if [ "${CT_LIBELF}" = "y" -o "${CT_LIBELF_TARGET}" = "y" ]; then
do_libelf_get() {
- # The server hosting libelf will return an "HTTP 300 : Multiple Choices"
- # error code if we try to download a file that does not exists there.
- # So we have to request the file with an explicit extension.
- CT_GetFile "libelf-${CT_LIBELF_VERSION}" .tar.gz http://www.mr511.de/software/
+ CT_Fetch LIBELF
}
do_libelf_extract() {
- CT_Extract "libelf-${CT_LIBELF_VERSION}"
- CT_Patch "libelf" "${CT_LIBELF_VERSION}"
+ CT_ExtractPatch LIBELF
}
if [ "${CT_LIBELF}" = "y" ]; then
@@ -131,7 +127,7 @@ do_libelf_backend() {
CFLAGS="${cflags} -fPIC" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure" \
+ "${CT_SRC_DIR}/libelf/configure" \
--build=${CT_BUILD} \
--host=${host} \
--target=${CT_TARGET} \
diff --git a/scripts/build/companion_libs/210-expat.sh b/scripts/build/companion_libs/210-expat.sh
index 5aa8e31..dcb7208 100644
--- a/scripts/build/companion_libs/210-expat.sh
+++ b/scripts/build/companion_libs/210-expat.sh
@@ -9,13 +9,11 @@ do_expat_for_target() { :; }
if [ "${CT_EXPAT_TARGET}" = "y" -o "${CT_EXPAT}" = "y" ]; then
do_expat_get() {
- CT_GetFile "expat-${CT_EXPAT_VERSION}" .tar.gz \
- http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}
+ CT_Fetch EXPAT
}
do_expat_extract() {
- CT_Extract "expat-${CT_EXPAT_VERSION}"
- CT_Patch "expat" "${CT_EXPAT_VERSION}"
+ CT_ExtractPatch EXPAT
}
if [ "${CT_EXPAT}" = "y" ]; then
@@ -95,7 +93,7 @@ do_expat_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/expat-${CT_EXPAT_VERSION}/configure" \
+ "${CT_SRC_DIR}/expat/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/220-ncurses.sh b/scripts/build/companion_libs/220-ncurses.sh
index 7a1379d..815cf4b 100644
--- a/scripts/build/companion_libs/220-ncurses.sh
+++ b/scripts/build/companion_libs/220-ncurses.sh
@@ -9,15 +9,11 @@ do_ncurses_for_target() { :; }
if [ "${CT_NCURSES_TARGET}" = "y" -o "${CT_NCURSES}" = "y" ]; then
do_ncurses_get() {
- CT_GetFile "ncurses-${CT_NCURSES_VERSION}" .tar.gz \
- {http,ftp,https}://ftp.gnu.org/pub/gnu/ncurses \
- ftp://invisible-island.net/ncurses
+ CT_Fetch NCURSES
}
do_ncurses_extract() {
- CT_Extract "ncurses-${CT_NCURSES_VERSION}"
- CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/ncurses-${CT_NCURSES_VERSION}"
- CT_Patch "ncurses" "${CT_NCURSES_VERSION}"
+ CT_ExtractPatch NCURSES
}
# We need tic that runs on the build when building ncurses for host/target
@@ -157,7 +153,7 @@ do_ncurses_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/ncurses-${CT_NCURSES_VERSION}/configure" \
+ "${CT_SRC_DIR}/ncurses/configure" \
--build=${CT_BUILD} \
--host=${host} \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/320-libiconv.sh b/scripts/build/companion_libs/320-libiconv.sh
index f2f0bef..ad571a9 100644
--- a/scripts/build/companion_libs/320-libiconv.sh
+++ b/scripts/build/companion_libs/320-libiconv.sh
@@ -9,13 +9,11 @@ do_libiconv_for_target() { :; }
if [ "${CT_LIBICONV}" = "y" ]; then
do_libiconv_get() {
- CT_GetFile "libiconv-${CT_LIBICONV_VERSION}" \
- http://ftp.gnu.org/pub/gnu/libiconv/
+ CT_Fetch LIBICONV
}
do_libiconv_extract() {
- CT_Extract "libiconv-${CT_LIBICONV_VERSION}"
- CT_Patch "libiconv" "${CT_LIBICONV_VERSION}"
+ CT_ExtractPatch LIBICONV
}
# Build libiconv for running on build
@@ -93,7 +91,7 @@ do_libiconv_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/libiconv-${CT_LIBICONV_VERSION}/configure" \
+ "${CT_SRC_DIR}/libiconv/configure" \
--build=${CT_BUILD} \
--host="${host}" \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_libs/330-gettext.sh b/scripts/build/companion_libs/330-gettext.sh
index 8828e5d..f3f1497 100644
--- a/scripts/build/companion_libs/330-gettext.sh
+++ b/scripts/build/companion_libs/330-gettext.sh
@@ -9,13 +9,11 @@ do_gettext_for_target() { :; }
if [ "${CT_GETTEXT}" = "y" ]; then
do_gettext_get() {
- CT_GetFile "gettext-${CT_GETTEXT_VERSION}" \
- http://ftp.gnu.org/pub/gnu/gettext/
+ CT_Fetch GETTEXT
}
do_gettext_extract() {
- CT_Extract "gettext-${CT_GETTEXT_VERSION}"
- CT_Patch "gettext" "${CT_GETTEXT_VERSION}"
+ CT_ExtractPatch GETTEXT
}
# Build gettext for running on build
@@ -112,7 +110,7 @@ do_gettext_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/gettext-${CT_GETTEXT_VERSION}/configure" \
+ "${CT_SRC_DIR}/gettext/configure" \
--build=${CT_BUILD} \
--host="${host}" \
--prefix="${prefix}" \
diff --git a/scripts/build/companion_tools.sh b/scripts/build/companion_tools.sh
index b190ed7..7776f64 100644
--- a/scripts/build/companion_tools.sh
+++ b/scripts/build/companion_tools.sh
@@ -5,7 +5,7 @@ CT_COMP_TOOLS_FACILITY_LIST=
for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
_f="$(basename "${f}" .sh)"
_f="${_f#???-}"
- __f="CT_COMP_TOOLS_${_f}"
+ __f="CT_COMP_TOOLS_${_f^^}"
if [ "${!__f}" = "y" ]; then
CT_DoLog DEBUG "Enabling companion tool '${_f}'"
. "${f}"
diff --git a/scripts/build/companion_tools/050-make.sh b/scripts/build/companion_tools/050-make.sh
index 76b24aa..3253f5b 100644
--- a/scripts/build/companion_tools/050-make.sh
+++ b/scripts/build/companion_tools/050-make.sh
@@ -1,14 +1,11 @@
# Build script for make
do_companion_tools_make_get() {
- CT_GetFile "make-${CT_MAKE_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/make
+ CT_Fetch MAKE
}
do_companion_tools_make_extract() {
- CT_Extract "make-${CT_MAKE_VERSION}"
- CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}"
- CT_Patch "make" "${CT_MAKE_VERSION}"
+ CT_ExtractPatch MAKE
}
do_companion_tools_make_for_build() {
@@ -61,7 +58,7 @@ do_make_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/make-${CT_MAKE_VERSION}/configure" \
+ "${CT_SRC_DIR}/make/configure" \
--host="${host}" \
--prefix="${prefix}" \
"${extra_config[@]}"
diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh
index e0fccd7..1707d64 100644
--- a/scripts/build/companion_tools/100-m4.sh
+++ b/scripts/build/companion_tools/100-m4.sh
@@ -1,13 +1,11 @@
# Build script for m4
do_companion_tools_m4_get() {
- CT_GetFile "m4-${CT_M4_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/m4
+ CT_Fetch M4
}
do_companion_tools_m4_extract() {
- CT_Extract "m4-${CT_M4_VERSION}"
- CT_Patch "m4" "${CT_M4_VERSION}"
+ CT_ExtractPatch M4
}
do_companion_tools_m4_for_build() {
@@ -58,7 +56,7 @@ do_m4_backend() {
CFLAGS="${cflags}" \
LDFLAGS="${ldflags}" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/m4-${CT_M4_VERSION}/configure" \
+ "${CT_SRC_DIR}/m4/configure" \
--host="${host}" \
--prefix="${prefix}"
diff --git a/scripts/build/companion_tools/200-autoconf.sh b/scripts/build/companion_tools/200-autoconf.sh
index bccef75..52149ea 100644
--- a/scripts/build/companion_tools/200-autoconf.sh
+++ b/scripts/build/companion_tools/200-autoconf.sh
@@ -1,14 +1,11 @@
# Build script for autoconf
do_companion_tools_autoconf_get() {
- CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/autoconf
+ CT_Fetch AUTOCONF
}
do_companion_tools_autoconf_extract() {
- CT_Extract "autoconf-${CT_AUTOCONF_VERSION}"
- CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}"
- CT_Patch "autoconf" "${CT_AUTOCONF_VERSION}"
+ CT_ExtractPatch AUTOCONF
}
do_companion_tools_autoconf_for_build() {
@@ -42,7 +39,7 @@ do_autoconf_backend() {
CT_DoLog EXTRA "Configuring autoconf"
CT_DoExecLog CFG \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
+ "${CT_SRC_DIR}/autoconf/configure" \
--host="${host}" \
--prefix="${prefix}"
diff --git a/scripts/build/companion_tools/300-automake.sh b/scripts/build/companion_tools/300-automake.sh
index ee76463..2d7eded 100644
--- a/scripts/build/companion_tools/300-automake.sh
+++ b/scripts/build/companion_tools/300-automake.sh
@@ -1,14 +1,11 @@
# Build script for automake
do_companion_tools_automake_get() {
- CT_GetFile "automake-${CT_AUTOMAKE_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/automake
+ CT_Fetch AUTOMAKE
}
do_companion_tools_automake_extract() {
- CT_Extract "automake-${CT_AUTOMAKE_VERSION}"
- CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/automake-${CT_AUTOMAKE_VERSION}"
- CT_Patch "automake" "${CT_AUTOMAKE_VERSION}"
+ CT_ExtractPatch AUTOMAKE
}
do_companion_tools_automake_for_build() {
@@ -38,7 +35,7 @@ do_automake_backend() {
CT_DoLog EXTRA "Configuring automake"
CT_DoExecLog CFG \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/automake-${CT_AUTOMAKE_VERSION}/configure" \
+ "${CT_SRC_DIR}/automake/configure" \
--host="${host}" \
--prefix="${prefix}"
diff --git a/scripts/build/companion_tools/400-libtool.sh b/scripts/build/companion_tools/400-libtool.sh
index 4461207..3733072 100644
--- a/scripts/build/companion_tools/400-libtool.sh
+++ b/scripts/build/companion_tools/400-libtool.sh
@@ -1,14 +1,11 @@
# Build script for libtool
do_companion_tools_libtool_get() {
- CT_GetFile "libtool-${CT_LIBTOOL_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/libtool
+ CT_Fetch LIBTOOL
}
do_companion_tools_libtool_extract() {
- CT_Extract "libtool-${CT_LIBTOOL_VERSION}"
- CT_DoExecLog ALL chmod -R u+w "${CT_SRC_DIR}/libtool-${CT_LIBTOOL_VERSION}"
- CT_Patch "libtool" "${CT_LIBTOOL_VERSION}"
+ CT_ExtractPatch LIBTOOL
}
do_companion_tools_libtool_for_build() {
@@ -38,7 +35,7 @@ do_libtool_backend() {
CT_DoLog EXTRA "Configuring libtool"
CT_DoExecLog CFG \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/libtool-${CT_LIBTOOL_VERSION}/configure" \
+ "${CT_SRC_DIR}/libtool/configure" \
--host="${host}" \
--prefix="${prefix}"
diff --git a/scripts/build/debug.sh b/scripts/build/debug.sh
index f07b295..f8178dd 100644
--- a/scripts/build/debug.sh
+++ b/scripts/build/debug.sh
@@ -5,7 +5,7 @@ CT_DEBUG_FACILITY_LIST=
for f in "${CT_LIB_DIR}/scripts/build/debug/"*.sh; do
_f="$(basename "${f}" .sh)"
_f="${_f#???-}"
- __f="CT_DEBUG_${_f}"
+ __f="CT_DEBUG_${_f^^}"
if [ "${!__f}" = "y" ]; then
CT_DoLog DEBUG "Enabling debug '${_f}'"
. "${f}"
diff --git a/scripts/build/debug/200-duma.sh b/scripts/build/debug/200-duma.sh
index 2a9b01f..bd35030 100644
--- a/scripts/build/debug/200-duma.sh
+++ b/scripts/build/debug/200-duma.sh
@@ -1,24 +1,11 @@
# Build script for D.U.M.A.
do_debug_duma_get() {
- local dl_base
-
- dl_base="http://downloads.sourceforge.net/project/duma/duma"
- dl_base+="/${CT_DUMA_VERSION//_/.}"
-
- # Downloading an non-existing file from sourceforge will give you an
- # HTML file containing an error message, instead of returning a 404.
- # Sigh...
- CT_GetFile "duma_${CT_DUMA_VERSION}" .tar.gz "${dl_base}"
- # Downloading from sourceforge may leave garbage, cleanup
- CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
+ CT_Fetch DUMA
}
do_debug_duma_extract() {
- CT_Extract "duma_${CT_DUMA_VERSION}"
- CT_Pushd "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}"
- CT_Patch nochdir "duma" "${CT_DUMA_VERSION}"
- CT_Popd
+ CT_ExtractPatch DUMA
}
do_debug_duma_build() {
@@ -26,7 +13,7 @@ do_debug_duma_build() {
CT_DoStep INFO "Installing D.U.M.A."
CT_DoLog EXTRA "Copying sources"
- cp -a "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}/." "${CT_BUILD_DIR}/build-duma"
+ cp -a "${CT_SRC_DIR}/duma/." "${CT_BUILD_DIR}/build-duma"
CT_Pushd "${CT_BUILD_DIR}/build-duma"
make_args=(
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index e5276d0..19d9d6d 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -1,40 +1,17 @@
# Build script for the gdb debug facility
do_debug_gdb_get() {
- local linaro_version=""
- local linaro_series=""
-
- if [ "${CT_GDB_CUSTOM}" = "y" ]; then
- CT_GetCustom "gdb" "${CT_GDB_CUSTOM_VERSION}" \
- "${CT_GDB_CUSTOM_LOCATION}"
- else
- case "${CT_GDB_VERSION}" in
- linaro-*)
- CT_GetLinaro "gdb" "${CT_GDB_VERSION}"
- ;;
- *)
- CT_GetFile "gdb-${CT_GDB_VERSION}" \
- http://mirrors.kernel.org/sourceware/gdb \
- {http,ftp,https}://ftp.gnu.org/pub/gnu/gdb \
- ftp://{sourceware.org,gcc.gnu.org}/pub/gdb/releases
- ;;
- esac
- fi
+ CT_Fetch GDB
}
do_debug_gdb_extract() {
- CT_Extract "gdb-${CT_GDB_VERSION}"
- CT_Patch "gdb" "${CT_GDB_VERSION}"
-
- if [ -n "${CT_ARCH_XTENSA_CUSTOM_NAME}" ]; then
- CT_ConfigureXtensa "gdb" "${CT_GDB_VERSION}"
- fi
+ CT_ExtractPatch GDB
}
do_debug_gdb_build() {
local -a extra_config
- gdb_src_dir="${CT_SRC_DIR}/gdb-${CT_GDB_VERSION}"
+ gdb_src_dir="${CT_SRC_DIR}/gdb"
# Version 6.3 and below behave badly with gdbmi
case "${CT_GDB_VERSION}" in
@@ -174,11 +151,12 @@ do_debug_gdb_build() {
if [ "${CT_GDB_INSTALL_GDBINIT}" = "y" ]; then
CT_DoLog EXTRA "Installing '.gdbinit' template"
# See in scripts/build/internals.sh for why we do this
- if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
- gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" )
+ # TBD GCC 3.x and older not supported
+ if [ -f "${CT_SRC_DIR}/gcc/gcc/BASE-VER" ]; then
+ gcc_version=$( cat "${CT_SRC_DIR}/gcc/gcc/BASE-VER" )
else
gcc_version=$(sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
- "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \
+ "${CT_SRC_DIR}/gcc/gcc/version.c" \
)
fi
sed -r \
diff --git a/scripts/build/debug/400-ltrace.sh b/scripts/build/debug/400-ltrace.sh
index 6b860e9..ce299c2 100644
--- a/scripts/build/debug/400-ltrace.sh
+++ b/scripts/build/debug/400-ltrace.sh
@@ -1,19 +1,11 @@
# Build script for ltrace
do_debug_ltrace_get() {
- CT_GetFile "ltrace_${CT_LTRACE_VERSION}.orig" .tar.gz \
- {http,ftp}://ftp.debian.org/debian/pool/main/l/ltrace/
- # Create a link so that the following steps are easier to do:
- CT_Pushd "${CT_TARBALLS_DIR}"
- ltrace_ext=$(CT_GetFileExtension "ltrace_${CT_LTRACE_VERSION}.orig")
- ln -sf "ltrace_${CT_LTRACE_VERSION}.orig${ltrace_ext}" \
- "ltrace-${CT_LTRACE_VERSION}${ltrace_ext}"
- CT_Popd
+ CT_Fetch LTRACE
}
do_debug_ltrace_extract() {
- CT_Extract "ltrace-${CT_LTRACE_VERSION}"
- CT_Patch "ltrace" "${CT_LTRACE_VERSION}"
+ CT_ExtractPatch LTRACE
}
do_debug_ltrace_build() {
@@ -22,7 +14,7 @@ do_debug_ltrace_build() {
CT_DoStep INFO "Installing ltrace"
CT_DoLog EXTRA "Copying sources to build dir"
- CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ltrace-${CT_LTRACE_VERSION}/." \
+ CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ltrace/." \
"${CT_BUILD_DIR}/build-ltrace"
CT_Pushd "${CT_BUILD_DIR}/build-ltrace"
@@ -63,4 +55,3 @@ do_debug_ltrace_build() {
CT_Popd
CT_EndStep
}
-
diff --git a/scripts/build/debug/500-strace.sh b/scripts/build/debug/500-strace.sh
index 6eb2357..cb4643a 100644
--- a/scripts/build/debug/500-strace.sh
+++ b/scripts/build/debug/500-strace.sh
@@ -1,15 +1,11 @@
# Build script for strace
do_debug_strace_get() {
- local base_url="http://downloads.sourceforge.net/project/strace/strace"
- CT_GetFile "strace-${CT_STRACE_VERSION}" "${base_url}/${CT_STRACE_VERSION}"
- # Downloading from sourceforge leaves garbage, cleanup
- CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
+ CT_Fetch STRACE
}
do_debug_strace_extract() {
- CT_Extract "strace-${CT_STRACE_VERSION}"
- CT_Patch "strace" "${CT_STRACE_VERSION}"
+ CT_ExtractPatch STRACE
}
do_debug_strace_build() {
@@ -23,7 +19,7 @@ do_debug_strace_build() {
CPP="${CT_TARGET}-cpp" \
LD="${CT_TARGET}-ld" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure" \
+ "${CT_SRC_DIR}/strace/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
--prefix=/usr
diff --git a/scripts/build/internals.sh b/scripts/build/internals.sh
index db9b1fd..e407de8 100644
--- a/scripts/build/internals.sh
+++ b/scripts/build/internals.sh
@@ -69,18 +69,19 @@ do_finish() {
CT_DoExecLog ALL "${CT_TARGET}-strip" ${strip_args} \
"${CT_TARGET}/debug-root/usr/bin/gdbserver${exe_suffix}"
fi
- if [ "${CT_CC_gcc}" = "y" ]; then
- # We can not use the version in CT_CC_GCC_VERSION because
+ if [ "${CT_CC_GCC}" = "y" ]; then
+ # TBD GCC 3.x/2.x is no longer supported by ctng
+ # We can not use the version in CT_GCC_VERSION because
# of the Linaro stuff. So, harvest the version string
# directly from the gcc sources...
# All gcc 4.x seem to have the version in gcc/BASE-VER
# while version prior to 4.x have the version in gcc/version.c
# Of course, here is not the better place to do that...
- if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then
- gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" )
+ if [ -f "${CT_SRC_DIR}/gcc/gcc/BASE-VER" ]; then
+ gcc_version=$( cat "${CT_SRC_DIR}/gcc/gcc/BASE-VER" )
else
gcc_version=$(sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
- "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \
+ "${CT_SRC_DIR}/gcc/gcc/version.c" \
)
fi
for _t in "bin/${CT_TARGET}-"* \
diff --git a/scripts/build/kernel/linux.sh b/scripts/build/kernel/linux.sh
index cd4a456..5ab4918 100644
--- a/scripts/build/kernel/linux.sh
+++ b/scripts/build/kernel/linux.sh
@@ -19,69 +19,26 @@ CT_DoKernelTupleValues() {
# Download the kernel
do_kernel_get() {
- local k_ver
- local custom_name
- local rel_dir
- local korg_base mirror_base
+ CT_Fetch LINUX
+}
- if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
- CT_GetCustom "linux" "${CT_KERNEL_LINUX_CUSTOM_VERSION}" \
- "${CT_KERNEL_LINUX_CUSTOM_LOCATION}"
- else # Not a custom tarball
- case "${CT_KERNEL_VERSION}" in
- 2.6.*.*|3.*.*|4.*.*)
- # 4-part versions (for 2.6 stables and long-terms), and
- # 3-part versions (for 3.x.y and 4.x.y stables and long-terms)
- # we need to trash the last digit
- k_ver="${CT_KERNEL_VERSION%.*}"
- ;;
- 2.6.*|3.*|4.*)
- # 3-part version (for 2.6.x initial releases), and 2-part
- # versions (for 3.x and 4.x initial releases), use all of it
- k_ver="${CT_KERNEL_VERSION}"
- ;;
- esac
- case "${CT_KERNEL_VERSION}" in
- 2.6.*) rel_dir=v2.6;;
- 3.*) rel_dir=v3.x;;
- 4.*) rel_dir=v4.x;;
- esac
- korg_base="http://www.kernel.org/pub/linux/kernel/${rel_dir}"
- CT_GetFile "linux-${CT_KERNEL_VERSION}" \
- "${korg_base}" \
- "${korg_base}/longterm/v${k_ver}" \
- "${korg_base}/longterm"
- fi
+# Disable building relocs application - it needs <linux/types.h>
+# on the host, which may not be present on Cygwin or MacOS; it
+# needs <elf.h>, which again is not present on MacOS; and most
+# important, we don't need it to install the headers.
+# This is not done as a patch, since it varies from Linux version
+# to version - patching each particular Linux version would be
+# too cumbersome.
+linux_disable_build_relocs()
+{
+ sed -i -r 's/(\$\(MAKE\) .* relocs)$/:/' arch/*/Makefile
}
# Extract kernel
-do_kernel_extract() {
- # If using a custom directory location, nothing to do
- if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" \
- -a -d "${CT_SRC_DIR}/linux-${CT_KERNEL_VERSION}" ]; then
- return 0
- fi
-
- # Otherwise, we're using either a mainstream tarball, or a custom
- # tarball; in either case, we need to extract
- CT_Extract "linux-${CT_KERNEL_VERSION}"
-
- # If using a custom tarball, no need to patch
- if [ "${CT_KERNEL_LINUX_CUSTOM}" = "y" ]; then
- return 0
- fi
- CT_Patch "linux" "${CT_KERNEL_VERSION}"
-
- # Disable building relocs application - it needs <linux/types.h>
- # on the host, which may not be present on Cygwin or MacOS; it
- # needs <elf.h>, which again is not present on MacOS; and most
- # important, we don't need it to install the headers.
- # This is not done as a patch, since it varies from Linux version
- # to version - patching each particular Linux version would be
- # too cumbersome.
- CT_Pushd "${CT_SRC_DIR}/linux-${CT_KERNEL_VERSION}"
- sed -i -r 's/(\$\(MAKE\) .* relocs)$/:/' arch/*/Makefile
- CT_Popd
+do_kernel_extract()
+{
+ # TBD verify linux_disable_build_relocs is run
+ CT_ExtractPatch LINUX linux_disable_build_relocs
}
# Install kernel headers using headers_install from kernel sources.
@@ -93,7 +50,7 @@ do_kernel_headers() {
mkdir -p "${CT_BUILD_DIR}/build-kernel-headers"
- kernel_path="${CT_SRC_DIR}/linux-${CT_KERNEL_VERSION}"
+ kernel_path="${CT_SRC_DIR}/linux"
V_OPT="V=${CT_KERNEL_LINUX_VERBOSE_LEVEL}"
kernel_arch="${CT_ARCH}"
diff --git a/scripts/build/libc/avr-libc.sh b/scripts/build/libc/avr-libc.sh
index f94b601..7003f38 100644
--- a/scripts/build/libc/avr-libc.sh
+++ b/scripts/build/libc/avr-libc.sh
@@ -1,33 +1,11 @@
# This file adds functions to build the avr-libc C library
do_libc_get() {
- local libc_src
-
- libc_src="http://download.savannah.gnu.org/releases/avr-libc"
-
- if [ "${CT_LIBC_AVR_LIBC_CUSTOM}" = "y" ]; then
- CT_GetCustom "avr-libc" "${CT_LIBC_AVR_LIBC_CUSTOM_VERSION}" \
- "${CT_LIBC_AVR_LIBC_CUSTOM_LOCATION}"
- else # ! custom location
- CT_GetFile "avr-libc-${CT_LIBC_VERSION}" "${libc_src}"
- fi # ! custom location
+ CT_Fetch AVR_LIBC
}
do_libc_extract() {
- CT_Extract "avr-libc-${CT_LIBC_VERSION}"
- CT_Patch "avr-libc" "${CT_LIBC_VERSION}"
-}
-
-do_libc_configure() {
- CT_DoLog EXTRA "Configuring C library"
-
- CT_DoExecLog CFG \
- ${CONFIG_SHELL} \
- ./configure \
- --build=${CT_BUILD} \
- --host=${CT_TARGET} \
- --prefix=${CT_PREFIX_DIR} \
- "${CT_LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY[@]}"
+ CT_ExtractPatch AVR_LIBC
}
do_libc_start_files() {
@@ -42,11 +20,19 @@ do_libc_post_cc() {
CT_DoStep INFO "Installing C library"
CT_DoLog EXTRA "Copying sources to build directory"
- CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/avr-libc-${CT_LIBC_VERSION}/." \
+ CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/avr-libc/." \
"${CT_BUILD_DIR}/build-libc-post-cc"
cd "${CT_BUILD_DIR}/build-libc-post-cc"
- do_libc_configure
+ CT_DoLog EXTRA "Configuring C library"
+
+ CT_DoExecLog CFG \
+ ${CONFIG_SHELL} \
+ ./configure \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET} \
+ --prefix=${CT_PREFIX_DIR} \
+ "${CT_LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY[@]}"
CT_DoLog EXTRA "Building C library"
CT_DoExecLog ALL make ${JOBSFLAGS}
diff --git a/scripts/build/libc/bionic.sh b/scripts/build/libc/bionic.sh
index fcdc57f..027493d 100644
--- a/scripts/build/libc/bionic.sh
+++ b/scripts/build/libc/bionic.sh
@@ -3,37 +3,29 @@
# Licensed under the GPL v2. See COPYING in the root of this package
do_libc_get() {
- if [ "${CT_LIBC_BIONIC_CUSTOM}" = "y" ]; then
- CT_GetCustom "bionic" "${CT_LIBC_BIONIC_CUSTOM_VERSION}" \
- "${CT_LIBC_BIONIC_CUSTOM_LOCATION}"
- else # ! custom location
- CT_GetFile "android-ndk-${CT_LIBC_VERSION}-linux-x86_64.zip" https://dl.google.com/android/repository
- fi # ! custom location
+ CT_Fetch ANDROID_NDK
}
do_libc_extract() {
- CT_Extract "android-ndk-${CT_LIBC_VERSION}-linux-x86_64"
- CT_Pushd "${CT_SRC_DIR}/android-ndk-${CT_LIBC_VERSION}/"
- CT_Patch nochdir bionic "${CT_LIBC_VERSION}"
- CT_Popd
+ CT_ExtractPatch ANDROID_NDK
}
# Install Unified headers
do_libc_start_files() {
CT_DoStep INFO "Installing C library headers"
- CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk-${CT_LIBC_VERSION}/sysroot/usr" "${CT_SYSROOT_DIR}"
+ CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/sysroot/usr" "${CT_SYSROOT_DIR}"
}
do_libc() {
local arch="${CT_ARCH}"
if [ "${CT_ARCH_64}" = "y" ]; then
if [ "${CT_ARCH}" = "x86" ]; then
- arch="${arch}_"
- fi
- arch="${arch}64"
+ arch="${arch}_"
+ fi
+ arch="${arch}64"
fi
CT_DoStep INFO "Installing C library binaries"
- CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk-${CT_LIBC_VERSION}/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}"
+ CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}"
CT_EnvModify CT_TARGET_CFLAGS "${CT_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
}
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 3eac3ba..eae64bc 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -7,102 +7,22 @@ do_libc_get() {
local version
local -a addons_list
- addons_list=($(do_libc_add_ons_list " "))
-
- # Main source
- if [ "${CT_LIBC_GLIBC_CUSTOM}" = "y" ]; then
- CT_GetCustom "glibc" "${CT_LIBC_GLIBC_CUSTOM_VERSION}" \
- "${CT_LIBC_GLIBC_CUSTOM_LOCATION}"
- else
- case "${CT_LIBC_VERSION}" in
- linaro-*)
- CT_GetLinaro "glibc" "${CT_LIBC_VERSION}"
- ;;
- *)
- CT_GetFile "glibc-${CT_LIBC_VERSION}" \
- {http,ftp,https}://ftp.gnu.org/gnu/glibc \
- ftp://{sourceware.org,gcc.gnu.org}/pub/glibc/{releases,snapshots}
- ;;
- esac
+ CT_Fetch GLIBC
+ if [ "${CT_GLIBC_USE_PORTS_EXTERNAL}" = "y" ]; then
+ CT_Fetch GLIBC_PORTS
fi
-
- # C library addons
- for addon in "${addons_list[@]}"; do
- # Never ever try to download these add-ons,
- # they've always been internal
- case "${addon}" in
- nptl) continue;;
- esac
-
- case "${addon}:${CT_LIBC_GLIBC_PORTS_EXTERNAL}" in
- ports:y) ;;
- ports:*) continue;;
- esac
-
- if ! CT_GetFile "glibc-${addon}-${CT_LIBC_VERSION}" \
- http://mirrors.kernel.org/sourceware/glibc \
- {http,ftp,https}://ftp.gnu.org/gnu/glibc \
- ftp://{sourceware.org,gcc.gnu.org}/pub/glibc/{releases,snapshots}
- then
- # Some add-ons are bundled with glibc, others are
- # bundled in their own tarball. Eg. NPTL is internal,
- # while LinuxThreads was external. Also, for old
- # versions of glibc, the libidn add-on was external,
- # but with version >=2.10, it is internal.
- CT_DoLog DEBUG "Addon '${addon}' could not be downloaded."
- CT_DoLog DEBUG "We'll see later if we can find it in the source tree"
- fi
- done
-
return 0
}
do_libc_extract() {
local addon
- CT_Extract "${CT_LIBC}-${CT_LIBC_VERSION}"
- CT_Pushd "${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
- # Custom glibc won't get patched, because CT_GetCustom
- # marks custom glibc as patched.
- CT_Patch nochdir "${CT_LIBC}" "${CT_LIBC_VERSION}"
-
- for addon in $(do_libc_add_ons_list " "); do
- # If the addon was bundled with the main archive, we do not
- # need to extract it. Worse, if we were to try to extract
- # it, we'd get an error.
- if [ -d "${addon}" ]; then
- CT_DoLog DEBUG "Add-on '${addon}' already present, skipping extraction"
- continue
- fi
-
- CT_Extract nochdir "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}"
-
- CT_TestAndAbort "Error in add-on '${addon}': both short and long names in tarball" \
- -d "${addon}" -a -d "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}"
-
- # Some addons have the 'long' name, while others have the
- # 'short' name, but patches are non-uniformly built with
- # either the 'long' or 'short' name, whatever the addons name
- # but we prefer the 'short' name and avoid duplicates.
- if [ -d "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" ]; then
- CT_DoExecLog FILE mv "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" "${addon}"
- fi
-
- CT_DoExecLog FILE ln -s "${addon}" "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}"
-
- CT_Patch nochdir "${CT_LIBC}" "${addon}-${CT_LIBC_VERSION}"
-
- # Remove the long name since it can confuse configure scripts to run
- # the same source twice.
- rm "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}"
- done
-
- # The configure files may be older than the configure.in files
- # if using a snapshot (or even some tarballs). Fake them being
- # up to date.
- find . -type f -name configure -exec touch {} \; 2>&1 |CT_DoLog ALL
-
- CT_Popd
+ CT_ExtractPatch GLIBC
+ if [ "${CT_GLIBC_USE_PORTS_EXTERNAL}" = "y" ]; then
+ CT_ExtractPatch GLIBC_PORTS
+ fi
+ # TBD make patches for addons (ports? anything else?) uniformly using short names
+ # TBD make the configure timestamp fix in all patched packages (e.g. part of CT_ExtractPatch)
}
# Build and install headers and start files
@@ -161,7 +81,7 @@ do_libc_backend_once() {
local multi_flags multi_dir multi_os_dir multi_root multi_index multi_count multi_target
local build_cflags build_cppflags build_ldflags
local startfiles_dir
- local src_dir="${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
+ local src_dir="${CT_SRC_DIR}/glibc"
local -a extra_config
local -a extra_make_args
local glibc_cflags
@@ -209,7 +129,7 @@ do_libc_backend_once() {
# Add some default glibc config options if not given by user.
# We don't need to be conditional on whether the user did set different
- # values, as they CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY is passed after
+ # values, as they CT_GLIBC_EXTRA_CONFIG_ARRAY is passed after
# extra_config
extra_config+=("$(do_libc_min_kernel_config)")
@@ -218,7 +138,7 @@ do_libc_backend_once() {
nptl) extra_config+=("--with-__thread" "--with-tls");;
linuxthreads) extra_config+=("--with-__thread" "--without-tls" "--without-nptl");;
none) extra_config+=("--without-__thread" "--without-nptl")
- case "${CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY[*]}" in
+ case "${CT_GLIBC_EXTRA_CONFIG_ARRAY[*]}" in
*-tls*) ;;
*) extra_config+=("--without-tls");;
esac
@@ -230,12 +150,12 @@ do_libc_backend_once() {
*) extra_config+=("--disable-shared");;
esac
- if [ "${CT_LIBC_DISABLE_VERSIONING}" = "y" ]; then
+ if [ "${CT_GLIBC_DISABLE_VERSIONING}" = "y" ]; then
extra_config+=("--disable-versioning")
fi
- if [ "${CT_LIBC_OLDEST_ABI}" != "" ]; then
- extra_config+=("--enable-oldest-abi=${CT_LIBC_OLDEST_ABI}")
+ if [ "${CT_GLIBC_OLDEST_ABI}" != "" ]; then
+ extra_config+=("--enable-oldest-abi=${CT_GLIBC_OLDEST_ABI}")
fi
case "$(do_libc_add_ons_list ,)" in
@@ -251,25 +171,25 @@ do_libc_backend_once() {
# Hide host C++ binary from configure
echo "ac_cv_prog_ac_ct_CXX=${CT_TARGET}-g++" >>config.cache
- if [ "${CT_LIBC_GLIBC_FORCE_UNWIND}" = "y" ]; then
+ if [ "${CT_GLIBC_FORCE_UNWIND}" = "y" ]; then
echo "libc_cv_forced_unwind=yes" >>config.cache
echo "libc_cv_c_cleanup=yes" >>config.cache
fi
# Pre-seed the configparms file with values from the config option
- printf "%s\n" "${CT_LIBC_GLIBC_CONFIGPARMS}" > configparms
+ printf "%s\n" "${CT_GLIBC_CONFIGPARMS}" > configparms
# glibc can't be built without -O2 (reference needed!)
glibc_cflags+=" -O2"
- case "${CT_LIBC_ENABLE_FORTIFIED_BUILD}" in
+ case "${CT_GLIBC_ENABLE_FORTIFIED_BUILD}" in
y) ;;
*) glibc_cflags+=" -U_FORTIFY_SOURCE";;
esac
# In the order of increasing precedence. Flags common to compiler and linker.
glibc_cflags+=" ${CT_TARGET_CFLAGS}"
- glibc_cflags+=" ${CT_LIBC_GLIBC_EXTRA_CFLAGS}"
+ glibc_cflags+=" ${CT_GLIBC_EXTRA_CFLAGS}"
glibc_cflags+=" ${multi_flags}"
# Analyze the resulting options for any extra configure switches to throw in.
@@ -336,7 +256,7 @@ do_libc_backend_once() {
--without-gd \
--with-headers="${CT_HEADERS_DIR}" \
"${extra_config[@]}" \
- "${CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY[@]}"
+ "${CT_GLIBC_EXTRA_CONFIG_ARRAY[@]}"
# build hacks
case "${CT_ARCH},${CT_ARCH_CPU}" in
@@ -390,7 +310,7 @@ do_libc_backend_once() {
# See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
mkdir -p "${CT_HEADERS_DIR}/gnu"
CT_DoExecLog ALL touch "${CT_HEADERS_DIR}/gnu/stubs.h"
- CT_DoExecLog ALL cp -v "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/include/features.h" \
+ CT_DoExecLog ALL cp -v "${CT_SRC_DIR}/glibc/include/features.h" \
"${CT_HEADERS_DIR}/features.h"
# Building the bootstrap gcc requires either setting inhibit_libc, or
@@ -475,7 +395,7 @@ do_libc_backend_once() {
${CT_PREFIX_DIR}/share/doc
fi
- if [ "${CT_LIBC_LOCALES}" = "y" -a "${multi_index}" = "${multi_count}" ]; then
+ if [ "${CT_GLIBC_LOCALES}" = "y" -a "${multi_index}" = "${multi_count}" ]; then
do_libc_locales
fi
fi # libc_mode = final
@@ -486,27 +406,28 @@ do_libc_backend_once() {
# Build up the addons list, separated with $1
do_libc_add_ons_list() {
local sep="$1"
- local addons_list="$( echo "${CT_LIBC_ADDONS_LIST}" \
- |sed -r -e "s/[[:space:],]/${sep}/g;" \
- )"
- if [ "${CT_LIBC_GLIBC_2_20_or_later}" != "y" ]; then
- case "${CT_THREADS}" in
- none) ;;
- *) addons_list="${addons_list}${sep}${CT_THREADS}";;
- esac
+ local addons_list
+
+ if [ "${CT_GLIBC_USE_PORTS_ADDON}" = "y" ]; then
+ addons_list="${addons_list}${sep}ports"
+ fi
+ if [ "${CT_GLIBC_USE_NPTL_ADDON}" = "y" ]; then
+ addons_list="${addons_list}${sep}nptl"
+ fi
+ if [ "${CT_GLIBC_USE_LIBIDN_ADDON}" = "y" ]; then
+ addons_list="${addons_list}${sep}libidn"
fi
- [ "${CT_LIBC_GLIBC_USE_PORTS}" = "y" ] && addons_list="${addons_list}${sep}ports"
- # Remove duplicate, leading and trailing separators
- echo "${addons_list}" |sed -r -e "s/${sep}+/${sep}/g; s/^${sep}//; s/${sep}\$//;"
+ echo "${addons_list#${sep}}" # Remove leading separator if any
}
# Compute up the minimum supported Linux kernel version
do_libc_min_kernel_config() {
local min_kernel_config
- case "${CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY[*]}" in
+ case "${CT_GLIBC_EXTRA_CONFIG_ARRAY[*]}" in
*--enable-kernel*) ;;
- *) if [ "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" ]; then
+ *) if [ "${CT_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" ]; then
+ # TBD do we support that currently? We always seem to install kernel headers
# We can't rely on the kernel version from the configuration,
# because it might not be available if the user uses pre-installed
# headers. On the other hand, both method will have the kernel
@@ -523,9 +444,9 @@ do_libc_min_kernel_config() {
patchlevel=$(((version_code>>8)&0xFF))
sublevel=$((version_code&0xFF))
min_kernel_config="${version}.${patchlevel}.${sublevel}"
- elif [ "${CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN}" = "y" ]; then
+ elif [ "${CT_GLIBC_KERNEL_VERSION_CHOSEN}" = "y" ]; then
# Trim the fourth part of the linux version, keeping only the first three numbers
- min_kernel_config="$( echo "${CT_LIBC_GLIBC_MIN_KERNEL_VERSION}" \
+ min_kernel_config="$( echo "${CT_GLIBC_MIN_KERNEL_VERSION}" \
|sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;' \
)"
fi
@@ -536,7 +457,7 @@ do_libc_min_kernel_config() {
# Build and install the libc locales
do_libc_locales() {
- local src_dir="${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
+ local src_dir="${CT_SRC_DIR}/glibc"
local -a extra_config
local glibc_cflags
@@ -567,7 +488,7 @@ do_libc_locales() {
CT_DoLog DEBUG "Extra config args passed: '${extra_config[*]}'"
glibc_cflags="-O2 -fno-stack-protector"
- case "${CT_LIBC_ENABLE_FORTIFIED_BUILD}" in
+ case "${CT_GLIBC_ENABLE_FORTIFIED_BUILD}" in
y) ;;
*) glibc_cflags+=" -U_FORTIFY_SOURCE";;
esac
diff --git a/scripts/build/libc/mingw-w64.sh b/scripts/build/libc/mingw-w64.sh
new file mode 100644
index 0000000..295b313
--- /dev/null
+++ b/scripts/build/libc/mingw-w64.sh
@@ -0,0 +1,215 @@
+# Copyright 2012 Yann Diorcet
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+do_libc_get() {
+ CT_Fetch MINGW_W64
+}
+
+do_libc_extract() {
+ CT_ExtractPatch MINGW_W64
+}
+
+do_set_mingw_install_prefix(){
+ MINGW_INSTALL_PREFIX=/usr/${CT_TARGET}
+ if [[ ${CT_MINGW_W64_VERSION} == 2* ]]; then
+ MINGW_INSTALL_PREFIX=/usr
+ fi
+}
+
+do_libc_start_files() {
+ local -a sdk_opts
+
+ CT_DoStep INFO "Installing C library headers"
+
+ case "${CT_MINGW_DIRECTX}:${CT_MINGW_DDK}" in
+ y:y) sdk_opts+=( "--enable-sdk=all" );;
+ y:) sdk_opts+=( "--enable-sdk=directx" );;
+ :y) sdk_opts+=( "--enable-sdk=ddk" );;
+ :) ;;
+ esac
+
+ if [ "${CT_MINGW_SECURE_API}" = "y" ]; then
+ sdk_opts+=( "--enable-secure-api" )
+ fi
+
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-headers"
+
+ CT_DoLog EXTRA "Configuring Headers"
+
+ do_set_mingw_install_prefix
+ CT_DoExecLog CFG \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/mingw-w64/mingw-w64-headers/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET} \
+ --prefix=${MINGW_INSTALL_PREFIX} \
+ "${sdk_opts[@]}"
+
+ CT_DoLog EXTRA "Compile Headers"
+ CT_DoExecLog ALL make
+
+ CT_DoLog EXTRA "Installing Headers"
+ CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
+
+ CT_Popd
+
+ # It seems mingw is strangely set up to look into /mingw instead of
+ # /usr (notably when looking for the headers). This symlink is
+ # here to workaround this, and seems to be here to last... :-/
+ CT_DoExecLog ALL ln -sv "usr/${CT_TARGET}" "${CT_SYSROOT_DIR}/mingw"
+
+ CT_EndStep
+}
+
+do_check_mingw_vendor_tuple()
+{
+ if [ "${CT_MINGW_W64_VERSION%%.*}" -ge 4 ]; then
+ CT_DoStep INFO "Checking configured vendor tuple"
+ if [ ${CT_TARGET_VENDOR} == w64 ]; then
+ CT_DoLog EXTRA "The tuple is set to '${CT_TARGET_VENDOR}', as recommended by mingw-64 developers."
+ else
+ CT_DoLog WARN "The tuple vendor is '${CT_TARGET_VENDOR}', not equal to 'w64' and might break the toolchain!"
+ fi
+ CT_EndStep
+ fi
+}
+
+do_mingw_tools()
+{
+ local f
+
+ for f in "${CT_MINGW_TOOL_LIST_ARRAY[@]}"; do
+ CT_mkdir_pushd "${f}"
+ if [ ! -d "${CT_SRC_DIR}/mingw-w64/mingw-w64-tools/${f}" ]; then
+ CT_DoLog WARN "Skipping ${f}: not found"
+ CT_Popd
+ continue
+ fi
+
+ CT_DoLog EXTRA "Configuring ${f}"
+ CT_DoExecLog CFG \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/mingw-w64/mingw-w64-tools/${f}/configure" \
+ --build=${CT_BUILD} \
+ --host=${CT_HOST} \
+ --target=${CT_TARGET} \
+ --program-prefix=${CT_TARGET}- \
+ --prefix="${CT_PREFIX_DIR}"
+
+ # mingw-w64 has issues with parallel builds, see do_libc
+ CT_DoLog EXTRA "Building ${f}"
+ CT_DoExecLog ALL make
+ CT_DoLog EXTRA "Installing ${f}"
+ CT_DoExecLog ALL make install
+ CT_Popd
+ done
+}
+
+do_mingw_pthreads()
+{
+ local multi_flags multi_dir multi_os_dir multi_root multi_index multi_count multi_target
+ local libprefix
+ local rcflags dlltoolflags
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
+
+ libprefix="${MINGW_INSTALL_PREFIX}/lib/${multi_os_dir}"
+ CT_SanitizeVarDir libprefix
+
+ CT_SymlinkToolsMultilib
+
+ # DLLTOOLFLAGS does not appear to be currently used by winpthread package, but
+ # the master package uses this variable and describes this as one of the changes
+ # needed for i686 in mingw-w64-doc/howto-build/mingw-w64-howto-build-adv.txt
+ case "${multi_target}" in
+ i[3456]86-*)
+ rcflags="-F pe-i386"
+ dlltoolflags="-m i386"
+ ;;
+ x86_64-*)
+ rcflags="-F pe-x86-64"
+ dlltoolflags="-m i386:x86_64"
+ ;;
+ *)
+ CT_Abort "Tuple ${multi_target} is not supported by mingw-w64"
+ ;;
+ esac
+
+ CT_DoLog EXTRA "Configuring mingw-w64-winpthreads"
+
+ CT_DoExecLog CFG \
+ CFLAGS="${multi_flags}" \
+ CXXFLAGS="${multi_flags}" \
+ RCFLAGS="${rcflags}" \
+ DLLTOOLFLAGS="${dlltoolflags}" \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/mingw-w64/mingw-w64-libraries/winpthreads/configure" \
+ --with-sysroot=${CT_SYSROOT_DIR} \
+ --prefix=${MINGW_INSTALL_PREFIX} \
+ --libdir=${libprefix} \
+ --build=${CT_BUILD} \
+ --host=${multi_target}
+
+ # mingw-w64 has issues with parallel builds, see do_libc
+ CT_DoLog EXTRA "Building mingw-w64-winpthreads"
+ CT_DoExecLog ALL make
+
+ CT_DoLog EXTRA "Installing mingw-w64-winpthreads"
+ CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
+
+ CT_EndStep
+}
+
+do_libc()
+{
+ do_check_mingw_vendor_tuple
+
+ CT_DoStep INFO "Building mingw-w64"
+
+ CT_DoLog EXTRA "Configuring mingw-w64-crt"
+
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt"
+
+ do_set_mingw_install_prefix
+ CT_DoExecLog CFG \
+ ${CONFIG_SHELL} \
+ "${CT_SRC_DIR}/mingw-w64/mingw-w64-crt/configure" \
+ --with-sysroot=${CT_SYSROOT_DIR} \
+ --prefix=${MINGW_INSTALL_PREFIX} \
+ --build=${CT_BUILD} \
+ --host=${CT_TARGET}
+
+ # mingw-w64-crt has a missing dependency occasionally breaking the
+ # parallel build. See https://github.com/crosstool-ng/crosstool-ng/issues/246
+ # Do not pass ${JOBSFLAGS} - build serially.
+ CT_DoLog EXTRA "Building mingw-w64-crt"
+ CT_DoExecLog ALL make
+
+ CT_DoLog EXTRA "Installing mingw-w64-crt"
+ CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
+ CT_EndStep
+
+ if [ "${CT_THREADS}" = "posix" ]; then
+ CT_DoStep INFO "Building mingw-w64-winpthreads"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-winpthreads"
+ CT_IterateMultilibs do_mingw_pthreads pthreads-multilib
+ CT_Popd
+ CT_EndStep
+ fi
+
+ if [ "${CT_MINGW_TOOLS}" = "y" ]; then
+ CT_DoStep INFO "Installing mingw-w64 companion tools"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-tools"
+ do_mingw_tools
+ CT_Popd
+ CT_EndStep
+ fi
+}
+
+do_libc_post_cc() {
+ :
+}
diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh
deleted file mode 100644
index 1471785..0000000
--- a/scripts/build/libc/mingw.sh
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 2012 Yann Diorcet
-# Licensed under the GPL v2. See COPYING in the root of this package
-
-CT_WINAPI_VERSION_DOWNLOADED=
-
-do_libc_get() {
- if [ "${CT_WINAPI_VERSION}" = "devel" ]; then
- CT_GetGit "mingw-w64" "ref=HEAD" "git://git.code.sf.net/p/mingw-w64/mingw-w64" CT_WINAPI_VERSION_DOWNLOADED
- CT_DoLog DEBUG "Fetched mingw-w64 as ${CT_WINAPI_VERSION_DOWNLOADED}"
- else
- CT_GetFile "mingw-w64-v${CT_WINAPI_VERSION}" \
- http://downloads.sourceforge.net/sourceforge/mingw-w64
- CT_WINAPI_VERSION_DOWNLOADED=v${CT_WINAPI_VERSION}
- fi
-}
-
-do_libc_extract() {
- CT_Extract "mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}"
- CT_Pushd "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/"
- CT_Patch nochdir mingw-w64 "${CT_WINAPI_VERSION_DOWNLOADED}"
- CT_Popd
-}
-
-do_set_mingw_install_prefix(){
- MINGW_INSTALL_PREFIX=/usr/${CT_TARGET}
- if [[ ${CT_WINAPI_VERSION} == 2* ]]; then
- MINGW_INSTALL_PREFIX=/usr
- fi
-}
-
-do_libc_start_files() {
- local -a sdk_opts
-
- CT_DoStep INFO "Installing C library headers"
-
- case "${CT_MINGW_DIRECTX}:${CT_MINGW_DDK}" in
- y:y) sdk_opts+=( "--enable-sdk=all" );;
- y:) sdk_opts+=( "--enable-sdk=directx" );;
- :y) sdk_opts+=( "--enable-sdk=ddk" );;
- :) ;;
- esac
-
- if [ "${CT_MINGW_SECURE_API}" = "y" ]; then
- sdk_opts+=( "--enable-secure-api" )
- fi
-
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-headers"
-
- CT_DoLog EXTRA "Configuring Headers"
-
- do_set_mingw_install_prefix
- CT_DoExecLog CFG \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-headers/configure" \
- --build=${CT_BUILD} \
- --host=${CT_TARGET} \
- --prefix=${MINGW_INSTALL_PREFIX} \
- "${sdk_opts[@]}"
-
- CT_DoLog EXTRA "Compile Headers"
- CT_DoExecLog ALL make
-
- CT_DoLog EXTRA "Installing Headers"
- CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
-
- CT_Popd
-
- # It seems mingw is strangely set up to look into /mingw instead of
- # /usr (notably when looking for the headers). This symlink is
- # here to workaround this, and seems to be here to last... :-/
- CT_DoExecLog ALL ln -sv "usr/${CT_TARGET}" "${CT_SYSROOT_DIR}/mingw"
-
- CT_EndStep
-}
-
-do_check_mingw_vendor_tuple()
-{
- if [[ ${CT_WINAPI_VERSION} == 4* ]]; then
- CT_DoStep INFO "Checking vendor tuple configured in crosstool-ng .config"
- if [[ ${CT_TARGET_VENDOR} == w64 ]]; then
- CT_DoLog EXTRA "The tuple is set to '${CT_TARGET_VENDOR}', as recommended by mingw-64 developers."
- else
- CT_DoLog WARN "The tuple vendor is '${CT_TARGET_VENDOR}', not equal to 'w64' and might break the toolchain!"
- fi
- CT_EndStep
- fi
-}
-
-do_mingw_tools()
-{
- local f
-
- for f in "${CT_MINGW_TOOL_LIST_ARRAY[@]}"; do
- CT_mkdir_pushd "${f}"
- if [ ! -d "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-tools/${f}" ]; then
- CT_DoLog WARN "Skipping ${f}: not found"
- CT_Popd
- continue
- fi
-
- CT_DoLog EXTRA "Configuring ${f}"
- CT_DoExecLog CFG \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-tools/${f}/configure" \
- --build=${CT_BUILD} \
- --host=${CT_HOST} \
- --target=${CT_TARGET} \
- --program-prefix=${CT_TARGET}- \
- --prefix="${CT_PREFIX_DIR}"
-
- # mingw-w64 has issues with parallel builds, see do_libc
- CT_DoLog EXTRA "Building ${f}"
- CT_DoExecLog ALL make
- CT_DoLog EXTRA "Installing ${f}"
- CT_DoExecLog ALL make install
- CT_Popd
- done
-}
-
-do_mingw_pthreads()
-{
- local multi_flags multi_dir multi_os_dir multi_root multi_index multi_count multi_target
- local libprefix
- local rcflags dlltoolflags
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
-
- libprefix="${MINGW_INSTALL_PREFIX}/lib/${multi_os_dir}"
- CT_SanitizeVarDir libprefix
-
- CT_SymlinkToolsMultilib
-
- # DLLTOOLFLAGS does not appear to be currently used by winpthread package, but
- # the master package uses this variable and describes this as one of the changes
- # needed for i686 in mingw-w64-doc/howto-build/mingw-w64-howto-build-adv.txt
- case "${multi_target}" in
- i[3456]86-*)
- rcflags="-F pe-i386"
- dlltoolflags="-m i386"
- ;;
- x86_64-*)
- rcflags="-F pe-x86-64"
- dlltoolflags="-m i386:x86_64"
- ;;
- *)
- CT_Abort "Tuple ${multi_target} is not supported by mingw-w64"
- ;;
- esac
-
- CT_DoLog EXTRA "Configuring mingw-w64-winpthreads"
-
- CT_DoExecLog CFG \
- CFLAGS="${multi_flags}" \
- CXXFLAGS="${multi_flags}" \
- RCFLAGS="${rcflags}" \
- DLLTOOLFLAGS="${dlltoolflags}" \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-libraries/winpthreads/configure" \
- --with-sysroot=${CT_SYSROOT_DIR} \
- --prefix=${MINGW_INSTALL_PREFIX} \
- --libdir=${libprefix} \
- --build=${CT_BUILD} \
- --host=${multi_target}
-
- # mingw-w64 has issues with parallel builds, see do_libc
- CT_DoLog EXTRA "Building mingw-w64-winpthreads"
- CT_DoExecLog ALL make
-
- CT_DoLog EXTRA "Installing mingw-w64-winpthreads"
- CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
-
- CT_EndStep
-}
-
-do_libc()
-{
- do_check_mingw_vendor_tuple
-
- CT_DoStep INFO "Building mingw-w64"
-
- CT_DoLog EXTRA "Configuring mingw-w64-crt"
-
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt"
-
- do_set_mingw_install_prefix
- CT_DoExecLog CFG \
- ${CONFIG_SHELL} \
- "${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-crt/configure" \
- --with-sysroot=${CT_SYSROOT_DIR} \
- --prefix=${MINGW_INSTALL_PREFIX} \
- --build=${CT_BUILD} \
- --host=${CT_TARGET}
-
- # mingw-w64-crt has a missing dependency occasionally breaking the
- # parallel build. See https://github.com/crosstool-ng/crosstool-ng/issues/246
- # Do not pass ${JOBSFLAGS} - build serially.
- CT_DoLog EXTRA "Building mingw-w64-crt"
- CT_DoExecLog ALL make
-
- CT_DoLog EXTRA "Installing mingw-w64-crt"
- CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
- CT_EndStep
-
- if [ "${CT_THREADS}" = "posix" ]; then
- CT_DoStep INFO "Building mingw-w64-winpthreads"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-winpthreads"
- CT_IterateMultilibs do_mingw_pthreads pthreads-multilib
- CT_Popd
- CT_EndStep
- fi
-
- if [ "${CT_MINGW_TOOLS}" = "y" ]; then
- CT_DoStep INFO "Installing mingw-w64 companion tools"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-tools"
- do_mingw_tools
- CT_Popd
- CT_EndStep
- fi
-}
-
-do_libc_post_cc() {
- :
-}
diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh
index 5a53fd0..430fb8d 100644
--- a/scripts/build/libc/musl.sh
+++ b/scripts/build/libc/musl.sh
@@ -3,17 +3,11 @@
# Licensed under the GPL v2. See COPYING in the root of this package
do_libc_get() {
- if [ "${CT_LIBC_MUSL_CUSTOM}" = "y" ]; then
- CT_GetCustom "musl" "${CT_LIBC_MUSL_CUSTOM_VERSION}" \
- "${CT_LIBC_MUSL_CUSTOM_LOCATION}"
- else # ! custom location
- CT_GetFile "musl-${CT_LIBC_VERSION}" http://www.musl-libc.org/releases
- fi # ! custom location
+ CT_Fetch MUSL
}
do_libc_extract() {
- CT_Extract "musl-${CT_LIBC_VERSION}"
- CT_Patch "musl" "${CT_LIBC_VERSION}"
+ CT_ExtractPatch MUSL
}
# Build and install headers and start files
@@ -62,7 +56,7 @@ do_libc_backend_once() {
local libc_mode
local -a extra_cflags
local -a extra_config
- local src_dir="${CT_SRC_DIR}/${CT_LIBC}-${CT_LIBC_VERSION}"
+ local src_dir="${CT_SRC_DIR}/musl"
local multi_dir multi_os_dir multi_root multi_flags multi_index multi_count
local multilib_dir
local hdr_install_subdir
@@ -83,7 +77,7 @@ do_libc_backend_once() {
# From buildroot:
# gcc constant folding bug with weak aliases workaround
# See http://www.openwall.com/lists/musl/2014/05/15/1
- if [ "${CT_CC_GCC_4_9_or_later}" = "y" ]; then
+ if [ "${CT_GCC_BUG_61144}" = "y" ]; then
extra_cflags+=("-fno-toplevel-reorder")
fi
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index 3b48507..5c4a356 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -6,44 +6,20 @@
#
do_libc_get() {
- local libc_src="{http://mirrors.kernel.org/sourceware/newlib,
- ftp://sourceware.org/pub/newlib}"
-
- if [ "${CT_LIBC_NEWLIB_CUSTOM}" = "y" ]; then
- CT_GetCustom "newlib" "${CT_LIBC_NEWLIB_CUSTOM_VERSION}" \
- "${CT_LIBC_NEWLIB_CUSTOM_LOCATION}"
- else # ! custom location
- case "${CT_LIBC_VERSION}" in
- linaro-*)
- CT_GetLinaro "newlib" "${CT_LIBC_VERSION}"
- ;;
- *)
- # kernel.org mirror is outdated, keep last as a fallback
- CT_GetFile "newlib-${CT_LIBC_VERSION}" \
- ftp://sourceware.org/pub/newlib \
- http://mirrors.kernel.org/sourceware/newlib \
- http://mirrors.kernel.org/sources.redhat.com/newlib
- ;;
- esac
- fi # ! custom location
+ CT_Fetch NEWLIB
}
do_libc_extract() {
- CT_Extract "newlib-${CT_LIBC_VERSION}"
- CT_Patch "newlib" "${CT_LIBC_VERSION}"
-
- if [ -n "${CT_ARCH_XTENSA_CUSTOM_NAME}" ]; then
- CT_ConfigureXtensa "newlib" "${CT_LIBC_VERSION}"
- fi
+ CT_ExtractPatch NEWLIB
}
do_libc_start_files() {
CT_DoStep INFO "Installing C library headers & start files"
- CT_DoExecLog ALL cp -a "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/newlib/libc/include/." \
+ CT_DoExecLog ALL cp -a "${CT_SRC_DIR}/newlib/newlib/libc/include/." \
"${CT_HEADERS_DIR}"
- if [ "${CT_ARCH_xtensa}" = "y" ]; then
+ if [ "${CT_ARCH_XTENSA}" = "y" ]; then
CT_DoLog EXTRA "Installing Xtensa headers"
- CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/newlib/libc/sys/xtensa/include/." \
+ CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/newlib/newlib/libc/sys/xtensa/include/." \
"${CT_HEADERS_DIR}"
fi
CT_EndStep
@@ -131,7 +107,7 @@ ENABLE_TARGET_OPTSPACE:target-optspace
AR_FOR_TARGET="`which ${CT_TARGET}-gcc-ar`" \
RANLIB_FOR_TARGET="`which ${CT_TARGET}-gcc-ranlib`" \
${CONFIG_SHELL} \
- "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/configure" \
+ "${CT_SRC_DIR}/newlib/configure" \
--host=${CT_BUILD} \
--target=${CT_TARGET} \
--prefix=${CT_PREFIX_DIR} \
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index a730a1d..af07888 100644
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -2,53 +2,14 @@
# Copyright 2007 Yann E. MORIN
# Licensed under the GPL v2. See COPYING in the root of this package
-# This is a constant because it does not change very often.
-# We're in 2010, and are still using data from 7 years ago.
-uclibc_locales_version=030818
-uclibc_locale_tarball="uClibc-locale-${uclibc_locales_version}"
-
-if [ "${CT_LIBC_UCLIBC_NG}" = "y" ]; then
- uclibc_name="uClibc-ng"
- libc_src="http://downloads.uclibc-ng.org/releases/${CT_LIBC_VERSION}"
-else
- uclibc_name="uClibc"
- libc_src="http://www.uclibc.org/downloads
- http://www.uclibc.org/downloads/old-releases"
-fi
-
# Download uClibc
do_libc_get() {
- if [ "${CT_LIBC_UCLIBC_CUSTOM}" = "y" ]; then
- CT_GetCustom "${uclibc_name}" "${CT_LIBC_UCLIBC_CUSTOM_VERSION}" \
- "${CT_LIBC_UCLIBC_CUSTOM_LOCATION}"
- else
- CT_GetFile "${uclibc_name}-${CT_LIBC_VERSION}" ${libc_src}
- fi
- # uClibc locales
- if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
- CT_GetFile "${uclibc_locale_tarball}" ${libc_src}
- fi
-
- return 0
+ CT_Fetch UCLIBC
}
# Extract uClibc
do_libc_extract() {
- CT_Extract "${uclibc_name}-${CT_LIBC_VERSION}"
- CT_Patch "${uclibc_name}" "${CT_LIBC_VERSION}"
-
- # uClibc locales
- # Extracting pregen locales ourselves is kinda
- # broken, so just link it in place...
- if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" \
- -a ! -f "${CT_SRC_DIR}/.${uclibc_locale_tarball}.extracted" ]; then
- CT_Pushd "${CT_SRC_DIR}/${uclibc_name}-${CT_LIBC_VERSION}/extra/locale"
- CT_DoExecLog ALL ln -s "${CT_TARBALLS_DIR}/${uclibc_locale_tarball}.tgz" .
- CT_Popd
- touch "${CT_SRC_DIR}/.${uclibc_locale_tarball}.extracted"
- fi
-
- return 0
+ CT_ExtractPatch UCLIBC
}
# Build and install headers and start files
@@ -93,16 +54,19 @@ do_libc_backend_once() {
local -a make_args
local extra_cflags f cfg_cflags cf
local hdr_install_subdir
+ local uclibc_name
for arg in "$@"; do
eval "${arg// /\\ }"
done
- CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
+ if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then
+ uclibc_name="uClibc-ng"
+ elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then
+ uclibc_name="uClibc"
+ fi
- # Simply copy files until uClibc has the ability to build out-of-tree
- CT_DoLog EXTRA "Copying sources to build dir"
- CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/${uclibc_name}-${CT_LIBC_VERSION}/." .
+ CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
multilib_dir="lib/${multi_os_dir}"
startfiles_dir="${multi_root}/usr/${multilib_dir}"
@@ -122,11 +86,14 @@ do_libc_backend_once() {
HOSTCC="${CT_BUILD}-gcc" \
PREFIX="${multi_root}/" \
MULTILIB_DIR="${multilib_dir}" \
- LOCALE_DATA_FILENAME="${uclibc_locale_tarball}.tgz" \
STRIPTOOL=true \
${CT_LIBC_UCLIBC_VERBOSITY} \
)
+ # Simply copy files until uClibc has the ability to build out-of-tree
+ CT_DoLog EXTRA "Copying sources to build dir"
+ CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc/." .
+
# Force the date of the pregen locale data, as the
# newer ones that are referenced are not available
CT_DoLog EXTRA "Applying configuration"
@@ -323,27 +290,15 @@ manage_uClibc_config() {
# entirely if LOCALE is not set. If LOCALE was already set, we'll
# assume the user has already made all the appropriate generation
# arrangements. Note that having the uClibc Makefile download the
- # pregenerated locales is not compatible with crosstool; besides,
- # crosstool downloads them as part of getandpatch.sh.
- CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE" "${dst}"
- case "${CT_LIBC_UCLIBC_LOCALES}:${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" in
- :*)
- ;;
- y:)
+ # pregenerated locales is not compatible with crosstool.
+ if [ -z "${CT_LIBC_UCLIBC_LOCALES}" ]; then
+ CT_KconfigDisableOption "UCLIBC_HAS_LOCALE" "${dst}"
+ else
CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
- CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
- "${dst}"
+ CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}"
CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
- ;;
- y:y)
- CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}"
- CT_KconfigEnableOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}"
- CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" \
- "${dst}"
- CT_KconfigDeleteOption "UCLIBC_HAS_XLOCALE" "${dst}"
- ;;
- esac
+ fi
# WCHAR support
if [ "${CT_LIBC_UCLIBC_WCHAR}" = "y" ]; then
diff --git a/scripts/build/test_suite.sh b/scripts/build/test_suite.sh
index 8fabf42..e963a99 100644
--- a/scripts/build/test_suite.sh
+++ b/scripts/build/test_suite.sh
@@ -7,8 +7,7 @@
CT_TEST_SUITE_FACILITY_LIST=
for f in "${CT_LIB_DIR}/scripts/build/test_suite/"*.sh; do
_f="$(basename "${f}" .sh)"
- __f="CT_TEST_SUITE_${_f}"
- __f=`echo ${__f} | tr "[:lower:]" "[:upper:]"`
+ __f="CT_TEST_SUITE_${_f^^}"
if [ "${!__f}" = "y" ]; then
CT_DoLog DEBUG "Enabling test suite '${_f}'"
. "${f}"
diff --git a/scripts/build/test_suite/gcc.sh b/scripts/build/test_suite/gcc.sh
index c829a43..6c6e5a7 100644
--- a/scripts/build/test_suite/gcc.sh
+++ b/scripts/build/test_suite/gcc.sh
@@ -18,7 +18,7 @@ do_test_suite_gcc_build() {
CT_DoExecLog ALL cp -av "${CT_LIB_DIR}/contrib/gcc-test-suite/default.cfg" \
"${CT_LIB_DIR}/contrib/gcc-test-suite/Makefile" \
"${CT_LIB_DIR}/contrib/gcc-test-suite/README" \
- "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/testsuite" \
+ "${CT_SRC_DIR}/gcc/gcc/testsuite" \
"${CT_TEST_SUITE_DIR}/gcc"
CT_DoExecLog ALL sed -i -r -e "s/@@DG_TARGET@@/${CT_TARGET}/g;" \
diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in
index 78b3d0f..bd07c6b 100644
--- a/scripts/crosstool-NG.sh.in
+++ b/scripts/crosstool-NG.sh.in
@@ -166,7 +166,8 @@ CT_PKGVERSION="crosstool-NG ${CT_VERSION}${CT_TOOLCHAIN_PKGVERSION:+ - ${CT_TOOL
# Compute the working directories names
CT_TARBALLS_DIR="${CT_WORK_DIR}/tarballs"
-CT_SRC_DIR="${CT_WORK_DIR}/src"
+CT_COMMON_SRC_DIR="${CT_WORK_DIR}/src"
+CT_SRC_DIR="${CT_BUILD_DIR}/src"
CT_BUILDTOOLS_PREFIX_DIR="${CT_BUILD_TOP_DIR}/buildtools"
CT_STATE_DIR="${CT_WORK_DIR}/${CT_TARGET}/state"
# Note about HOST_COMPLIBS_DIR: it's always gonna be in the buildtools dir, or a
@@ -244,12 +245,14 @@ CT_DoForceRmdir "${CT_BUILD_DIR}" "${CT_BUILDTOOLS_PREFIX_DIR}"
# Don't eradicate directories if we need to restart
if [ -z "${CT_RESTART}" ]; then
+ # Per-target sources: eliminate
+ CT_DoForceRmdir "${CT_SRC_DIR}"
# Get rid of pre-existing installed toolchain and previous build directories.
if [ "${CT_FORCE_DOWNLOAD}" = "y" -a -d "${CT_TARBALLS_DIR}" ]; then
CT_DoForceRmdir "${CT_TARBALLS_DIR}"
fi
- if [ "${CT_FORCE_EXTRACT}" = "y" -a -d "${CT_SRC_DIR}" ]; then
- CT_DoForceRmdir "${CT_SRC_DIR}"
+ if [ "${CT_FORCE_EXTRACT}" = "y" -a -d "${CT_COMMON_SRC_DIR}" ]; then
+ CT_DoForceRmdir "${CT_COMMON_SRC_DIR}"
fi
if [ -d "${CT_PREFIX_DIR}" -a "${CT_RM_RF_PREFIX_DIR}" = "y" ]; then
CT_DoForceRmdir "${CT_PREFIX_DIR}"
@@ -264,6 +267,7 @@ fi
# create already existent directories, and CT_BUILD_DIR needs to be created
# anyway
CT_DoExecLog ALL mkdir -p "${CT_TARBALLS_DIR}"
+CT_DoExecLog ALL mkdir -p "${CT_COMMON_SRC_DIR}"
CT_DoExecLog ALL mkdir -p "${CT_SRC_DIR}"
CT_DoExecLog ALL mkdir -p "${CT_BUILD_DIR}"
CT_DoExecLog ALL mkdir -p "${CT_BUILDTOOLS_PREFIX_DIR}/bin"
diff --git a/scripts/functions b/scripts/functions
index c1b99ce..79b7321 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -5,7 +5,7 @@
# Licensed under the GPL v2. See COPYING in the root of this package
CT_LoadConfig() {
- local o
+ local o oldvals vals
# Parse the configuration file
# It has some info about the logging facility, so include it early
@@ -23,7 +23,7 @@ CT_LoadConfig() {
. "${CT_LIB_DIR}/scripts/build/companion_libs.sh"
. "${CT_LIB_DIR}/scripts/build/binutils/${CT_BINUTILS}.sh"
. "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh"
- . "${CT_LIB_DIR}/scripts/build/cc.sh"
+ . "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh"
. "${CT_LIB_DIR}/scripts/build/debug.sh"
. "${CT_LIB_DIR}/scripts/build/test_suite.sh"
@@ -200,7 +200,7 @@ CT_LogEnable() {
exec 6>&1 7>&2 8<&0
CT_BUILD_LOG="${CT_TOP_DIR}/build.log"
CT_LOG_ENABLED=y
- if [ "$clean" = "yes" ]; then
+ if [ "$clean" = "yes" ]; then
rm -f "${CT_BUILD_LOG}"
fi
exec >>"${CT_BUILD_LOG}"
@@ -283,7 +283,7 @@ CT_DoLog() {
_prog_bar_cpt=$(((_prog_bar_cpt+1)%40))
fi
elif [ ${cur_l} -le ${CT_LOG_LEVEL_WARN} ]; then
- printf "[%-5s]%*s%s%s\n" "${cur_L}" "${indent}" " " "${line}"
+ printf "[%-5s]%*s%s%s\n" "${cur_L}" "${indent}" " " "${line}" >&2
fi
done
)
@@ -537,18 +537,14 @@ CT_Pushd() {
pushd "$1" >/dev/null 2>&1
}
CT_Popd() {
+ local dir=`dirs +0`
+
+ CT_DoLog DEBUG "Leaving '${dir}'"
popd >/dev/null 2>&1
}
-# Create a dir and cd or pushd into it
-# Usage: CT_mkdir_cd <dir/to/create>
-# CT_mkdir_pushd <dir/to/create>
-CT_mkdir_cd() {
- local dir="${1}"
-
- mkdir -p "${dir}"
- cd "${dir}"
-}
+# Create a dir and pushd into it
+# Usage: CT_mkdir_pushd <dir/to/create>
CT_mkdir_pushd() {
local dir="${1}"
@@ -624,7 +620,8 @@ CT_SetLibPath() {
# Build up the list of allowed tarball extensions
# Add them in the prefered order; most preferred comes first
-CT_DoListTarballExt() {
+CT_DoListTarballExt()
+{
printf ".tar.xz\n"
printf ".tar.lzma\n"
printf ".tar.bz2\n"
@@ -637,17 +634,15 @@ CT_DoListTarballExt() {
# Usage: CT_GetFileExtension <component_name-component_version> [extension]
# If found, echoes the extension to stdout, and return 0
# If not found, echoes nothing on stdout, and return !0.
-CT_GetFileExtension() {
+CT_GetFileExtension()
+{
local ext
local file="$1"
shift
local first_ext="$1"
- # we need to also check for an empty extension for those very
- # peculiar components that don't have one (such as sstrip from
- # buildroot).
- for ext in ${first_ext} $(CT_DoListTarballExt) /.git ''; do
- if [ -e "${CT_TARBALLS_DIR}/${file}${ext}" -o -L "${CT_TARBALLS_DIR}/${file}${ext}" ]; then
+ for ext in ${first_ext} $(CT_DoListTarballExt); do
+ if [ -e "${file}${ext}" -o -L "${file}${ext}" ]; then
echo "${ext}"
exit 0
fi
@@ -656,6 +651,20 @@ CT_GetFileExtension() {
exit 1
}
+# Get file's basename by stripping supported archive extensions
+CT_GetFileBasename()
+{
+ local bn="${1}"
+ local ext
+
+ for ext in $(CT_DoListTarballExt); do
+ if [ "${bn%.${ext}}" != "${bn}" ]; then
+ echo "${bn%.${ext}}"
+ exit 0
+ fi
+ done
+}
+
# Try to retrieve the specified URL (HTTP or FTP)
# Usage: CT_DoGetFile <URL>
# This functions always returns true (0), as it can be legitimate not
@@ -711,8 +720,8 @@ CT_GetLocal() {
local ext
# Do we already have it in *our* tarballs dir?
- if ext="$( CT_GetFileExtension "${basename}" ${first_ext} )"; then
- CT_DoLog DEBUG "Already have '${basename}'"
+ if ext="$( CT_GetFileExtension "${CT_TARBALLS_DIR}/${basename}" ${first_ext} )"; then
+ CT_DoLog DEBUG "Already have '${CT_TARBALLS_DIR}/${basename}${ext}'"
return 0
fi
@@ -733,61 +742,6 @@ CT_GetLocal() {
return 1
}
-# This function gets the custom source from either a tarball or directory
-# Usage: CT_GetCustom <name> <version> <location>
-CT_GetCustom() {
- local component_name="$1"
- local component_version="$2"
- local component_location="$3"
-
- # Some local variables we use to help us figure out what to do
- local component_location_type="dir" # str: 'file' or 'dir'
- local component_location_filename="" # filename... if it's a file
-
- CT_TestAndAbort \
- "${component_name}: Custom location setting is empty" \
- -z "${component_location}"
-
- CT_TestAndAbort \
- "${component_name}: Custom version setting is empty" \
- -z "${component_version}"
-
- if [ -f "${component_location}" ]; then
- component_location_type="file"
- component_location_filename="$(basename ${component_location})"
- elif [ -d "${component_location}" ]; then
- # Yes, it's the default, but it rules out the else case in the `if'.
- component_location_type="dir"
- # as -d and -f say: it's a <directory|file> and is readable!
- else
- CT_Abort "${component_name}: Unable to read ${component_location}, make sure the setting is correct and double check the permissions!"
- fi
-
- if [ "${component_location_type}" = "file" ]; then
- CT_DoLog EXTRA "Got '${component_location}' from custom location"
- # We need to know the custom tarball extension,
- # so we can create a properly-named symlink, which
- # we use later on in 'extract'
- case "${component_location}" in
- *.tar.xz|*.tar.bz2|*.tar.lzma|*.tar.gz|*.tgz|*.tar|*.zip) ;;
- *) CT_Abort "Unknown extension for custom tarball '${component_location}'" ;;
- esac
- [ ! -L "${CT_TARBALLS_DIR}/${component_location_filename}" ] && \
- CT_DoExecLog DEBUG ln -sf "${component_location}" \
- "${CT_TARBALLS_DIR}/${component_location_filename}"
- elif [ "${component_location_type}" = "dir" ]; then
- CT_DoLog EXTRA "Got '${component_location}' from custom location"
- [ ! -d "${CT_SRC_DIR}/${component_name}-${component_version}" ] && \
- CT_DoExecLog DEBUG ln -sf "${component_location}" \
- "${CT_SRC_DIR}/${component_name}-${component_version}"
-
- # Don't try to extract from source directory, it's extracted!
- touch "${CT_SRC_DIR}/.${component_name}-${component_version}.extracted"
- fi
- # Don't patch a custom source, it's custom!
- touch "${CT_SRC_DIR}/.${component_name}-${component_version}.patched"
-}
-
# This function saves the specified to local storage if possible,
# and if so, symlinks it for later usage
# Usage: CT_SaveLocal </full/path/file.name>
@@ -864,437 +818,11 @@ CT_GetFile() {
done
done
- # Just return error, someone may want to catch and handle the error
- # (eg. glibc add-ons can be missing).
+ # Just return error: CT_DoFetch will check it and will handle it appropriately.
return 1
}
-# Get a component from Linaro archives.
-# Usage: CT_GetLinaro <component> <version>
-CT_GetLinaro() {
- local comp="$1"
- local version="$2"
- local linaro_version
- local yyyymm_p
- local yymm
- local base
-
- case "${version}" in
- linaro-*)
- linaro_version="${version#linaro-}"
- ;;
- *)
- CT_Abort "Version ${version} is not a Linaro package"
- ;;
- esac
-
- # Recent releases reside in top of the directory tree; older releases
- # are moved into the archive. Subdirectories are named differently
- # in archive!
- # In archive, some URLs also contain base component version
- # (e.g. "gcc-linaro/4.9") while some do not (e.g. just "newlib-linaro").
- base="${linaro_version%%-*}"
- # Strip base version, first two digits of the year and optional patchlevel
- yymm="${linaro_version#*-??}"
- yymm="${yymm%-*}"
- CT_GetFile "${comp}-${version}" \
- "https://releases.linaro.org/components/toolchain/${comp}-linaro/${linaro_version}" \
- "https://releases.linaro.org/archive/${yymm}/components/toolchain/${comp}-linaro/${base}" \
- "https://releases.linaro.org/archive/${yymm}/components/toolchain/${comp}-linaro"
-}
-
-# Checkout from CVS, and build the associated tarball
-# The tarball will be called ${basename}.tar.bz2
-# Prerequisite: either the server does not require password,
-# or the user must already be logged in.
-# 'tag' is the tag to retrieve. Must be specified, but can be empty.
-# If dirname is specified, then module will be renamed to dirname
-# prior to building the tarball.
-# Usage: CT_GetCVS <basename> <url> <module> <tag> [dirname[=subdir]]
-# Note: if '=subdir' is given, then it is used instead of 'module'.
-CT_GetCVS() {
- local basename="$1"
- local uri="$2"
- local module="$3"
- local tag="${4:+-r ${4}}"
- local dirname="$5"
- local tmp_dir
-
- # First try locally, then the mirror
- if CT_GetFile "${basename}"; then
- # Got it! Return early! :-)
- return 0
- fi
-
- if [ "${CT_FORBID_DOWNLOAD}" = "y" ]; then
- CT_DoLog WARN "Downloads forbidden, not trying cvs retrieval"
- return 1
- fi
-
- CT_MktempDir tmp_dir
- CT_Pushd "${tmp_dir}"
-
- CT_DoExecLog ALL cvs -z 9 -d "${uri}" co -P ${tag} "${module}"
- if [ -n "${dirname}" ]; then
- case "${dirname}" in
- *=*)
- CT_DoExecLog DEBUG mv "${dirname#*=}" "${dirname%%=*}"
- CT_DoExecLog ALL tar cjf "${CT_TARBALLS_DIR}/${basename}.tar.bz2" "${dirname%%=*}"
- ;;
- *)
- CT_DoExecLog ALL mv "${module}" "${dirname}"
- CT_DoExecLog ALL tar cjf "${CT_TARBALLS_DIR}/${basename}.tar.bz2" "${dirname:-${module}}"
- ;;
- esac
- fi
- CT_SaveLocal "${CT_TARBALLS_DIR}/${basename}.tar.bz2"
-
- CT_Popd
- CT_DoExecLog ALL rm -rf "${tmp_dir}"
-}
-
-# Check out from SVN, and build the associated tarball
-# The tarball will be called ${basename}.tar.bz2
-# Prerequisite: either the server does not require password,
-# or the user must already be logged in.
-# 'rev' is the revision to retrieve
-# Usage: CT_GetSVN <basename> <url> [rev]
-CT_GetSVN() {
- local basename="$1"
- local uri="$2"
- local rev="$3"
-
- # First try locally, then the mirror
- if CT_GetFile "${basename}"; then
- # Got it! Return early! :-)
- return 0
- fi
-
- if [ "${CT_FORBID_DOWNLOAD}" = "y" ]; then
- CT_DoLog WARN "Downloads forbidden, not trying svn retrieval"
- return 1
- fi
-
- CT_MktempDir tmp_dir
- CT_Pushd "${tmp_dir}"
-
- if ! CT_DoExecLog ALL svn export ${rev:+-r ${rev}} "${uri}" "${basename}"; then
- CT_DoLog WARN "Could not retrieve '${basename}'"
- return 1
- fi
- CT_DoExecLog ALL tar cjf "${CT_TARBALLS_DIR}/${basename}.tar.bz2" "${basename}"
- CT_SaveLocal "${CT_TARBALLS_DIR}/${basename}.tar.bz2"
-
- CT_Popd
- CT_DoExecLog ALL rm -rf "${tmp_dir}"
-}
-
-# Clone a git tree
-# Tries the given URLs in turn until one can get cloned. No tarball will be created.
-# Prerequisites: either the server does not require password,
-# or the user has already taken any action to authenticate to the server.
-# The cloned tree will *not* be stored in the local tarballs dir!
-# cset_or_ref can be a branch or tag, if specified as 'ref=name'
-# In this case, 'git ls-remote' is used to get the sha1 and can also
-# be used to get a list valid refs (e.g. HEAD, refs/heads/master, refs/tags/v3.3.0)
-# Usage: CT_GetGit <basename> <cset_or_ref> <url> <out_cset>
-CT_GetGit() {
- local basename="${1}"
- local cset_or_ref="${2}"
- local url="${3}"
- local _out_cset="${4}"
-
- local ref=$(echo "${cset_or_ref}" | ${sed} -n 's/^ref=\(.*\)/\1/p')
- if [ -n "$ref" ]; then
- local matches=$(git ls-remote --exit-code "$url" --refs "${ref}")
- local result=$?
- CT_TestAndAbort "Failed to find git ref ${ref} at ${url}" "${result}" != "0"
- if [ $( echo "$matches" | wc -l) -gt 1 ]; then
- CT_DoLog WARN "Ambiguous ref ${ref} at ${url}, using first"
- fi
- local cset=$(echo "$matches" | head -n1 | cut -c1-6)
- CT_DoLog DEBUG "ref ${ref} at ${url} has cset of ${cset}"
- else
- local cset=${cset_or_ref}
- CT_DoLog DEBUG "cset ${cset}"
- fi
-
- if [ -n "${_out_cset}" ]; then
- eval ${_out_cset}=\${cset}
- fi
-
- local dir="${CT_TARBALLS_DIR}/${basename}-${cset}.git"
- local file="${basename}-${cset}.tar.gz"
- local dest="${CT_TARBALLS_DIR}/${file}"
- local tmp="${CT_TARBALLS_DIR}/${file}.tmp-dl"
-
- # Do we already have it?
- if CT_GetLocal "${file}"; then
- echo ${cset}
- return 0
- fi
- # Nope...
-
- if [ "${CT_FORBID_DOWNLOAD}" = "y" ]; then
- CT_DoLog WARN "Downloads forbidden, not trying git retrieval"
- return 1
- fi
-
- # Add URLs on the LAN mirror
- # We subvert the normal download method, just to look for
- # looking at the local mirror
- if CT_GetFile "${basename}-${cset}" .tar.gz; then
- return 0
- fi
-
- CT_DoLog EXTRA "Retrieving '${basename}-${cset}' (git)"
-
- # Remove potential left-over from a previous run
- CT_DoExecLog ALL rm -rf "${tmp}.tar.gz" "${tmp}.tar" "${tmp}" "${dir}"
-
- if CT_DoExecLog ALL git clone "${url}" "${dir}"; then
- # Yep, cloned OK
- CT_Pushd "${dir}"
- CT_DoExecLog ALL git archive --format=tar \
- --prefix="${basename}-${cset}/" \
- -o "${tmp}.tar" \
- "${cset}"
- CT_DoExecLog ALL gzip -9 "${tmp}.tar"
- CT_DoExecLog ALL mv -f "${tmp}.tar.gz" "${dest}"
- CT_SaveLocal "${dest}"
- CT_DoExecLog ALL rm -rf "${tmp}.tar.gz" "${tmp}.tar" "${tmp}" "${dir}"
- CT_Popd
- echo ${cset}
- return 0
- else
- # Woops...
- CT_DoExecLog ALL rm -rf "${dir}"
- CT_DoLog DEBUG "Could not clone '${basename}'"
- return 1
- fi
-}
-
-# Extract a tarball
-# Some tarballs need to be extracted in specific places. Eg.: glibc addons
-# must be extracted in the glibc directory; uCLibc locales must be extracted
-# in the extra/locale sub-directory of uClibc. This is taken into account
-# by the caller, that did a 'cd' into the correct path before calling us
-# and sets nochdir to 'nochdir'.
-# Note also that this function handles the git trees!
-# Usage: CT_Extract [nochdir] <basename> [options]
-# where 'options' are dependent on the source (eg. git branch/tag...)
-CT_Extract() {
- local nochdir="$1"
- local basename
- local ext
- local -a tar_opts
-
- if [ "${nochdir}" = "nochdir" ]; then
- shift
- nochdir="$(pwd)"
- else
- nochdir="${CT_SRC_DIR}"
- fi
-
- basename="$1"
- shift
-
- # Check if already extracted
- if [ -e "${CT_SRC_DIR}/.${basename}.extracted" ]; then
- CT_DoLog DEBUG "Already extracted '${basename}'"
- return 0
- fi
-
- if ! ext="$(CT_GetFileExtension "${basename}")"; then
- CT_DoLog WARN "'${basename}' not found in '${CT_TARBALLS_DIR}'"
- return 1
- fi
- local full_file="${CT_TARBALLS_DIR}/${basename}${ext}"
-
- # Check if previously partially extracted
- if [ -e "${CT_SRC_DIR}/.${basename}.extracting" ]; then
- CT_DoLog ERROR "The '${basename}' sources were partially extracted."
- CT_DoLog ERROR "Please remove first:"
- CT_DoLog ERROR " - the source dir for '${basename}', in '${CT_SRC_DIR}'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${basename}.extracting'"
- CT_Abort "I'll stop now to avoid any carnage..."
- fi
- CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.extracting"
-
- CT_Pushd "${nochdir}"
-
- CT_DoLog EXTRA "Extracting '${basename}'"
- CT_DoExecLog FILE mkdir -p "${basename}"
- tar_opts=( "--strip-components=1" )
- tar_opts+=( "-C" "${basename}" )
- tar_opts+=( "-xv" )
-
- case "${ext}" in
- .tar.xz) xz -fdc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
- .tar.lzma) xz -fdc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
- .tar.bz2) bzip2 -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
- .tar.gz|.tgz) gzip -dc "${full_file}" | CT_DoExecLog FILE tar "${tar_opts[@]}" -f -;;
- .tar) CT_DoExecLog FILE tar "${tar_opts[@]}" -f "${full_file}";;
- .zip) CT_DoExecLog FILE unzip "${@}" "${full_file}";;
- /.git) CT_ExtractGit "${basename}" "${@}";;
- *) CT_DoLog WARN "Don't know how to handle '${basename}${ext}': unknown extension"
- return 1
- ;;
- esac
-
- # Don't mark as being extracted for git
- case "${ext}" in
- /.git) ;;
- *) CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.extracted";;
- esac
- CT_DoExecLog DEBUG rm -f "${CT_SRC_DIR}/.${basename}.extracting"
-
- CT_Popd
-}
-
-# Create a working git clone of a local git repository
-# Usage: CT_ExtractGit <basename> [ref]
-# where 'ref' is the reference to use:
-# the full name of a branch, like "remotes/origin/branch_name"
-# a date as understandable by git, like "YYYY-MM-DD[ hh[:mm[:ss]]]"
-# a tag name
-# If 'ref' is not given, the current repository HEAD will be used
-CT_ExtractGit() {
- local basename="${1}"
- local ref="${2}"
- local repo
- local ref_type
-
- # pushd now to be able to get git revlist in case ref is a date
- repo="${CT_TARBALLS_DIR}/${basename}"
- CT_Pushd "${repo}"
-
- # What kind of reference is ${ref} ?
- if [ -z "${ref}" ]; then
- ref_type=head
- ref=$(git rev-list -n1 HEAD)
- elif git tag |{grep} -E "^${ref}$" >/dev/null 2>&1; then
- ref_type=tag
- elif git branch -a --no-color |${grep} -E "^. ${ref}$" >/dev/null 2>&1; then
- ref_type=branch
- elif date -d "${ref}" >/dev/null 2>&1; then
- ref_type=date
- ref=$(git rev-list -n1 --before="${ref}")
- else
- CT_Abort "Reference '${ref}' is an incorrect git reference: neither tag, branch nor date"
- fi
-
- CT_Popd
-
- CT_DoExecLog FILE rmdir "${basename}"
- case "${ref_type}" in
- branch) CT_DoExecLog FILE git clone -b "${ref}" "${repo}" "${basename}" ;;
- *) CT_DoExecLog FILE git clone "${repo}" "${basename}"
- CT_Pushd "${basename}"
- CT_DoExecLog FILE git checkout "${ref}"
- CT_Popd
- ;;
- esac
-}
-
-# Patches the specified component
-# See CT_Extract, above, for explanations on 'nochdir'
-# Usage: CT_Patch [nochdir] <packagename> <packageversion>
-# If the package directory is *not* packagename-packageversion, then
-# the caller must cd into the proper directory first, and call us
-# with nochdir
-CT_Patch() {
- local nochdir="$1"
- local pkgname
- local version
- local pkgdir
- local base_file
- local ver_file
- local d
- local -a patch_dirs
- local bundled_patch_dir
- local local_patch_dir
- local bundled_exp_patch_dir
- local local_exp_patch_dir
-
- if [ "${nochdir}" = "nochdir" ]; then
- shift
- pkgname="$1"
- version="$2"
- pkgdir="${pkgname}-${version}"
- nochdir="$(pwd)"
- else
- pkgname="$1"
- version="$2"
- pkgdir="${pkgname}-${version}"
- nochdir="${CT_SRC_DIR}/${pkgdir}"
- fi
-
- # Check if already patched
- if [ -e "${CT_SRC_DIR}/.${pkgdir}.patched" ]; then
- CT_DoLog DEBUG "Already patched '${pkgdir}'"
- return 0
- fi
-
- # Check if already partially patched
- if [ -e "${CT_SRC_DIR}/.${pkgdir}.patching" ]; then
- CT_DoLog ERROR "The '${pkgdir}' sources were partially patched."
- CT_DoLog ERROR "Please remove first:"
- CT_DoLog ERROR " - the source dir for '${pkgdir}', in '${CT_SRC_DIR}'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${pkgdir}.extracted'"
- CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${pkgdir}.patching'"
- CT_Abort "I'll stop now to avoid any carnage..."
- fi
- touch "${CT_SRC_DIR}/.${pkgdir}.patching"
-
- CT_Pushd "${nochdir}"
-
- CT_DoLog EXTRA "Patching '${pkgdir}'"
-
- bundled_patch_dir="${CT_LIB_DIR}/patches/${pkgname}/${version}"
- bundled_patch_arch_dir="${bundled_patch_dir}/${CT_ARCH}"
- local_patch_dir="${CT_LOCAL_PATCH_DIR}/${pkgname}/${version}"
-
- case "${CT_PATCH_ORDER}" in
- bundled) patch_dirs=("${bundled_patch_dir}" "${bundled_patch_arch_dir}");;
- local) patch_dirs=("${local_patch_dir}");;
- bundled,local) patch_dirs=("${bundled_patch_dir}" "${bundled_patch_arch_dir}" "${local_patch_dir}");;
- local,bundled) patch_dirs=("${local_patch_dir}" "${bundled_patch_dir}" "${bundled_patch_arch_dir}");;
- none) patch_dirs=;;
- esac
-
- for d in "${patch_dirs[@]}"; do
- CT_DoLog DEBUG "Looking for patches in '${d}'..."
- if [ -n "${d}" -a -d "${d}" ]; then
- for p in "${d}"/*.patch; do
- if [ -f "${p}" ]; then
- CT_DoExecLog ALL ${patch} --no-backup-if-mismatch -g0 -F1 -p1 -f -i "${p}"
- fi
- done
- if [ "${CT_PATCH_SINGLE}" = "y" ]; then
- break
- fi
- fi
- done
-
- if [ "${CT_OVERRIDE_CONFIG_GUESS_SUB}" = "y" ]; then
- CT_DoLog ALL "Overiding config.guess and config.sub"
- for cfg in config_guess config_sub; do
- eval ${cfg}="${CT_LIB_DIR}/scripts/${cfg/_/.}"
- [ -e "${CT_TOP_DIR}/scripts/${cfg/_/.}" ] && eval ${cfg}="${CT_TOP_DIR}/scripts/${cfg/_/.}"
- # Can't use CT_DoExecLog because of the '{} \;' to be passed un-mangled to find
- find . -type f -name "${cfg/_/.}" \
- -exec chmod -v u+w {} \; \
- -exec cp -v "${!cfg}" {} \; |CT_DoLog ALL
- done
- fi
-
- CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${pkgdir}.patched"
- CT_DoExecLog DEBUG rm -f "${CT_SRC_DIR}/.${pkgdir}.patching"
-
- CT_Popd
-}
-
+# TBD these should not be needed if config.sub/guess is a package
# Two wrappers to call config.(guess|sub) either from CT_TOP_DIR or CT_LIB_DIR.
# Those from CT_TOP_DIR, if they exist, will be be more recent than those from CT_LIB_DIR.
CT_DoConfigGuess() {
@@ -1915,3 +1443,553 @@ CT_MultilibFixupLDSO()
CT_Popd
CT_EndStep
}
+
+# List the download mirrors. Usage:
+# CT_Mirrors ORGANIZATION PROJECT [...]
+CT_Mirrors()
+{
+ local org="${1}"
+ local project="${2}"
+
+ case "${org}" in
+ GNU)
+ echo "https://ftpmirror.gnu.org/gnu/${project}"
+ echo "http://ftpmirror.gnu.org/gnu/${project}"
+ echo "https://ftp.gnu.org/gnu/${project}"
+ echo "http://ftp.gnu.org/gnu/${project}"
+ echo "ftp://ftp.gnu.org/gnu/${project}"
+ ;;
+ sourceware)
+ echo "ftp://sourceware.org/pub/${project}"
+ echo "http://mirrors.kernel.org/sourceware/${project}"
+ echo "http://gcc.gnu.org/pub/${project}"
+ ;;
+ Linaro)
+ eval "local version=\"\${${3}}\""
+ local base yymm
+ base="${version%%-*}"
+ yymm="${version##*-??}"
+ echo "https://releases.linaro.org/components/toolchain/${project}-linaro/${version}"
+ echo "https://releases.linaro.org/archive/${yymm}/components/toolchain/${project}-linaro/${base}"
+ echo "https://releases.linaro.org/archive/${yymm}/components/toolchain/${project}-linaro"
+ ;;
+ kernel.org)
+ # TBD move to linux.sh?
+ if [ "${project}" != "linux" ]; then
+ CT_Abort "Unsupported project"
+ fi
+ local version="${CT_LINUX_VERSION}"
+ case "${version}" in
+ '')
+ # Ignore, this happens before .config is fully evaluated
+ ;;
+ [34].*)
+ echo "http://www.kernel.org/pub/linux/kernel/v${version%%.*}.x"
+ ;;
+ 2.6.*)
+ echo "http://www.kernel.org/pub/linux/kernel/v2.6"
+ case "${version}" in
+ 2.6.*.*)
+ echo "http://www.kernel.org/pub/linux/kernel/v2.6/longterm"
+ echo "http://www.kernel.org/pub/linux/kernel/v2.6/longterm/v${version%.*}"
+ ;;
+ esac
+ ;;
+ *)
+ CT_Abort "Unsupported Linux kernel version '${version}'"
+ ;;
+ esac
+ ;;
+ *)
+ CT_Abort "Unknown mirror '${org}'"
+ ;;
+ esac
+}
+
+# Get most recent version for CVS check-out.
+# CVS does not have a repository-wide identifier for a commit, so we must
+# use date. Variables are set by CT_PackageRun
+CT_GetVersion_cvs()
+{
+ # If date is not given, use current. Otherwise, check if format is correct.
+ # We don't support fancy CVS specifications like "1 day ago", as we'll need
+ # to convert them to some stable representation like 20170617231304.
+ if [ -z "${devel_revision}" ]; then
+ devel_revision=`LANG=C TZ=UTC date '+%Y/%m/%d %H:%M:%S'`
+ else
+ case "${devel_revision}" in
+ [12][0-9][0-9][0-9]/[01][0-9]/[0-3][0-9]\ [0-2][0-9]:[0-5][0-9]:[0-5][0-9])
+ ;;
+ *)
+ CT_Abort "${pkg_name}: invalid date format ${devel_revision}"
+ ;;
+ esac
+ fi
+ unique_id="${devel_branch:-trunk}-${devel_revision//[^0-9]/}"
+}
+
+# Check out sources from CVS. Variables are set by CT_PackageRun.
+CT_Download_cvs()
+{
+ local pserver="${devel_url%% *}"
+ local module="${devel_url##* }"
+
+ # CVS has no name for "main" branch, so use -r only if non-default
+ # TBD try -'d ${basename}', with/without -N
+ CT_DoExecLog ALL cvs -z 9 -d "${pserver}" co -P ${devel_branch:+-r ${devel_branch}} \
+ -D "${devel_revision} UTC" "${module}"
+ if [ "${module}" != "${pkg_name}" ]; then
+ CT_DoExecLog ALL mv "${module}" "${pkg_name}"
+ fi
+}
+
+# Find the most recent version from Subversion.
+CT_GetVersion_svn()
+{
+ local version
+
+ devel_branch="${devel_branch:-/trunk}"
+
+ # If revision is not given, find the most recent
+ if [ -z "${devel_revision}" ]; then
+ devel_revision=`svn info "${devel_url}${devel_branch}" | sed -n 's/^Last Changed Rev: //p'`
+ fi
+
+ # Construct version from branch/revision
+ version="${devel_branch//\//_}"
+ version="${version#_}"
+ version="${version%_}"
+ version="${version}-${devel_revision}"
+ unique_id="${version}"
+}
+
+# Retrieve sources from Subversion.
+CT_Download_svn()
+{
+ CT_DoExecLog ALL svn export -r "${devel_revision}" "${devel_url}${devel_branch}" "${pkg_name}"
+}
+
+# Find the most recent version from Mercurial.
+CT_GetVersion_hg()
+{
+ if [ -n "${devel_branch}" -a -n "${devel_revision}" ]; then
+ CT_Abort "${pkg_name}: cannot specify both branch and changeset for Mercurial"
+ fi
+
+ # Mercurial cannot query remote branches except the default, so we'll have
+ # to clone if cset is not known and a branch is given.
+ if [ -z "${devel_revision}" ]; then
+ if [ -z "${devel_branch}" ]; then
+ # Mercurial does not allow querying branches
+ devel_revision=`hg identify "${devel_url}"`
+ else
+ CT_DoLog WARN "${pkg_name}: Mercurial cannot query non-default branch, will clone"
+ devel_revision="to.be.determined"
+ fi
+ fi
+ unique_id="${devel_revision}"
+}
+
+# Retrieve sources from Mercurial.
+CT_Download_hg()
+{
+ CT_DoExecLog ALL hg clone "${devel_url}" "${pkg_name}"
+ CT_Pushd "${pkg_name}"
+ if [ -n "${devel_branch}" ]; then
+ CT_DoExecLog ALL hg update "${devel_branch}"
+ fi
+ if [ "${devel_revision}" = "to.be.determined" ]; then
+ # Report what we found out (as common message lacks the revision)
+ devel_revision=`hg identify -i`
+ unique_id="${devel_revision}"
+ CT_DoLog EXTRA "Retrieved revision ${devel_revision}"
+ else
+ CT_DoExecLog ALL hg update "${devel_revision}"
+ fi
+ CT_DoExecLog ALL rm -rf .hg
+ CT_Popd
+}
+
+# Get the most recent version from Git.
+CT_GetVersion_git()
+{
+ if [ -n "${devel_branch}" -a -n "${devel_revision}" ]; then
+ CT_Abort "${pkg_name}: cannot specify both branch and changeset for Git"
+ fi
+
+ devel_branch="${devel_branch:-master}"
+ if [ -z "${devel_revision}" ]; then
+ local matches=`git ls-remote --exit-code "${devel_url}" --refs "${devel_branch}" \
+ || echo "not found"`
+ local best using ref
+
+ # Cannot test $?, setting a trap on ERR prevents bash from returning the
+ # status code.
+ if [ "${matches}" = "not found" ]; then
+ CT_Abort "Failed to find git ref ${devel_branch} at ${devel_url}"
+ fi
+ if [ `echo "${matches}" | wc -l` -gt 1 ]; then
+ if echo "${matches}" | grep '[[:space:]]\(refs/heads/\)\?'"${devel_branch}\$" >/dev/null; then
+ # Try exact match, or prepended with "refs/heads". Some projects (e.g. binutils)
+ # have refs/original/refs/heads/master as well as refs/heads/master, and
+ # `git ls-remote refs/heads/master` prints both.
+ best=`echo "${matches}" | grep '[[:space:]]\(refs/heads/\)\?'"${devel_branch}\$"`
+ using="best match"
+ else
+ best=`echo "${matches}" | head -n1`
+ using="first"
+ fi
+ ref=`echo "${best}" | sed 's/.*[[:space:]]//'`
+ CT_DoLog WARN "Ambiguous ref ${devel_branch} at ${devel_url}, using ${using} (${ref})"
+ else
+ best="${matches}"
+ fi
+ devel_revision=`echo "${best}" | cut -c1-8`
+ CT_DoLog DEBUG "ref ${devel_branch} at ${devel_url} has cset of ${devel_revision}"
+ fi
+ unique_id="${devel_revision}"
+}
+
+# Retrieve sources from Git.
+CT_Download_git()
+{
+ # Git does not allow making a shallow clone of a specific commit.
+ CT_DoExecLog ALL git clone "${devel_url}" "${pkg_name}"
+ CT_Pushd "${pkg_name}"
+ CT_DoExecLog ALL git checkout "${devel_revision}" --
+ CT_DoExecLog ALL rm -rf .git
+ CT_Popd
+}
+
+# Helper: run another action after setting local variables
+CT_PackageRun()
+{
+ local sym="${1}"
+ local run="${2}"
+ local v
+
+ # Get rid of our arguments
+ shift 2
+
+ # Variables that are per-project
+ for v in use dir_name; do
+ eval "local ${v}=\${CT_${sym}_${v^^}}"
+ done
+
+ # If $use is not set, we only have one fork to handle
+ use="${use:-${sym}}"
+
+ # Variables that are per-fork
+ for v in basename pkg_name version \
+ src_release mirrors archive_filename archive_dirname \
+ src_devel devel_vcs devel_url devel_branch devel_revision devel_subdir devel_bootstrap \
+ src_custom custom_location; do
+ eval "local ${v}=\${CT_${use}_${v^^}}"
+ done
+
+ for v in archive_filename archive_dirname; do
+ # kconfig and shell have different quoting rules, so it seems impossible to make
+ # kconfig quote '$' properly for eval (i.e. not have it expanded when loading the
+ # .config). Therefore, use '@' instead of '$' in kconfig files and substitute it
+ # here for select variables.
+ eval "eval ${v}=\${${v}//@/$}"
+ done
+
+ ${run} "$@"
+
+ # Save certain variables that may be modified by the callback.
+ # Fetching the sources is run in the main process, so no need to
+ # use CT_EnvModify.
+ for v in devel_branch devel_revision basename version; do
+ eval "CT_${use}_${v^^}=\${${v}}"
+ eval "CT_DoLog DEBUG \"Override CT_${use}_${v^^}=\${CT_${use}_${v^^}}\""
+ done
+}
+
+# Closure for fetching the sources
+CT_DoFetch()
+{
+ local tmp_dir
+
+ if [ "${src_release}" = "y" ]; then
+ # Some packages do not contain any directory level at all
+ if [ "${archive_dirname}" != "." ]; then
+ basename="${archive_dirname}"
+ else
+ basename="${pkg_name}-${version}"
+ fi
+ if ! CT_GetFile "${archive_filename}" ${mirrors}; then
+ CT_Abort "${pkg_name}: download failed"
+ fi
+
+ elif [ "${src_devel}" = "y" ]; then
+ local unique_id
+
+ if [ -z "${devel_revision}" -a "${CT_FORBID_DOWNLOAD}" = "y" ]; then
+ CT_Abort "${pkg_name}: cannot find most recent revisions with downloads prohibited"
+ fi
+
+ # Each VCS backend must provide two methods:
+ # - CT_GetVersion_xxx that sets the base name for the package (package name
+ # and some unique identifier for the version)
+ # - CT_Download_xxx that retrieves the sources into the directory named as
+ # ${pkg_name}
+ # Both these methods can also modify devel_branch/devel_revision. Typically,
+ # this would override empty (default) values with "default branch name" and
+ # "most current revision", respectively.
+
+ CT_GetVersion_${devel_vcs}
+ if [ -z "${unique_id}" ]; then
+ CT_Abort "${pkg_name}: ${devel_vcs} did not set unique ID for branch/revision"
+ fi
+ basename="${pkg_name}-${devel_vcs}-${unique_id}"
+ version="${devel_vcs}-${unique_id}"
+
+ # Try getting the tarball with empty list of URLs: it will only
+ # attempt getting it from local storage or from the mirror if configured.
+ if [ "${unique_id}" != "to.be.determined" ] && \
+ CT_GetFile "${basename}" .tar.bz2; then
+ return 0
+ fi
+
+ if [ "${CT_FORBID_DOWNLOAD}" = "y" ]; then
+ CT_DoLog WARN "Downloads forbidden, not trying ${devel_vcs} retrieval"
+ return 1
+ fi
+
+ CT_DoLog EXTRA "Retrieving '${basename}' (${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision})"
+ CT_MktempDir tmp_dir
+ CT_Pushd "${tmp_dir}"
+ CT_Download_${devel_vcs}
+
+ # First setting above may not have determined the version (e.g. with Mercurial)
+ # Set the final, downloaded version.
+ version="${devel_vcs}-${unique_id}"
+ basename="${pkg_name}-${version}"
+
+ CT_DoExecLog ALL mv "${pkg_name}${devel_subdir:+/${devel_subdir}}" "${basename}"
+ CT_DoExecLog ALL tar cjf "${CT_TARBALLS_DIR}/${basename}.tar.bz2" "${basename}"
+ CT_SaveLocal "${CT_TARBALLS_DIR}/${basename}.tar.bz2"
+ CT_Popd
+ CT_DoExecLog ALL rm -rf "${tmp_dir}"
+
+ elif [ "${src_custom}" = "y" ]; then
+ # Will be handled during extraction/patching
+ version="local"
+ basename="${pkg_name}-${version}"
+ :;
+ else
+ CT_Abort "No known source for ${pkg_name}"
+ fi
+}
+
+# Obtain the sources for a component, either from a tarball, version control system
+# or a custom location.
+CT_Fetch()
+{
+ CT_PackageRun "${1}" CT_DoFetch
+}
+
+# Unpack an archive.
+CT_Extract()
+{
+ local file="${1}"
+ local dir="${2}"
+ local components="${3}"
+
+ CT_DoExecLog ALL mkdir -p "${dir}"
+ case "${file}" in
+ *.tar.xz)
+ xz -fdc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
+ ;;
+ *.tar.lzma)
+ xz -fdc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
+ ;;
+ *.tar.bz2)
+ bzip2 -dc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
+ ;;
+ *.tar.gz|*.tgz)
+ gzip -dc "${file}" | CT_DoExecLog FILE tar x -v -f - -C "${dir}" ${components}
+ ;;
+ *.tar)
+ CT_DoExecLog FILE tar x -v -f "${file}" -C "${dir}" ${components}
+ ;;
+ *.zip)
+ CT_Pushd "${dir}"
+ CT_DoExecLog FILE unzip "${file}" ${components}
+ CT_Popd
+ ;;
+ *)
+ CT_Abort "Don't know how to handle ${file}: unknown extension"
+ ;;
+ esac
+}
+
+# Closure for unpacking/patching the sources. There are two source directories:
+# - CT_COMMON_SRC_DIR stores common sources, such as released tarballs (including
+# bundled or local patches, if necessary) or checked out working copies.
+# Custom sources cannot be placed here, as they may have similarly named
+# packages coming from different origins.
+# - CT_SRC_DIR stores per-configuration sources. These are either symlinks back
+# to CT_ORIG_SRC_DIR sources, or a copy from the custom source, or a copy
+# from CT_ORIG_SRC_DIR + target-specific overrides.
+CT_DoExtractPatch()
+{
+ local patchfunc="${1}"
+ local archive ext
+ local -a patch_dirs
+ local bundled_patch_dir
+ local local_patch_dir
+
+ if [ "${src_custom}" != "y" ]; then
+ # Non-custom: extract to shared location
+ # If the previous extraction/patching was aborted, clean up.
+ if [ -r "${CT_COMMON_SRC_DIR}/.${basename}.extracting" -o \
+ -r "${CT_COMMON_SRC_DIR}/.${basename}.patching" ]; then
+ CT_DoLog WARN "Sources for ${basename} were partially extracted/patched, cleaning up"
+ CT_DoExecLog ALL rm -rf "${CT_COMMON_SRC_DIR}/${basename}"
+ CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}".*
+ fi
+
+ if [ -f "${CT_COMMON_SRC_DIR}/.${basename}.extracted" ]; then
+ CT_DoLog DEBUG "Already extracted ${basename}"
+ else
+ CT_DoLog EXTRA "Extracting ${basename}"
+ CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
+ if [ "${src_release}" = "y" ]; then
+ archive="${archive_filename}"
+ else
+ archive="${basename}"
+ fi
+ # TBD save/discover the extension while fetching
+ ext=`CT_GetFileExtension "${CT_TARBALLS_DIR}/${archive}"`
+ if [ "${archive_dirname}" = "." ]; then
+ CT_mkdir_pushd "${CT_COMMON_SRC_DIR}/${basename}"
+ CT_Extract "${CT_TARBALLS_DIR}/${archive}${ext}" "${CT_COMMON_SRC_DIR}/${basename}"
+ CT_Popd
+ else
+ CT_Extract "${CT_TARBALLS_DIR}/${archive}${ext}" "${CT_COMMON_SRC_DIR}"
+ fi
+ CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.extracted"
+ CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}.extracting"
+ fi
+
+ if [ -f "${CT_COMMON_SRC_DIR}/.${basename}.patched" ]; then
+ CT_DoLog DEBUG "Already patched ${basename}"
+ else
+ CT_DoLog EXTRA "Patching ${basename}"
+ CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.patching"
+
+ bundled_patch_dir="${CT_LIB_DIR}/packages/${pkg_name}/${version}"
+ local_patch_dir="${CT_LOCAL_PATCH_DIR}/${pkg_name}/${version}"
+
+ case "${CT_PATCH_ORDER}" in
+ bundled) patch_dirs=("${bundled_patch_dir}");;
+ local) patch_dirs=("${local_patch_dir}");;
+ bundled,local) patch_dirs=("${bundled_patch_dir}" "${local_patch_dir}");;
+ local,bundled) patch_dirs=("${local_patch_dir}" "${bundled_patch_dir}");;
+ none) patch_dirs=;;
+ esac
+
+ CT_Pushd "${CT_COMMON_SRC_DIR}/${basename}"
+ for d in "${patch_dirs[@]}"; do
+ CT_DoLog DEBUG "Looking for patches in '${d}'..."
+ if [ -n "${d}" -a -d "${d}" ]; then
+ for p in "${d}"/*.patch; do
+ if [ -f "${p}" ]; then
+ CT_DoExecLog ALL ${patch} --no-backup-if-mismatch -g0 -F1 -p1 -f -i "${p}"
+ fi
+ done
+ fi
+ done
+
+ # TBD create meta-package for config.sub/config.guess with replacement script
+ if [ "${CT_OVERRIDE_CONFIG_GUESS_SUB}" = "y" ]; then
+ CT_DoLog ALL "Overiding config.guess and config.sub"
+ for cfg in config.guess config.sub; do
+ # Can't use CT_DoExecLog because of the '{} \;' to be passed un-mangled to find
+ find . -type f -name "${cfg}" \
+ -exec chmod -v u+w {} \; \
+ -exec cp -v "${CT_TOP_DIR}/scripts/${cfg}" {} \; |CT_DoLog ALL
+ done
+ fi
+
+ # FIXME: This currently means we end up using host's autotools,
+ # but changing this requires reworking the order of operations in crosstool-NG:
+ # we'd need to defer the download/extraction/patching of a package until after
+ # the companion tools are built.
+ if [ -n "${devel_bootstrap}" ]; then
+ CT_DoExecLog ALL "${CT_CONFIG_SHELL}" -c "${devel_bootstrap}"
+ fi
+
+ if [ -n "${patchfunc}" ]; then
+ ${patchfunc}
+ fi
+
+ CT_Popd
+
+ CT_DoExecLog ALL touch "${CT_COMMON_SRC_DIR}/.${basename}.patched"
+ CT_DoExecLog ALL rm -f "${CT_COMMON_SRC_DIR}/.${basename}.patching"
+ fi
+ else
+ CT_DoLog WARN "${pkg_name}: using custom location, no patches applied"
+ fi
+
+ # Symlink/copy/overlay into per-target source directory
+ if [ "${src_custom}" = "y" ]; then
+ # Custom sources: unpack or copy into per-target directory
+ if [ "${CT_TARGET_USE_OVERLAY}" ]; then
+ CT_DoLog WARN "${pkg_name}: using custom location, no overlays applied"
+ fi
+ if [ -d "${custom_location}" ]; then
+ CT_DoExecLog ALL cp -av "${custom_location}" "${CT_SRC_DIR}/${dir_name}"
+ elif [ -f "${custom_location}" ]; then
+ # Assume "foo.tar.gz" (or likes) contain the "foo" directory
+ local bn
+
+ CT_Extract "${custom_location}" "${CT_SRC_DIR}"
+ bn=`CT_GetFileBasename "${custom_location##*/}"`
+ CT_TestOrAbort "Unknown file extension: ${custom_location}" -n "${bn}"
+ CT_DoExecLog ALL mv -v "${CT_SRC_DIR}/${bn%${ext}}" "${CT_SRC_DIR}/${dir_name}"
+ else
+ CT_Abort "Neither file nor directory: ${custom_location}"
+ fi
+ elif [ "${CT_TARGET_USE_OVERLAY}" = "y" ]; then
+ # Possibly has overlays; check and if it has, copy from common source and apply
+ # overlays.
+ local overlay
+
+ if [ ! -d "${CT_BUILD_DIR}/overlay" ]; then
+ CT_DoLog ALL mkdir -p "${CT_BUILD_DIR}/overlay"
+ overlay="${CT_OVERLAY_LOCATION}/${CT_ARCH}_${CT_OVERLAY_NAME:-overlay}"
+ ext=`CT_GetFileExtension "${overlay}"`
+ if [ ! -r "${overlay}${ext}" ]; then
+ CT_Abort "Overlay ${overlay} not found"
+ fi
+ CT_Extract "${overlay}${ext}" "${CT_BUILD_DIR}/overlay"
+ fi
+
+ if [ -d "${CT_BUILD_DIR}/overlay/${dir_name}" ]; then
+ CT_DoExecLog ALL cp -a "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${dir_name}"
+ tar cf - -C "${CT_BUILD_DIR}/overlay" "${dir_name}" | \
+ CT_DoExecLog FILE tar xvf - -C "${CT_SRC_DIR}"
+ else
+ # No overlay for this component, just symlink
+ CT_DoExecLog ALL ln -s "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${dir_name}"
+ fi
+ else
+ # Common source, just symlink
+ CT_DoExecLog ALL ln -s "${CT_COMMON_SRC_DIR}/${basename}" "${CT_SRC_DIR}/${dir_name}"
+ fi
+}
+
+# Extract/copy the sources to the shared source directory, then either symlink
+# or copy the sources into a private source directory and apply target-specific
+# changes (such as xtensa overrides).
+CT_ExtractPatch()
+{
+ local pkg="${1}"
+
+ shift
+ CT_PackageRun "${pkg}" CT_DoExtractPatch "$@"
+}
diff --git a/scripts/saveSample.sh.in b/scripts/saveSample.sh.in
index d9d999c..2c666db 100644
--- a/scripts/saveSample.sh.in
+++ b/scripts/saveSample.sh.in
@@ -72,8 +72,8 @@ fi
# Save the uClibc .config file
if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
# We save the file, and then point the saved sample to this file
- CT_DoAddFileToSample "${CT_LIBC_UCLIBC_CONFIG_FILE}" "${samp_dir}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
- "${sed}" -r -i -e 's|^(CT_LIBC_UCLIBC_CONFIG_FILE)=.+$|\1="'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"|;' \
+ CT_DoAddFileToSample "${CT_LIBC_UCLIBC_CONFIG_FILE}" "${samp_dir}/${CT_LIBC}-${CT_UCLIBC_NG_VERSION}.config"
+ "${sed}" -r -i -e 's|^(CT_LIBC_UCLIBC_CONFIG_FILE)=.+$|\1="'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_LIBC}-${CT_UCLIBC_NG_VERSION}.config"|;' \
.defconfig
else
# remove any dangling files
diff --git a/scripts/showSamples.sh b/scripts/showSamples.sh
index 1e5d50b..726ea2e 100644
--- a/scripts/showSamples.sh
+++ b/scripts/showSamples.sh
@@ -11,6 +11,9 @@
# GREP_OPTIONS screws things up.
export GREP_OPTIONS=
+# Dummy version which is invoked from .config
+CT_Mirrors() { :; }
+
# Dump a single sample
# Note: we use the specific .config.sample config file
dump_single_sample() {
@@ -23,13 +26,26 @@ dump_single_sample() {
. $(pwd)/.config.sample
# libc needs some love
+ # TBD after conversion of gen-kconfig to template, use CT_LIBC_USE as a selector for other variables
+ # (i.e. whether to use CT_GLIBC_VERSION or CT_MUSL_VERSION)
local libc_name="${CT_LIBC}"
- local libc_ver="${CT_LIBC_VERSION}"
- if [ "${CT_LIBC}" = "uClibc" -a "${CT_LIBC_UCLIBC_NG}" = "y" ]; then
- libc_name="uClibc-ng"
- elif [ "${CT_LIBC}" = "mingw" ]; then
- libc_ver="${CT_WINAPI_VERSION}"
- fi
+ local libc_ver ksym
+
+ ksym=${libc_name//[^0-9A-Za-z_]/_}
+ ksym=${ksym^^}
+ case ${ksym} in
+ GLIBC|NEWLIB)
+ if eval "[ \"\${CT_${ksym}_USE_LINARO}\" = y ]"; then
+ ksym="${ksym}_LINARO"
+ fi
+ ;;
+ UCLIBC)
+ if [ "${UCLIBC_NG_USE_UCLIBC_NG_ORG}" = y ]; then
+ ksym="${ksym}_NG"
+ fi
+ ;;
+ esac
+ eval "libc_ver=\"\${CT_${ksym}_VERSION}\""
case "${sample}" in
current)
@@ -63,7 +79,8 @@ dump_single_sample() {
printf " %-*s : %s\n" ${width} "Host" "${CT_HOST}"
;;
esac
- printf " %-*s : %s\n" ${width} "OS" "${CT_KERNEL}${CT_KERNEL_VERSION:+-}${CT_KERNEL_VERSION}"
+ # TBD currently only Linux is used. General handling for single-select (compiler/binutils/libc/os) and multi-select (debug/companions) components?
+ printf " %-*s : %s\n" ${width} "OS" "${CT_KERNEL}${CT_LINUX_VERSION:+-}${CT_LINUX_VERSION}"
if [ -n "${CT_GMP}" \
-o -n "${CT_MPFR}" \
-o -n "${CT_ISL}" \
@@ -139,7 +156,7 @@ dump_single_sample() {
if [ "${CT_KERNEL_LINUX_HEADERS_USE_CUSTOM_DIR}" = "y" ]; then
printf " //custom// "
else
- printf " ${CT_KERNEL_VERSION} "
+ printf " ${CT_LINUX_VERSION} "
fi
fi
printf "| ${CT_BINUTILS_VERSION} "
diff --git a/scripts/upgrade.sed b/scripts/upgrade.sed
new file mode 100644
index 0000000..995b804
--- /dev/null
+++ b/scripts/upgrade.sed
@@ -0,0 +1,25 @@
+# After 1.23.0, generated config options were standardized to upper case
+s/\<CT_ARCH_(alpha|arm|avr|m68k|microblaze|mips|msp430|nios2|powerpc|s390|sh|sparc|x86|xtensa)\>/CT_ARCH_\U\1/g
+s/\<CT_BINUTILS_binutils\>/CT_BINUTILS_BINUTILS/g
+s/\<CT_CC_gcc\>/CT_CC_GCC/g
+s/\<CT_COMP_TOOLS_(autoconf|automake|libtool|m4|make)\>/CT_COMP_TOOLS_\U\1/g
+s/\<CT_DEBUG_(duma|gdb|ltrace|strace)\>/CT_DEBUG_\U\1/g
+s/\<CT_KERNEL_(bare_metal|linux|windows)\>/CT_KERNEL_\U\1/g
+s/\<CT_LIBC_(avr_libc|bionic|glibc|mingw|musl|newlib|none|uClibc)\>/CT_LIBC_\U\1/g
+
+# Also after 1.23.0, package versions were brought to the same format
+s/\<CT_LIBC_BIONIC_V_([0-9a-z]+)\>/CT_ANDROID_NDK_V_R\U\1/g
+s/\<CT_ANDROID_NDK_V_R15BETA1\>/CT_ANDROID_NDK_V_R15B/g
+s/\<CT_LIBC_AVR_LIBC_V_/CT_AVR_LIBC_V_/g
+s/\<CT_CC_GCC_V_/CT_GCC_V_/g
+s/\<CT_LIBC_GLIBC_V_/CT_GLIBC_V_/g
+s/\<CT_KERNEL_V_/CT_LINUX_V_/g
+s/\<CT_WINAPI_V_/CT_MINGW_W64_V_V/g
+s/\<CT_LIBC_MUSL_V_/CT_MUSL_V_/g
+s/\<CT_LIBC_NEWLIB_V_/CT_NEWLIB_V_/g
+s/\<CT_LIBC_UCLIBC_NG_V_/CT_UCLIBC_NG_V_/g
+
+# Special cases that need manual intervention (require setting of supporting options)
+s/\<CT_LIBC_UCLIBC_V_.*/# [&] not handled by upgrade script, use menuconfig./w/dev/stderr
+s/\<CT_[A-Za-z0-9_]*_SHOW_LINARO.*/# [&] not handled by upgrade script, use menuconfig./w/dev/stderr
+s/\<CT_[A-Za-z0-9_]*_CUSTOM_LOCATION.*/# [&] not handled by upgrade script, use menuconfig./w/dev/stderr