summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-devtools')
-rw-r--r--poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb4
-rw-r--r--poky/meta/recipes-devtools/apt/apt.inc3
-rw-r--r--poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch27
-rw-r--r--poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch80
-rw-r--r--poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch46
-rw-r--r--poky/meta/recipes-devtools/apt/apt/gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch33
-rw-r--r--poky/meta/recipes-devtools/apt/files/apt.conf2
-rw-r--r--poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb2
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.32.inc59
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.34.inc47
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.34.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.34.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross_2.34.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.34.bb (renamed from poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils.inc44
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch29
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch12
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch95
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch47
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch41
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch41
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0005-Point-scripts-location-to-libdir.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch)15
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch37
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch)4682
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch)13
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch)62
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch)7
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch)27
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch)129
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch)13
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch)9
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch53
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch (renamed from poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch)7
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0016-Check-for-clang-before-checking-gcc-version.patch48
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0017-binutils-drop-redundant-program_name-definition-fno-.patch61
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch51
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch33
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch28
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17450.patch99
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17451.patch51
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch165
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch68
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch119
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch49
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch37
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2020-0551.patch549
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.34.bb (renamed from poky/meta/recipes-devtools/binutils/binutils_2.32.bb)12
-rw-r--r--poky/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch63
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.5.4.bb (renamed from poky/meta/recipes-devtools/bison/bison_3.4.2.bb)9
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.3.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/build-compare/build-compare_git.bb8
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch37
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb7
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb7
-rw-r--r--poky/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb8
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb (renamed from poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch2
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch12
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.16.5.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb (renamed from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/diffstat/diffstat/0001-aclocal.m4-add-missing-header-defines.patch24
-rw-r--r--poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb (renamed from poky/meta/recipes-devtools/diffstat/diffstat_1.62.bb)7
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch29
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch24
-rw-r--r--poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb (renamed from poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb)6
-rw-r--r--poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb3
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch39
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb1
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc2
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-configure.ac-correct-AM_GNU_GETTEXT.patch26
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-intl-do-not-try-to-use-gettext-defines-that-no-longe.patch27
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-create_inode.c-set-dir-s-mode-correctly.patch41
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch7
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch13
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb (renamed from poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb)20
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb (renamed from poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb)36
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch12
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch8
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch (renamed from poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch)55
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch (renamed from poky/meta/recipes-devtools/elfutils/files/musl-libs.patch)7
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch (renamed from poky/meta/recipes-devtools/elfutils/files/musl-utils.patch)19
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch (renamed from poky/meta/recipes-devtools/elfutils/files/musl-tests.patch)20
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch42
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff51
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff85
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch22
-rw-r--r--poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch27
-rw-r--r--poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.5.bb (renamed from poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb)8
-rw-r--r--poky/meta/recipes-devtools/file/file/CVE-2019-18218.patch55
-rw-r--r--poky/meta/recipes-devtools/file/file_5.38.bb (renamed from poky/meta/recipes-devtools/file/file_5.37.bb)18
-rw-r--r--poky/meta/recipes-devtools/flex/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch32
-rw-r--r--poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch64
-rw-r--r--poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch59
-rw-r--r--poky/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch17
-rwxr-xr-xpoky/meta/recipes-devtools/flex/flex/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/flex/flex_2.6.4.bb (renamed from poky/meta/recipes-devtools/flex/flex_2.6.0.bb)17
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1.inc (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2.inc)59
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch)15
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0002-gcc-poison-system-directories.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch)47
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0004-64-bit-multilib-hack.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch)15
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0005-optional-libstdc.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch)29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0006-COLLECT_GCC_OPTIONS.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch)20
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0008-fortran-cross-compile-hack.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch)15
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0009-cpp-honor-sysroot.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch)13
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0010-MIPS64-Default-to-N64-ABI.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch)28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0012-gcc-Fix-argument-list-too-long-error.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0013-Disable-sdt.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch)23
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0014-libtool.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch)25
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0018-export-CPP.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0019-Ensure-target-gcc-headers-can-be-included.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch)16
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0022-aarch64-Add-support-for-musl-ldso.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0024-handle-sysroot-support-for-nativesdk-gcc.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch)171
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch)13
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0026-Fix-various-_FOR_BUILD-and-related-variables.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch)27
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch)15
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0030-sync-gcc-stddef.h-with-musl.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0031-fix-segmentation-fault-in-precompiled-header-generat.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0032-Fix-for-testsuite-failure.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch)9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0033-Re-introduce-spe-commandline-options.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch)11
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch (renamed from poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch)29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch182
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0036-Enable-CET-in-cross-compiler-if-possible.patch150
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0037-mingw32-Enable-operation_not_supported.patch26
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch79
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch44
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch521
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch77
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch62
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-common.inc1
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-configure-common.inc6
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc10
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross.inc108
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-target.inc33
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/gcc_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc.inc8
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_10.1.bb (renamed from poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc21
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-9.1.inc21
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-cross_9.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch26
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch)9
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch)9
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch)7
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch)41
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch)13
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch)9
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch)11
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch)13
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch)17
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch (renamed from poky/meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch)23
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch39
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb_9.1.bb (renamed from poky/meta/recipes-devtools/gdb/gdb_8.3.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/git/git.inc2
-rw-r--r--poky/meta/recipes-devtools/git/git_2.24.0.bb11
-rw-r--r--poky/meta/recipes-devtools/git/git_2.26.2.bb10
-rw-r--r--poky/meta/recipes-devtools/glide/glide_0.13.3.bb (renamed from poky/meta/recipes-devtools/glide/glide_0.13.2.bb)6
-rw-r--r--poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb4
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch31
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0001-release-branch.go1.12-security-net-textproto-don-t-n.patch163
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch218
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch48
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch45
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch282
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch106
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.13/0009-ld-replace-glibc-dynamic-linker-with-musl.patch134
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14.inc (renamed from poky/meta/recipes-devtools/go/go-1.12.inc)8
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0001-allow-CC-and-CXX-to-have-multiple-words.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0001-allow-CC-and-CXX-to-have-multiple-words.patch)7
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch)33
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch)11
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0004-ld-add-soname-to-shareable-objects.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0004-ld-add-soname-to-shareable-objects.patch)11
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch)9
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0006-cmd-dist-separate-host-and-target-builds.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch)37
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0007-cmd-go-make-GOROOT-precious-by-default.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0007-cmd-go-make-GOROOT-precious-by-default.patch)23
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0008-use-GOBUILDMODE-to-set-buildmode.patch (renamed from poky/meta/recipes-devtools/go/go-1.13/0008-use-GOBUILDMODE-to-set-buildmode.patch)9
-rw-r--r--poky/meta/recipes-devtools/go/go-1.14/0009-ld-replace-glibc-dynamic-linker-with-musl.patch (renamed from poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch)25
-rw-r--r--poky/meta/recipes-devtools/go/go-common.inc10
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian.inc8
-rw-r--r--poky/meta/recipes-devtools/go/go-cross-canadian_1.14.bb (renamed from poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-cross.inc13
-rw-r--r--poky/meta/recipes-devtools/go/go-cross_1.14.bb (renamed from poky/meta/recipes-devtools/go/go-cross_1.12.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk.inc11
-rw-r--r--poky/meta/recipes-devtools/go/go-crosssdk_1.14.bb (renamed from poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch33
-rw-r--r--poky/meta/recipes-devtools/go/go-dep_0.5.4.bb5
-rw-r--r--poky/meta/recipes-devtools/go/go-native_1.14.bb (renamed from poky/meta/recipes-devtools/go/go-native_1.12.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime.inc15
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime_1.14.bb (renamed from poky/meta/recipes-devtools/go/go-runtime_1.12.bb)0
-rw-r--r--poky/meta/recipes-devtools/go/go-target.inc13
-rw-r--r--poky/meta/recipes-devtools/go/go_1.14.bb (renamed from poky/meta/recipes-devtools/go/go_1.12.bb)8
-rw-r--r--poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb31
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch9
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch41
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps/0001-Make-__comps_objmrtree_all-static-inline.patch35
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch27
-rw-r--r--poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb (renamed from poky/meta/recipes-devtools/libcomps/libcomps_git.bb)6
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch12
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch42
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch36
-rw-r--r--poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb (renamed from poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb)12
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb (renamed from poky/meta/recipes-devtools/libedit/libedit_20191025-3.1.bb)10
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch22
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch28
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch23
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb (renamed from poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb)12
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb (renamed from poky/meta/recipes-devtools/librepo/librepo_1.11.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm_git.bb9
-rw-r--r--poky/meta/recipes-devtools/make/make.inc4
-rw-r--r--poky/meta/recipes-devtools/make/make/0001-glob-Do-not-assume-glibc-glob-internals.patch70
-rw-r--r--poky/meta/recipes-devtools/make/make/0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch38
-rw-r--r--poky/meta/recipes-devtools/make/make/0001-makeinst-Do-not-undef-POSIX-on-clang-arm.patch38
-rw-r--r--poky/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch41
-rw-r--r--poky/meta/recipes-devtools/make/make/0002-glob-Do-not-assume-glibc-glob-internals.patch38
-rw-r--r--poky/meta/recipes-devtools/make/make/0002-modules-fcntl-allow-being-detected-by-importing-proj.patch33
-rw-r--r--poky/meta/recipes-devtools/make/make/0002-w32-compat-dirent.c-follow-header.patch36
-rw-r--r--poky/meta/recipes-devtools/make/make/0003-posixfcn-fcntl-gnulib-make-emulated.patch79
-rw-r--r--poky/meta/recipes-devtools/make/make_4.2.1.bb12
-rw-r--r--poky/meta/recipes-devtools/make/make_4.3.bb18
-rw-r--r--poky/meta/recipes-devtools/meson/meson.inc1
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch10
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch4
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch30
-rw-r--r--poky/meta/recipes-devtools/mmc/mmc-utils_git.bb2
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch6
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb (renamed from poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb)4
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0001-stdlib-Add-strlcat.patch117
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/0002-Add-debug-prefix-map-option.patch325
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/CVE-2019-14248.patch43
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb3
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch46
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja_1.10.0.bb (renamed from poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb)6
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch113
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch44
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch32
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/pipefail.patch31
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb (renamed from poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb)23
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb5
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/open_inner.patch46
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/opkg_archive.patch54
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb (renamed from poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb)18
-rw-r--r--poky/meta/recipes-devtools/orc/orc_0.4.31.bb (renamed from poky/meta/recipes-devtools/orc/orc_0.4.29.bb)10
-rw-r--r--poky/meta/recipes-devtools/patch/patch_2.7.6.bb3
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb7
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch24
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch30
-rw-r--r--poky/meta/recipes-devtools/perl/files/determinism.patch68
-rw-r--r--poky/meta/recipes-devtools/perl/files/encodefix.patch20
-rw-r--r--poky/meta/recipes-devtools/perl/files/fix-setgroup.patch49
-rw-r--r--poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch4
-rw-r--r--poky/meta/recipes-devtools/perl/files/perl-rdepends.txt1
-rw-r--r--poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb (renamed from poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb)6
-rw-r--r--poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb (renamed from poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb)30
-rw-r--r--poky/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb (renamed from poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb)11
-rw-r--r--poky/meta/recipes-devtools/perl/perl-ptest.inc3
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.30.2.bb (renamed from poky/meta/recipes-devtools/perl/perl_5.30.0.bb)88
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb1
-rw-r--r--poky/meta/recipes-devtools/prelink/prelink/0001-Add-MIPS-gnu-hash-support.patch110
-rw-r--r--poky/meta/recipes-devtools/prelink/prelink/0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch51
-rw-r--r--poky/meta/recipes-devtools/prelink/prelink_git.bb6
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch49
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch31
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch57
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch48
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/seccomp.patch137
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo.inc2
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo_git.bb5
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch555
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch24
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch32
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python-numpy.inc10
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.3.bb (renamed from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch248
-rw-r--r--poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch6
-rw-r--r--poky/meta/recipes-devtools/python/python-cython.inc41
-rw-r--r--poky/meta/recipes-devtools/python/python-gitdb.inc5
-rw-r--r--poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch40
-rw-r--r--poky/meta/recipes-devtools/python/python-native/10-distutils-fix-swig-parameter.patch18
-rw-r--r--poky/meta/recipes-devtools/python/python-native/11-distutils-never-modify-shebang-line.patch20
-rw-r--r--poky/meta/recipes-devtools/python/python-native/multilib.patch235
-rw-r--r--poky/meta/recipes-devtools/python/python-native/nohostlibs.patch54
-rw-r--r--poky/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch86
-rw-r--r--poky/meta/recipes-devtools/python/python-native/unixccompiler.patch20
-rw-r--r--poky/meta/recipes-devtools/python/python-native_2.7.17.bb88
-rw-r--r--poky/meta/recipes-devtools/python/python-pbr.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python-pycryptodome.inc26
-rw-r--r--poky/meta/recipes-devtools/python/python-pyparsing.inc22
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools.inc9
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools_41.4.0.bb9
-rw-r--r--poky/meta/recipes-devtools/python/python-six.inc5
-rw-r--r--poky/meta/recipes-devtools/python/python.inc46
-rw-r--r--poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch51
-rw-r--r--poky/meta/recipes-devtools/python/python/0001-python-Resolve-intermediate-staging-issues.patch59
-rw-r--r--poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch114
-rw-r--r--poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch100
-rw-r--r--poky/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch46
-rw-r--r--poky/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch27
-rw-r--r--poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python/add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python/add-md5module-support.patch18
-rw-r--r--poky/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch29
-rw-r--r--poky/meta/recipes-devtools/python/python/avoid_warning_for_sunos_specific_module.patch23
-rw-r--r--poky/meta/recipes-devtools/python/python/cgi_py.patch23
-rw-r--r--poky/meta/recipes-devtools/python/python/check-if-target-is-64b-not-host.patch57
-rw-r--r--poky/meta/recipes-devtools/python/python/create_manifest2.py298
-rw-r--r--poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch77
-rw-r--r--poky/meta/recipes-devtools/python/python/float-endian.patch216
-rw-r--r--poky/meta/recipes-devtools/python/python/get_module_deps2.py112
-rw-r--r--poky/meta/recipes-devtools/python/python/host_include_contamination.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python/multilib.patch298
-rw-r--r--poky/meta/recipes-devtools/python/python/parallel-makeinst-create-bindir.patch19
-rw-r--r--poky/meta/recipes-devtools/python/python/pass-missing-libraries-to-Extension-for-mul.patch82
-rw-r--r--poky/meta/recipes-devtools/python/python/python-2.7.3-remove-bsdb-rpath.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python/python2-manifest.json1138
-rw-r--r--poky/meta/recipes-devtools/python/python/run-ptest3
-rw-r--r--poky/meta/recipes-devtools/python/python/search_db_h_in_inc_dirs_and_avoid_warning.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch27
-rw-r--r--poky/meta/recipes-devtools/python/python/setuptweaks.patch57
-rw-r--r--poky/meta/recipes-devtools/python/python/sitecustomize.py37
-rw-r--r--poky/meta/recipes-devtools/python/python/support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch34
-rw-r--r--poky/meta/recipes-devtools/python/python/use_sysroot_ncurses_instead_of_host.patch21
-rw-r--r--poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb18
-rw-r--r--poky/meta/recipes-devtools/python/python3-dbus_1.2.16.bb (renamed from poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3-dbusmock_0.19.bb16
-rw-r--r--poky/meta/recipes-devtools/python/python3-docutils_0.16.bb (renamed from poky/meta/recipes-devtools/python/python3-docutils_0.15.bb)6
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.1.2.bb (renamed from poky/meta/recipes-devtools/python/python3-git_3.0.2.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb (renamed from poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb)1
-rw-r--r--poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb17
-rw-r--r--poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb19
-rw-r--r--poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb (renamed from poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb)6
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr/0001-change-shebang-to-python3.patch42
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch60
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb (renamed from poky/meta/recipes-devtools/python/python3-pip_19.3.1.bb)6
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb)6
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.7.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.7.bb9
-rw-r--r--poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb14
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb (renamed from poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb)4
-rw-r--r--poky/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb3
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb (renamed from poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb29
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb33
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch36
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_45.2.0.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_41.4.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-six_1.13.0.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3-six_1.14.0.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch23
-rw-r--r--poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch14
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch156
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch29
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch58
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch22
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch8
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch47
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch43
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch37
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch (renamed from poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch)41
-rw-r--r--poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch199
-rw-r--r--poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch11
-rw-r--r--poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch48
-rw-r--r--poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch10
-rw-r--r--poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch33
-rw-r--r--poky/meta/recipes-devtools/python/python3/python-config.patch24
-rw-r--r--poky/meta/recipes-devtools/python/python3/python3-manifest.json107
-rw-r--r--poky/meta/recipes-devtools/python/python3/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.8.2.bb (renamed from poky/meta/recipes-devtools/python/python3_3.7.5.bb)58
-rw-r--r--poky/meta/recipes-devtools/python/python_2.7.17.bb267
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb7
-rwxr-xr-xpoky/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper25
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native.inc4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_4.2.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-targets.inc2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc29
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch29
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch31
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch16
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch14
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch12
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch18
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch14
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch54
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch (renamed from poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch)0
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch (renamed from poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch)0
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12068.patch108
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11102.patch148
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11869.patch97
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-1711.patch64
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-1.patch44
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-2.patch59
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-3.patch64
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7211.patch46
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb)5
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch28
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch14
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch81
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch84
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch60
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch58
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch65
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch29
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch127
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch207
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch336
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb (renamed from poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb)21
-rw-r--r--poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb3
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby.inc4
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch38
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch8
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch103
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch26
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb (renamed from poky/meta/recipes-devtools/ruby/ruby_2.6.5.bb)21
-rw-r--r--poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service2
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch45
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb4
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch2
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-strace-fix-reproducibilty-issues.patch39
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch32
-rw-r--r--poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch10
-rw-r--r--poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch4
-rw-r--r--poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch2
-rw-r--r--poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch45
-rw-r--r--poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch17
-rwxr-xr-xpoky/meta/recipes-devtools/strace/strace/run-ptest7
-rw-r--r--poky/meta/recipes-devtools/strace/strace/sys_headers.patch25
-rw-r--r--poky/meta/recipes-devtools/strace/strace/uintptr_t.patch12
-rw-r--r--poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch2
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.5.bb (renamed from poky/meta/recipes-devtools/strace/strace_5.3.bb)10
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb (renamed from poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb)6
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch97
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb1
-rw-r--r--poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-architecture-Recognise-RISCV-32-RISCV-64.patch45
-rw-r--r--poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/mips64.patch35
-rw-r--r--poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb2
-rw-r--r--poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb3
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch44
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch5
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch15
-rw-r--r--poky/meta/recipes-devtools/tcltk/tcl_8.6.10.bb (renamed from poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb)10
-rw-r--r--poky/meta/recipes-devtools/unifdef/unifdef_2.12.bb (renamed from poky/meta/recipes-devtools/unifdef/unifdef_2.11.bb)9
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.46.6.bb (renamed from poky/meta/recipes-devtools/vala/vala_0.46.4.bb)4
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch144
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch98
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch34
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch87
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch32
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch32
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch641
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch19
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb32
-rw-r--r--poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb2
489 files changed, 10538 insertions, 13633 deletions
diff --git a/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb b/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
index 5b16b503d..2952c2101 100644
--- a/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
+++ b/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
@@ -2,6 +2,4 @@ require apt-native.inc
SRC_URI += "file://noconfigure.patch \
file://no-curl.patch \
- file://gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch \
- file://gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch \
- file://gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch"
+"
diff --git a/poky/meta/recipes-devtools/apt/apt.inc b/poky/meta/recipes-devtools/apt/apt.inc
index 50c4d8484..87d533782 100644
--- a/poky/meta/recipes-devtools/apt/apt.inc
+++ b/poky/meta/recipes-devtools/apt/apt.inc
@@ -17,6 +17,7 @@ SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/${BPN}/${P
file://0001-environment.mak-musl-based-systems-can-generate-shar.patch \
file://0001-apt-1.2.12-Fix-musl-build.patch \
file://0001-Include-array.h-for-std-array.patch \
+ file://0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch \
"
SRC_URI[md5sum] = "d30eed9304e82ea8238c854b5c5a34d9"
SRC_URI[sha256sum] = "03ded4f5e9b8d43ecec083704b2dcabf20c182ed382db9ac7251da0b0b038059"
@@ -26,7 +27,7 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# so we check the latest upstream from a directory that does get updated
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
-inherit autotools gettext useradd
+inherit autotools gettext useradd upstream-version-is-even
EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch b/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch
new file mode 100644
index 000000000..ce5c00508
--- /dev/null
+++ b/poky/meta/recipes-devtools/apt/apt/0001-The-C.UTF-8-locale-is-not-portable-use-std-locale-cl.patch
@@ -0,0 +1,27 @@
+From 7e8839731ae3fdf7502b91643aa6b252f6c5eaa6 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Thu, 14 May 2020 00:08:21 +0300
+Subject: The C.UTF-8 locale is not portable, use std::locale::classic()
+
+Upstream-Status: Inappropriate [Similar fix already in apt >= 1.3]
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+---
+ ftparchive/writer.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
+index 25963820a..6ad571d2a 100644
+--- a/ftparchive/writer.cc
++++ b/ftparchive/writer.cc
+@@ -984,7 +984,7 @@ ReleaseWriter::ReleaseWriter(FileFd * const GivenOutput, string const &/*DB*/) :
+ AddPatterns(_config->FindVector("APT::FTPArchive::Release::Patterns"));
+
+ time_t const now = time(NULL);
+- auto const posix = std::locale("C.UTF-8");
++ auto const posix = std::locale::classic();
+
+ // FIXME: use TimeRFC1123 here? But that uses GMT to satisfy HTTP/1.1
+ std::ostringstream datestr;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch b/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch
deleted file mode 100644
index 438de209a..000000000
--- a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-avoid-changing-the-global-LC_TIME-for-Release.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 7ef2b2dba0e0bee450da3c8450ea782a3e7d6429 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Tue, 22 Aug 2017 11:49:01 -0500
-Subject: [PATCH 3/3] Revert "avoid changing the global LC_TIME for Release
- writing"
-
-This reverts commit 78e7b683c645e907db12658405a4b201a6243ea8.
-
-After we drop debian8 and centos7 that has gcc < 5 (std::put_time not available)
-versions this patch can be remove.
-
-Signed-off-by: Anibal Limon <limon.anibal@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- ftparchive/writer.cc | 29 +++++++++++++++++------------
- 1 file changed, 17 insertions(+), 12 deletions(-)
-
-diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
-index 2596382..e43a643 100644
---- a/ftparchive/writer.cc
-+++ b/ftparchive/writer.cc
-@@ -37,7 +37,6 @@
- #include <unistd.h>
- #include <ctime>
- #include <iostream>
--#include <iomanip>
- #include <sstream>
- #include <memory>
- #include <utility>
-@@ -984,29 +983,35 @@ ReleaseWriter::ReleaseWriter(FileFd * const GivenOutput, string const &/*DB*/) :
- AddPatterns(_config->FindVector("APT::FTPArchive::Release::Patterns"));
-
- time_t const now = time(NULL);
-- auto const posix = std::locale("C.UTF-8");
-
-- // FIXME: use TimeRFC1123 here? But that uses GMT to satisfy HTTP/1.1
-- std::ostringstream datestr;
-- datestr.imbue(posix);
-- datestr << std::put_time(gmtime(&now), "%a, %d %b %Y %H:%M:%S UTC");
-+ setlocale(LC_TIME, "C");
-+
-+ char datestr[128];
-+ if (strftime(datestr, sizeof(datestr), "%a, %d %b %Y %H:%M:%S UTC",
-+ gmtime(&now)) == 0)
-+ {
-+ datestr[0] = '\0';
-+ }
-
- time_t const validuntil = now + _config->FindI("APT::FTPArchive::Release::ValidTime", 0);
-- std::ostringstream validstr;
-- if (validuntil != now)
-+ char validstr[128];
-+ if (now == validuntil ||
-+ strftime(validstr, sizeof(validstr), "%a, %d %b %Y %H:%M:%S UTC",
-+ gmtime(&validuntil)) == 0)
- {
-- datestr.imbue(posix);
-- validstr << std::put_time(gmtime(&validuntil), "%a, %d %b %Y %H:%M:%S UTC");
-+ validstr[0] = '\0';
- }
-
-+ setlocale(LC_TIME, "");
-+
- map<string,string> Fields;
- Fields["Origin"] = "";
- Fields["Label"] = "";
- Fields["Suite"] = "";
- Fields["Version"] = "";
- Fields["Codename"] = "";
-- Fields["Date"] = datestr.str();
-- Fields["Valid-Until"] = validstr.str();
-+ Fields["Date"] = datestr;
-+ Fields["Valid-Until"] = validstr;
- Fields["Architectures"] = "";
- Fields["Components"] = "";
- Fields["Description"] = "";
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch b/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch
deleted file mode 100644
index 088a66a3c..000000000
--- a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_Revert-use-de-localed-std-put_time-instead-rolling-o.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From c72ef9b6ae83a0a2fbbefd5c050335f65f0d2bc9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Tue, 22 Aug 2017 11:48:46 -0500
-Subject: [PATCH 2/3] Revert "use de-localed std::put_time instead rolling our
- own"
-
-This reverts commit 4ed2a17ab4334f019c00512aa54a162f0bf083c4.
-
-After we drop debian8 and centos7 that has gcc < 5 (std::put_time not available)
-versions this patch can be remove.
-
-Signed-off-by: Anibal Limon <limon.anibal@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- apt-pkg/contrib/strutl.cc | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
-index c2ff01d..e9ef2be 100644
---- a/apt-pkg/contrib/strutl.cc
-+++ b/apt-pkg/contrib/strutl.cc
-@@ -760,11 +760,15 @@ string TimeRFC1123(time_t Date)
- if (gmtime_r(&Date, &Conv) == NULL)
- return "";
-
-- auto const posix = std::locale::classic();
-- std::ostringstream datestr;
-- datestr.imbue(posix);
-- datestr << std::put_time(&Conv, "%a, %d %b %Y %H:%M:%S GMT");
-- return datestr.str();
-+ char Buf[300];
-+ const char *Day[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
-+ const char *Month[] = {"Jan","Feb","Mar","Apr","May","Jun","Jul",
-+ "Aug","Sep","Oct","Nov","Dec"};
-+
-+ snprintf(Buf, sizeof(Buf), "%s, %02i %s %i %02i:%02i:%02i GMT",Day[Conv.tm_wday],
-+ Conv.tm_mday,Month[Conv.tm_mon],Conv.tm_year+1900,Conv.tm_hour,
-+ Conv.tm_min,Conv.tm_sec);
-+ return Buf;
- }
- /*}}}*/
- // ReadMessages - Read messages from the FD /*{{{*/
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch b/poky/meta/recipes-devtools/apt/apt/gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch
deleted file mode 100644
index cb3259187..000000000
--- a/poky/meta/recipes-devtools/apt/apt/gcc_4.x_apt-pkg-contrib-strutl.cc-Include-array-header.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ff8562f7724c4db4b83635af9e627f3495222327 Mon Sep 17 00:00:00 2001
-From: Anibal Limon <limon.anibal@gmail.com>
-Date: Tue, 22 Aug 2017 04:41:31 -0500
-Subject: [PATCH 1/3] apt-pkg/contrib/strutl.cc: Include array header
-
-If GCC version is less than 5 the array header needs to be included
-to support std::array.
-
-After we drop debian8 and centos7 that has gcc < 5 versions this patch
-can be remove.
-
-Signed-off-by: Anibal Limon <limon.anibal@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- apt-pkg/contrib/strutl.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
-index 60d0ca8..c2ff01d 100644
---- a/apt-pkg/contrib/strutl.cc
-+++ b/apt-pkg/contrib/strutl.cc
-@@ -27,6 +27,7 @@
- #include <sstream>
- #include <string>
- #include <vector>
-+#include <array>
-
- #include <stddef.h>
- #include <stdlib.h>
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/apt/files/apt.conf b/poky/meta/recipes-devtools/apt/files/apt.conf
index 03351356b..c95a5b07a 100644
--- a/poky/meta/recipes-devtools/apt/files/apt.conf
+++ b/poky/meta/recipes-devtools/apt/files/apt.conf
@@ -39,4 +39,4 @@ APT
};
};
-DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"};
+DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-force-overwrite";"--no-debsig"};
diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb
index 985a254fc..13593d7bb 100644
--- a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb
+++ b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb
@@ -9,7 +9,7 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "d46413c8b00a125b1529bae385bbec55"
SRC_URI[sha256sum] = "17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f"
-inherit autotools allarch
+inherit autotools allarch texinfo
PACKAGES = "${PN} ${PN}-doc"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
deleted file mode 100644
index 349c3e115..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-LIC_FILES_CHKSUM="\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
- file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
- file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
- file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
- file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
- file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
- file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
- "
-
-def binutils_branch_version(d):
- pvsplit = d.getVar('PV').split('.')
- return pvsplit[0] + "_" + pvsplit[1]
-
-# When upgrading to 2.33, please make sure there is no trailing .0, so
-# that upstream version check can work correctly.
-PV = "2.32.0"
-CVE_VERSION = "2.32"
-BINUPV = "${@binutils_branch_version(d)}"
-#BRANCH = "binutils-${BINUPV}-branch"
-BRANCH ?= "binutils-2_32-branch"
-
-UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-
-SRCREV ?= "b8c1f608db9ef3edd483d21a921d1fbedc71df6f"
-BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${BRANCH};protocol=git"
-SRC_URI = "\
- ${BINUTILS_GIT_URI} \
- file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
- file://0004-Point-scripts-location-to-libdir.patch \
- file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
- file://0006-Use-libtool-2.4.patch \
- file://0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
- file://0008-warn-for-uses-of-system-directories-when-cross-linki.patch \
- file://0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
- file://0010-Change-default-emulation-for-mips64-linux.patch \
- file://0011-Add-support-for-Netlogic-XLP.patch \
- file://0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
- file://0013-Detect-64-bit-MIPS-targets.patch \
- file://0014-sync-with-OE-libtool-changes.patch \
- file://0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch \
- file://CVE-2019-9074.patch \
- file://CVE-2019-9075.patch \
- file://CVE-2019-9076.patch \
- file://CVE-2019-9077.patch \
- file://CVE-2019-9071.patch \
- file://CVE-2019-12972.patch \
- file://CVE-2019-14250.patch \
- file://CVE-2019-14444.patch \
- file://CVE-2019-17450.patch \
- file://CVE-2019-17451.patch \
-"
-S = "${WORKDIR}/git"
-
-do_configure_prepend () {
- rm -rf ${S}/gdb ${S}/libdecnumber ${S}/readline ${S}/sim
-}
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.34.inc b/poky/meta/recipes-devtools/binutils/binutils-2.34.inc
new file mode 100644
index 000000000..f65fdb732
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.34.inc
@@ -0,0 +1,47 @@
+LIC_FILES_CHKSUM="\
+ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6\
+ file://gas/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ file://include/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
+ file://include/COPYING3;md5=d32239bcb673463ab874e80d47fae504\
+ file://libiberty/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7\
+ file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\
+ "
+
+def binutils_branch_version(d):
+ pvsplit = d.getVar('PV').split('.')
+ return pvsplit[0] + "_" + pvsplit[1]
+
+# When upgrading to 2.35, please make sure there is no trailing .0, so
+# that upstream version check can work correctly.
+PV = "2.34"
+CVE_VERSION = "2.34"
+BINUPV = "${@binutils_branch_version(d)}"
+#BRANCH = "binutils-${BINUPV}-branch"
+BRANCH ?= "binutils-2_34-branch"
+
+UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
+
+SRCREV ?= "d4b50999b3b287b5f984ade2f8734aa8c9359440"
+BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${BRANCH};protocol=git"
+SRC_URI = "\
+ ${BINUTILS_GIT_URI} \
+ file://0004-configure-widen-the-regexp-for-SH-architectures.patch \
+ file://0005-Point-scripts-location-to-libdir.patch \
+ file://0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
+ file://0007-Use-libtool-2.4.patch \
+ file://0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch \
+ file://0009-warn-for-uses-of-system-directories-when-cross-linki.patch \
+ file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
+ file://0011-Change-default-emulation-for-mips64-linux.patch \
+ file://0012-Add-support-for-Netlogic-XLP.patch \
+ file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
+ file://0014-Detect-64-bit-MIPS-targets.patch \
+ file://0015-sync-with-OE-libtool-changes.patch \
+ file://0016-Check-for-clang-before-checking-gcc-version.patch \
+ file://0017-binutils-drop-redundant-program_name-definition-fno-.patch \
+ file://CVE-2020-0551.patch \
+"
+S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.34.bb
index 5dbaa0301..5dbaa0301 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian_2.34.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.34.bb
index 07a8e7c41..07a8e7c41 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.34.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross_2.34.bb
index fbd1f7d25..fbd1f7d25 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross_2.34.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.34.bb
index 37f4d6d2e..37f4d6d2e 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-crosssdk_2.34.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils.inc b/poky/meta/recipes-devtools/binutils/binutils.inc
index 0fb6cae40..e93cd50b2 100644
--- a/poky/meta/recipes-devtools/binutils/binutils.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils.inc
@@ -13,17 +13,12 @@ LICENSE = "GPLv3"
DEPENDS = "flex-native bison-native zlib-native gnu-config-native autoconf-native"
-#
-# we need chrpath > 0.14 and some distros like centos 7 still have older chrpath
-#
-DEPENDS_append_class-target = " chrpath-replacement-native"
-EXTRANATIVEPATH_append_class-target = " chrpath-native"
-
inherit autotools gettext multilib_header texinfo
FILES_${PN} = " \
${bindir}/${TARGET_PREFIX}* \
- ${libdir}/lib*-*.so \
+ ${libdir}/lib*.so.* \
+ ${libdir}/lib*-${PV}*.so \
${prefix}/${TARGET_SYS}/bin/* \
${bindir}/embedspu"
@@ -33,6 +28,8 @@ FILES_${PN}-dev = " \
${includedir} \
${libdir}/*.la \
${libdir}/libbfd.so \
+ ${libdir}/libctf.so \
+ ${libdir}/libctf-nobfd.so \
${libdir}/libopcodes.so"
# Rather than duplicating multiple entries for these, make one
@@ -40,6 +37,8 @@ FILES_${PN}-dev = " \
LDGOLD_ALTS ?= "ld.gold dwp"
LDGOLD_ALTS_riscv64 = ""
+LDGOLD_ALTS_riscv32 = ""
+LDGOLD_ALTS_libc-glibc_mipsarch = ""
USE_ALTERNATIVES_FOR = " \
addr2line \
@@ -76,13 +75,25 @@ EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
--disable-werror \
--enable-deterministic-archives \
--enable-plugins \
+ --disable-gdb \
+ --disable-gdbserver \
+ --disable-libdecnumber \
+ --disable-readline \
+ --disable-sim \
${LDGOLD} \
+ ${EXTRA_TARGETS} \
${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)}"
+EXTRA_TARGETS = ""
+EXTRA_TARGETS_x86-64 = " --enable-targets=x86_64-pe,x86_64-pep "
+EXTRA_TARGETS_class-native = ""
+
LDGOLD_class-native = ""
LDGOLD_class-crosssdk = ""
+LDGOLD_libc-glibc_mipsarch = ""
LDGOLD ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-gold=default --enable-threads', '--enable-gold --enable-ld=default --enable-threads', d)}"
+
# This is necessary due to a bug in the binutils Makefiles
# EXTRA_OEMAKE = "configure-build-libiberty all"
@@ -110,7 +121,8 @@ export CC_FOR_BUILD = "LD_LIBRARY_PATH= ${BUILD_CC}"
MULTIARCH := "${@bb.utils.contains("DISTRO_FEATURES", "multiarch", "yes", "no", d)}"
do_configure[vardeps] += "MULTIARCH"
do_configure () {
- (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+ (cd ${S} && gnu-configize)
+
oe_runconf
#
# must prime config.cache to ensure the build of libiberty
@@ -121,10 +133,6 @@ do_configure () {
done
}
-do_compile_append_class-target() {
- chrpath -d ${B}/binutils/elfedit
- chrpath -d ${B}/binutils/readelf
-}
do_install () {
autotools_do_install
@@ -144,6 +152,11 @@ do_install () {
install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+ # insall pic version of libiberty if available
+ if [ -e ${B}/libiberty/pic/libiberty.a ]; then
+ install -Dm 0644 ${B}/libiberty/pic/libiberty.a ${D}${libdir}/libiberty.a
+ fi
+
cd ${D}${bindir}
# Symlinks for ease of running these on the native target
@@ -156,6 +169,8 @@ do_install () {
done
oe_multilib_header bfd.h
+ # bfd_stdint.h encodes the compiler name in the header
+ sed -i ${D}${includedir}/bfd_stdint.h -e "s,${TARGET_PREFIX},,"
}
inherit update-alternatives
@@ -163,3 +178,8 @@ inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN}_class-target = "${USE_ALTERNATIVES_FOR}"
+
+python () {
+ if bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', True, False, d) and bb.utils.contains_any('TARGET_ARCH', 'riscv32 riscv64', True, False, d):
+ bb.fatal("Gold linker does not _yet_ support RISC-V architecture please remove ld-is-gold from DISTRO_FEATURES")
+}
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
index 6581bad11..14e84215e 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch
@@ -1,7 +1,7 @@
-From 5bcd884f8af5106d0fa380c42cffe07f3c993ed2 Mon Sep 17 00:00:00 2001
+From b05f0be13aadf0b26a0b39dfe7daf2c47a300338 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:58:54 +0000
-Subject: [PATCH 01/15] binutils-crosssdk: Generate relocatable SDKs
+Subject: [PATCH] binutils-crosssdk: Generate relocatable SDKs
This patch will modify the ELF linker scripts so that the crosssdk
linker will generate binaries with a 4096 bytes PT_INTERP section. When the binaries
@@ -18,35 +18,35 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
-index 77ddbbc8f8..d789e77943 100755
+index 03392d265c..435689ea14 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
-@@ -310,6 +310,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
+@@ -304,6 +304,7 @@ DATA_ALIGNMENT_u="${DATA_ALIGNMENT_u-${DATA_ALIGNMENT_r}}"
LD_FLAG=r
DATA_ALIGNMENT=${DATA_ALIGNMENT_r}
DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
+PARTIAL_LINKING=" "
- ( echo "/* Script for ld -r: link without relocation */"
- . ${CUSTOMIZER_SCRIPT}
- . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
-@@ -318,10 +319,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
+ ( echo "/* Script for -r */"
+ source_sh ${CUSTOMIZER_SCRIPT}
+ source_sh ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+@@ -312,10 +313,12 @@ DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
LD_FLAG=u
DATA_ALIGNMENT=${DATA_ALIGNMENT_u}
CONSTRUCTING=" "
+PARTIAL_LINKING=" "
- ( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */"
- . ${CUSTOMIZER_SCRIPT}
- . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+ ( echo "/* Script for -Ur */"
+ source_sh ${CUSTOMIZER_SCRIPT}
+ source_sh ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu
+unset PARTIAL_LINKING
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
RELOCATING=" "
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
-index bd7584120e..8bbe052d4b 100644
+index 0b8b32a440..ee6b71075d 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
-@@ -139,8 +139,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
+@@ -140,8 +140,8 @@ if test -z "$DATA_SEGMENT_ALIGN"; then
DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
fi
fi
@@ -57,6 +57,3 @@ index bd7584120e..8bbe052d4b 100644
fi
if test -z "$PLT"; then
IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
index 32537d4b5..91de94b76 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch
@@ -1,8 +1,7 @@
-From 11927913560fc5a5d51af3bc5eb8ad62a86c9840 Mon Sep 17 00:00:00 2001
+From 6d79f81336e7cbe727b5a51134f5d314a455379d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Mar 2017 23:37:05 -0800
-Subject: [PATCH 02/15] binutils-cross: Do not generate linker script
- directories
+Subject: [PATCH] binutils-cross: Do not generate linker script directories
We don't place target libraries within ${exec_prefix}, we'd always place these
within the target sysroot within the standard library directories. Worse, the
@@ -23,10 +22,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 25 deletions(-)
diff --git a/ld/genscripts.sh b/ld/genscripts.sh
-index d789e77943..144e2e8736 100755
+index 435689ea14..cff8a1467f 100755
--- a/ld/genscripts.sh
+++ b/ld/genscripts.sh
-@@ -220,31 +220,6 @@ append_to_lib_path()
+@@ -235,31 +235,6 @@ append_to_lib_path()
fi
}
@@ -58,6 +57,3 @@ index d789e77943..144e2e8736 100755
if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
libs=${NATIVE_LIB_DIRS}
if [ "x${NATIVE}" = "xyes" ] ; then
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch b/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch
new file mode 100644
index 000000000..4b4d73d21
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch
@@ -0,0 +1,95 @@
+From d057b215f114f6158b4010ab44a19cae9dcc8386 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Wed, 19 Feb 2020 09:51:16 -0800
+Subject: [PATCH] binutils-nativesdk: Search for alternative ld.so.conf in SDK
+ installation
+
+We need binutils to look at our ld.so.conf file within the SDK to ensure
+we search the SDK's libdirs as well as those from the host system.
+
+We therefore pass in the directory to the code using a define, then add
+it to a section we relocate in a similar way to the way we relocate the
+gcc internal paths. This ensures that ld works correctly in our buildtools
+tarball.
+
+Standard sysroot relocation doesn't work since we're not in a sysroot,
+we want to use both the host system and SDK libs.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+2020/1/17
+Upstream-Status: Inappropriate [OE specific tweak]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ld/Makefile.am | 3 ++-
+ ld/Makefile.in | 3 ++-
+ ld/ldelf.c | 2 +-
+ ld/ldmain.c | 1 +
+ ld/ldmain.h | 1 +
+ 5 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/ld/Makefile.am b/ld/Makefile.am
+index 4a9b8404b7..1c132d3ce4 100644
+--- a/ld/Makefile.am
++++ b/ld/Makefile.am
+@@ -42,7 +42,8 @@ ZLIBINC = @zlibinc@
+
+ ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \
+ -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
+- -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
++ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \
++ -DSYSCONFDIR="\"$(sysconfdir)\""
+ WARN_CFLAGS = @WARN_CFLAGS@
+ NO_WERROR = @NO_WERROR@
+ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index 46d9b14077..e453bc1b33 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -555,7 +555,8 @@ ZLIB = @zlibdir@ -lz
+ ZLIBINC = @zlibinc@
+ ELF_CLFAGS = -DELF_LIST_OPTIONS=@elf_list_options@ \
+ -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
+- -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
++ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@ \
++ -DSYSCONFDIR="\"$(sysconfdir)\""
+
+ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+ @ENABLE_PLUGINS_FALSE@PLUGIN_C =
+diff --git a/ld/ldelf.c b/ld/ldelf.c
+index 2e27cf48a8..a095d6aac5 100644
+--- a/ld/ldelf.c
++++ b/ld/ldelf.c
+@@ -907,7 +907,7 @@ ldelf_check_ld_so_conf (const struct bfd_link_needed_list *l, int force,
+
+ info.path = NULL;
+ info.len = info.alloc = 0;
+- tmppath = concat (ld_sysroot, prefix, "/etc/ld.so.conf",
++ tmppath = concat (ld_sysconfdir, "/ld.so.conf",
+ (const char *) NULL);
+ if (!ldelf_parse_ld_so_conf (&info, tmppath))
+ {
+diff --git a/ld/ldmain.c b/ld/ldmain.c
+index c4af10f4e9..da1ad17763 100644
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -69,6 +69,7 @@ char *program_name;
+
+ /* The prefix for system library directories. */
+ const char *ld_sysroot;
++char ld_sysconfdir[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSCONFDIR;
+
+ /* The canonical representation of ld_sysroot. */
+ char *ld_canon_sysroot;
+diff --git a/ld/ldmain.h b/ld/ldmain.h
+index 0f05821d1e..54c36a94ce 100644
+--- a/ld/ldmain.h
++++ b/ld/ldmain.h
+@@ -23,6 +23,7 @@
+
+ extern char *program_name;
+ extern const char *ld_sysroot;
++extern char ld_sysconfdir[4096];
+ extern char *ld_canon_sysroot;
+ extern int ld_canon_sysroot_len;
+ extern FILE *saved_script_handle;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch b/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
deleted file mode 100644
index a30138295..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0003-configure-widen-the-regexp-for-SH-architectures.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From da3939de6fb36da2c6484f14f08a37be195d9dc3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:07:33 +0000
-Subject: [PATCH 03/15] configure: widen the regexp for SH architectures
-
-gprof needs to know about uclibc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure | 2 +-
- gprof/configure | 5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 3747645961..78b5240101 100755
---- a/configure
-+++ b/configure
-@@ -3861,7 +3861,7 @@ case "${target}" in
- nvptx*-*-*)
- noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
- ;;
-- sh-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${target}" in
- sh*-*-elf)
- ;;
-diff --git a/gprof/configure b/gprof/configure
-index f84efaba20..ab32bab2b6 100755
---- a/gprof/configure
-+++ b/gprof/configure
-@@ -6162,6 +6162,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch b/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch
new file mode 100644
index 000000000..d10a144ed
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0004-configure-widen-the-regexp-for-SH-architectures.patch
@@ -0,0 +1,41 @@
+From f7ad8a44c10f01e03680f093fd7af71c9f5e8606 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:07:33 +0000
+Subject: [PATCH] configure: widen the regexp for SH architectures
+
+gprof needs to know about uclibc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 91dc42f6c7..7c1b747e7c 100755
+--- a/configure
++++ b/configure
+@@ -3915,7 +3915,7 @@ case "${target}" in
+ nvptx*-*-*)
+ noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
+ ;;
+- sh-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${target}" in
+ sh*-*-elf)
+ ;;
+diff --git a/configure.ac b/configure.ac
+index 4bd869a63a..7187b34dfc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1159,7 +1159,7 @@ case "${target}" in
+ nvptx*-*-*)
+ noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc"
+ ;;
+- sh-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${target}" in
+ sh*-*-elf)
+ ;;
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
deleted file mode 100644
index 1bad53175..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 66861bff389434e3454c7650ee29fade7a1cc5ed Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 01:27:17 +0000
-Subject: [PATCH 05/15] Only generate an RPATH entry if LD_RUN_PATH is not
- empty
-
-for cases where -rpath isn't specified. debian (#151024)
-
-Upstream-Status: Pending
-
-Signed-off-by: Chris Chimelis <chris@debian.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ld/emultempl/elf32.em | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
-index f4f7ad6b4e..cfd787ff28 100644
---- a/ld/emultempl/elf32.em
-+++ b/ld/emultempl/elf32.em
-@@ -1471,6 +1471,8 @@ fragment <<EOF
- && command_line.rpath == NULL)
- {
- path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((path) && (strlen (path) == 0))
-+ path = NULL;
- if (path
- && gld${EMULATION_NAME}_search_needed (path, &n, force))
- break;
-@@ -1746,6 +1748,8 @@ gld${EMULATION_NAME}_before_allocation (void)
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
-
- for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
- if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch b/poky/meta/recipes-devtools/binutils/binutils/0005-Point-scripts-location-to-libdir.patch
index f8e352228..3ba0ba63f 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0005-Point-scripts-location-to-libdir.patch
@@ -1,7 +1,7 @@
-From fc1ff860fd88fa2d0584bd19181c880a76331a8d Mon Sep 17 00:00:00 2001
+From 08b088b7dd3d9707ed66948a7271ffb438eeddf5 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:09:58 +0000
-Subject: [PATCH 04/15] Point scripts location to libdir
+Subject: [PATCH] Point scripts location to libdir
Upstream-Status: Inappropriate [debian patch]
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ld/Makefile.am b/ld/Makefile.am
-index c2c798b4fe..d7faf19271 100644
+index 1c132d3ce4..8d82cf2e16 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
-@@ -57,7 +57,7 @@ endif
+@@ -64,7 +64,7 @@ endif
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
@@ -25,10 +25,10 @@ index c2c798b4fe..d7faf19271 100644
EMUL = @EMUL@
EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/ld/Makefile.in b/ld/Makefile.in
-index fc687fc516..8b14f5236c 100644
+index e453bc1b33..2dcd72f809 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
-@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+@@ -573,7 +573,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
# We put the scripts in the directory $(scriptdir)/ldscripts.
# We can't put the scripts in $(datadir) because the SEARCH_DIR
# directives need to be different for native and cross linkers.
@@ -37,6 +37,3 @@ index fc687fc516..8b14f5236c 100644
BASEDIR = $(srcdir)/..
BFDDIR = $(BASEDIR)/bfd
INCDIR = $(BASEDIR)/include
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch b/poky/meta/recipes-devtools/binutils/binutils/0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
new file mode 100644
index 000000000..d92072920
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0006-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch
@@ -0,0 +1,37 @@
+From 13791636abf518f0db209dc51c29445d80421f2e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Mar 2015 01:27:17 +0000
+Subject: [PATCH] Only generate an RPATH entry if LD_RUN_PATH is not empty
+
+for cases where -rpath isn't specified. debian (#151024)
+
+Upstream-Status: Pending
+
+Signed-off-by: Chris Chimelis <chris@debian.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ld/ldelf.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ld/ldelf.c b/ld/ldelf.c
+index a095d6aac5..a2455a8793 100644
+--- a/ld/ldelf.c
++++ b/ld/ldelf.c
+@@ -1229,6 +1229,8 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
+ && command_line.rpath == NULL)
+ {
+ path = (const char *) getenv ("LD_RUN_PATH");
++ if ((path) && (strlen (path) == 0))
++ path = NULL;
+ if (path
+ && ldelf_search_needed (path, &n, force,
+ is_linux, elfsize))
+@@ -1573,6 +1575,8 @@ ldelf_before_allocation (char *audit, char *depaudit,
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+
+ for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch b/poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch
index f0c4d251b..89da62fbf 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0006-Use-libtool-2.4.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0007-Use-libtool-2.4.patch
@@ -1,7 +1,7 @@
-From 418527a2971d4e77a87085400397090d89fc5c94 Mon Sep 17 00:00:00 2001
+From b8fafd8ce6c47c9a551ed796176d884a34930086 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Feb 2016 17:04:07 +0000
-Subject: [PATCH 06/15] Use libtool 2.4
+Subject: [PATCH 07/15] Use libtool 2.4
get libtool sysroot support
@@ -9,24 +9,23 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- bfd/configure | 1322 ++++++++++++++-----
- bfd/configure.ac | 2 +-
- binutils/configure | 1320 ++++++++++++++-----
- gas/configure | 1320 ++++++++++++++-----
- gprof/configure | 1321 ++++++++++++++-----
- ld/configure | 1695 ++++++++++++++++++------
- libtool.m4 | 1080 +++++++++++-----
- ltmain.sh | 2925 ++++++++++++++++++++++++++++--------------
- ltoptions.m4 | 2 +-
- ltversion.m4 | 12 +-
- lt~obsolete.m4 | 2 +-
- opcodes/configure | 1322 ++++++++++++++-----
- opcodes/configure.ac | 2 +-
- zlib/configure | 1320 ++++++++++++++-----
- 14 files changed, 9940 insertions(+), 3705 deletions(-)
+ bfd/configure | 1322 +++++++++++++++-----
+ bfd/configure.ac | 2 +-
+ binutils/configure | 1320 +++++++++++++++-----
+ gas/configure | 1320 +++++++++++++++-----
+ gprof/configure | 1320 +++++++++++++++-----
+ ld/configure | 1695 ++++++++++++++++++-------
+ libctf/configure | 1319 +++++++++++++++-----
+ libtool.m4 | 1080 +++++++++++-----
+ ltmain.sh | 2925 +++++++++++++++++++++++++++++---------------
+ ltoptions.m4 | 2 +-
+ ltversion.m4 | 12 +-
+ lt~obsolete.m4 | 2 +-
+ opcodes/configure | 1320 +++++++++++++++-----
+ 13 files changed, 9939 insertions(+), 3700 deletions(-)
diff --git a/bfd/configure b/bfd/configure
-index 17960684f8..925fb401f2 100755
+index bc576b7894a..cd036638081 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -704,6 +704,9 @@ OTOOL
@@ -1351,7 +1350,7 @@ index 17960684f8..925fb401f2 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -14525,7 +15180,7 @@ SHARED_LDFLAGS=
+@@ -14554,7 +15209,7 @@ SHARED_LDFLAGS=
if test "$enable_shared" = "yes"; then
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
if test -n "$x"; then
@@ -1359,8 +1358,8 @@ index 17960684f8..925fb401f2 100755
+ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
fi
- # More hacks to build DLLs on Windows.
-@@ -17142,13 +17797,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+ case "${host}" in
+@@ -17176,13 +17831,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -1381,7 +1380,7 @@ index 17960684f8..925fb401f2 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -17163,14 +17825,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -17197,14 +17859,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -1400,7 +1399,7 @@ index 17960684f8..925fb401f2 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -17203,12 +17868,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -17237,12 +17902,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -1414,7 +1413,7 @@ index 17960684f8..925fb401f2 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -17263,8 +17928,13 @@ reload_flag \
+@@ -17297,8 +17962,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -1428,7 +1427,7 @@ index 17960684f8..925fb401f2 100755
STRIP \
RANLIB \
CC \
-@@ -17274,12 +17944,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -17308,12 +17978,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -1444,7 +1443,7 @@ index 17960684f8..925fb401f2 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -17295,7 +17967,6 @@ no_undefined_flag \
+@@ -17329,7 +18001,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -1452,7 +1451,7 @@ index 17960684f8..925fb401f2 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -17331,6 +18002,7 @@ module_cmds \
+@@ -17365,6 +18036,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -1460,7 +1459,7 @@ index 17960684f8..925fb401f2 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -18119,7 +18791,8 @@ $as_echo X"$file" |
+@@ -18153,7 +18825,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -1470,7 +1469,7 @@ index 17960684f8..925fb401f2 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -18222,19 +18895,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -18256,19 +18929,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -1514,7 +1513,7 @@ index 17960684f8..925fb401f2 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -18264,6 +18960,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -18298,6 +18994,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -1527,7 +1526,7 @@ index 17960684f8..925fb401f2 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -18273,6 +18975,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -18307,6 +19009,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -1537,7 +1536,7 @@ index 17960684f8..925fb401f2 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -18387,12 +19092,12 @@ with_gcc=$GCC
+@@ -18421,12 +19126,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -1553,7 +1552,7 @@ index 17960684f8..925fb401f2 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -18479,9 +19184,6 @@ inherit_rpath=$inherit_rpath
+@@ -18513,9 +19218,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -1563,7 +1562,7 @@ index 17960684f8..925fb401f2 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -18497,6 +19199,9 @@ include_expsyms=$lt_include_expsyms
+@@ -18531,6 +19233,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -1573,7 +1572,7 @@ index 17960684f8..925fb401f2 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -18529,210 +19234,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -18563,210 +19268,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -1948,10 +1947,10 @@ index 17960684f8..925fb401f2 100755
chmod +x "$ofile"
diff --git a/bfd/configure.ac b/bfd/configure.ac
-index eda38ea086..7cdf9c8146 100644
+index c5bfbd5d129..e666b1cc106 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
-@@ -293,7 +293,7 @@ changequote(,)dnl
+@@ -290,7 +290,7 @@ changequote(,)dnl
x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
changequote([,])dnl
if test -n "$x"; then
@@ -1959,12 +1958,12 @@ index eda38ea086..7cdf9c8146 100644
+ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
fi
- # More hacks to build DLLs on Windows.
+ case "${host}" in
diff --git a/binutils/configure b/binutils/configure
-index 38128e146d..c74f797996 100755
+index a8dfd4bd68c..82316496953 100755
--- a/binutils/configure
+++ b/binutils/configure
-@@ -689,8 +689,11 @@ OTOOL
+@@ -690,8 +690,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -1976,7 +1975,7 @@ index 38128e146d..c74f797996 100755
OBJDUMP
LN_S
NM
-@@ -807,6 +810,7 @@ enable_static
+@@ -808,6 +811,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -1984,16 +1983,16 @@ index 38128e146d..c74f797996 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1483,6 +1487,8 @@ Optional Packages:
+@@ -1485,6 +1489,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-debuginfod Enable debuginfo lookups with debuginfod
+ (auto/yes/no)
--with-system-zlib use installed libz
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
-@@ -5457,8 +5463,8 @@ esac
+@@ -5461,8 +5467,8 @@ esac
@@ -2004,7 +2003,7 @@ index 38128e146d..c74f797996 100755
-@@ -5498,7 +5504,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5502,7 +5508,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -2013,7 +2012,7 @@ index 38128e146d..c74f797996 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6184,8 +6190,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6188,8 +6194,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -2024,7 +2023,7 @@ index 38128e146d..c74f797996 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6234,6 +6240,80 @@ esac
+@@ -6238,6 +6244,80 @@ esac
@@ -2105,7 +2104,7 @@ index 38128e146d..c74f797996 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6250,6 +6330,11 @@ case $reload_flag in
+@@ -6254,6 +6334,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -2117,7 +2116,7 @@ index 38128e146d..c74f797996 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6418,7 +6503,8 @@ mingw* | pw32*)
+@@ -6422,7 +6507,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -2127,7 +2126,7 @@ index 38128e146d..c74f797996 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6572,6 +6658,21 @@ esac
+@@ -6576,6 +6662,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -2149,7 +2148,7 @@ index 38128e146d..c74f797996 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6587,9 +6688,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6591,9 +6692,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -2314,7 +2313,7 @@ index 38128e146d..c74f797996 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6605,7 +6859,7 @@ do
+@@ -6609,7 +6863,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2323,7 +2322,7 @@ index 38128e146d..c74f797996 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6625,11 +6879,15 @@ $as_echo "no" >&6; }
+@@ -6629,11 +6883,15 @@ $as_echo "no" >&6; }
fi
@@ -2342,7 +2341,7 @@ index 38128e146d..c74f797996 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6645,7 +6903,7 @@ do
+@@ -6649,7 +6907,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -2351,7 +2350,7 @@ index 38128e146d..c74f797996 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6664,6 +6922,10 @@ else
+@@ -6668,6 +6926,10 @@ else
$as_echo "no" >&6; }
fi
@@ -2362,7 +2361,7 @@ index 38128e146d..c74f797996 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6675,12 +6937,10 @@ ac_tool_warned=yes ;;
+@@ -6679,12 +6941,10 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -2377,7 +2376,7 @@ index 38128e146d..c74f797996 100755
-@@ -6692,6 +6952,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6696,6 +6956,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -2442,7 +2441,7 @@ index 38128e146d..c74f797996 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -7026,8 +7344,8 @@ esac
+@@ -7030,8 +7348,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -2453,7 +2452,7 @@ index 38128e146d..c74f797996 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7063,6 +7381,7 @@ for ac_symprfx in "" "_"; do
+@@ -7067,6 +7385,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -2461,7 +2460,7 @@ index 38128e146d..c74f797996 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7104,6 +7423,18 @@ _LT_EOF
+@@ -7108,6 +7427,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -2480,7 +2479,7 @@ index 38128e146d..c74f797996 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7115,7 +7446,7 @@ _LT_EOF
+@@ -7119,7 +7450,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -2489,7 +2488,7 @@ index 38128e146d..c74f797996 100755
const char *name;
void *address;
}
-@@ -7141,8 +7472,8 @@ static const void *lt_preloaded_setup() {
+@@ -7145,8 +7476,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -2500,7 +2499,7 @@ index 38128e146d..c74f797996 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7152,8 +7483,8 @@ _LT_EOF
+@@ -7156,8 +7487,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -2511,7 +2510,7 @@ index 38128e146d..c74f797996 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7190,6 +7521,21 @@ else
+@@ -7194,6 +7525,21 @@ else
$as_echo "ok" >&6; }
fi
@@ -2533,7 +2532,7 @@ index 38128e146d..c74f797996 100755
-@@ -7206,6 +7552,40 @@ fi
+@@ -7210,6 +7556,40 @@ fi
@@ -2574,7 +2573,7 @@ index 38128e146d..c74f797996 100755
-@@ -7417,6 +7797,123 @@ esac
+@@ -7421,6 +7801,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -2698,7 +2697,7 @@ index 38128e146d..c74f797996 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7980,6 +8477,8 @@ _LT_EOF
+@@ -7984,6 +8481,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -2707,7 +2706,7 @@ index 38128e146d..c74f797996 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8175,7 +8674,8 @@ fi
+@@ -8179,7 +8678,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -2717,7 +2716,7 @@ index 38128e146d..c74f797996 100755
-@@ -8264,7 +8764,7 @@ aix3*)
+@@ -8268,7 +8768,7 @@ aix3*)
esac
# Global variables:
@@ -2726,7 +2725,7 @@ index 38128e146d..c74f797996 100755
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8562,8 +9062,6 @@ fi
+@@ -8566,8 +9066,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -2735,7 +2734,7 @@ index 38128e146d..c74f797996 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8729,6 +9227,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8733,6 +9231,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -2748,7 +2747,7 @@ index 38128e146d..c74f797996 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8791,7 +9295,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8795,7 +9299,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -2757,7 +2756,7 @@ index 38128e146d..c74f797996 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8848,13 +9352,17 @@ case $host_os in
+@@ -8852,13 +9356,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -2781,7 +2780,7 @@ index 38128e146d..c74f797996 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8915,6 +9423,11 @@ fi
+@@ -8919,6 +9427,11 @@ fi
@@ -2793,7 +2792,7 @@ index 38128e146d..c74f797996 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9265,7 +9778,8 @@ _LT_EOF
+@@ -9269,7 +9782,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -2803,7 +2802,7 @@ index 38128e146d..c74f797996 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9364,12 +9878,12 @@ _LT_EOF
+@@ -9368,12 +9882,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -2818,7 +2817,7 @@ index 38128e146d..c74f797996 100755
fi
;;
esac
-@@ -9383,8 +9897,8 @@ _LT_EOF
+@@ -9387,8 +9901,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -2829,7 +2828,7 @@ index 38128e146d..c74f797996 100755
fi
;;
-@@ -9402,8 +9916,8 @@ _LT_EOF
+@@ -9406,8 +9920,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2840,7 +2839,7 @@ index 38128e146d..c74f797996 100755
else
ld_shlibs=no
fi
-@@ -9449,8 +9963,8 @@ _LT_EOF
+@@ -9453,8 +9967,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -2851,7 +2850,7 @@ index 38128e146d..c74f797996 100755
else
ld_shlibs=no
fi
-@@ -9580,7 +10094,13 @@ _LT_EOF
+@@ -9584,7 +10098,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2866,7 +2865,7 @@ index 38128e146d..c74f797996 100755
/* end confdefs.h. */
int
-@@ -9593,22 +10113,29 @@ main ()
+@@ -9597,22 +10117,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2909,7 +2908,7 @@ index 38128e146d..c74f797996 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9620,7 +10147,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9624,7 +10151,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -2924,7 +2923,7 @@ index 38128e146d..c74f797996 100755
/* end confdefs.h. */
int
-@@ -9633,22 +10166,29 @@ main ()
+@@ -9637,22 +10170,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -2967,7 +2966,7 @@ index 38128e146d..c74f797996 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9693,20 +10233,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9697,20 +10237,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -3045,7 +3044,7 @@ index 38128e146d..c74f797996 100755
;;
darwin* | rhapsody*)
-@@ -9767,7 +10350,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9771,7 +10354,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -3054,7 +3053,7 @@ index 38128e146d..c74f797996 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9775,7 +10358,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9779,7 +10362,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -3063,7 +3062,7 @@ index 38128e146d..c74f797996 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9791,7 +10374,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9795,7 +10378,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -3072,7 +3071,7 @@ index 38128e146d..c74f797996 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9815,10 +10398,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9819,10 +10402,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -3085,7 +3084,7 @@ index 38128e146d..c74f797996 100755
;;
esac
else
-@@ -9897,23 +10480,36 @@ fi
+@@ -9901,23 +10484,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -3130,7 +3129,7 @@ index 38128e146d..c74f797996 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9998,7 +10594,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10002,7 +10598,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -3139,7 +3138,7 @@ index 38128e146d..c74f797996 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10017,9 +10613,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10021,9 +10617,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -3151,7 +3150,7 @@ index 38128e146d..c74f797996 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10595,8 +11191,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10599,8 +11195,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -3163,7 +3162,7 @@ index 38128e146d..c74f797996 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10629,13 +11226,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10633,13 +11230,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -3236,7 +3235,7 @@ index 38128e146d..c74f797996 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10727,7 +11382,7 @@ haiku*)
+@@ -10731,7 +11386,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -3245,16 +3244,16 @@ index 38128e146d..c74f797996 100755
hardcode_into_libs=yes
;;
-@@ -11523,7 +12178,7 @@ else
+@@ -11527,7 +12182,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11526 "configure"
+-#line 11530 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11567,10 +12222,10 @@ else
+@@ -11571,10 +12226,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3267,16 +3266,16 @@ index 38128e146d..c74f797996 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11629,7 +12284,7 @@ else
+@@ -11633,7 +12288,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11632 "configure"
+-#line 11636 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11673,10 +12328,10 @@ else
+@@ -11677,10 +12332,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -3289,7 +3288,7 @@ index 38128e146d..c74f797996 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15936,13 +16591,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -16024,13 +16679,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -3310,7 +3309,7 @@ index 38128e146d..c74f797996 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15957,14 +16619,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -16045,14 +16707,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -3329,7 +3328,7 @@ index 38128e146d..c74f797996 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15997,12 +16662,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -16085,12 +16750,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -3343,7 +3342,7 @@ index 38128e146d..c74f797996 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -16057,8 +16722,13 @@ reload_flag \
+@@ -16145,8 +16810,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -3357,7 +3356,7 @@ index 38128e146d..c74f797996 100755
STRIP \
RANLIB \
CC \
-@@ -16068,12 +16738,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16156,12 +16826,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -3373,7 +3372,7 @@ index 38128e146d..c74f797996 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -16089,7 +16761,6 @@ no_undefined_flag \
+@@ -16177,7 +16849,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -3381,7 +3380,7 @@ index 38128e146d..c74f797996 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -16125,6 +16796,7 @@ module_cmds \
+@@ -16213,6 +16884,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -3389,7 +3388,7 @@ index 38128e146d..c74f797996 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16891,7 +17563,8 @@ $as_echo X"$file" |
+@@ -16979,7 +17651,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -3399,7 +3398,7 @@ index 38128e146d..c74f797996 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16994,19 +17667,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -17082,19 +17755,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -3443,7 +3442,7 @@ index 38128e146d..c74f797996 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -17036,6 +17732,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17124,6 +17820,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -3456,7 +3455,7 @@ index 38128e146d..c74f797996 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -17045,6 +17747,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17133,6 +17835,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -3466,7 +3465,7 @@ index 38128e146d..c74f797996 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -17159,12 +17864,12 @@ with_gcc=$GCC
+@@ -17247,12 +17952,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -3482,7 +3481,7 @@ index 38128e146d..c74f797996 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17251,9 +17956,6 @@ inherit_rpath=$inherit_rpath
+@@ -17339,9 +18044,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -3492,7 +3491,7 @@ index 38128e146d..c74f797996 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17269,6 +17971,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17357,6 +18059,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -3502,7 +3501,7 @@ index 38128e146d..c74f797996 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17301,210 +18006,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17389,210 +18094,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -3877,7 +3876,7 @@ index 38128e146d..c74f797996 100755
chmod +x "$ofile"
diff --git a/gas/configure b/gas/configure
-index 64de9f19da..a82fde7fa8 100755
+index 60c1a055ae2..0e0ce4c0e23 100755
--- a/gas/configure
+++ b/gas/configure
@@ -681,8 +681,11 @@ OTOOL
@@ -3900,7 +3899,7 @@ index 64de9f19da..a82fde7fa8 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1487,6 +1491,8 @@ Optional Packages:
+@@ -1490,6 +1494,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -3909,7 +3908,7 @@ index 64de9f19da..a82fde7fa8 100755
--with-cpu=CPU default cpu variant is CPU (currently only supported
on ARC)
--with-system-zlib use installed libz
-@@ -5274,8 +5280,8 @@ esac
+@@ -5277,8 +5283,8 @@ esac
@@ -3920,7 +3919,7 @@ index 64de9f19da..a82fde7fa8 100755
-@@ -5315,7 +5321,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -5318,7 +5324,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -3929,7 +3928,7 @@ index 64de9f19da..a82fde7fa8 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6001,8 +6007,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6004,8 +6010,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -3940,7 +3939,7 @@ index 64de9f19da..a82fde7fa8 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6051,6 +6057,80 @@ esac
+@@ -6054,6 +6060,80 @@ esac
@@ -4021,7 +4020,7 @@ index 64de9f19da..a82fde7fa8 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6067,6 +6147,11 @@ case $reload_flag in
+@@ -6070,6 +6150,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -4033,7 +4032,7 @@ index 64de9f19da..a82fde7fa8 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6235,7 +6320,8 @@ mingw* | pw32*)
+@@ -6238,7 +6323,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -4043,7 +4042,7 @@ index 64de9f19da..a82fde7fa8 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6389,6 +6475,21 @@ esac
+@@ -6392,6 +6478,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -4065,7 +4064,7 @@ index 64de9f19da..a82fde7fa8 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6404,9 +6505,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6407,9 +6508,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -4230,7 +4229,7 @@ index 64de9f19da..a82fde7fa8 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6422,7 +6676,7 @@ do
+@@ -6425,7 +6679,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4239,7 +4238,7 @@ index 64de9f19da..a82fde7fa8 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6442,11 +6696,15 @@ $as_echo "no" >&6; }
+@@ -6445,11 +6699,15 @@ $as_echo "no" >&6; }
fi
@@ -4258,7 +4257,7 @@ index 64de9f19da..a82fde7fa8 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6462,7 +6720,7 @@ do
+@@ -6465,7 +6723,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -4267,7 +4266,7 @@ index 64de9f19da..a82fde7fa8 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6481,6 +6739,10 @@ else
+@@ -6484,6 +6742,10 @@ else
$as_echo "no" >&6; }
fi
@@ -4278,7 +4277,7 @@ index 64de9f19da..a82fde7fa8 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6492,12 +6754,10 @@ ac_tool_warned=yes ;;
+@@ -6495,12 +6757,10 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -4293,7 +4292,7 @@ index 64de9f19da..a82fde7fa8 100755
-@@ -6509,6 +6769,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -6512,6 +6772,64 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -4358,7 +4357,7 @@ index 64de9f19da..a82fde7fa8 100755
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
-@@ -6843,8 +7161,8 @@ esac
+@@ -6846,8 +7164,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -4369,7 +4368,7 @@ index 64de9f19da..a82fde7fa8 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6880,6 +7198,7 @@ for ac_symprfx in "" "_"; do
+@@ -6883,6 +7201,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -4377,7 +4376,7 @@ index 64de9f19da..a82fde7fa8 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6921,6 +7240,18 @@ _LT_EOF
+@@ -6924,6 +7243,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -4396,7 +4395,7 @@ index 64de9f19da..a82fde7fa8 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6932,7 +7263,7 @@ _LT_EOF
+@@ -6935,7 +7266,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -4405,7 +4404,7 @@ index 64de9f19da..a82fde7fa8 100755
const char *name;
void *address;
}
-@@ -6958,8 +7289,8 @@ static const void *lt_preloaded_setup() {
+@@ -6961,8 +7292,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -4416,7 +4415,7 @@ index 64de9f19da..a82fde7fa8 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6969,8 +7300,8 @@ _LT_EOF
+@@ -6972,8 +7303,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -4427,7 +4426,7 @@ index 64de9f19da..a82fde7fa8 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7007,6 +7338,21 @@ else
+@@ -7010,6 +7341,21 @@ else
$as_echo "ok" >&6; }
fi
@@ -4449,7 +4448,7 @@ index 64de9f19da..a82fde7fa8 100755
-@@ -7023,6 +7369,40 @@ fi
+@@ -7026,6 +7372,40 @@ fi
@@ -4490,7 +4489,7 @@ index 64de9f19da..a82fde7fa8 100755
-@@ -7234,6 +7614,123 @@ esac
+@@ -7237,6 +7617,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -4614,7 +4613,7 @@ index 64de9f19da..a82fde7fa8 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7797,6 +8294,8 @@ _LT_EOF
+@@ -7800,6 +8297,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -4623,7 +4622,7 @@ index 64de9f19da..a82fde7fa8 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7992,7 +8491,8 @@ fi
+@@ -7995,7 +8494,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -4633,7 +4632,7 @@ index 64de9f19da..a82fde7fa8 100755
-@@ -8081,7 +8581,7 @@ aix3*)
+@@ -8084,7 +8584,7 @@ aix3*)
esac
# Global variables:
@@ -4642,7 +4641,7 @@ index 64de9f19da..a82fde7fa8 100755
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8379,8 +8879,6 @@ fi
+@@ -8382,8 +8882,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -4651,7 +4650,7 @@ index 64de9f19da..a82fde7fa8 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8546,6 +9044,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8549,6 +9047,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -4664,7 +4663,7 @@ index 64de9f19da..a82fde7fa8 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8608,7 +9112,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8611,7 +9115,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -4673,7 +4672,7 @@ index 64de9f19da..a82fde7fa8 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8665,13 +9169,17 @@ case $host_os in
+@@ -8668,13 +9172,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -4697,7 +4696,7 @@ index 64de9f19da..a82fde7fa8 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8732,6 +9240,11 @@ fi
+@@ -8735,6 +9243,11 @@ fi
@@ -4709,7 +4708,7 @@ index 64de9f19da..a82fde7fa8 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9082,7 +9595,8 @@ _LT_EOF
+@@ -9085,7 +9598,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -4719,7 +4718,7 @@ index 64de9f19da..a82fde7fa8 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9181,12 +9695,12 @@ _LT_EOF
+@@ -9184,12 +9698,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -4734,7 +4733,7 @@ index 64de9f19da..a82fde7fa8 100755
fi
;;
esac
-@@ -9200,8 +9714,8 @@ _LT_EOF
+@@ -9203,8 +9717,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -4745,7 +4744,7 @@ index 64de9f19da..a82fde7fa8 100755
fi
;;
-@@ -9219,8 +9733,8 @@ _LT_EOF
+@@ -9222,8 +9736,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4756,7 +4755,7 @@ index 64de9f19da..a82fde7fa8 100755
else
ld_shlibs=no
fi
-@@ -9266,8 +9780,8 @@ _LT_EOF
+@@ -9269,8 +9783,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -4767,7 +4766,7 @@ index 64de9f19da..a82fde7fa8 100755
else
ld_shlibs=no
fi
-@@ -9397,7 +9911,13 @@ _LT_EOF
+@@ -9400,7 +9914,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4782,7 +4781,7 @@ index 64de9f19da..a82fde7fa8 100755
/* end confdefs.h. */
int
-@@ -9410,22 +9930,29 @@ main ()
+@@ -9413,22 +9933,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4825,7 +4824,7 @@ index 64de9f19da..a82fde7fa8 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9437,7 +9964,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9440,7 +9967,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -4840,7 +4839,7 @@ index 64de9f19da..a82fde7fa8 100755
/* end confdefs.h. */
int
-@@ -9450,22 +9983,29 @@ main ()
+@@ -9453,22 +9986,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -4883,7 +4882,7 @@ index 64de9f19da..a82fde7fa8 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9510,20 +10050,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9513,20 +10053,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -4961,7 +4960,7 @@ index 64de9f19da..a82fde7fa8 100755
;;
darwin* | rhapsody*)
-@@ -9584,7 +10167,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9587,7 +10170,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -4970,7 +4969,7 @@ index 64de9f19da..a82fde7fa8 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9592,7 +10175,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9595,7 +10178,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -4979,7 +4978,7 @@ index 64de9f19da..a82fde7fa8 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9608,7 +10191,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9611,7 +10194,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -4988,7 +4987,7 @@ index 64de9f19da..a82fde7fa8 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9632,10 +10215,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9635,10 +10218,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -5001,7 +5000,7 @@ index 64de9f19da..a82fde7fa8 100755
;;
esac
else
-@@ -9714,23 +10297,36 @@ fi
+@@ -9717,23 +10300,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -5046,7 +5045,7 @@ index 64de9f19da..a82fde7fa8 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9815,7 +10411,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9818,7 +10414,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -5055,7 +5054,7 @@ index 64de9f19da..a82fde7fa8 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9834,9 +10430,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9837,9 +10433,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -5067,7 +5066,7 @@ index 64de9f19da..a82fde7fa8 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10412,8 +11008,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10415,8 +11011,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -5079,7 +5078,7 @@ index 64de9f19da..a82fde7fa8 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10446,13 +11043,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10449,13 +11046,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -5152,7 +5151,7 @@ index 64de9f19da..a82fde7fa8 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10544,7 +11199,7 @@ haiku*)
+@@ -10547,7 +11202,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -5161,16 +5160,16 @@ index 64de9f19da..a82fde7fa8 100755
hardcode_into_libs=yes
;;
-@@ -11340,7 +11995,7 @@ else
+@@ -11343,7 +11998,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11343 "configure"
+-#line 11346 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11384,10 +12039,10 @@ else
+@@ -11387,10 +12042,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5183,16 +5182,16 @@ index 64de9f19da..a82fde7fa8 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11446,7 +12101,7 @@ else
+@@ -11449,7 +12104,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11449 "configure"
+-#line 11452 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11490,10 +12145,10 @@ else
+@@ -11493,10 +12148,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -5205,7 +5204,7 @@ index 64de9f19da..a82fde7fa8 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -15896,13 +16551,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -15928,13 +16583,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -5226,7 +5225,7 @@ index 64de9f19da..a82fde7fa8 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -15917,14 +16579,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -15949,14 +16611,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -5245,7 +5244,7 @@ index 64de9f19da..a82fde7fa8 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -15957,12 +16622,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -15989,12 +16654,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -5259,7 +5258,7 @@ index 64de9f19da..a82fde7fa8 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -16017,8 +16682,13 @@ reload_flag \
+@@ -16049,8 +16714,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -5273,7 +5272,7 @@ index 64de9f19da..a82fde7fa8 100755
STRIP \
RANLIB \
CC \
-@@ -16028,12 +16698,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -16060,12 +16730,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -5289,7 +5288,7 @@ index 64de9f19da..a82fde7fa8 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -16049,7 +16721,6 @@ no_undefined_flag \
+@@ -16081,7 +16753,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -5297,7 +5296,7 @@ index 64de9f19da..a82fde7fa8 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -16085,6 +16756,7 @@ module_cmds \
+@@ -16117,6 +16788,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -5305,7 +5304,7 @@ index 64de9f19da..a82fde7fa8 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -16858,7 +17530,8 @@ $as_echo X"$file" |
+@@ -16890,7 +17562,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -5315,7 +5314,7 @@ index 64de9f19da..a82fde7fa8 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -16961,19 +17634,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -16993,19 +17666,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -5359,7 +5358,7 @@ index 64de9f19da..a82fde7fa8 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -17003,6 +17699,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -17035,6 +17731,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -5372,7 +5371,7 @@ index 64de9f19da..a82fde7fa8 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -17012,6 +17714,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -17044,6 +17746,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -5382,7 +5381,7 @@ index 64de9f19da..a82fde7fa8 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -17126,12 +17831,12 @@ with_gcc=$GCC
+@@ -17158,12 +17863,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -5398,7 +5397,7 @@ index 64de9f19da..a82fde7fa8 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -17218,9 +17923,6 @@ inherit_rpath=$inherit_rpath
+@@ -17250,9 +17955,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -5408,7 +5407,7 @@ index 64de9f19da..a82fde7fa8 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -17236,6 +17938,9 @@ include_expsyms=$lt_include_expsyms
+@@ -17268,6 +17970,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -5418,7 +5417,7 @@ index 64de9f19da..a82fde7fa8 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -17268,210 +17973,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -17300,210 +18005,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -5793,7 +5792,7 @@ index 64de9f19da..a82fde7fa8 100755
chmod +x "$ofile"
diff --git a/gprof/configure b/gprof/configure
-index ab32bab2b6..5119c6019f 100755
+index c23692e5c3d..9f936a5b03d 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -662,8 +662,11 @@ OTOOL
@@ -5862,7 +5861,7 @@ index ab32bab2b6..5119c6019f 100755
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-+if test "${lt_cv_to_host_file_cmd+set}" = set; then :
++if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
@@ -5909,7 +5908,7 @@ index ab32bab2b6..5119c6019f 100755
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-+if test "${lt_cv_to_tool_file_cmd+set}" = set; then :
++if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
@@ -5959,19 +5958,7 @@ index ab32bab2b6..5119c6019f 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -6162,11 +6248,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
--linux-uclibc*)
-- lt_cv_deplibs_check_method=pass_all
-- lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-- ;;
--
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-@@ -6244,6 +6325,21 @@ esac
+@@ -6239,6 +6325,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -5993,7 +5980,7 @@ index ab32bab2b6..5119c6019f 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -6257,11 +6353,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6252,11 +6353,164 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -6016,7 +6003,7 @@ index ab32bab2b6..5119c6019f 100755
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
++if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
@@ -6028,7 +6015,7 @@ index ab32bab2b6..5119c6019f 100755
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6056,7 +6043,7 @@ index ab32bab2b6..5119c6019f 100755
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
@@ -6068,7 +6055,7 @@ index ab32bab2b6..5119c6019f 100755
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6116,7 +6103,7 @@ index ab32bab2b6..5119c6019f 100755
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-+if test "${lt_cv_sharedlib_from_linklib_cmd+set}" = set; then :
++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
@@ -6160,18 +6147,16 @@ index ab32bab2b6..5119c6019f 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -6276,8 +6525,8 @@ do
- IFS=$as_save_IFS
+@@ -6272,7 +6526,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -6297,11 +6546,15 @@ $as_echo "no" >&6; }
+@@ -6292,11 +6546,15 @@ $as_echo "no" >&6; }
fi
@@ -6190,7 +6175,16 @@ index ab32bab2b6..5119c6019f 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -6336,6 +6589,10 @@ else
+@@ -6312,7 +6570,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6331,6 +6589,10 @@ else
$as_echo "no" >&6; }
fi
@@ -6201,7 +6195,7 @@ index ab32bab2b6..5119c6019f 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -6347,16 +6604,72 @@ ac_tool_warned=yes ;;
+@@ -6342,16 +6604,72 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -6226,7 +6220,7 @@ index ab32bab2b6..5119c6019f 100755
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
-+if test "${lt_cv_ar_at_file+set}" = set; then :
++if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
@@ -6278,7 +6272,7 @@ index ab32bab2b6..5119c6019f 100755
-@@ -6698,8 +7011,8 @@ esac
+@@ -6693,8 +7011,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -6289,7 +6283,7 @@ index ab32bab2b6..5119c6019f 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -6735,6 +7048,7 @@ for ac_symprfx in "" "_"; do
+@@ -6730,6 +7048,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -6297,7 +6291,7 @@ index ab32bab2b6..5119c6019f 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -6776,6 +7090,18 @@ _LT_EOF
+@@ -6771,6 +7090,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -6316,7 +6310,7 @@ index ab32bab2b6..5119c6019f 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -6787,7 +7113,7 @@ _LT_EOF
+@@ -6782,7 +7113,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -6325,7 +6319,7 @@ index ab32bab2b6..5119c6019f 100755
const char *name;
void *address;
}
-@@ -6813,8 +7139,8 @@ static const void *lt_preloaded_setup() {
+@@ -6808,8 +7139,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -6336,7 +6330,7 @@ index ab32bab2b6..5119c6019f 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -6824,8 +7150,8 @@ _LT_EOF
+@@ -6819,8 +7150,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -6347,7 +6341,7 @@ index ab32bab2b6..5119c6019f 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -6862,6 +7188,18 @@ else
+@@ -6857,6 +7188,20 @@ else
$as_echo "ok" >&6; }
fi
@@ -6363,18 +6357,18 @@ index ab32bab2b6..5119c6019f 100755
+
+
+
++
++
-@@ -6878,6 +7216,43 @@ fi
+@@ -6873,6 +7218,41 @@ fi
+
+
+
-+
-+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
@@ -6401,7 +6395,7 @@ index ab32bab2b6..5119c6019f 100755
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
+$as_echo "${with_libtool_sysroot}" >&6; }
-+ as_fn_error "The sysroot must be an absolute path." "$LINENO" 5
++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
@@ -6410,7 +6404,7 @@ index ab32bab2b6..5119c6019f 100755
-@@ -7089,6 +7464,123 @@ esac
+@@ -7084,6 +7464,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -6419,7 +6413,7 @@ index ab32bab2b6..5119c6019f 100755
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_prog_MANIFEST_TOOL+set}" = set; then :
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
@@ -6431,7 +6425,7 @@ index ab32bab2b6..5119c6019f 100755
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6459,7 +6453,7 @@ index ab32bab2b6..5119c6019f 100755
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
-+if test "${ac_cv_prog_ac_ct_MANIFEST_TOOL+set}" = set; then :
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
@@ -6471,7 +6465,7 @@ index ab32bab2b6..5119c6019f 100755
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
@@ -6509,7 +6503,7 @@ index ab32bab2b6..5119c6019f 100755
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if test "${lt_cv_path_mainfest_tool+set}" = set; then :
++if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
@@ -6534,7 +6528,7 @@ index ab32bab2b6..5119c6019f 100755
case $host_os in
rhapsody* | darwin*)
-@@ -7652,6 +8144,8 @@ _LT_EOF
+@@ -7647,6 +8144,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -6543,7 +6537,7 @@ index ab32bab2b6..5119c6019f 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -7847,7 +8341,8 @@ fi
+@@ -7842,7 +8341,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -6553,7 +6547,7 @@ index ab32bab2b6..5119c6019f 100755
-@@ -7936,7 +8431,7 @@ aix3*)
+@@ -7931,7 +8431,7 @@ aix3*)
esac
# Global variables:
@@ -6562,7 +6556,7 @@ index ab32bab2b6..5119c6019f 100755
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -8234,8 +8729,6 @@ fi
+@@ -8229,8 +8729,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -6571,7 +6565,7 @@ index ab32bab2b6..5119c6019f 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -8401,6 +8894,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8396,6 +8894,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -6584,7 +6578,7 @@ index ab32bab2b6..5119c6019f 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -8463,7 +8962,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -8458,7 +8962,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -6593,7 +6587,7 @@ index ab32bab2b6..5119c6019f 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -8520,13 +9019,17 @@ case $host_os in
+@@ -8515,13 +9019,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -6606,7 +6600,7 @@ index ab32bab2b6..5119c6019f 100755
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-+if test "${lt_cv_prog_compiler_pic+set}" = set; then :
++if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
@@ -6617,7 +6611,7 @@ index ab32bab2b6..5119c6019f 100755
#
# Check to make sure the PIC flag actually works.
-@@ -8587,6 +9090,11 @@ fi
+@@ -8582,6 +9090,11 @@ fi
@@ -6629,7 +6623,7 @@ index ab32bab2b6..5119c6019f 100755
#
# Check to make sure the static flag actually works.
#
-@@ -8937,7 +9445,8 @@ _LT_EOF
+@@ -8932,7 +9445,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -6639,7 +6633,7 @@ index ab32bab2b6..5119c6019f 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9036,12 +9545,12 @@ _LT_EOF
+@@ -9031,12 +9545,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -6654,7 +6648,7 @@ index ab32bab2b6..5119c6019f 100755
fi
;;
esac
-@@ -9055,8 +9564,8 @@ _LT_EOF
+@@ -9050,8 +9564,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -6665,7 +6659,7 @@ index ab32bab2b6..5119c6019f 100755
fi
;;
-@@ -9074,8 +9583,8 @@ _LT_EOF
+@@ -9069,8 +9583,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -6676,7 +6670,7 @@ index ab32bab2b6..5119c6019f 100755
else
ld_shlibs=no
fi
-@@ -9121,8 +9630,8 @@ _LT_EOF
+@@ -9116,8 +9630,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -6687,7 +6681,7 @@ index ab32bab2b6..5119c6019f 100755
else
ld_shlibs=no
fi
-@@ -9252,7 +9761,13 @@ _LT_EOF
+@@ -9247,7 +9761,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -6695,14 +6689,14 @@ index ab32bab2b6..5119c6019f 100755
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
-+ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-@@ -9265,22 +9780,29 @@ main ()
+@@ -9260,22 +9780,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -6745,7 +6739,7 @@ index ab32bab2b6..5119c6019f 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -9292,7 +9814,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9287,7 +9814,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -6753,14 +6747,14 @@ index ab32bab2b6..5119c6019f 100755
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
-+ if test "${lt_cv_aix_libpath_+set}" = set; then :
++ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
-@@ -9305,22 +9833,29 @@ main ()
+@@ -9300,22 +9833,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -6803,7 +6797,7 @@ index ab32bab2b6..5119c6019f 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -9365,20 +9900,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9360,20 +9900,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
@@ -6881,7 +6875,7 @@ index ab32bab2b6..5119c6019f 100755
;;
darwin* | rhapsody*)
-@@ -9439,7 +10017,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9434,7 +10017,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -6890,7 +6884,7 @@ index ab32bab2b6..5119c6019f 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -9447,7 +10025,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9442,7 +10025,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -6899,7 +6893,7 @@ index ab32bab2b6..5119c6019f 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -9463,7 +10041,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9458,7 +10041,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -6908,7 +6902,7 @@ index ab32bab2b6..5119c6019f 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -9487,10 +10065,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -9482,10 +10065,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -6921,7 +6915,7 @@ index ab32bab2b6..5119c6019f 100755
;;
esac
else
-@@ -9569,23 +10147,36 @@ fi
+@@ -9564,23 +10147,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -6936,7 +6930,7 @@ index ab32bab2b6..5119c6019f 100755
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-+if test "${lt_cv_irix_exported_symbol+set}" = set; then :
++if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
@@ -6966,7 +6960,7 @@ index ab32bab2b6..5119c6019f 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9670,7 +10261,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9665,7 +10261,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -6975,7 +6969,7 @@ index ab32bab2b6..5119c6019f 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -9689,9 +10280,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -9684,9 +10280,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -6987,7 +6981,7 @@ index ab32bab2b6..5119c6019f 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -10267,8 +10858,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10262,8 +10858,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -6999,7 +6993,7 @@ index ab32bab2b6..5119c6019f 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -10301,13 +10893,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -10296,13 +10893,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -7072,7 +7066,7 @@ index ab32bab2b6..5119c6019f 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -10399,7 +11049,7 @@ haiku*)
+@@ -10394,7 +11049,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -7081,7 +7075,16 @@ index ab32bab2b6..5119c6019f 100755
hardcode_into_libs=yes
;;
-@@ -11239,10 +11889,10 @@ else
+@@ -11190,7 +11845,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11193 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11234,10 +11889,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -7094,7 +7097,16 @@ index ab32bab2b6..5119c6019f 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -11345,10 +11995,10 @@ else
+@@ -11296,7 +11951,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11299 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11340,10 +11995,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -7107,7 +7119,7 @@ index ab32bab2b6..5119c6019f 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -13314,13 +13964,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -13309,13 +13964,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -7128,7 +7140,7 @@ index ab32bab2b6..5119c6019f 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -13335,14 +13992,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -13330,14 +13992,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -7147,7 +7159,7 @@ index ab32bab2b6..5119c6019f 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -13375,12 +14035,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -13370,12 +14035,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -7161,7 +7173,7 @@ index ab32bab2b6..5119c6019f 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -13435,8 +14095,13 @@ reload_flag \
+@@ -13430,8 +14095,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -7175,7 +7187,7 @@ index ab32bab2b6..5119c6019f 100755
STRIP \
RANLIB \
CC \
-@@ -13446,12 +14111,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -13441,12 +14111,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -7191,7 +7203,7 @@ index ab32bab2b6..5119c6019f 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -13467,7 +14134,6 @@ no_undefined_flag \
+@@ -13462,7 +14134,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -7199,7 +7211,7 @@ index ab32bab2b6..5119c6019f 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -13503,6 +14169,7 @@ module_cmds \
+@@ -13498,6 +14169,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -7207,7 +7219,7 @@ index ab32bab2b6..5119c6019f 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -14268,7 +14935,8 @@ $as_echo X"$file" |
+@@ -14263,7 +14935,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -7217,7 +7229,7 @@ index ab32bab2b6..5119c6019f 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -14371,19 +15039,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -14366,19 +15039,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -7261,7 +7273,7 @@ index ab32bab2b6..5119c6019f 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -14413,6 +15104,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -14408,6 +15104,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -7274,7 +7286,7 @@ index ab32bab2b6..5119c6019f 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -14422,6 +15119,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -14417,6 +15119,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -7284,7 +7296,7 @@ index ab32bab2b6..5119c6019f 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -14536,12 +15236,12 @@ with_gcc=$GCC
+@@ -14531,12 +15236,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -7300,7 +7312,7 @@ index ab32bab2b6..5119c6019f 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -14628,9 +15328,6 @@ inherit_rpath=$inherit_rpath
+@@ -14623,9 +15328,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -7310,7 +7322,7 @@ index ab32bab2b6..5119c6019f 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -14646,6 +15343,9 @@ include_expsyms=$lt_include_expsyms
+@@ -14641,6 +15343,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -7320,7 +7332,7 @@ index ab32bab2b6..5119c6019f 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -14678,210 +15378,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -14673,210 +15378,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -7695,10 +7707,10 @@ index ab32bab2b6..5119c6019f 100755
chmod +x "$ofile"
diff --git a/ld/configure b/ld/configure
-index bc09e7ef81..43c391c2b3 100755
+index 811134a503b..f432f4637d0 100755
--- a/ld/configure
+++ b/ld/configure
-@@ -687,8 +687,11 @@ OTOOL
+@@ -691,8 +691,11 @@ OTOOL
LIPO
NMEDIT
DSYMUTIL
@@ -7710,7 +7722,7 @@ index bc09e7ef81..43c391c2b3 100755
OBJDUMP
LN_S
NM
-@@ -815,6 +818,7 @@ enable_static
+@@ -819,6 +822,7 @@ enable_static
with_pic
enable_fast_install
with_gnu_ld
@@ -7718,7 +7730,7 @@ index bc09e7ef81..43c391c2b3 100755
enable_libtool_lock
enable_plugins
enable_largefile
-@@ -1507,6 +1511,8 @@ Optional Packages:
+@@ -1512,6 +1516,8 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
@@ -7726,8 +7738,8 @@ index bc09e7ef81..43c391c2b3 100755
+ (or the compiler's sysroot if not specified).
--with-lib-path=dir1:dir2... set default LIB_PATH
--with-sysroot=DIR Search for usr/lib et al within DIR.
-
-@@ -5959,8 +5965,8 @@ esac
+ --with-system-zlib use installed libz
+@@ -5965,8 +5971,8 @@ esac
@@ -7738,7 +7750,7 @@ index bc09e7ef81..43c391c2b3 100755
-@@ -6000,7 +6006,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+@@ -6006,7 +6012,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
$as_echo_n "checking how to print strings... " >&6; }
# Test print first, because it will be a builtin if present.
@@ -7747,7 +7759,7 @@ index bc09e7ef81..43c391c2b3 100755
test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
ECHO='print -r --'
elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -6686,8 +6692,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+@@ -6692,8 +6698,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
# Try some XSI features
xsi_shell=no
( _lt_dummy="a/b/c"
@@ -7758,7 +7770,7 @@ index bc09e7ef81..43c391c2b3 100755
&& eval 'test $(( 1 + 1 )) -eq 2 \
&& test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
&& xsi_shell=yes
-@@ -6736,6 +6742,80 @@ esac
+@@ -6742,6 +6748,80 @@ esac
@@ -7839,7 +7851,7 @@ index bc09e7ef81..43c391c2b3 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
$as_echo_n "checking for $LD option to reload object files... " >&6; }
if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -6752,6 +6832,11 @@ case $reload_flag in
+@@ -6758,6 +6838,11 @@ case $reload_flag in
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
@@ -7851,7 +7863,7 @@ index bc09e7ef81..43c391c2b3 100755
darwin*)
if test "$GCC" = yes; then
reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -6920,7 +7005,8 @@ mingw* | pw32*)
+@@ -6926,7 +7011,8 @@ mingw* | pw32*)
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -7861,7 +7873,7 @@ index bc09e7ef81..43c391c2b3 100755
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
-@@ -7074,6 +7160,21 @@ esac
+@@ -7080,6 +7166,21 @@ esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
$as_echo "$lt_cv_deplibs_check_method" >&6; }
@@ -7883,7 +7895,7 @@ index bc09e7ef81..43c391c2b3 100755
file_magic_cmd=$lt_cv_file_magic_cmd
deplibs_check_method=$lt_cv_deplibs_check_method
test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -7089,9 +7190,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -7095,9 +7196,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -8048,7 +8060,7 @@ index bc09e7ef81..43c391c2b3 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_AR+:} false; then :
-@@ -7107,7 +7361,7 @@ do
+@@ -7113,7 +7367,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -8057,7 +8069,7 @@ index bc09e7ef81..43c391c2b3 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -7127,11 +7381,15 @@ $as_echo "no" >&6; }
+@@ -7133,11 +7387,15 @@ $as_echo "no" >&6; }
fi
@@ -8076,7 +8088,7 @@ index bc09e7ef81..43c391c2b3 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -7147,7 +7405,7 @@ do
+@@ -7153,7 +7411,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
@@ -8085,7 +8097,7 @@ index bc09e7ef81..43c391c2b3 100755
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
-@@ -7166,6 +7424,10 @@ else
+@@ -7172,6 +7430,10 @@ else
$as_echo "no" >&6; }
fi
@@ -8096,7 +8108,7 @@ index bc09e7ef81..43c391c2b3 100755
if test "x$ac_ct_AR" = x; then
AR="false"
else
-@@ -7177,12 +7439,12 @@ ac_tool_warned=yes ;;
+@@ -7183,12 +7445,12 @@ ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
fi
@@ -8113,7 +8125,7 @@ index bc09e7ef81..43c391c2b3 100755
-@@ -7192,6 +7454,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
+@@ -7198,6 +7460,62 @@ test -z "$AR_FLAGS" && AR_FLAGS=cru
@@ -8176,7 +8188,7 @@ index bc09e7ef81..43c391c2b3 100755
if test -n "$ac_tool_prefix"; then
-@@ -7528,8 +7846,8 @@ esac
+@@ -7534,8 +7852,8 @@ esac
lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
@@ -8187,7 +8199,7 @@ index bc09e7ef81..43c391c2b3 100755
# Handle CRLF in mingw tool chain
opt_cr=
-@@ -7565,6 +7883,7 @@ for ac_symprfx in "" "_"; do
+@@ -7571,6 +7889,7 @@ for ac_symprfx in "" "_"; do
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
@@ -8195,7 +8207,7 @@ index bc09e7ef81..43c391c2b3 100755
# Check to see that the pipe works correctly.
pipe_works=no
-@@ -7606,6 +7925,18 @@ _LT_EOF
+@@ -7612,6 +7931,18 @@ _LT_EOF
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
@@ -8214,7 +8226,7 @@ index bc09e7ef81..43c391c2b3 100755
#ifdef __cplusplus
extern "C" {
#endif
-@@ -7617,7 +7948,7 @@ _LT_EOF
+@@ -7623,7 +7954,7 @@ _LT_EOF
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
@@ -8223,7 +8235,7 @@ index bc09e7ef81..43c391c2b3 100755
const char *name;
void *address;
}
-@@ -7643,8 +7974,8 @@ static const void *lt_preloaded_setup() {
+@@ -7649,8 +7980,8 @@ static const void *lt_preloaded_setup() {
_LT_EOF
# Now try linking the two files.
mv conftest.$ac_objext conftstm.$ac_objext
@@ -8234,7 +8246,7 @@ index bc09e7ef81..43c391c2b3 100755
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -7654,8 +7985,8 @@ _LT_EOF
+@@ -7660,8 +7991,8 @@ _LT_EOF
test $ac_status = 0; } && test -s conftest${ac_exeext}; then
pipe_works=yes
fi
@@ -8245,7 +8257,7 @@ index bc09e7ef81..43c391c2b3 100755
else
echo "cannot find nm_test_func in $nlist" >&5
fi
-@@ -7692,6 +8023,19 @@ else
+@@ -7698,6 +8029,19 @@ else
$as_echo "ok" >&6; }
fi
@@ -8265,7 +8277,7 @@ index bc09e7ef81..43c391c2b3 100755
-@@ -7708,6 +8052,42 @@ fi
+@@ -7714,6 +8058,42 @@ fi
@@ -8308,7 +8320,7 @@ index bc09e7ef81..43c391c2b3 100755
-@@ -7919,6 +8299,123 @@ esac
+@@ -7925,6 +8305,123 @@ esac
need_locks="$enable_libtool_lock"
@@ -8432,7 +8444,7 @@ index bc09e7ef81..43c391c2b3 100755
case $host_os in
rhapsody* | darwin*)
-@@ -8482,6 +8979,8 @@ _LT_EOF
+@@ -8488,6 +8985,8 @@ _LT_EOF
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
echo "$AR cru libconftest.a conftest.o" >&5
$AR cru libconftest.a conftest.o 2>&5
@@ -8441,7 +8453,7 @@ index bc09e7ef81..43c391c2b3 100755
cat > conftest.c << _LT_EOF
int main() { return 0;}
_LT_EOF
-@@ -8550,6 +9049,16 @@ done
+@@ -8556,6 +9055,16 @@ done
@@ -8458,7 +8470,7 @@ index bc09e7ef81..43c391c2b3 100755
# Set options
-@@ -8678,7 +9187,8 @@ fi
+@@ -8684,7 +9193,8 @@ fi
LIBTOOL_DEPS="$ltmain"
# Always use our own libtool.
@@ -8468,7 +8480,7 @@ index bc09e7ef81..43c391c2b3 100755
-@@ -8767,7 +9277,7 @@ aix3*)
+@@ -8773,7 +9283,7 @@ aix3*)
esac
# Global variables:
@@ -8477,7 +8489,7 @@ index bc09e7ef81..43c391c2b3 100755
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -9065,8 +9575,6 @@ fi
+@@ -9071,8 +9581,6 @@ fi
lt_prog_compiler_pic=
lt_prog_compiler_static=
@@ -8486,7 +8498,7 @@ index bc09e7ef81..43c391c2b3 100755
if test "$GCC" = yes; then
lt_prog_compiler_wl='-Wl,'
-@@ -9232,6 +9740,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -9238,6 +9746,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='--shared'
lt_prog_compiler_static='--static'
;;
@@ -8499,7 +8511,7 @@ index bc09e7ef81..43c391c2b3 100755
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
-@@ -9294,7 +9808,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -9300,7 +9814,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-Bstatic'
case $cc_basename in
@@ -8508,7 +8520,7 @@ index bc09e7ef81..43c391c2b3 100755
lt_prog_compiler_wl='-Qoption ld ';;
*)
lt_prog_compiler_wl='-Wl,';;
-@@ -9351,13 +9865,17 @@ case $host_os in
+@@ -9357,13 +9871,17 @@ case $host_os in
lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
;;
esac
@@ -8532,7 +8544,7 @@ index bc09e7ef81..43c391c2b3 100755
#
# Check to make sure the PIC flag actually works.
-@@ -9418,6 +9936,11 @@ fi
+@@ -9424,6 +9942,11 @@ fi
@@ -8544,7 +8556,7 @@ index bc09e7ef81..43c391c2b3 100755
#
# Check to make sure the static flag actually works.
#
-@@ -9768,7 +10291,8 @@ _LT_EOF
+@@ -9774,7 +10297,8 @@ _LT_EOF
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -8554,7 +8566,7 @@ index bc09e7ef81..43c391c2b3 100755
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -9867,12 +10391,12 @@ _LT_EOF
+@@ -9873,12 +10397,12 @@ _LT_EOF
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
hardcode_libdir_flag_spec=
hardcode_libdir_flag_spec_ld='-rpath $libdir'
@@ -8569,7 +8581,7 @@ index bc09e7ef81..43c391c2b3 100755
fi
;;
esac
-@@ -9886,8 +10410,8 @@ _LT_EOF
+@@ -9892,8 +10416,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -8580,7 +8592,7 @@ index bc09e7ef81..43c391c2b3 100755
fi
;;
-@@ -9905,8 +10429,8 @@ _LT_EOF
+@@ -9911,8 +10435,8 @@ _LT_EOF
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8591,7 +8603,7 @@ index bc09e7ef81..43c391c2b3 100755
else
ld_shlibs=no
fi
-@@ -9952,8 +10476,8 @@ _LT_EOF
+@@ -9958,8 +10482,8 @@ _LT_EOF
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
@@ -8602,7 +8614,7 @@ index bc09e7ef81..43c391c2b3 100755
else
ld_shlibs=no
fi
-@@ -10083,7 +10607,13 @@ _LT_EOF
+@@ -10089,7 +10613,13 @@ _LT_EOF
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -8617,7 +8629,7 @@ index bc09e7ef81..43c391c2b3 100755
/* end confdefs.h. */
int
-@@ -10096,22 +10626,29 @@ main ()
+@@ -10102,22 +10632,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -8660,7 +8672,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -10123,7 +10660,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10129,7 +10666,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -8675,7 +8687,7 @@ index bc09e7ef81..43c391c2b3 100755
/* end confdefs.h. */
int
-@@ -10136,22 +10679,29 @@ main ()
+@@ -10142,22 +10685,29 @@ main ()
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
@@ -8718,7 +8730,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -10195,21 +10745,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10201,21 +10751,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -8798,7 +8810,7 @@ index bc09e7ef81..43c391c2b3 100755
;;
darwin* | rhapsody*)
-@@ -10270,7 +10863,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10276,7 +10869,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
@@ -8807,7 +8819,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
-@@ -10278,7 +10871,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10284,7 +10877,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux9*)
if test "$GCC" = yes; then
@@ -8816,7 +8828,7 @@ index bc09e7ef81..43c391c2b3 100755
else
archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
-@@ -10294,7 +10887,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10300,7 +10893,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
@@ -8825,7 +8837,7 @@ index bc09e7ef81..43c391c2b3 100755
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
-@@ -10318,10 +10911,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -10324,10 +10917,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
@@ -8838,7 +8850,7 @@ index bc09e7ef81..43c391c2b3 100755
;;
esac
else
-@@ -10400,23 +10993,36 @@ fi
+@@ -10406,23 +10999,36 @@ fi
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
@@ -8883,7 +8895,7 @@ index bc09e7ef81..43c391c2b3 100755
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -10501,7 +11107,7 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10507,7 +11113,7 @@ rm -f core conftest.err conftest.$ac_objext \
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -8892,7 +8904,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
-@@ -10520,9 +11126,9 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -10526,9 +11132,9 @@ rm -f core conftest.err conftest.$ac_objext \
no_undefined_flag=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
@@ -8904,7 +8916,7 @@ index bc09e7ef81..43c391c2b3 100755
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
-@@ -11098,8 +11704,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11104,8 +11710,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -8916,7 +8928,7 @@ index bc09e7ef81..43c391c2b3 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -11132,13 +11739,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -11138,13 +11745,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -8989,7 +9001,7 @@ index bc09e7ef81..43c391c2b3 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -11230,7 +11895,7 @@ haiku*)
+@@ -11236,7 +11901,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -8998,16 +9010,16 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_into_libs=yes
;;
-@@ -12026,7 +12691,7 @@ else
+@@ -12032,7 +12697,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 12029 "configure"
+-#line 12035 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -12070,10 +12735,10 @@ else
+@@ -12076,10 +12741,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -9020,16 +9032,16 @@ index bc09e7ef81..43c391c2b3 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12132,7 +12797,7 @@ else
+@@ -12138,7 +12803,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 12135 "configure"
+-#line 12141 "configure"
+#line $LINENO "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -12176,10 +12841,10 @@ else
+@@ -12182,10 +12847,10 @@ else
/* When -fvisbility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
@@ -9042,7 +9054,7 @@ index bc09e7ef81..43c391c2b3 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12571,6 +13236,7 @@ $RM -r conftest*
+@@ -12577,6 +13242,7 @@ $RM -r conftest*
# Allow CC to be a program name with arguments.
lt_save_CC=$CC
@@ -9050,7 +9062,7 @@ index bc09e7ef81..43c391c2b3 100755
lt_save_LD=$LD
lt_save_GCC=$GCC
GCC=$GXX
-@@ -12588,6 +13254,7 @@ $RM -r conftest*
+@@ -12594,6 +13260,7 @@ $RM -r conftest*
fi
test -z "${LDCXX+set}" || LD=$LDCXX
CC=${CXX-"c++"}
@@ -9058,7 +9070,7 @@ index bc09e7ef81..43c391c2b3 100755
compiler=$CC
compiler_CXX=$CC
for cc_temp in $compiler""; do
-@@ -12870,7 +13537,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -12876,7 +13543,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
allow_undefined_flag_CXX='-berok'
# Determine the default libpath from the value encoded in an empty
# executable.
@@ -9073,7 +9085,7 @@ index bc09e7ef81..43c391c2b3 100755
/* end confdefs.h. */
int
-@@ -12883,22 +13556,29 @@ main ()
+@@ -12889,22 +13562,29 @@ main ()
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
@@ -9116,7 +9128,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-@@ -12911,7 +13591,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12917,7 +13597,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
else
# Determine the default libpath from the value encoded in an
# empty executable.
@@ -9131,7 +9143,7 @@ index bc09e7ef81..43c391c2b3 100755
/* end confdefs.h. */
int
-@@ -12924,22 +13610,29 @@ main ()
+@@ -12930,22 +13616,29 @@ main ()
_ACEOF
if ac_fn_cxx_try_link "$LINENO"; then :
@@ -9174,7 +9186,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
-@@ -12982,29 +13675,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -12988,29 +13681,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
cygwin* | mingw* | pw32* | cegcc*)
@@ -9273,7 +9285,7 @@ index bc09e7ef81..43c391c2b3 100755
darwin* | rhapsody*)
-@@ -13110,7 +13849,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13116,7 +13855,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;
*)
if test "$GXX" = yes; then
@@ -9282,7 +9294,7 @@ index bc09e7ef81..43c391c2b3 100755
else
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
-@@ -13181,10 +13920,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13187,10 +13926,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
@@ -9295,7 +9307,7 @@ index bc09e7ef81..43c391c2b3 100755
;;
esac
fi
-@@ -13225,9 +13964,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13231,9 +13970,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
@@ -9307,7 +9319,7 @@ index bc09e7ef81..43c391c2b3 100755
fi
fi
link_all_deplibs_CXX=yes
-@@ -13297,20 +14036,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13303,20 +14042,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
prelink_cmds_CXX='tpldir=Template.dir~
rm -rf $tpldir~
$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
@@ -9332,7 +9344,7 @@ index bc09e7ef81..43c391c2b3 100755
;;
*) # Version 6 and above use weak symbols
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-@@ -13505,7 +14244,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13511,7 +14250,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
@@ -9341,7 +9353,7 @@ index bc09e7ef81..43c391c2b3 100755
;;
esac
-@@ -13551,7 +14290,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13557,7 +14296,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
solaris*)
case $cc_basename in
@@ -9350,7 +9362,7 @@ index bc09e7ef81..43c391c2b3 100755
# Sun C++ 4.2, 5.x and Centerline C++
archive_cmds_need_lc_CXX=yes
no_undefined_flag_CXX=' -zdefs'
-@@ -13592,9 +14331,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+@@ -13598,9 +14337,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
@@ -9362,7 +9374,7 @@ index bc09e7ef81..43c391c2b3 100755
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
-@@ -13729,6 +14468,13 @@ private:
+@@ -13735,6 +14474,13 @@ private:
};
_LT_EOF
@@ -9376,7 +9388,7 @@ index bc09e7ef81..43c391c2b3 100755
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
-@@ -13742,7 +14488,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13748,7 +14494,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
@@ -9385,7 +9397,7 @@ index bc09e7ef81..43c391c2b3 100755
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
-@@ -13751,13 +14497,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13757,13 +14503,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
test $p = "-R"; then
prev=$p
continue
@@ -9412,7 +9424,7 @@ index bc09e7ef81..43c391c2b3 100755
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
-@@ -13777,8 +14532,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+@@ -13783,8 +14538,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
postdeps_CXX="${postdeps_CXX} ${prev}${p}"
fi
fi
@@ -9423,7 +9435,7 @@ index bc09e7ef81..43c391c2b3 100755
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
-@@ -13814,6 +14571,7 @@ else
+@@ -13820,6 +14577,7 @@ else
fi
$RM -f confest.$objext
@@ -9431,7 +9443,7 @@ index bc09e7ef81..43c391c2b3 100755
# PORTME: override above test on systems where it is broken
case $host_os in
-@@ -13849,7 +14607,7 @@ linux*)
+@@ -13855,7 +14613,7 @@ linux*)
solaris*)
case $cc_basename in
@@ -9440,7 +9452,7 @@ index bc09e7ef81..43c391c2b3 100755
# The more standards-conforming stlport4 library is
# incompatible with the Cstd library. Avoid specifying
# it if it's in CXXFLAGS. Ignore libCrun as
-@@ -13914,8 +14672,6 @@ fi
+@@ -13920,8 +14678,6 @@ fi
lt_prog_compiler_pic_CXX=
lt_prog_compiler_static_CXX=
@@ -9449,7 +9461,7 @@ index bc09e7ef81..43c391c2b3 100755
# C++ specific cases for pic, static, wl, etc.
if test "$GXX" = yes; then
-@@ -14020,6 +14776,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -14026,6 +14782,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
esac
;;
@@ -9461,7 +9473,7 @@ index bc09e7ef81..43c391c2b3 100755
dgux*)
case $cc_basename in
ec++*)
-@@ -14172,7 +14933,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+@@ -14178,7 +14939,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
solaris*)
case $cc_basename in
@@ -9470,7 +9482,7 @@ index bc09e7ef81..43c391c2b3 100755
# Sun C++ 4.2, 5.x and Centerline C++
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-Bstatic'
-@@ -14237,10 +14998,17 @@ case $host_os in
+@@ -14243,10 +15004,17 @@ case $host_os in
lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
;;
esac
@@ -9491,7 +9503,7 @@ index bc09e7ef81..43c391c2b3 100755
#
# Check to make sure the PIC flag actually works.
-@@ -14298,6 +15066,8 @@ fi
+@@ -14304,6 +15072,8 @@ fi
@@ -9500,7 +9512,7 @@ index bc09e7ef81..43c391c2b3 100755
#
# Check to make sure the static flag actually works.
#
-@@ -14475,6 +15245,7 @@ fi
+@@ -14481,6 +15251,7 @@ fi
$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -9508,7 +9520,7 @@ index bc09e7ef81..43c391c2b3 100755
case $host_os in
aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
-@@ -14489,15 +15260,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
+@@ -14495,15 +15266,20 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
;;
pw32*)
export_symbols_cmds_CXX="$ltdll_cmds"
@@ -9534,7 +9546,7 @@ index bc09e7ef81..43c391c2b3 100755
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
$as_echo "$ld_shlibs_CXX" >&6; }
-@@ -14760,8 +15536,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14766,8 +15542,9 @@ cygwin* | mingw* | pw32* | cegcc*)
need_version=no
need_lib_prefix=no
@@ -9546,7 +9558,7 @@ index bc09e7ef81..43c391c2b3 100755
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
-@@ -14793,13 +15570,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+@@ -14799,13 +15576,71 @@ cygwin* | mingw* | pw32* | cegcc*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
;;
esac
@@ -9619,7 +9631,7 @@ index bc09e7ef81..43c391c2b3 100755
# FIXME: first we should search . and the directory the executable is in
shlibpath_var=PATH
;;
-@@ -14890,7 +15725,7 @@ haiku*)
+@@ -14896,7 +15731,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
@@ -9628,7 +9640,7 @@ index bc09e7ef81..43c391c2b3 100755
hardcode_into_libs=yes
;;
-@@ -15349,6 +16184,7 @@ fi
+@@ -15355,6 +16190,7 @@ fi
fi # test -n "$compiler"
CC=$lt_save_CC
@@ -9636,7 +9648,7 @@ index bc09e7ef81..43c391c2b3 100755
LDCXX=$LD
LD=$lt_save_LD
GCC=$lt_save_GCC
-@@ -18444,13 +19280,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+@@ -18477,13 +19313,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
@@ -9657,7 +9669,7 @@ index bc09e7ef81..43c391c2b3 100755
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -18465,14 +19308,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+@@ -18498,14 +19341,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -9676,7 +9688,7 @@ index bc09e7ef81..43c391c2b3 100755
DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -18505,12 +19351,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+@@ -18538,12 +19384,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
@@ -9690,7 +9702,7 @@ index bc09e7ef81..43c391c2b3 100755
file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -18549,8 +19395,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
+@@ -18582,8 +19428,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9700,7 +9712,7 @@ index bc09e7ef81..43c391c2b3 100755
lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18577,12 +19423,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
+@@ -18610,12 +19456,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
@@ -9714,7 +9726,7 @@ index bc09e7ef81..43c391c2b3 100755
file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-@@ -18620,8 +19466,13 @@ reload_flag \
+@@ -18653,8 +19499,13 @@ reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -9728,7 +9740,7 @@ index bc09e7ef81..43c391c2b3 100755
STRIP \
RANLIB \
CC \
-@@ -18631,12 +19482,14 @@ lt_cv_sys_global_symbol_pipe \
+@@ -18664,12 +19515,14 @@ lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
@@ -9744,7 +9756,7 @@ index bc09e7ef81..43c391c2b3 100755
DSYMUTIL \
NMEDIT \
LIPO \
-@@ -18652,7 +19505,6 @@ no_undefined_flag \
+@@ -18685,7 +19538,6 @@ no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
@@ -9752,7 +9764,7 @@ index bc09e7ef81..43c391c2b3 100755
exclude_expsyms \
include_expsyms \
file_list_spec \
-@@ -18674,8 +19526,8 @@ LD_CXX \
+@@ -18707,8 +19559,8 @@ LD_CXX \
reload_flag_CXX \
compiler_CXX \
lt_prog_compiler_no_builtin_flag_CXX \
@@ -9762,7 +9774,7 @@ index bc09e7ef81..43c391c2b3 100755
lt_prog_compiler_static_CXX \
lt_cv_prog_compiler_c_o_CXX \
export_dynamic_flag_spec_CXX \
-@@ -18687,7 +19539,6 @@ no_undefined_flag_CXX \
+@@ -18720,7 +19572,6 @@ no_undefined_flag_CXX \
hardcode_libdir_flag_spec_CXX \
hardcode_libdir_flag_spec_ld_CXX \
hardcode_libdir_separator_CXX \
@@ -9770,7 +9782,7 @@ index bc09e7ef81..43c391c2b3 100755
exclude_expsyms_CXX \
include_expsyms_CXX \
file_list_spec_CXX \
-@@ -18721,6 +19572,7 @@ module_cmds \
+@@ -18754,6 +19605,7 @@ module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
@@ -9778,7 +9790,7 @@ index bc09e7ef81..43c391c2b3 100755
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
-@@ -18735,7 +19587,8 @@ archive_expsym_cmds_CXX \
+@@ -18768,7 +19620,8 @@ archive_expsym_cmds_CXX \
module_cmds_CXX \
module_expsym_cmds_CXX \
export_symbols_cmds_CXX \
@@ -9788,7 +9800,7 @@ index bc09e7ef81..43c391c2b3 100755
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-@@ -19539,7 +20392,8 @@ $as_echo X"$file" |
+@@ -19533,7 +20386,8 @@ $as_echo X"$file" |
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
@@ -9798,7 +9810,7 @@ index bc09e7ef81..43c391c2b3 100755
# Written by Gordon Matzigkeit, 1996
#
# This file is part of GNU Libtool.
-@@ -19642,19 +20496,42 @@ SP2NL=$lt_lt_SP2NL
+@@ -19636,19 +20490,42 @@ SP2NL=$lt_lt_SP2NL
# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP
@@ -9842,7 +9854,7 @@ index bc09e7ef81..43c391c2b3 100755
# A symbol stripping program.
STRIP=$lt_STRIP
-@@ -19684,6 +20561,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+@@ -19678,6 +20555,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
@@ -9855,7 +9867,7 @@ index bc09e7ef81..43c391c2b3 100755
# The name of the directory that contains temporary libtool files.
objdir=$objdir
-@@ -19693,6 +20576,9 @@ MAGIC_CMD=$MAGIC_CMD
+@@ -19687,6 +20570,9 @@ MAGIC_CMD=$MAGIC_CMD
# Must we lock files when doing compilation?
need_locks=$lt_need_locks
@@ -9865,7 +9877,7 @@ index bc09e7ef81..43c391c2b3 100755
# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL
-@@ -19807,12 +20693,12 @@ with_gcc=$GCC
+@@ -19801,12 +20687,12 @@ with_gcc=$GCC
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
@@ -9881,7 +9893,7 @@ index bc09e7ef81..43c391c2b3 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static
-@@ -19899,9 +20785,6 @@ inherit_rpath=$inherit_rpath
+@@ -19893,9 +20779,6 @@ inherit_rpath=$inherit_rpath
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs
@@ -9891,7 +9903,7 @@ index bc09e7ef81..43c391c2b3 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols
-@@ -19917,6 +20800,9 @@ include_expsyms=$lt_include_expsyms
+@@ -19911,6 +20794,9 @@ include_expsyms=$lt_include_expsyms
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds
@@ -9901,7 +9913,7 @@ index bc09e7ef81..43c391c2b3 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec
-@@ -19963,210 +20849,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+@@ -19957,210 +20843,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
@@ -10275,7 +10287,7 @@ index bc09e7ef81..43c391c2b3 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-@@ -20194,12 +21039,12 @@ with_gcc=$GCC_CXX
+@@ -20188,12 +21033,12 @@ with_gcc=$GCC_CXX
# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
@@ -10291,7 +10303,7 @@ index bc09e7ef81..43c391c2b3 100755
# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static_CXX
-@@ -20286,9 +21131,6 @@ inherit_rpath=$inherit_rpath_CXX
+@@ -20280,9 +21125,6 @@ inherit_rpath=$inherit_rpath_CXX
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs_CXX
@@ -10301,7 +10313,7 @@ index bc09e7ef81..43c391c2b3 100755
# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols_CXX
-@@ -20304,6 +21146,9 @@ include_expsyms=$lt_include_expsyms_CXX
+@@ -20298,6 +21140,9 @@ include_expsyms=$lt_include_expsyms_CXX
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds_CXX
@@ -10311,8 +10323,1918 @@ index bc09e7ef81..43c391c2b3 100755
# Specify filename containing input files.
file_list_spec=$lt_file_list_spec_CXX
+diff --git a/libctf/configure b/libctf/configure
+index e5493b31691..9977e4f7a42 100755
+--- a/libctf/configure
++++ b/libctf/configure
+@@ -663,6 +663,8 @@ OTOOL
+ LIPO
+ NMEDIT
+ DSYMUTIL
++MANIFEST_TOOL
++DLLTOOL
+ OBJDUMP
+ LN_S
+ NM
+@@ -778,6 +780,7 @@ enable_static
+ with_pic
+ enable_fast_install
+ with_gnu_ld
++with_libtool_sysroot
+ enable_libtool_lock
+ enable_largefile
+ enable_werror_always
+@@ -1436,6 +1439,8 @@ Optional Packages:
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
++ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
++ (or the compiler's sysroot if not specified).
+ --with-system-zlib use installed libz
+
+ Some influential environment variables:
+@@ -5324,8 +5329,8 @@ esac
+
+
+
+-macro_version='2.2.7a'
+-macro_revision='1.3134'
++macro_version='2.4'
++macro_revision='1.3293'
+
+
+
+@@ -5436,7 +5441,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+ $as_echo_n "checking how to print strings... " >&6; }
+ # Test print first, because it will be a builtin if present.
+-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+ elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+@@ -6122,8 +6127,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
+ # Try some XSI features
+ xsi_shell=no
+ ( _lt_dummy="a/b/c"
+- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+- = c,a/b,, \
++ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+@@ -6172,6 +6177,80 @@ esac
+
+
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
++$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
++if ${lt_cv_to_host_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
++ ;;
++ esac
++ ;;
++ *-*-cygwin* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
++ ;;
++ *-*-cygwin* )
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++ * ) # otherwise, assume *nix
++ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
++ ;;
++ esac
++ ;;
++ * ) # unhandled hosts (and "normal" native builds)
++ lt_cv_to_host_file_cmd=func_convert_file_noop
++ ;;
++esac
++
++fi
++
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
++$as_echo "$lt_cv_to_host_file_cmd" >&6; }
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
++$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
++if ${lt_cv_to_tool_file_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ #assume ordinary cross tools, or native build.
++lt_cv_to_tool_file_cmd=func_convert_file_noop
++case $host in
++ *-*-mingw* )
++ case $build in
++ *-*-mingw* ) # actually msys
++ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
++ ;;
++ esac
++ ;;
++esac
++
++fi
++
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
++$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+ $as_echo_n "checking for $LD option to reload object files... " >&6; }
+ if ${lt_cv_ld_reload_flag+:} false; then :
+@@ -6188,6 +6267,11 @@ case $reload_flag in
+ esac
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ case $host_os in
++ cygwin* | mingw* | pw32* | cegcc*)
++ if test "$GCC" != yes; then
++ reload_cmds=false
++ fi
++ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+@@ -6356,7 +6440,8 @@ mingw* | pw32*)
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ # Keep this pattern in sync with the one in func_win32_libid.
++ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+@@ -6510,6 +6595,21 @@ esac
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+ $as_echo "$lt_cv_deplibs_check_method" >&6; }
++
++file_magic_glob=
++want_nocaseglob=no
++if test "$build" = "$host"; then
++ case $host_os in
++ mingw* | pw32*)
++ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
++ want_nocaseglob=yes
++ else
++ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
++ fi
++ ;;
++ esac
++fi
++
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -6525,9 +6625,162 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$DLLTOOL"; then
++ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++DLLTOOL=$ac_cv_prog_DLLTOOL
++if test -n "$DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
++$as_echo "$DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DLLTOOL"; then
++ ac_ct_DLLTOOL=$DLLTOOL
++ # Extract the first word of "dlltool", so it can be a program name with args.
++set dummy dlltool; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_DLLTOOL"; then
++ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
++if test -n "$ac_ct_DLLTOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
++$as_echo "$ac_ct_DLLTOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_DLLTOOL" = x; then
++ DLLTOOL="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ DLLTOOL=$ac_ct_DLLTOOL
++ fi
++else
++ DLLTOOL="$ac_cv_prog_DLLTOOL"
++fi
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
++$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
++if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_sharedlib_from_linklib_cmd='unknown'
++
++case $host_os in
++cygwin* | mingw* | pw32* | cegcc*)
++ # two different shell functions defined in ltmain.sh
++ # decide which to use based on capabilities of $DLLTOOL
++ case `$DLLTOOL --help 2>&1` in
++ *--identify-strict*)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
++ ;;
++ *)
++ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
++ ;;
++ esac
++ ;;
++*)
++ # fallback: assume linklib IS sharedlib
++ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
++ ;;
++esac
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
++$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
++sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
++test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
++
++
++
++
++
++
++
+ if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
++ for ac_prog in ar
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_AR+:} false; then :
+@@ -6543,7 +6796,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6563,11 +6816,15 @@ $as_echo "no" >&6; }
+ fi
+
+
++ test -n "$AR" && break
++ done
+ fi
+-if test -z "$ac_cv_prog_AR"; then
++if test -z "$AR"; then
+ ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
++ for ac_prog in ar
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_ac_ct_AR+:} false; then :
+@@ -6583,7 +6840,7 @@ do
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_AR="ar"
++ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+@@ -6602,6 +6859,10 @@ else
+ $as_echo "no" >&6; }
+ fi
+
++
++ test -n "$ac_ct_AR" && break
++done
++
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+@@ -6613,16 +6874,72 @@ ac_tool_warned=yes ;;
+ esac
+ AR=$ac_ct_AR
+ fi
+-else
+- AR="$ac_cv_prog_AR"
+ fi
+
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
++: ${AR=ar}
++: ${AR_FLAGS=cru}
++
++
++
++
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
++$as_echo_n "checking for archiver @FILE support... " >&6; }
++if ${lt_cv_ar_at_file+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_ar_at_file=no
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++ echo conftest.$ac_objext > conftest.lst
++ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -eq 0; then
++ # Ensure the archiver fails upon bogus file names.
++ rm -f conftest.$ac_objext libconftest.a
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
++ (eval $lt_ar_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }
++ if test "$ac_status" -ne 0; then
++ lt_cv_ar_at_file=@
++ fi
++ fi
++ rm -f conftest.* libconftest.a
+
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
++$as_echo "$lt_cv_ar_at_file" >&6; }
+
++if test "x$lt_cv_ar_at_file" = xno; then
++ archiver_list_spec=
++else
++ archiver_list_spec=$lt_cv_ar_at_file
++fi
+
+
+
+@@ -6964,8 +7281,8 @@ esac
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+ # Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+ # Handle CRLF in mingw tool chain
+ opt_cr=
+@@ -7001,6 +7318,7 @@ for ac_symprfx in "" "_"; do
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
++ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+@@ -7042,6 +7360,18 @@ _LT_EOF
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
++/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
++#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
++/* DATA imports from DLLs on WIN32 con't be const, because runtime
++ relocations are performed -- see ld's documentation on pseudo-relocs. */
++# define LT_DLSYM_CONST
++#elif defined(__osf__)
++/* This system does not cope well with relocations in const data. */
++# define LT_DLSYM_CONST
++#else
++# define LT_DLSYM_CONST const
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -7053,7 +7383,7 @@ _LT_EOF
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+ /* The mapping between symbol names and symbols. */
+-const struct {
++LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+ }
+@@ -7079,8 +7409,8 @@ static const void *lt_preloaded_setup() {
+ _LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
++ lt_globsym_save_LIBS=$LIBS
++ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+@@ -7090,8 +7420,8 @@ _LT_EOF
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
++ LIBS=$lt_globsym_save_LIBS
++ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+@@ -7128,6 +7458,16 @@ else
+ $as_echo "ok" >&6; }
+ fi
+
++# Response file support.
++if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ nm_file_list_spec='@'
++elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
++ nm_file_list_spec='@'
++fi
++
++
++
++
+
+
+
+@@ -7144,6 +7484,45 @@ fi
+
+
+
++
++
++
++
++
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
++$as_echo_n "checking for sysroot... " >&6; }
++
++# Check whether --with-libtool-sysroot was given.
++if test "${with_libtool_sysroot+set}" = set; then :
++ withval=$with_libtool_sysroot;
++else
++ with_libtool_sysroot=no
++fi
++
++
++lt_sysroot=
++case ${with_libtool_sysroot} in #(
++ yes)
++ if test "$GCC" = yes; then
++ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++ fi
++ ;; #(
++ /*)
++ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
++ ;; #(
++ no|'')
++ ;; #(
++ *)
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
++$as_echo "${with_libtool_sysroot}" >&6; }
++ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
++ ;;
++esac
++
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
++$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+@@ -7355,6 +7734,123 @@ esac
+
+ need_locks="$enable_libtool_lock"
+
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
++set dummy ${ac_tool_prefix}mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$MANIFEST_TOOL"; then
++ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
++if test -n "$MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
++$as_echo "$MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
++ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
++ # Extract the first word of "mt", so it can be a program name with args.
++set dummy mt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ if test -n "$ac_ct_MANIFEST_TOOL"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++ done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
++if test -n "$ac_ct_MANIFEST_TOOL"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
++$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
++else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++ if test "x$ac_ct_MANIFEST_TOOL" = x; then
++ MANIFEST_TOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
++ fi
++else
++ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
++fi
++
++test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
++$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
++if ${lt_cv_path_mainfest_tool+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_path_mainfest_tool=no
++ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
++ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
++ cat conftest.err >&5
++ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
++ lt_cv_path_mainfest_tool=yes
++ fi
++ rm -f conftest*
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
++$as_echo "$lt_cv_path_mainfest_tool" >&6; }
++if test "x$lt_cv_path_mainfest_tool" != xyes; then
++ MANIFEST_TOOL=:
++fi
++
++
++
++
++
+
+ case $host_os in
+ rhapsody* | darwin*)
+@@ -7918,6 +8414,8 @@ _LT_EOF
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
++ echo "$RANLIB libconftest.a" >&5
++ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+ int main() { return 0;}
+ _LT_EOF
+@@ -8083,7 +8581,8 @@ fi
+ LIBTOOL_DEPS="$ltmain"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/${host_alias}-libtool"
+
+
+
+@@ -8172,7 +8671,7 @@ aix3*)
+ esac
+
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+@@ -8470,8 +8969,6 @@ fi
+ lt_prog_compiler_pic=
+ lt_prog_compiler_static=
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+@@ -8637,6 +9134,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
++ nagfor*)
++ # NAG Fortran compiler
++ lt_prog_compiler_wl='-Wl,-Wl,,'
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+@@ -8699,7 +9202,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+- f77* | f90* | f95*)
++ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+@@ -8756,13 +9259,17 @@ case $host_os in
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+ esac
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+-$as_echo "$lt_prog_compiler_pic" >&6; }
+-
+-
+-
+-
+
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
++$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
++if ${lt_cv_prog_compiler_pic+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
++$as_echo "$lt_cv_prog_compiler_pic" >&6; }
++lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+ #
+ # Check to make sure the PIC flag actually works.
+@@ -8823,6 +9330,11 @@ fi
+
+
+
++
++
++
++
++
+ #
+ # Check to make sure the static flag actually works.
+ #
+@@ -9173,7 +9685,8 @@ _LT_EOF
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
++ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+@@ -9272,12 +9785,12 @@ _LT_EOF
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+@@ -9291,8 +9804,8 @@ _LT_EOF
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+@@ -9310,8 +9823,8 @@ _LT_EOF
+
+ _LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9357,8 +9870,8 @@ _LT_EOF
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+@@ -9488,7 +10001,13 @@ _LT_EOF
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9501,22 +10020,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+@@ -9528,7 +10054,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ if test "${lt_cv_aix_libpath+set}" = set; then
++ aix_libpath=$lt_cv_aix_libpath
++else
++ if ${lt_cv_aix_libpath_+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+ int
+@@ -9541,22 +10073,29 @@ main ()
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+
+-lt_aix_libpath_sed='
+- /Import File Strings/,/^$/ {
+- /^0/ {
+- s/^0 *\(.*\)$/\1/
+- p
+- }
+- }'
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then
+- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+-fi
++ lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\([^ ]*\) *$/\1/
++ p
++ }
++ }'
++ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ # Check for a 64-bit object if we didn't find anything.
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++ fi
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++ if test -z "$lt_cv_aix_libpath_"; then
++ lt_cv_aix_libpath_="/usr/lib:/lib"
++ fi
++
++fi
++
++ aix_libpath=$lt_cv_aix_libpath_
++fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+@@ -9601,20 +10140,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_from_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
++ case $cc_basename in
++ cl*)
++ # Native MSVC
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ file_list_spec='@'
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
++ else
++ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
++ fi~
++ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
++ linknames='
++ # The linker will not automatically build a static lib if we build a DLL.
++ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++ # Don't use ranlib
++ old_postinstall_cmds='chmod 644 $oldlib'
++ postlink_cmds='lt_outputfile="@OUTPUT@"~
++ lt_tool_outputfile="@TOOL_OUTPUT@"~
++ case $lt_outputfile in
++ *.exe|*.EXE) ;;
++ *)
++ lt_outputfile="$lt_outputfile.exe"
++ lt_tool_outputfile="$lt_tool_outputfile.exe"
++ ;;
++ esac~
++ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
++ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
++ $RM "$lt_outputfile.manifest";
++ fi'
++ ;;
++ *)
++ # Assume MSVC wrapper
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ enable_shared_with_static_runtimes=yes
++ ;;
++ esac
+ ;;
+
+ darwin* | rhapsody*)
+@@ -9675,7 +10257,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+@@ -9683,7 +10265,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux9*)
+ if test "$GCC" = yes; then
+- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+@@ -9699,7 +10281,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+@@ -9723,10 +10305,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+@@ -9805,23 +10387,36 @@ fi
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++ # This should be the same for all languages, so no per-tag cache variable.
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
++$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
++if ${lt_cv_irix_exported_symbol+:} false; then :
++ $as_echo_n "(cached) " >&6
++else
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-int foo(void) {}
++int foo (void) { return 0; }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+-
++ lt_cv_irix_exported_symbol=yes
++else
++ lt_cv_irix_exported_symbol=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+- LDFLAGS="$save_LDFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
++$as_echo "$lt_cv_irix_exported_symbol" >&6; }
++ if test "$lt_cv_irix_exported_symbol" = yes; then
++ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+@@ -9906,7 +10501,7 @@ rm -f core conftest.err conftest.$ac_objext \
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+@@ -9925,9 +10520,9 @@ rm -f core conftest.err conftest.$ac_objext \
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+@@ -10503,8 +11098,9 @@ cygwin* | mingw* | pw32* | cegcc*)
+ need_version=no
+ need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
++ case $GCC,$cc_basename in
++ yes,*)
++ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+@@ -10537,13 +11133,71 @@ cygwin* | mingw* | pw32* | cegcc*)
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
++ dynamic_linker='Win32 ld.exe'
++ ;;
++
++ *,cl*)
++ # Native MSVC
++ libname_spec='$name'
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ library_names_spec='${libname}.dll.lib'
++
++ case $build_os in
++ mingw*)
++ sys_lib_search_path_spec=
++ lt_save_ifs=$IFS
++ IFS=';'
++ for lt_path in $LIB
++ do
++ IFS=$lt_save_ifs
++ # Let DOS variable expansion print the short 8.3 style file name.
++ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
++ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
++ done
++ IFS=$lt_save_ifs
++ # Convert to MSYS style.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
++ ;;
++ cygwin*)
++ # Convert to unix form, then to dos form, then back to unix form
++ # but this time dos style (no spaces!) so that the unix form looks
++ # like /cygdrive/c/PROGRA~1:/cygdr...
++ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
++ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
++ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ ;;
++ *)
++ sys_lib_search_path_spec="$LIB"
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # FIXME: find the short name or the path components, as spaces are
++ # common. (e.g. "Program Files" -> "PROGRA~1")
++ ;;
++ esac
++
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
++ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+- dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+@@ -10635,7 +11289,7 @@ haiku*)
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
++ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+@@ -11431,7 +12085,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11434 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11475,10 +12129,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -11537,7 +12191,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11540 "configure"
++#line $LINENO "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11581,10 +12235,10 @@ else
+ /* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+-void fnord () __attribute__((visibility("default")));
++int fnord () __attribute__((visibility("default")));
+ #endif
+
+-void fnord () { int i=42; }
++int fnord () { return 42; }
+ int main ()
+ {
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+@@ -13994,13 +14648,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+ lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
++lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
++file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
++want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
++DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
++sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+ AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
++archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+@@ -14015,14 +14676,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
++nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
++lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+ objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
++MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+@@ -14055,12 +14719,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
+ hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
++postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+@@ -14115,8 +14779,13 @@ reload_flag \
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
++file_magic_glob \
++want_nocaseglob \
++DLLTOOL \
++sharedlib_from_linklib_cmd \
+ AR \
+ AR_FLAGS \
++archiver_list_spec \
+ STRIP \
+ RANLIB \
+ CC \
+@@ -14126,12 +14795,14 @@ lt_cv_sys_global_symbol_pipe \
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++nm_file_list_spec \
+ lt_prog_compiler_no_builtin_flag \
+-lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
++lt_prog_compiler_wl \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
++MANIFEST_TOOL \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+@@ -14147,7 +14818,6 @@ no_undefined_flag \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+-fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+@@ -14183,6 +14853,7 @@ module_cmds \
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
++postlink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+@@ -14939,7 +15610,8 @@ $as_echo X"$file" |
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+-# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
++# Inc.
+ # Written by Gordon Matzigkeit, 1996
+ #
+ # This file is part of GNU Libtool.
+@@ -15042,19 +15714,42 @@ SP2NL=$lt_lt_SP2NL
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+
++# convert \$build file names to \$host format.
++to_host_file_cmd=$lt_cv_to_host_file_cmd
++
++# convert \$build files to toolchain format.
++to_tool_file_cmd=$lt_cv_to_tool_file_cmd
++
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == "file_magic".
++# Command to use when deplibs_check_method = "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+
++# How to find potential files when deplibs_check_method = "file_magic".
++file_magic_glob=$lt_file_magic_glob
++
++# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
++want_nocaseglob=$lt_want_nocaseglob
++
++# DLL creation program.
++DLLTOOL=$lt_DLLTOOL
++
++# Command to associate shared and link libraries.
++sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
++
+ # The archiver.
+ AR=$lt_AR
++
++# Flags to create an archive.
+ AR_FLAGS=$lt_AR_FLAGS
+
++# How to feed a file listing to the archiver.
++archiver_list_spec=$lt_archiver_list_spec
++
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+
+@@ -15084,6 +15779,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
++# Specify filename containing input files for \$NM.
++nm_file_list_spec=$lt_nm_file_list_spec
++
++# The root where to search for dependent libraries,and in which our libraries should be installed.
++lt_sysroot=$lt_sysroot
++
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+
+@@ -15093,6 +15794,9 @@ MAGIC_CMD=$MAGIC_CMD
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+
++# Manifest tool.
++MANIFEST_TOOL=$lt_MANIFEST_TOOL
++
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+
+@@ -15207,12 +15911,12 @@ with_gcc=$GCC
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
+-
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+
+@@ -15299,9 +16003,6 @@ inherit_rpath=$inherit_rpath
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path=$lt_fix_srcfile_path
+-
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+
+@@ -15317,6 +16018,9 @@ include_expsyms=$lt_include_expsyms
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+
++# Commands necessary for finishing linking programs.
++postlink_cmds=$lt_postlink_cmds
++
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+
+@@ -15349,210 +16053,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- case $xsi_shell in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_dirname_and_basename file append nondir_replacement
+-# perform func_basename and func_dirname in a single function
+-# call:
+-# dirname: Compute the dirname of FILE. If nonempty,
+-# add APPEND to the result, otherwise set result
+-# to NONDIR_REPLACEMENT.
+-# value returned in "$func_dirname_result"
+-# basename: Compute filename of FILE.
+-# value retuned in "$func_basename_result"
+-# Implementation must be kept synchronized with func_dirname
+-# and func_basename. For efficiency, we do not delegate to
+-# those functions but instead duplicate the functionality here.
+-func_dirname_and_basename ()
+-{
+- case ${1} in
+- */*) func_dirname_result="${1%/*}${2}" ;;
+- * ) func_dirname_result="${3}" ;;
+- esac
+- func_basename_result="${1##*/}"
+-}
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-func_stripname ()
+-{
+- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+- # positional parameters, so assign one to ordinary parameter first.
+- func_stripname_result=${3}
+- func_stripname_result=${func_stripname_result#"${1}"}
+- func_stripname_result=${func_stripname_result%"${2}"}
+-}
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=${1%%=*}
+- func_opt_split_arg=${1#*=}
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- case ${1} in
+- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+- *) func_lo2o_result=${1} ;;
+- esac
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=${1%.*}.lo
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=$(( $* ))
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=${#1}
+-}
+-
+-_LT_EOF
+- ;;
+- *) # Bourne compatible functions.
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_dirname file append nondir_replacement
+-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+-# otherwise set result to NONDIR_REPLACEMENT.
+-func_dirname ()
+-{
+- # Extract subdirectory from the argument.
+- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+- if test "X$func_dirname_result" = "X${1}"; then
+- func_dirname_result="${3}"
+- else
+- func_dirname_result="$func_dirname_result${2}"
+- fi
+-}
+-
+-# func_basename file
+-func_basename ()
+-{
+- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+-}
+-
+-
+-# func_stripname prefix suffix name
+-# strip PREFIX and SUFFIX off of NAME.
+-# PREFIX and SUFFIX must not contain globbing or regex special
+-# characters, hashes, percent signs, but SUFFIX may contain a leading
+-# dot (in which case that matches only a dot).
+-# func_strip_suffix prefix name
+-func_stripname ()
+-{
+- case ${2} in
+- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+- esac
+-}
+-
+-# sed scripts:
+-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+-my_sed_long_arg='1s/^-[^=]*=//'
+-
+-# func_opt_split
+-func_opt_split ()
+-{
+- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
+- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
+-}
+-
+-# func_lo2o object
+-func_lo2o ()
+-{
+- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+-}
+-
+-# func_xform libobj-or-source
+-func_xform ()
+-{
+- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+-}
+-
+-# func_arith arithmetic-term...
+-func_arith ()
+-{
+- func_arith_result=`expr "$@"`
+-}
+-
+-# func_len string
+-# STRING may not start with a hyphen.
+-func_len ()
+-{
+- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+-}
+-
+-_LT_EOF
+-esac
+-
+-case $lt_shell_append in
+- yes)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1+=\$2"
+-}
+-_LT_EOF
+- ;;
+- *)
+- cat << \_LT_EOF >> "$cfgfile"
+-
+-# func_append var value
+-# Append VALUE to the end of shell variable VAR.
+-func_append ()
+-{
+- eval "$1=\$$1\$2"
+-}
+-
+-_LT_EOF
+- ;;
+- esac
+-
+-
+- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+- || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" ||
++ sed '$q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ if test x"$xsi_shell" = xyes; then
++ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
++func_dirname ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_basename ()$/,/^} # func_basename /c\
++func_basename ()\
++{\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
++func_dirname_and_basename ()\
++{\
++\ case ${1} in\
++\ */*) func_dirname_result="${1%/*}${2}" ;;\
++\ * ) func_dirname_result="${3}" ;;\
++\ esac\
++\ func_basename_result="${1##*/}"\
++} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
++func_stripname ()\
++{\
++\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
++\ # positional parameters, so assign one to ordinary parameter first.\
++\ func_stripname_result=${3}\
++\ func_stripname_result=${func_stripname_result#"${1}"}\
++\ func_stripname_result=${func_stripname_result%"${2}"}\
++} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
++func_split_long_opt ()\
++{\
++\ func_split_long_opt_name=${1%%=*}\
++\ func_split_long_opt_arg=${1#*=}\
++} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
++func_split_short_opt ()\
++{\
++\ func_split_short_opt_arg=${1#??}\
++\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
++} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
++func_lo2o ()\
++{\
++\ case ${1} in\
++\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
++\ *) func_lo2o_result=${1} ;;\
++\ esac\
++} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_xform ()$/,/^} # func_xform /c\
++func_xform ()\
++{\
++ func_xform_result=${1%.*}.lo\
++} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_arith ()$/,/^} # func_arith /c\
++func_arith ()\
++{\
++ func_arith_result=$(( $* ))\
++} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_len ()$/,/^} # func_len /c\
++func_len ()\
++{\
++ func_len_result=${#1}\
++} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++fi
++
++if test x"$lt_shell_append" = xyes; then
++ sed -e '/^func_append ()$/,/^} # func_append /c\
++func_append ()\
++{\
++ eval "${1}+=\\${2}"\
++} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
++func_append_quoted ()\
++{\
++\ func_quote_for_eval "${2}"\
++\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
++} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++test 0 -eq $? || _lt_function_replace_fail=:
++
++
++ # Save a `func_append' function call where possible by direct use of '+='
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++else
++ # Save a `func_append' function call even when '+=' is not available
++ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
++ && mv -f "$cfgfile.tmp" "$cfgfile" \
++ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
++ test 0 -eq $? || _lt_function_replace_fail=:
++fi
++
++if test x"$_lt_function_replace_fail" = x":"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
++$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
++fi
++
++
++ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
diff --git a/libtool.m4 b/libtool.m4
-index 434530059f..e45fdc6998 100644
+index 434530059fa..e45fdc6998c 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -1,7 +1,8 @@
@@ -12111,7 +14033,7 @@ index 434530059f..e45fdc6998 100644
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/ltmain.sh b/ltmain.sh
-index 9503ec85d7..70e856e065 100644
+index 9503ec85d70..70e856e0659 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,10 +1,9 @@
@@ -17341,7 +19263,7 @@ index 9503ec85d7..70e856e065 100644
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
diff --git a/ltoptions.m4 b/ltoptions.m4
-index 5ef12ced2a..17cfd51c0b 100644
+index 5ef12ced2a8..17cfd51c0b3 100644
--- a/ltoptions.m4
+++ b/ltoptions.m4
@@ -8,7 +8,7 @@
@@ -17354,7 +19276,7 @@ index 5ef12ced2a..17cfd51c0b 100644
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
diff --git a/ltversion.m4 b/ltversion.m4
-index bf87f77132..9c7b5d4118 100644
+index bf87f77132d..9c7b5d41185 100644
--- a/ltversion.m4
+++ b/ltversion.m4
@@ -7,17 +7,17 @@
@@ -17382,7 +19304,7 @@ index bf87f77132..9c7b5d4118 100644
_LT_DECL(, macro_revision, 0)
])
diff --git a/lt~obsolete.m4 b/lt~obsolete.m4
-index bf92b5e079..c573da90c5 100644
+index bf92b5e0790..c573da90c5c 100644
--- a/lt~obsolete.m4
+++ b/lt~obsolete.m4
@@ -7,7 +7,7 @@
@@ -17395,7 +19317,7 @@ index bf92b5e079..c573da90c5 100644
# These exist entirely to fool aclocal when bootstrapping libtool.
#
diff --git a/opcodes/configure b/opcodes/configure
-index 853849ee58..5f74ecf7da 100755
+index 4723dcdc1e8..006ccdaa458 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -680,6 +680,9 @@ OTOOL
@@ -18720,15 +20642,6 @@ index 853849ee58..5f74ecf7da 100755
int main ()
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12779,7 +13434,7 @@ if test "$enable_shared" = "yes"; then
- # since libbfd may not pull in the entirety of libiberty.
- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
- if test -n "$x"; then
-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
-+ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
- fi
-
- case "${host}" in
@@ -13756,13 +14411,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
@@ -19316,1937 +21229,6 @@ index 853849ee58..5f74ecf7da 100755
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
-diff --git a/opcodes/configure.ac b/opcodes/configure.ac
-index 4eb19005e8..19a57608b9 100644
---- a/opcodes/configure.ac
-+++ b/opcodes/configure.ac
-@@ -170,7 +170,7 @@ changequote(,)dnl
- x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
- changequote([,])dnl
- if test -n "$x"; then
-- SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
-+ SHARED_LIBADD="`pwd`/../libiberty/pic/libiberty.a"
- fi
-
- case "${host}" in
-diff --git a/zlib/configure b/zlib/configure
-index 041cbdbf71..19d605fc85 100755
---- a/zlib/configure
-+++ b/zlib/configure
-@@ -646,8 +646,11 @@ OTOOL
- LIPO
- NMEDIT
- DSYMUTIL
-+MANIFEST_TOOL
- RANLIB
-+ac_ct_AR
- AR
-+DLLTOOL
- OBJDUMP
- LN_S
- NM
-@@ -774,6 +777,7 @@ enable_static
- with_pic
- enable_fast_install
- with_gnu_ld
-+with_libtool_sysroot
- enable_libtool_lock
- enable_host_shared
- '
-@@ -1428,6 +1432,8 @@ Optional Packages:
- --with-pic try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
-+ --with-libtool-sysroot=DIR Search for dependent libraries within DIR
-+ (or the compiler's sysroot if not specified).
-
- Some influential environment variables:
- CC C compiler command
-@@ -4147,8 +4153,8 @@ esac
-
-
-
--macro_version='2.2.7a'
--macro_revision='1.3134'
-+macro_version='2.4'
-+macro_revision='1.3293'
-
-
-
-@@ -4188,7 +4194,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
- $as_echo_n "checking how to print strings... " >&6; }
- # Test print first, because it will be a builtin if present.
--if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
- elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-@@ -5004,8 +5010,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
- # Try some XSI features
- xsi_shell=no
- ( _lt_dummy="a/b/c"
-- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-- = c,a/b,, \
-+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
-+ = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-@@ -5054,6 +5060,80 @@ esac
-
-
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-+if ${lt_cv_to_host_file_cmd+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ case $host in
-+ *-*-mingw* )
-+ case $build in
-+ *-*-mingw* ) # actually msys
-+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-+ ;;
-+ *-*-cygwin* )
-+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-+ ;;
-+ * ) # otherwise, assume *nix
-+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-+ ;;
-+ esac
-+ ;;
-+ *-*-cygwin* )
-+ case $build in
-+ *-*-mingw* ) # actually msys
-+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-+ ;;
-+ *-*-cygwin* )
-+ lt_cv_to_host_file_cmd=func_convert_file_noop
-+ ;;
-+ * ) # otherwise, assume *nix
-+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-+ ;;
-+ esac
-+ ;;
-+ * ) # unhandled hosts (and "normal" native builds)
-+ lt_cv_to_host_file_cmd=func_convert_file_noop
-+ ;;
-+esac
-+
-+fi
-+
-+to_host_file_cmd=$lt_cv_to_host_file_cmd
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-+if ${lt_cv_to_tool_file_cmd+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ #assume ordinary cross tools, or native build.
-+lt_cv_to_tool_file_cmd=func_convert_file_noop
-+case $host in
-+ *-*-mingw* )
-+ case $build in
-+ *-*-mingw* ) # actually msys
-+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-+ ;;
-+ esac
-+ ;;
-+esac
-+
-+fi
-+
-+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-+
-+
-+
-+
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
- $as_echo_n "checking for $LD option to reload object files... " >&6; }
- if ${lt_cv_ld_reload_flag+:} false; then :
-@@ -5070,6 +5150,11 @@ case $reload_flag in
- esac
- reload_cmds='$LD$reload_flag -o $output$reload_objs'
- case $host_os in
-+ cygwin* | mingw* | pw32* | cegcc*)
-+ if test "$GCC" != yes; then
-+ reload_cmds=false
-+ fi
-+ ;;
- darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-@@ -5238,7 +5323,8 @@ mingw* | pw32*)
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
-- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-+ # Keep this pattern in sync with the one in func_win32_libid.
-+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-@@ -5392,6 +5478,21 @@ esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
- $as_echo "$lt_cv_deplibs_check_method" >&6; }
-+
-+file_magic_glob=
-+want_nocaseglob=no
-+if test "$build" = "$host"; then
-+ case $host_os in
-+ mingw* | pw32*)
-+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-+ want_nocaseglob=yes
-+ else
-+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-+ fi
-+ ;;
-+ esac
-+fi
-+
- file_magic_cmd=$lt_cv_file_magic_cmd
- deplibs_check_method=$lt_cv_deplibs_check_method
- test -z "$deplibs_check_method" && deplibs_check_method=unknown
-@@ -5405,11 +5506,165 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
-
- if test -n "$ac_tool_prefix"; then
-- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
--set dummy ${ac_tool_prefix}ar; ac_word=$2
-+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_DLLTOOL+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$DLLTOOL"; then
-+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+DLLTOOL=$ac_cv_prog_DLLTOOL
-+if test -n "$DLLTOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-+$as_echo "$DLLTOOL" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_DLLTOOL"; then
-+ ac_ct_DLLTOOL=$DLLTOOL
-+ # Extract the first word of "dlltool", so it can be a program name with args.
-+set dummy dlltool; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_DLLTOOL"; then
-+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-+if test -n "$ac_ct_DLLTOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-+$as_echo "$ac_ct_DLLTOOL" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_DLLTOOL" = x; then
-+ DLLTOOL="false"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ DLLTOOL=$ac_ct_DLLTOOL
-+ fi
-+else
-+ DLLTOOL="$ac_cv_prog_DLLTOOL"
-+fi
-+
-+test -z "$DLLTOOL" && DLLTOOL=dlltool
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ lt_cv_sharedlib_from_linklib_cmd='unknown'
-+
-+case $host_os in
-+cygwin* | mingw* | pw32* | cegcc*)
-+ # two different shell functions defined in ltmain.sh
-+ # decide which to use based on capabilities of $DLLTOOL
-+ case `$DLLTOOL --help 2>&1` in
-+ *--identify-strict*)
-+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-+ ;;
-+ *)
-+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-+ ;;
-+ esac
-+ ;;
-+*)
-+ # fallback: assume linklib IS sharedlib
-+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
-+ ;;
-+esac
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-+
-+
-+
-+
-+
-+
-+
-+
-+if test -n "$ac_tool_prefix"; then
-+ for ac_prog in ar
-+ do
-+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
- if ${ac_cv_prog_AR+:} false; then :
-@@ -5425,7 +5680,7 @@ do
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_AR="${ac_tool_prefix}ar"
-+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-@@ -5445,11 +5700,15 @@ $as_echo "no" >&6; }
- fi
-
-
-+ test -n "$AR" && break
-+ done
- fi
--if test -z "$ac_cv_prog_AR"; then
-+if test -z "$AR"; then
- ac_ct_AR=$AR
-- # Extract the first word of "ar", so it can be a program name with args.
--set dummy ar; ac_word=$2
-+ for ac_prog in ar
-+do
-+ # Extract the first word of "$ac_prog", so it can be a program name with args.
-+set dummy $ac_prog; ac_word=$2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
- $as_echo_n "checking for $ac_word... " >&6; }
- if ${ac_cv_prog_ac_ct_AR+:} false; then :
-@@ -5465,7 +5724,7 @@ do
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_ac_ct_AR="ar"
-+ ac_cv_prog_ac_ct_AR="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-@@ -5484,6 +5743,10 @@ else
- $as_echo "no" >&6; }
- fi
-
-+
-+ test -n "$ac_ct_AR" && break
-+done
-+
- if test "x$ac_ct_AR" = x; then
- AR="false"
- else
-@@ -5495,16 +5758,72 @@ ac_tool_warned=yes ;;
- esac
- AR=$ac_ct_AR
- fi
--else
-- AR="$ac_cv_prog_AR"
- fi
-
--test -z "$AR" && AR=ar
--test -z "$AR_FLAGS" && AR_FLAGS=cru
-+: ${AR=ar}
-+: ${AR_FLAGS=cru}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-+$as_echo_n "checking for archiver @FILE support... " >&6; }
-+if ${lt_cv_ar_at_file+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ lt_cv_ar_at_file=no
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
-+int
-+main ()
-+{
-
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+ echo conftest.$ac_objext > conftest.lst
-+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-+ (eval $lt_ar_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+ if test "$ac_status" -eq 0; then
-+ # Ensure the archiver fails upon bogus file names.
-+ rm -f conftest.$ac_objext libconftest.a
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-+ (eval $lt_ar_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }
-+ if test "$ac_status" -ne 0; then
-+ lt_cv_ar_at_file=@
-+ fi
-+ fi
-+ rm -f conftest.* libconftest.a
-
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-+$as_echo "$lt_cv_ar_at_file" >&6; }
-
-+if test "x$lt_cv_ar_at_file" = xno; then
-+ archiver_list_spec=
-+else
-+ archiver_list_spec=$lt_cv_ar_at_file
-+fi
-
-
-
-@@ -5846,8 +6165,8 @@ esac
- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
- # Transform an extracted symbol line into symbol name and symbol address
--lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
--lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
- # Handle CRLF in mingw tool chain
- opt_cr=
-@@ -5883,6 +6202,7 @@ for ac_symprfx in "" "_"; do
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
-+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-@@ -5924,6 +6244,18 @@ _LT_EOF
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-+/* DATA imports from DLLs on WIN32 con't be const, because runtime
-+ relocations are performed -- see ld's documentation on pseudo-relocs. */
-+# define LT_DLSYM_CONST
-+#elif defined(__osf__)
-+/* This system does not cope well with relocations in const data. */
-+# define LT_DLSYM_CONST
-+#else
-+# define LT_DLSYM_CONST const
-+#endif
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-@@ -5935,7 +6267,7 @@ _LT_EOF
- cat <<_LT_EOF >> conftest.$ac_ext
-
- /* The mapping between symbol names and symbols. */
--const struct {
-+LT_DLSYM_CONST struct {
- const char *name;
- void *address;
- }
-@@ -5961,8 +6293,8 @@ static const void *lt_preloaded_setup() {
- _LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
-- lt_save_LIBS="$LIBS"
-- lt_save_CFLAGS="$CFLAGS"
-+ lt_globsym_save_LIBS=$LIBS
-+ lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-@@ -5972,8 +6304,8 @@ _LT_EOF
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
-- LIBS="$lt_save_LIBS"
-- CFLAGS="$lt_save_CFLAGS"
-+ LIBS=$lt_globsym_save_LIBS
-+ CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&5
- fi
-@@ -6010,6 +6342,19 @@ else
- $as_echo "ok" >&6; }
- fi
-
-+# Response file support.
-+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-+ nm_file_list_spec='@'
-+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-+ nm_file_list_spec='@'
-+fi
-+
-+
-+
-+
-+
-+
-+
-
-
-
-@@ -6027,6 +6372,41 @@ fi
-
-
-
-+
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-+$as_echo_n "checking for sysroot... " >&6; }
-+
-+# Check whether --with-libtool-sysroot was given.
-+if test "${with_libtool_sysroot+set}" = set; then :
-+ withval=$with_libtool_sysroot;
-+else
-+ with_libtool_sysroot=no
-+fi
-+
-+
-+lt_sysroot=
-+case ${with_libtool_sysroot} in #(
-+ yes)
-+ if test "$GCC" = yes; then
-+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-+ fi
-+ ;; #(
-+ /*)
-+ lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
-+ ;; #(
-+ no|'')
-+ ;; #(
-+ *)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_libtool_sysroot}" >&5
-+$as_echo "${with_libtool_sysroot}" >&6; }
-+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-+ ;;
-+esac
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-+$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-@@ -6241,6 +6621,123 @@ esac
-
- need_locks="$enable_libtool_lock"
-
-+if test -n "$ac_tool_prefix"; then
-+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-+set dummy ${ac_tool_prefix}mt; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$MANIFEST_TOOL"; then
-+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-+if test -n "$MANIFEST_TOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-+$as_echo "$MANIFEST_TOOL" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+
-+fi
-+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-+ # Extract the first word of "mt", so it can be a program name with args.
-+set dummy mt; ac_word=$2
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
-+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test -n "$ac_ct_MANIFEST_TOOL"; then
-+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+ done
-+IFS=$as_save_IFS
-+
-+fi
-+fi
-+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-+if test -n "$ac_ct_MANIFEST_TOOL"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-+else
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
-+ MANIFEST_TOOL=":"
-+ else
-+ case $cross_compiling:$ac_tool_warned in
-+yes:)
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-+ac_tool_warned=yes ;;
-+esac
-+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-+ fi
-+else
-+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-+fi
-+
-+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-+if ${lt_cv_path_mainfest_tool+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ lt_cv_path_mainfest_tool=no
-+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-+ cat conftest.err >&5
-+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-+ lt_cv_path_mainfest_tool=yes
-+ fi
-+ rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-+if test "x$lt_cv_path_mainfest_tool" != xyes; then
-+ MANIFEST_TOOL=:
-+fi
-+
-+
-+
-+
-+
-
- case $host_os in
- rhapsody* | darwin*)
-@@ -6807,6 +7304,8 @@ _LT_EOF
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cru libconftest.a conftest.o" >&5
- $AR cru libconftest.a conftest.o 2>&5
-+ echo "$RANLIB libconftest.a" >&5
-+ $RANLIB libconftest.a 2>&5
- cat > conftest.c << _LT_EOF
- int main() { return 0;}
- _LT_EOF
-@@ -7269,7 +7768,8 @@ fi
- LIBTOOL_DEPS="$ltmain"
-
- # Always use our own libtool.
--LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-+LIBTOOL='$(SHELL) $(top_builddir)'
-+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
-
-
-
-@@ -7358,7 +7858,7 @@ aix3*)
- esac
-
- # Global variables:
--ofile=libtool
-+ofile=${host_alias}-libtool
- can_build_shared=yes
-
- # All known linkers require a `.a' archive for static linking (except MSVC,
-@@ -7656,8 +8156,6 @@ fi
- lt_prog_compiler_pic=
- lt_prog_compiler_static=
-
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
--$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
- if test "$GCC" = yes; then
- lt_prog_compiler_wl='-Wl,'
-@@ -7823,6 +8321,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
- lt_prog_compiler_pic='--shared'
- lt_prog_compiler_static='--static'
- ;;
-+ nagfor*)
-+ # NAG Fortran compiler
-+ lt_prog_compiler_wl='-Wl,-Wl,,'
-+ lt_prog_compiler_pic='-PIC'
-+ lt_prog_compiler_static='-Bstatic'
-+ ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
-@@ -7885,7 +8389,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
- lt_prog_compiler_pic='-KPIC'
- lt_prog_compiler_static='-Bstatic'
- case $cc_basename in
-- f77* | f90* | f95*)
-+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- lt_prog_compiler_wl='-Qoption ld ';;
- *)
- lt_prog_compiler_wl='-Wl,';;
-@@ -7942,13 +8446,17 @@ case $host_os in
- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
- ;;
- esac
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
--$as_echo "$lt_prog_compiler_pic" >&6; }
--
--
--
--
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-+if ${lt_cv_prog_compiler_pic+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
- #
- # Check to make sure the PIC flag actually works.
-@@ -8009,6 +8517,11 @@ fi
-
-
-
-+
-+
-+
-+
-+
- #
- # Check to make sure the static flag actually works.
- #
-@@ -8359,7 +8872,8 @@ _LT_EOF
- allow_undefined_flag=unsupported
- always_export_symbols=no
- enable_shared_with_static_runtimes=yes
-- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-@@ -8458,12 +8972,12 @@ _LT_EOF
- whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec=
- hardcode_libdir_flag_spec_ld='-rpath $libdir'
-- archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
-- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
-@@ -8477,8 +8991,8 @@ _LT_EOF
- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
-- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
-@@ -8496,8 +9010,8 @@ _LT_EOF
-
- _LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
-@@ -8543,8 +9057,8 @@ _LT_EOF
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- ld_shlibs=no
- fi
-@@ -8674,7 +9188,13 @@ _LT_EOF
- allow_undefined_flag='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
-- if test x$gcc_no_link = xyes; then
-+ if test "${lt_cv_aix_libpath+set}" = set; then
-+ aix_libpath=$lt_cv_aix_libpath
-+else
-+ if ${lt_cv_aix_libpath_+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test x$gcc_no_link = xyes; then
- as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
- fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -8690,22 +9210,29 @@ main ()
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
-
--lt_aix_libpath_sed='
-- /Import File Strings/,/^$/ {
-- /^0/ {
-- s/^0 *\(.*\)$/\1/
-- p
-- }
-- }'
--aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--# Check for a 64-bit object if we didn't find anything.
--if test -z "$aix_libpath"; then
-- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--fi
-+ lt_aix_libpath_sed='
-+ /Import File Strings/,/^$/ {
-+ /^0/ {
-+ s/^0 *\([^ ]*\) *$/\1/
-+ p
-+ }
-+ }'
-+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+ # Check for a 64-bit object if we didn't find anything.
-+ if test -z "$lt_cv_aix_libpath_"; then
-+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+ fi
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
--if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+ if test -z "$lt_cv_aix_libpath_"; then
-+ lt_cv_aix_libpath_="/usr/lib:/lib"
-+ fi
-+
-+fi
-+
-+ aix_libpath=$lt_cv_aix_libpath_
-+fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-@@ -8717,7 +9244,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
-- if test x$gcc_no_link = xyes; then
-+ if test "${lt_cv_aix_libpath+set}" = set; then
-+ aix_libpath=$lt_cv_aix_libpath
-+else
-+ if ${lt_cv_aix_libpath_+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ if test x$gcc_no_link = xyes; then
- as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
- fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -8733,22 +9266,29 @@ main ()
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
-
--lt_aix_libpath_sed='
-- /Import File Strings/,/^$/ {
-- /^0/ {
-- s/^0 *\(.*\)$/\1/
-- p
-- }
-- }'
--aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--# Check for a 64-bit object if we didn't find anything.
--if test -z "$aix_libpath"; then
-- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
--fi
-+ lt_aix_libpath_sed='
-+ /Import File Strings/,/^$/ {
-+ /^0/ {
-+ s/^0 *\([^ ]*\) *$/\1/
-+ p
-+ }
-+ }'
-+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+ # Check for a 64-bit object if we didn't find anything.
-+ if test -z "$lt_cv_aix_libpath_"; then
-+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-+ fi
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
--if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-+ if test -z "$lt_cv_aix_libpath_"; then
-+ lt_cv_aix_libpath_="/usr/lib:/lib"
-+ fi
-+
-+fi
-+
-+ aix_libpath=$lt_cv_aix_libpath_
-+fi
-
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
-@@ -8793,20 +9333,63 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
-- hardcode_libdir_flag_spec=' '
-- allow_undefined_flag=unsupported
-- # Tell ltmain to make .lib files, not .a files.
-- libext=lib
-- # Tell ltmain to make .dll files, not .so files.
-- shrext_cmds=".dll"
-- # FIXME: Setting linknames here is a bad hack.
-- archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-- # The linker will automatically build a .lib file if we build a DLL.
-- old_archive_from_new_cmds='true'
-- # FIXME: Should let the user specify the lib program.
-- old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-- fix_srcfile_path='`cygpath -w "$srcfile"`'
-- enable_shared_with_static_runtimes=yes
-+ case $cc_basename in
-+ cl*)
-+ # Native MSVC
-+ hardcode_libdir_flag_spec=' '
-+ allow_undefined_flag=unsupported
-+ always_export_symbols=yes
-+ file_list_spec='@'
-+ # Tell ltmain to make .lib files, not .a files.
-+ libext=lib
-+ # Tell ltmain to make .dll files, not .so files.
-+ shrext_cmds=".dll"
-+ # FIXME: Setting linknames here is a bad hack.
-+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
-+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
-+ else
-+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
-+ fi~
-+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-+ linknames='
-+ # The linker will not automatically build a static lib if we build a DLL.
-+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-+ enable_shared_with_static_runtimes=yes
-+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-+ # Don't use ranlib
-+ old_postinstall_cmds='chmod 644 $oldlib'
-+ postlink_cmds='lt_outputfile="@OUTPUT@"~
-+ lt_tool_outputfile="@TOOL_OUTPUT@"~
-+ case $lt_outputfile in
-+ *.exe|*.EXE) ;;
-+ *)
-+ lt_outputfile="$lt_outputfile.exe"
-+ lt_tool_outputfile="$lt_tool_outputfile.exe"
-+ ;;
-+ esac~
-+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
-+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-+ $RM "$lt_outputfile.manifest";
-+ fi'
-+ ;;
-+ *)
-+ # Assume MSVC wrapper
-+ hardcode_libdir_flag_spec=' '
-+ allow_undefined_flag=unsupported
-+ # Tell ltmain to make .lib files, not .a files.
-+ libext=lib
-+ # Tell ltmain to make .dll files, not .so files.
-+ shrext_cmds=".dll"
-+ # FIXME: Setting linknames here is a bad hack.
-+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-+ # The linker will automatically build a .lib file if we build a DLL.
-+ old_archive_from_new_cmds='true'
-+ # FIXME: Should let the user specify the lib program.
-+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-+ enable_shared_with_static_runtimes=yes
-+ ;;
-+ esac
- ;;
-
- darwin* | rhapsody*)
-@@ -8867,7 +9450,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
-- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
-@@ -8875,7 +9458,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hpux9*)
- if test "$GCC" = yes; then
-- archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
-@@ -8891,7 +9474,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
-@@ -8915,10 +9498,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
-- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
-- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
-@@ -8997,26 +9580,39 @@ fi
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
-- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
-- save_LDFLAGS="$LDFLAGS"
-- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-- if test x$gcc_no_link = xyes; then
-+ # This should be the same for all languages, so no per-tag cache variable.
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-+if ${lt_cv_irix_exported_symbol+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ save_LDFLAGS="$LDFLAGS"
-+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-+ if test x$gcc_no_link = xyes; then
- as_fn_error $? "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
- fi
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
--int foo(void) {}
-+int foo (void) { return 0; }
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
-- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
--
-+ lt_cv_irix_exported_symbol=yes
-+else
-+ lt_cv_irix_exported_symbol=no
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-- LDFLAGS="$save_LDFLAGS"
-+ LDFLAGS="$save_LDFLAGS"
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-+ if test "$lt_cv_irix_exported_symbol" = yes; then
-+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-+ fi
- else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-@@ -9101,7 +9697,7 @@ rm -f core conftest.err conftest.$ac_objext \
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- else
- allow_undefined_flag=' -expect_unresolved \*'
-@@ -9120,9 +9716,9 @@ rm -f core conftest.err conftest.$ac_objext \
- no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
-- archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
-@@ -9698,8 +10294,9 @@ cygwin* | mingw* | pw32* | cegcc*)
- need_version=no
- need_lib_prefix=no
-
-- case $GCC,$host_os in
-- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-+ case $GCC,$cc_basename in
-+ yes,*)
-+ # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
-@@ -9732,13 +10329,71 @@ cygwin* | mingw* | pw32* | cegcc*)
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
-+ dynamic_linker='Win32 ld.exe'
-+ ;;
-+
-+ *,cl*)
-+ # Native MSVC
-+ libname_spec='$name'
-+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-+ library_names_spec='${libname}.dll.lib'
-+
-+ case $build_os in
-+ mingw*)
-+ sys_lib_search_path_spec=
-+ lt_save_ifs=$IFS
-+ IFS=';'
-+ for lt_path in $LIB
-+ do
-+ IFS=$lt_save_ifs
-+ # Let DOS variable expansion print the short 8.3 style file name.
-+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-+ done
-+ IFS=$lt_save_ifs
-+ # Convert to MSYS style.
-+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-+ ;;
-+ cygwin*)
-+ # Convert to unix form, then to dos form, then back to unix form
-+ # but this time dos style (no spaces!) so that the unix form looks
-+ # like /cygdrive/c/PROGRA~1:/cygdr...
-+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+ ;;
-+ *)
-+ sys_lib_search_path_spec="$LIB"
-+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-+ # It is most probably a Windows format PATH.
-+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-+ else
-+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-+ fi
-+ # FIXME: find the short name or the path components, as spaces are
-+ # common. (e.g. "Program Files" -> "PROGRA~1")
-+ ;;
-+ esac
-+
-+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
-+ postinstall_cmds='base_file=`basename \${file}`~
-+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-+ dldir=$destdir/`dirname \$dlpath`~
-+ test -d \$dldir || mkdir -p \$dldir~
-+ $install_prog $dir/$dlname \$dldir/$dlname'
-+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-+ dlpath=$dir/\$dldll~
-+ $RM \$dlpath'
-+ shlibpath_overrides_runpath=yes
-+ dynamic_linker='Win32 link.exe'
- ;;
-
- *)
-+ # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-+ dynamic_linker='Win32 ld.exe'
- ;;
- esac
-- dynamic_linker='Win32 ld.exe'
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-@@ -9830,7 +10485,7 @@ haiku*)
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
-- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-@@ -10644,7 +11299,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 10647 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -10688,10 +11343,10 @@ else
- /* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
- #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
--void fnord () __attribute__((visibility("default")));
-+int fnord () __attribute__((visibility("default")));
- #endif
-
--void fnord () { int i=42; }
-+int fnord () { return 42; }
- int main ()
- {
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -10750,7 +11405,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 10753 "configure"
-+#line $LINENO "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -10794,10 +11449,10 @@ else
- /* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
- #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
--void fnord () __attribute__((visibility("default")));
-+int fnord () __attribute__((visibility("default")));
- #endif
-
--void fnord () { int i=42; }
-+int fnord () { return 42; }
- int main ()
- {
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-@@ -12267,13 +12922,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
- lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
- lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
- lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
- reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
- reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
- OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
- deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
- file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
- AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
- AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
- STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
- RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
- old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-@@ -12288,14 +12950,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
- lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
- lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
- lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
- objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
- MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
- lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
--lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
- lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
- lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
- lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
- need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
- DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
- NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
- LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-@@ -12328,12 +12993,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
- hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
- inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
- link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
--fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
- always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
- export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
- exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
- include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
- prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
- file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
- variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
- need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-@@ -12388,8 +13053,13 @@ reload_flag \
- OBJDUMP \
- deplibs_check_method \
- file_magic_cmd \
-+file_magic_glob \
-+want_nocaseglob \
-+DLLTOOL \
-+sharedlib_from_linklib_cmd \
- AR \
- AR_FLAGS \
-+archiver_list_spec \
- STRIP \
- RANLIB \
- CC \
-@@ -12399,12 +13069,14 @@ lt_cv_sys_global_symbol_pipe \
- lt_cv_sys_global_symbol_to_cdecl \
- lt_cv_sys_global_symbol_to_c_name_address \
- lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-+nm_file_list_spec \
- lt_prog_compiler_no_builtin_flag \
--lt_prog_compiler_wl \
- lt_prog_compiler_pic \
-+lt_prog_compiler_wl \
- lt_prog_compiler_static \
- lt_cv_prog_compiler_c_o \
- need_locks \
-+MANIFEST_TOOL \
- DSYMUTIL \
- NMEDIT \
- LIPO \
-@@ -12420,7 +13092,6 @@ no_undefined_flag \
- hardcode_libdir_flag_spec \
- hardcode_libdir_flag_spec_ld \
- hardcode_libdir_separator \
--fix_srcfile_path \
- exclude_expsyms \
- include_expsyms \
- file_list_spec \
-@@ -12456,6 +13127,7 @@ module_cmds \
- module_expsym_cmds \
- export_symbols_cmds \
- prelink_cmds \
-+postlink_cmds \
- postinstall_cmds \
- postuninstall_cmds \
- finish_cmds \
-@@ -13054,7 +13726,8 @@ $as_echo X"$file" |
- # NOTE: Changes made to this file will be lost: look at ltmain.sh.
- #
- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
--# 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-+# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-+# Inc.
- # Written by Gordon Matzigkeit, 1996
- #
- # This file is part of GNU Libtool.
-@@ -13157,19 +13830,42 @@ SP2NL=$lt_lt_SP2NL
- # turn newlines into spaces.
- NL2SP=$lt_lt_NL2SP
-
-+# convert \$build file names to \$host format.
-+to_host_file_cmd=$lt_cv_to_host_file_cmd
-+
-+# convert \$build files to toolchain format.
-+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-+
- # An object symbol dumper.
- OBJDUMP=$lt_OBJDUMP
-
- # Method to check whether dependent libraries are shared objects.
- deplibs_check_method=$lt_deplibs_check_method
-
--# Command to use when deplibs_check_method == "file_magic".
-+# Command to use when deplibs_check_method = "file_magic".
- file_magic_cmd=$lt_file_magic_cmd
-
-+# How to find potential files when deplibs_check_method = "file_magic".
-+file_magic_glob=$lt_file_magic_glob
-+
-+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-+want_nocaseglob=$lt_want_nocaseglob
-+
-+# DLL creation program.
-+DLLTOOL=$lt_DLLTOOL
-+
-+# Command to associate shared and link libraries.
-+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-+
- # The archiver.
- AR=$lt_AR
-+
-+# Flags to create an archive.
- AR_FLAGS=$lt_AR_FLAGS
-
-+# How to feed a file listing to the archiver.
-+archiver_list_spec=$lt_archiver_list_spec
-+
- # A symbol stripping program.
- STRIP=$lt_STRIP
-
-@@ -13199,6 +13895,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
- # Transform the output of nm in a C name address pair when lib prefix is needed.
- global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-+# Specify filename containing input files for \$NM.
-+nm_file_list_spec=$lt_nm_file_list_spec
-+
-+# The root where to search for dependent libraries,and in which our libraries should be installed.
-+lt_sysroot=$lt_sysroot
-+
- # The name of the directory that contains temporary libtool files.
- objdir=$objdir
-
-@@ -13208,6 +13910,9 @@ MAGIC_CMD=$MAGIC_CMD
- # Must we lock files when doing compilation?
- need_locks=$lt_need_locks
-
-+# Manifest tool.
-+MANIFEST_TOOL=$lt_MANIFEST_TOOL
-+
- # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
- DSYMUTIL=$lt_DSYMUTIL
-
-@@ -13322,12 +14027,12 @@ with_gcc=$GCC
- # Compiler flag to turn off builtin functions.
- no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
--# How to pass a linker flag through the compiler.
--wl=$lt_lt_prog_compiler_wl
--
- # Additional compiler flags for building library objects.
- pic_flag=$lt_lt_prog_compiler_pic
-
-+# How to pass a linker flag through the compiler.
-+wl=$lt_lt_prog_compiler_wl
-+
- # Compiler flag to prevent dynamic linking.
- link_static_flag=$lt_lt_prog_compiler_static
-
-@@ -13414,9 +14119,6 @@ inherit_rpath=$inherit_rpath
- # Whether libtool must link a program against all its dependency libraries.
- link_all_deplibs=$link_all_deplibs
-
--# Fix the shell variable \$srcfile for the compiler.
--fix_srcfile_path=$lt_fix_srcfile_path
--
- # Set to "yes" if exported symbols are required.
- always_export_symbols=$always_export_symbols
-
-@@ -13432,6 +14134,9 @@ include_expsyms=$lt_include_expsyms
- # Commands necessary for linking programs (against libraries) with templates.
- prelink_cmds=$lt_prelink_cmds
-
-+# Commands necessary for finishing linking programs.
-+postlink_cmds=$lt_postlink_cmds
-+
- # Specify filename containing input files.
- file_list_spec=$lt_file_list_spec
-
-@@ -13464,210 +14169,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
-- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
--
-- case $xsi_shell in
-- yes)
-- cat << \_LT_EOF >> "$cfgfile"
--
--# func_dirname file append nondir_replacement
--# Compute the dirname of FILE. If nonempty, add APPEND to the result,
--# otherwise set result to NONDIR_REPLACEMENT.
--func_dirname ()
--{
-- case ${1} in
-- */*) func_dirname_result="${1%/*}${2}" ;;
-- * ) func_dirname_result="${3}" ;;
-- esac
--}
--
--# func_basename file
--func_basename ()
--{
-- func_basename_result="${1##*/}"
--}
--
--# func_dirname_and_basename file append nondir_replacement
--# perform func_basename and func_dirname in a single function
--# call:
--# dirname: Compute the dirname of FILE. If nonempty,
--# add APPEND to the result, otherwise set result
--# to NONDIR_REPLACEMENT.
--# value returned in "$func_dirname_result"
--# basename: Compute filename of FILE.
--# value retuned in "$func_basename_result"
--# Implementation must be kept synchronized with func_dirname
--# and func_basename. For efficiency, we do not delegate to
--# those functions but instead duplicate the functionality here.
--func_dirname_and_basename ()
--{
-- case ${1} in
-- */*) func_dirname_result="${1%/*}${2}" ;;
-- * ) func_dirname_result="${3}" ;;
-- esac
-- func_basename_result="${1##*/}"
--}
--
--# func_stripname prefix suffix name
--# strip PREFIX and SUFFIX off of NAME.
--# PREFIX and SUFFIX must not contain globbing or regex special
--# characters, hashes, percent signs, but SUFFIX may contain a leading
--# dot (in which case that matches only a dot).
--func_stripname ()
--{
-- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-- # positional parameters, so assign one to ordinary parameter first.
-- func_stripname_result=${3}
-- func_stripname_result=${func_stripname_result#"${1}"}
-- func_stripname_result=${func_stripname_result%"${2}"}
--}
--
--# func_opt_split
--func_opt_split ()
--{
-- func_opt_split_opt=${1%%=*}
-- func_opt_split_arg=${1#*=}
--}
--
--# func_lo2o object
--func_lo2o ()
--{
-- case ${1} in
-- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-- *) func_lo2o_result=${1} ;;
-- esac
--}
--
--# func_xform libobj-or-source
--func_xform ()
--{
-- func_xform_result=${1%.*}.lo
--}
--
--# func_arith arithmetic-term...
--func_arith ()
--{
-- func_arith_result=$(( $* ))
--}
--
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
-- func_len_result=${#1}
--}
--
--_LT_EOF
-- ;;
-- *) # Bourne compatible functions.
-- cat << \_LT_EOF >> "$cfgfile"
--
--# func_dirname file append nondir_replacement
--# Compute the dirname of FILE. If nonempty, add APPEND to the result,
--# otherwise set result to NONDIR_REPLACEMENT.
--func_dirname ()
--{
-- # Extract subdirectory from the argument.
-- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-- if test "X$func_dirname_result" = "X${1}"; then
-- func_dirname_result="${3}"
-- else
-- func_dirname_result="$func_dirname_result${2}"
-- fi
--}
--
--# func_basename file
--func_basename ()
--{
-- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
--}
--
--
--# func_stripname prefix suffix name
--# strip PREFIX and SUFFIX off of NAME.
--# PREFIX and SUFFIX must not contain globbing or regex special
--# characters, hashes, percent signs, but SUFFIX may contain a leading
--# dot (in which case that matches only a dot).
--# func_strip_suffix prefix name
--func_stripname ()
--{
-- case ${2} in
-- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-- esac
--}
--
--# sed scripts:
--my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
--my_sed_long_arg='1s/^-[^=]*=//'
--
--# func_opt_split
--func_opt_split ()
--{
-- func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-- func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
--}
--
--# func_lo2o object
--func_lo2o ()
--{
-- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
--}
--
--# func_xform libobj-or-source
--func_xform ()
--{
-- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
--}
--
--# func_arith arithmetic-term...
--func_arith ()
--{
-- func_arith_result=`expr "$@"`
--}
--
--# func_len string
--# STRING may not start with a hyphen.
--func_len ()
--{
-- func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
--}
--
--_LT_EOF
--esac
--
--case $lt_shell_append in
-- yes)
-- cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
-- eval "$1+=\$2"
--}
--_LT_EOF
-- ;;
-- *)
-- cat << \_LT_EOF >> "$cfgfile"
--
--# func_append var value
--# Append VALUE to the end of shell variable VAR.
--func_append ()
--{
-- eval "$1=\$$1\$2"
--}
--
--_LT_EOF
-- ;;
-- esac
--
--
-- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-- || (rm -f "$cfgfile"; exit 1)
--
-- mv -f "$cfgfile" "$ofile" ||
-+ sed '$q' "$ltmain" >> "$cfgfile" \
-+ || (rm -f "$cfgfile"; exit 1)
-+
-+ if test x"$xsi_shell" = xyes; then
-+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-+func_dirname ()\
-+{\
-+\ case ${1} in\
-+\ */*) func_dirname_result="${1%/*}${2}" ;;\
-+\ * ) func_dirname_result="${3}" ;;\
-+\ esac\
-+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
-+func_basename ()\
-+{\
-+\ func_basename_result="${1##*/}"\
-+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-+func_dirname_and_basename ()\
-+{\
-+\ case ${1} in\
-+\ */*) func_dirname_result="${1%/*}${2}" ;;\
-+\ * ) func_dirname_result="${3}" ;;\
-+\ esac\
-+\ func_basename_result="${1##*/}"\
-+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-+func_stripname ()\
-+{\
-+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-+\ # positional parameters, so assign one to ordinary parameter first.\
-+\ func_stripname_result=${3}\
-+\ func_stripname_result=${func_stripname_result#"${1}"}\
-+\ func_stripname_result=${func_stripname_result%"${2}"}\
-+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-+func_split_long_opt ()\
-+{\
-+\ func_split_long_opt_name=${1%%=*}\
-+\ func_split_long_opt_arg=${1#*=}\
-+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-+func_split_short_opt ()\
-+{\
-+\ func_split_short_opt_arg=${1#??}\
-+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-+func_lo2o ()\
-+{\
-+\ case ${1} in\
-+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-+\ *) func_lo2o_result=${1} ;;\
-+\ esac\
-+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
-+func_xform ()\
-+{\
-+ func_xform_result=${1%.*}.lo\
-+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
-+func_arith ()\
-+{\
-+ func_arith_result=$(( $* ))\
-+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_len ()$/,/^} # func_len /c\
-+func_len ()\
-+{\
-+ func_len_result=${#1}\
-+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+fi
-+
-+if test x"$lt_shell_append" = xyes; then
-+ sed -e '/^func_append ()$/,/^} # func_append /c\
-+func_append ()\
-+{\
-+ eval "${1}+=\\${2}"\
-+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-+func_append_quoted ()\
-+{\
-+\ func_quote_for_eval "${2}"\
-+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+test 0 -eq $? || _lt_function_replace_fail=:
-+
-+
-+ # Save a `func_append' function call where possible by direct use of '+='
-+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+ test 0 -eq $? || _lt_function_replace_fail=:
-+else
-+ # Save a `func_append' function call even when '+=' is not available
-+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
-+ && mv -f "$cfgfile.tmp" "$cfgfile" \
-+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-+ test 0 -eq $? || _lt_function_replace_fail=:
-+fi
-+
-+if test x"$_lt_function_replace_fail" = x":"; then
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-+fi
-+
-+
-+ mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-
--
-2.20.1
+2.26.0
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch b/poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
index a2c6312d0..b0e94ab1c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0007-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0008-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch
@@ -1,8 +1,8 @@
-From 8cb013106c379e81fe40cfdf486d9805c9e276ad Mon Sep 17 00:00:00 2001
+From e36a4e05f900bbe6a8d744a93f3a407bc55c96f7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:39:01 +0000
-Subject: [PATCH 07/15] don't let the distro compiler point to the wrong
- installation location
+Subject: [PATCH] don't let the distro compiler point to the wrong installation
+ location
Thanks to RP for helping find the source code causing the issue.
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
-index 0be45b4ae8..4817616bb2 100644
+index fe738d0db4..27d818f253 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
-@@ -364,7 +364,8 @@ install-strip: install
+@@ -365,7 +365,8 @@ install-strip: install
# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
# default multilib, so we have to take CFLAGS into account as well,
# since it will be passed the multilib flags.
@@ -30,6 +30,3 @@ index 0be45b4ae8..4817616bb2 100644
install_to_libdir: all
if test -n "${target_header_dir}"; then \
${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch b/poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
index 9727821b1..11a8110d4 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0009-warn-for-uses-of-system-directories-when-cross-linki.patch
@@ -1,7 +1,7 @@
-From 98f68c0892ba4bbd53b0a0a4cbbdf0b7197e0320 Mon Sep 17 00:00:00 2001
+From 7b24f81e04c9d00d96de7dbd250beade6d2c6e44 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Jan 2016 06:31:09 +0000
-Subject: [PATCH 08/15] warn for uses of system directories when cross linking
+Subject: [PATCH] warn for uses of system directories when cross linking
2008-07-02 Joseph Myers <joseph@codesourcery.com>
@@ -59,8 +59,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
ld/ldfile.c | 17 +++++++++++++++++
ld/ldlex.h | 2 ++
ld/ldmain.c | 2 ++
- ld/lexsup.c | 16 ++++++++++++++++
- 9 files changed, 86 insertions(+)
+ ld/lexsup.c | 15 +++++++++++++++
+ 9 files changed, 85 insertions(+)
diff --git a/ld/config.in b/ld/config.in
index d93c9b0830..5da2742bea 100644
@@ -77,7 +77,7 @@ index d93c9b0830..5da2742bea 100644
#undef EXTRA_SHLIB_EXTENSION
diff --git a/ld/configure b/ld/configure
-index 43c391c2b3..ff9f6b3c02 100755
+index 811134a503..f8c17c19ae 100755
--- a/ld/configure
+++ b/ld/configure
@@ -826,6 +826,7 @@ with_lib_path
@@ -88,7 +88,7 @@ index 43c391c2b3..ff9f6b3c02 100755
enable_gold
enable_got
enable_compressed_debug_sections
-@@ -1490,6 +1491,8 @@ Optional Features:
+@@ -1491,6 +1492,8 @@ Optional Features:
--disable-largefile omit support for large files
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
@@ -97,7 +97,7 @@ index 43c391c2b3..ff9f6b3c02 100755
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
-@@ -16618,6 +16621,19 @@ fi
+@@ -15788,6 +15791,19 @@ fi
@@ -118,7 +118,7 @@ index 43c391c2b3..ff9f6b3c02 100755
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
diff --git a/ld/configure.ac b/ld/configure.ac
-index d335f21091..7f692d9387 100644
+index b5e849d84a..22e022ec03 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot)
@@ -139,10 +139,10 @@ index d335f21091..7f692d9387 100644
dnl "install_as_default" is set to false if gold is the default linker.
dnl "installed_linker" is the installed BFD linker name.
diff --git a/ld/ld.h b/ld/ld.h
-index b97d977f37..f3bbd2d55d 100644
+index 71fd781267..5c7843100b 100644
--- a/ld/ld.h
+++ b/ld/ld.h
-@@ -180,6 +180,14 @@ typedef struct
+@@ -166,6 +166,14 @@ typedef struct
in the linker script. */
bfd_boolean force_group_allocation;
@@ -158,10 +158,10 @@ index b97d977f37..f3bbd2d55d 100644
enum endian_enum endian;
diff --git a/ld/ld.texi b/ld/ld.texi
-index 5179af3e0e..f78bf74682 100644
+index eb7bcb9933..3c73d445a0 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
-@@ -2524,6 +2524,18 @@ string identifying the original linked file does not change.
+@@ -2551,6 +2551,18 @@ string identifying the original linked file does not change.
Passing @code{none} for @var{style} disables the setting from any
@code{--build-id} options earlier on the command line.
@@ -181,10 +181,10 @@ index 5179af3e0e..f78bf74682 100644
@c man end
diff --git a/ld/ldfile.c b/ld/ldfile.c
-index fcadc08c73..63e295ce8a 100644
+index 411f7ddf97..17db16c2cc 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
-@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
+@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
else
new_dirs->name = xstrdup (name);
@@ -209,23 +209,23 @@ index fcadc08c73..63e295ce8a 100644
/* Try to open a BFD for a lang_input_statement. */
diff --git a/ld/ldlex.h b/ld/ldlex.h
-index 32853debe4..8135361c49 100644
+index 5287f19a7f..55096e4fc9 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
-@@ -148,6 +148,8 @@ enum option_values
- OPTION_REQUIRE_DEFINED_SYMBOL,
- OPTION_ORPHAN_HANDLING,
+@@ -150,6 +150,8 @@ enum option_values
OPTION_FORCE_GROUP_ALLOCATION,
+ OPTION_PRINT_MAP_DISCARDED,
+ OPTION_NO_PRINT_MAP_DISCARDED,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
};
/* The initial parser states. */
diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 77cdbd0dd2..725512f126 100644
+index da1ad17763..12d0b07d8a 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
-@@ -269,6 +269,8 @@ main (int argc, char **argv)
+@@ -274,6 +274,8 @@ main (int argc, char **argv)
command_line.warn_mismatch = TRUE;
command_line.warn_search_mismatch = TRUE;
command_line.check_section_addresses = -1;
@@ -235,12 +235,12 @@ index 77cdbd0dd2..725512f126 100644
/* We initialize DEMANGLING based on the environment variable
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
diff --git a/ld/lexsup.c b/ld/lexsup.c
-index 88e85c73f4..eed1b71456 100644
+index 3d15cc491d..0e8b4f2b7a 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
-@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] =
- { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING},
- '\0', N_("=MODE"), N_("Control how orphan sections are handled."),
+@@ -550,6 +550,14 @@ static const struct ld_option ld_options[] =
+ { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED},
+ '\0', NULL, N_("Do not show discarded sections in map file output"),
TWO_DASHES },
+ { {"no-poison-system-directories", no_argument, NULL,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
@@ -253,10 +253,10 @@ index 88e85c73f4..eed1b71456 100644
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1577,6 +1585,14 @@ parse_args (unsigned argc, char **argv)
- einfo (_("%F%P: invalid argument to option"
- " \"--orphan-handling\"\n"));
- break;
+@@ -1603,6 +1611,13 @@ parse_args (unsigned argc, char **argv)
+
+ case OPTION_PRINT_MAP_DISCARDED:
+ config.print_map_discarded = TRUE;
+
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
+ command_line.poison_system_directories = FALSE;
@@ -264,10 +264,6 @@ index 88e85c73f4..eed1b71456 100644
+
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
+ command_line.error_poison_system_directories = TRUE;
-+ break;
+ break;
}
}
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
index b6b1e7a67..f4f1a068c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch
@@ -1,7 +1,7 @@
-From 2cd5613a86f8772f9d7f188532718363668ed99d Mon Sep 17 00:00:00 2001
+From 70f3f2d9e912ea777fa113e02cdbc3465a66e40d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:42:38 +0000
-Subject: [PATCH 09/15] Fix rpath in libtool when sysroot is enabled
+Subject: [PATCH] Fix rpath in libtool when sysroot is enabled
Enabling sysroot support in libtool exposed a bug where the final
library had an RPATH encoded into it which still pointed to the
@@ -47,6 +47,3 @@ index 70e856e065..11ee684ccc 100644
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
hardcode_libdirs="$libdir"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
index 5f4ac72f4..c49b8e863 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0011-Change-default-emulation-for-mips64-linux.patch
@@ -1,7 +1,7 @@
-From 958a49749b772660d3bafb80748829cba6bed065 Mon Sep 17 00:00:00 2001
+From 2182791a453f34bee6968b3e72848608cf7d7abe Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:44:14 +0000
-Subject: [PATCH 10/15] Change default emulation for mips64*-*-linux
+Subject: [PATCH] Change default emulation for mips64*-*-linux
we change the default emulations to be N64 instead of N32
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 0e1ddb659c..d4f50f0a8d 100644
+index b96931f52e..847f9f0ba9 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
-@@ -919,12 +919,12 @@ case "${targ}" in
+@@ -911,12 +911,12 @@ case "${targ}" in
targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
;;
mips64*el-*-linux*)
@@ -30,27 +30,28 @@ index 0e1ddb659c..d4f50f0a8d 100644
- targ_defvec=mips_elf32_ntrad_be_vec
- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
;;
mips*el-*-linux*)
targ_defvec=mips_elf32_trad_le_vec
diff --git a/ld/configure.tgt b/ld/configure.tgt
-index beba17ef51..917be6f8eb 100644
+index 23194e357f..f4f0eaf9b2 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
-@@ -468,11 +468,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmipvxworks
- mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
- targ_extra_emuls="elf32elmipvxworks" ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss ;;
+@@ -541,12 +541,12 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
+ ;;
+ mips*-*-windiss) targ_emul=elf32mipswindiss
+ ;;
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
+ targ_extra_libpath=$targ_extra_emuls
+ ;;
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+mips64*-*-linux-*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
+ targ_extra_libpath=$targ_extra_emuls
+ ;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch b/poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
index 20c5ed630..c32867a23 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0011-Add-support-for-Netlogic-XLP.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0012-Add-support-for-Netlogic-XLP.patch
@@ -1,7 +1,7 @@
-From e4a0cd30c7e9334ed507c93014a8b2d1315ff937 Mon Sep 17 00:00:00 2001
+From a0237ec2d1e58bd35c236df39dd5a06504c6d2ed Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Feb 2016 17:06:19 +0000
-Subject: [PATCH 11/15] Add support for Netlogic XLP
+Subject: [PATCH] Add support for Netlogic XLP
Patch From: Nebu Philips <nphilips@netlogicmicro.com>
@@ -26,15 +26,16 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
binutils/readelf.c | 1 +
gas/config/tc-mips.c | 4 +++-
gas/configure | 3 +++
+ gas/configure.ac | 3 +++
include/elf/mips.h | 1 +
include/opcode/mips.h | 6 ++++++
- ld/configure.tgt | 2 ++
+ ld/configure.tgt | 3 +++
opcodes/mips-dis.c | 12 +++++-------
opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
- 14 files changed, 61 insertions(+), 21 deletions(-)
+ 15 files changed, 65 insertions(+), 21 deletions(-)
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
-index e5d8dcf390..2cc74a2d61 100644
+index fa3a9746b6..5078024fd5 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -799,6 +799,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
@@ -46,7 +47,7 @@ index e5d8dcf390..2cc74a2d61 100644
arch_flags = M_MIPS2;
break;
diff --git a/bfd/archures.c b/bfd/archures.c
-index 647cf0d8d4..7e1d0c810f 100644
+index 232103817c..b2b3b8c124 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -185,6 +185,7 @@ DESCRIPTION
@@ -58,10 +59,10 @@ index 647cf0d8d4..7e1d0c810f 100644
.#define bfd_mach_mipsisa32r2 33
.#define bfd_mach_mipsisa32r3 34
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index e25da50aaf..e251d7e7aa 100644
+index 7c13bc8c91..2e453c50c1 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
-@@ -2084,6 +2084,7 @@ enum bfd_architecture
+@@ -1568,6 +1568,7 @@ enum bfd_architecture
#define bfd_mach_mips_octeon3 6503
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR'. */
#define bfd_mach_mips_interaptiv_mr2 736550 /* decimal 'IA2'. */
@@ -70,10 +71,10 @@ index e25da50aaf..e251d7e7aa 100644
#define bfd_mach_mipsisa32r2 33
#define bfd_mach_mipsisa32r3 34
diff --git a/bfd/config.bfd b/bfd/config.bfd
-index cc65547588..3614ff79d4 100644
+index 847f9f0ba9..a12707f827 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
-@@ -902,6 +902,11 @@ case "${targ}" in
+@@ -894,6 +894,11 @@ case "${targ}" in
targ_defvec=mips_elf32_le_vec
targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
;;
@@ -86,10 +87,10 @@ index cc65547588..3614ff79d4 100644
targ_defvec=mips_elf32_be_vec
targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
-index b359491305..61a3e7aaca 100644
+index 802acb45f1..fd9ec4c0ad 100644
--- a/bfd/cpu-mips.c
+++ b/bfd/cpu-mips.c
-@@ -107,7 +107,8 @@ enum
+@@ -108,7 +108,8 @@ enum
I_mipsocteon3,
I_xlr,
I_interaptiv_mr2,
@@ -99,21 +100,21 @@ index b359491305..61a3e7aaca 100644
};
#define NN(index) (&arch_info_struct[(index) + 1])
-@@ -162,7 +163,8 @@ static const bfd_arch_info_type arch_info_struct[] =
- N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
+@@ -163,7 +164,8 @@ static const bfd_arch_info_type arch_info_struct[] =
+ N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
NN(I_interaptiv_mr2)),
-- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
-+ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
-+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0)
+- N (64, 64, bfd_mach_mips_micromips, "mips:micromips", FALSE, NULL)
++ N (64, 64, bfd_mach_mips_micromips, "mips:micromips", FALSE, NN(I_micromips)),
++ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, NULL)
};
/* The default architecture is mips:3000, but with a machine number of
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
-index 5998bc43a8..0d5795222b 100644
+index d7e3aed3b6..7baeee9ee3 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
-@@ -6919,6 +6919,9 @@ _bfd_elf_mips_mach (flagword flags)
+@@ -6999,6 +6999,9 @@ _bfd_elf_mips_mach (flagword flags)
case E_MIPS_MACH_IAMR2:
return bfd_mach_mips_interaptiv_mr2;
@@ -123,7 +124,7 @@ index 5998bc43a8..0d5795222b 100644
default:
switch (flags & EF_MIPS_ARCH)
{
-@@ -12199,6 +12202,10 @@ mips_set_isa_flags (bfd *abfd)
+@@ -12355,6 +12358,10 @@ mips_set_isa_flags (bfd *abfd)
val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
break;
@@ -134,7 +135,7 @@ index 5998bc43a8..0d5795222b 100644
case bfd_mach_mipsisa32:
val = E_MIPS_ARCH_32;
break;
-@@ -14214,6 +14221,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
+@@ -14379,6 +14386,7 @@ static const struct mips_mach_extension mips_mach_extensions[] =
{ bfd_mach_mips_gs264e, bfd_mach_mips_gs464e },
{ bfd_mach_mips_gs464e, bfd_mach_mips_gs464 },
{ bfd_mach_mips_gs464, bfd_mach_mipsisa64r2 },
@@ -143,10 +144,10 @@ index 5998bc43a8..0d5795222b 100644
/* MIPS64 extensions. */
{ bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
diff --git a/binutils/readelf.c b/binutils/readelf.c
-index b13eb6a43b..9df3742682 100644
+index 6b5bebe743..d15a7828db 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
-@@ -3412,6 +3412,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
+@@ -3440,6 +3440,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine)
case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break;
case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
case E_MIPS_MACH_IAMR2: strcat (buf, ", interaptiv-mr2"); break;
@@ -155,10 +156,10 @@ index b13eb6a43b..9df3742682 100644
/* We simply ignore the field in this case to avoid confusion:
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
-index ae55904229..d6882712f5 100644
+index fc6898834e..2c7151ccdb 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
-@@ -554,6 +554,7 @@ static int mips_32bitmode = 0;
+@@ -568,6 +568,7 @@ static int mips_32bitmode = 0;
|| mips_opts.arch == CPU_RM7000 \
|| mips_opts.arch == CPU_VR5500 \
|| mips_opts.micromips \
@@ -166,7 +167,7 @@ index ae55904229..d6882712f5 100644
)
/* Whether the processor uses hardware interlocks to protect reads
-@@ -583,6 +584,7 @@ static int mips_32bitmode = 0;
+@@ -597,6 +598,7 @@ static int mips_32bitmode = 0;
&& mips_opts.isa != ISA_MIPS3) \
|| mips_opts.arch == CPU_R4300 \
|| mips_opts.micromips \
@@ -174,31 +175,45 @@ index ae55904229..d6882712f5 100644
)
/* Whether the processor uses hardware interlocks to protect reads
-@@ -19867,7 +19869,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
+@@ -20135,7 +20137,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
/* Broadcom XLP.
XLP is mostly like XLR, with the prominent exception that it is
MIPS64R2 rather than MIPS64. */
- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
- /* MIPS 64 Release 6 */
- { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
+ /* MIPS 64 Release 6. */
+ { "i6400", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6},
diff --git a/gas/configure b/gas/configure
-index a82fde7fa8..afc77c347a 100755
+index 60c1a055ae..59d6d11215 100755
--- a/gas/configure
+++ b/gas/configure
-@@ -13364,6 +13364,9 @@ _ACEOF
+@@ -12722,6 +12722,9 @@ _ACEOF
mipsisa64r6 | mipsisa64r6el)
mips_cpu=mips64r6
;;
+ mipsisa64r2nlm | mipsisa64r2nlmel)
-+ mips_cpu=xlp
-+ ;;
++ mips_cpu=xlp
++ ;;
+ mipstx39 | mipstx39el)
+ mips_cpu=r3900
+ ;;
+diff --git a/gas/configure.ac b/gas/configure.ac
+index 6f32e55a1a..11c2e0d273 100644
+--- a/gas/configure.ac
++++ b/gas/configure.ac
+@@ -325,6 +325,9 @@ changequote([,])dnl
+ mipsisa64r6 | mipsisa64r6el)
+ mips_cpu=mips64r6
+ ;;
++ mipsisa64r2nlm | mipsisa64r2nlmel)
++ mips_cpu=xlp
++ ;;
mipstx39 | mipstx39el)
mips_cpu=r3900
;;
diff --git a/include/elf/mips.h b/include/elf/mips.h
-index b76d450ae2..7cddb365ad 100644
+index d116b036b6..dceeb3f156 100644
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -290,6 +290,7 @@ END_RELOC_NUMBERS (R_MIPS_maxext)
@@ -210,7 +225,7 @@ index b76d450ae2..7cddb365ad 100644
#define E_MIPS_MACH_OCTEON3 0x008e0000
#define E_MIPS_MACH_5400 0x00910000
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
-index abd52c8980..53b6752a1c 100644
+index fd031f3758..a96a44df84 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -1260,6 +1260,8 @@ static const unsigned int mips_isa_table[] = {
@@ -222,7 +237,7 @@ index abd52c8980..53b6752a1c 100644
/* DSP ASE */
#define ASE_DSP 0x00000001
-@@ -1381,6 +1383,7 @@ static const unsigned int mips_isa_table[] = {
+@@ -1384,6 +1386,7 @@ static const unsigned int mips_isa_table[] = {
#define CPU_OCTEON3 6503
#define CPU_XLR 887682 /* decimal 'XLR' */
#define CPU_INTERAPTIV_MR2 736550 /* decimal 'IA2' */
@@ -230,7 +245,7 @@ index abd52c8980..53b6752a1c 100644
/* Return true if the given CPU is included in INSN_* mask MASK. */
-@@ -1458,6 +1461,9 @@ cpu_is_member (int cpu, unsigned int mask)
+@@ -1461,6 +1464,9 @@ cpu_is_member (int cpu, unsigned int mask)
return ((mask & INSN_ISA_MASK) == INSN_ISA32R6)
|| ((mask & INSN_ISA_MASK) == INSN_ISA64R6);
@@ -241,23 +256,24 @@ index abd52c8980..53b6752a1c 100644
return FALSE;
}
diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 917be6f8eb..347df6c3f6 100644
+index f4f0eaf9b2..0da3eca19c 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
-@@ -454,6 +454,8 @@ mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
- mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
+@@ -520,6 +520,9 @@ mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
+ targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
+ ;;
+mipsisa64*-*-elf*) targ_emul=elf32btsmip
-+ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" ;;
++ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
++ ;;
mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
targ_extra_emuls="elf32lr5900"
- targ_extra_libpath=$targ_extra_emuls ;;
+ targ_extra_libpath=$targ_extra_emuls
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
-index 0dd85e3779..1ea708dde7 100644
+index 755bbe294b..ce22ef683a 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
-@@ -673,13 +673,11 @@ const struct mips_arch_choice mips_arch_choices[] =
+@@ -674,13 +674,11 @@ const struct mips_arch_choice mips_arch_choices[] =
mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
mips_cp1_names_mips3264, mips_hwr_names_numeric },
@@ -277,7 +293,7 @@ index 0dd85e3779..1ea708dde7 100644
/* This entry, mips16, is here only for ISA/processor selection; do
not print its name. */
diff --git a/opcodes/mips-opc.c b/opcodes/mips-opc.c
-index 837da6bd99..d3ea5b8877 100644
+index 5270aeefa8..d17dc78cd7 100644
--- a/opcodes/mips-opc.c
+++ b/opcodes/mips-opc.c
@@ -328,6 +328,7 @@ decode_mips_operand (const char *p)
@@ -288,7 +304,7 @@ index 837da6bd99..d3ea5b8877 100644
#define IVIRT ASE_VIRT
#define IVIRT64 ASE_VIRT64
-@@ -989,6 +990,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -990,6 +991,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
{"clz", "d,s", 0x00000050, 0xfc1f07ff, WR_1|RD_2, 0, I37, 0, 0 },
{"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, I37 },
@@ -296,7 +312,7 @@ index 837da6bd99..d3ea5b8877 100644
/* ctc0 is at the bottom of the table. */
{"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
{"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|CM, 0, I1, 0, 0 },
-@@ -1021,12 +1023,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1022,12 +1024,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
{"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
{"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
@@ -311,7 +327,7 @@ index 837da6bd99..d3ea5b8877 100644
/* dctr and dctw are used on the r5000. */
{"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
{"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
-@@ -1098,6 +1101,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1099,6 +1102,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LC, 0, I64, 0, 0 },
{"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
{"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LC, 0, 0, IVIRT64, 0 },
@@ -319,7 +335,7 @@ index 837da6bd99..d3ea5b8877 100644
{"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
{"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
{"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|CM, 0, I3, 0, EE },
-@@ -1113,6 +1117,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1114,6 +1118,8 @@ const struct mips_opcode mips_builtin_opcodes[] =
/* dmfc3 is at the bottom of the table. */
/* dmtc3 is at the bottom of the table. */
{"dmuh", "d,s,t", 0x000000dc, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
@@ -328,7 +344,7 @@ index 837da6bd99..d3ea5b8877 100644
{"dmul", "d,s,t", 0x0000009c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I69, 0, 0 },
{"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
{"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32|I69 },
-@@ -1266,9 +1272,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1267,9 +1273,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"ld", "s,-b(+R)", 0xec180000, 0xfc1c0000, WR_1, RD_pc, I69, 0, 0 },
{"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
{"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3|LM, 0, I3, 0, 0 },
@@ -341,7 +357,7 @@ index 837da6bd99..d3ea5b8877 100644
{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
-@@ -1433,7 +1439,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1438,7 +1444,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
{"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
{"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
@@ -350,7 +366,7 @@ index 837da6bd99..d3ea5b8877 100644
{"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
{"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
{"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
-@@ -1478,10 +1484,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1483,10 +1489,13 @@ const struct mips_opcode mips_builtin_opcodes[] =
/* move is at the top of the table. */
{"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
{"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
@@ -366,7 +382,7 @@ index 837da6bd99..d3ea5b8877 100644
{"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, I37 },
{"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
{"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
-@@ -1531,7 +1540,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1536,7 +1545,7 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
{"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
{"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
@@ -375,7 +391,7 @@ index 837da6bd99..d3ea5b8877 100644
{"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
{"mtm0", "s,t", 0x70000008, 0xfc00ffff, RD_1|RD_2, 0, IOCT3, 0, 0 },
{"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
-@@ -1968,9 +1977,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
+@@ -1978,9 +1987,9 @@ const struct mips_opcode mips_builtin_opcodes[] =
{"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, I37},
{"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
{"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
@@ -388,6 +404,3 @@ index 837da6bd99..d3ea5b8877 100644
{"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
{"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2|I37 },
{"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
index 6a3b78f22..463de8063 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0012-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
@@ -1,7 +1,7 @@
-From e48767a0298e6ccf53d83fecc93bb6d26b595897 Mon Sep 17 00:00:00 2001
+From ef4ad1cb9ff1b5a871ffa792a71b3ad6d14eb3dc Mon Sep 17 00:00:00 2001
From: Zhenhua Luo <zhenhua.luo@nxp.com>
Date: Sat, 11 Jun 2016 22:08:29 -0500
-Subject: [PATCH 12/15] fix the incorrect assembling for ppc wait mnemonic
+Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
@@ -11,10 +11,10 @@ Upstream-Status: Pending
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
-index 3032631d4e..142f096ef4 100644
+index 7ef91d819b..145953d3c4 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
-@@ -5325,7 +5325,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -5709,7 +5709,6 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"ldepx", X(31,29), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
{"waitasec", X(31,30), XRTRARB_MASK, POWER8, POWER9, {0}},
@@ -22,7 +22,7 @@ index 3032631d4e..142f096ef4 100644
{"lwepx", X(31,31), X_MASK, E500MC|PPCA2, 0, {RT, RA0, RB}},
-@@ -5379,7 +5378,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
+@@ -5763,7 +5762,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
{"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, 0, {0}},
@@ -31,6 +31,3 @@ index 3032631d4e..142f096ef4 100644
{"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2, 0, {RA0, RB}},
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch b/poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
index d929179de..6acde1f78 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0013-Detect-64-bit-MIPS-targets.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0014-Detect-64-bit-MIPS-targets.patch
@@ -1,7 +1,7 @@
-From 6587e7b8e7730dda20d8c47cabe9f7f8397efa3c Mon Sep 17 00:00:00 2001
+From 2f7f2389764ef1d699f6ad32057314024b7e84e7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 31 Mar 2017 11:42:03 -0700
-Subject: [PATCH 13/15] Detect 64-bit MIPS targets
+Subject: [PATCH] Detect 64-bit MIPS targets
Add mips64 target triplets and default to N64
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 14 insertions(+)
diff --git a/gold/configure.tgt b/gold/configure.tgt
-index 3e066edaa8..caf130ceda 100644
+index aa7ec552ae..470515062e 100644
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,13 @@ aarch64*-*)
@@ -45,6 +45,3 @@ index 3e066edaa8..caf130ceda 100644
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch
deleted file mode 100644
index bfde561de..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d5d783903e335302e562bac8da1a083338d75b25 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Nov 2018 17:46:40 -0800
-Subject: [PATCH 15/15] binutils : enable x86_64-pep for producing EFI binaries
- on x86-64
-
-Add x86_64-pep emulation support to the set enabled for x86_64 targets
-to enable the linker to produce Portable Executables for EFI binaries.
-
-Enables building the x86-64 EFI variant of the Xen hypervisor for
-the OpenXT Project.
-
-Upstream-Status: Inappropriate [OE configuration specific]
-
-Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- bfd/config.bfd | 2 +-
- ld/configure.tgt | 5 +++--
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 3614ff79d4..aef144803a 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -694,7 +694,7 @@ case "${targ}" in
- ;;
- x86_64-*-linux-*)
- targ_defvec=x86_64_elf64_vec
-- targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
-+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec x86_64_pe_vec x86_64_pe_be_vec i386_pe_vec"
- want64=true
- ;;
- x86_64-*-nacl*)
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 347df6c3f6..1e37d747a9 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -257,8 +257,9 @@ x86_64-*-linux-gnux32) targ_emul=elf32_x86_64
- tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'`
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;;
- x86_64-*-linux-*) targ_emul=elf_x86_64
-- targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
-- targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
-+ targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pe i386pep"
-+ targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om i386pep"
-+ targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o"
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
- i[3-7]86-*-redox*) targ_emul=elf_i386
- targ_extra_emuls=elf_x86_64 ;;
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
index 65ba10a55..a794719bd 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0014-sync-with-OE-libtool-changes.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0015-sync-with-OE-libtool-changes.patch
@@ -1,7 +1,7 @@
-From b7729343206fa196b9a11747a92b3cf563277056 Mon Sep 17 00:00:00 2001
+From 392d474a72d37b669f53ab9f0fa913b958af93f6 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 6 Mar 2017 23:33:27 -0800
-Subject: [PATCH 14/15] sync with OE libtool changes
+Subject: [PATCH] sync with OE libtool changes
Apply these patches from our libtool patches as not only are redundant RPATHs a
waste of space but they can cause incorrect linking when native packages are
@@ -84,6 +84,3 @@ index 11ee684ccc..3b19ac1532 100644
fi
elif test -n "$runpath_var"; then
case "$finalize_perm_rpath " in
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0016-Check-for-clang-before-checking-gcc-version.patch b/poky/meta/recipes-devtools/binutils/binutils/0016-Check-for-clang-before-checking-gcc-version.patch
new file mode 100644
index 000000000..c694b42dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0016-Check-for-clang-before-checking-gcc-version.patch
@@ -0,0 +1,48 @@
+From 67590a44c1256491fa674426f0170d5d05377d05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 15 Apr 2020 14:17:20 -0700
+Subject: [PATCH 16/16] Check for clang before checking gcc version
+
+Clang advertises itself to be gcc 4.2.1, so when compiling this test
+here fails since gcc < 4.4.5 did not support -static-libstdc++ but thats
+not true for clang, so its better to make an additional check for clang
+before resorting to gcc version check. This should let clang enable
+static libstdc++ linking
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 590b03c2da0..46f116fdb54 100755
+--- a/configure
++++ b/configure
+@@ -5140,7 +5140,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
++#if !defined(__clang__) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5))
+ #error -static-libstdc++ not implemented
+ #endif
+ int main() {}
+diff --git a/configure.ac b/configure.ac
+index d3f85e6f5d5..c0eb1343121 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1309,7 +1309,7 @@ if test "$GCC" = yes; then
+ AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc])
+ AC_LANG_PUSH(C++)
+ AC_LINK_IFELSE([AC_LANG_SOURCE([
+-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
++#if !defined(__clang__) && ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5))
+ #error -static-libstdc++ not implemented
+ #endif
+ int main() {}])],
+--
+2.26.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-binutils-drop-redundant-program_name-definition-fno-.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-binutils-drop-redundant-program_name-definition-fno-.patch
new file mode 100644
index 000000000..55af9abc1
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0017-binutils-drop-redundant-program_name-definition-fno-.patch
@@ -0,0 +1,61 @@
+From 57a3e055605b28a9449b1b27eda7125737c42b00 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <siarheit@google.com>
+Date: Sat, 1 Feb 2020 23:16:11 +0000
+Subject: [PATCH] binutils: drop redundant 'program_name' definition
+ (-fno-common)
+
+ * coffdump.c (program_name): Drop redundant definition.
+ * srconv.c (program_name): Likewise
+ * sysdump.c (program_name): Likewise
+
+Upstream-Status: Accepted (commit 0b398d69ac)
+Signed-off-by: Sergei Trofimovich <siarheit@google.com>
+Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
+---
+ binutils/coffdump.c | 2 --
+ binutils/srconv.c | 2 --
+ binutils/sysdump.c | 2 --
+ 3 files changed, 6 deletions(-)
+
+diff --git a/binutils/coffdump.c b/binutils/coffdump.c
+index 531a4e46c3..336da57ca2 100644
+--- a/binutils/coffdump.c
++++ b/binutils/coffdump.c
+@@ -456,8 +456,6 @@ coff_dump (struct coff_ofile *ptr)
+ dump_coff_section (ptr->sections + i);
+ }
+
+-char * program_name;
+-
+ static void
+ show_usage (FILE *file, int status)
+ {
+diff --git a/binutils/srconv.c b/binutils/srconv.c
+index 5742b16759..f071794f0a 100644
+--- a/binutils/srconv.c
++++ b/binutils/srconv.c
+@@ -1687,8 +1687,6 @@ prescan (struct coff_ofile *otree)
+ }
+ }
+
+-char *program_name;
+-
+ ATTRIBUTE_NORETURN static void
+ show_usage (FILE *ffile, int status)
+ {
+diff --git a/binutils/sysdump.c b/binutils/sysdump.c
+index d433e71ed9..7eebbd61d3 100644
+--- a/binutils/sysdump.c
++++ b/binutils/sysdump.c
+@@ -633,8 +633,6 @@ module (void)
+ }
+ }
+
+-char *program_name;
+-
+ ATTRIBUTE_NORETURN static void
+ show_usage (FILE *ffile, int status)
+ {
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch
deleted file mode 100644
index 07d1d6546..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 30bcc01478433a1cb05b36dc5c4beef7d2c89b5b Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Fri, 21 Jun 2019 11:51:38 +0930
-Subject: [PATCH] PR24689, string table corruption
-
-The testcase in the PR had a e_shstrndx section of type SHT_GROUP.
-hdr->contents were initialized by setup_group rather than being read
-from the file, thus last byte was not zero and string dereference ran
-off the end of the buffer.
-
- PR 24689
- * elfcode.h (elf_object_p): Check type of e_shstrndx section.
-
-Upstream-Status: Backport
-CVE: CVE-2019-12972
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- bfd/ChangeLog | 5 +++++
- bfd/elfcode.h | 3 ++-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index 91f09e6346..e66fb40a2c 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1,3 +1,8 @@
-+2019-06-21 Alan Modra <amodra@gmail.com>
-+
-+ PR 24689
-+ * elfcode.h (elf_object_p): Check type of e_shstrndx section.
-+
- 2019-02-20 Alan Modra <amodra@gmail.com>
-
- PR 24236
-diff --git a/bfd/elfcode.h b/bfd/elfcode.h
-index ec5ea766de..a35a629087 100644
---- a/bfd/elfcode.h
-+++ b/bfd/elfcode.h
-@@ -755,7 +755,8 @@ elf_object_p (bfd *abfd)
- /* A further sanity check. */
- if (i_ehdrp->e_shnum != 0)
- {
-- if (i_ehdrp->e_shstrndx >= elf_numsections (abfd))
-+ if (i_ehdrp->e_shstrndx >= elf_numsections (abfd)
-+ || i_shdrp[i_ehdrp->e_shstrndx].sh_type != SHT_STRTAB)
- {
- /* PR 2257:
- We used to just goto got_wrong_format_error here
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch
deleted file mode 100644
index c915a832b..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From df78be05daf4eb07f60f50ec1080cb979af32ec0 Mon Sep 17 00:00:00 2001
-From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 23 Jul 2019 07:33:32 +0000
-Subject: [PATCH] libiberty: Check zero value shstrndx in simple-object-elf.c
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@273718 138bc75d-0d04-0410-961f-82ee72b054a4
-
-CVE: CVE-2019-14250
-Upstream-Status: Backport [from gcc: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=273718]
-[Removed Changelog entry]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
-diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c
-index 502388991a08..bdee963634d6 100644
---- a/libiberty/simple-object-elf.c
-+++ b/libiberty/simple-object-elf.c
-@@ -548,7 +548,15 @@ simple_object_elf_match (unsigned char header[SIMPLE_OBJECT_MATCH_HEADER_LEN],
- XDELETE (eor);
- return NULL;
- }
--
-+
-+ if (eor->shstrndx == 0)
-+ {
-+ *errmsg = "invalid ELF shstrndx == 0";
-+ *err = 0;
-+ XDELETE (eor);
-+ return NULL;
-+ }
-+
- return (void *) eor;
- }
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch
deleted file mode 100644
index 85b9a9f91..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e17869db99195849826eaaf5d2d0eb2cfdd7a2a7 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Mon, 5 Aug 2019 10:40:35 +0100
-Subject: [PATCH] Catch potential integer overflow in readelf when processing
- corrupt binaries.
-
- PR 24829
- * readelf.c (apply_relocations): Catch potential integer overflow
- whilst checking reloc location against section size.
-
-CVE: CVE-2019-14444
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e17869db99195849826eaaf5d2d0eb2cfdd7a2a7]
-[Removed Changelog entry]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index b896ad9f406..e785fde43e7 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -13366,7 +13366,7 @@ apply_relocations (Filedata * filedata,
- }
-
- rloc = start + rp->r_offset;
-- if ((rloc + reloc_size) > end || (rloc < start))
-+ if (rloc >= end || (rloc + reloc_size) > end || (rloc < start))
- {
- warn (_("skipping invalid relocation offset 0x%lx in section %s\n"),
- (unsigned long) rp->r_offset,
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17450.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17450.patch
deleted file mode 100644
index a6ce0b9a8..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17450.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 09dd135df9ebc7a4b640537e23e26a03a288a789 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Wed, 9 Oct 2019 00:07:29 +1030
-Subject: [PATCH] PR25078, stack overflow in function find_abstract_instance
-
-Selectively backporting fix for bfd/dwarf2.c, but not the ChangeLog
-file. There are newer versions of binutils, but none of them contain the
-commit fixing CVE-2019-17450, so backport it to master and zeus.
-
-Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=063c511bd79]
-CVE: CVE-2019-17450
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-
- PR 25078
- * dwarf2.c (find_abstract_instance): Delete orig_info_ptr, add
- recur_count. Error on recur_count reaching 100 rather than
- info_ptr matching orig_info_ptr. Adjust calls.
-
----
- bfd/dwarf2.c | 35 +++++++++++++++++------------------
- 1 file changed, 17 insertions(+), 18 deletions(-)
-
-diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
-index 0b4e485582..20ec9e2e56 100644
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -2803,13 +2803,13 @@ lookup_symbol_in_variable_table (struct comp_unit *unit,
- }
-
- static bfd_boolean
--find_abstract_instance (struct comp_unit * unit,
-- bfd_byte * orig_info_ptr,
-- struct attribute * attr_ptr,
-- const char ** pname,
-- bfd_boolean * is_linkage,
-- char ** filename_ptr,
-- int * linenumber_ptr)
-+find_abstract_instance (struct comp_unit *unit,
-+ struct attribute *attr_ptr,
-+ unsigned int recur_count,
-+ const char **pname,
-+ bfd_boolean *is_linkage,
-+ char **filename_ptr,
-+ int *linenumber_ptr)
- {
- bfd *abfd = unit->abfd;
- bfd_byte *info_ptr;
-@@ -2820,6 +2820,14 @@ find_abstract_instance (struct comp_unit * unit,
- struct attribute attr;
- const char *name = NULL;
-
-+ if (recur_count == 100)
-+ {
-+ _bfd_error_handler
-+ (_("DWARF error: abstract instance recursion detected"));
-+ bfd_set_error (bfd_error_bad_value);
-+ return FALSE;
-+ }
-+
- /* DW_FORM_ref_addr can reference an entry in a different CU. It
- is an offset from the .debug_info section, not the current CU. */
- if (attr_ptr->form == DW_FORM_ref_addr)
-@@ -2939,15 +2947,6 @@ find_abstract_instance (struct comp_unit * unit,
- info_ptr, info_ptr_end);
- if (info_ptr == NULL)
- break;
-- /* It doesn't ever make sense for DW_AT_specification to
-- refer to the same DIE. Stop simple recursion. */
-- if (info_ptr == orig_info_ptr)
-- {
-- _bfd_error_handler
-- (_("DWARF error: abstract instance recursion detected"));
-- bfd_set_error (bfd_error_bad_value);
-- return FALSE;
-- }
- switch (attr.name)
- {
- case DW_AT_name:
-@@ -2961,7 +2960,7 @@ find_abstract_instance (struct comp_unit * unit,
- }
- break;
- case DW_AT_specification:
-- if (!find_abstract_instance (unit, info_ptr, &attr,
-+ if (!find_abstract_instance (unit, &attr, recur_count + 1,
- &name, is_linkage,
- filename_ptr, linenumber_ptr))
- return FALSE;
-@@ -3175,7 +3174,7 @@ scan_unit_for_symbols (struct comp_unit *unit)
-
- case DW_AT_abstract_origin:
- case DW_AT_specification:
-- if (!find_abstract_instance (unit, info_ptr, &attr,
-+ if (!find_abstract_instance (unit, &attr, 0,
- &func->name,
- &func->is_linkage,
- &func->file,
---
-2.23.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17451.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17451.patch
deleted file mode 100644
index b36a53266..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-17451.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 0192438051a7e781585647d5581a2a6f62fda362 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Wed, 9 Oct 2019 10:47:13 +1030
-Subject: [PATCH] PR25070, SEGV in function _bfd_dwarf2_find_nearest_line
-
-Selectively backporting fix for bfd/dwarf2.c, but not the ChangeLog
-file. There are newer versions of binutils, but none of them contain the
-commit fixing CVE-2019-17451, so backport it to master and zeus.
-
-Upstream-Status: Backport
-[https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=336bfbeb1848]
-CVE: CVE-2019-17451
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-
-
-Evil testcase with two debug info sections, with sizes of 2aaaabac4ec1
-and ffffd5555453b140 result in a total size of 1. Reading the first
-section of course overflows the buffer and tramples on other memory.
-
- PR 25070
- * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Catch overflow of
- total_size calculation.
----
- bfd/dwarf2.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
-index 0b4e485582..a91597b1d0 100644
---- a/bfd/dwarf2.c
-+++ b/bfd/dwarf2.c
-@@ -4426,7 +4426,16 @@ _bfd_dwarf2_slurp_debug_info (bfd *abfd, bfd *debug_bfd,
- for (total_size = 0;
- msec;
- msec = find_debug_info (debug_bfd, debug_sections, msec))
-- total_size += msec->size;
-+ {
-+ /* Catch PR25070 testcase overflowing size calculation here. */
-+ if (total_size + msec->size < total_size
-+ || total_size + msec->size < msec->size)
-+ {
-+ bfd_set_error (bfd_error_no_memory);
-+ return FALSE;
-+ }
-+ total_size += msec->size;
-+ }
-
- stash->info_ptr_memory = (bfd_byte *) bfd_malloc (total_size);
- if (stash->info_ptr_memory == NULL)
---
-2.23.0
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch
deleted file mode 100644
index f02539942..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From c1202057eb9161a86af27d867703235fee7b7555 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 10 Apr 2019 15:49:36 +0100
-Subject: [PATCH] Pull in patch for libiberty that fixes a stack exhaustion bug
- when demangling a pathalogically constructed mangled name.
-
- PR 89394
- * cp-demangle.c (cplus_demangle_fill_name): Reject negative
- lengths.
- (d_count_templates_scopes): Replace num_templates and num_scopes
- parameters with a struct d_print_info pointer parameter. Adjust
- body of the function accordingly. Add recursion counter and check
- that the recursion limit is not reached.
- (d_print_init): Pass dpi parameter to d_count_templates_scopes.
- Reset recursion counter afterwards, unless the recursion limit was
- reached.
-
-CVE: CVE-2019-9071
-CVE: CVE-2019-9070
-Upstream-Status: Backport
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- ChangeLog | 16 ++++++++++++++
- libiberty/cp-demangle.c | 48 ++++++++++++++++++++++-------------------
- 2 files changed, 42 insertions(+), 22 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index cd631a15b6..4df3aaa62c 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,19 @@
-+2019-04-10 Nick Clifton <nickc@redhat.com>
-+
-+ * libiberty: Sync with gcc. Bring in:
-+ 2019-04-10 Nick Clifton <nickc@redhat.com>
-+
-+ PR 89394
-+ * cp-demangle.c (cplus_demangle_fill_name): Reject negative
-+ lengths.
-+ (d_count_templates_scopes): Replace num_templates and num_scopes
-+ parameters with a struct d_print_info pointer parameter. Adjust
-+ body of the function accordingly. Add recursion counter and check
-+ that the recursion limit is not reached.
-+ (d_print_init): Pass dpi parameter to d_count_templates_scopes.
-+ Reset recursion counter afterwards, unless the recursion limit was
-+ reached.
-+
- 2018-06-24 Nick Clifton <nickc@redhat.com>
-
- 2.32 branch created.
-diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
-index b34b485692..779b4e763a 100644
---- a/libiberty/cp-demangle.c
-+++ b/libiberty/cp-demangle.c
-@@ -861,7 +861,7 @@ CP_STATIC_IF_GLIBCPP_V3
- int
- cplus_demangle_fill_name (struct demangle_component *p, const char *s, int len)
- {
-- if (p == NULL || s == NULL || len == 0)
-+ if (p == NULL || s == NULL || len <= 0)
- return 0;
- p->d_printing = 0;
- p->type = DEMANGLE_COMPONENT_NAME;
-@@ -4061,7 +4061,7 @@ d_growable_string_callback_adapter (const char *s, size_t l, void *opaque)
- are larger than the actual numbers encountered. */
-
- static void
--d_count_templates_scopes (int *num_templates, int *num_scopes,
-+d_count_templates_scopes (struct d_print_info *dpi,
- const struct demangle_component *dc)
- {
- if (dc == NULL)
-@@ -4081,13 +4081,13 @@ d_count_templates_scopes (int *num_templates, int *num_scopes,
- break;
-
- case DEMANGLE_COMPONENT_TEMPLATE:
-- (*num_templates)++;
-+ dpi->num_copy_templates++;
- goto recurse_left_right;
-
- case DEMANGLE_COMPONENT_REFERENCE:
- case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
- if (d_left (dc)->type == DEMANGLE_COMPONENT_TEMPLATE_PARAM)
-- (*num_scopes)++;
-+ dpi->num_saved_scopes++;
- goto recurse_left_right;
-
- case DEMANGLE_COMPONENT_QUAL_NAME:
-@@ -4152,42 +4152,42 @@ d_count_templates_scopes (int *num_templates, int *num_scopes,
- case DEMANGLE_COMPONENT_TAGGED_NAME:
- case DEMANGLE_COMPONENT_CLONE:
- recurse_left_right:
-- d_count_templates_scopes (num_templates, num_scopes,
-- d_left (dc));
-- d_count_templates_scopes (num_templates, num_scopes,
-- d_right (dc));
-+ /* PR 89394 - Check for too much recursion. */
-+ if (dpi->recursion > DEMANGLE_RECURSION_LIMIT)
-+ /* FIXME: There ought to be a way to report to the
-+ user that the recursion limit has been reached. */
-+ return;
-+
-+ ++ dpi->recursion;
-+ d_count_templates_scopes (dpi, d_left (dc));
-+ d_count_templates_scopes (dpi, d_right (dc));
-+ -- dpi->recursion;
- break;
-
- case DEMANGLE_COMPONENT_CTOR:
-- d_count_templates_scopes (num_templates, num_scopes,
-- dc->u.s_ctor.name);
-+ d_count_templates_scopes (dpi, dc->u.s_ctor.name);
- break;
-
- case DEMANGLE_COMPONENT_DTOR:
-- d_count_templates_scopes (num_templates, num_scopes,
-- dc->u.s_dtor.name);
-+ d_count_templates_scopes (dpi, dc->u.s_dtor.name);
- break;
-
- case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
-- d_count_templates_scopes (num_templates, num_scopes,
-- dc->u.s_extended_operator.name);
-+ d_count_templates_scopes (dpi, dc->u.s_extended_operator.name);
- break;
-
- case DEMANGLE_COMPONENT_FIXED_TYPE:
-- d_count_templates_scopes (num_templates, num_scopes,
-- dc->u.s_fixed.length);
-+ d_count_templates_scopes (dpi, dc->u.s_fixed.length);
- break;
-
- case DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS:
- case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS:
-- d_count_templates_scopes (num_templates, num_scopes,
-- d_left (dc));
-+ d_count_templates_scopes (dpi, d_left (dc));
- break;
-
- case DEMANGLE_COMPONENT_LAMBDA:
- case DEMANGLE_COMPONENT_DEFAULT_ARG:
-- d_count_templates_scopes (num_templates, num_scopes,
-- dc->u.s_unary_num.sub);
-+ d_count_templates_scopes (dpi, dc->u.s_unary_num.sub);
- break;
- }
- }
-@@ -4222,8 +4222,12 @@ d_print_init (struct d_print_info *dpi, demangle_callbackref callback,
- dpi->next_copy_template = 0;
- dpi->num_copy_templates = 0;
-
-- d_count_templates_scopes (&dpi->num_copy_templates,
-- &dpi->num_saved_scopes, dc);
-+ d_count_templates_scopes (dpi, dc);
-+ /* If we did not reach the recursion limit, then reset the
-+ current recursion value back to 0, so that we can print
-+ the templates. */
-+ if (dpi->recursion < DEMANGLE_RECURSION_LIMIT)
-+ dpi->recursion = 0;
- dpi->num_copy_templates *= dpi->num_saved_scopes;
-
- dpi->current_template = NULL;
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch
deleted file mode 100644
index a11a51200..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9074.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From e2ebb3906432dcca2727186ad79415f920730fb2 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 19 Feb 2019 22:48:44 +1030
-Subject: [PATCH] PR24235, Read memory violation in pei-x86_64.c
-
- PR 24235
- * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
- attempting to prevent read past end of section.
-
-Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/179f2db0d9c397d7dd8a59907b84208b79f7f48c]
-CVE: CVE-2019-9074
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- bfd/ChangeLog | 6 ++++++
- bfd/pei-x86_64.c | 9 ++++-----
- 2 files changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index dd2c741..cbf30de 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1,3 +1,9 @@
-+2019-02-19 Alan Modra <amodra@gmail.com>
-+
-+ PR 24235
-+ * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
-+ attempting to prevent read past end of section.
-+
- 2019-02-04 Nick Clifton <nickc@redhat.com>
-
- * development.sh (experimental) Set to false.
-diff --git a/bfd/pei-x86_64.c b/bfd/pei-x86_64.c
-index ff1093c..7e75104 100644
---- a/bfd/pei-x86_64.c
-+++ b/bfd/pei-x86_64.c
-@@ -541,7 +541,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
- /* virt_size might be zero for objects. */
- if (stop == 0 && strcmp (abfd->xvec->name, "pe-x86-64") == 0)
- {
-- stop = (datasize / onaline) * onaline;
-+ stop = datasize;
- virt_size_is_zero = TRUE;
- }
- else if (datasize < stop)
-@@ -551,8 +551,8 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
- _("Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"),
- pdata_section->name, (unsigned long) datasize,
- (unsigned long) stop);
-- /* Be sure not to read passed datasize. */
-- stop = datasize / onaline;
-+ /* Be sure not to read past datasize. */
-+ stop = datasize;
- }
-
- /* Display functions table. */
-@@ -724,8 +724,7 @@ pex64_bfd_print_pdata_section (bfd *abfd, void *vfile, asection *pdata_section)
- altent += imagebase;
-
- if (altent >= pdata_vma
-- && (altent + PDATA_ROW_SIZE <= pdata_vma
-- + pei_section_data (abfd, pdata_section)->virt_size))
-+ && altent - pdata_vma + PDATA_ROW_SIZE <= stop)
- {
- pex64_get_runtime_function
- (abfd, &arf, &pdata[altent - pdata_vma]);
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch
deleted file mode 100644
index bcb1310f1..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9075.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 8abac8031ed369a2734b1cdb7df28a39a54b4b49 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Wed, 20 Feb 2019 08:21:24 +1030
-Subject: [PATCH] PR24236, Heap buffer overflow in
- _bfd_archive_64_bit_slurp_armap
-
- PR 24236
- * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
- sentinel NUL to string buffer nearer to loop where it is used.
- Don't go past sentinel when scanning strings, and don't write
- NUL again.
- * archive.c (do_slurp_coff_armap): Simplify string handling to
- archive64.c style.
-
-Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/8abac8031ed369a2734b1cdb7df28a39a54b4b49]
-CVE: CVE-2019-9075
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- bfd/ChangeLog | 10 ++++++++++
- bfd/archive.c | 17 +++++++----------
- bfd/archive64.c | 10 +++++-----
- 3 files changed, 22 insertions(+), 15 deletions(-)
-
-diff --git a/bfd/ChangeLog b/bfd/ChangeLog
-index 72c87c7..e39bb12 100644
---- a/bfd/ChangeLog
-+++ b/bfd/ChangeLog
-@@ -1,3 +1,13 @@
-+2019-02-20 Alan Modra <amodra@gmail.com>
-+
-+ PR 24236
-+ * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
-+ sentinel NUL to string buffer nearer to loop where it is used.
-+ Don't go past sentinel when scanning strings, and don't write
-+ NUL again.
-+ * archive.c (do_slurp_coff_armap): Simplify string handling to
-+ archive64.c style.
-+
- 2019-02-19 Alan Modra <amodra@gmail.com>
-
- PR 24235
-diff --git a/bfd/archive.c b/bfd/archive.c
-index d2d9b72..68a92a3 100644
---- a/bfd/archive.c
-+++ b/bfd/archive.c
-@@ -1012,6 +1012,7 @@ do_slurp_coff_armap (bfd *abfd)
- int *raw_armap, *rawptr;
- struct artdata *ardata = bfd_ardata (abfd);
- char *stringbase;
-+ char *stringend;
- bfd_size_type stringsize;
- bfd_size_type parsed_size;
- carsym *carsyms;
-@@ -1071,22 +1072,18 @@ do_slurp_coff_armap (bfd *abfd)
- }
-
- /* OK, build the carsyms. */
-- for (i = 0; i < nsymz && stringsize > 0; i++)
-+ stringend = stringbase + stringsize;
-+ *stringend = 0;
-+ for (i = 0; i < nsymz; i++)
- {
-- bfd_size_type len;
--
- rawptr = raw_armap + i;
- carsyms->file_offset = swap ((bfd_byte *) rawptr);
- carsyms->name = stringbase;
-- /* PR 17512: file: 4a1d50c1. */
-- len = strnlen (stringbase, stringsize);
-- if (len < stringsize)
-- len ++;
-- stringbase += len;
-- stringsize -= len;
-+ stringbase += strlen (stringbase);
-+ if (stringbase != stringend)
-+ ++stringbase;
- carsyms++;
- }
-- *stringbase = 0;
-
- ardata->symdef_count = nsymz;
- ardata->first_file_filepos = bfd_tell (abfd);
-diff --git a/bfd/archive64.c b/bfd/archive64.c
-index 312bf82..42f6ed9 100644
---- a/bfd/archive64.c
-+++ b/bfd/archive64.c
-@@ -100,8 +100,6 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd)
- return FALSE;
- carsyms = ardata->symdefs;
- stringbase = ((char *) ardata->symdefs) + carsym_size;
-- stringbase[stringsize] = 0;
-- stringend = stringbase + stringsize;
-
- raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize);
- if (raw_armap == NULL)
-@@ -115,15 +113,17 @@ _bfd_archive_64_bit_slurp_armap (bfd *abfd)
- goto release_raw_armap;
- }
-
-+ stringend = stringbase + stringsize;
-+ *stringend = 0;
- for (i = 0; i < nsymz; i++)
- {
- carsyms->file_offset = bfd_getb64 (raw_armap + i * 8);
- carsyms->name = stringbase;
-- if (stringbase < stringend)
-- stringbase += strlen (stringbase) + 1;
-+ stringbase += strlen (stringbase);
-+ if (stringbase != stringend)
-+ ++stringbase;
- ++carsyms;
- }
-- *stringbase = '\0';
-
- ardata->symdef_count = nsymz;
- ardata->first_file_filepos = bfd_tell (abfd);
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch
deleted file mode 100644
index ec8cde250..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9076.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 9f841c583880eb6d0194455c1583a766f853e628 Mon Sep 17 00:00:00 2001
-From: Alan Modra <amodra@gmail.com>
-Date: Wed, 20 Feb 2019 12:06:31 +1030
-Subject: [PATCH] PR24233, Out of memory
-
- PR 24233
- * objdump.c (dump_bfd_private_header): Print warning if
- bfd_print_private_bfd_data returns false.
-
-Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7d272a55caebfc26ab2e15d1e9439bac978b9bb7]
-CVE: CVE-2019-9076
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- binutils/ChangeLog | 6 ++++++
- binutils/objdump.c | 4 +++-
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/binutils/ChangeLog b/binutils/ChangeLog
-index f837c37..d5dd7cb 100644
---- a/binutils/ChangeLog
-+++ b/binutils/ChangeLog
-@@ -1,3 +1,9 @@
-+2019-02-20 Alan Modra <amodra@gmail.com>
-+
-+ PR 24233
-+ * objdump.c (dump_bfd_private_header): Print warning if
-+ bfd_print_private_bfd_data returns false.
-+
- 2019-02-02 Nick Clifton <nickc@redhat.com>
-
- * configure: Regenerate.
-diff --git a/binutils/objdump.c b/binutils/objdump.c
-index 8725390..7d0c6a4 100644
---- a/binutils/objdump.c
-+++ b/binutils/objdump.c
-@@ -3178,7 +3178,9 @@ dump_bfd_header (bfd *abfd)
- static void
- dump_bfd_private_header (bfd *abfd)
- {
-- bfd_print_private_bfd_data (abfd, stdout);
-+ if (!bfd_print_private_bfd_data (abfd, stdout))
-+ non_fatal (_("warning: private headers incomplete: %s"),
-+ bfd_errmsg (bfd_get_error ()));
- }
-
- static void
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch
deleted file mode 100644
index 11ecb71b2..000000000
--- a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9077.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f7bbc8890de45df6eda0ddef5dd04f835f54eecf Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Wed, 20 Feb 2019 17:03:47 +0000
-Subject: [PATCH] Fix a illegal memory access fault when parsing a corrupt MIPS
- option section using readelf.
-
- PR 24243
- * readelf.c (process_mips_specific): Check for an options section
- that is too small to even contain a single option.
-
-Upstream-Status: Backport [https://github.com/bminor/binutils-gdb/commit/7fc0c668f2aceb8582d74db1ad2528e2bba8a921]
-CVE: CVE-2019-9077
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- binutils/readelf.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/binutils/readelf.c b/binutils/readelf.c
-index 9df3742..18ab806 100644
---- a/binutils/readelf.c
-+++ b/binutils/readelf.c
-@@ -16179,6 +16179,12 @@ process_mips_specific (Filedata * filedata)
- error (_("No MIPS_OPTIONS header found\n"));
- return FALSE;
- }
-+ /* PR 24243 */
-+ if (sect->sh_size < sizeof (* eopt))
-+ {
-+ error (_("The MIPS options section is too small.\n"));
-+ return FALSE;
-+ }
-
- eopt = (Elf_External_Options *) get_data (NULL, filedata, options_offset, 1,
- sect->sh_size, _("options"));
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2020-0551.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2020-0551.patch
new file mode 100644
index 000000000..53e3caf44
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2020-0551.patch
@@ -0,0 +1,549 @@
+From ae531041c7c5956672342f89c486a011c84f027f Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Wed, 11 Mar 2020 09:46:19 -0700
+Subject: [PATCH 1/1] i386: Generate lfence with load/indirect branch/ret
+ [CVE-2020-0551]
+
+Add 3 command-line options to generate lfence for load, indirect near
+branch and ret to help mitigate:
+
+https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html
+http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0551
+
+1. -mlfence-after-load=[no|yes]:
+ -mlfence-after-load=yes generates lfence after load instructions.
+2. -mlfence-before-indirect-branch=[none|all|memory|register]:
+ a. -mlfence-before-indirect-branch=all generates lfence before indirect
+ near branches via register and a warning before indirect near branches
+ via memory.
+ b. -mlfence-before-indirect-branch=memory issue a warning before
+ indirect near branches via memory.
+ c. -mlfence-before-indirect-branch=register generates lfence before
+ indirect near branches via register.
+Note that lfence won't be generated before indirect near branches via
+register with -mlfence-after-load=yes since lfence will be generated
+after loading branch target register.
+3. -mlfence-before-ret=[none|or|not]
+ a. -mlfence-before-ret=or generates or with lfence before ret.
+ b. -mlfence-before-ret=not generates not with lfence before ret.
+
+A warning will be issued and lfence won't be generated before indirect
+near branch and ret if the previous item is a prefix or a constant
+directive, which may be used to hardcode an instruction, since there
+is no clear instruction boundary.
+
+ * config/tc-i386.c (lfence_after_load): New.
+ (lfence_before_indirect_branch_kind): New.
+ (lfence_before_indirect_branch): New.
+ (lfence_before_ret_kind): New.
+ (lfence_before_ret): New.
+ (last_insn): New.
+ (load_insn_p): New.
+ (insert_lfence_after): New.
+ (insert_lfence_before): New.
+ (md_assemble): Call insert_lfence_before and insert_lfence_after.
+ Set last_insn.
+ (OPTION_MLFENCE_AFTER_LOAD): New.
+ (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
+ (OPTION_MLFENCE_BEFORE_RET): New.
+ (md_longopts): Add -mlfence-after-load=,
+ -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+ (md_parse_option): Handle -mlfence-after-load=,
+ -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+ (md_show_usage): Display -mlfence-after-load=,
+ -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+ (i386_cons_align): New.
+ * config/tc-i386.h (i386_cons_align): New.
+ (md_cons_align): New.
+ * doc/c-i386.texi: Document -mlfence-after-load=,
+ -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ae531041c7c5956672342f89c486a011c84f027f]
+CVE: CVE-2020-0551
+---
+diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
+index b020f39c863..09063f784b7 100644
+--- a/gas/config/tc-i386.c
++++ b/gas/config/tc-i386.c
+@@ -629,7 +629,29 @@ static int omit_lock_prefix = 0;
+ "lock addl $0, (%{re}sp)". */
+ static int avoid_fence = 0;
+
+-/* Type of the previous instruction. */
++/* 1 if lfence should be inserted after every load. */
++static int lfence_after_load = 0;
++
++/* Non-zero if lfence should be inserted before indirect branch. */
++static enum lfence_before_indirect_branch_kind
++ {
++ lfence_branch_none = 0,
++ lfence_branch_register,
++ lfence_branch_memory,
++ lfence_branch_all
++ }
++lfence_before_indirect_branch;
++
++/* Non-zero if lfence should be inserted before ret. */
++static enum lfence_before_ret_kind
++ {
++ lfence_before_ret_none = 0,
++ lfence_before_ret_not,
++ lfence_before_ret_or
++ }
++lfence_before_ret;
++
++/* Types of previous instruction is .byte or prefix. */
+ static struct
+ {
+ segT seg;
+@@ -4311,6 +4333,283 @@ optimize_encoding (void)
+ }
+ }
+
++/* Return non-zero for load instruction. */
++
++static int
++load_insn_p (void)
++{
++ unsigned int dest;
++ int any_vex_p = is_any_vex_encoding (&i.tm);
++ unsigned int base_opcode = i.tm.base_opcode | 1;
++
++ if (!any_vex_p)
++ {
++ /* lea */
++ if (i.tm.base_opcode == 0x8d)
++ return 0;
++
++ /* pop */
++ if ((i.tm.base_opcode & ~7) == 0x58
++ || (i.tm.base_opcode == 0x8f && i.tm.extension_opcode == 0))
++ return 1;
++
++ /* movs, cmps, lods, scas. */
++ if ((i.tm.base_opcode | 0xb) == 0xaf)
++ return 1;
++
++ /* outs */
++ if (base_opcode == 0x6f)
++ return 1;
++ }
++
++ /* No memory operand. */
++ if (!i.mem_operands)
++ return 0;
++
++ if (any_vex_p)
++ {
++ /* vldmxcsr. */
++ if (i.tm.base_opcode == 0xae
++ && i.tm.opcode_modifier.vex
++ && i.tm.opcode_modifier.vexopcode == VEX0F
++ && i.tm.extension_opcode == 2)
++ return 1;
++ }
++ else
++ {
++ /* test, not, neg, mul, imul, div, idiv. */
++ if ((i.tm.base_opcode == 0xf6 || i.tm.base_opcode == 0xf7)
++ && i.tm.extension_opcode != 1)
++ return 1;
++
++ /* inc, dec. */
++ if (base_opcode == 0xff && i.tm.extension_opcode <= 1)
++ return 1;
++
++ /* add, or, adc, sbb, and, sub, xor, cmp. */
++ if (i.tm.base_opcode >= 0x80 && i.tm.base_opcode <= 0x83)
++ return 1;
++
++ /* bt, bts, btr, btc. */
++ if (i.tm.base_opcode == 0xfba
++ && (i.tm.extension_opcode >= 4 && i.tm.extension_opcode <= 7))
++ return 1;
++
++ /* rol, ror, rcl, rcr, shl/sal, shr, sar. */
++ if ((base_opcode == 0xc1
++ || (i.tm.base_opcode >= 0xd0 && i.tm.base_opcode <= 0xd3))
++ && i.tm.extension_opcode != 6)
++ return 1;
++
++ /* cmpxchg8b, cmpxchg16b, xrstors. */
++ if (i.tm.base_opcode == 0xfc7
++ && (i.tm.extension_opcode == 1 || i.tm.extension_opcode == 3))
++ return 1;
++
++ /* fxrstor, ldmxcsr, xrstor. */
++ if (i.tm.base_opcode == 0xfae
++ && (i.tm.extension_opcode == 1
++ || i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 5))
++ return 1;
++
++ /* lgdt, lidt, lmsw. */
++ if (i.tm.base_opcode == 0xf01
++ && (i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 3
++ || i.tm.extension_opcode == 6))
++ return 1;
++
++ /* vmptrld */
++ if (i.tm.base_opcode == 0xfc7
++ && i.tm.extension_opcode == 6)
++ return 1;
++
++ /* Check for x87 instructions. */
++ if (i.tm.base_opcode >= 0xd8 && i.tm.base_opcode <= 0xdf)
++ {
++ /* Skip fst, fstp, fstenv, fstcw. */
++ if (i.tm.base_opcode == 0xd9
++ && (i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 3
++ || i.tm.extension_opcode == 6
++ || i.tm.extension_opcode == 7))
++ return 0;
++
++ /* Skip fisttp, fist, fistp, fstp. */
++ if (i.tm.base_opcode == 0xdb
++ && (i.tm.extension_opcode == 1
++ || i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 3
++ || i.tm.extension_opcode == 7))
++ return 0;
++
++ /* Skip fisttp, fst, fstp, fsave, fstsw. */
++ if (i.tm.base_opcode == 0xdd
++ && (i.tm.extension_opcode == 1
++ || i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 3
++ || i.tm.extension_opcode == 6
++ || i.tm.extension_opcode == 7))
++ return 0;
++
++ /* Skip fisttp, fist, fistp, fbstp, fistp. */
++ if (i.tm.base_opcode == 0xdf
++ && (i.tm.extension_opcode == 1
++ || i.tm.extension_opcode == 2
++ || i.tm.extension_opcode == 3
++ || i.tm.extension_opcode == 6
++ || i.tm.extension_opcode == 7))
++ return 0;
++
++ return 1;
++ }
++ }
++
++ dest = i.operands - 1;
++
++ /* Check fake imm8 operand and 3 source operands. */
++ if ((i.tm.opcode_modifier.immext
++ || i.tm.opcode_modifier.vexsources == VEX3SOURCES)
++ && i.types[dest].bitfield.imm8)
++ dest--;
++
++ /* add, or, adc, sbb, and, sub, xor, cmp, test, xchg, xadd */
++ if (!any_vex_p
++ && (base_opcode == 0x1
++ || base_opcode == 0x9
++ || base_opcode == 0x11
++ || base_opcode == 0x19
++ || base_opcode == 0x21
++ || base_opcode == 0x29
++ || base_opcode == 0x31
++ || base_opcode == 0x39
++ || (i.tm.base_opcode >= 0x84 && i.tm.base_opcode <= 0x87)
++ || base_opcode == 0xfc1))
++ return 1;
++
++ /* Check for load instruction. */
++ return (i.types[dest].bitfield.class != ClassNone
++ || i.types[dest].bitfield.instance == Accum);
++}
++
++/* Output lfence, 0xfaee8, after instruction. */
++
++static void
++insert_lfence_after (void)
++{
++ if (lfence_after_load && load_insn_p ())
++ {
++ char *p = frag_more (3);
++ *p++ = 0xf;
++ *p++ = 0xae;
++ *p = 0xe8;
++ }
++}
++
++/* Output lfence, 0xfaee8, before instruction. */
++
++static void
++insert_lfence_before (void)
++{
++ char *p;
++
++ if (is_any_vex_encoding (&i.tm))
++ return;
++
++ if (i.tm.base_opcode == 0xff
++ && (i.tm.extension_opcode == 2 || i.tm.extension_opcode == 4))
++ {
++ /* Insert lfence before indirect branch if needed. */
++
++ if (lfence_before_indirect_branch == lfence_branch_none)
++ return;
++
++ if (i.operands != 1)
++ abort ();
++
++ if (i.reg_operands == 1)
++ {
++ /* Indirect branch via register. Don't insert lfence with
++ -mlfence-after-load=yes. */
++ if (lfence_after_load
++ || lfence_before_indirect_branch == lfence_branch_memory)
++ return;
++ }
++ else if (i.mem_operands == 1
++ && lfence_before_indirect_branch != lfence_branch_register)
++ {
++ as_warn (_("indirect `%s` with memory operand should be avoided"),
++ i.tm.name);
++ return;
++ }
++ else
++ return;
++
++ if (last_insn.kind != last_insn_other
++ && last_insn.seg == now_seg)
++ {
++ as_warn_where (last_insn.file, last_insn.line,
++ _("`%s` skips -mlfence-before-indirect-branch on `%s`"),
++ last_insn.name, i.tm.name);
++ return;
++ }
++
++ p = frag_more (3);
++ *p++ = 0xf;
++ *p++ = 0xae;
++ *p = 0xe8;
++ return;
++ }
++
++ /* Output or/not and lfence before ret. */
++ if (lfence_before_ret != lfence_before_ret_none
++ && (i.tm.base_opcode == 0xc2
++ || i.tm.base_opcode == 0xc3
++ || i.tm.base_opcode == 0xca
++ || i.tm.base_opcode == 0xcb))
++ {
++ if (last_insn.kind != last_insn_other
++ && last_insn.seg == now_seg)
++ {
++ as_warn_where (last_insn.file, last_insn.line,
++ _("`%s` skips -mlfence-before-ret on `%s`"),
++ last_insn.name, i.tm.name);
++ return;
++ }
++ if (lfence_before_ret == lfence_before_ret_or)
++ {
++ /* orl: 0x830c2400. */
++ p = frag_more ((flag_code == CODE_64BIT ? 1 : 0) + 4 + 3);
++ if (flag_code == CODE_64BIT)
++ *p++ = 0x48;
++ *p++ = 0x83;
++ *p++ = 0xc;
++ *p++ = 0x24;
++ *p++ = 0x0;
++ }
++ else
++ {
++ p = frag_more ((flag_code == CODE_64BIT ? 2 : 0) + 6 + 3);
++ /* notl: 0xf71424. */
++ if (flag_code == CODE_64BIT)
++ *p++ = 0x48;
++ *p++ = 0xf7;
++ *p++ = 0x14;
++ *p++ = 0x24;
++ /* notl: 0xf71424. */
++ if (flag_code == CODE_64BIT)
++ *p++ = 0x48;
++ *p++ = 0xf7;
++ *p++ = 0x14;
++ *p++ = 0x24;
++ }
++ *p++ = 0xf;
++ *p++ = 0xae;
++ *p = 0xe8;
++ }
++}
++
+ /* This is the guts of the machine-dependent assembler. LINE points to a
+ machine dependent instruction. This function is supposed to emit
+ the frags/bytes it assembles to. */
+@@ -4628,9 +4927,13 @@ md_assemble (char *line)
+ if (i.rex != 0)
+ add_prefix (REX_OPCODE | i.rex);
+
++ insert_lfence_before ();
++
+ /* We are ready to output the insn. */
+ output_insn ();
+
++ insert_lfence_after ();
++
+ last_insn.seg = now_seg;
+
+ if (i.tm.opcode_modifier.isprefix)
+@@ -12250,6 +12553,9 @@ const char *md_shortopts = "qnO::";
+ #define OPTION_MALIGN_BRANCH_PREFIX_SIZE (OPTION_MD_BASE + 28)
+ #define OPTION_MALIGN_BRANCH (OPTION_MD_BASE + 29)
+ #define OPTION_MBRANCHES_WITH_32B_BOUNDARIES (OPTION_MD_BASE + 30)
++#define OPTION_MLFENCE_AFTER_LOAD (OPTION_MD_BASE + 31)
++#define OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH (OPTION_MD_BASE + 32)
++#define OPTION_MLFENCE_BEFORE_RET (OPTION_MD_BASE + 33)
+
+ struct option md_longopts[] =
+ {
+@@ -12289,6 +12595,10 @@ struct option md_longopts[] =
+ {"malign-branch-prefix-size", required_argument, NULL, OPTION_MALIGN_BRANCH_PREFIX_SIZE},
+ {"malign-branch", required_argument, NULL, OPTION_MALIGN_BRANCH},
+ {"mbranches-within-32B-boundaries", no_argument, NULL, OPTION_MBRANCHES_WITH_32B_BOUNDARIES},
++ {"mlfence-after-load", required_argument, NULL, OPTION_MLFENCE_AFTER_LOAD},
++ {"mlfence-before-indirect-branch", required_argument, NULL,
++ OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH},
++ {"mlfence-before-ret", required_argument, NULL, OPTION_MLFENCE_BEFORE_RET},
+ {"mamd64", no_argument, NULL, OPTION_MAMD64},
+ {"mintel64", no_argument, NULL, OPTION_MINTEL64},
+ {NULL, no_argument, NULL, 0}
+@@ -12668,6 +12978,41 @@ md_parse_option (int c, const char *arg)
+ as_fatal (_("invalid -mfence-as-lock-add= option: `%s'"), arg);
+ break;
+
++ case OPTION_MLFENCE_AFTER_LOAD:
++ if (strcasecmp (arg, "yes") == 0)
++ lfence_after_load = 1;
++ else if (strcasecmp (arg, "no") == 0)
++ lfence_after_load = 0;
++ else
++ as_fatal (_("invalid -mlfence-after-load= option: `%s'"), arg);
++ break;
++
++ case OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH:
++ if (strcasecmp (arg, "all") == 0)
++ lfence_before_indirect_branch = lfence_branch_all;
++ else if (strcasecmp (arg, "memory") == 0)
++ lfence_before_indirect_branch = lfence_branch_memory;
++ else if (strcasecmp (arg, "register") == 0)
++ lfence_before_indirect_branch = lfence_branch_register;
++ else if (strcasecmp (arg, "none") == 0)
++ lfence_before_indirect_branch = lfence_branch_none;
++ else
++ as_fatal (_("invalid -mlfence-before-indirect-branch= option: `%s'"),
++ arg);
++ break;
++
++ case OPTION_MLFENCE_BEFORE_RET:
++ if (strcasecmp (arg, "or") == 0)
++ lfence_before_ret = lfence_before_ret_or;
++ else if (strcasecmp (arg, "not") == 0)
++ lfence_before_ret = lfence_before_ret_not;
++ else if (strcasecmp (arg, "none") == 0)
++ lfence_before_ret = lfence_before_ret_none;
++ else
++ as_fatal (_("invalid -mlfence-before-ret= option: `%s'"),
++ arg);
++ break;
++
+ case OPTION_MRELAX_RELOCATIONS:
+ if (strcasecmp (arg, "yes") == 0)
+ generate_relax_relocations = 1;
+@@ -13025,6 +13370,15 @@ md_show_usage (FILE *stream)
+ -mbranches-within-32B-boundaries\n\
+ align branches within 32 byte boundary\n"));
+ fprintf (stream, _("\
++ -mlfence-after-load=[no|yes] (default: no)\n\
++ generate lfence after load\n"));
++ fprintf (stream, _("\
++ -mlfence-before-indirect-branch=[none|all|register|memory] (default: none)\n\
++ generate lfence before indirect near branch\n"));
++ fprintf (stream, _("\
++ -mlfence-before-ret=[none|or|not] (default: none)\n\
++ generate lfence before ret\n"));
++ fprintf (stream, _("\
+ -mamd64 accept only AMD64 ISA [default]\n"));
+ fprintf (stream, _("\
+ -mintel64 accept only Intel64 ISA\n"));
+@@ -13254,6 +13608,16 @@ i386_cons_align (int ignore ATTRIBUTE_UNUSED)
+ last_insn.kind = last_insn_directive;
+ last_insn.name = "constant directive";
+ last_insn.file = as_where (&last_insn.line);
++ if (lfence_before_ret != lfence_before_ret_none)
++ {
++ if (lfence_before_indirect_branch != lfence_branch_none)
++ as_warn (_("constant directive skips -mlfence-before-ret "
++ "and -mlfence-before-indirect-branch"));
++ else
++ as_warn (_("constant directive skips -mlfence-before-ret"));
++ }
++ else if (lfence_before_indirect_branch != lfence_branch_none)
++ as_warn (_("constant directive skips -mlfence-before-indirect-branch"));
+ }
+ }
+
+diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
+index c536759cb38..1dd99f91bb0 100644
+--- a/gas/doc/c-i386.texi
++++ b/gas/doc/c-i386.texi
+@@ -464,6 +464,49 @@ on an instruction. It is equivalent to
+ @option{-malign-branch-prefix-size=5}.
+ The default doesn't align branches.
+
++@cindex @samp{-mlfence-after-load=} option, i386
++@cindex @samp{-mlfence-after-load=} option, x86-64
++@item -mlfence-after-load=@var{no}
++@itemx -mlfence-after-load=@var{yes}
++These options control whether the assembler should generate lfence
++after load instructions. @option{-mlfence-after-load=@var{yes}} will
++generate lfence. @option{-mlfence-after-load=@var{no}} will not generate
++lfence, which is the default.
++
++@cindex @samp{-mlfence-before-indirect-branch=} option, i386
++@cindex @samp{-mlfence-before-indirect-branch=} option, x86-64
++@item -mlfence-before-indirect-branch=@var{none}
++@item -mlfence-before-indirect-branch=@var{all}
++@item -mlfence-before-indirect-branch=@var{register}
++@itemx -mlfence-before-indirect-branch=@var{memory}
++These options control whether the assembler should generate lfence
++after indirect near branch instructions.
++@option{-mlfence-before-indirect-branch=@var{all}} will generate lfence
++after indirect near branch via register and issue a warning before
++indirect near branch via memory.
++@option{-mlfence-before-indirect-branch=@var{register}} will generate
++lfence after indirect near branch via register.
++@option{-mlfence-before-indirect-branch=@var{memory}} will issue a
++warning before indirect near branch via memory.
++@option{-mlfence-before-indirect-branch=@var{none}} will not generate
++lfence nor issue warning, which is the default. Note that lfence won't
++be generated before indirect near branch via register with
++@option{-mlfence-after-load=@var{yes}} since lfence will be generated
++after loading branch target register.
++
++@cindex @samp{-mlfence-before-ret=} option, i386
++@cindex @samp{-mlfence-before-ret=} option, x86-64
++@item -mlfence-before-ret=@var{none}
++@item -mlfence-before-ret=@var{or}
++@itemx -mlfence-before-ret=@var{not}
++These options control whether the assembler should generate lfence
++before ret. @option{-mlfence-before-ret=@var{or}} will generate
++generate or instruction with lfence.
++@option{-mlfence-before-ret=@var{not}} will generate not instruction
++with lfence.
++@option{-mlfence-before-ret=@var{none}} will not generate lfence,
++which is the default.
++
+ @cindex @samp{-mx86-used-note=} option, i386
+ @cindex @samp{-mx86-used-note=} option, x86-64
+ @item -mx86-used-note=@var{no}
+--
+2.18.2
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils_2.34.bb
index 89315915c..2e645e1ed 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.34.bb
@@ -18,6 +18,11 @@ EXTRA_OECONF_class-native = "--enable-targets=all \
--enable-64-bit-bfd \
--enable-install-libiberty \
--enable-install-libbfd \
+ --disable-gdb \
+ --disable-gdbserver \
+ --disable-libdecnumber \
+ --disable-readline \
+ --disable-sim \
--disable-werror"
# gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target
@@ -49,7 +54,12 @@ do_install_class-native () {
# Split out libbfd-*.so so including perf doesn't include extra stuff
PACKAGE_BEFORE_PN += "libbfd"
-FILES_libbfd = "${libdir}/libbfd-*.so"
+FILES_libbfd = "${libdir}/libbfd-*.so.* ${libdir}/libbfd-*.so"
+
+SRC_URI_append_class-nativesdk = " file://0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch "
+
+USE_ALTERNATIVES_FOR_class-nativesdk = ""
+FILES_${PN}_append_class-nativesdk = " ${bindir}"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch b/poky/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch
new file mode 100644
index 000000000..c3be91a10
--- /dev/null
+++ b/poky/meta/recipes-devtools/bison/bison/0001-bison-fix-the-parallel-build.patch
@@ -0,0 +1,63 @@
+From e0dbcee6e25b3c0cb11a627bbfe3af45ef67ec30 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 14 May 2020 15:23:16 +0800
+Subject: [PATCH] bison: fix the parallel build
+
+Explicitly make the BUILT_SOURCES which
+are the generated headers such as stdio.h,
+fcntl.h and etc to be the dependencies of
+the gl_LIBOBJS such as libbison_a-sprintf.o,
+libbison_a-printf.o and etc to guarantee the
+BUILT_SOURCES is generated before begin to
+compile EXTRA_lib_libbison_a_SOURCES such as
+fprintf.c in parallel builid, otherwise there
+may come below error:
+ | muscle-tab.c:(.text+0x77a): undefined reference to `rpl_sprintf'
+
+It does the same for src_bison_OBJECTS and
+lib_libbison_a_OBJECTS to make sure BUILT_SOURCES
+generated before begin to compile src_bison_SOURCES
+which contains AnnotationList.c and etc.
+
+BTW, the MOSTLYCLEANFILES also contains the
+generated header needs to be created early
+in the build process, so add it also in to
+avoid below error:
+ | ./lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory
+
+Upstream-Status: Submitted [bison-patches@gnu.org maillist]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ lib/gnulib.mk | 2 ++
+ src/local.mk | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/lib/gnulib.mk b/lib/gnulib.mk
+index c21c656..27fb3dc 100644
+--- a/lib/gnulib.mk
++++ b/lib/gnulib.mk
+@@ -120,6 +120,8 @@ lib_libbison_a_SOURCES =
+ lib_libbison_a_LIBADD = $(gl_LIBOBJS)
+ lib_libbison_a_DEPENDENCIES = $(gl_LIBOBJS)
+ EXTRA_lib_libbison_a_SOURCES =
++$(lib_libbison_a_OBJECTS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h)
++$(gl_LIBOBJS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h)
+
+ lib_libbison_a_CPPFLAGS = $(AM_CPPFLAGS) -DDEFAULT_TEXT_DOMAIN=\"bison-gnulib\"
+
+diff --git a/src/local.mk b/src/local.mk
+index 61dc573..b5b9079 100644
+--- a/src/local.mk
++++ b/src/local.mk
+@@ -24,6 +24,7 @@ if RELOCATABLE_VIA_LD
+ src_bison_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
+ endif
+
++$(src_bison_OBJECTS): $(BUILT_SOURCES) $(MOSTLYCLEANFILES:%.h)
+ src_bison_CFLAGS = $(AM_CFLAGS) $(WERROR_CFLAGS)
+ src_bison_SOURCES = \
+ src/AnnotationList.c \
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/bison/bison_3.4.2.bb b/poky/meta/recipes-devtools/bison/bison_3.5.4.bb
index 46f0f908d..124bc41d3 100644
--- a/poky/meta/recipes-devtools/bison/bison_3.4.2.bb
+++ b/poky/meta/recipes-devtools/bison/bison_3.5.4.bb
@@ -12,13 +12,18 @@ DEPENDS = "bison-native flex-native"
SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
file://dont-depend-on-help2man.patch.patch \
file://add-with-bisonlocaledir.patch \
+ file://0001-bison-fix-the-parallel-build.patch \
"
+SRC_URI[sha256sum] = "4c17e99881978fa32c05933c5262457fa5b2b611668454f8dc2a695cd6b3720c"
# No point in hardcoding path to m4, just use PATH
EXTRA_OECONF += "M4=m4"
-SRC_URI[md5sum] = "d1ceb9dfde2d03b24a4c1137f7f1b572"
-SRC_URI[sha256sum] = "27d05534699735dc69e86add5b808d6cb35900ad3fd63fa82e3eb644336abfa0"
+# Reset any loadavg set via environment, it breaks parallel build
+# | ../bison-3.5.2/lib/uniwidth/width.c:21:10: fatal error: uniwidth.h: No such file or directory
+# | #include "uniwidth.h"
+# | ^~~~~~~~~~~~
+EXTRA_OEMAKE_append = " -l"
inherit autotools gettext texinfo
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.3.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb
index a44c0bc87..cdc971cf5 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.3.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.4.1.bb
@@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
-SRCREV = "f82e569b33c3c1cfd4f8f405085ff8d439a0a915"
+SRCREV = "3fc2326d3474a5e4df2449f5e3043f7298501334"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
diff --git a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
index b0560cc27..d2a4b5444 100644
--- a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
+++ b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
@@ -5,15 +5,13 @@ HOMEPAGE = "https://github.com/openSUSE/build-compare"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://github.com/openSUSE/build-compare.git \
- file://Ignore-DWARF-sections.patch;striplevel=1 \
- "
+SRC_URI = "git://github.com/openSUSE/build-compare.git"
# Date matches entry in build-compare.changes and date of SRCREV.
#
-SRCREV = "4dfa207660776cae120afa4353aec7f1f2a998d2"
+SRCREV = "28bf642fcfdab94adb9b847329338005be6f73c7"
PE = "1"
-PV = "2019.08.14+git${SRCPV}"
+PV = "2020.03.31+git${SRCPV}"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
deleted file mode 100644
index 2fb62ae8c..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 015715694eadd714b903f30ade876e0738d44974 Mon Sep 17 00:00:00 2001
-From: Randy Witt <randy.e.witt@linux.intel.com>
-Date: Mon, 5 Jan 2015 15:09:20 -0800
-Subject: [PATCH] Ignore DWARF sections.
-
-Assume for now that we don't care about the DWARF sections due to path
-differences. However, in the case the tool is ran on a "debug" package
-it will most likely falsely say the packages have no differences.
-
-Upstream-Status: Inappropriate [other]
-
-The package difference tool is correctly labelling the packages as different
-when the DWARF sections don't match due to paths. The paths in the debug info
-should actually be made to be the same using compile flags or some other
-mechanism.
-
-However, to make the tool more useful to Yocto until the work can be done
-to ensure identical paths in debug sections, this patch is being applied.
-
-Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
----
- pkg-diff.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 9c2125e..b0d77c8 100755
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -851,7 +851,7 @@ check_single_file()
- echo "" >$file1
- echo "" >$file2
- # Don't compare .build-id, .gnu_debuglink and .gnu_debugdata sections
-- sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" | tr "\n" " ")"
-+ sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
- for section in $sections; do
- $OBJDUMP -s -j $section old/$file | sed "s,^old/,," > $file1
- $OBJDUMP -s -j $section new/$file | sed "s,^new/,," > $file2
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb
deleted file mode 100644
index c6a682ee0..000000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514"
-
-SRC_URI[md5sum] = "7be62ea6e190941a8c12a3d5394fd926"
-SRC_URI[sha256sum] = "355955a61562c53c4ec4669e1c92708b0008f50d214b27f07a87cf4a1fa6b01e"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb
new file mode 100644
index 000000000..3e7362b28
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.7.bb
@@ -0,0 +1,7 @@
+require ccache.inc
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=22d514dbc01fdf9a9784334b6b59417a"
+
+SRC_URI[md5sum] = "500d7bd9ebc6ee3105d7fc332c1ef395"
+SRC_URI[sha256sum] = "9b61f7fab2ec15305ee8382b03365503232dfb04b57414e7b0433768d530fa8a"
diff --git a/poky/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb b/poky/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
index 1c602e7ce..c08da6cdc 100644
--- a/poky/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
+++ b/poky/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb
@@ -8,10 +8,9 @@ LICENSE = "GPLv2 & CDDL-1.0 & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=32f68170be424c2cd64804337726b312"
SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/project/cdrtools/cdrtools-${REALPV}.tar.bz2 \
+ ${SOURCEFORGE_MIRROR}/project/cdrtools/cdrtools-${PV}.tar.bz2 \
file://0001-Don-t-set-uid-gid-during-install.patch \
"
-UPSTREAM_VERSION_UNKNOWN = "1"
SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b"
SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f"
@@ -23,11 +22,6 @@ export ac_cv_prog_CC = "${CC}"
inherit native
-PV = "3.01a31+really3.01"
-REALPV = "3.01"
-
-S = "${WORKDIR}/${BPN}-${REALPV}"
-
do_install() {
make install GMAKE_NOWARN=true INS_BASE=${prefix} DESTDIR=${D}
}
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb
index b2952ee5f..b2952ee5f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index d8a9e2dd3..09949b566 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -22,7 +22,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[md5sum] = "bf69e837eeda3dd4e9f52cffcf546a11"
-SRC_URI[sha256sum] = "13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5"
+SRC_URI[md5sum] = "d86ccaf3d2462b6b5947919abe5b9f15"
+SRC_URI[sha256sum] = "5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index 3720833d3..e2a58d25e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,4 +1,4 @@
-From 1e67c3fe52c6c51c00cf1ebb0bfc30c7a5ef9fdb Mon Sep 17 00:00:00 2001
+From ab272d703ce77f323aa1285526559c9efbf85834 Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Thu, 27 Apr 2017 11:35:05 -0400
Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
index db229e63e..61c8f27cd 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
@@ -1,4 +1,4 @@
-From 5cb6c86696f842274043e7d406f84b3ead1c36e0 Mon Sep 17 00:00:00 2001
+From 5a86c7fa987bd407f228176df2abeffd015be9ea Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Wed, 17 Jan 2018 10:02:14 -0200
Subject: [PATCH] cmake: Prevent the detection of Qt5
@@ -38,10 +38,10 @@ index cb89d19..9e68981 100644
include_directories(${Qt5Widgets_INCLUDE_DIRS})
add_definitions(${Qt5Widgets_DEFINITONS})
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index e73b277..91b8b67 100644
+index 57fa7fc..d50c146 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
-@@ -1348,7 +1348,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
+@@ -1329,7 +1329,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
set(CMake_TEST_Qt5 1)
endif()
if(CMake_TEST_Qt5)
@@ -96,11 +96,11 @@ index c08efc4..87e25d9 100644
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin)
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
-index 69f8162..f389523 100644
+index 6b2f117..1002005 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
-@@ -334,7 +334,7 @@ add_RunCMake_test(configure_file)
- add_RunCMake_test(CTestTimeoutAfterMatch)
+@@ -376,7 +376,7 @@ else()
+ endif()
find_package(Qt4 QUIET)
-find_package(Qt5Core QUIET)
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
index d7d87a525..e30dc51e4 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
@@ -1,4 +1,4 @@
-From b003857d3481105c473e2e75bad4e9e2c6e70004 Mon Sep 17 00:00:00 2001
+From e528861023bf69df0ad061a59fd4e527c9dde1ce Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Thu, 12 May 2011 15:36:03 +0000
Subject: [PATCH] cmake: support OpenEmbedded Qt4 tool binary names
@@ -25,7 +25,7 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
-index a145b46..7e18243 100644
+index 3993968..b2a8585 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -518,7 +518,7 @@ endfunction()
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
index 676e2857d..48f43be83 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
@@ -1,4 +1,4 @@
-From d4a78e8739e845c2963666f7ef6a6c7a89827988 Mon Sep 17 00:00:00 2001
+From b0aeca35187983e22ec256a439cff4702dbde331 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Thu, 5 Jul 2018 10:26:48 -0300
Subject: [PATCH] Fail silently if system Qt installation is broken
@@ -28,7 +28,7 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
-index 7e18243..497d5c3 100644
+index b2a8585..77c89aa 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -988,25 +988,26 @@ if (QT_QMAKE_EXECUTABLE AND
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb b/poky/meta/recipes-devtools/cmake/cmake_3.16.5.bb
index e0457677e..e0457677e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.16.5.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb
index 797db738f..c6a53ffec 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.1.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.7.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "bc67f19ed09593e3886ebeee2391e9d51cc3439f"
+SRCREV = "4ab6b56b8b718396386982afba4ade297c14d91a"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/diffstat/diffstat/0001-aclocal.m4-add-missing-header-defines.patch b/poky/meta/recipes-devtools/diffstat/diffstat/0001-aclocal.m4-add-missing-header-defines.patch
new file mode 100644
index 000000000..5bd94d7de
--- /dev/null
+++ b/poky/meta/recipes-devtools/diffstat/diffstat/0001-aclocal.m4-add-missing-header-defines.patch
@@ -0,0 +1,24 @@
+From 004bd80d2523f538467b5ada2623eb207b55dad7 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Dec 2019 15:44:28 +0100
+Subject: [PATCH] aclocal.m4: add missing header defines
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ aclocal.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 3b19e82..c0c4acb 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1927,3 +1927,8 @@ make an error
+ fi
+ fi # cf_cv_posix_visible
+ ])
++
++AC_DEFINE([HAVE_TCGETATTR], [], [Description])
++AC_DEFINE([HAVE_TCSETATTR], [], [Description])
++AC_DEFINE([HAVE_TERMIOS_H], [], [Description])
++
diff --git a/poky/meta/recipes-devtools/diffstat/diffstat_1.62.bb b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb
index 93d77797c..ee0a7e7bd 100644
--- a/poky/meta/recipes-devtools/diffstat/diffstat_1.62.bb
+++ b/poky/meta/recipes-devtools/diffstat/diffstat_1.63.bb
@@ -10,10 +10,11 @@ LIC_FILES_CHKSUM = "file://install-sh;endline=42;md5=b3549726c1022bee09c174c72a0
SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
file://run-ptest \
file://avoid-check-user-break-cc.patch \
-"
+ file://0001-aclocal.m4-add-missing-header-defines.patch \
+ "
-SRC_URI[md5sum] = "91e106bb34cb097750db7ddc0ba1d8fc"
-SRC_URI[sha256sum] = "7f09183644ed77a156b15346bbad4e89c93543e140add9dab18747e30522591f"
+SRC_URI[md5sum] = "b9272ec8af6257103261ec3622692991"
+SRC_URI[sha256sum] = "7eddd53401b99b90bac3f7ebf23dd583d7d99c6106e67a4f1161b7a20110dc6f"
S = "${WORKDIR}/diffstat-${PV}"
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch
new file mode 100644
index 000000000..21b50dee0
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-write-the-log-lock-to-root.patch
@@ -0,0 +1,29 @@
+From 5e07c16a506b19cbb107d5e99fca41d679b23b9a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 28 Apr 2020 15:55:00 +0200
+Subject: [PATCH] dnf: write the log lock to root
+
+Writing it to /var/log appears to be racing with installation
+of base-files, and if lock is created first, base-files
+will refuse to install (due to the target directory
+already existing, and base-files creating it as a symlink).
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ dnf/logging.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dnf/logging.py b/dnf/logging.py
+index bd660470..a9d808b1 100644
+--- a/dnf/logging.py
++++ b/dnf/logging.py
+@@ -94,7 +94,7 @@ class MultiprocessRotatingFileHandler(logging.handlers.RotatingFileHandler):
+ def __init__(self, filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=False):
+ super(MultiprocessRotatingFileHandler, self).__init__(
+ filename, mode, maxBytes, backupCount, encoding, delay)
+- self.rotate_lock = dnf.lock.build_log_lock("/var/log/", True)
++ self.rotate_lock = dnf.lock.build_log_lock("/", True)
+
+ def emit(self, record):
+ while True:
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch
new file mode 100644
index 000000000..448f6408b
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-set-python-path-for-completion_helper.patch
@@ -0,0 +1,24 @@
+From 7e79b3b67fd5cecd7380e7e365fd88eca63b5bfa Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Wed, 11 Mar 2020 22:10:02 +0000
+Subject: [PATCH] set python path for completion_helper
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+---
+ dnf/cli/completion_helper.py.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dnf/cli/completion_helper.py.in b/dnf/cli/completion_helper.py.in
+index 351226759..2835cd3b6 100644
+--- a/dnf/cli/completion_helper.py.in
++++ b/dnf/cli/completion_helper.py.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON_EXECUTABLE@
++#!/usr/bin/env python3
+ #
+ # This file is part of dnf.
+ #
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb b/poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb
index f38167f1a..44dab1d8a 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.2.2.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.2.21.bb
@@ -13,9 +13,11 @@ SRC_URI = "git://github.com/rpm-software-management/dnf.git \
file://0005-Do-not-prepend-installroot-to-logdir.patch \
file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
file://0030-Run-python-scripts-using-env.patch \
+ file://0001-set-python-path-for-completion_helper.patch \
+ file://0001-dnf-write-the-log-lock-to-root.patch \
"
-SRCREV = "9947306a55271b8b7c9e2b6e3b7d582885b6045d"
+SRCREV = "864c381baabf024c299dca75abfda96139b8f583"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
@@ -84,3 +86,5 @@ SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \
dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \
"
SYSTEMD_AUTO_ENABLE ?= "disable"
+
+PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
diff --git a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
index 69aa81af4..23b883667 100644
--- a/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
+++ b/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb
@@ -23,3 +23,6 @@ EXTRA_OECONF = "--without-udev --enable-compat-symlinks"
CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BBCLASSEXTEND = "native"
+
+# Add codepage437 to avoid error from `dosfsck -l`
+RRECOMMENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch
new file mode 100644
index 000000000..52e85705f
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch
@@ -0,0 +1,39 @@
+From 279e4c274f5f295823cf9fa95d3ba131f6d711db Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 29 Apr 2020 22:02:23 -0700
+Subject: [PATCH] Add support for riscv32 CPU
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ data/cputable | 1 +
+ scripts/Dpkg/Vendor/Debian.pm | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/data/cputable b/data/cputable
+index 9f2a8e0..1d935b1 100644
+--- a/data/cputable
++++ b/data/cputable
+@@ -41,6 +41,7 @@ powerpc powerpc (powerpc|ppc) 32 big
+ powerpcel powerpcle powerpcle 32 little
+ ppc64 powerpc64 (powerpc|ppc)64 64 big
+ ppc64el powerpc64le powerpc64le 64 little
++riscv32 riscv32 riscv32 32 little
+ riscv64 riscv64 riscv64 64 little
+ s390 s390 s390 32 big
+ s390x s390x s390x 64 big
+diff --git a/scripts/Dpkg/Vendor/Debian.pm b/scripts/Dpkg/Vendor/Debian.pm
+index a352bbd..fa1d90b 100644
+--- a/scripts/Dpkg/Vendor/Debian.pm
++++ b/scripts/Dpkg/Vendor/Debian.pm
+@@ -306,6 +306,7 @@ sub _add_build_flags {
+ powerpc
+ ppc64
+ ppc64el
++ riscv32
+ riscv64
+ s390x
+ sparc
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
index e9dec337b..50fe54dee 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
@@ -13,6 +13,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
file://0001-dpkg-Support-muslx32-build.patch \
file://pager.patch \
+ file://0001-Add-support-for-riscv32-CPU.patch \
"
SRC_URI_append_class-native = " \
file://tweak-options-require-tar-1.27.patch \
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index a54a11c35..009f5ed80 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -4,9 +4,9 @@ fixing, configuring , and debugging ext2 filesystems."
HOMEPAGE = "http://e2fsprogs.sourceforge.net/"
LICENSE = "GPLv2 & LGPLv2 & BSD & MIT"
+LICENSE_e2fsprogs-dumpe2fs = "GPLv2"
LICENSE_e2fsprogs-e2fsck = "GPLv2"
LICENSE_e2fsprogs-mke2fs = "GPLv2"
-LICENSE_e2fsprogs-fsck = "GPLv2"
LICENSE_e2fsprogs-tune2fs = "GPLv2"
LICENSE_e2fsprogs-badblocks = "GPLv2"
LIC_FILES_CHKSUM = "file://NOTICE;md5=d50be0580c0b0a7fbc7a4830bbe6c12b \
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-configure.ac-correct-AM_GNU_GETTEXT.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-configure.ac-correct-AM_GNU_GETTEXT.patch
new file mode 100644
index 000000000..2719594c2
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-configure.ac-correct-AM_GNU_GETTEXT.patch
@@ -0,0 +1,26 @@
+From f907fea9ea053d5433b5199ce74008664141f753 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 19 Nov 2019 17:32:33 +0100
+Subject: [PATCH] configure.ac: correct AM_GNU_GETTEXT
+
+New version of gettext require the 'external' argument.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 654ff43d..4772b97b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -873,7 +873,7 @@ AC_SUBST(GETTEXT_PACKAGE)
+ AC_SUBST(PACKAGE)
+ AC_SUBST(VERSION)
+
+-AM_GNU_GETTEXT
++AM_GNU_GETTEXT([external])
+ dnl @MKDIR_P@ is expanded in AM_GNU_GETTEXT
+ AC_SUBST([mkdir_p],['$(MKDIR_P)'])
+ dnl
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-intl-do-not-try-to-use-gettext-defines-that-no-longe.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-intl-do-not-try-to-use-gettext-defines-that-no-longe.patch
new file mode 100644
index 000000000..31b585fc9
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-intl-do-not-try-to-use-gettext-defines-that-no-longe.patch
@@ -0,0 +1,27 @@
+From d034239f05cfba849f6ad16eb3f1ea37efbe4f95 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 19 Nov 2019 18:34:00 +0100
+Subject: [PATCH] intl: do not try to use gettext defines that no longer exist
+
+Newer version of gettext no longer define this in m4 files,
+so patch it out until e2fsprogs upstream sorts the situation.
+
+Upstream-Status: Inappropriate [hardcodes a choice]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ intl/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/intl/Makefile.in b/intl/Makefile.in
+index e037e23c..89a876b8 100644
+--- a/intl/Makefile.in
++++ b/intl/Makefile.in
+@@ -175,7 +175,7 @@ libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
+ DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
+ COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
+
+-all: all-@USE_INCLUDED_LIBINTL@
++all:
+ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
+ all-no: all-no-@BUILD_INCLUDED_LIBINTL@
+ all-no-yes: libgnuintl.$la
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-create_inode.c-set-dir-s-mode-correctly.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-create_inode.c-set-dir-s-mode-correctly.patch
deleted file mode 100644
index fc4a54098..000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-misc-create_inode.c-set-dir-s-mode-correctly.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f6d188580c2c9599319076fee22f2424652c711c Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 13 Sep 2017 19:55:35 -0700
-Subject: [PATCH] misc/create_inode.c: set dir's mode correctly
-
-The dir's mode has been set by ext2fs_mkdir() with umask, so
-reset it to the source's mode in set_inode_extra().
-
-Fixed when source dir's mode is 521, but tarball would be 721, this was
-incorrect.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- misc/create_inode.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/misc/create_inode.c b/misc/create_inode.c
-index 8ce3faf..50fbaa8 100644
---- a/misc/create_inode.c
-+++ b/misc/create_inode.c
-@@ -116,7 +116,14 @@ static errcode_t set_inode_extra(ext2_filsys fs, ext2_ino_t ino,
-
- inode.i_uid = st->st_uid;
- inode.i_gid = st->st_gid;
-- inode.i_mode |= st->st_mode;
-+ /*
-+ * The dir's mode has been set by ext2fs_mkdir() with umask, so
-+ * reset it to the source's mode
-+ */
-+ if S_ISDIR(st->st_mode)
-+ inode.i_mode = LINUX_S_IFDIR | st->st_mode;
-+ else
-+ inode.i_mode |= st->st_mode;
- inode.i_atime = st->st_atime;
- inode.i_mtime = st->st_mtime;
- inode.i_ctime = st->st_ctime;
---
-2.10.2
-
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
index 69c09bc1d..284ac9019 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
@@ -1,4 +1,4 @@
-From c7914309aeee6209ddb6995c084805a911d9cc82 Mon Sep 17 00:00:00 2001
+From b55dfb4b62e507ae4f0814aec7597b56f9d6292a Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Wed, 10 Aug 2016 11:19:44 +0800
Subject: [PATCH] Fix missing check for permission denied.
@@ -19,7 +19,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/support/profile.c b/lib/support/profile.c
-index 9e96673b..32d83002 100644
+index 585ed595..810dd66b 100644
--- a/lib/support/profile.c
+++ b/lib/support/profile.c
@@ -335,7 +335,7 @@ profile_init(const char * const *files, profile_t *ret_profile)
@@ -31,6 +31,3 @@ index 9e96673b..32d83002 100644
strcmp(*fs, default_filename))
goto errout;
---
-2.16.1
-
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
index 830e9d57a..aac88eed9 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
@@ -1,14 +1,23 @@
+From 9aa68ad81b97847dda3493145f4b0a7cc580c551 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 23 Dec 2013 13:38:34 +0000
+Subject: [PATCH] e2fsprogs: silence debugfs
+
When executing a script don't echo every command, as we do this for entire
filesystems at rootfs time.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ debugfs/debugfs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
-index 5590295..ac57292 100644
+index 15b01214..15164df2 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
-@@ -2378,7 +2378,7 @@ static int source_file(const char *cmd_file, int ss_idx)
+@@ -2492,7 +2492,7 @@ static int source_file(const char *cmd_file, int ss_idx)
cp = strchr(buf, '\r');
if (cp)
*cp = 0;
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb
index 90db71df0..4ad5b03ca 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.4.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.6.bb
@@ -1,17 +1,18 @@
require e2fsprogs.inc
SRC_URI += "file://remove.ldconfig.call.patch \
- file://run-ptest \
- file://ptest.patch \
- file://mkdir_p.patch \
- file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \
- "
+ file://run-ptest \
+ file://ptest.patch \
+ file://mkdir_p.patch \
+ file://0001-configure.ac-correct-AM_GNU_GETTEXT.patch \
+ file://0001-intl-do-not-try-to-use-gettext-defines-that-no-longe.patch \
+ "
SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
file://quiet-debugfs.patch \
"
-SRCREV = "984ff8d6a0a1d5dc300505f67b38ed5047d51dac"
+SRCREV = "506d96fe640f76ab04276e0a7c578aa108ce19f8"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
@@ -80,12 +81,13 @@ do_install_append_class-target() {
mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
}
-RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
+RDEPENDS_e2fsprogs = "e2fsprogs-badblocks e2fsprogs-dumpe2fs"
RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
-PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
+PACKAGES =+ "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs"
PACKAGES =+ "libcomerr libss libe2p libext2fs"
+FILES_e2fsprogs-dumpe2fs = "${base_sbindir}/dumpe2fs"
FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*"
@@ -115,7 +117,7 @@ ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
RDEPENDS_e2fsprogs-e2scrub = "bash"
RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed"
-RDEPENDS_${PN}-ptest += "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
+RDEPENDS_${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs"
do_compile_ptest() {
oe_runmake -C ${B}/tests
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb
index e7740c7fb..1da95ec1d 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.179.bb
@@ -13,7 +13,6 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://0003-fixheadercheck.patch \
file://0004-Disable-the-test-to-convert-euc-jp.patch \
file://0006-Fix-build-on-aarch64-musl.patch \
- file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
file://0001-libasm-may-link-with-libbz2-if-found.patch \
file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
file://debian/hppa_backend.diff \
@@ -36,17 +35,17 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://ptest.patch \
"
SRC_URI_append_libc-musl = " \
- file://musl-obstack-fts.patch \
- file://musl-libs.patch \
- file://musl-utils.patch \
- file://musl-tests.patch \
+ file://0001-musl-obstack-fts.patch \
+ file://0002-musl-libs.patch \
+ file://0003-musl-utils.patch \
+ file://0004-Fix-error-on-musl.patch \
"
-SRC_URI[md5sum] = "0b583722f911e1632544718d502aab87"
-SRC_URI[sha256sum] = "fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e"
+SRC_URI[md5sum] = "8ee56b371b5a7ea081284c44e5164600"
+SRC_URI[sha256sum] = "25a545566cbacaa37ae6222e58f1c48ea4570f53ba991886e2f5ce96e22a23a2"
-inherit autotools gettext ptest
+inherit autotools gettext ptest pkgconfig
-EXTRA_OECONF = "--program-prefix=eu-"
+EXTRA_OECONF = "--program-prefix=eu- --disable-debuginfod"
DEPENDS_BZIP2 = "bzip2-replacement-native"
DEPENDS_BZIP2_class-target = "bzip2"
@@ -57,13 +56,9 @@ PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz"
RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils"
-EXTRA_OECONF_append_class-target += "--disable-tests-rpath"
+EXTRA_OECONF_append_class-target = " --disable-tests-rpath"
-do_install_append() {
- if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
- rm -f ${D}${bindir}/eu-objdump
- fi
-}
+RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
do_compile_ptest() {
cd ${B}/tests
@@ -73,10 +68,11 @@ do_compile_ptest() {
do_install_ptest() {
if [ ${PTEST_ENABLED} = "1" ]; then
# copy the files which needed by the cases
- TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint"
+ TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip"
install -d -m 755 ${D}${PTEST_PATH}/src
install -d -m 755 ${D}${PTEST_PATH}/libelf
install -d -m 755 ${D}${PTEST_PATH}/libdw
+ install -d -m 755 ${D}${PTEST_PATH}/libasm
for test_file in ${TEST_FILES}; do
if [ -f ${B}/src/${test_file} ]; then
cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src
@@ -84,6 +80,7 @@ do_install_ptest() {
done
cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so
cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so
+ cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so
cp -r ${S}/tests/ ${D}${PTEST_PATH}
cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests
cp -r ${B}/config.h ${D}${PTEST_PATH}
@@ -138,6 +135,7 @@ INHIBIT_PACKAGE_STRIP_FILES = "\
${PKGD}${PTEST_PATH}/tests/elfstrmerge \
${PKGD}${PTEST_PATH}/tests/backtrace-child \
${PKGD}${PTEST_PATH}/tests/backtrace-data \
+ ${PKGD}${PTEST_PATH}/tests/backtrace-dwarf \
${PKGD}${PTEST_PATH}/tests/deleted \
${PKGD}${PTEST_PATH}/src/strip \
${PKGD}${PTEST_PATH}/src/addr2line \
@@ -146,10 +144,14 @@ INHIBIT_PACKAGE_STRIP_FILES = "\
${PKGD}${PTEST_PATH}/src/readelf \
${PKGD}${PTEST_PATH}/src/nm \
${PKGD}${PTEST_PATH}/src/elflint \
+ ${PKGD}${PTEST_PATH}/src/elfclassify \
+ ${PKGD}${PTEST_PATH}/src/stack \
+ ${PKGD}${PTEST_PATH}/src/unstrip \
${PKGD}${PTEST_PATH}/libelf/libelf.so \
${PKGD}${PTEST_PATH}/libdw/libdw.so \
+ ${PKGD}${PTEST_PATH}/libasm/libasm.so \
${PKGD}${PTEST_PATH}/backends/libebl_i386.so \
${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \
"
-PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1"
+PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1"
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
index af79ef496..62031073e 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
@@ -1,4 +1,4 @@
-From b99aa12cf879ce200e03d75e543c7ab2dfa5503b Mon Sep 17 00:00:00 2001
+From ec9a7742734aae5417c0ebbffce66ac353e6cae7 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 15 Aug 2017 17:10:57 +0800
Subject: [PATCH] dso link change
@@ -23,10 +23,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 2b1c0dc..9305b84 100644
+index e462e7d..ea1215b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -44,7 +44,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
+@@ -45,7 +45,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
libelf = ../libelf/libelf.a -lz
else
libasm = ../libasm/libasm.so
@@ -34,12 +34,12 @@ index 2b1c0dc..9305b84 100644
+libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
libelf = ../libelf/libelf.so
endif
- libebl = ../libebl/libebl.a
+ libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 1b0c7d3..bced19b 100644
+index eab4ae6..f59a01f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -476,7 +476,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
+@@ -516,7 +516,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
libelf = ../libelf/libelf.a -lz
libasm = ../libasm/libasm.a
else
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
index 0d533c8f1..73ead6d41 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
@@ -1,4 +1,4 @@
-From d7be687c35fa42954874034c82ca9059d28196fe Mon Sep 17 00:00:00 2001
+From 8e5fff8b1d819e0870fb22b27950bb5f10c7a272 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 Oct 2017 22:30:46 -0700
Subject: [PATCH] libasm may link with libbz2 if found
@@ -17,16 +17,16 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 9305b84..9b7e853 100644
+index ea1215b..13d9bda 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -39,11 +39,11 @@ EXTRA_DIST += make-debug-archive.in
+@@ -40,11 +40,11 @@ EXTRA_DIST += make-debug-archive.in
CLEANFILES += make-debug-archive
if BUILD_STATIC
-libasm = ../libasm/libasm.a
+libasm = ../libasm/libasm.a $(zip_LIBS)
- libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl
+ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
libelf = ../libelf/libelf.a -lz
else
-libasm = ../libasm/libasm.so
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
index 40f2b69cf..f751a2ecd 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-musl-obstack-fts.patch
@@ -1,7 +1,7 @@
-From 77b89dbc9f9f965ad0ef2e341d7d46bce5f07549 Mon Sep 17 00:00:00 2001
+From 8ccf3d92b8766b53f203df7e01b489604ef851f3 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:17:25 +0800
-Subject: [PATCH 1/3] musl-obstack-fts
+Subject: [PATCH 1/4] musl-obstack-fts
Look for libfts and libobstack during configure, these
libraries are external to libc when using musl, whereas
@@ -12,17 +12,18 @@ Upstream-Status: Inappropriate [workaround for musl]
Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
- configure.ac | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 54 +++++++++++++++++++++++++++++++++++++++++++++++
libdw/Makefile.am | 2 +-
- src/Makefile.am | 8 ++++----
- 3 files changed, 59 insertions(+), 5 deletions(-)
+ src/Makefile.am | 6 +++---
+ 3 files changed, 58 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index f93964c..b87b762 100644
+index cad7b2b..6d4229b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -494,6 +494,60 @@ else
+@@ -529,6 +529,60 @@ else
fi
AC_SUBST([argp_LDADD])
@@ -84,45 +85,43 @@ index f93964c..b87b762 100644
dnl Documentation.
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
-index 7a3d532..a541fa3 100644
+index 33b5838..ff92e02 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
-@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
- libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \
- ../libdwfl/libdwfl_pic.a ../libebl/libebl.a
+@@ -109,7 +109,7 @@ libdw_so_LIBS = ../libebl/libebl_pic.a ../backends/libebl_backends_pic.a \
+ ../libcpu/libcpu_pic.a libdw_pic.a ../libdwelf/libdwelf_pic.a \
+ ../libdwfl/libdwfl_pic.a
libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
--libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS)
-+libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(zip_LIBS)
+-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) -pthread
++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(zip_LIBS) -pthread
libdw_so_SOURCES =
libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
- # The rpath is necessary for libebl because its $ORIGIN use will
+ $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
diff --git a/src/Makefile.am b/src/Makefile.am
-index b72f853..2f3dfce 100644
+index 13d9bda..d5a4f7d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -69,8 +69,8 @@ ar_no_Wstack_usage = yes
+@@ -69,7 +69,7 @@ ar_no_Wstack_usage = yes
unstrip_no_Wstack_usage = yes
- readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
--nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \
-- $(demanglelib)
-+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \
-+ $(obstack_LDADD) -ldl $(demanglelib)
+ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD)
+-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \
++nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD) \
+ $(demanglelib)
size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
- strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
- elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+ strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
@@ -78,9 +78,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
- elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
- objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+ elfcmp_LDADD = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
+ objdump_LDADD = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
+ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD)
strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
+ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD)
- unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
- stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib)
+ unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+ stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
--
-2.7.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
index b9b9f120d..cf1468386 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch
@@ -1,7 +1,7 @@
-From d5a1651df9884fcf57ed320bc2f866538af2f420 Mon Sep 17 00:00:00 2001
+From ea908c7009de5a208383abf4bec4c6b3d9519ca3 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:18:47 +0800
-Subject: [PATCH 2/3] musl-libs
+Subject: [PATCH 2/4] musl-libs
Collection of fixes needed to compile libelf and other libraries
provided by elfutils for musl targets
@@ -14,6 +14,7 @@ Upstream-Status: Inappropriate [workaround for musl]
Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
lib/error.h | 27 +++++++++++++++++++++++++++
lib/fixedsizehash.h | 1 -
@@ -140,5 +141,5 @@ index bed273d..be228e6 100644
+#endif
#endif /* elf.h */
--
-2.7.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
index a8ad93123..79c9d9ad5 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch
@@ -1,7 +1,7 @@
-From 7f5e2fd86d54e0a4d195ec65afb9b411829dff9f Mon Sep 17 00:00:00 2001
+From 94028b16e56c8eef1aa02dcc4da268a0e471b4ea Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:19:48 +0800
-Subject: [PATCH 3/3] musl-utils
+Subject: [PATCH 3/4] musl-utils
Provide missing defines which otherwise are available on glibc system headers
@@ -13,6 +13,7 @@ Upstream-Status: Inappropriate [workaround for musl]
Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
src/arlib.h | 6 ++++++
src/elfcompress.c | 7 +++++++
@@ -57,10 +58,10 @@ index 6ba6af4..0c7674b 100644
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/readelf.c b/src/readelf.c
-index 5c02a9b..817562d 100644
+index 5994615..f3cc071 100644
--- a/src/readelf.c
+++ b/src/readelf.c
-@@ -4813,10 +4813,11 @@ listptr_base (struct listptr *p)
+@@ -4829,10 +4829,11 @@ listptr_base (struct listptr *p)
return cudie_base (&cu);
}
@@ -74,7 +75,7 @@ index 5c02a9b..817562d 100644
struct listptr *p1 = (void *) a;
struct listptr *p2 = (void *) b;
-@@ -4832,21 +4833,21 @@ compare_listptr (const void *a, const void *b, void *arg)
+@@ -4848,21 +4849,21 @@ compare_listptr (const void *a, const void *b, void *arg)
p1->warned = p2->warned = true;
error (0, 0,
gettext ("%s %#" PRIx64 " used with different address sizes"),
@@ -99,7 +100,7 @@ index 5c02a9b..817562d 100644
}
if (p1->attr != p2 ->attr)
{
-@@ -4854,7 +4855,7 @@ compare_listptr (const void *a, const void *b, void *arg)
+@@ -4870,7 +4871,7 @@ compare_listptr (const void *a, const void *b, void *arg)
error (0, 0,
gettext ("%s %#" PRIx64
" used with different attribute %s and %s"),
@@ -108,7 +109,7 @@ index 5c02a9b..817562d 100644
dwarf_attr_name (p2->attr));
}
}
-@@ -4926,8 +4927,11 @@ static void
+@@ -4942,8 +4943,11 @@ static void
sort_listptr (struct listptr_table *table, const char *name)
{
if (table->n > 0)
@@ -141,7 +142,7 @@ index 4054c2a..d2d2176 100644
/* Name and version of program. */
diff --git a/src/unstrip.c b/src/unstrip.c
-index fc87832..21ea6b3 100644
+index 9b8c09a..1fb5063 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -56,6 +56,15 @@
@@ -161,5 +162,5 @@ index fc87832..21ea6b3 100644
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
--
-2.7.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-tests.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
index be35791b1..1b2f9ed98 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl-tests.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch
@@ -1,4 +1,7 @@
-Fix error on musl:
+From 7ff8cbecde7455b530fa7894a78d2326799f2556 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Wed, 1 May 2019 22:15:03 +0100
+Subject: [PATCH 4/4] Fix error on musl:
| ../../elfutils-0.176/tests/elfstrmerge.c: In function 'main':
| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: error: 'ALLPERMS' undeclared (first use in this function); did you mean 'EPERM'?
@@ -11,10 +14,14 @@ Upstream-Status: Inappropriate [workaround in musl]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Index: elfutils-0.176/tests/elfstrmerge.c
-===================================================================
---- elfutils-0.176.orig/tests/elfstrmerge.c
-+++ elfutils-0.176/tests/elfstrmerge.c
+---
+ tests/elfstrmerge.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
+index ba0d68d..1d2447f 100644
+--- a/tests/elfstrmerge.c
++++ b/tests/elfstrmerge.c
@@ -33,6 +33,11 @@
#include ELFUTILS_HEADER(dwelf)
#include "elf-knowledge.h"
@@ -27,3 +34,6 @@ Index: elfutils-0.176/tests/elfstrmerge.c
/* The original ELF file. */
static int fd = -1;
static Elf *elf = NULL;
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch b/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch
deleted file mode 100644
index 611a24c0f..000000000
--- a/poky/meta/recipes-devtools/elfutils/files/0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 112d1645bab7922c7796fe32ddea8fa6e1bbded1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 29 Jun 2018 15:14:28 +0800
-Subject: [PATCH] Fix control path where we have str as uninitialized string
-
-|
-/home/ubuntu/work/oe/openembedded-core/build/tmp-musl/work/i586-oe-linux-musl/elfutils/0.164-r0/elfutils-0.164/libcpu/i386_disasm.c:
-In function 'i386_disasm':
-|
-/home/ubuntu/work/oe/openembedded-core/build/tmp-musl/work/i586-oe-linux-musl/elfutils/0.164-r0/elfutils-0.164/libcpu/i386_disasm.c:310:5:
-error: 'str' may be used uninitialized in this function
-[-Werror=maybe-uninitialized]
-| memcpy (buf + bufcnt, _str, _len); \
-| ^
-|
-/home/ubuntu/work/oe/openembedded-core/build/tmp-musl/work/i586-oe-linux-musl/elfutils/0.164-r0/elfutils-0.164/libcpu/i386_disasm.c:709:17:
-note: 'str' was declared here
-| const char *str;
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-Rebase to 0.172
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- libcpu/i386_disasm.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c
-index a7e03f9..837a3a8 100644
---- a/libcpu/i386_disasm.c
-+++ b/libcpu/i386_disasm.c
-@@ -821,6 +821,7 @@ i386_disasm (Ebl *ebl __attribute__((unused)),
- }
- FALLTHROUGH;
- default:
-+ str = "";
- assert (! "INVALID not handled");
- }
- }
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
index 4460d582c..53fa2f435 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
@@ -1,4 +1,4 @@
-From 8efad9105b38985bea373416ae8fcacf21d1d129 Mon Sep 17 00:00:00 2001
+From ffb811e18d7046d5bbe54ede5b1b7e14eaac0146 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 21 Aug 2019 15:44:18 +0800
Subject: [PATCH] hppa backend
@@ -6,15 +6,16 @@ Subject: [PATCH] hppa backend
Rebase to 0.177
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
backends/Makefile.am | 7 +-
backends/libebl_parisc.h | 9 ++
- backends/parisc_init.c | 73 ++++++++++++++++
- backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++++++++
- backends/parisc_reloc.def | 128 ++++++++++++++++++++++++++++
- backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++
- backends/parisc_symbol.c | 113 ++++++++++++++++++++++++
- libelf/elf.h | 11 +++
+ backends/parisc_init.c | 73 +++++++++++++
+ backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++
+ backends/parisc_reloc.def | 128 +++++++++++++++++++++++
+ backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++
+ backends/parisc_symbol.c | 113 ++++++++++++++++++++
+ libelf/elf.h | 11 ++
8 files changed, 711 insertions(+), 2 deletions(-)
create mode 100644 backends/libebl_parisc.h
create mode 100644 backends/parisc_init.c
@@ -24,31 +25,30 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/parisc_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 175468f..91a38e2 100644
+index f405212..4755f61 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
-@@ -33,16 +33,19 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
-
+@@ -37,7 +37,9 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+ noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
- tilegx m68k bpf riscv csky
+ tilegx m68k bpf riscv csky parisc
- libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
- libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
- libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
- libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-- libebl_csky_pic.a
-+ libebl_csky_pic.a libebl_parisc_pic.a
- noinst_LIBRARIES = $(libebl_pic)
- noinst_DATA = $(libebl_pic:_pic.a=.so)
-
++
+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
-+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
-+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
- libelf = ../libelf/libelf.so
- libdw = ../libdw/libdw.so
+ i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
+ i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
+@@ -102,7 +104,8 @@ libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
+ $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
+ $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
+ $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
+- $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS)
++ $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \
++ $(parisc_SRCS)
+
+ libebl_backends_pic_a_SOURCES =
+ am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
diff --git a/backends/libebl_parisc.h b/backends/libebl_parisc.h
new file mode 100644
index 0000000..f473b79
@@ -826,6 +826,3 @@ index 01648bd..218ceb2 100644
#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
index 1097b0ec6..749faa403 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
@@ -1,4 +1,4 @@
-From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001
+From 7e0b036d087dfff7f5e306f52fc78745f99454c3 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 21 Aug 2019 15:49:52 +0800
Subject: [PATCH] mips backend
@@ -7,15 +7,16 @@ Rebase to 0.177
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
- backends/Makefile.am | 8 +-
- backends/mips_init.c | 59 +++++++++
- backends/mips_regs.c | 104 ++++++++++++++++
- backends/mips_reloc.def | 79 ++++++++++++
- backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++++
- backends/mips_symbol.c | 53 ++++++++
- libebl/eblopenbackend.c | 2 +
- 7 files changed, 624 insertions(+), 2 deletions(-)
+ backends/Makefile.am | 6 +-
+ backends/mips_init.c | 59 ++++++++
+ backends/mips_regs.c | 104 +++++++++++++
+ backends/mips_reloc.def | 79 ++++++++++
+ backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++
+ backends/mips_symbol.c | 53 +++++++
+ libebl/eblopenbackend.c | 3 +
+ 7 files changed, 623 insertions(+), 2 deletions(-)
create mode 100644 backends/mips_init.c
create mode 100644 backends/mips_regs.c
create mode 100644 backends/mips_reloc.def
@@ -23,36 +24,34 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/mips_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 91a38e2..aba8a4a 100644
+index 4755f61..07d45d7 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
-@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
-
+@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+ noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
- tilegx m68k bpf riscv csky parisc
+ tilegx m68k bpf riscv csky parisc mips
- libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
- libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
- libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
- libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-- libebl_csky_pic.a libebl_parisc_pic.a
-+ libebl_csky_pic.a libebl_parisc_pic.a libebl_mips_pic.a
- noinst_LIBRARIES = $(libebl_pic)
- noinst_DATA = $(libebl_pic:_pic.a=.so)
-@@ -145,6 +145,10 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
- libebl_csky_pic_a_SOURCES = $(csky_SRCS)
- am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+ parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
+
+@@ -100,12 +100,14 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
+ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ csky_regs.c csky_initreg.c csky_corenote.c
+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
-+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
-+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
+
- libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
- @rm -f $(@:.so=.map)
- $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
+ libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
+ $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
+ $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
+ $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
+ $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS) \
+- $(parisc_SRCS)
++ $(parisc_SRCS) $(mips_SRCS)
+
+ libebl_backends_pic_a_SOURCES =
+ am_libebl_backends_pic_a_OBJECTS = $(libebl_backends_a_SOURCES:.c=.os)
diff --git a/backends/mips_init.c b/backends/mips_init.c
new file mode 100644
index 0000000..975c04e
@@ -700,18 +699,26 @@ index 0000000..261b05d
+ }
+}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
-index 01711f5..d0c3589 100644
+index 210b47e..1feac13 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
-@@ -71,6 +71,8 @@ static const struct
- { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
- { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
- { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 },
-+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
-+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
+@@ -57,6 +57,7 @@ const char *m68k_init (Elf *, GElf_Half, Ebl *, size_t);
+ const char *bpf_init (Elf *, GElf_Half, Ebl *, size_t);
+ const char *riscv_init (Elf *, GElf_Half, Ebl *, size_t);
+ const char *csky_init (Elf *, GElf_Half, Ebl *, size_t);
++const char *mips_init (Elf *, GElf_Half, Ebl *, size_t);
+
+ /* This table should contain the complete list of architectures as far
+ as the ELF specification is concerned. */
+@@ -87,6 +88,8 @@ static const struct
+ { sparc_init, "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
+ { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
+ { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
++ { mips_init, "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
++ { mips_init, "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
- { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
- { "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
+ { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
+ { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
--
-2.7.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
index fda4f6805..dd8f88a45 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
@@ -1,33 +1,34 @@
-From 96e38289f2887ddb8e6d2fb91ea04bdbdf034ab5 Mon Sep 17 00:00:00 2001
+From 5bf6117a6eaf9007ce80adbb8b66a95ca98047a4 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 21 Aug 2019 17:00:30 +0800
-Subject: [PATCH 2/2] mips_cfi
+Subject: [PATCH] mips_cfi
Upstream-Status: Pending [from debian]
Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
---
backends/Makefile.am | 2 +-
- backends/mips_cfi.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ backends/mips_cfi.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
backends/mips_init.c | 1 +
3 files changed, 82 insertions(+), 1 deletion(-)
create mode 100644 backends/mips_cfi.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index aba8a4a..6ac0eec 100644
+index 07d45d7..dec3080 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
-@@ -145,7 +145,7 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
- libebl_csky_pic_a_SOURCES = $(csky_SRCS)
- am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+@@ -100,7 +100,7 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
+ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ csky_regs.c csky_initreg.c csky_corenote.c
-mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c
- libebl_mips_pic_a_SOURCES = $(mips_SRCS)
- am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
+ libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
+ $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
diff --git a/backends/mips_cfi.c b/backends/mips_cfi.c
new file mode 100644
index 0000000..9ffdab5
@@ -126,6 +127,3 @@ index 8482e7f..bce5abe 100644
return MODVERSION;
}
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch
new file mode 100644
index 000000000..67689e838
--- /dev/null
+++ b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch
@@ -0,0 +1,27 @@
+From 607b0bed5e8a5f5c3754cd6ffcf499d8134c37f9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 30 Mar 2020 17:11:19 +0200
+Subject: [PATCH] gptcurses: correctly include curses.h
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ gptcurses.cc | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/gptcurses.cc b/gptcurses.cc
+index 1b18cf2..4ebfde1 100644
+--- a/gptcurses.cc
++++ b/gptcurses.cc
+@@ -23,11 +23,7 @@
+ #include <iostream>
+ #include <string>
+ #include <sstream>
+-#ifdef __APPLE__
+ #include <ncurses.h>
+-#else
+-#include <ncursesw/ncurses.h>
+-#endif
+ #include "gptcurses.h"
+ #include "support.h"
+
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.5.bb
index b043c9654..c7850f03c 100644
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.4.bb
+++ b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.5.bb
@@ -6,9 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
DEPENDS = "util-linux"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "5ecc3c44913bb6b53d3708d1ac7ac295"
-SRC_URI[sha256sum] = "b663391a6876f19a3cd901d862423a16e2b5ceaa2f4a3b9bb681e64b9c7ba78d"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \
+ file://0001-gptcurses-correctly-include-curses.h.patch \
+ "
+SRC_URI[md5sum] = "58dac67c85e46ca87b587231549aefe6"
+SRC_URI[sha256sum] = "0e7d3987cd0488ecaf4b48761bc97f40b1dc089e5ff53c4b37abe30bc67dcb2f"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/file/file/CVE-2019-18218.patch b/poky/meta/recipes-devtools/file/file/CVE-2019-18218.patch
deleted file mode 100644
index 3d02c5ad4..000000000
--- a/poky/meta/recipes-devtools/file/file/CVE-2019-18218.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-cdf_read_property_info in cdf.c in file through 5.37 does not restrict the
-number of CDF_VECTOR elements, which allows a heap-based buffer overflow (4-byte
-out-of-bounds write).
-
-CVE: CVE-2019-18218
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 46a8443f76cec4b41ec736eca396984c74664f84 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Mon, 26 Aug 2019 14:31:39 +0000
-Subject: [PATCH] Limit the number of elements in a vector (found by oss-fuzz)
-
----
- src/cdf.c | 9 ++++-----
- src/cdf.h | 1 +
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/cdf.c b/src/cdf.c
-index 9d6396742..bb81d6374 100644
---- a/src/cdf.c
-+++ b/src/cdf.c
-@@ -1016,8 +1016,9 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
- goto out;
- }
- nelements = CDF_GETUINT32(q, 1);
-- if (nelements == 0) {
-- DPRINTF(("CDF_VECTOR with nelements == 0\n"));
-+ if (nelements > CDF_ELEMENT_LIMIT || nelements == 0) {
-+ DPRINTF(("CDF_VECTOR with nelements == %"
-+ SIZE_T_FORMAT "u\n", nelements));
- goto out;
- }
- slen = 2;
-@@ -1060,8 +1061,6 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
- goto out;
- inp += nelem;
- }
-- DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n",
-- nelements));
- for (j = 0; j < nelements && i < sh.sh_properties;
- j++, i++)
- {
-diff --git a/src/cdf.h b/src/cdf.h
-index 2f7e554b7..05056668f 100644
---- a/src/cdf.h
-+++ b/src/cdf.h
-@@ -48,6 +48,7 @@
- typedef int32_t cdf_secid_t;
-
- #define CDF_LOOP_LIMIT 10000
-+#define CDF_ELEMENT_LIMIT 100000
-
- #define CDF_SECID_NULL 0
- #define CDF_SECID_FREE -1
diff --git a/poky/meta/recipes-devtools/file/file_5.37.bb b/poky/meta/recipes-devtools/file/file_5.38.bb
index a96ccc0d3..48cf8ab54 100644
--- a/poky/meta/recipes-devtools/file/file_5.37.bb
+++ b/poky/meta/recipes-devtools/file/file_5.38.bb
@@ -8,24 +8,28 @@ SECTION = "console/utils"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b"
-DEPENDS = "zlib file-replacement-native"
-DEPENDS_class-native = "zlib-native"
+DEPENDS = "file-replacement-native"
+DEPENDS_class-native = "bzip2-replacement-native"
-SRC_URI = "git://github.com/file/file.git \
- file://CVE-2019-18218.patch"
+SRC_URI = "git://github.com/file/file.git"
-SRCREV = "a0d5b0e4e9f97d74a9911e95cedd579852e25398"
+SRCREV = "ec41083645689a787cdd00cb3b5bf578aa79e46c"
S = "${WORKDIR}/git"
inherit autotools update-alternatives
+PACKAGECONFIG ??= "zlib"
+PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2"
+PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz"
+PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib"
+
EXTRA_OECONF += "--disable-libseccomp"
ALTERNATIVE_${PN} = "file"
ALTERNATIVE_LINK_NAME[file] = "${bindir}/file"
-EXTRA_OEMAKE_append_class-target = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
-EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+EXTRA_OEMAKE_append_class-target = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
+EXTRA_OEMAKE_append_class-nativesdk = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file"
FILES_${PN} += "${datadir}/misc/*.mgc"
diff --git a/poky/meta/recipes-devtools/flex/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch b/poky/meta/recipes-devtools/flex/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
new file mode 100644
index 000000000..60bf7ce8c
--- /dev/null
+++ b/poky/meta/recipes-devtools/flex/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
@@ -0,0 +1,32 @@
+From ed1f7e9de0d6a1d5a9e581e02a63593d22cf1e52 Mon Sep 17 00:00:00 2001
+From: Explorer09 <explorer09@gmail.com>
+Date: Mon, 4 Sep 2017 10:47:33 +0800
+Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
+
+This would, e.g. define _GNU_SOURCE in config.h, enabling the
+reallocarray() prototype in glibc 2.26+ on Linux systems with that
+version of glibc.
+
+Fixes #241.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 55e774b..c879fe1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,8 +25,10 @@
+ # autoconf requirements and initialization
+
+ AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex])
++AC_PREREQ([2.60])
+ AC_CONFIG_SRCDIR([src/scan.l])
+ AC_CONFIG_AUX_DIR([build-aux])
++AC_USE_SYSTEM_EXTENSIONS
+ LT_INIT
+ AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects])
+ AC_CONFIG_HEADER([src/config.h])
diff --git a/poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch b/poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
deleted file mode 100644
index 438ca5f52..000000000
--- a/poky/meta/recipes-devtools/flex/flex/0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7072befe1397af4eb01c3ff7edf99f0cd5076089 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 30 Aug 2016 14:25:32 +0200
-Subject: [PATCH] avoid c++ comments in c-code - fails with gcc-6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-fixes:
-
-| error: C++ style comments are not allowed in ISO C90
-| num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- src/flex.skl | 2 +-
- src/scan.c | 2 +-
- src/skel.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/flex.skl b/src/flex.skl
-index 73a0b9e..ed71627 100644
---- a/src/flex.skl
-+++ b/src/flex.skl
-@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void)
- * scanner will even need a stack. We use 2 instead of 1 to avoid an
- * immediate realloc on the next call.
- */
-- num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
-+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
- (num_to_alloc * sizeof(struct yy_buffer_state*)
- M4_YY_CALL_LAST_ARG);
-diff --git a/src/scan.c b/src/scan.c
-index b55df2d..f1dce75 100644
---- a/src/scan.c
-+++ b/src/scan.c
-@@ -4672,7 +4672,7 @@ static void yyensure_buffer_stack (void)
- * scanner will even need a stack. We use 2 instead of 1 to avoid an
- * immediate realloc on the next call.
- */
-- num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
-+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways...*/
- (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
- (num_to_alloc * sizeof(struct yy_buffer_state*)
- );
-diff --git a/src/skel.c b/src/skel.c
-index ef657d3..26cc889 100644
---- a/src/skel.c
-+++ b/src/skel.c
-@@ -2561,7 +2561,7 @@ const char *skel[] = {
- " * scanner will even need a stack. We use 2 instead of 1 to avoid an",
- " * immediate realloc on the next call.",
- " */",
-- " num_to_alloc = 1; // After all that talk, this was set to 1 anyways...",
-+ " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */",
- " YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc",
- " (num_to_alloc * sizeof(struct yy_buffer_state*)",
- " M4_YY_CALL_LAST_ARG);",
---
-2.5.5
-
diff --git a/poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch b/poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch
deleted file mode 100644
index 216ac7ae1..000000000
--- a/poky/meta/recipes-devtools/flex/flex/CVE-2016-6354.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3939eccdff598f47e5b37b05d58bf1b44d3796e7 Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Fri, 7 Oct 2016 14:15:38 +0300
-Subject: [PATCH] Prevent buffer overflow in yy_get_next_buffer
-
-This is upstream commit a5cbe929ac3255d371e698f62dc256afe7006466
-with some additional backporting to make binutils build again.
-
-Upstream-Status: Backport
-CVE: CVE-2016-6354
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- src/flex.skl | 2 +-
- src/scan.c | 2 +-
- src/skel.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/flex.skl b/src/flex.skl
-index ed71627..814d562 100644
---- a/src/flex.skl
-+++ b/src/flex.skl
-@@ -1718,7 +1718,7 @@ int yyFlexLexer::yy_get_next_buffer()
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
-diff --git a/src/scan.c b/src/scan.c
-index f1dce75..1949872 100644
---- a/src/scan.c
-+++ b/src/scan.c
-@@ -4181,7 +4181,7 @@ static int yy_get_next_buffer (void)
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
-diff --git a/src/skel.c b/src/skel.c
-index 26cc889..0344d18 100644
---- a/src/skel.c
-+++ b/src/skel.c
-@@ -1929,7 +1929,7 @@ const char *skel[] = {
- "",
- " else",
- " {",
-- " yy_size_t num_to_read =",
-+ " int num_to_read =",
- " YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;",
- "",
- " while ( num_to_read <= 0 )",
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch b/poky/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch
deleted file mode 100644
index 29792efee..000000000
--- a/poky/meta/recipes-devtools/flex/flex/do_not_create_pdf_doc.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Inappropriate (embedded specific)
-
-Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
-
-Index: flex-2.6.0/doc/Makefile.am
-===================================================================
---- flex-2.6.0.orig/doc/Makefile.am
-+++ flex-2.6.0/doc/Makefile.am
-@@ -2,7 +2,7 @@ help2man = @HELP2MAN@
-
- info_TEXINFOS = flex.texi
- dist_man_MANS = flex.1
--dist_doc_DATA= flex.pdf
-+EXTRA_DIST= flex.pdf
-
- CLEANFILES = \
- flex.aux \
diff --git a/poky/meta/recipes-devtools/flex/flex/run-ptest b/poky/meta/recipes-devtools/flex/flex/run-ptest
index 19db33790..037301c40 100755
--- a/poky/meta/recipes-devtools/flex/flex/run-ptest
+++ b/poky/meta/recipes-devtools/flex/flex/run-ptest
@@ -2,4 +2,4 @@
# make would want to rebuild some files with a compiler otherwise :-/
make FLEX=/usr/bin/flex -t check-TESTS || true
-make FLEX=/usr/bin/flex check-TESTS
+make FLEX=/usr/bin/flex abs_builddir=./ check-TESTS
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
index 9bdd99c59..43b2547fc 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -10,17 +10,15 @@ BBCLASSEXTEND = "native nativesdk"
LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067"
-SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 \
+SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.tar.gz \
file://run-ptest \
- file://do_not_create_pdf_doc.patch \
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
- file://0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch \
- file://CVE-2016-6354.patch \
${@bb.utils.contains('PTEST_ENABLED', '1', '', 'file://disable-tests.patch', d)} \
+ file://0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch \
"
-SRC_URI[md5sum] = "266270f13c48ed043d95648075084d59"
-SRC_URI[sha256sum] = "24e611ef5a4703a191012f80c1027dc9d12555183ce0ecd46f3636e587e9b8e9"
+SRC_URI[md5sum] = "2882e3179748cc9f9c23ec593d6adc8d"
+SRC_URI[sha256sum] = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995"
# Flex has moved to github from 2.6.1 onwards
UPSTREAM_CHECK_URI = "https://github.com/westes/flex/releases"
@@ -30,7 +28,7 @@ inherit autotools gettext texinfo ptest
M4 = "${bindir}/m4"
M4_class-native = "${STAGING_BINDIR_NATIVE}/m4"
-EXTRA_OECONF += "ac_cv_path_M4=${M4}"
+EXTRA_OECONF += "ac_cv_path_M4=${M4} ac_cv_func_reallocarray=no"
EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4"
EXTRA_OEMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', 'FLEX=${STAGING_BINDIR_NATIVE}/flex', '', d)}"
@@ -66,8 +64,13 @@ do_install_ptest() {
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \
-e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
-e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
+ -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
-i ${D}${PTEST_PATH}/Makefile
}
+# The uninative loader is different on i386 & x86_64 hosts. Since it is only
+# being replaced with /bin/false anyway, it doesn't need to be part of the task
+# hash
+do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
# Not Apache Flex, or Adobe Flex, or IBM Flex.
CVE_PRODUCT = "flex_project:flex"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc b/poky/meta/recipes-devtools/gcc/gcc-10.1.inc
index c6395998d..a3de91a2c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1.inc
@@ -2,13 +2,13 @@ require gcc-common.inc
# Third digit in PV should be incremented after a minor release
-PV = "9.2.0"
+PV = "10.1.0"
# BINV should be incremented to a revision after a minor gcc release
-BINV = "9.2.0"
+BINV = "10.1.0"
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.2:${FILE_DIRNAME}/gcc-9.2/backport:"
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-10.1:${FILE_DIRNAME}/gcc-10.1/backport:"
DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
@@ -24,8 +24,8 @@ LIC_FILES_CHKSUM = "\
"
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#RELEASE ?= "5a5ca2d"
-#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${RELEASE}.tar.gz"
+#RELEASE ?= "93a49d2d2292893b9b7f38132df949c70942838c"
+#BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
SRC_URI = "\
${BASEURI} \
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -47,34 +47,31 @@ SRC_URI = "\
file://0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
file://0018-export-CPP.patch \
file://0019-Ensure-target-gcc-headers-can-be-included.patch \
- file://0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
- file://0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
- file://0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
- file://0023-aarch64-Add-support-for-musl-ldso.patch \
- file://0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
- file://0025-handle-sysroot-support-for-nativesdk-gcc.patch \
- file://0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
- file://0027-Fix-various-_FOR_BUILD-and-related-variables.patch \
- file://0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
- file://0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
- file://0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
- file://0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
- file://0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
- file://0033-sync-gcc-stddef.h-with-musl.patch \
- file://0034-fix-segmentation-fault-in-precompiled-header-generat.patch \
- file://0035-Fix-for-testsuite-failure.patch \
- file://0036-Re-introduce-spe-commandline-options.patch \
- file://CVE-2019-14250.patch \
- file://CVE-2019-15847_1.patch \
- file://CVE-2019-15847_2.patch \
- file://CVE-2019-15847_3.patch \
+ file://0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
+ file://0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
+ file://0022-aarch64-Add-support-for-musl-ldso.patch \
+ file://0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
+ file://0024-handle-sysroot-support-for-nativesdk-gcc.patch \
+ file://0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
+ file://0026-Fix-various-_FOR_BUILD-and-related-variables.patch \
+ file://0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
+ file://0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
+ file://0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
+ file://0030-sync-gcc-stddef.h-with-musl.patch \
+ file://0031-fix-segmentation-fault-in-precompiled-header-generat.patch \
+ file://0032-Fix-for-testsuite-failure.patch \
+ file://0033-Re-introduce-spe-commandline-options.patch \
+ file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
+ file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
+ file://0036-Enable-CET-in-cross-compiler-if-possible.patch \
+ file://0037-mingw32-Enable-operation_not_supported.patch \
+ file://0038-libatomic-Do-not-enforce-march-on-aarch64.patch \
"
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78"
-SRC_URI[sha256sum] = "ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206"
+SRC_URI[sha256sum] = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
# For dev release snapshotting
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}"
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}"
#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
# Language Overrides
@@ -90,7 +87,6 @@ EXTRA_OECONF_BASE = "\
${SSP} \
--enable-libitm \
--disable-bootstrap \
- --disable-libmudflap \
--with-system-zlib \
${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
--enable-linker-build-id \
@@ -102,7 +98,6 @@ EXTRA_OECONF_BASE = "\
"
EXTRA_OECONF_INITIAL = "\
- --disable-libmudflap \
--disable-libgomp \
--disable-libitm \
--disable-libquadmath \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
index 9065c304b..82ae9f8d1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -1,7 +1,7 @@
-From 863325ec3c6eb4987be63509ac407b2d13617342 Mon Sep 17 00:00:00 2001
+From f2a5dc3bc7e5727d6bf77e1c6e8a31a6f000883d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:37:11 +0400
-Subject: [PATCH 01/36] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
+Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
Signed-off-by: Khem Raj <raj.khem@gmail.com>
@@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific]
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
-index abd93a990a9..b121088d778 100755
+index 4cc938ebb7d..226a64939d1 100755
--- a/configure
+++ b/configure
-@@ -7603,7 +7603,7 @@ fi
+@@ -7722,7 +7722,7 @@ fi
# for target_alias and gcc doesn't manage it consistently.
target_configargs="--cache-file=./config.cache ${target_configargs}"
@@ -25,10 +25,10 @@ index abd93a990a9..b121088d778 100755
*" newlib "*)
case " $target_configargs " in
diff --git a/configure.ac b/configure.ac
-index 9db4fd14aa2..aad93c4d183 100644
+index c78d9cbea62..f024f4bac9b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3119,7 +3119,7 @@ fi
+@@ -3227,7 +3227,7 @@ fi
# for target_alias and gcc doesn't manage it consistently.
target_configargs="--cache-file=./config.cache ${target_configargs}"
@@ -37,6 +37,3 @@ index 9db4fd14aa2..aad93c4d183 100644
case " $target_configdirs " in
*" newlib "*)
case " $target_configargs " in
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0002-gcc-poison-system-directories.patch
index a1116e750..30a848601 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0002-gcc-poison-system-directories.patch
@@ -1,7 +1,7 @@
-From 68e78bc15de215fa15c7d8b56bd2e2b0539b34fa Mon Sep 17 00:00:00 2001
+From 74cc21f474402cf3578e37e1d7a1a22bbd070f6a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
-Subject: [PATCH 02/36] gcc: poison-system-directories
+Subject: [PATCH] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
@@ -26,10 +26,10 @@ Upstream-Status: Pending
7 files changed, 68 insertions(+)
diff --git a/gcc/common.opt b/gcc/common.opt
-index d342c4f3749..c64fd4a6c50 100644
+index 65a82410abc..415f38fa1f4 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
-@@ -684,6 +684,10 @@ Wreturn-local-addr
+@@ -682,6 +682,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
@@ -41,10 +41,10 @@ index d342c4f3749..c64fd4a6c50 100644
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
-index a718ceaf3da..5713342efb1 100644
+index 809e7b26823..5adeaeed36b 100644
--- a/gcc/config.in
+++ b/gcc/config.in
-@@ -200,6 +200,12 @@
+@@ -224,6 +224,12 @@
#endif
@@ -58,10 +58,10 @@ index a718ceaf3da..5713342efb1 100644
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
-index 481071b4265..a6ea3a8a84c 100755
+index cd3d9516fce..8de766a942c 100755
--- a/gcc/configure
+++ b/gcc/configure
-@@ -995,6 +995,7 @@ with_system_zlib
+@@ -1010,6 +1010,7 @@ with_system_zlib
enable_maintainer_mode
enable_link_mutex
enable_version_specific_runtime_libs
@@ -69,7 +69,7 @@ index 481071b4265..a6ea3a8a84c 100755
enable_plugin
enable_host_shared
enable_libquadmath_support
-@@ -1748,6 +1749,8 @@ Optional Features:
+@@ -1766,6 +1767,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
@@ -78,7 +78,7 @@ index 481071b4265..a6ea3a8a84c 100755
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
-@@ -29750,6 +29753,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+@@ -30235,6 +30238,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
@@ -99,10 +99,10 @@ index 481071b4265..a6ea3a8a84c 100755
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index ce2825580c6..d42bbd4fd1c 100644
+index 0de3b4bf97b..8bfd6feb780 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -6378,6 +6378,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+@@ -6595,6 +6595,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
@@ -120,18 +120,18 @@ index ce2825580c6..d42bbd4fd1c 100644
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 6ef36ce02aa..09414d8cc05 100644
+index f98161391a0..f12d8d12150 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
-@@ -332,6 +332,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
+@@ -348,6 +348,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
-Wparentheses -Wno-pedantic-ms-format @gol
- -Wplacement-new -Wplacement-new=@var{n} @gol
+ -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
+-Wno-poison-system-directories @gol
- -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
- -Wrestrict -Wno-return-local-addr @gol
-@@ -6289,6 +6290,14 @@ made up of data only and thus requires no special treatment. But, for
+ -Wrestrict -Wno-return-local-addr -Wreturn-type @gol
+ -Wno-scalar-storage-order -Wsequence-point @gol
+@@ -6924,6 +6925,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
@@ -147,10 +147,10 @@ index 6ef36ce02aa..09414d8cc05 100644
@opindex Wfloat-equal
@opindex Wno-float-equal
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 4f57765b012..a2601a6bb06 100644
+index 9f790db0daf..b2200c5185a 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -1042,6 +1042,8 @@ proper position among the other output files. */
+@@ -1041,6 +1041,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
@@ -160,7 +160,7 @@ index 4f57765b012..a2601a6bb06 100644
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
diff --git a/gcc/incpath.c b/gcc/incpath.c
-index bcbe2082905..5752298bbf2 100644
+index 8a2bda00f80..9098ab044ab 100644
--- a/gcc/incpath.c
+++ b/gcc/incpath.c
@@ -26,6 +26,7 @@
@@ -198,6 +198,3 @@ index bcbe2082905..5752298bbf2 100644
}
/* Use given -I paths for #include "..." but not #include <...>, and
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
index 23039d212..27237feb5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -1,7 +1,7 @@
-From f8d60c4114acb92361c7b2f4a4561d4661e8da9d Mon Sep 17 00:00:00 2001
+From 6e3395c0bc933bdc3242d1dead4896d0aa4e11a8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:08:31 +0400
-Subject: [PATCH 03/36] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
+Subject: [PATCH] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
@@ -26,10 +26,10 @@ Upstream-Status: Pending
1 file changed, 32 insertions(+)
diff --git a/configure b/configure
-index b121088d778..93aae5bb26f 100755
+index 226a64939d1..b31dc137fc9 100755
--- a/configure
+++ b/configure
-@@ -6864,6 +6864,38 @@ fi
+@@ -6971,6 +6971,38 @@ fi
@@ -68,6 +68,3 @@ index b121088d778..93aae5bb26f 100755
# Handle --with-headers=XXX. If the value is not "yes", the contents of
# the named directory are copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0004-64-bit-multilib-hack.patch
index a79c40c1a..7c751bef6 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0004-64-bit-multilib-hack.patch
@@ -1,7 +1,7 @@
-From c2081c51db589471ea713870c72f13999abda815 Mon Sep 17 00:00:00 2001
+From 85a7c5aeb82ed61e6ef6d8e061b9da9e6a4a652c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 04/36] 64-bit multilib hack.
+Subject: [PATCH] 64-bit multilib hack.
GCC has internal multilib handling code but it assumes a very specific rigid directory
layout. The build system implementation of multilib layout is very generic and allows
@@ -37,7 +37,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
5 files changed, 15 insertions(+), 20 deletions(-)
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index 5ad670ba2ce..e26019e7157 100644
+index 83e59e33b85..b1356be1fb4 100644
--- a/gcc/config/aarch64/t-aarch64-linux
+++ b/gcc/config/aarch64/t-aarch64-linux
@@ -21,8 +21,8 @@
@@ -54,7 +54,7 @@ index 5ad670ba2ce..e26019e7157 100644
-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index c686ab2f0d2..c82b60dadcd 100644
+index 1171e218578..5e057b7e5db 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -32,7 +32,5 @@
@@ -68,7 +68,7 @@ index c686ab2f0d2..c82b60dadcd 100644
+MULTILIB_DIRNAMES = . .
+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
-index 3a2ff700d7d..13ef19576b5 100644
+index ceb58d3b5f3..43fe2bf28ab 100644
--- a/gcc/config/mips/t-linux64
+++ b/gcc/config/mips/t-linux64
@@ -17,10 +17,6 @@
@@ -98,7 +98,7 @@ index 216d2776a18..e4d817621fc 100644
+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
-index f3c6e2be1d9..bd0393155fa 100644
+index 264a7e27524..dc9d440f66b 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -26,10 +26,9 @@
@@ -114,6 +114,3 @@ index f3c6e2be1d9..bd0393155fa 100644
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
$(COMPILE) $<
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0005-optional-libstdc.patch
index f4fac9146..4020c9e3c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0005-optional-libstdc.patch
@@ -1,7 +1,7 @@
-From e7e504f4a90cfa395e7f8ee779f8c3ed687802ca Mon Sep 17 00:00:00 2001
+From 6ddfb0bfcd1eea71acd37ab06f7a4510b9f1d12b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:12:56 +0400
-Subject: [PATCH 05/36] optional libstdc
+Subject: [PATCH] optional libstdc
gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
will not run correctly since by default the linker will try to link against libstdc++
@@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [embedded specific]
4 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index 916cc67b453..41619fa591c 100644
+index c49da99d395..35f712e2c84 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
-@@ -1952,6 +1952,10 @@ nostdinc++
+@@ -2025,6 +2025,10 @@ nostdinc++
C++ ObjC++
Do not search standard system include directories for C++.
@@ -40,7 +40,7 @@ index 916cc67b453..41619fa591c 100644
C ObjC C++ ObjC++ Joined Separate
; Documented in common.opt
diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
-index 6c4574a837d..0e2657f00ee 100644
+index 0ab63bcd211..7b081e9e4f0 100644
--- a/gcc/cp/g++spec.c
+++ b/gcc/cp/g++spec.c
@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
@@ -52,10 +52,10 @@ index 6c4574a837d..0e2657f00ee 100644
library = -1;
break;
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 09414d8cc05..a43969bc9f0 100644
+index f12d8d12150..cf6cb428e7d 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
-@@ -228,6 +228,9 @@ in the following sections.
+@@ -230,6 +230,9 @@ in the following sections.
-fno-weak -nostdinc++ @gol
-fvisibility-inlines-hidden @gol
-fvisibility-ms-compat @gol
@@ -63,9 +63,9 @@ index 09414d8cc05..a43969bc9f0 100644
+-fvtv-counts -fvtv-debug @gol
+-nostdlib++ @gol
-fext-numeric-literals @gol
- -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
- -Wdelete-non-virtual-dtor -Wdeprecated-copy -Wdeprecated-copy-dtor @gol
-@@ -538,7 +541,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wabi-tag -Wcatch-value -Wcatch-value=@var{n} @gol
+ -Wno-class-conversion -Wclass-memaccess @gol
+@@ -599,7 +602,7 @@ Objective-C and Objective-C++ Dialects}.
-pie -pthread -r -rdynamic @gol
-s -static -static-pie -static-libgcc -static-libstdc++ @gol
-static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
@@ -74,7 +74,7 @@ index 09414d8cc05..a43969bc9f0 100644
-T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
-u @var{symbol} -z @var{keyword}}
-@@ -13312,6 +13315,33 @@ Specify that the program entry point is @var{entry}. The argument is
+@@ -14407,6 +14410,33 @@ Specify that the program entry point is @var{entry}. The argument is
interpreted by the linker; the GNU linker accepts either a symbol name
or an address.
@@ -109,10 +109,10 @@ index 09414d8cc05..a43969bc9f0 100644
@opindex pie
Produce a dynamically linked position independent executable on targets
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index a2601a6bb06..cd6c6fc95db 100644
+index b2200c5185a..f8be58ce0a6 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -1052,6 +1052,7 @@ proper position among the other output files. */
+@@ -1051,6 +1051,7 @@ proper position among the other output files. */
%(mflib) " STACK_SPLIT_SPEC "\
%{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
%{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\
@@ -120,6 +120,3 @@ index a2601a6bb06..cd6c6fc95db 100644
%{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} \n%(post_link) }}}}}}"
#endif
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0006-COLLECT_GCC_OPTIONS.patch
index 9f7e603f8..9fbbe8070 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0006-COLLECT_GCC_OPTIONS.patch
@@ -1,7 +1,7 @@
-From b9260cd3ac26b0302824ed466a548464c864d95f Mon Sep 17 00:00:00 2001
+From a6c90d3a9c5010b4aa7cc30467cf81ca7e0f430e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:16:28 +0400
-Subject: [PATCH 06/36] COLLECT_GCC_OPTIONS
+Subject: [PATCH] COLLECT_GCC_OPTIONS
This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
invoke collect2.
@@ -14,10 +14,10 @@ Upstream-Status: Pending
1 file changed, 9 insertions(+)
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index cd6c6fc95db..7da9c5d457b 100644
+index f8be58ce0a6..48b0f9dde81 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -4804,6 +4804,15 @@ set_collect_gcc_options (void)
+@@ -4806,6 +4806,15 @@ set_collect_gcc_options (void)
sizeof ("COLLECT_GCC_OPTIONS=") - 1);
first_time = TRUE;
@@ -33,6 +33,3 @@ index cd6c6fc95db..7da9c5d457b 100644
for (i = 0; (int) i < n_switches; i++)
{
const char *const *args;
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
index 28f8fc267..a764bdd0f 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -1,8 +1,7 @@
-From 88e728dad53d48c4a19f15e19f66fd23f4820b4a Mon Sep 17 00:00:00 2001
+From 5670d4489f119d2da661734895ac0be99b606d1b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:17:25 +0400
-Subject: [PATCH 07/36] Use the defaults.h in ${B} instead of ${S}, and t-oe in
- ${B}
+Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
the source can be shared between gcc-cross-initial,
@@ -27,7 +26,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 5f43d9de00e..41f0f592ff4 100644
+index 543b477ff18..a67d2cc18d6 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
@@ -40,10 +39,10 @@ index 5f43d9de00e..41f0f592ff4 100644
TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
diff --git a/gcc/configure b/gcc/configure
-index a6ea3a8a84c..e3bcf8abe9a 100755
+index 8de766a942c..b26e8fc7fee 100755
--- a/gcc/configure
+++ b/gcc/configure
-@@ -12341,8 +12341,8 @@ for f in $tm_file; do
+@@ -12705,8 +12705,8 @@ for f in $tm_file; do
tm_include_list="${tm_include_list} $f"
;;
defaults.h )
@@ -55,10 +54,10 @@ index a6ea3a8a84c..e3bcf8abe9a 100755
* )
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index d42bbd4fd1c..2ebc377a74d 100644
+index 8bfd6feb780..26fa46802c7 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -1968,8 +1968,8 @@ for f in $tm_file; do
+@@ -2138,8 +2138,8 @@ for f in $tm_file; do
tm_include_list="${tm_include_list} $f"
;;
defaults.h )
@@ -70,7 +69,7 @@ index d42bbd4fd1c..2ebc377a74d 100644
* )
tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
-index 308b87d0cc1..19068cbc24a 100644
+index d2c677a4a42..d03852481cb 100644
--- a/gcc/mkconfig.sh
+++ b/gcc/mkconfig.sh
@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
@@ -91,6 +90,3 @@ index 308b87d0cc1..19068cbc24a 100644
fi
# Add multiple inclusion protection guard, part two.
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0008-fortran-cross-compile-hack.patch
index 24e3abe0b..714db3bef 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0008-fortran-cross-compile-hack.patch
@@ -1,7 +1,7 @@
-From 010f09f2963ede24e85134e5fab2fa627a9afa05 Mon Sep 17 00:00:00 2001
+From f05062625e7a4751be723595a2f7a4b7fbeff311 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:20:01 +0400
-Subject: [PATCH 08/36] fortran cross-compile hack.
+Subject: [PATCH] fortran cross-compile hack.
* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
@@ -16,10 +16,10 @@ Upstream-Status: Inappropriate [embedded specific]
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgfortran/configure b/libgfortran/configure
-index 60867b93d0e..3fc9fca5b7b 100755
+index b4cf854ddb3..e8e0ac3b1cf 100755
--- a/libgfortran/configure
+++ b/libgfortran/configure
-@@ -13071,7 +13071,7 @@ esac
+@@ -13090,7 +13090,7 @@ esac
# We need gfortran to compile parts of the library
#AC_PROG_FC(gfortran)
@@ -29,10 +29,10 @@ index 60867b93d0e..3fc9fca5b7b 100755
ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
-index 7cfce28ab69..6cd515ee1a4 100644
+index 711dc60ff78..3c9bbfbf47d 100644
--- a/libgfortran/configure.ac
+++ b/libgfortran/configure.ac
-@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
+@@ -258,7 +258,7 @@ AC_SUBST(enable_static)
# We need gfortran to compile parts of the library
#AC_PROG_FC(gfortran)
@@ -41,6 +41,3 @@ index 7cfce28ab69..6cd515ee1a4 100644
AC_PROG_FC(gfortran)
# extra LD Flags which are required for targets
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0009-cpp-honor-sysroot.patch
index 6af0a0124..8ad6853d8 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0009-cpp-honor-sysroot.patch
@@ -1,7 +1,7 @@
-From 45e9cd39d9c62454d46b9e9473a0c1034ceca15d Mon Sep 17 00:00:00 2001
+From 1d76de7f1f5c99f1fa1a4b14aedad3d702e4e136 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:22:00 +0400
-Subject: [PATCH 09/36] cpp: honor sysroot.
+Subject: [PATCH] cpp: honor sysroot.
Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
@@ -26,7 +26,7 @@ Upstream-Status: Pending
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
-index c6e42eda283..e1ddf066467 100644
+index 0ad4a33b93e..16c744f4f90 100644
--- a/gcc/cp/lang-specs.h
+++ b/gcc/cp/lang-specs.h
@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3. If not see
@@ -37,10 +37,10 @@ index c6e42eda283..e1ddf066467 100644
+ " cc1plus -fpreprocessed %i %I %(cc1_options) %2"
" %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 7da9c5d457b..4e7c45b268c 100644
+index 48b0f9dde81..c87f603955f 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] =
+@@ -1348,7 +1348,7 @@ static const struct compiler default_compilers[] =
%W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
{".i", "@cpp-output", 0, 0, 0},
{"@cpp-output",
@@ -49,6 +49,3 @@ index 7da9c5d457b..4e7c45b268c 100644
{".s", "@assembler", 0, 0, 0},
{"@assembler",
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0010-MIPS64-Default-to-N64-ABI.patch
index bc0c6d5be..625e2d870 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0010-MIPS64-Default-to-N64-ABI.patch
@@ -1,7 +1,7 @@
-From 1ff4108d707b34e399e9dc418ad1ecc42f72676d Mon Sep 17 00:00:00 2001
+From 4fad4433c96bc9d0d9d124f9674fb3389f6f426e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:23:08 +0400
-Subject: [PATCH 10/36] MIPS64: Default to N64 ABI
+Subject: [PATCH] MIPS64: Default to N64 ABI
MIPS64 defaults to n32 ABI, this patch makes it
so that it defaults to N64 ABI
@@ -14,10 +14,10 @@ Upstream-Status: Inappropriate [OE config specific]
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gcc/config.gcc b/gcc/config.gcc
-index ddd3b8f4d9d..fdfc0bd3e82 100644
+index cf1a87e2efd..37c4221a39f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
-@@ -2282,29 +2282,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
+@@ -2511,29 +2511,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
default_mips_arch=mips32
;;
mips64el-st-linux-gnu)
@@ -52,6 +52,3 @@ index ddd3b8f4d9d..fdfc0bd3e82 100644
enable_mips_multilibs="yes"
;;
esac
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
index 66fb24d4c..e35797633 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -1,4 +1,4 @@
-From 72fc3975bcd720b2f8040fa87cd23d3db4c5975a Mon Sep 17 00:00:00 2001
+From 8fc016a53c22c19feccbfa13ebdf19090dc67058 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:24:50 +0400
Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
@@ -31,7 +31,7 @@ Upstream-Status: Inappropriate [OE configuration]
12 files changed, 29 insertions(+), 34 deletions(-)
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
-index 824861befec..6afacce3292 100644
+index e25fcac3c59..01aca0c6542 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
@@ -46,7 +46,7 @@ index 824861befec..6afacce3292 100644
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
#elif DEFAULT_LIBC == LIBC_GLIBC
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index 66ec0ea3980..e4ade2e2ab0 100644
+index 5bdcfa0c5d3..0c0332f317f 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -65,8 +65,8 @@
@@ -61,7 +61,7 @@ index 66ec0ea3980..e4ade2e2ab0 100644
#define GLIBC_DYNAMIC_LINKER \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index 9a360defd21..98f6e960b64 100644
+index 0ec3aa53189..abfa9566d74 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -60,7 +60,7 @@
@@ -74,7 +74,7 @@ index 9a360defd21..98f6e960b64 100644
#define LINUX_TARGET_LINK_SPEC "%{h*} \
%{static:-Bstatic} \
diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
-index 9a6e2d99896..31efbb73016 100644
+index 9f823f125ed..e0390b7d5e3 100644
--- a/gcc/config/i386/linux.h
+++ b/gcc/config/i386/linux.h
@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
@@ -87,7 +87,7 @@ index 9a6e2d99896..31efbb73016 100644
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index c08221c4210..dbb474d792b 100644
+index 6cb68d1ccfa..7de09ec857c 100644
--- a/gcc/config/i386/linux64.h
+++ b/gcc/config/i386/linux64.h
@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -104,7 +104,7 @@ index c08221c4210..dbb474d792b 100644
#undef MUSL_DYNAMIC_LINKER32
#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index c3c4a219e67..4b05d8e93d1 100644
+index 95654bcdb5a..0c1a8118a26 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -123,7 +123,7 @@ index c3c4a219e67..4b05d8e93d1 100644
#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
-index 6f79ac9c01a..25de96f9561 100644
+index 54446e58e5f..4786ee304c1 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
@@ -154,7 +154,7 @@ index 6f79ac9c01a..25de96f9561 100644
#undef MUSL_DYNAMIC_LINKER32
#define MUSL_DYNAMIC_LINKER32 \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
-index 58dd18b89f3..112ba9cd764 100644
+index 4afef7c228c..01997330741 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
@@ -167,10 +167,10 @@ index 58dd18b89f3..112ba9cd764 100644
#define MUSL_ABI_SUFFIX \
"%{mabi=ilp32:-sf}" \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 9946d3fed94..45a9a7cae59 100644
+index 34776c8421e..967c1c43c63 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
-@@ -423,24 +423,19 @@ extern int dot_symbols;
+@@ -419,24 +419,19 @@ extern int dot_symbols;
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
@@ -201,7 +201,7 @@ index 9946d3fed94..45a9a7cae59 100644
#undef DEFAULT_ASM_ENDIAN
#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
-index c9897b7aca5..82f275319cc 100644
+index c1d0441d488..81373eb8336 100644
--- a/gcc/config/sh/linux.h
+++ b/gcc/config/sh/linux.h
@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
@@ -214,7 +214,7 @@ index c9897b7aca5..82f275319cc 100644
#undef SUBTARGET_LINK_EMUL_SUFFIX
#define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
-index 08476f1d94d..80440e712ad 100644
+index 81201e67a2f..8b6fc577594 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -84,7 +84,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
@@ -227,7 +227,7 @@ index 08476f1d94d..80440e712ad 100644
#undef LINK_SPEC
#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
-index 789d1df4bd5..b920c680fb1 100644
+index a1a0efd8f28..85d1084afc2 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0012-gcc-Fix-argument-list-too-long-error.patch
index 60539795c..acbd75f13 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0012-gcc-Fix-argument-list-too-long-error.patch
@@ -1,7 +1,7 @@
-From 2cb227cd8069c73242286f64183fb203f8d2618a Mon Sep 17 00:00:00 2001
+From a22d1264049d29b90663cf5667049ae6f9b7a5ce Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:26:37 +0400
-Subject: [PATCH 12/36] gcc: Fix argument list too long error.
+Subject: [PATCH] gcc: Fix argument list too long error.
There would be an "Argument list too long" error when the
build directory is longer than 200, this is caused by:
@@ -23,10 +23,10 @@ Upstream-Status: Pending
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 41f0f592ff4..0064a282488 100644
+index a67d2cc18d6..480c9366418 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
-@@ -3537,7 +3537,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+@@ -3606,7 +3606,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
# We keep the directory structure for files in config or c-family and .def
# files. All other files are flattened to a single directory.
$(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
@@ -35,6 +35,3 @@ index 41f0f592ff4..0064a282488 100644
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
for file in $$headers; do \
if [ -f $$file ] ; then \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0013-Disable-sdt.patch
index a21a63c61..207cdb57a 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0013-Disable-sdt.patch
@@ -1,7 +1,7 @@
-From aea5ffa9d704f4eb8fa93366884d3c26a1dbec49 Mon Sep 17 00:00:00 2001
+From fa47586935a18ecfc2ad5586802e326e21741b7b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:28:10 +0400
-Subject: [PATCH 13/36] Disable sdt.
+Subject: [PATCH] Disable sdt.
We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
It may or may not exist from preivous builds though. To be determinstic, disable
@@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [hack]
4 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/gcc/configure b/gcc/configure
-index e3bcf8abe9a..1f1d22ca666 100755
+index b26e8fc7fee..6080f86145e 100755
--- a/gcc/configure
+++ b/gcc/configure
-@@ -29332,12 +29332,12 @@ fi
+@@ -29789,12 +29789,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
have_sys_sdt_h=no
@@ -48,10 +48,10 @@ index e3bcf8abe9a..1f1d22ca666 100755
$as_echo "$have_sys_sdt_h" >&6; }
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 2ebc377a74d..ddc85197588 100644
+index 26fa46802c7..42be5252778 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -5995,15 +5995,15 @@ fi
+@@ -6190,15 +6190,15 @@ fi
AC_SUBST([enable_default_ssp])
# Test for <sys/sdt.h> on the target.
@@ -77,10 +77,10 @@ index 2ebc377a74d..ddc85197588 100644
# Check if TFmode long double should be used by default or not.
# Some glibc targets used DFmode long double, but with glibc 2.4
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index 5acf79cba54..191bc6c5796 100755
+index 9f9c5a2419a..71ed13b815b 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
-@@ -22085,11 +22085,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -22615,11 +22615,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
@@ -96,10 +96,10 @@ index 5acf79cba54..191bc6c5796 100755
$as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index dadd8827b49..6b1ce9957d3 100644
+index 699e55fd829..5c7a7bda439 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
-@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
+@@ -241,7 +241,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
GLIBCXX_CHECK_SC_NPROC_ONLN
GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
GLIBCXX_CHECK_SYSCTL_HW_NCPU
@@ -108,6 +108,3 @@ index dadd8827b49..6b1ce9957d3 100644
# Check for available headers.
AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0014-libtool.patch
index 7a8f3afec..f4e70c3b1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0014-libtool.patch
@@ -1,7 +1,7 @@
-From 6c4d0c303ebc3e1c7e554d54a8bb807d77ed41fd Mon Sep 17 00:00:00 2001
+From 6ecd478881468934444ff85611fd43f7033b1e81 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:29:11 +0400
-Subject: [PATCH 14/36] libtool
+Subject: [PATCH] libtool
libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
when running on am x86_64 build host.
@@ -23,7 +23,7 @@ Upstream-Status: Pending
1 file changed, 4 insertions(+)
diff --git a/ltmain.sh b/ltmain.sh
-index 79f9ba89af5..8e222f7c16b 100644
+index 70990740b6c..ee938056bef 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -6359,6 +6359,10 @@ func_mode_link ()
@@ -37,6 +37,3 @@ index 79f9ba89af5..8e222f7c16b 100644
oldlibs=
if test -z "$rpath"; then
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
index d06ae2702..bc2674abc 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -1,7 +1,7 @@
-From c5662ff1e7dea2291b9cb7a83cfff3001dd31f53 Mon Sep 17 00:00:00 2001
+From de4427fa49c07dc651ee6ceaf5c5078700ca3b08 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:30:32 +0400
-Subject: [PATCH 15/36] gcc: armv4: pass fix-v4bx to linker to support EABI.
+Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
The LINK_SPEC for linux gets overwritten by linux-eabi.h which
means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
@@ -19,12 +19,12 @@ Upstream-Status: Pending
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index e4ade2e2ab0..108863f69d2 100644
+index 0c0332f317f..7b3769e8459 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -91,10 +91,14 @@
#define MUSL_DYNAMIC_LINKER \
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
+/* For armv4 we pass --fix-v4bx to linker to support EABI */
+#undef TARGET_FIX_V4BX_SPEC
@@ -38,6 +38,3 @@ index e4ade2e2ab0..108863f69d2 100644
LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch
index 310caec4a..1dc4bb859 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -1,8 +1,8 @@
-From e3b693b9d6dc9496f7c98a13b28182d23084215c Mon Sep 17 00:00:00 2001
+From 6b363c2c1c089ee900efa6013aefba1003840a37 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 09:33:04 +0400
-Subject: [PATCH 16/36] Use the multilib config files from ${B} instead of
- using the ones from ${S}
+Subject: [PATCH] Use the multilib config files from ${B} instead of using the
+ ones from ${S}
Use the multilib config files from ${B} instead of using the ones from ${S}
so that the source can be shared between gcc-cross-initial,
@@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration]
2 files changed, 36 insertions(+), 8 deletions(-)
diff --git a/gcc/configure b/gcc/configure
-index 1f1d22ca666..911de2cf017 100755
+index 6080f86145e..825a9652329 100755
--- a/gcc/configure
+++ b/gcc/configure
-@@ -12321,10 +12321,20 @@ done
+@@ -12685,10 +12685,20 @@ done
tmake_file_=
for f in ${tmake_file}
do
@@ -44,9 +44,9 @@ index 1f1d22ca666..911de2cf017 100755
+ ;;
+ esac
done
- tmake_file="${tmake_file_}"
+ tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
-@@ -12335,6 +12345,10 @@ tm_file_list="options.h"
+@@ -12699,6 +12709,10 @@ tm_file_list="options.h"
tm_include_list="options.h insn-constants.h"
for f in $tm_file; do
case $f in
@@ -58,10 +58,10 @@ index 1f1d22ca666..911de2cf017 100755
f=`echo $f | sed 's/^..//'`
tm_file_list="${tm_file_list} $f"
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index ddc85197588..b413ae9bf25 100644
+index 42be5252778..6099eb3251f 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -1948,10 +1948,20 @@ done
+@@ -2118,10 +2118,20 @@ done
tmake_file_=
for f in ${tmake_file}
do
@@ -84,9 +84,9 @@ index ddc85197588..b413ae9bf25 100644
+ ;;
+ esac
done
- tmake_file="${tmake_file_}"
+ tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
-@@ -1962,6 +1972,10 @@ tm_file_list="options.h"
+@@ -2132,6 +2142,10 @@ tm_file_list="options.h"
tm_include_list="options.h insn-constants.h"
for f in $tm_file; do
case $f in
@@ -97,6 +97,3 @@ index ddc85197588..b413ae9bf25 100644
./* )
f=`echo $f | sed 's/^..//'`
tm_file_list="${tm_file_list} $f"
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
index ad1d1d4eb..05f12847e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -1,8 +1,8 @@
-From 09d9ccc1d471020949d1285a5276f17504fd60dd Mon Sep 17 00:00:00 2001
+From 08752c2f1d21553301bee5757c453c6a36cbe03c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 09:39:38 +0000
-Subject: [PATCH 17/36] Avoid using libdir from .la which usually points to a
- host path
+Subject: [PATCH] Avoid using libdir from .la which usually points to a host
+ path
Upstream-Status: Inappropriate [embedded specific]
@@ -13,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+)
diff --git a/ltmain.sh b/ltmain.sh
-index 8e222f7c16b..0a93b4e5c3b 100644
+index ee938056bef..9ebc7e3d1e0 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -5628,6 +5628,9 @@ func_mode_link ()
@@ -26,6 +26,3 @@ index 8e222f7c16b..0a93b4e5c3b 100644
dir="$libdir"
absdir="$libdir"
fi
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0018-export-CPP.patch
index 0f728ec54..886a1221d 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0018-export-CPP.patch
@@ -1,7 +1,7 @@
-From 987338cd847a723de533bb317e452a60b1e52165 Mon Sep 17 00:00:00 2001
+From 5c3d66378c7ff60ca11a875aa4aa6f8a8529d43a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 09:40:59 +0000
-Subject: [PATCH 18/36] export CPP
+Subject: [PATCH] export CPP
The OE environment sets and exports CPP as being the target gcc. When
building gcc-cross-canadian for a mingw targetted sdk, the following can be found
@@ -37,7 +37,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
-index 64e091ba71d..255822e3f27 100644
+index 36e369df6e7..c717903bb13 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
@@ -48,6 +48,3 @@ index 64e091ba71d..255822e3f27 100644
CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX_FOR_BUILD)"; export CXX; \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0019-Ensure-target-gcc-headers-can-be-included.patch
index 53f9e99d0..2797b2c22 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0019-Ensure-target-gcc-headers-can-be-included.patch
@@ -1,7 +1,7 @@
-From d27ba49e2e5c608c43265462d6831363cc7f565b Mon Sep 17 00:00:00 2001
+From 378b752c5d9a3dba4e58cdadf8b4b4f34ea99a76 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 20 Feb 2015 10:25:11 +0000
-Subject: [PATCH 19/36] Ensure target gcc headers can be included
+Subject: [PATCH] Ensure target gcc headers can be included
There are a few headers installed as part of the OpenEmbedded
gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
@@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gcc/Makefile.in | 2 ++
gcc/cppdefault.c | 4 ++++
- gcc/defaults.h | 9 +++++++++
- gcc/gcc.c | 7 -------
- 4 files changed, 15 insertions(+), 7 deletions(-)
+ 2 files changed, 6 insertions(+)
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 480c9366418..011c7ac2db6 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -618,6 +618,7 @@ libexecdir = @libexecdir@
@@ -32,7 +32,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
# Directory in which the compiler finds executables
libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
# Directory in which all plugin resources are installed
-@@ -2866,6 +2867,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localed
+@@ -2946,6 +2947,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
PREPROCESSOR_DEFINES = \
-DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
@@ -40,9 +40,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
-DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
-DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index af38cc494ea..2f43b88a0c3 100644
--- a/gcc/cppdefault.c
+++ b/gcc/cppdefault.c
-@@ -59,6 +59,10 @@ const struct default_include cpp_include
+@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
/* This is the dir for gcc's private headers. */
{ GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
#endif
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch
index f36ca29b9..c3baf8b45 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -1,8 +1,8 @@
-From 667cc8d43e8fb4ac09654ee408da482f96b09580 Mon Sep 17 00:00:00 2001
+From 870e805d705d99d9b9d7dbd09727f9c1d2ad9c1d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 3 Mar 2015 08:21:19 +0000
-Subject: [PATCH 21/36] Don't search host directory during "relink" if
- $inst_prefix is provided
+Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
+ is provided
http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ltmain.sh b/ltmain.sh
-index 0a93b4e5c3b..6de6ed2f9a0 100644
+index 9ebc7e3d1e0..7ea79fa8be6 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -6004,12 +6004,13 @@ func_mode_link ()
@@ -33,6 +33,3 @@ index 0a93b4e5c3b..6de6ed2f9a0 100644
;;
esac
fi
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
index d5b915002..abee48669 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
@@ -1,7 +1,7 @@
-From 279c4de48e3fd61e2f268787ed3f1d69ed9224f8 Mon Sep 17 00:00:00 2001
+From aba42de763a619355471efd1573561b0cbf51162 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 28 Apr 2015 23:15:27 -0700
-Subject: [PATCH 22/36] Use SYSTEMLIBS_DIR replacement instead of hardcoding
+Subject: [PATCH] Use SYSTEMLIBS_DIR replacement instead of hardcoding
base_libdir
Upstream-Status: Pending
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 5e8b34ded03..7e628bf661e 100644
+index e587e2e9ad6..ddc62895693 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -21,7 +21,7 @@
@@ -24,6 +24,3 @@ index 5e8b34ded03..7e628bf661e 100644
#undef MUSL_DYNAMIC_LINKER
#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0022-aarch64-Add-support-for-musl-ldso.patch
index f811306c3..c55b66d4b 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0022-aarch64-Add-support-for-musl-ldso.patch
@@ -1,7 +1,7 @@
-From 1277d12058334087443828dfd57d44e3b1dfcc9a Mon Sep 17 00:00:00 2001
+From d63820a78d92f302410358293546f01c7ad17bd8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 28 Apr 2015 23:18:39 -0700
-Subject: [PATCH 23/36] aarch64: Add support for musl ldso
+Subject: [PATCH] aarch64: Add support for musl ldso
Upstream-Status: Pending
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 7e628bf661e..1717cbe5471 100644
+index ddc62895693..b301825313a 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -24,7 +24,7 @@
@@ -23,6 +23,3 @@ index 7e628bf661e..1717cbe5471 100644
#undef ASAN_CC1_SPEC
#define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch
index 298b0962f..80c4d2292 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -1,7 +1,7 @@
-From 4a0487ad75accd780dd155aa59086cc4b11cfc47 Mon Sep 17 00:00:00 2001
+From 3474e16ad4ea8cf4e0e330568e3bc9039e723dce Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Sun, 5 Jul 2015 20:25:18 -0700
-Subject: [PATCH 24/36] libcc1: fix libcc1's install path and rpath
+Subject: [PATCH] libcc1: fix libcc1's install path and rpath
* Install libcc1.so and libcc1plugin.so into
$(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
@@ -20,7 +20,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
-index 72c6aead475..42a87740b31 100644
+index c005b0dad4a..ec31d35b7b9 100644
--- a/libcc1/Makefile.am
+++ b/libcc1/Makefile.am
@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
@@ -49,6 +49,3 @@ index 7104b649026..2103c477468 100644
@ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
@ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0024-handle-sysroot-support-for-nativesdk-gcc.patch
index ba62bc1fd..1a65ece7b 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0024-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -1,7 +1,7 @@
-From a183c82ea2af934a8d30055a791dc1d80c9067a9 Mon Sep 17 00:00:00 2001
+From bb1f359e34649516e61305e9748534cce7e0ee70 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Dec 2015 23:39:54 +0000
-Subject: [PATCH 25/36] handle sysroot support for nativesdk-gcc
+Subject: [PATCH] handle sysroot support for nativesdk-gcc
Being able to build a nativesdk gcc is useful, particularly in cases
where the host compiler may be of an incompatible version (or a 32
@@ -24,14 +24,39 @@ Upstream-Status: Inappropriate
RP 2015/7/28
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Added PREFIXVAR and EXEC_PREFIXVAR to support runtime relocation. Without
+these as part of the gccrelocprefix the system can't do runtime relocation
+if the executable is moved. (These paths were missed in the original
+implementation.)
+
+Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
---
- gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
- gcc/cppdefault.h | 3 ++-
- gcc/gcc.c | 20 +++++++++++++------
- 3 files changed, 53 insertions(+), 20 deletions(-)
+ gcc/c-family/c-opts.c | 4 +--
+ gcc/cppdefault.c | 63 ++++++++++++++++++++++++++-----------------
+ gcc/cppdefault.h | 13 ++++-----
+ gcc/gcc.c | 20 +++++++++-----
+ gcc/incpath.c | 12 ++++-----
+ gcc/prefix.c | 6 +++--
+ 6 files changed, 70 insertions(+), 48 deletions(-)
+diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
+index 58ba0948e79..806bbcfb7a5 100644
+--- a/gcc/c-family/c-opts.c
++++ b/gcc/c-family/c-opts.c
+@@ -1409,8 +1409,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain)
+ size_t prefix_len, suffix_len;
+
+ suffix_len = strlen (suffix);
+- prefix = iprefix ? iprefix : cpp_GCC_INCLUDE_DIR;
+- prefix_len = iprefix ? strlen (iprefix) : cpp_GCC_INCLUDE_DIR_len;
++ prefix = iprefix ? iprefix : GCC_INCLUDE_DIRVAR;
++ prefix_len = iprefix ? strlen (iprefix) : strlen(GCC_INCLUDE_DIRVAR) - 7;
+
+ path = (char *) xmalloc (prefix_len + suffix_len + 1);
+ memcpy (path, prefix, prefix_len);
diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index 980e2bd47a7..39b6059efdc 100644
+index 2f43b88a0c3..6b6be04686c 100644
--- a/gcc/cppdefault.c
+++ b/gcc/cppdefault.c
@@ -35,6 +35,30 @@
@@ -39,7 +64,7 @@ index 980e2bd47a7..39b6059efdc 100644
#endif
+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
-+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
++char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
@@ -113,7 +138,7 @@ index 980e2bd47a7..39b6059efdc 100644
/* A multilib suffix needs adding if different multilibs use
different headers. */
#ifdef SYSROOT_HEADERS_SUFFIX_SPEC
-@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
+@@ -85,33 +109,24 @@ const struct default_include cpp_include_defaults[]
#endif
#ifdef CROSS_INCLUDE_DIR
/* One place the target system's headers might be. */
@@ -134,8 +159,27 @@ index 980e2bd47a7..39b6059efdc 100644
#endif
{ 0, 0, 0, 0, 0, 0 }
};
+ #endif /* no INCLUDE_DEFAULTS */
+
+-#ifdef GCC_INCLUDE_DIR
+-const char cpp_GCC_INCLUDE_DIR[] = GCC_INCLUDE_DIR;
+-const size_t cpp_GCC_INCLUDE_DIR_len = sizeof GCC_INCLUDE_DIR - 8;
+-#else
+-const char cpp_GCC_INCLUDE_DIR[] = "";
+-const size_t cpp_GCC_INCLUDE_DIR_len = 0;
+-#endif
+-
+ /* The configured prefix. */
+-const char cpp_PREFIX[] = PREFIX;
+-const size_t cpp_PREFIX_len = sizeof PREFIX - 1;
+-const char cpp_EXEC_PREFIX[] = STANDARD_EXEC_PREFIX;
++char PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX;
++char EXEC_PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
+
+ /* This value is set by cpp_relocated at runtime */
+ const char *gcc_exec_prefix;
diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
-index e2d96f1e760..29fa5f815c8 100644
+index a681264f75e..5e10a2fa140 100644
--- a/gcc/cppdefault.h
+++ b/gcc/cppdefault.h
@@ -33,7 +33,8 @@
@@ -148,11 +192,32 @@ index e2d96f1e760..29fa5f815c8 100644
const char *const component; /* The component containing the directory
(see update_path in prefix.c) */
const char cplusplus; /* Only look here if we're compiling C++. */
+@@ -50,17 +51,13 @@ struct default_include
+ };
+
+ extern const struct default_include cpp_include_defaults[];
+-extern const char cpp_GCC_INCLUDE_DIR[];
+-extern const size_t cpp_GCC_INCLUDE_DIR_len;
++extern char GCC_INCLUDE_DIRVAR[] __attribute__ ((section (".gccrelocprefix")));
+
+ /* The configure-time prefix, i.e., the value supplied as the argument
+ to --prefix=. */
+-extern const char cpp_PREFIX[];
++extern char PREFIXVAR[] __attribute__ ((section (".gccrelocprefix")));
+ /* The length of the configure-time prefix. */
+-extern const size_t cpp_PREFIX_len;
+-/* The configure-time execution prefix. This is typically the lib/gcc
+- subdirectory of cpp_PREFIX. */
+-extern const char cpp_EXEC_PREFIX[];
++extern char EXEC_PREFIXVAR[] __attribute__ ((section (".gccrelocprefix")));
+ /* The run-time execution prefix. This is typically the lib/gcc
+ subdirectory of the actual installation. */
+ extern const char *gcc_exec_prefix;
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 1a3704b2763..db0e2934038 100644
+index c87f603955f..535d5c3bb65 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL;
+@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL;
#endif
static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
@@ -161,7 +226,7 @@ index 1a3704b2763..db0e2934038 100644
/* Nonzero means pass the updated target_system_root to the compiler. */
static int target_system_root_changed;
-@@ -527,6 +529,7 @@ or with constant text in a single argument.
+@@ -526,6 +528,7 @@ or with constant text in a single argument.
%G process LIBGCC_SPEC as a spec.
%R Output the concatenation of target_system_root and
target_sysroot_suffix.
@@ -169,7 +234,7 @@ index 1a3704b2763..db0e2934038 100644
%S process STARTFILE_SPEC as a spec. A capital S is actually used here.
%E process ENDFILE_SPEC as a spec. A capital E is actually used here.
%C process CPP_SPEC as a spec.
-@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix;
+@@ -1499,10 +1502,10 @@ static const char *gcc_libexec_prefix;
gcc_exec_prefix is set because, in that case, we know where the
compiler has been installed, and use paths relative to that
location instead. */
@@ -184,7 +249,7 @@ index 1a3704b2763..db0e2934038 100644
/* For native compilers, these are well-known paths containing
components that may be provided by the system. For cross
-@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+@@ -1510,9 +1513,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
static const char *md_exec_prefix = MD_EXEC_PREFIX;
static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
@@ -196,7 +261,7 @@ index 1a3704b2763..db0e2934038 100644
= STANDARD_STARTFILE_PREFIX_2;
/* A relative path to be used in finding the location of tools
-@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
+@@ -5952,6 +5955,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
}
break;
@@ -208,6 +273,74 @@ index 1a3704b2763..db0e2934038 100644
case 'S':
value = do_spec_1 (startfile_spec, 0, NULL);
if (value != 0)
---
-2.22.1
-
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index 9098ab044ab..bfad4ebe382 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -131,7 +131,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
+ int relocated = cpp_relocated ();
+ size_t len;
+
+- if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0)
++ if (iprefix && (len = strlen(GCC_INCLUDE_DIRVAR) - 7) != 0)
+ {
+ /* Look for directories that start with the standard prefix.
+ "Translate" them, i.e. replace /usr/local/lib/gcc... with
+@@ -145,7 +145,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
+ now. */
+ if (sysroot && p->add_sysroot)
+ continue;
+- if (!filename_ncmp (p->fname, cpp_GCC_INCLUDE_DIR, len))
++ if (!filename_ncmp (p->fname, GCC_INCLUDE_DIRVAR, len))
+ {
+ char *str = concat (iprefix, p->fname + len, NULL);
+ if (p->multilib == 1 && imultilib)
+@@ -185,7 +185,7 @@ add_standard_paths (const char *sysroot, const char *iprefix,
+ free (sysroot_no_trailing_dir_separator);
+ }
+ else if (!p->add_sysroot && relocated
+- && !filename_ncmp (p->fname, cpp_PREFIX, cpp_PREFIX_len))
++ && !filename_ncmp (p->fname, PREFIXVAR, strlen(PREFIXVAR)))
+ {
+ static const char *relocated_prefix;
+ char *ostr;
+@@ -202,12 +202,12 @@ add_standard_paths (const char *sysroot, const char *iprefix,
+ dummy = concat (gcc_exec_prefix, "dummy", NULL);
+ relocated_prefix
+ = make_relative_prefix (dummy,
+- cpp_EXEC_PREFIX,
+- cpp_PREFIX);
++ EXEC_PREFIXVAR,
++ PREFIXVAR);
+ free (dummy);
+ }
+ ostr = concat (relocated_prefix,
+- p->fname + cpp_PREFIX_len,
++ p->fname + strlen(PREFIXVAR),
+ NULL);
+ str = update_path (ostr, p->component);
+ free (ostr);
+diff --git a/gcc/prefix.c b/gcc/prefix.c
+index 1a403e535bd..3257ed3cd3e 100644
+--- a/gcc/prefix.c
++++ b/gcc/prefix.c
+@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see
+ #include "prefix.h"
+ #include "common/common-target.h"
+
+-static const char *std_prefix = PREFIX;
++static const char PREFIXVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX;
++
++static const char *std_prefix = PREFIXVAR;
+
+ static const char *get_key_value (char *);
+ static char *translate_name (char *);
+@@ -212,7 +214,7 @@ translate_name (char *name)
+ prefix = getenv (key);
+
+ if (prefix == 0)
+- prefix = PREFIX;
++ prefix = PREFIXVAR;
+
+ /* We used to strip trailing DIR_SEPARATORs here, but that can
+ sometimes yield a result with no separator when one was coded
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch
index fde206eb7..abf1f8491 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -1,7 +1,7 @@
-From dab4db14e319f3239a2b4c7d1fbf2971936e27ba Mon Sep 17 00:00:00 2001
+From 9c0c73ee48dbee2aad57f4dcdad1b7b74e77b944 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH 26/36] Search target sysroot gcc version specific dirs with
+Subject: [PATCH] Search target sysroot gcc version specific dirs with
multilib.
We install the gcc libraries (such as crtbegin.p) into
@@ -51,10 +51,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/gcc/gcc.c b/gcc/gcc.c
-index db0e2934038..1c21d1b08eb 100644
+index 535d5c3bb65..04647ae812d 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
-@@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths,
+@@ -2616,7 +2616,7 @@ for_each_path (const struct path_prefix *paths,
if (path == NULL)
{
len = paths->max_len + extra_space + 1;
@@ -63,7 +63,7 @@ index db0e2934038..1c21d1b08eb 100644
path = XNEWVEC (char, len);
}
-@@ -2622,6 +2622,33 @@ for_each_path (const struct path_prefix *paths,
+@@ -2628,6 +2628,33 @@ for_each_path (const struct path_prefix *paths,
/* Look first in MACHINE/VERSION subdirectory. */
if (!skip_multi_dir)
{
@@ -97,6 +97,3 @@ index db0e2934038..1c21d1b08eb 100644
memcpy (path + len, multi_suffix, suffix_len + 1);
ret = callback (path, callback_info);
if (ret)
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0026-Fix-various-_FOR_BUILD-and-related-variables.patch
index 5d89e8e7e..97bf2f3a7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0026-Fix-various-_FOR_BUILD-and-related-variables.patch
@@ -1,7 +1,7 @@
-From 8e84bb09d2b7a60487a30e438bb109f31c2c254b Mon Sep 17 00:00:00 2001
+From 3a003af8804dda90fdf4862eca5f66cb12faaf02 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Dec 2015 23:42:45 +0000
-Subject: [PATCH 27/36] Fix various _FOR_BUILD and related variables
+Subject: [PATCH] Fix various _FOR_BUILD and related variables
When doing a FOR_BUILD thing, you have to override CFLAGS with
CFLAGS_FOR_BUILD. And if you use C++, you also have to override
@@ -26,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 255822e3f27..9dc0dff0474 100644
+index c717903bb13..5abc649868d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
@@ -55,7 +55,7 @@ index 255822e3f27..9dc0dff0474 100644
ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
CFLAGS="$(CFLAGS)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-@@ -775,6 +780,7 @@ BASE_FLAGS_TO_PASS = \
+@@ -776,6 +781,7 @@ BASE_FLAGS_TO_PASS = \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
@@ -64,7 +64,7 @@ index 255822e3f27..9dc0dff0474 100644
"FLEX=$(FLEX)" \
"INSTALL=$(INSTALL)" \
diff --git a/Makefile.tpl b/Makefile.tpl
-index 41cae58a267..d3f6b79acdc 100644
+index efed1511750..778beb705b4 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
@@ -94,7 +94,7 @@ index 41cae58a267..d3f6b79acdc 100644
CFLAGS="$(CFLAGS)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 21472745c2c..8c93f03ffdc 100644
+index 011c7ac2db6..2f1165f7b5e 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
@@ -107,10 +107,10 @@ index 21472745c2c..8c93f03ffdc 100644
# Actual name to use when installing a native compiler.
GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
diff --git a/gcc/configure b/gcc/configure
-index 911de2cf017..325ace34cdf 100755
+index 825a9652329..ff46cf58960 100755
--- a/gcc/configure
+++ b/gcc/configure
-@@ -11965,7 +11965,7 @@ else
+@@ -12314,7 +12314,7 @@ else
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
@@ -118,12 +118,12 @@ index 911de2cf017..325ace34cdf 100755
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
${realsrcdir}/configure \
--enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
+ ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
diff --git a/gcc/configure.ac b/gcc/configure.ac
-index b413ae9bf25..72a6c95121b 100644
+index 6099eb3251f..b3c345b61dc 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
-@@ -1743,7 +1743,7 @@ else
+@@ -1898,7 +1898,7 @@ else
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
@@ -131,7 +131,4 @@ index b413ae9bf25..72a6c95121b 100644
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
${realsrcdir}/configure \
--enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
---
-2.22.1
-
+ ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch
index 84d92a337..3cd75b718 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch
@@ -1,7 +1,7 @@
-From 5647f773e28b528a67800ef06ca44730f9f5dc7e Mon Sep 17 00:00:00 2001
+From 4e53d0ae70af85af0e112a48a3e4dfe4c39f4a8d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 2 Feb 2016 10:26:10 -0800
-Subject: [PATCH 28/36] nios2: Define MUSL_DYNAMIC_LINKER
+Subject: [PATCH] nios2: Define MUSL_DYNAMIC_LINKER
Upstream-Status: Pending
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
-index 698734add35..eeee60ecfea 100644
+index 4bdcdcca1f0..e7943a9d640 100644
--- a/gcc/config/nios2/linux.h
+++ b/gcc/config/nios2/linux.h
@@ -30,6 +30,7 @@
@@ -23,6 +23,3 @@ index 698734add35..eeee60ecfea 100644
#undef LINK_SPEC
#define LINK_SPEC LINK_SPEC_ENDIAN \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
index d19e5a08b..2a6769a82 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -1,7 +1,7 @@
-From 474043ca7a064ca7b0a32308a0ed6f7c546f17b2 Mon Sep 17 00:00:00 2001
+From 5db0404eb770ac477fd99d444226bcf021067584 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 27 Jun 2017 18:10:54 -0700
-Subject: [PATCH 29/36] Add ssp_nonshared to link commandline for musl targets
+Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
when -fstack-protector options are enabled we need to
link with ssp_shared on musl since it does not provide
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
3 files changed, 27 insertions(+)
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 4b05d8e93d1..0ca117e2ed4 100644
+index 0c1a8118a26..bdc2a2d0659 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -41,7 +41,7 @@ index 4b05d8e93d1..0ca117e2ed4 100644
#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index ffceb32bf65..c82cb2ad05b 100644
+index b7026fcbee7..dd54d6c393e 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -94,6 +94,16 @@
@@ -62,10 +62,10 @@ index ffceb32bf65..c82cb2ad05b 100644
#define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
%{!static-pie: \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 45a9a7cae59..d1e88a40e82 100644
+index 967c1c43c63..dc5e4d97975 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
-@@ -456,6 +456,16 @@ extern int dot_symbols;
+@@ -452,6 +452,16 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
@@ -82,6 +82,3 @@ index 45a9a7cae59..d1e88a40e82 100644
#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
index dc2141d70..767cba038 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
@@ -1,7 +1,7 @@
-From 266dcc78e4d9d38de2809118977d97dc9270cf1f Mon Sep 17 00:00:00 2001
+From fbc926dbf6a47fa623b9c94cd9b09a0e90448fdc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 4 May 2016 21:11:34 -0700
-Subject: [PATCH 31/36] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
+Subject: [PATCH] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
Upstream-Status: Pending
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
-index 099bf23e62f..436b277a79f 100644
+index c997553447c..330352c2c81 100644
--- a/libgcc/config/t-slibgcc
+++ b/libgcc/config/t-slibgcc
@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
@@ -24,6 +24,3 @@ index 099bf23e62f..436b277a79f 100644
-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
$(SHLIB_OBJS) $(SHLIB_LC) && \
rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0030-sync-gcc-stddef.h-with-musl.patch
index b99ac429a..4f18907a1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0030-sync-gcc-stddef.h-with-musl.patch
@@ -1,7 +1,7 @@
-From 39e2f61d262f9f6c7a91068998dea80791ef665e Mon Sep 17 00:00:00 2001
+From 24dc04dc8d69e3bf61322615b3ef18e02ccd311e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Feb 2017 12:56:00 -0800
-Subject: [PATCH 33/36] sync gcc stddef.h with musl
+Subject: [PATCH] sync gcc stddef.h with musl
musl defines ptrdiff_t size_t and wchar_t
so dont define them here if musl is definining them
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 9 insertions(+)
diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
-index da692e1c01a..9a00c261adb 100644
+index 9d67eac4947..6cb5edbedb4 100644
--- a/gcc/ginclude/stddef.h
+++ b/gcc/ginclude/stddef.h
@@ -128,6 +128,7 @@ _TYPE_wchar_t;
@@ -86,6 +86,3 @@ index da692e1c01a..9a00c261adb 100644
#undef __need_wchar_t
#endif /* _STDDEF_H or __need_wchar_t. */
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0031-fix-segmentation-fault-in-precompiled-header-generat.patch
index 06a3c9f88..702279af0 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0031-fix-segmentation-fault-in-precompiled-header-generat.patch
@@ -1,7 +1,7 @@
-From aaa896a57b0004a74c1d474e74b21f41147a65cb Mon Sep 17 00:00:00 2001
+From 27b8ba5555ada2dab076988529bfb84d00a4b901 Mon Sep 17 00:00:00 2001
From: Juro Bystricky <juro.bystricky@intel.com>
Date: Mon, 19 Mar 2018 22:31:20 -0700
-Subject: [PATCH 34/36] fix segmentation fault in precompiled header generation
+Subject: [PATCH] fix segmentation fault in precompiled header generation
Prevent a segmentation fault which occurs when using incorrect
structure trying to access name of some named operators, such as
@@ -19,10 +19,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/libcpp/lex.c b/libcpp/lex.c
-index eedfcbb3146..15040a1b1f0 100644
+index 56ac3a1dd73..73a951148b3 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
-@@ -3280,11 +3280,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
+@@ -3311,11 +3311,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
spell_ident:
case SPELL_IDENT:
if (forstring)
@@ -55,6 +55,3 @@ index eedfcbb3146..15040a1b1f0 100644
else
buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
break;
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0032-Fix-for-testsuite-failure.patch
index 7470cbfcf..0a0767b44 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0032-Fix-for-testsuite-failure.patch
@@ -1,7 +1,7 @@
-From 0f9d449c739df03782ce9d29f6b68d9af976a607 Mon Sep 17 00:00:00 2001
+From 2512aacf023c679d86d8f40caff4f6ff412b32ff Mon Sep 17 00:00:00 2001
From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
Date: Wed, 6 Dec 2017 22:52:26 -0800
-Subject: [PATCH 35/36] Fix for testsuite failure
+Subject: [PATCH] Fix for testsuite failure
2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
@@ -220,7 +220,7 @@ index 96006b3e338..4287e4538bf 100644
/* This test uses __builtin_trap () instead of e.g. abort,
because due to -mpreferred-stack-boundary=3 it should not call
diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
-index bfb8c4703eb..ed04cf181f3 100644
+index 28d85d37712..c93266bd4bc 100644
--- a/gcc/testsuite/gcc.target/i386/pr62120.c
+++ b/gcc/testsuite/gcc.target/i386/pr62120.c
@@ -1,5 +1,5 @@
@@ -253,6 +253,3 @@ index 6cda1534311..26e37f5b8ba 100644
#define vector(elcount, type) \
__attribute__((vector_size((elcount)*sizeof(type)))) type
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0033-Re-introduce-spe-commandline-options.patch
index 4dbcd9894..ba7c2b8fd 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0033-Re-introduce-spe-commandline-options.patch
@@ -1,7 +1,7 @@
-From 71e99c2b58a9eb00cdd65a04aeb6fb78227e3297 Mon Sep 17 00:00:00 2001
+From 3fc06241ce37e2e4b3ed21ace28d347eb511448d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 6 Jun 2018 12:10:22 -0700
-Subject: [PATCH 36/36] Re-introduce spe commandline options
+Subject: [PATCH] Re-introduce spe commandline options
This should ensure that we keep accepting
spe options
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 12 insertions(+)
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
-index f4b5c91e11f..69869350fce 100644
+index f95b8279270..0e52d51409d 100644
--- a/gcc/config/rs6000/rs6000.opt
+++ b/gcc/config/rs6000/rs6000.opt
-@@ -345,6 +345,18 @@ mdebug=
+@@ -344,6 +344,18 @@ mdebug=
Target RejectNegative Joined
-mdebug= Enable debug output.
@@ -36,6 +36,3 @@ index f4b5c91e11f..69869350fce 100644
mabi=altivec
Target RejectNegative Var(rs6000_altivec_abi) Save
Use the AltiVec ABI extensions.
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
index 8dde016ce..4ce9dc6de 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
@@ -1,7 +1,7 @@
-From 9975b6ed3570bbf7c7d2d82f4d5f733d24ccacf5 Mon Sep 17 00:00:00 2001
+From b42ff59c3fe2967d37815c8db72a47b9b7f585b4 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
-Subject: [PATCH 32/36] libgcc_s: Use alias for __cpu_indicator_init instead of
+Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
symver
Adapter from
@@ -26,23 +26,23 @@ gcc/Changelog:
2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
- * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
+ * config/i386/i386-expand.c (ix86_expand_builtin): Make __builtin_cpu_init
call __cpu_indicator_init_local instead of __cpu_indicator_init.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gcc/config/i386/i386.c | 4 ++--
- libgcc/config/i386/cpuinfo.c | 6 +++---
- libgcc/config/i386/t-linux | 2 +-
+ gcc/config/i386/i386-expand.c | 4 ++--
+ libgcc/config/i386/cpuinfo.c | 6 +++---
+ libgcc/config/i386/t-linux | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
-diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
-index 2b37296e537..dd380ddba88 100644
---- a/gcc/config/i386/i386.c
-+++ b/gcc/config/i386/i386.c
-@@ -36658,10 +36658,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
+diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
+index 48f00c5fcfc..468f5f71fac 100644
+--- a/gcc/config/i386/i386-expand.c
++++ b/gcc/config/i386/i386-expand.c
+@@ -10941,10 +10941,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
@@ -56,10 +56,10 @@ index 2b37296e537..dd380ddba88 100644
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
}
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
-index d6cb2de6265..ce04ef78205 100644
+index 00322c58622..f42bbb8af98 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
-@@ -504,7 +504,7 @@ __cpu_indicator_init (void)
+@@ -508,7 +508,7 @@ __cpu_indicator_init (void)
return 0;
}
@@ -81,6 +81,3 @@ index 8506a635790..564296f788e 100644
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
new file mode 100644
index 000000000..dd1bf6ded
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
@@ -0,0 +1,182 @@
+From 0395060a7dcf98c5f5a65103f6aaa71d6b862259 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 10 Mar 2020 08:26:53 -0700
+Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
+ reproducibility
+
+Inserting line numbers into generated code means its not always reproducible wth
+differing versions of host gcc. Void the issue by not adding these.
+
+Upstream-Status: Inappropriate [OE Reproducibility specific]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/gengtype.c | 6 +++---
+ gcc/genmodes.c | 32 ++++++++++++++++----------------
+ 2 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/gengtype.c b/gcc/gengtype.c
+index 981577481af..d5700fff401 100644
+--- a/gcc/gengtype.c
++++ b/gcc/gengtype.c
+@@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt,
+ /* Create a fake field with the given type and name. NEXT is the next
+ field in the chain. */
+ #define create_field(next,type,name) \
+- create_field_all (next,type,name, 0, this_file, __LINE__)
++ create_field_all (next,type,name, 0, this_file, 0)
+
+ /* Like create_field, but the field is only valid when condition COND
+ is true. */
+@@ -1024,7 +1024,7 @@ create_optional_field_ (pair_p next, type_p type, const char *name,
+ }
+
+ #define create_optional_field(next,type,name,cond) \
+- create_optional_field_(next,type,name,cond,__LINE__)
++ create_optional_field_(next,type,name,cond,0)
+
+ /* Reverse a linked list of 'struct pair's in place. */
+ pair_p
+@@ -5187,7 +5187,7 @@ main (int argc, char **argv)
+ /* These types are set up with #define or else outside of where
+ we can see them. We should initialize them before calling
+ read_input_list. */
+-#define POS_HERE(Call) do { pos.file = this_file; pos.line = __LINE__; \
++#define POS_HERE(Call) do { pos.file = this_file; pos.line = 0; \
+ Call;} while (0)
+ POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
+ POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
+diff --git a/gcc/genmodes.c b/gcc/genmodes.c
+index bd78310ea24..dbd02c51a4c 100644
+--- a/gcc/genmodes.c
++++ b/gcc/genmodes.c
+@@ -430,7 +430,7 @@ complete_all_modes (void)
+ }
+
+ /* For each mode in class CLASS, construct a corresponding complex mode. */
+-#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, __LINE__)
++#define COMPLEX_MODES(C) make_complex_modes (MODE_##C, __FILE__, 0)
+ static void
+ make_complex_modes (enum mode_class cl,
+ const char *file, unsigned int line)
+@@ -489,7 +489,7 @@ make_complex_modes (enum mode_class cl,
+ having as many components as necessary. ORDER is the sorting order
+ of the mode, with smaller numbers indicating a higher priority. */
+ #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
+- make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, __LINE__)
++ make_vector_modes (MODE_##C, #PREFIX, W, ORDER, __FILE__, 0)
+ #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
+ static void ATTRIBUTE_UNUSED
+ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
+@@ -541,7 +541,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width,
+ /* Create a vector of booleans called NAME with COUNT elements and
+ BYTESIZE bytes in total. */
+ #define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \
+- make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, __LINE__)
++ make_vector_bool_mode (#NAME, COUNT, BYTESIZE, __FILE__, 0)
+ static void ATTRIBUTE_UNUSED
+ make_vector_bool_mode (const char *name, unsigned int count,
+ unsigned int bytesize, const char *file,
+@@ -563,7 +563,7 @@ make_vector_bool_mode (const char *name, unsigned int count,
+ /* Input. */
+
+ #define _SPECIAL_MODE(C, N) \
+- make_special_mode (MODE_##C, #N, __FILE__, __LINE__)
++ make_special_mode (MODE_##C, #N, __FILE__, 0)
+ #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
+ #define CC_MODE(N) _SPECIAL_MODE (CC, N)
+
+@@ -576,7 +576,7 @@ make_special_mode (enum mode_class cl, const char *name,
+
+ #define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
+ #define FRACTIONAL_INT_MODE(N, B, Y) \
+- make_int_mode (#N, B, Y, __FILE__, __LINE__)
++ make_int_mode (#N, B, Y, __FILE__, 0)
+
+ static void
+ make_int_mode (const char *name,
+@@ -589,16 +589,16 @@ make_int_mode (const char *name,
+ }
+
+ #define FRACT_MODE(N, Y, F) \
+- make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, __LINE__)
++ make_fixed_point_mode (MODE_FRACT, #N, Y, 0, F, __FILE__, 0)
+
+ #define UFRACT_MODE(N, Y, F) \
+- make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, __LINE__)
++ make_fixed_point_mode (MODE_UFRACT, #N, Y, 0, F, __FILE__, 0)
+
+ #define ACCUM_MODE(N, Y, I, F) \
+- make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, __LINE__)
++ make_fixed_point_mode (MODE_ACCUM, #N, Y, I, F, __FILE__, 0)
+
+ #define UACCUM_MODE(N, Y, I, F) \
+- make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, __LINE__)
++ make_fixed_point_mode (MODE_UACCUM, #N, Y, I, F, __FILE__, 0)
+
+ /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
+ FILE, and LINE. */
+@@ -619,7 +619,7 @@ make_fixed_point_mode (enum mode_class cl,
+
+ #define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
+ #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
+- make_float_mode (#N, B, Y, #F, __FILE__, __LINE__)
++ make_float_mode (#N, B, Y, #F, __FILE__, 0)
+
+ static void
+ make_float_mode (const char *name,
+@@ -636,7 +636,7 @@ make_float_mode (const char *name,
+ #define DECIMAL_FLOAT_MODE(N, Y, F) \
+ FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
+ #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \
+- make_decimal_float_mode (#N, B, Y, #F, __FILE__, __LINE__)
++ make_decimal_float_mode (#N, B, Y, #F, __FILE__, 0)
+
+ static void
+ make_decimal_float_mode (const char *name,
+@@ -651,7 +651,7 @@ make_decimal_float_mode (const char *name,
+ }
+
+ #define RESET_FLOAT_FORMAT(N, F) \
+- reset_float_format (#N, #F, __FILE__, __LINE__)
++ reset_float_format (#N, #F, __FILE__, 0)
+ static void ATTRIBUTE_UNUSED
+ reset_float_format (const char *name, const char *format,
+ const char *file, unsigned int line)
+@@ -672,7 +672,7 @@ reset_float_format (const char *name, const char *format,
+
+ /* __intN support. */
+ #define INT_N(M,PREC) \
+- make_int_n (#M, PREC, __FILE__, __LINE__)
++ make_int_n (#M, PREC, __FILE__, 0)
+ static void ATTRIBUTE_UNUSED
+ make_int_n (const char *m, int bitsize,
+ const char *file, unsigned int line)
+@@ -701,7 +701,7 @@ make_int_n (const char *m, int bitsize,
+ /* Partial integer modes are specified by relation to a full integer
+ mode. */
+ #define PARTIAL_INT_MODE(M,PREC,NAME) \
+- make_partial_integer_mode (#M, #NAME, PREC, __FILE__, __LINE__)
++ make_partial_integer_mode (#M, #NAME, PREC, __FILE__, 0)
+ static void ATTRIBUTE_UNUSED
+ make_partial_integer_mode (const char *base, const char *name,
+ unsigned int precision,
+@@ -728,7 +728,7 @@ make_partial_integer_mode (const char *base, const char *name,
+ /* A single vector mode can be specified by naming its component
+ mode and the number of components. */
+ #define VECTOR_MODE(C, M, N) \
+- make_vector_mode (MODE_##C, #M, N, __FILE__, __LINE__);
++ make_vector_mode (MODE_##C, #M, N, __FILE__, 0);
+ static void ATTRIBUTE_UNUSED
+ make_vector_mode (enum mode_class bclass,
+ const char *base,
+@@ -771,7 +771,7 @@ make_vector_mode (enum mode_class bclass,
+
+ /* Adjustability. */
+ #define _ADD_ADJUST(A, M, X, C1, C2) \
+- new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, __LINE__)
++ new_adjust (#M, &adj_##A, #A, #X, MODE_##C1, MODE_##C2, __FILE__, 0)
+
+ #define ADJUST_NUNITS(M, X) _ADD_ADJUST (nunits, M, X, RANDOM, RANDOM)
+ #define ADJUST_BYTESIZE(M, X) _ADD_ADJUST (bytesize, M, X, RANDOM, RANDOM)
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0036-Enable-CET-in-cross-compiler-if-possible.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0036-Enable-CET-in-cross-compiler-if-possible.patch
new file mode 100644
index 000000000..af8064282
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0036-Enable-CET-in-cross-compiler-if-possible.patch
@@ -0,0 +1,150 @@
+From 87a5ace658f2294b025e0420ef03ade1f45d926c Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Fri, 8 May 2020 06:11:05 -0700
+Subject: [PATCH] Enable CET in cross compiler if possible
+
+Don't perform CET run-time check for host when cross compiling. Instead,
+enable CET in cross compiler if possible so that it will run on both CET
+and non-CET hosts.
+
+config/
+
+ PR bootstrap/94998
+ * cet.m4 (GCC_CET_HOST_FLAGS): Enable CET in cross compiler if
+ possible.
+
+libiberty/
+
+ PR bootstrap/94998
+ * configure: Regenerated.
+
+lto-plugin/
+
+ PR bootstrap/94998
+ * configure: Regenerated.
+
+Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/gcc/patch/20200508131105.170077-1-hjl.tools@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config/cet.m4 | 18 ++++++++++++------
+ libiberty/configure | 12 +++++++++---
+ lto-plugin/configure | 16 +++++++++++-----
+ 3 files changed, 32 insertions(+), 14 deletions(-)
+
+diff --git a/config/cet.m4 b/config/cet.m4
+index ea616b728a9..d9608699cd5 100644
+--- a/config/cet.m4
++++ b/config/cet.m4
+@@ -111,7 +111,8 @@ if test x$may_have_cet = xyes; then
+ fi
+
+ if test x$may_have_cet = xyes; then
+- AC_TRY_RUN([
++ if test x$cross_compiling = xno; then
++ AC_TRY_RUN([
+ static void
+ foo (void)
+ {
+@@ -137,12 +138,17 @@ main ()
+ bar ();
+ return 0;
+ }
+- ],
+- [have_cet=no],
+- [have_cet=yes])
+- if test x$enable_cet = xno -a x$have_cet = xyes; then
+- AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
++ ],
++ [have_cet=no],
++ [have_cet=yes])
++ if test x$enable_cet = xno -a x$have_cet = xyes; then
++ AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
++ fi
+ fi
++else
++ # Enable CET in cross compiler if possible so that it will run on both
++ # CET and non-CET hosts.
++ have_cet=yes
+ fi
+ if test x$enable_cet = xyes; then
+ $1="-fcf-protection"
+diff --git a/libiberty/configure b/libiberty/configure
+index bb76cf1b823..3f82c5bb865 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -5375,7 +5375,8 @@ rm -f core conftest.err conftest.$ac_objext \
+ fi
+
+ if test x$may_have_cet = xyes; then
+- if test "$cross_compiling" = yes; then :
++ if test x$cross_compiling = xno; then
++ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ as_fn_error $? "cannot run test program while cross compiling
+@@ -5420,9 +5421,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+
+- if test x$enable_cet = xno -a x$have_cet = xyes; then
+- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
++ if test x$enable_cet = xno -a x$have_cet = xyes; then
++ as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
++ fi
+ fi
++else
++ # Enable CET in cross compiler if possible so that it will run on both
++ # CET and non-CET hosts.
++ have_cet=yes
+ fi
+ if test x$enable_cet = xyes; then
+ CET_HOST_FLAGS="-fcf-protection"
+diff --git a/lto-plugin/configure b/lto-plugin/configure
+index 1baf6cc70b8..36c6ecc5875 100755
+--- a/lto-plugin/configure
++++ b/lto-plugin/configure
+@@ -5768,7 +5768,8 @@ rm -f core conftest.err conftest.$ac_objext \
+ fi
+
+ if test x$may_have_cet = xyes; then
+- if test "$cross_compiling" = yes; then :
++ if test x$cross_compiling = xno; then
++ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ as_fn_error $? "cannot run test program while cross compiling
+@@ -5813,9 +5814,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+
+- if test x$enable_cet = xno -a x$have_cet = xyes; then
+- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
++ if test x$enable_cet = xno -a x$have_cet = xyes; then
++ as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
++ fi
+ fi
++else
++ # Enable CET in cross compiler if possible so that it will run on both
++ # CET and non-CET hosts.
++ have_cet=yes
+ fi
+ if test x$enable_cet = xyes; then
+ CET_HOST_FLAGS="-fcf-protection"
+@@ -11941,7 +11947,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 11944 "configure"
++#line 11950 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12047,7 +12053,7 @@ else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12050 "configure"
++#line 12056 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0037-mingw32-Enable-operation_not_supported.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0037-mingw32-Enable-operation_not_supported.patch
new file mode 100644
index 000000000..de82a3a53
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0037-mingw32-Enable-operation_not_supported.patch
@@ -0,0 +1,26 @@
+From 6f87a095f0e696bec07a50df789c9db8bdbca43d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 May 2020 10:39:09 -0700
+Subject: [PATCH] mingw32: Enable operation_not_supported
+
+Fixes nativesdk build errors on mingw32 gcc-runtime
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libstdc++-v3/config/os/mingw32/error_constants.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h
+index 68ac72a78fb..71cd5815b81 100644
+--- a/libstdc++-v3/config/os/mingw32/error_constants.h
++++ b/libstdc++-v3/config/os/mingw32/error_constants.h
+@@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ #ifdef _GLIBCXX_HAVE_EPERM
+ operation_not_permitted = EPERM,
+ #endif
+-// operation_not_supported = EOPNOTSUPP,
++ operation_not_supported = EOPNOTSUPP,
+ #ifdef _GLIBCXX_HAVE_EWOULDBLOCK
+ operation_would_block = EWOULDBLOCK,
+ #endif
diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch
new file mode 100644
index 000000000..3946acea1
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-10.1/0038-libatomic-Do-not-enforce-march-on-aarch64.patch
@@ -0,0 +1,42 @@
+From 38d262bfe7c0c894c364dc6e4dc7971e78a73974 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 May 2020 15:10:38 -0700
+Subject: [PATCH] libatomic: Do not enforce march on aarch64
+
+OE passes the right options via gcc compiler cmdline via TUNE_CCARGS
+this can conflict between -mcpu settings and -march setting here, since
+-mcpu will translate into an appropriate -march, lets depend on that
+instead of setting it explicitly
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libatomic/Makefile.am | 1 -
+ libatomic/Makefile.in | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
+index 133fbbca77e..ac1ca645876 100644
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
+ ## On a target-specific basis, include alternates to be selected by IFUNC.
+ if HAVE_IFUNC
+ if ARCH_AARCH64_LINUX
+-IFUNC_OPTIONS = -march=armv8-a+lse
+ libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
+ endif
+ if ARCH_ARM_LINUX
+diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
+index a51807e95c9..97df2d7ff03 100644
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -431,7 +431,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files)))
+ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \
+ _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \
+ $(am__append_3) $(am__append_4)
+-@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse
+ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64
+ @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586
+ @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index b0f96d06d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 83bcd4cc47ae63971c888c117abd00dfd506532c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 11:17:19 +0000
-Subject: [PATCH 20/36] gcc 4.8+ won't build with --disable-dependency-tracking
-
-since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
-
-This patch ensures we only use those compiler options when its enabled.
-
-Upstream-Status: Submitted
-
-(Problem was already reported upstream, attached this patch there
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
-
-RP
-2012/09/22
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libatomic/Makefile.am | 3 ++-
- libatomic/Makefile.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
-index c1b7c73934a..ef43d62c07a 100644
---- a/libatomic/Makefile.am
-+++ b/libatomic/Makefile.am
-@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
-diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
-index 29324e3e0ac..d5cdb4259ef 100644
---- a/libatomic/Makefile.in
-+++ b/libatomic/Makefile.in
-@@ -414,7 +414,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
- PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
---
-2.22.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
deleted file mode 100644
index 38eab5a08..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 47467f3ab0fb2f2fcede81060fe8bb339d0909eb Mon Sep 17 00:00:00 2001
-From: Szabolcs Nagy <nsz@port70.net>
-Date: Wed, 28 Feb 2018 00:54:05 +0000
-Subject: [PATCH 10/12] ldbl128 config
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/configure | 13 +++++++++++++
- gcc/configure.ac | 16 ++++++++++++++--
- 2 files changed, 27 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 6121e163259..07ff8597d48 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -29309,6 +29309,15 @@ if test "${with_long_double_128+set}" = set; then :
- withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128"
- else
-
-+ case "$target" in
-+ s390*-*-linux-musl*)
-+ gcc_cv_target_ldbl128=yes
-+ ;;
-+ powerpc*-*-linux-musl*)
-+ gcc_cv_target_ldbl128=no
-+ ;;
-+ *)
-+
- if test $glibc_version_major -gt 2 \
- || ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then :
- gcc_cv_target_ldbl128=yes
-@@ -29320,6 +29329,10 @@ else
- && gcc_cv_target_ldbl128=yes
-
- fi
-+
-+ ;;
-+ esac
-+
- fi
-
- ;;
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index b066cc609e1..6c15ed898c0 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5971,13 +5971,25 @@ case "$target" in
- AC_ARG_WITH(long-double-128,
- [AS_HELP_STRING([--with-long-double-128],
- [use 128-bit long double by default])],
-- gcc_cv_target_ldbl128="$with_long_double_128",
-+ gcc_cv_target_ldbl128="$with_long_double_128", [
-+ case "$target" in
-+ s390*-*-linux-musl*)
-+ gcc_cv_target_ldbl128=yes
-+ ;;
-+ powerpc*-*-linux-musl*)
-+ gcc_cv_target_ldbl128=no
-+ ;;
-+ *)]
- [GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [
- [gcc_cv_target_ldbl128=no
- grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \
- $target_header_dir/bits/wordsize.h > /dev/null 2>&1 \
- && gcc_cv_target_ldbl128=yes
-- ]])])
-+ ]])]
-+ [
-+ ;;
-+ esac
-+ ])
- ;;
- esac
- if test x$gcc_cv_target_ldbl128 = xyes; then
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch
deleted file mode 100644
index 65ea34558..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 517b211a3d78366ca8d5929f580e8ca72fd2c004 Mon Sep 17 00:00:00 2001
-From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 25 Jul 2019 10:46:54 +0000
-Subject: [PATCH] 2019-07-25 Richard Biener <rguenther@suse.de>
-
- PR lto/90924
- Backport from mainline
- 2019-07-12 Ren Kimura <rkx1209dev@gmail.com>
-
- * simple-object-elf.c (simple_object_elf_match): Check zero value
- shstrndx.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@273793 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-Affectes: < 9.2
-CVE: CVE-2019-14250
-Dropped changelog
-Signed-off-by: Armin Kuster <Akustre@mvista.com>
-
----
- libiberty/simple-object-elf.c | 8 ++++++++
- 2 files changed, 17 insertions(+)
-
-Index: gcc-9.2.0/libiberty/simple-object-elf.c
-===================================================================
---- gcc-9.2.0.orig/libiberty/simple-object-elf.c
-+++ gcc-9.2.0/libiberty/simple-object-elf.c
-@@ -557,6 +557,14 @@ simple_object_elf_match (unsigned char h
- return NULL;
- }
-
-+ if (eor->shstrndx == 0)
-+ {
-+ *errmsg = "invalid ELF shstrndx == 0";
-+ *err = 0;
-+ XDELETE (eor);
-+ return NULL;
-+ }
-+
- return (void *) eor;
- }
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
deleted file mode 100644
index 227fd47c9..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
+++ /dev/null
@@ -1,521 +0,0 @@
-From 8c61566116d23063ff597271884f8e00d94ab1a1 Mon Sep 17 00:00:00 2001
-From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 30 Aug 2019 13:48:48 +0000
-Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
- <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
- UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
- * config/rs6000/rs6000.md (unspec): ... here.
- * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
- *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
- cmpeqb, *cmpeqb_internal): Delete, move to...
- * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
- *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
- cmpeqb, *cmpeqb_internal): ... here.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275170 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-CVE: CVE-2019-15847 p1
-Affects <= 9.2.0
-Dropped Changelog changes
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gcc/config/rs6000/altivec.md | 223 ----------------------------------
- gcc/config/rs6000/rs6000.md | 224 +++++++++++++++++++++++++++++++++++
- 3 files changed, 239 insertions(+), 223 deletions(-)
-
-Index: gcc-9.2.0/gcc/config/rs6000/altivec.md
-===================================================================
---- gcc-9.2.0.orig/gcc/config/rs6000/altivec.md
-+++ gcc-9.2.0/gcc/config/rs6000/altivec.md
-@@ -80,9 +80,6 @@
- UNSPEC_VUPKHPX
- UNSPEC_VUPKLPX
- UNSPEC_CONVERT_4F32_8I16
-- UNSPEC_DARN
-- UNSPEC_DARN_32
-- UNSPEC_DARN_RAW
- UNSPEC_DST
- UNSPEC_DSTT
- UNSPEC_DSTST
-@@ -161,9 +158,6 @@
- UNSPEC_BCDADD
- UNSPEC_BCDSUB
- UNSPEC_BCD_OVERFLOW
-- UNSPEC_CMPRB
-- UNSPEC_CMPRB2
-- UNSPEC_CMPEQB
- UNSPEC_VRLMI
- UNSPEC_VRLNM
- ])
-@@ -4101,223 +4095,6 @@
- "bcd<bcd_add_sub>. %0,%1,%2,%3"
- [(set_attr "type" "vecsimple")])
-
--(define_insn "darn_32"
-- [(set (match_operand:SI 0 "register_operand" "=r")
-- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
-- "TARGET_P9_MISC"
-- "darn %0,0"
-- [(set_attr "type" "integer")])
--
--(define_insn "darn_raw"
-- [(set (match_operand:DI 0 "register_operand" "=r")
-- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
-- "TARGET_P9_MISC && TARGET_64BIT"
-- "darn %0,2"
-- [(set_attr "type" "integer")])
--
--(define_insn "darn"
-- [(set (match_operand:DI 0 "register_operand" "=r")
-- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
-- "TARGET_P9_MISC && TARGET_64BIT"
-- "darn %0,1"
-- [(set_attr "type" "integer")])
--
--;; Test byte within range.
--;;
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the range specified by operand 2.
--;; The bytes of operand 2 are organized as xx:xx:hi:lo.
--;;
--;; Return in target register operand 0 a value of 1 if lo <= vv and
--;; vv <= hi. Otherwise, set register operand 0 to 0.
--;;
--;; Though the instructions to which this expansion maps operate on
--;; 64-bit registers, the current implementation only operates on
--;; SI-mode operands as the high-order bits provide no information
--;; that is not already available in the low-order bits. To avoid the
--;; costs of data widening operations, future enhancements might allow
--;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
--(define_expand "cmprb"
-- [(set (match_dup 3)
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:SI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPRB))
-- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-- (if_then_else:SI (lt (match_dup 3)
-- (const_int 0))
-- (const_int -1)
-- (if_then_else (gt (match_dup 3)
-- (const_int 0))
-- (const_int 1)
-- (const_int 0))))]
-- "TARGET_P9_MISC"
--{
-- operands[3] = gen_reg_rtx (CCmode);
--})
--
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the range specified by operand 2.
--;; The bytes of operand 2 are organized as xx:xx:hi:lo.
--;;
--;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
--;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
--;; 3 bits of the target CR register are all set to 0.
--(define_insn "*cmprb_internal"
-- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:SI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPRB))]
-- "TARGET_P9_MISC"
-- "cmprb %0,0,%1,%2"
-- [(set_attr "type" "logical")])
--
--;; Set operand 0 register to -1 if the LT bit (0x8) of condition
--;; register operand 1 is on. Otherwise, set operand 0 register to 1
--;; if the GT bit (0x4) of condition register operand 1 is on.
--;; Otherwise, set operand 0 to 0. Note that the result stored into
--;; register operand 0 is non-zero iff either the LT or GT bits are on
--;; within condition register operand 1.
--(define_insn "setb_signed"
-- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-- (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
-- (const_int 0))
-- (const_int -1)
-- (if_then_else (gt (match_dup 1)
-- (const_int 0))
-- (const_int 1)
-- (const_int 0))))]
-- "TARGET_P9_MISC"
-- "setb %0,%1"
-- [(set_attr "type" "logical")])
--
--(define_insn "setb_unsigned"
-- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-- (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
-- (const_int 0))
-- (const_int -1)
-- (if_then_else (gtu (match_dup 1)
-- (const_int 0))
-- (const_int 1)
-- (const_int 0))))]
-- "TARGET_P9_MISC"
-- "setb %0,%1"
-- [(set_attr "type" "logical")])
--
--;; Test byte within two ranges.
--;;
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the range specified by operand 2.
--;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
--;;
--;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
--;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
--;; operand 0 to 0.
--;;
--;; Though the instructions to which this expansion maps operate on
--;; 64-bit registers, the current implementation only operates on
--;; SI-mode operands as the high-order bits provide no information
--;; that is not already available in the low-order bits. To avoid the
--;; costs of data widening operations, future enhancements might allow
--;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
--(define_expand "cmprb2"
-- [(set (match_dup 3)
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:SI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPRB2))
-- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-- (if_then_else:SI (lt (match_dup 3)
-- (const_int 0))
-- (const_int -1)
-- (if_then_else (gt (match_dup 3)
-- (const_int 0))
-- (const_int 1)
-- (const_int 0))))]
-- "TARGET_P9_MISC"
--{
-- operands[3] = gen_reg_rtx (CCmode);
--})
--
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the ranges specified by operand 2.
--;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
--;;
--;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
--;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
--;; Otherwise, set the GT bit to 0. The other 3 bits of the target
--;; CR register are all set to 0.
--(define_insn "*cmprb2_internal"
-- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:SI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPRB2))]
-- "TARGET_P9_MISC"
-- "cmprb %0,1,%1,%2"
-- [(set_attr "type" "logical")])
--
--;; Test byte membership within set of 8 bytes.
--;;
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the set specified by operand 2.
--;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
--;;
--;; Return in target register operand 0 a value of 1 if vv equals one
--;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
--;; register operand 0 to 0. Note that the 8 byte values held within
--;; operand 2 need not be unique.
--;;
--;; Though the instructions to which this expansion maps operate on
--;; 64-bit registers, the current implementation requires that operands
--;; 0 and 1 have mode SI as the high-order bits provide no information
--;; that is not already available in the low-order bits. To avoid the
--;; costs of data widening operations, future enhancements might allow
--;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
--(define_expand "cmpeqb"
-- [(set (match_dup 3)
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:DI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPEQB))
-- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-- (if_then_else:SI (lt (match_dup 3)
-- (const_int 0))
-- (const_int -1)
-- (if_then_else (gt (match_dup 3)
-- (const_int 0))
-- (const_int 1)
-- (const_int 0))))]
-- "TARGET_P9_MISC && TARGET_64BIT"
--{
-- operands[3] = gen_reg_rtx (CCmode);
--})
--
--;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
--;; represents a byte whose value is ignored in this context and
--;; vv, the least significant byte, holds the byte value that is to
--;; be tested for membership within the set specified by operand 2.
--;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
--;;
--;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
--;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
--;; set the GT bit to zero. The other 3 bits of the target CR register
--;; are all set to 0.
--(define_insn "*cmpeqb_internal"
-- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-- (match_operand:DI 2 "gpc_reg_operand" "r")]
-- UNSPEC_CMPEQB))]
-- "TARGET_P9_MISC && TARGET_64BIT"
-- "cmpeqb %0,%1,%2"
-- [(set_attr "type" "logical")])
--
- (define_expand "bcd<bcd_add_sub>_<code>"
- [(parallel [(set (reg:CCFP CR6_REGNO)
- (compare:CCFP
-Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
-===================================================================
---- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
-+++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
-@@ -137,6 +137,12 @@
- UNSPEC_LSQ
- UNSPEC_FUSION_GPR
- UNSPEC_STACK_CHECK
-+ UNSPEC_DARN
-+ UNSPEC_DARN_32
-+ UNSPEC_DARN_RAW
-+ UNSPEC_CMPRB
-+ UNSPEC_CMPRB2
-+ UNSPEC_CMPEQB
- UNSPEC_ADD_ROUND_TO_ODD
- UNSPEC_SUB_ROUND_TO_ODD
- UNSPEC_MUL_ROUND_TO_ODD
-@@ -14322,7 +14328,225 @@
- "xscmpuqp %0,%1,%2"
- [(set_attr "type" "veccmp")
- (set_attr "size" "128")])
-+
-+;; Miscellaneous ISA 3.0 (power9) instructions
-+
-+(define_insn "darn_32"
-+ [(set (match_operand:SI 0 "register_operand" "=r")
-+ (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
-+ "TARGET_P9_MISC"
-+ "darn %0,0"
-+ [(set_attr "type" "integer")])
-+
-+(define_insn "darn_raw"
-+ [(set (match_operand:DI 0 "register_operand" "=r")
-+ (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
-+ "TARGET_P9_MISC && TARGET_64BIT"
-+ "darn %0,2"
-+ [(set_attr "type" "integer")])
-+
-+(define_insn "darn"
-+ [(set (match_operand:DI 0 "register_operand" "=r")
-+ (unspec:DI [(const_int 0)] UNSPEC_DARN))]
-+ "TARGET_P9_MISC && TARGET_64BIT"
-+ "darn %0,1"
-+ [(set_attr "type" "integer")])
-+
-+;; Test byte within range.
-+;;
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the range specified by operand 2.
-+;; The bytes of operand 2 are organized as xx:xx:hi:lo.
-+;;
-+;; Return in target register operand 0 a value of 1 if lo <= vv and
-+;; vv <= hi. Otherwise, set register operand 0 to 0.
-+;;
-+;; Though the instructions to which this expansion maps operate on
-+;; 64-bit registers, the current implementation only operates on
-+;; SI-mode operands as the high-order bits provide no information
-+;; that is not already available in the low-order bits. To avoid the
-+;; costs of data widening operations, future enhancements might allow
-+;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
-+(define_expand "cmprb"
-+ [(set (match_dup 3)
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:SI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPRB))
-+ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-+ (if_then_else:SI (lt (match_dup 3)
-+ (const_int 0))
-+ (const_int -1)
-+ (if_then_else (gt (match_dup 3)
-+ (const_int 0))
-+ (const_int 1)
-+ (const_int 0))))]
-+ "TARGET_P9_MISC"
-+{
-+ operands[3] = gen_reg_rtx (CCmode);
-+})
-+
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the range specified by operand 2.
-+;; The bytes of operand 2 are organized as xx:xx:hi:lo.
-+;;
-+;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
-+;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
-+;; 3 bits of the target CR register are all set to 0.
-+(define_insn "*cmprb_internal"
-+ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:SI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPRB))]
-+ "TARGET_P9_MISC"
-+ "cmprb %0,0,%1,%2"
-+ [(set_attr "type" "logical")])
-+
-+;; Set operand 0 register to -1 if the LT bit (0x8) of condition
-+;; register operand 1 is on. Otherwise, set operand 0 register to 1
-+;; if the GT bit (0x4) of condition register operand 1 is on.
-+;; Otherwise, set operand 0 to 0. Note that the result stored into
-+;; register operand 0 is non-zero iff either the LT or GT bits are on
-+;; within condition register operand 1.
-+(define_insn "setb_signed"
-+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-+ (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
-+ (const_int 0))
-+ (const_int -1)
-+ (if_then_else (gt (match_dup 1)
-+ (const_int 0))
-+ (const_int 1)
-+ (const_int 0))))]
-+ "TARGET_P9_MISC"
-+ "setb %0,%1"
-+ [(set_attr "type" "logical")])
-
-+(define_insn "setb_unsigned"
-+ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-+ (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
-+ (const_int 0))
-+ (const_int -1)
-+ (if_then_else (gtu (match_dup 1)
-+ (const_int 0))
-+ (const_int 1)
-+ (const_int 0))))]
-+ "TARGET_P9_MISC"
-+ "setb %0,%1"
-+ [(set_attr "type" "logical")])
-+
-+;; Test byte within two ranges.
-+;;
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the range specified by operand 2.
-+;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
-+;;
-+;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
-+;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
-+;; operand 0 to 0.
-+;;
-+;; Though the instructions to which this expansion maps operate on
-+;; 64-bit registers, the current implementation only operates on
-+;; SI-mode operands as the high-order bits provide no information
-+;; that is not already available in the low-order bits. To avoid the
-+;; costs of data widening operations, future enhancements might allow
-+;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
-+(define_expand "cmprb2"
-+ [(set (match_dup 3)
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:SI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPRB2))
-+ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-+ (if_then_else:SI (lt (match_dup 3)
-+ (const_int 0))
-+ (const_int -1)
-+ (if_then_else (gt (match_dup 3)
-+ (const_int 0))
-+ (const_int 1)
-+ (const_int 0))))]
-+ "TARGET_P9_MISC"
-+{
-+ operands[3] = gen_reg_rtx (CCmode);
-+})
-+
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the ranges specified by operand 2.
-+;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
-+;;
-+;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
-+;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
-+;; Otherwise, set the GT bit to 0. The other 3 bits of the target
-+;; CR register are all set to 0.
-+(define_insn "*cmprb2_internal"
-+ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:SI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPRB2))]
-+ "TARGET_P9_MISC"
-+ "cmprb %0,1,%1,%2"
-+ [(set_attr "type" "logical")])
-+
-+;; Test byte membership within set of 8 bytes.
-+;;
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the set specified by operand 2.
-+;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
-+;;
-+;; Return in target register operand 0 a value of 1 if vv equals one
-+;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
-+;; register operand 0 to 0. Note that the 8 byte values held within
-+;; operand 2 need not be unique.
-+;;
-+;; Though the instructions to which this expansion maps operate on
-+;; 64-bit registers, the current implementation requires that operands
-+;; 0 and 1 have mode SI as the high-order bits provide no information
-+;; that is not already available in the low-order bits. To avoid the
-+;; costs of data widening operations, future enhancements might allow
-+;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
-+(define_expand "cmpeqb"
-+ [(set (match_dup 3)
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:DI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPEQB))
-+ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
-+ (if_then_else:SI (lt (match_dup 3)
-+ (const_int 0))
-+ (const_int -1)
-+ (if_then_else (gt (match_dup 3)
-+ (const_int 0))
-+ (const_int 1)
-+ (const_int 0))))]
-+ "TARGET_P9_MISC && TARGET_64BIT"
-+{
-+ operands[3] = gen_reg_rtx (CCmode);
-+})
-+
-+;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
-+;; represents a byte whose value is ignored in this context and
-+;; vv, the least significant byte, holds the byte value that is to
-+;; be tested for membership within the set specified by operand 2.
-+;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
-+;;
-+;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
-+;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
-+;; set the GT bit to zero. The other 3 bits of the target CR register
-+;; are all set to 0.
-+(define_insn "*cmpeqb_internal"
-+ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
-+ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
-+ (match_operand:DI 2 "gpc_reg_operand" "r")]
-+ UNSPEC_CMPEQB))]
-+ "TARGET_P9_MISC && TARGET_64BIT"
-+ "cmpeqb %0,%1,%2"
-+ [(set_attr "type" "logical")])
-
-
- (include "sync.md")
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
deleted file mode 100644
index de7a83c23..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 87bc784a7ca3a43182f7272241597a50d7491342 Mon Sep 17 00:00:00 2001
-From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 30 Aug 2019 13:51:26 +0000
-Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
- <segher@kernel.crashing.org>
-
- PR target/91481
- * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
- and UNSPEC_DARN_RAW.
- (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
- UNSPECV_DARN_RAW.
- (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
- (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
- (darn): Use an unspec_volatile, and UNSPECV_DARN.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275175 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-CVE: CVE-2019-15847 p2
-Affects <= 9.2.0
-Dropped Changelog changes
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gcc/config/rs6000/rs6000.md | 12 ++++++------
- 2 files changed, 20 insertions(+), 6 deletions(-)
-
-Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
-===================================================================
---- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
-+++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
-@@ -137,9 +137,6 @@
- UNSPEC_LSQ
- UNSPEC_FUSION_GPR
- UNSPEC_STACK_CHECK
-- UNSPEC_DARN
-- UNSPEC_DARN_32
-- UNSPEC_DARN_RAW
- UNSPEC_CMPRB
- UNSPEC_CMPRB2
- UNSPEC_CMPEQB
-@@ -170,6 +167,9 @@
- UNSPECV_EH_RR ; eh_reg_restore
- UNSPECV_ISYNC ; isync instruction
- UNSPECV_MFTB ; move from time base
-+ UNSPECV_DARN ; darn 1 (deliver a random number)
-+ UNSPECV_DARN_32 ; darn 2
-+ UNSPECV_DARN_RAW ; darn 0
- UNSPECV_NLGR ; non-local goto receiver
- UNSPECV_MFFS ; Move from FPSCR
- UNSPECV_MFFSL ; Move from FPSCR light instruction version
-@@ -14333,21 +14333,21 @@
-
- (define_insn "darn_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
-- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
-+ (unspec_volatile:SI [(const_int 0)] UNSPECV_DARN_32))]
- "TARGET_P9_MISC"
- "darn %0,0"
- [(set_attr "type" "integer")])
-
- (define_insn "darn_raw"
- [(set (match_operand:DI 0 "register_operand" "=r")
-- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
-+ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN_RAW))]
- "TARGET_P9_MISC && TARGET_64BIT"
- "darn %0,2"
- [(set_attr "type" "integer")])
-
- (define_insn "darn"
- [(set (match_operand:DI 0 "register_operand" "=r")
-- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
-+ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN))]
- "TARGET_P9_MISC && TARGET_64BIT"
- "darn %0,1"
- [(set_attr "type" "integer")])
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
deleted file mode 100644
index ba7130ca7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From dc4c8dd9dbe70740ec7a684b0f35620249fb036a Mon Sep 17 00:00:00 2001
-From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 30 Aug 2019 13:53:11 +0000
-Subject: [PATCH] Backport from trunk 2019-08-23 Segher Boessenkool
- <segher@kernel.crashing.org>
-
-gcc/testsuite/
- PR target/91481
- * gcc.target/powerpc/darn-3.c: New testcase.
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275176 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-CVE: CVE-2019-15847 p3
-Affects <= 9.2.0
-Dropped Changelog changes
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- gcc/testsuite/ChangeLog | 6 ++++++
- gcc/testsuite/gcc.target/powerpc/darn-3.c | 16 ++++++++++++++++
- 2 files changed, 22 insertions(+)
- create mode 100644 gcc/testsuite/gcc.target/powerpc/darn-3.c
-
-Index: gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
-===================================================================
---- /dev/null
-+++ gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
-@@ -0,0 +1,16 @@
-+/* { dg-do compile { target { powerpc*-*-* } } } */
-+/* { dg-skip-if "" { powerpc*-*-aix* } } */
-+/* { dg-options "-O2 -mdejagnu-cpu=power9" } */
-+
-+static int darn32(void) { return __builtin_darn_32(); }
-+
-+int four(void)
-+{
-+ int sum = 0;
-+ int i;
-+ for (i = 0; i < 4; i++)
-+ sum += darn32();
-+ return sum;
-+}
-+
-+/* { dg-final { scan-assembler-times {(?n)\mdarn .*,0\M} 4 } } */
-Index: gcc-9.2.0/gcc/testsuite/ChangeLog
-===================================================================
---- gcc-9.2.0.orig/gcc/testsuite/ChangeLog
-+++ gcc-9.2.0/gcc/testsuite/ChangeLog
-@@ -1,3 +1,11 @@
-+2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
-+
-+ Backport from trunk
-+ 2019-08-23 Segher Boessenkool <segher@kernel.crashing.org>
-+
-+ PR target/91481
-+ * gcc.target/powerpc/darn-3.c: New testcase.
-+
- 2019-08-12 Release Manager
-
- * GCC 9.2.0 released.
diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc
index 44cba287f..3dcfdf835 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc
@@ -47,6 +47,7 @@ def get_gcc_multiarch_setting(bb, d):
"i586": "--enable-targets=all",
"i686": "--enable-targets=all",
"powerpc": "--enable-targets=powerpc64",
+ "powerpc64le": "--enable-targets=powerpcle",
"mips": "--enable-targets=all",
"sparc": "--enable-targets=all",
}
diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 24ba8ce75..6cb40fcb7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -17,6 +17,8 @@ GCCTHREADS ?= "posix"
GCCPIE ??= ""
+SYMVERS_CONF ?= "--enable-symvers=gnu"
+
EXTRA_OECONF = "\
${@['--enable-clocale=generic', ''][d.getVar('USE_NLS') != 'no']} \
--with-gnu-ld \
@@ -27,10 +29,12 @@ EXTRA_OECONF = "\
${GCCPIE} \
--enable-c99 \
--enable-long-long \
- --enable-symvers=gnu \
+ ${SYMVERS_CONF} \
--enable-libstdcxx-pch \
--program-prefix=${TARGET_PREFIX} \
--without-local-prefix \
+ --disable-install-libiberty \
+ --with-specs=%{!fno-common:%{!fcommon:-fcommon}} \
${EXTRA_OECONF_BASE} \
${EXTRA_OECONF_GCC_FLOAT} \
${EXTRA_OECONF_PATHS} \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index f14cbf715..553ef7fe6 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -108,12 +108,6 @@ do_install () {
# We don't care about the gcc-<version> copies
rm -f ${D}${bindir}/*gcc-?.?*
- # We use libiberty from binutils
- rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
- # Not sure where the strange paths come from
- rm -f ${D}${libdir}/../lib/libiberty.a
- rm -f ${D}${libdir}/libiberty.a
-
# Cleanup empty directories which are not shipped
# we use rmdir instead of 'rm -f' to ensure the non empty directories are not deleted
# ${D}${libdir}/../lib only seems to appear with SDKMACHINE=i686
@@ -158,7 +152,7 @@ SYSTEMLIBS1 = "${target_libdir}/"
EXTRA_OECONF += "--enable-poison-system-directories"
EXTRA_OECONF_remove_elf = "--with-sysroot=/not/exist"
EXTRA_OECONF_remove_eabi = "--with-sysroot=/not/exist"
-EXTRA_OECONF_append_elf = "--without-headers --with-newlib"
-EXTRA_OECONF_append_eabi = "--without-headers --with-newlib"
+EXTRA_OECONF_append_elf = " --without-headers --with-newlib"
+EXTRA_OECONF_append_eabi = " --without-headers --with-newlib"
# gcc 4.7 needs -isystem
export ARCH_FLAGS_FOR_TARGET = "--sysroot=${STAGING_DIR_TARGET} -isystem=${target_includedir}"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.1.bb
index bf53c5cd7..bf53c5cd7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 8855bb1f3..6fa8c274c 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -61,98 +61,22 @@ do_compile () {
export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
+ # Prevent native/host sysroot path from being used in configargs.h header,
+ # as it will be rewritten when used by other sysroots preventing support
+ # for gcc plugins
+ oe_runmake configure-gcc
+ sed -i 's@${STAGING_DIR_TARGET}@/host@g' ${B}/gcc/configargs.h
+ sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/configargs.h
+
+ # Prevent sysroot/workdir paths from being used in checksum-options.
+ # checksum-options is used to generate a checksum which is embedded into
+ # the output binary.
+ oe_runmake TARGET-gcc=checksum-options all-gcc
+ sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options
+ sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/checksum-options
+
oe_runmake all-host configure-target-libgcc
(cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
- # now generate script to drive testing
- echo "#!/usr/bin/env sh" >${B}/${TARGET_PREFIX}testgcc
- set >> ${B}/${TARGET_PREFIX}testgcc
- # prune out the unneeded vars
- sed -i -e "/^BASH/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^USER/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^OPT/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^DIRSTACK/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^EUID/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^FUNCNAME/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^GROUPS/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^HOST/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^HOME/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^IFS/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^LC_ALL/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^LOGNAME/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^MACHTYPE/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^OSTYPE/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^PIPE/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^SHELL/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^'/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^UID/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^TERM/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^PKG_/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^POSIXLY_/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^PPID/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^PS4/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^Q/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^SHLVL/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^STAGING/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^LD_LIBRARY_PATH/d" ${B}/${TARGET_PREFIX}testgcc
- sed -i -e "/^PSEUDO/d" ${B}/${TARGET_PREFIX}testgcc
-
- # append execution part of the script
-cat >> ${B}/${TARGET_PREFIX}testgcc << STOP
-target="\$1"
-usage () {
- echo "Usage:"
- echo "\$0 user@target 'extra options to dejagnu'"
- echo "\$0 target 'extra options to dejagnu'"
- echo "\$0 target"
- echo "e.g. \$0 192.168.7.2 ' dg.exp=visibility-d.c'"
- echo "will only run visibility-d.c test case"
- echo "e.g. \$0 192.168.7.2 '/-mthumb dg.exp=visibility-d.c'"
- echo "will only run visibility-d.c test case in thumb mode"
- echo "You need to have dejagnu autogen expect installed"
- echo "on the build host"
- }
-if [ "x\$target" = "x" ]
-then
- echo "Please specify the target machine and remote user in form of user@target\n"
- usage
- exit 1;
-fi
-
-shift
-
-echo "\$target" | grep "@" 2>&1 > /dev/null
-if [ "x\$?" = "x0" ]
-then
- user=\$(echo \$target | cut -d '@' -f 1)
- target=\$(echo \$target | cut -d '@' -f 2)
-else
- user=\$USER
-fi
-ssh \$user@\$target date 2>&1 > /dev/null
-if [ "x\$?" != "x0" ]
-then
- echo "Failed connecting to \$user@\$target it could be because"
- echo "you don't have passwordless ssh setup to access \$target"
- echo "or sometimes host key has been changed"
- echo "in such case do something like below on build host"
- echo "ssh-keygen -f "~/.ssh/known_hosts" -R \$target"
- echo "and then try ssh \$user@\$target"
-
- usage
- exit 1
-fi
- echo "lappend boards_dir [pwd]/../../.." > ${B}/site.exp
- echo "load_generic_config \"unix\"" > ${B}/${PACKAGE_ARCH}.exp
- echo "set_board_info username \$user" >> ${B}/${PACKAGE_ARCH}.exp
- echo "set_board_info rsh_prog ssh" >> ${B}/${PACKAGE_ARCH}.exp
- echo "set_board_info rcp_prog scp" >> ${B}/${PACKAGE_ARCH}.exp
- echo "set_board_info hostname \$target" >> ${B}/${PACKAGE_ARCH}.exp
- DEJAGNU=${B}/site.exp make -k check RUNTESTFLAGS="--target_board=${PACKAGE_ARCH}\$@"
-
-STOP
-
- chmod +x ${B}/${TARGET_PREFIX}testgcc
-
}
INHIBIT_PACKAGE_STRIP = "1"
@@ -193,10 +117,6 @@ do_install () {
cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
- # We use libiberty from binutils
- find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
- find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
-
find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
}
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_10.1.bb
index b43cca0c5..b43cca0c5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.1.bb
index 40a6c4fef..40a6c4fef 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index 2da3c02ef..df1432e68 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -16,9 +16,16 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
+EXTRA_OECONF_append_libc-newlib = " --with-newlib"
# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
+EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "
+
+DISABLE_STATIC_class-nativesdk ?= ""
+
+# Newlib does not support symbol versioning on libsdtcc++
+SYMVERS_CONF_libc-newlib = ""
# Building with thumb enabled on armv6t fails
ARM_INSTRUCTION_SET_armv6 = "arm"
@@ -36,9 +43,10 @@ RUNTIMELIBSSP_mingw32 ?= "libssp"
RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \
${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \
"
+# Only build libstdc++ for newlib
+RUNTIMETARGET_libc-newlib = "libstdc++-v3"
# libiberty
-# libmudflap
# libgfortran needs separate recipe due to libquadmath dependency
SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
@@ -158,9 +166,6 @@ PACKAGES = "\
libssp \
libssp-dev \
libssp-staticdev \
- libmudflap \
- libmudflap-dev \
- libmudflap-staticdev \
libquadmath \
libquadmath-dev \
libquadmath-staticdev \
@@ -179,7 +184,7 @@ RRECOMMENDS_${PN}-dbg = ""
# include python debugging scripts
FILES_${PN}-dbg += "\
- ${libdir}/libstdc++.so.*-gdb.py \
+ ${libdir}/libstdc++.*-gdb.py \
${datadir}/gcc-${BINV}/python/libstdcxx \
"
@@ -233,23 +238,13 @@ SUMMARY_libquadmath-dev = "GNU quad-precision math library - development files"
FILES_libquadmath-staticdev = "${libdir}/libquadmath.a"
SUMMARY_libquadmath-staticdev = "GNU quad-precision math library - static development files"
-# NOTE: mudflap has been removed as of gcc 4.9 and has been superseded by the address sanitiser
-FILES_libmudflap = "${libdir}/libmudflap*.so.*"
-SUMMARY_libmudflap = "Pointer debugging library for gcc"
-FILES_libmudflap-dev = "\
- ${libdir}/libmudflap*.so \
- ${libdir}/libmudflap.la \
-"
-SUMMARY_libmudflap-dev = "Pointer debugging library for gcc - development files"
-FILES_libmudflap-staticdev = "${libdir}/libmudflap.a"
-SUMMARY_libmudflap-staticdev = "Pointer debugging library for gcc - static development files"
-
FILES_libgomp = "${libdir}/libgomp*${SOLIBS}"
SUMMARY_libgomp = "GNU OpenMP parallel programming library"
FILES_libgomp-dev = "\
${libdir}/libgomp*${SOLIBSDEV} \
${libdir}/libgomp*.la \
${libdir}/libgomp.spec \
+ ${libdir}/${TARGET_SYS}/${BINV}/include/acc_prof.h \
${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \
${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \
"
@@ -302,10 +297,6 @@ do_check() {
# HACK: this works around the configure setting CXX with -nostd* args
sed -i 's/-nostdinc++ -nostdlib++//g' $(find ${B} -name testsuite_flags | head -1)
- # HACK: this works around the de-stashing changes to configargs.h, as well as recipe-sysroot changing the content
- sed -i '/static const char configuration_arguments/d' ${B}/gcc/configargs.h
- ${CC} -v 2>&1 | grep "^Configured with:" | \
- sed 's/Configured with: \(.*\)/static const char configuration_arguments[] = "\1";/g' >> ${B}/gcc/configargs.h
if [ "${TOOLCHAIN_TEST_TARGET}" = "user" ]; then
# qemu user has issues allocating large amounts of memory
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_10.1.bb
index dd430b57e..dd430b57e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 8b1d1c94b..668e14a59 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -43,7 +43,7 @@ do_install () {
INHIBIT_DEFAULT_DEPS = "1"
ALLOW_EMPTY_${PN} = "1"
-DEPENDS = "gcc-runtime virtual/${TARGET_PREFIX}gcc"
+DEPENDS = "virtual/crypt gcc-runtime virtual/${TARGET_PREFIX}gcc"
# used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
DEBUG_OPTIMIZATION_append = " -Wno-error"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.1.bb
index f3c705811..f3c705811 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-source_10.1.bb
index b890fa33e..b890fa33e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-source_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc
index bdc6ff658..1e25dad86 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc
@@ -15,10 +15,11 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
ARMFPARCHEXT ?= ""
-EXTRA_OECONF_append_armv6 = " --with-arch=armv6${ARMFPARCHEXT}"
-EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a${ARMFPARCHEXT}"
-EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve${ARMFPARCHEXT}"
-EXTRA_OECONF_append_arc = " --with-cpu=${TUNE_PKGARCH}"
+EXTRA_OECONF_append_armv6_class-target = " --with-arch=armv6${ARMFPARCHEXT}"
+EXTRA_OECONF_append_armv7a_class-target = " --with-arch=armv7-a${ARMFPARCHEXT}"
+EXTRA_OECONF_append_armv7ve_class-target = " --with-arch=armv7ve${ARMFPARCHEXT}"
+EXTRA_OECONF_append_arc_class-target = " --with-cpu=${TUNE_PKGARCH}"
+EXTRA_OECONF_append_x86-64_class-target = " --with-arch=native"
# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
# set in subdir gcc, so subdir libcc1 can't use it, export it here to
@@ -41,6 +42,7 @@ PACKAGES = "\
FILES_${PN} = "\
${bindir}/${TARGET_PREFIX}gcc* \
+ ${bindir}/${TARGET_PREFIX}lto* \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2* \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/lto* \
@@ -137,6 +139,21 @@ FILES_${PN}-doc = "\
"
do_compile () {
+ # Prevent full target sysroot path from being used in configargs.h header,
+ # as it will be rewritten when used by other sysroots preventing support
+ # for gcc plugins. Additionally the path is embeddeded into the output
+ # binary, this prevents building a reproducible binary.
+ oe_runmake configure-gcc
+ sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/configargs.h
+ sed -i 's@${STAGING_DIR_HOST}@/@g' ${B}/gcc/configargs.h
+
+ # Prevent sysroot/workdir paths from being used in checksum-options.
+ # checksum-options is used to generate a checksum which is embedded into
+ # the output binary.
+ oe_runmake TARGET-gcc=checksum-options all-gcc
+ sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options
+ sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/checksum-options
+
oe_runmake all-host
}
@@ -164,6 +181,10 @@ do_install () {
# Cleanup manpages..
rm -rf ${D}${mandir}/man7
+ # Don't package details about the build host
+ rm -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/plugin/include/auto-build.h
+ rm -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/plugin/include/bconfig.h
+
cd ${D}${bindir}
# We care about g++ not c++
@@ -172,10 +193,6 @@ do_install () {
# We don't care about the gcc-<version> ones for this
rm -f *gcc-?.?*
- # We use libiberty from binutils
- find ${D}${libdir} -name libiberty.a | xargs rm -f
- find ${D}${libdir} -name libiberty.h | xargs rm -f
-
# Not sure why we end up with these but we don't want them...
rm -f ${TARGET_PREFIX}${TARGET_PREFIX}*
diff --git a/poky/meta/recipes-devtools/gcc/gcc_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc_10.1.bb
index 7d9359058..7d9359058 100644
--- a/poky/meta/recipes-devtools/gcc/gcc_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_10.1.bb
index 0c698c26e..0c698c26e 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc.inc b/poky/meta/recipes-devtools/gcc/libgcc.inc
index e008d14f3..6d48ec980 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc.inc
@@ -9,14 +9,18 @@ do_install_append_class-target () {
"linux-musleabi") extra_target_os="linux-gnueabi";;
*) extra_target_os="linux";;
esac
- ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+ if [ ! -e ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os ]; then
+ ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+ fi
fi
if [ -n "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" ]; then
case "${TARGET_OS}" in
"linux-musleabi") extra_target_os="linux-musleabihf";;
"linux-gnueabi") extra_target_os="linux-gnueabihf";;
esac
- ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+ if [ ! -e ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os ]; then
+ ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+ fi
fi
}
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb b/poky/meta/recipes-devtools/gcc/libgcc_10.1.bb
index ea210a113..ea210a113 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc_10.1.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb b/poky/meta/recipes-devtools/gcc/libgfortran_10.1.bb
index 71dd8b4bd..71dd8b4bd 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb
+++ b/poky/meta/recipes-devtools/gcc/libgfortran_10.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc
deleted file mode 100644
index 39f1c48cc..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb-8.3.1.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
-
-SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \
- file://0001-gdbserver-ctrl-c-handling.patch \
- file://0002-make-man-install-relative-to-DESTDIR.patch \
- file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
- file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
- file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \
- file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \
- file://0007-use-asm-sgidefs.h.patch \
- file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \
- file://0009-Change-order-of-CFLAGS.patch \
- file://0010-resolve-restrict-keyword-conflict.patch \
- file://0011-Fix-invalid-sigprocmask-call.patch \
- "
-SRC_URI[md5sum] = "73b6a5d8141672c62bf851cd34c4aa83"
-SRC_URI[sha256sum] = "1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-9.1.inc b/poky/meta/recipes-devtools/gdb/gdb-9.1.inc
new file mode 100644
index 000000000..d019e6b38
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb-9.1.inc
@@ -0,0 +1,21 @@
+LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
+
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \
+ file://0001-make-man-install-relative-to-DESTDIR.patch \
+ file://0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+ file://0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
+ file://0004-Add-support-for-Renesas-SH-sh4-architecture.patch \
+ file://0005-Dont-disable-libreadline.a-when-using-disable-static.patch \
+ file://0006-use-asm-sgidefs.h.patch \
+ file://0007-Use-exorted-definitions-of-SIGRTMIN.patch \
+ file://0008-Change-order-of-CFLAGS.patch \
+ file://0009-resolve-restrict-keyword-conflict.patch \
+ file://0010-Fix-invalid-sigprocmask-call.patch \
+ file://0011-gdbserver-ctrl-c-handling.patch \
+ "
+SRC_URI[md5sum] = "f7e9f6236c425097d9e5f18a6ac40655"
+SRC_URI[sha256sum] = "699e0ec832fdd2f21c8266171ea5bf44024bd05164fdf064e4d10cc4cf0d1737"
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb
index 301035940..301035940 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_9.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_9.1.bb
index 50cf159fd..50cf159fd 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross_9.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
deleted file mode 100644
index 71fe7f83b..000000000
--- a/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This problem was created by the upstream commit 78708b7c8c
-After applying the commit, it will send SIGINT to the process group(-signal_pid).
-But if we use gdbserver send SIGINT, and the attached process is not a process
-group leader, then the "kill (-signal_pid, SIGINT)" returns error and fails to
-interrupt the attached process.
-
-Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=18945]
-
-Author: Josh Gao
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-
-Index: gdb-8.2/gdb/gdbserver/linux-low.c
-===================================================================
---- gdb-8.2.orig/gdb/gdbserver/linux-low.c
-+++ gdb-8.2/gdb/gdbserver/linux-low.c
-@@ -5940,9 +5940,7 @@ linux_look_up_symbols (void)
- static void
- linux_request_interrupt (void)
- {
-- /* Send a SIGINT to the process group. This acts just like the user
-- typed a ^C on the controlling terminal. */
-- kill (-signal_pid, SIGINT);
-+ kill (signal_pid, SIGINT);
- }
-
- /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
index 60479e541..82287ea13 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
@@ -1,7 +1,7 @@
-From b0209f282716bed2c230c7b496fbcc7af503d0cc Mon Sep 17 00:00:00 2001
+From 036f8e1d387f65e52cb021dbb1bd28e8b75cf017 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 02:27:55 +0000
-Subject: [PATCH 02/11] make man install relative to DESTDIR
+Subject: [PATCH] make man install relative to DESTDIR
Upstream-Status: Pending
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in
-index 227e4cfbc2..8c3457e0bd 100644
+index c6de14122c..c4b1214946 100644
--- a/sim/common/Makefile.in
+++ b/sim/common/Makefile.in
@@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
@@ -23,6 +23,3 @@ index 227e4cfbc2..8c3457e0bd 100644
infodir = @infodir@
includedir = @includedir@
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
index cf54c74c0..6067caf63 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
@@ -1,7 +1,7 @@
-From b14a57d90e1cdd8144cda4c8882bd1db44d26dab Mon Sep 17 00:00:00 2001
+From 6bff2862f9597f324a9385eb2f828e838e51a8a1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 23 Mar 2016 06:30:09 +0000
-Subject: [PATCH 03/11] mips-linux-nat: Define _ABIO32 if not defined
+Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined
This helps building gdb on mips64 on musl, since
musl does not provide sgidefs.h this define is
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 32835c16b2..68a7587af2 100644
+index 104c972f24..7f575b3363 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -41,6 +41,10 @@
@@ -30,6 +30,3 @@ index 32835c16b2..68a7587af2 100644
class mips_linux_nat_target final : public linux_nat_trad_target
{
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index 170d512ef..c4bab7bb1 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -1,4 +1,4 @@
-From da30370c1e3ff7728a857e119e0529a9f097086e Mon Sep 17 00:00:00 2001
+From d5817bcf2f7313699bfa85b41220d862db327664 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 18:32:14 -0700
Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
@@ -6,14 +6,13 @@ Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
gdb/gdbserver/linux-ppc-low.c | 6 ++++++
gdb/nat/ppc-linux.h | 6 ++++++
2 files changed, 12 insertions(+)
diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 1b695e53..1978347c 100644
+index 5d8d67bec2..ffcf65ab58 100644
--- a/gdb/gdbserver/linux-ppc-low.c
+++ b/gdb/gdbserver/linux-ppc-low.c
@@ -23,7 +23,13 @@
@@ -31,7 +30,7 @@ index 1b695e53..1978347c 100644
#include "arch/ppc-linux-common.h"
#include "arch/ppc-linux-tdesc.h"
diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index f1561b3b..40399361 100644
+index d937a65b69..1fd54b4a0e 100644
--- a/gdb/nat/ppc-linux.h
+++ b/gdb/nat/ppc-linux.h
@@ -18,7 +18,13 @@
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
index f840cafe2..fd165d4b8 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0004-Add-support-for-Renesas-SH-sh4-architecture.patch
@@ -1,7 +1,7 @@
-From 215486b53a7a6dfca064cd2e9196a9de6ed6f0c2 Mon Sep 17 00:00:00 2001
+From 505f10a0ea1a8bba0584859d9a348bb779593ec2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 02:31:12 +0000
-Subject: [PATCH 05/11] Add support for Renesas SH (sh4) architecture.
+Subject: [PATCH] Add support for Renesas SH (sh4) architecture.
gdb (7.4-1~cvs20111117.2) experimental; urgency=low
.
@@ -27,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
11 files changed, 617 insertions(+), 29 deletions(-)
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index c76a4e4394..921fdadb49 100644
+index c3e074b21f..42dd7af59c 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
-@@ -2326,6 +2326,8 @@ ALLDEPFILES = \
+@@ -2317,6 +2317,8 @@ ALLDEPFILES = \
sh-nbsd-nat.c \
sh-nbsd-tdep.c \
sh-tdep.c \
@@ -38,12 +38,12 @@ index c76a4e4394..921fdadb49 100644
+ sh-linux-nat.c \
sol2-tdep.c \
solib-aix.c \
- solib-spu.c \
+ solib-svr4.c \
diff --git a/gdb/configure.host b/gdb/configure.host
-index 23a2f16399..39a886ec53 100644
+index ce52823729..5b5173a71a 100644
--- a/gdb/configure.host
+++ b/gdb/configure.host
-@@ -153,6 +153,7 @@ riscv*-*-linux*) gdb_host=linux ;;
+@@ -148,6 +148,7 @@ riscv*-*-linux*) gdb_host=linux ;;
s390*-*-linux*) gdb_host=linux ;;
@@ -52,7 +52,7 @@ index 23a2f16399..39a886ec53 100644
gdb_host=nbsd ;;
sh*-*-openbsd*) gdb_host=nbsd ;;
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
-index db93967910..4109c549e8 100644
+index 13c10eeeda..1d0d583a64 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -18,14 +18,37 @@
@@ -93,7 +93,7 @@ index db93967910..4109c549e8 100644
#include "glibc-tdep.h"
#include "sh-tdep.h"
#include "linux-tdep.h"
-@@ -180,9 +203,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = {
+@@ -181,9 +204,505 @@ static struct tramp_frame sh_linux_rt_sigreturn_tramp_frame = {
sh_linux_rt_sigreturn_init
};
@@ -600,7 +600,7 @@ index db93967910..4109c549e8 100644
/* GNU/Linux uses SVR4-style shared libraries. */
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
-index fe64cf979a..4417114cd0 100644
+index e3aee0ac28..5958cf3688 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -21,6 +21,9 @@
@@ -655,7 +655,7 @@ index fe64cf979a..4417114cd0 100644
len = TYPE_LENGTH (type);
val = sh_justify_value_in_reg (gdbarch, args[argnum], len);
-@@ -1834,7 +1820,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
+@@ -1835,7 +1821,7 @@ sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
reg->how = DWARF2_FRAME_REG_UNDEFINED;
}
@@ -664,7 +664,7 @@ index fe64cf979a..4417114cd0 100644
sh_alloc_frame_cache (void)
{
struct sh_frame_cache *cache;
-@@ -1861,7 +1847,7 @@ sh_alloc_frame_cache (void)
+@@ -1862,7 +1848,7 @@ sh_alloc_frame_cache (void)
return cache;
}
@@ -673,7 +673,7 @@ index fe64cf979a..4417114cd0 100644
sh_frame_cache (struct frame_info *this_frame, void **this_cache)
{
struct gdbarch *gdbarch = get_frame_arch (this_frame);
-@@ -1928,9 +1914,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
+@@ -1929,9 +1915,9 @@ sh_frame_cache (struct frame_info *this_frame, void **this_cache)
return cache;
}
@@ -686,7 +686,7 @@ index fe64cf979a..4417114cd0 100644
{
struct gdbarch *gdbarch = get_frame_arch (this_frame);
struct sh_frame_cache *cache = sh_frame_cache (this_frame, this_cache);
-@@ -1944,7 +1930,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
+@@ -1945,7 +1931,7 @@ sh_frame_prev_register (struct frame_info *this_frame,
the current frame. Frob regnum so that we pull the value from
the correct place. */
if (regnum == gdbarch_pc_regnum (gdbarch))
@@ -695,7 +695,7 @@ index fe64cf979a..4417114cd0 100644
if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
return frame_unwind_got_memory (this_frame, regnum,
-@@ -2255,8 +2241,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
+@@ -2234,8 +2220,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
static struct gdbarch *
sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
@@ -705,7 +705,7 @@ index fe64cf979a..4417114cd0 100644
/* If there is already a candidate, use it. */
arches = gdbarch_list_lookup_by_info (arches, &info);
-@@ -2268,6 +2254,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2247,6 +2233,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep = XCNEW (struct gdbarch_tdep);
gdbarch = gdbarch_alloc (&info, tdep);
@@ -724,7 +724,7 @@ index fe64cf979a..4417114cd0 100644
set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-@@ -2422,10 +2420,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2398,10 +2396,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
break;
}
@@ -738,7 +738,7 @@ index fe64cf979a..4417114cd0 100644
frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
-index 59acd35b88..be3f998d84 100644
+index 76e2e76e39..2710f63010 100644
--- a/gdb/sh-tdep.h
+++ b/gdb/sh-tdep.h
@@ -21,6 +21,12 @@
@@ -821,7 +821,7 @@ index 59acd35b88..be3f998d84 100644
where each general-purpose register is stored inside the associated
core file section. */
diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
-index 9879f0ca47..cbc0e4d5f7 100644
+index 4914498f98..6e25cbed18 100644
--- a/gdb/testsuite/gdb.asm/asm-source.exp
+++ b/gdb/testsuite/gdb.asm/asm-source.exp
@@ -116,6 +116,11 @@ switch -glob -- [istarget] {
@@ -909,6 +909,3 @@ index 756606880f..1205a9bc9c 100644
static int count = 0;
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
index 9ae3ee62b..d0360da43 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0005-Dont-disable-libreadline.a-when-using-disable-static.patch
@@ -1,7 +1,7 @@
-From 5fdd42acaa965be7c420a3f2ba12b77ea503c59b Mon Sep 17 00:00:00 2001
+From d132f21d89157e980574da7d0c949f6dd17df8c3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:25:03 -0700
-Subject: [PATCH 06/11] Dont disable libreadline.a when using --disable-static
+Subject: [PATCH] Dont disable libreadline.a when using --disable-static
If gdb is configured with --disable-static then this is dutifully passed to
readline which then disables libreadline.a, which causes a problem when gdb
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.def b/Makefile.def
-index 75063b6d12..c27bbe4d28 100644
+index 311feb9de3..24c0685d48 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -105,7 +105,8 @@ host_modules= { module= libiconv;
@@ -33,10 +33,10 @@ index 75063b6d12..c27bbe4d28 100644
host_modules= { module= sim; };
host_modules= { module= texinfo; no_install= true; };
diff --git a/Makefile.in b/Makefile.in
-index 7814fe745f..3b0dc7cbb0 100644
+index 1aabf6ede4..d957efde81 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -25470,7 +25470,7 @@ configure-readline:
+@@ -25510,7 +25510,7 @@ configure-readline:
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
@@ -45,6 +45,3 @@ index 7814fe745f..3b0dc7cbb0 100644
|| exit 1
@endif readline
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
index 808f4bfa1..d222d0108 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0006-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
-From d6e12d52f9cef7f5e6315003ceaa236f6cc7723b Mon Sep 17 00:00:00 2001
+From 329e5bf29e934ba99622372a9660865864bb0298 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <amccurdy@gmail.com>
Date: Sat, 30 Apr 2016 15:29:06 -0700
-Subject: [PATCH 07/11] use <asm/sgidefs.h>
+Subject: [PATCH] use <asm/sgidefs.h>
Build fix for MIPS with musl libc
@@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index 68a7587af2..2b77221372 100644
+index 7f575b3363..dc93a64a93 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -31,7 +31,7 @@
@@ -31,6 +31,3 @@ index 68a7587af2..2b77221372 100644
#include "nat/gdb_ptrace.h"
#include <asm/ptrace.h>
#include "inf-ptrace.h"
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
index 95bec5fd6..09896611f 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0007-Use-exorted-definitions-of-SIGRTMIN.patch
@@ -1,4 +1,4 @@
-From bab0b34672727c50313eb98b8522355cbe1bde36 Mon Sep 17 00:00:00 2001
+From 782bb2ab9b104dad4bbaed1d9ac769ce7e5b9f4d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:31:40 -0700
Subject: [PATCH] Use exorted definitions of SIGRTMIN
@@ -14,17 +14,16 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=13012
Upstream-Status: Submitted
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
gdb/linux-nat.c | 4 ++--
gdb/nat/linux-nat.h | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index 063afe26..fb1d2d5d 100644
+index 4484fa5c87..3bb0ee7a49 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
-@@ -4713,6 +4713,6 @@ lin_thread_get_thread_signals (sigset_t *set)
+@@ -4588,6 +4588,6 @@ lin_thread_get_thread_signals (sigset_t *set)
/* NPTL reserves the first two RT signals, but does not provide any
way for the debugger to query the signal numbers - fortunately
they don't change. */
@@ -34,10 +33,10 @@ index 063afe26..fb1d2d5d 100644
+ sigaddset (set, SIGRTMIN + 1);
}
diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
-index 1e32dd9e..b886305d 100644
+index 44dcbb7758..975d7276f6 100644
--- a/gdb/nat/linux-nat.h
+++ b/gdb/nat/linux-nat.h
-@@ -90,4 +90,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp);
+@@ -91,4 +91,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp);
extern int lwp_is_stepping (struct lwp_info *lwp);
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
index bc4bc2683..18168c6ba 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Change-order-of-CFLAGS.patch
@@ -1,7 +1,7 @@
-From ba6ffa461fe781d44d6dcbc0fbd569237b450fdc Mon Sep 17 00:00:00 2001
+From 40c9c174590ce6fdc873b453285249fe957f376d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Apr 2016 15:35:39 -0700
-Subject: [PATCH 09/11] Change order of CFLAGS
+Subject: [PATCH] Change order of CFLAGS
Lets us override Werror if need be
@@ -13,18 +13,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
-index f2f8a084bd..9528db1364 100644
+index 16a9f2fd38..b9c8cd9c41 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
-@@ -143,7 +143,7 @@ CPPFLAGS = @CPPFLAGS@
+@@ -146,7 +146,7 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \
- ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
+ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS)
INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
-INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
+INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER
# LDFLAGS is specifically reserved for setting from the command line
# when running make.
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
index 809d52f25..8f15c49d0 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0009-resolve-restrict-keyword-conflict.patch
@@ -1,7 +1,7 @@
-From 19b581056c1709f7d2872cd76b977542a0fe6142 Mon Sep 17 00:00:00 2001
+From 5b69a98f6bb7363a1f79f29bac2b25b7df6d2fdd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 10 May 2016 08:47:05 -0700
-Subject: [PATCH 10/11] resolve restrict keyword conflict
+Subject: [PATCH] resolve restrict keyword conflict
GCC detects that we call 'restrict' as param name in function
signatures and complains since both params are called 'restrict'
@@ -11,13 +11,13 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/gnulib/import/sys_time.in.h | 8 ++++----
+ gnulib/import/sys_time.in.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
-diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h
-index b4a0e49c50..d22cea9aaf 100644
---- a/gdb/gnulib/import/sys_time.in.h
-+++ b/gdb/gnulib/import/sys_time.in.h
+diff --git a/gnulib/import/sys_time.in.h b/gnulib/import/sys_time.in.h
+index d535a6a48b..7c34d5a1aa 100644
+--- a/gnulib/import/sys_time.in.h
++++ b/gnulib/import/sys_time.in.h
@@ -93,20 +93,20 @@ struct timeval
# define gettimeofday rpl_gettimeofday
# endif
@@ -43,6 +43,3 @@ index b4a0e49c50..d22cea9aaf 100644
# endif
_GL_CXXALIASWARN (gettimeofday);
# if defined __cplusplus && defined GNULIB_NAMESPACE
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
index bce025c39..5209c0027 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0011-Fix-invalid-sigprocmask-call.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0010-Fix-invalid-sigprocmask-call.patch
@@ -1,7 +1,7 @@
-From b1985595e46721bb168ac38f4c841a915cc2f799 Mon Sep 17 00:00:00 2001
+From bc1f01ff5e524f7777083024bce348a9b0017a7a Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
Date: Fri, 24 Mar 2017 10:36:03 +0800
-Subject: [PATCH 11/11] Fix invalid sigprocmask call
+Subject: [PATCH] Fix invalid sigprocmask call
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -28,22 +28,19 @@ Upstream-Status: Pending [not author, cherry-picked from LEDE https://bugs.lede-
Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- gdb/common/signals-state-save-restore.c | 2 +-
+ gdb/gdbsupport/signals-state-save-restore.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/gdb/common/signals-state-save-restore.c b/gdb/common/signals-state-save-restore.c
-index 5bb66321bb..6597decbc6 100644
---- a/gdb/common/signals-state-save-restore.c
-+++ b/gdb/common/signals-state-save-restore.c
-@@ -41,7 +41,7 @@ save_original_signals_state (bool quiet)
+diff --git a/gdb/gdbsupport/signals-state-save-restore.c b/gdb/gdbsupport/signals-state-save-restore.c
+index c292d498da..af9dcaeb08 100644
+--- a/gdb/gdbsupport/signals-state-save-restore.c
++++ b/gdb/gdbsupport/signals-state-save-restore.c
+@@ -38,7 +38,7 @@ save_original_signals_state (bool quiet)
int i;
int res;
-- res = sigprocmask (0, NULL, &original_signal_mask);
-+ res = sigprocmask (SIG_BLOCK, NULL, &original_signal_mask);
+- res = gdb_sigmask (0, NULL, &original_signal_mask);
++ res = gdb_sigmask (SIG_BLOCK, NULL, &original_signal_mask);
if (res == -1)
perror_with_name (("sigprocmask"));
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
new file mode 100644
index 000000000..eedd94c4d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/0011-gdbserver-ctrl-c-handling.patch
@@ -0,0 +1,39 @@
+From 3d6700d38153a0ec8e0800de703a5089a8cd3d2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Nov 2018 18:00:23 -0800
+Subject: [PATCH] gdbserver ctrl-c handling
+
+This problem was created by the upstream commit 78708b7c8c
+After applying the commit, it will send SIGINT to the process
+group(-signal_pid).
+But if we use gdbserver send SIGINT, and the attached process is not a
+process
+group leader, then the "kill (-signal_pid, SIGINT)" returns error and
+fails to
+interrupt the attached process.
+
+Upstream-Status: Submitted
+[https://sourceware.org/bugzilla/show_bug.cgi?id=18945]
+
+Author: Josh Gao
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdb/gdbserver/linux-low.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
+index 4255795ea6..762f8bafb6 100644
+--- a/gdb/gdbserver/linux-low.c
++++ b/gdb/gdbserver/linux-low.c
+@@ -5904,9 +5904,7 @@ linux_look_up_symbols (void)
+ static void
+ linux_request_interrupt (void)
+ {
+- /* Send a SIGINT to the process group. This acts just like the user
+- typed a ^C on the controlling terminal. */
+- kill (-signal_pid, SIGINT);
++ kill (signal_pid, SIGINT);
+ }
+
+ /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET
diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.3.1.bb b/poky/meta/recipes-devtools/gdb/gdb_9.1.bb
index d70757a15..d70757a15 100644
--- a/poky/meta/recipes-devtools/gdb/gdb_8.3.1.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb_9.1.bb
diff --git a/poky/meta/recipes-devtools/git/git.inc b/poky/meta/recipes-devtools/git/git.inc
index 95ab397f6..544e23c84 100644
--- a/poky/meta/recipes-devtools/git/git.inc
+++ b/poky/meta/recipes-devtools/git/git.inc
@@ -21,7 +21,9 @@ PACKAGECONFIG[svn] = ""
EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \
--without-tcltk \
+ --without-iconv \
"
+EXTRA_OECONF_append_class-nativesdk = " --with-gitconfig=/etc/gitconfig "
# Needs brokensep as this doesn't use automake
inherit autotools-brokensep perlnative bash-completion
diff --git a/poky/meta/recipes-devtools/git/git_2.24.0.bb b/poky/meta/recipes-devtools/git/git_2.24.0.bb
deleted file mode 100644
index e9cb382f6..000000000
--- a/poky/meta/recipes-devtools/git/git_2.24.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
- ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
- "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.md5sum] = "ed39361a3ae362c8af852d1a06992bc2"
-SRC_URI[tarball.sha256sum] = "ad11030d2eac656ee9e8862f56d1610550f7867181beff814c7712a99192e99d"
-SRC_URI[manpages.md5sum] = "57465e83f13ba910a178b717d93958c0"
-SRC_URI[manpages.sha256sum] = "ce995f86f441b56ab1fd0788a94786904ae2e2989e7191fd68060003011366d7"
diff --git a/poky/meta/recipes-devtools/git/git_2.26.2.bb b/poky/meta/recipes-devtools/git/git_2.26.2.bb
new file mode 100644
index 000000000..ae7aa267b
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.26.2.bb
@@ -0,0 +1,10 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+ ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+ "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.sha256sum] = "e1c17777528f55696815ef33587b1d20f5eec246669f3b839d15dbfffad9c121"
+SRC_URI[manpages.sha256sum] = "b3c6cfc980f3c593d0cd0c63e0c97d6f1cafe7b72321fc3a94948758b9529c5b"
+
diff --git a/poky/meta/recipes-devtools/glide/glide_0.13.2.bb b/poky/meta/recipes-devtools/glide/glide_0.13.3.bb
index 7faaf4a38..31295edf9 100644
--- a/poky/meta/recipes-devtools/glide/glide_0.13.2.bb
+++ b/poky/meta/recipes-devtools/glide/glide_0.13.3.bb
@@ -5,10 +5,14 @@ LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=54905cf894f8cc416a92f4fc
GO_IMPORT = "github.com/Masterminds/glide"
SRC_URI = "git://${GO_IMPORT}"
-SRCREV = "9ef6ca313b3200079861f2de4e567b1d22081d19"
+SRCREV = "8ed5b9292379d86c39592a7e6a58eb9c903877cf"
inherit go
+# New Go versions has Go modules support enabled by default and cause the Glide
+# tool build to fail.
+export GO111MODULE = "off"
+
RDEPENDS_${PN}-dev += "bash"
RDEPENDS_${PN}-ptest += "bash"
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 1630c1282..48b7e6d4a 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native"
INHIBIT_DEFAULT_DEPS = "1"
-SRCREV = "b98424c249119b79d3f709e26eb86f2fd4d5e5f3"
-PV = "20190501+git${SRCPV}"
+SRCREV = "5256817ace8493502ec88501a19e4051c2e220b0"
+PV = "20200117+git${SRCPV}"
SRC_URI = "git://git.savannah.gnu.org/config.git \
file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch
deleted file mode 100644
index 4442858c8..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0001-allow-CC-and-CXX-to-have-multiple-words.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7cc519aa5f84cf8fc7ac8c10fc69aa8040330ea0 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Mon, 19 Feb 2018 08:49:33 -0800
-Subject: [PATCH] allow CC and CXX to have multiple words
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/envcmd/env.go | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index afadbad..cedbfbf 100644
---- a/src/cmd/go/internal/envcmd/env.go
-+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -85,11 +85,11 @@ func MkEnv() []cfg.EnvVar {
-
- cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch)
- if env := strings.Fields(os.Getenv("CC")); len(env) > 0 {
-- cc = env[0]
-+ cc = strings.Join(env, " ")
- }
- cxx := cfg.DefaultCXX(cfg.Goos, cfg.Goarch)
- if env := strings.Fields(os.Getenv("CXX")); len(env) > 0 {
-- cxx = env[0]
-+ cxx = strings.Join(env, " ")
- }
- env = append(env, cfg.EnvVar{Name: "CC", Value: cc})
- env = append(env, cfg.EnvVar{Name: "CXX", Value: cxx})
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0001-release-branch.go1.12-security-net-textproto-don-t-n.patch b/poky/meta/recipes-devtools/go/go-1.12/0001-release-branch.go1.12-security-net-textproto-don-t-n.patch
deleted file mode 100644
index 7b39dbd73..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0001-release-branch.go1.12-security-net-textproto-don-t-n.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 265b691ac440bfb711d8de323346f7d72e620efe Mon Sep 17 00:00:00 2001
-From: Filippo Valsorda <filippo@golang.org>
-Date: Thu, 12 Sep 2019 12:37:36 -0400
-Subject: [PATCH] [release-branch.go1.12-security] net/textproto: don't
- normalize headers with spaces before the colon
-
-RFC 7230 is clear about headers with a space before the colon, like
-
-X-Answer : 42
-
-being invalid, but we've been accepting and normalizing them for compatibility
-purposes since CL 5690059 in 2012.
-
-On the client side, this is harmless and indeed most browsers behave the same
-to this day. On the server side, this becomes a security issue when the
-behavior doesn't match that of a reverse proxy sitting in front of the server.
-
-For example, if a WAF accepts them without normalizing them, it might be
-possible to bypass its filters, because the Go server would interpret the
-header differently. Worse, if the reverse proxy coalesces requests onto a
-single HTTP/1.1 connection to a Go server, the understanding of the request
-boundaries can get out of sync between them, allowing an attacker to tack an
-arbitrary method and path onto a request by other clients, including
-authentication headers unknown to the attacker.
-
-This was recently presented at multiple security conferences:
-https://portswigger.net/blog/http-desync-attacks-request-smuggling-reborn
-
-net/http servers already reject header keys with invalid characters.
-Simply stop normalizing extra spaces in net/textproto, let it return them
-unchanged like it does for other invalid headers, and let net/http enforce
-RFC 7230, which is HTTP specific. This loses us normalization on the client
-side, but there's no right answer on the client side anyway, and hiding the
-issue sounds worse than letting the application decide.
-
-Fixes CVE-2019-16276
-
-Change-Id: I6d272de827e0870da85d93df770d6a0e161bbcf1
-Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/549719
-Reviewed-by: Brad Fitzpatrick <bradfitz@google.com>
-(cherry picked from commit 1280b868e82bf173ea3e988be3092d160ee66082)
-Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/558776
-Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
-
-CVE: CVE-2019-16276
-
-Upstream-Status: Backport [https://github.com/golang/go/commit/6e6f4aaf70c8b1cc81e65a26332aa9409de03ad8]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/net/http/serve_test.go | 4 ++++
- src/net/http/transport_test.go | 27 +++++++++++++++++++++++++++
- src/net/textproto/reader.go | 10 ++--------
- src/net/textproto/reader_test.go | 13 ++++++-------
- 4 files changed, 39 insertions(+), 15 deletions(-)
-
-diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go
-index 6eb0088a96..89bfdfbb82 100644
---- a/src/net/http/serve_test.go
-+++ b/src/net/http/serve_test.go
-@@ -4748,6 +4748,10 @@ func TestServerValidatesHeaders(t *testing.T) {
- {"foo\xffbar: foo\r\n", 400}, // binary in header
- {"foo\x00bar: foo\r\n", 400}, // binary in header
- {"Foo: " + strings.Repeat("x", 1<<21) + "\r\n", 431}, // header too large
-+ // Spaces between the header key and colon are not allowed.
-+ // See RFC 7230, Section 3.2.4.
-+ {"Foo : bar\r\n", 400},
-+ {"Foo\t: bar\r\n", 400},
-
- {"foo: foo foo\r\n", 200}, // LWS space is okay
- {"foo: foo\tfoo\r\n", 200}, // LWS tab is okay
-diff --git a/src/net/http/transport_test.go b/src/net/http/transport_test.go
-index 5c329543e2..5e5438a708 100644
---- a/src/net/http/transport_test.go
-+++ b/src/net/http/transport_test.go
-@@ -5133,3 +5133,30 @@ func TestTransportIgnores408(t *testing.T) {
- }
- t.Fatalf("timeout after %v waiting for Transport connections to die off", time.Since(t0))
- }
-+
-+func TestInvalidHeaderResponse(t *testing.T) {
-+ setParallel(t)
-+ defer afterTest(t)
-+ cst := newClientServerTest(t, h1Mode, HandlerFunc(func(w ResponseWriter, r *Request) {
-+ conn, buf, _ := w.(Hijacker).Hijack()
-+ buf.Write([]byte("HTTP/1.1 200 OK\r\n" +
-+ "Date: Wed, 30 Aug 2017 19:09:27 GMT\r\n" +
-+ "Content-Type: text/html; charset=utf-8\r\n" +
-+ "Content-Length: 0\r\n" +
-+ "Foo : bar\r\n\r\n"))
-+ buf.Flush()
-+ conn.Close()
-+ }))
-+ defer cst.close()
-+ res, err := cst.c.Get(cst.ts.URL)
-+ if err != nil {
-+ t.Fatal(err)
-+ }
-+ defer res.Body.Close()
-+ if v := res.Header.Get("Foo"); v != "" {
-+ t.Errorf(`unexpected "Foo" header: %q`, v)
-+ }
-+ if v := res.Header.Get("Foo "); v != "bar" {
-+ t.Errorf(`bad "Foo " header value: %q, want %q`, v, "bar")
-+ }
-+}
-diff --git a/src/net/textproto/reader.go b/src/net/textproto/reader.go
-index 2c4f25d5ae..1a5e364cf7 100644
---- a/src/net/textproto/reader.go
-+++ b/src/net/textproto/reader.go
-@@ -493,18 +493,12 @@ func (r *Reader) ReadMIMEHeader() (MIMEHeader, error) {
- return m, err
- }
-
-- // Key ends at first colon; should not have trailing spaces
-- // but they appear in the wild, violating specs, so we remove
-- // them if present.
-+ // Key ends at first colon.
- i := bytes.IndexByte(kv, ':')
- if i < 0 {
- return m, ProtocolError("malformed MIME header line: " + string(kv))
- }
-- endKey := i
-- for endKey > 0 && kv[endKey-1] == ' ' {
-- endKey--
-- }
-- key := canonicalMIMEHeaderKey(kv[:endKey])
-+ key := canonicalMIMEHeaderKey(kv[:i])
-
- // As per RFC 7230 field-name is a token, tokens consist of one or more chars.
- // We could return a ProtocolError here, but better to be liberal in what we
-diff --git a/src/net/textproto/reader_test.go b/src/net/textproto/reader_test.go
-index f85fbdc36d..b92fdcd3c7 100644
---- a/src/net/textproto/reader_test.go
-+++ b/src/net/textproto/reader_test.go
-@@ -188,11 +188,10 @@ func TestLargeReadMIMEHeader(t *testing.T) {
- }
- }
-
--// Test that we read slightly-bogus MIME headers seen in the wild,
--// with spaces before colons, and spaces in keys.
-+// TestReadMIMEHeaderNonCompliant checks that we don't normalize headers
-+// with spaces before colons, and accept spaces in keys.
- func TestReadMIMEHeaderNonCompliant(t *testing.T) {
-- // Invalid HTTP response header as sent by an Axis security
-- // camera: (this is handled by IE, Firefox, Chrome, curl, etc.)
-+ // These invalid headers will be rejected by net/http according to RFC 7230.
- r := reader("Foo: bar\r\n" +
- "Content-Language: en\r\n" +
- "SID : 0\r\n" +
-@@ -202,9 +201,9 @@ func TestReadMIMEHeaderNonCompliant(t *testing.T) {
- want := MIMEHeader{
- "Foo": {"bar"},
- "Content-Language": {"en"},
-- "Sid": {"0"},
-- "Audio Mode": {"None"},
-- "Privilege": {"127"},
-+ "SID ": {"0"},
-+ "Audio Mode ": {"None"},
-+ "Privilege ": {"127"},
- }
- if !reflect.DeepEqual(m, want) || err != nil {
- t.Fatalf("ReadMIMEHeader =\n%v, %v; want:\n%v", m, err, want)
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
deleted file mode 100644
index 66b856187..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From 47db69e20ed66fb62b01affd83d829654b829893 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Mon, 19 Feb 2018 08:50:59 -0800
-Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
-
-Go 1.10's build tool now uses content-based hashes to
-determine when something should be built or re-built.
-This same mechanism is used to maintain a built-artifact
-cache for speeding up builds.
-
-However, the hashes it generates include information that
-doesn't work well with OE, nor with using a shared runtime
-library.
-
-First, it embeds path names to source files, unless
-building within GOROOT. This prevents the building
-of a package in GOPATH for later staging into GOROOT.
-
-This patch adds support for the environment variable
-GOPATH_OMIT_IN_ACTIONID. If present, path name
-embedding is disabled.
-
-Second, if cgo is enabled, the build ID for cgo-related
-packages will include the current value of the environment
-variables for invoking the compiler (CC, CXX, FC) and
-any CGO_xxFLAGS variables. Only if the settings used
-during a compilation exactly match, character for character,
-the values used for compiling runtime/cgo or any other
-cgo-enabled package being imported, will the tool
-decide that the imported package is up-to-date.
-
-This is done to help ensure correctness, but is overly
-simplistic and effectively prevents the reuse of built
-artifacts that use cgo (or shared runtime, which includes
-runtime/cgo).
-
-This patch filters out all compiler flags except those
-beginning with '-m'. The default behavior can be restored
-by setting the CGO_PEDANTIC environment variable.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/envcmd/env.go | 2 +-
- src/cmd/go/internal/work/exec.go | 63 ++++++++++++++++++++++---------
- 2 files changed, 46 insertions(+), 19 deletions(-)
-
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index cedbfbf..5763a0d 100644
---- a/src/cmd/go/internal/envcmd/env.go
-+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -128,7 +128,7 @@ func ExtraEnvVars() []cfg.EnvVar {
- func ExtraEnvVarsCostly() []cfg.EnvVar {
- var b work.Builder
- b.Init()
-- cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{})
-+ cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false)
- if err != nil {
- // Should not happen - b.CFlags was given an empty package.
- fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 12e1527..e41bfac 100644
---- a/src/cmd/go/internal/work/exec.go
-+++ b/src/cmd/go/internal/work/exec.go
-@@ -174,6 +174,8 @@ func (b *Builder) Do(root *Action) {
- wg.Wait()
- }
-
-+var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != ""
-+
- // buildActionID computes the action ID for a build action.
- func (b *Builder) buildActionID(a *Action) cache.ActionID {
- p := a.Package
-@@ -190,7 +192,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- // but it does not hide the exact value of $GOPATH.
- // Include the full dir in that case.
- // Assume b.WorkDir is being trimmed properly.
-- if !p.Goroot && !strings.HasPrefix(p.Dir, b.WorkDir) {
-+ if !p.Goroot && !omitGopath && !strings.HasPrefix(p.Dir, b.WorkDir) {
- fmt.Fprintf(h, "dir %s\n", p.Dir)
- }
- fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
-@@ -201,13 +203,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- }
- if len(p.CgoFiles)+len(p.SwigFiles) > 0 {
- fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
-- cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p)
-- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, ldflags)
-+ cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true)
-+ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, cflags, ldflags)
- if len(p.CXXFiles)+len(p.SwigFiles) > 0 {
-- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags)
-+ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags)
- }
- if len(p.FFiles) > 0 {
-- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags)
-+ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags)
- }
- // TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions?
- }
-@@ -2096,33 +2098,33 @@ var (
- // gccCmd returns a gcc command line prefix
- // defaultCC is defined in zdefaultcc.go, written by cmd/dist.
- func (b *Builder) GccCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.ccExe(), incdir, workdir)
-+ return b.compilerCmd(b.ccExe(false), incdir, workdir)
- }
-
- // gxxCmd returns a g++ command line prefix
- // defaultCXX is defined in zdefaultcc.go, written by cmd/dist.
- func (b *Builder) GxxCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.cxxExe(), incdir, workdir)
-+ return b.compilerCmd(b.cxxExe(false), incdir, workdir)
- }
-
- // gfortranCmd returns a gfortran command line prefix.
- func (b *Builder) gfortranCmd(incdir, workdir string) []string {
-- return b.compilerCmd(b.fcExe(), incdir, workdir)
-+ return b.compilerCmd(b.fcExe(false), incdir, workdir)
- }
-
- // ccExe returns the CC compiler setting without all the extra flags we add implicitly.
--func (b *Builder) ccExe() []string {
-- return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch))
-+func (b *Builder) ccExe(filtered bool) []string {
-+ return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch), filtered)
- }
-
- // cxxExe returns the CXX compiler setting without all the extra flags we add implicitly.
--func (b *Builder) cxxExe() []string {
-- return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch))
-+func (b *Builder) cxxExe(filtered bool) []string {
-+ return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch), filtered)
- }
-
- // fcExe returns the FC compiler setting without all the extra flags we add implicitly.
--func (b *Builder) fcExe() []string {
-- return b.compilerExe(os.Getenv("FC"), "gfortran")
-+func (b *Builder) fcExe(filtered bool) []string {
-+ return b.compilerExe(os.Getenv("FC"), "gfortran", filtered)
- }
-
- // compilerExe returns the compiler to use given an
-@@ -2131,11 +2133,14 @@ func (b *Builder) fcExe() []string {
- // of the compiler but can have additional arguments if they
- // were present in the environment value.
- // For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"].
--func (b *Builder) compilerExe(envValue string, def string) []string {
-+func (b *Builder) compilerExe(envValue string, def string, filtered bool) []string {
- compiler := strings.Fields(envValue)
- if len(compiler) == 0 {
- compiler = []string{def}
- }
-+ if filtered {
-+ return append(compiler[0:1], filterCompilerFlags(compiler[1:])...)
-+ }
- return compiler
- }
-
-@@ -2285,8 +2290,23 @@ func envList(key, def string) []string {
- return strings.Fields(v)
- }
-
-+var filterFlags = os.Getenv("CGO_PEDANTIC") == ""
-+
-+func filterCompilerFlags(flags []string) []string {
-+ var newflags []string
-+ if !filterFlags {
-+ return flags
-+ }
-+ for _, flag := range flags {
-+ if strings.HasPrefix(flag, "-m") {
-+ newflags = append(newflags, flag)
-+ }
-+ }
-+ return newflags
-+}
-+
- // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
--func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
-+func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
- defaults := "-g -O2"
-
- if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
-@@ -2304,6 +2324,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
- if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
- return
- }
-+ if filtered {
-+ cppflags = filterCompilerFlags(cppflags)
-+ cflags = filterCompilerFlags(cflags)
-+ cxxflags = filterCompilerFlags(cxxflags)
-+ fflags = filterCompilerFlags(fflags)
-+ ldflags = filterCompilerFlags(ldflags)
-+ }
-
- return
- }
-@@ -2319,7 +2346,7 @@ var cgoRe = regexp.MustCompile(`[/\\:]`)
-
- func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
- p := a.Package
-- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p)
-+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false)
- if err != nil {
- return nil, nil, err
- }
-@@ -2679,7 +2706,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
-
- // Run SWIG on one SWIG input file.
- func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
-- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p)
-+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false)
- if err != nil {
- return "", "", err
- }
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
deleted file mode 100644
index b6ca40ede..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5c32c38bf19b24f0aadd78012d17ff5caa82151e Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 05:24:20 -0800
-Subject: [PATCH] allow GOTOOLDIR to be overridden in the environment
-
-to allow for split host/target build roots
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/dist/build.go | 4 +++-
- src/cmd/go/internal/cfg/cfg.go | 7 +++++--
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-Index: go/src/cmd/dist/build.go
-===================================================================
---- go.orig/src/cmd/dist/build.go
-+++ go/src/cmd/dist/build.go
-@@ -228,7 +228,9 @@ func xinit() {
- workdir = xworkdir()
- xatexit(rmworkdir)
-
-- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
-+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
-+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
-+ }
- }
-
- // compilerEnv returns a map from "goos/goarch" to the
-Index: go/src/cmd/go/internal/cfg/cfg.go
-===================================================================
---- go.orig/src/cmd/go/internal/cfg/cfg.go
-+++ go/src/cmd/go/internal/cfg/cfg.go
-@@ -116,7 +116,11 @@ func init() {
- // variables. This matches the initialization of ToolDir in
- // go/build, except for using GOROOT rather than
- // runtime.GOROOT.
-- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ if s := os.Getenv("GOTOOLDIR"); s != "" {
-+ build.ToolDir = filepath.Clean(s)
-+ } else {
-+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+ }
- }
- }
-
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch
deleted file mode 100644
index 004a33a02..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0004-ld-add-soname-to-shareable-objects.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 06:26:10 -0800
-Subject: [PATCH] ld: add soname to shareable objects
-
-so that OE's shared library dependency handling
-can find them.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/link/internal/ld/lib.go | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 220aab3..703925f 100644
---- a/src/cmd/link/internal/ld/lib.go
-+++ b/src/cmd/link/internal/ld/lib.go
-@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- if ctxt.HeadType != objabi.Hwindows {
- // Pass -z nodelete to mark the shared library as
- // non-closeable: a dlclose will do nothing.
-@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
-+
- case BuildModePlugin:
- if ctxt.HeadType == objabi.Hdarwin {
- argv = append(argv, "-dynamiclib")
-@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() {
- argv = append(argv, "-Wl,-z,relro")
- }
- argv = append(argv, "-shared")
-+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
- }
- }
-
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
deleted file mode 100644
index ace8de9ea..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1bf15aa8fb773604b2524cfdab493fa4d8fa9285 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 06:32:45 -0800
-Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
-
-for handling OE cross-canadian builds.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/make.bash | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/make.bash b/src/make.bash
-index 78882d9..25943d0 100755
---- a/src/make.bash
-+++ b/src/make.bash
-@@ -163,7 +163,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
- exit 1
- fi
- rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-
- # -e doesn't propagate out of eval, so check success by hand.
- eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -194,7 +194,7 @@ fi
- # Run dist bootstrap to complete make.bash.
- # Bootstrap installs a proper cmd/dist, built with the new toolchain.
- # Throw ours, built with Go 1.4, away after bootstrap.
--./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
-+CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@"
- rm -f ./cmd/dist/dist
-
- # DO NOT ADD ANY NEW CODE HERE.
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch
deleted file mode 100644
index 0c0d5da80..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0006-cmd-dist-separate-host-and-target-builds.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From fe0fcaf43ef3aab81541dad2a71b46254dc4cf6a Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sat, 17 Feb 2018 10:03:48 -0800
-Subject: [PATCH] cmd/dist: separate host and target builds
-
-Change the dist tool to allow for OE-style cross-
-and cross-canadian builds:
-
- - command flags --host-only and --target only are added;
- if one is present, the other changes mentioned below
- take effect, and arguments may also be specified on
- the command line to enumerate the package(s) to be
- built.
-
- - for OE cross builds, go_bootstrap is always built for
- the current build host, and is moved, along with the supporting
- toolchain (asm, compile, etc.) to a separate 'native_native'
- directory under GOROOT/pkg/tool.
-
- - go_bootstrap is not automatically removed after the build,
- so it can be reused later (e.g., building both static and
- shared runtime).
-
-Note that for --host-only builds, it would be nice to specify
-just the "cmd" package to build only the go commands/tools,
-the staleness checks in the dist tool will fail if the "std"
-library has not also been built. So host-only builds have to
-build everything anyway.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
-more dist cleanup
-
----
- src/cmd/dist/build.go | 153 ++++++++++++++++++++++++++++++------------
- 1 file changed, 111 insertions(+), 42 deletions(-)
-
-Index: go/src/cmd/dist/build.go
-===================================================================
---- go.orig/src/cmd/dist/build.go
-+++ go/src/cmd/dist/build.go
-@@ -39,6 +39,7 @@ var (
- goldflags string
- workdir string
- tooldir string
-+ build_tooldir string
- oldgoos string
- oldgoarch string
- exe string
-@@ -50,6 +51,7 @@ var (
-
- rebuildall bool
- defaultclang bool
-+ crossBuild bool
-
- vflag int // verbosity
- )
-@@ -231,6 +233,8 @@ func xinit() {
- if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
- }
-+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
-+
- }
-
- // compilerEnv returns a map from "goos/goarch" to the
-@@ -260,7 +264,6 @@ func compilerEnv(envName, def string) ma
- if gohostos != goos || gohostarch != goarch {
- m[gohostos+"/"+gohostarch] = m[""]
- }
-- m[""] = env
- }
-
- for _, goos := range okgoos {
-@@ -487,8 +490,10 @@ func setup() {
- // We keep it in pkg/, just like the object directory above.
- if rebuildall {
- xremoveall(tooldir)
-+ xremoveall(build_tooldir)
- }
- xmkdirall(tooldir)
-+ xmkdirall(build_tooldir)
-
- // Remove tool binaries from before the tool/gohostos_gohostarch
- xremoveall(pathf("%s/bin/tool", goroot))
-@@ -1155,11 +1160,29 @@ func cmdbootstrap() {
-
- var noBanner bool
- var debug bool
-+ var hostOnly bool
-+ var targetOnly bool
-+ var toBuild = []string { "std", "cmd" }
-+
- flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
- flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
- flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
-+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
-+ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host")
-
-- xflagparse(0)
-+ xflagparse(-1)
-+
-+ if (hostOnly && targetOnly) {
-+ fatalf("specify only one of --host-only or --target-only\n")
-+ }
-+ crossBuild = hostOnly || targetOnly
-+ if flag.NArg() > 0 {
-+ if crossBuild {
-+ toBuild = flag.Args()
-+ } else {
-+ fatalf("package names not permitted without --host-only or --target-only\n")
-+ }
-+ }
-
- if debug {
- // cmd/buildid is used in debug mode.
-@@ -1207,8 +1230,13 @@ func cmdbootstrap() {
- xprintf("\n")
- }
-
-- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
-- goldflags = os.Getenv("GO_LDFLAGS")
-+ // For split host/target cross/cross-canadian builds, we don't
-+ // want to be setting these flags until after we have compiled
-+ // the toolchain that runs on the build host.
-+ if ! crossBuild {
-+ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
-+ goldflags = os.Getenv("GO_LDFLAGS")
-+ }
- goBootstrap := pathf("%s/go_bootstrap", tooldir)
- cmdGo := pathf("%s/go", gobin)
- if debug {
-@@ -1237,7 +1265,11 @@ func cmdbootstrap() {
- xprintf("\n")
- }
- xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
-- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ if crossBuild {
-+ os.Setenv("CC", defaultcc[""])
-+ } else {
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ }
- goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...)
- if debug {
- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-@@ -1274,50 +1306,84 @@ func cmdbootstrap() {
- }
- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-
-- if goos == oldgoos && goarch == oldgoarch {
-- // Common case - not setting up for cross-compilation.
-- timelog("build", "toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-+ if crossBuild {
-+ gogcflags = os.Getenv("GO_GCFLAGS")
-+ goldflags = os.Getenv("GO_LDFLAGS")
-+ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir))
-+ for _, f := range tool_files {
-+ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec)
-+ xremove(f)
-+ }
-+ os.Setenv("GOTOOLDIR", build_tooldir)
-+ goBootstrap = pathf("%s/go_bootstrap", build_tooldir)
-+ if hostOnly {
-+ timelog("build", "host toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+ goInstall(goBootstrap, toBuild...)
-+ checkNotStale(goBootstrap, toBuild...)
-+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
-+
-+ timelog("build", "target toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ } else if targetOnly {
-+ goos = oldgoos
-+ goarch = oldgoarch
-+ os.Setenv("GOOS", goos)
-+ os.Setenv("GOARCH", goarch)
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
-+ goInstall(goBootstrap, toBuild...)
-+ checkNotStale(goBootstrap, toBuild...)
-+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
- }
-- xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
- } else {
-- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
-- // Finish GOHOSTOS/GOHOSTARCH installation and then
-- // run GOOS/GOARCH installation.
-- timelog("build", "host toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-+
-+ if goos == oldgoos && goarch == oldgoarch {
-+ // Common case - not setting up for cross-compilation.
-+ timelog("build", "toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building packages and commands for %s/%s.\n", goos, goarch)
-+ } else {
-+ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH.
-+ // Finish GOHOSTOS/GOHOSTARCH installation and then
-+ // run GOOS/GOARCH installation.
-+ timelog("build", "host toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
-+ goInstall(goBootstrap, "std", "cmd")
-+ checkNotStale(goBootstrap, "std", "cmd")
-+ checkNotStale(cmdGo, "std", "cmd")
-+
-+ timelog("build", "target toolchain")
-+ if vflag > 0 {
-+ xprintf("\n")
-+ }
-+ goos = oldgoos
-+ goarch = oldgoarch
-+ os.Setenv("GOOS", goos)
-+ os.Setenv("GOARCH", goarch)
-+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-+ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
- }
-- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
- goInstall(goBootstrap, "std", "cmd")
- checkNotStale(goBootstrap, "std", "cmd")
- checkNotStale(cmdGo, "std", "cmd")
-
-- timelog("build", "target toolchain")
-- if vflag > 0 {
-- xprintf("\n")
-- }
-- goos = oldgoos
-- goarch = oldgoarch
-- os.Setenv("GOOS", goos)
-- os.Setenv("GOARCH", goarch)
-- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
-- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
-- }
-- targets := []string{"std", "cmd"}
-- if goos == "js" && goarch == "wasm" {
-- // Skip the cmd tools for js/wasm. They're not usable.
-- targets = targets[:1]
-- }
-- goInstall(goBootstrap, targets...)
-- checkNotStale(goBootstrap, targets...)
-- checkNotStale(cmdGo, targets...)
-- if debug {
-- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ if debug {
-+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
-+ }
- }
-
- // Check that there are no new files in $GOROOT/bin other than
-@@ -1335,7 +1401,11 @@ func cmdbootstrap() {
- }
-
- // Remove go_bootstrap now that we're done.
-- xremove(pathf("%s/go_bootstrap", tooldir))
-+ // Except that for split host/target cross-builds, we need to
-+ // keep it.
-+ if ! crossBuild {
-+ xremove(pathf("%s/go_bootstrap", tooldir))
-+ }
-
- // Print trailing banner unless instructed otherwise.
- if !noBanner {
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch
deleted file mode 100644
index 29ef947ab..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0007-cmd-go-make-GOROOT-precious-by-default.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 7cc60b3887be2d5674b9f5d422d022976cf205e5 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Fri, 2 Mar 2018 06:00:20 -0800
-Subject: [PATCH] cmd/go: make GOROOT precious by default
-
-The go build tool normally rebuilds whatever it detects is
-stale. This can be a problem when GOROOT is intended to
-be read-only and the go runtime has been built as a shared
-library, since we don't want every application to be rebuilding
-the shared runtime - particularly in cross-build/packaging
-setups, since that would lead to 'abi mismatch' runtime errors.
-
-This patch prevents the install and linkshared actions from
-installing to GOROOT unless overridden with the GOROOT_OVERRIDE
-environment variable.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison <matt@madison.systems>
-
----
- src/cmd/go/internal/work/action.go | 3 +++
- src/cmd/go/internal/work/build.go | 5 +++++
- src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++
- 3 files changed, 33 insertions(+)
-
-Index: go/src/cmd/go/internal/work/action.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/action.go
-+++ go/src/cmd/go/internal/work/action.go
-@@ -600,6 +600,9 @@ func (b *Builder) addTransitiveLinkDeps(
- if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
- continue
- }
-+ if goRootPrecious && (p1.Standard || p1.Goroot) {
-+ continue
-+ }
- haveShlib[filepath.Base(p1.Shlib)] = true
- // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
- // we'll end up building an overall library or executable that depends at runtime
-Index: go/src/cmd/go/internal/work/build.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/build.go
-+++ go/src/cmd/go/internal/work/build.go
-@@ -147,6 +147,7 @@ See also: go install, go get, go clean.
- }
-
- const concurrentGCBackendCompilationEnabledByDefault = true
-+var goRootPrecious bool = true
-
- func init() {
- // break init cycle
-@@ -160,6 +161,10 @@ func init() {
-
- AddBuildFlags(CmdBuild)
- AddBuildFlags(CmdInstall)
-+
-+ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
-+ goRootPrecious = false
-+ }
- }
-
- // Note that flags consulted by other parts of the code
-Index: go/src/cmd/go/internal/work/exec.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/exec.go
-+++ go/src/cmd/go/internal/work/exec.go
-@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err
- return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target)
- }
-
-+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
-+ _, err := os.Stat(a.Package.Target)
-+ if err == nil {
-+ a.built = a.Package.Target
-+ a.Target = a.Package.Target
-+ a.buildID = b.fileHash(a.Package.Target)
-+ a.Package.Stale = false
-+ a.Package.StaleReason = "GOROOT-resident package"
-+ return nil
-+ }
-+ a.Package.Stale = true
-+ a.Package.StaleReason = "missing or invalid GOROOT-resident package"
-+ if b.IsCmdList {
-+ return nil
-+ }
-+ }
-+
- if err := b.Mkdir(a.Objdir); err != nil {
- return err
- }
-@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act
- return nil
- }
-
-+ if goRootPrecious && a.Package != nil {
-+ p := a.Package
-+ if p.Standard || p.Goroot {
-+ err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath)
-+ return err
-+ }
-+ }
-+
- if err := b.Mkdir(a.Objdir); err != nil {
- return err
- }
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch
deleted file mode 100644
index 225cf439c..000000000
--- a/poky/meta/recipes-devtools/go/go-1.12/0008-use-GOBUILDMODE-to-set-buildmode.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0e0c247f0caec23528889ff09d98348cba9028f1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 26 Oct 2018 15:02:32 +0800
-Subject: [PATCH] use GOBUILDMODE to set buildmode
-
-While building go itself, the go build system does not support
-to set `-buildmode=pie' from environment.
-
-Add GOBUILDMODE to support it which make PIE executables the default
-build mode, as PIE executables are required as of Yocto
-
-Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI
-Upstream-Status: Denied [upstream choose antoher solution: `17a256b
-cmd/go: -buildmode=pie for android/arm']
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/cmd/go/internal/work/build.go | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-Index: go/src/cmd/go/internal/work/build.go
-===================================================================
---- go.orig/src/cmd/go/internal/work/build.go
-+++ go/src/cmd/go/internal/work/build.go
-@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) {
-
- cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "")
- cmd.Flag.Var(buildCompiler{}, "compiler", "")
-- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ if bm := os.Getenv("GOBUILDMODE"); bm != "" {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "")
-+ } else {
-+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "")
-+ }
- cmd.Flag.Var(&load.BuildGcflags, "gcflags", "")
- cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "")
- cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "")
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.13/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
deleted file mode 100644
index 4bb1106f0..000000000
--- a/poky/meta/recipes-devtools/go/go-1.13/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 973251ae0c69a35721f6115345d3f57b2847979f Mon Sep 17 00:00:00 2001
-From: Alex Kube <alexander.j.kube@gmail.com>
-Date: Wed, 23 Oct 2019 21:20:13 +0430
-Subject: [PATCH 9/9] ld: replace glibc dynamic linker with musl
-
-Rework of patch by Khem Raj <raj.khem@gmail.com>
-for go 1.10. Should be applied conditionally on
-musl being the system C library.
-
-Adapted to Go 1.13 from patches originally submitted to
-the meta/recipes-devtools/go tree by
-Matt Madison <matt@madison.systems>.
-
-Upstream-Status: Inappropriate [Real fix should be portable across libcs]
-
-Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
----
- src/cmd/link/internal/amd64/obj.go | 2 +-
- src/cmd/link/internal/arm/obj.go | 2 +-
- src/cmd/link/internal/arm64/obj.go | 2 +-
- src/cmd/link/internal/mips/obj.go | 2 +-
- src/cmd/link/internal/mips64/obj.go | 2 +-
- src/cmd/link/internal/ppc64/obj.go | 2 +-
- src/cmd/link/internal/s390x/obj.go | 2 +-
- src/cmd/link/internal/x86/obj.go | 2 +-
- 8 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go
-index 23741eb..8e74576 100644
---- a/src/cmd/link/internal/amd64/obj.go
-+++ b/src/cmd/link/internal/amd64/obj.go
-@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
- PEreloc1: pereloc1,
- TLSIEtoLE: tlsIEtoLE,
-
-- Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
-+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1",
- Freebsddynld: "/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/libexec/ld.elf_so",
-diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go
-index 45a406e..724d3e3 100644
---- a/src/cmd/link/internal/arm/obj.go
-+++ b/src/cmd/link/internal/arm/obj.go
-@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Machoreloc1: machoreloc1,
- PEreloc1: pereloc1,
-
-- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI
-+ Linuxdynld: "/lib/ld-musl-armhf.so.1",
- Freebsddynld: "/usr/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/libexec/ld.elf_so",
-diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go
-index 7c66623..d8b1db1 100644
---- a/src/cmd/link/internal/arm64/obj.go
-+++ b/src/cmd/link/internal/arm64/obj.go
-@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
-+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "/usr/libexec/ld.so",
-diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go
-index 231e1ff..631dd7a 100644
---- a/src/cmd/link/internal/mips/obj.go
-+++ b/src/cmd/link/internal/mips/obj.go
-@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib/ld.so.1",
-+ Linuxdynld: "/lib/ld-musl-mipsle.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go
-index 9604208..5ef3ffc 100644
---- a/src/cmd/link/internal/mips64/obj.go
-+++ b/src/cmd/link/internal/mips64/obj.go
-@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1",
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
- Netbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go
-index 51d1791..b15da85 100644
---- a/src/cmd/link/internal/ppc64/obj.go
-+++ b/src/cmd/link/internal/ppc64/obj.go
-@@ -63,7 +63,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Xcoffreloc1: xcoffreloc1,
-
- // TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1",
-
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
-diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go
-index 3454476..42cc346 100644
---- a/src/cmd/link/internal/s390x/obj.go
-+++ b/src/cmd/link/internal/s390x/obj.go
-@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Gentext: gentext,
- Machoreloc1: machoreloc1,
-
-- Linuxdynld: "/lib64/ld64.so.1",
-+ Linuxdynld: "/lib64/ld-musl-s390x.so.1",
-
- // not relevant for s390x
- Freebsddynld: "XXX",
-diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go
-index f1fad20..d2ca10c 100644
---- a/src/cmd/link/internal/x86/obj.go
-+++ b/src/cmd/link/internal/x86/obj.go
-@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Machoreloc1: machoreloc1,
- PEreloc1: pereloc1,
-
-- Linuxdynld: "/lib/ld-linux.so.2",
-+ Linuxdynld: "/lib/ld-musl-i386.so.1",
- Freebsddynld: "/usr/libexec/ld-elf.so.1",
- Openbsddynld: "/usr/libexec/ld.so",
- Netbsddynld: "/usr/libexec/ld.elf_so",
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.14.inc
index ed14b175e..c52593db6 100644
--- a/poky/meta/recipes-devtools/go/go-1.12.inc
+++ b/poky/meta/recipes-devtools/go/go-1.14.inc
@@ -1,7 +1,7 @@
require go-common.inc
-GO_BASEVERSION = "1.12"
-GO_MINOR = ".9"
+GO_BASEVERSION = "1.14"
+GO_MINOR = ".1"
PV .= "${GO_MINOR}"
FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:"
@@ -16,9 +16,7 @@ SRC_URI += "\
file://0006-cmd-dist-separate-host-and-target-builds.patch \
file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
file://0008-use-GOBUILDMODE-to-set-buildmode.patch \
- file://0001-release-branch.go1.12-security-net-textproto-don-t-n.patch \
"
SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch"
-SRC_URI[main.md5sum] = "6132109d4050da349eadc9f7b0304ef4"
-SRC_URI[main.sha256sum] = "ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc"
+SRC_URI[main.sha256sum] = "2ad2572115b0d1b4cb4c138e6b3a31cee6294cb48af75ee86bec3dca04507676"
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.14/0001-allow-CC-and-CXX-to-have-multiple-words.patch
index ddfd5e41d..d47664d8e 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0001-allow-CC-and-CXX-to-have-multiple-words.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0001-allow-CC-and-CXX-to-have-multiple-words.patch
@@ -15,11 +15,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/envcmd/env.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index 17852de..7b5ec5e 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -100,11 +100,11 @@ func MkEnv() []cfg.EnvVar {
+@@ -102,11 +102,11 @@ func MkEnv() []cfg.EnvVar {
cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch)
if env := strings.Fields(cfg.Getenv("CC")); len(env) > 0 {
@@ -33,6 +31,3 @@ index 17852de..7b5ec5e 100644
}
env = append(env, cfg.EnvVar{Name: "AR", Value: envOr("AR", "ar")})
env = append(env, cfg.EnvVar{Name: "CC", Value: cc})
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.14/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
index 4eddd3980..9e88567eb 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -50,11 +50,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/work/exec.go | 66 ++++++++++++++++++++++---------
2 files changed, 49 insertions(+), 19 deletions(-)
-diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index 7b5ec5e..292f117 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
-@@ -154,7 +154,7 @@ func ExtraEnvVars() []cfg.EnvVar {
+@@ -156,7 +156,7 @@ func ExtraEnvVars() []cfg.EnvVar {
func ExtraEnvVarsCostly() []cfg.EnvVar {
var b work.Builder
b.Init()
@@ -63,8 +61,6 @@ index 7b5ec5e..292f117 100644
if err != nil {
// Should not happen - b.CFlags was given an empty package.
fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 7dd9a90..ccebaf8 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
@@ -32,6 +32,8 @@ import (
@@ -76,16 +72,16 @@ index 7dd9a90..ccebaf8 100644
// actionList returns the list of actions in the dag rooted at root
// as visited in a depth-first post-order traversal.
func actionList(root *Action) []*Action {
-@@ -205,7 +207,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- // The compiler hides the exact value of $GOROOT
- // when building things in GOROOT.
+@@ -208,7 +210,7 @@ func (b *Builder) buildActionID(a *Actio
// Assume b.WorkDir is being trimmed properly.
+ // When -trimpath is used with a package built from the module cache,
+ // use the module path and version instead of the directory.
- if !p.Goroot && !cfg.BuildTrimpath && !strings.HasPrefix(p.Dir, b.WorkDir) {
+ if !p.Goroot && !omitGopath && !cfg.BuildTrimpath && !strings.HasPrefix(p.Dir, b.WorkDir) {
fmt.Fprintf(h, "dir %s\n", p.Dir)
- }
- fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
-@@ -219,13 +221,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ } else if cfg.BuildTrimpath && p.Module != nil {
+ fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
+@@ -224,13 +226,13 @@ func (b *Builder) buildActionID(a *Actio
}
if len(p.CgoFiles)+len(p.SwigFiles) > 0 {
fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
@@ -103,7 +99,7 @@ index 7dd9a90..ccebaf8 100644
}
// TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions?
}
-@@ -2229,33 +2231,48 @@ var (
+@@ -2228,33 +2230,48 @@ var (
// gccCmd returns a gcc command line prefix
// defaultCC is defined in zdefaultcc.go, written by cmd/dist.
func (b *Builder) GccCmd(incdir, workdir string) []string {
@@ -161,7 +157,7 @@ index 7dd9a90..ccebaf8 100644
}
// compilerExe returns the compiler to use given an
-@@ -2264,11 +2281,16 @@ func (b *Builder) fcExe() []string {
+@@ -2263,11 +2280,16 @@ func (b *Builder) fcExe() []string {
// of the compiler but can have additional arguments if they
// were present in the environment value.
// For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"].
@@ -179,7 +175,7 @@ index 7dd9a90..ccebaf8 100644
return compiler
}
-@@ -2429,7 +2451,7 @@ func envList(key, def string) []string {
+@@ -2428,7 +2450,7 @@ func envList(key, def string) []string {
}
// CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
@@ -188,7 +184,7 @@ index 7dd9a90..ccebaf8 100644
defaults := "-g -O2"
if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
-@@ -2448,6 +2470,14 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+@@ -2447,6 +2469,14 @@ func (b *Builder) CFlags(p *load.Package
return
}
@@ -203,7 +199,7 @@ index 7dd9a90..ccebaf8 100644
return
}
-@@ -2462,7 +2492,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
+@@ -2461,7 +2491,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
p := a.Package
@@ -212,7 +208,7 @@ index 7dd9a90..ccebaf8 100644
if err != nil {
return nil, nil, err
}
-@@ -2821,7 +2851,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
+@@ -2820,7 +2850,7 @@ func (b *Builder) swigIntSize(objdir str
// Run SWIG on one SWIG input file.
func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
@@ -221,6 +217,3 @@ index 7dd9a90..ccebaf8 100644
if err != nil {
return "", "", err
}
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.14/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
index 9aa0119ae..662c70547 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
@@ -17,11 +17,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/cfg/cfg.go | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
-diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 9e50311..683ca6f 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
-@@ -244,7 +244,9 @@ func xinit() {
+@@ -246,7 +246,9 @@ func xinit() {
workdir = xworkdir()
xatexit(rmworkdir)
@@ -32,11 +30,9 @@ index 9e50311..683ca6f 100644
}
// compilerEnv returns a map from "goos/goarch" to the
-diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
-index a3277a6..db96350 100644
--- a/src/cmd/go/internal/cfg/cfg.go
+++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -60,7 +60,11 @@ func defaultContext() build.Context {
+@@ -64,7 +64,11 @@ func defaultContext() build.Context {
// variables. This matches the initialization of ToolDir in
// go/build, except for using ctxt.GOROOT rather than
// runtime.GOROOT.
@@ -49,6 +45,3 @@ index a3277a6..db96350 100644
}
ctxt.GOPATH = envOr("GOPATH", ctxt.GOPATH)
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.14/0004-ld-add-soname-to-shareable-objects.patch
index 40763ad5b..75c9c7521 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0004-ld-add-soname-to-shareable-objects.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0004-ld-add-soname-to-shareable-objects.patch
@@ -17,11 +17,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/link/internal/ld/lib.go | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 3fa258d..f96fb02 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
-@@ -1215,6 +1215,7 @@ func (ctxt *Link) hostlink() {
+@@ -1280,6 +1280,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
@@ -29,7 +27,7 @@ index 3fa258d..f96fb02 100644
if ctxt.HeadType != objabi.Hwindows {
// Pass -z nodelete to mark the shared library as
// non-closeable: a dlclose will do nothing.
-@@ -1226,6 +1227,7 @@ func (ctxt *Link) hostlink() {
+@@ -1291,6 +1292,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
@@ -37,7 +35,7 @@ index 3fa258d..f96fb02 100644
case BuildModePlugin:
if ctxt.HeadType == objabi.Hdarwin {
argv = append(argv, "-dynamiclib")
-@@ -1234,6 +1236,7 @@ func (ctxt *Link) hostlink() {
+@@ -1299,6 +1301,7 @@ func (ctxt *Link) hostlink() {
argv = append(argv, "-Wl,-z,relro")
}
argv = append(argv, "-shared")
@@ -45,6 +43,3 @@ index 3fa258d..f96fb02 100644
}
}
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.14/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
index 4f2a46c6c..59c12d954 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -17,11 +17,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/make.bash | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/src/make.bash b/src/make.bash
-index 92d1481..0c2822f 100755
--- a/src/make.bash
+++ b/src/make.bash
-@@ -177,7 +177,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
+@@ -178,7 +178,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ];
exit 1
fi
rm -f cmd/dist/dist
@@ -30,7 +28,7 @@ index 92d1481..0c2822f 100755
# -e doesn't propagate out of eval, so check success by hand.
eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -208,7 +208,7 @@ fi
+@@ -209,7 +209,7 @@ fi
# Run dist bootstrap to complete make.bash.
# Bootstrap installs a proper cmd/dist, built with the new toolchain.
# Throw ours, built with Go 1.4, away after bootstrap.
@@ -39,6 +37,3 @@ index 92d1481..0c2822f 100755
rm -f ./cmd/dist/dist
# DO NOT ADD ANY NEW CODE HERE.
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.14/0006-cmd-dist-separate-host-and-target-builds.patch
index 354aaca3a..7aee0bac4 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0006-cmd-dist-separate-host-and-target-builds.patch
@@ -38,8 +38,6 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/dist/build.go | 155 ++++++++++++++++++++++++++++++------------
1 file changed, 112 insertions(+), 43 deletions(-)
-diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 683ca6f..0ad082b 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
@@ -41,6 +41,7 @@ var (
@@ -58,7 +56,7 @@ index 683ca6f..0ad082b 100644
vflag int // verbosity
)
-@@ -247,6 +249,8 @@ func xinit() {
+@@ -249,6 +251,8 @@ func xinit() {
if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
}
@@ -67,7 +65,7 @@ index 683ca6f..0ad082b 100644
}
// compilerEnv returns a map from "goos/goarch" to the
-@@ -478,8 +482,10 @@ func setup() {
+@@ -480,8 +484,10 @@ func setup() {
p := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
if rebuildall {
xremoveall(p)
@@ -78,7 +76,7 @@ index 683ca6f..0ad082b 100644
if goos != gohostos || goarch != gohostarch {
p := pathf("%s/pkg/%s_%s", goroot, goos, goarch)
-@@ -1207,12 +1213,29 @@ func cmdbootstrap() {
+@@ -1244,12 +1250,29 @@ func cmdbootstrap() {
var noBanner bool
var debug bool
@@ -109,7 +107,7 @@ index 683ca6f..0ad082b 100644
// Set GOPATH to an internal directory. We shouldn't actually
// need to store files here, since the toolchain won't
// depend on modules outside of vendor directories, but if
-@@ -1266,8 +1289,13 @@ func cmdbootstrap() {
+@@ -1303,8 +1326,13 @@ func cmdbootstrap() {
xprintf("\n")
}
@@ -125,7 +123,7 @@ index 683ca6f..0ad082b 100644
goBootstrap := pathf("%s/go_bootstrap", tooldir)
cmdGo := pathf("%s/go", gobin)
if debug {
-@@ -1296,7 +1324,11 @@ func cmdbootstrap() {
+@@ -1333,7 +1361,11 @@ func cmdbootstrap() {
xprintf("\n")
}
xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
@@ -138,7 +136,7 @@ index 683ca6f..0ad082b 100644
goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...)
if debug {
run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-@@ -1333,50 +1365,84 @@ func cmdbootstrap() {
+@@ -1370,50 +1402,84 @@ func cmdbootstrap() {
}
checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
@@ -190,8 +188,6 @@ index 683ca6f..0ad082b 100644
- timelog("build", "host toolchain")
- if vflag > 0 {
- xprintf("\n")
-- }
-- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
+
+ if goos == oldgoos && goarch == oldgoarch {
+ // Common case - not setting up for cross-compilation.
@@ -223,7 +219,8 @@ index 683ca6f..0ad082b 100644
+ os.Setenv("GOARCH", goarch)
+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch))
+ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch)
-+ }
+ }
+- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch)
goInstall(goBootstrap, "std", "cmd")
checkNotStale(goBootstrap, "std", "cmd")
checkNotStale(cmdGo, "std", "cmd")
@@ -231,12 +228,7 @@ index 683ca6f..0ad082b 100644
- timelog("build", "target toolchain")
- if vflag > 0 {
- xprintf("\n")
-+ if debug {
-+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
-+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
-+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
- }
+- }
- goos = oldgoos
- goarch = oldgoarch
- os.Setenv("GOOS", goos)
@@ -257,10 +249,16 @@ index 683ca6f..0ad082b 100644
- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
++ if debug {
++ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
++ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch))
++ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...)
++ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
++ }
}
// Check that there are no new files in $GOROOT/bin other than
-@@ -1393,8 +1459,11 @@ func cmdbootstrap() {
+@@ -1430,8 +1496,11 @@ func cmdbootstrap() {
}
}
@@ -274,6 +272,3 @@ index 683ca6f..0ad082b 100644
if goos == "android" {
// Make sure the exec wrapper will sync a fresh $GOROOT to the device.
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.14/0007-cmd-go-make-GOROOT-precious-by-default.patch
index e232c7919..b93f83de6 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0007-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0007-cmd-go-make-GOROOT-precious-by-default.patch
@@ -27,11 +27,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++
3 files changed, 34 insertions(+)
-diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
-index 33b7818..7617b4c 100644
--- a/src/cmd/go/internal/work/action.go
+++ b/src/cmd/go/internal/work/action.go
-@@ -662,6 +662,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
+@@ -670,6 +670,9 @@ func (b *Builder) addTransitiveLinkDeps(
if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
continue
}
@@ -41,11 +39,9 @@ index 33b7818..7617b4c 100644
haveShlib[filepath.Base(p1.Shlib)] = true
// TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
// we'll end up building an overall library or executable that depends at runtime
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 9305b2d..6560317 100644
--- a/src/cmd/go/internal/work/build.go
+++ b/src/cmd/go/internal/work/build.go
-@@ -155,6 +155,8 @@ See also: go install, go get, go clean.
+@@ -167,6 +167,8 @@ See also: go install, go get, go clean.
const concurrentGCBackendCompilationEnabledByDefault = true
@@ -54,10 +50,10 @@ index 9305b2d..6560317 100644
func init() {
// break init cycle
CmdBuild.Run = runBuild
-@@ -167,6 +169,10 @@ func init() {
+@@ -179,6 +181,10 @@ func init() {
- AddBuildFlags(CmdBuild)
- AddBuildFlags(CmdInstall)
+ AddBuildFlags(CmdBuild, DefaultBuildFlags)
+ AddBuildFlags(CmdInstall, DefaultBuildFlags)
+
+ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
+ goRootPrecious = false
@@ -65,11 +61,9 @@ index 9305b2d..6560317 100644
}
// Note that flags consulted by other parts of the code
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index ccebaf8..59450d7 100644
--- a/src/cmd/go/internal/work/exec.go
+++ b/src/cmd/go/internal/work/exec.go
-@@ -455,6 +455,23 @@ func (b *Builder) build(a *Action) (err error) {
+@@ -464,6 +464,23 @@ func (b *Builder) build(a *Action) (err
return errors.New("binary-only packages are no longer supported")
}
@@ -93,7 +87,7 @@ index ccebaf8..59450d7 100644
if err := b.Mkdir(a.Objdir); err != nil {
return err
}
-@@ -1499,6 +1516,14 @@ func BuildInstallFunc(b *Builder, a *Action) (err error) {
+@@ -1493,6 +1510,14 @@ func BuildInstallFunc(b *Builder, a *Act
return nil
}
@@ -108,6 +102,3 @@ index ccebaf8..59450d7 100644
if err := b.Mkdir(a.Objdir); err != nil {
return err
}
---
-2.17.1 (Apple Git-112)
-
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.14/0008-use-GOBUILDMODE-to-set-buildmode.patch
index 68e132f30..b15d9812a 100644
--- a/poky/meta/recipes-devtools/go/go-1.13/0008-use-GOBUILDMODE-to-set-buildmode.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0008-use-GOBUILDMODE-to-set-buildmode.patch
@@ -23,11 +23,9 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
src/cmd/go/internal/work/build.go | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
-diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 6560317..5f3a988 100644
--- a/src/cmd/go/internal/work/build.go
+++ b/src/cmd/go/internal/work/build.go
-@@ -231,7 +231,13 @@ func AddBuildFlags(cmd *base.Command) {
+@@ -251,7 +251,13 @@ func AddBuildFlags(cmd *base.Command, ma
cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "")
cmd.Flag.Var(buildCompiler{}, "compiler", "")
@@ -41,7 +39,4 @@ index 6560317..5f3a988 100644
+
cmd.Flag.Var(&load.BuildGcflags, "gcflags", "")
cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "")
- cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "")
---
-2.17.1 (Apple Git-112)
-
+ if mask&OmitModFlag == 0 {
diff --git a/poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.14/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
index 840cf4bbd..427cfb0dd 100644
--- a/poky/meta/recipes-devtools/go/go-1.12/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
+++ b/poky/meta/recipes-devtools/go/go-1.14/0009-ld-replace-glibc-dynamic-linker-with-musl.patch
@@ -1,16 +1,19 @@
-From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001
-From: Matt Madison <matt@madison.systems>
-Date: Sun, 18 Feb 2018 08:24:05 -0800
-Subject: [PATCH] ld: replace glibc dynamic linker with musl
+From 973251ae0c69a35721f6115345d3f57b2847979f Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:20:13 +0430
+Subject: [PATCH 9/9] ld: replace glibc dynamic linker with musl
Rework of patch by Khem Raj <raj.khem@gmail.com>
for go 1.10. Should be applied conditionally on
musl being the system C library.
-Upstream-Status: Inappropriate [Real fix should be portable across libcs]
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
-Signed-off-by: Matt Madison <matt@madison.systems>
+Upstream-Status: Inappropriate [Real fix should be portable across libcs]
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
---
src/cmd/link/internal/amd64/obj.go | 2 +-
src/cmd/link/internal/arm/obj.go | 2 +-
@@ -24,7 +27,7 @@ Signed-off-by: Matt Madison <matt@madison.systems>
--- a/src/cmd/link/internal/amd64/obj.go
+++ b/src/cmd/link/internal/amd64/obj.go
-@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
+@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) {
PEreloc1: pereloc1,
TLSIEtoLE: tlsIEtoLE,
@@ -53,8 +56,8 @@ Signed-off-by: Matt Madison <matt@madison.systems>
- Linuxdynld: "/lib/ld-linux-aarch64.so.1",
+ Linuxdynld: "/lib/ld-musl-aarch64.so.1",
- Freebsddynld: "XXX",
- Openbsddynld: "XXX",
+ Freebsddynld: "/usr/libexec/ld-elf.so.1",
+ Openbsddynld: "/usr/libexec/ld.so",
--- a/src/cmd/link/internal/mips/obj.go
+++ b/src/cmd/link/internal/mips/obj.go
@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) {
@@ -79,8 +82,8 @@ Signed-off-by: Matt Madison <matt@madison.systems>
Netbsddynld: "XXX",
--- a/src/cmd/link/internal/ppc64/obj.go
+++ b/src/cmd/link/internal/ppc64/obj.go
-@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) {
- Machoreloc1: machoreloc1,
+@@ -63,7 +63,7 @@ func Init() (*sys.Arch, ld.Arch) {
+ Xcoffreloc1: xcoffreloc1,
// TODO(austin): ABI v1 uses /usr/lib/ld.so.1,
- Linuxdynld: "/lib64/ld64.so.1",
diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc
index 93a3d3b5f..f18d928c7 100644
--- a/poky/meta/recipes-devtools/go/go-common.inc
+++ b/poky/meta/recipes-devtools/go/go-common.inc
@@ -27,6 +27,16 @@ export GOTMPDIR ?= "${WORKDIR}/go-tmp"
GOTMPDIR[vardepvalue] = ""
export CGO_ENABLED = "1"
+export GOHOSTOS ?= "${BUILD_GOOS}"
+export GOHOSTARCH ?= "${BUILD_GOARCH}"
+export GOROOT_BOOTSTRAP ?= "${STAGING_LIBDIR_NATIVE}/go"
+export GOOS ?= "${TARGET_GOOS}"
+export GOARCH ?= "${TARGET_GOARCH}"
+export GOARM ?= "${TARGET_GOARM}"
+export GO386 ?= "${TARGET_GO386}"
+export GOMIPS ?= "${TARGET_GOMIPS}"
+export GOROOT_FINAL ?= "${libdir}/go"
+
do_compile_prepend() {
BUILD_CC=${BUILD_CC}
}
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian.inc b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
index 945d0f9d1..d49250a8e 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -13,11 +13,7 @@ DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDP
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
-export GOHOSTOS = "${BUILD_GOOS}"
-export GOHOSTARCH = "${BUILD_GOARCH}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
export GOTOOLDIR_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/${HOST_SYS}/go/pkg/tool/${BUILD_GOTUPLE}"
-export GOROOT_FINAL = "${libdir}/go"
export CGO_CFLAGS = "${CFLAGS}"
export CGO_LDFLAGS = "${LDFLAGS}"
export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
@@ -25,8 +21,8 @@ export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--
do_configure[noexec] = "1"
do_compile() {
- export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
- export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
+ export CC_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
+ export CXX_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
cd src
./make.bash --host-only --no-banner
cd ${B}
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.14.bb
index 7ac9449e4..7ac9449e4 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.14.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross.inc b/poky/meta/recipes-devtools/go/go-cross.inc
index 3d344a74d..3d5803bf0 100644
--- a/poky/meta/recipes-devtools/go/go-cross.inc
+++ b/poky/meta/recipes-devtools/go/go-cross.inc
@@ -5,23 +5,14 @@ DEPENDS = "go-native"
PN = "go-cross-${TUNE_PKGARCH}"
-export GOHOSTOS = "${BUILD_GOOS}"
-export GOHOSTARCH = "${BUILD_GOARCH}"
-export GOOS = "${TARGET_GOOS}"
-export GOARCH = "${TARGET_GOARCH}"
-export GOARM = "${TARGET_GOARM}"
-export GO386 = "${TARGET_GO386}"
-export GOMIPS = "${TARGET_GOMIPS}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
-export GOROOT_FINAL = "${libdir}/go"
export GOCACHE = "${B}/.cache"
CC = "${@d.getVar('BUILD_CC').strip()}"
do_configure[noexec] = "1"
do_compile() {
- export CC_FOR_${GOOS}_${GOARCH}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
- export CXX_FOR_${GOOS}_${GOARCh}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
+ export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
+ export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
cd src
./make.bash --host-only --no-banner
cd ${B}
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.12.bb b/poky/meta/recipes-devtools/go/go-cross_1.14.bb
index 80b5a03f6..80b5a03f6 100644
--- a/poky/meta/recipes-devtools/go/go-cross_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go-cross_1.14.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk.inc b/poky/meta/recipes-devtools/go/go-crosssdk.inc
index 94f6fb8eb..f0bec7971 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk.inc
+++ b/poky/meta/recipes-devtools/go/go-crosssdk.inc
@@ -4,18 +4,11 @@ DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TA
PN = "go-crosssdk-${SDK_SYS}"
PROVIDES = "virtual/${TARGET_PREFIX}go-crosssdk"
-export GOHOSTOS = "${BUILD_GOOS}"
-export GOHOSTARCH = "${BUILD_GOARCH}"
-export GOOS = "${TARGET_GOOS}"
-export GOARCH = "${TARGET_GOARCH}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
-export GOROOT_FINAL = "${libdir}/go"
-
do_configure[noexec] = "1"
do_compile() {
- export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
- export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
+ export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
+ export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
cd src
./make.bash --host-only --no-banner
cd ${B}
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.14.bb
index 1857c8a57..1857c8a57 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.14.bb
diff --git a/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch b/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch
new file mode 100644
index 000000000..4d97d4824
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-dep/0001-bolt_riscv64-Add-support-for-riscv64.patch
@@ -0,0 +1,33 @@
+From 5e051669d117d7cd9b24cea3494959eec396ec1e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 25 Jan 2020 22:37:25 -0800
+Subject: [PATCH] /bolt_riscv64: Add support for riscv64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vendor/github.com/boltdb/bolt/bolt_riscv64.go | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+ create mode 100644 vendor/github.com/boltdb/bolt/bolt_riscv64.go
+
+diff --git a/vendor/github.com/boltdb/bolt/bolt_riscv64.go b/vendor/github.com/boltdb/bolt/bolt_riscv64.go
+new file mode 100644
+index 00000000..3d6b88d4
+--- /dev/null
++++ b/vendor/github.com/boltdb/bolt/bolt_riscv64.go
+@@ -0,0 +1,12 @@
++// +build riscv64
++
++package bolt
++
++// maxMapSize represents the largest mmap size supported by Bolt.
++const maxMapSize = 0xFFFFFFFFFFFF // 256TB
++
++// maxAllocSize is the size used when creating array pointers.
++const maxAllocSize = 0x7FFFFFFF
++
++// Are unaligned load/stores broken on this arch?
++var brokenUnaligned = false
+--
+2.25.0
+
diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
index ead87870e..496224a5c 100644
--- a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
+++ b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
@@ -6,12 +6,17 @@ LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f
GO_IMPORT = "github.com/golang/dep"
SRC_URI = "git://${GO_IMPORT} \
file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \
+ file://0001-bolt_riscv64-Add-support-for-riscv64.patch;patchdir=src/github.com/golang/dep \
"
SRCREV = "1f7c19e5f52f49ffb9f956f64c010be14683468b"
inherit go
+# New Go versions has Go modules support enabled by default and cause the Glide
+# tool build to fail.
+export GO111MODULE = "off"
+
GO_INSTALL = "${GO_IMPORT}/cmd/dep"
RDEPENDS_${PN}-dev += "bash"
diff --git a/poky/meta/recipes-devtools/go/go-native_1.12.bb b/poky/meta/recipes-devtools/go/go-native_1.14.bb
index bbf3c0dd7..bbf3c0dd7 100644
--- a/poky/meta/recipes-devtools/go/go-native_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go-native_1.14.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc
index 9731e164e..21179a83a 100644
--- a/poky/meta/recipes-devtools/go/go-runtime.inc
+++ b/poky/meta/recipes-devtools/go/go-runtime.inc
@@ -2,15 +2,6 @@ DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk"
PROVIDES = "virtual/${TARGET_PREFIX}go-runtime"
-export GOHOSTOS = "${BUILD_GOOS}"
-export GOHOSTARCH = "${BUILD_GOARCH}"
-export GOOS = "${TARGET_GOOS}"
-export GOARCH = "${TARGET_GOARCH}"
-export GOARM = "${TARGET_GOARM}"
-export GO386 = "${TARGET_GO386}"
-export GOMIPS = "${TARGET_GOMIPS}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
-export GOROOT_FINAL = "${libdir}/go"
export CGO_CFLAGS = "${CFLAGS}"
export CGO_CPPFLAGS = "${CPPFLAGS}"
export CGO_CXXFLAGS = "${CXXFLAGS}"
@@ -29,14 +20,14 @@ do_configure_libc-musl() {
}
do_compile() {
- export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CC}"
- export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CXX}"
+ export CC_FOR_${TARGET_GOTUPLE}="${CC}"
+ export CXX_FOR_${TARGET_GOTUPLE}="${CXX}"
cd src
./make.bash --target-only --no-banner std
if [ -n "${GO_DYNLINK}" ]; then
export GOTOOLDIR="${B}/pkg/tool/native_native"
- CC="$CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
+ CC="$CC_FOR_${TARGET_GOTUPLE}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
$GOTOOLDIR/go_bootstrap install -linkshared -buildmode=shared ${GO_SHLIB_LDFLAGS} std
fi
cd ${B}
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.12.bb b/poky/meta/recipes-devtools/go/go-runtime_1.14.bb
index 43b68b4e4..43b68b4e4 100644
--- a/poky/meta/recipes-devtools/go/go-runtime_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go-runtime_1.14.bb
diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc
index 91efd3e97..8e4424703 100644
--- a/poky/meta/recipes-devtools/go/go-target.inc
+++ b/poky/meta/recipes-devtools/go/go-target.inc
@@ -1,15 +1,6 @@
DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
DEPENDS_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk go-native"
-export GOHOSTOS = "${BUILD_GOOS}"
-export GOHOSTARCH = "${BUILD_GOARCH}"
-export GOOS = "${TARGET_GOOS}"
-export GOARCH = "${TARGET_GOARCH}"
-export GOARM = "${TARGET_GOARM}"
-export GO386 = "${TARGET_GO386}"
-export GOMIPS = "${TARGET_GOMIPS}"
-export GOROOT_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/go"
-export GOROOT_FINAL = "${libdir}/go"
export GOCACHE = "${B}/.cache"
GO_LDFLAGS = ""
GO_LDFLAGS_class-nativesdk = "-linkmode external"
@@ -43,12 +34,12 @@ do_install() {
install -m 0755 $f ${D}${libdir}/go/bin/
ln -sf ../${baselib}/go/bin/$name ${D}${bindir}/
done
+ rm -rf ${D}${libdir}/go/src
}
PACKAGES = "${PN} ${PN}-dev"
FILES_${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
-FILES_${PN}-dev = "${libdir}/go"
-RDEPENDS_${PN}-dev = "perl bash"
+RDEPENDS_${PN} = "go-runtime"
INSANE_SKIP_${PN} = "ldflags"
BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/go/go_1.12.bb b/poky/meta/recipes-devtools/go/go_1.14.bb
index 42cdb0430..5d40cf9d0 100644
--- a/poky/meta/recipes-devtools/go/go_1.12.bb
+++ b/poky/meta/recipes-devtools/go/go_1.14.bb
@@ -3,12 +3,12 @@ require go-target.inc
export GOBUILDMODE=""
-# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips
-# doesn't support -buildmode=pie, so skip the QA checking for mips and its
+# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips/riscv
+# doesn't support -buildmode=pie, so skip the QA checking for mips/riscv and its
# variants.
python() {
- if 'mips' in d.getVar('TARGET_ARCH'):
- d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
+ if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv' in d.getVar('TARGET_ARCH',True):
+ d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
else:
d.setVar('GOBUILDMODE', 'pie')
}
diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb b/poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb
new file mode 100644
index 000000000..5c6f9cddb
--- /dev/null
+++ b/poky/meta/recipes-devtools/jquery/jquery_3.5.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "jQuery is a fast, small, and feature-rich JavaScript library"
+HOMEPAGE = "https://jquery.com/"
+LICENSE = "MIT"
+SECTION = "devel"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}.js;startline=8;endline=10;md5=b1e67ece919e852643f1541a54492d65"
+
+SRC_URI = "\
+ https://code.jquery.com/${BP}.js;name=js \
+ https://code.jquery.com/${BP}.min.js;name=min \
+ https://code.jquery.com/${BP}.min.map;name=map \
+ "
+
+SRC_URI[js.sha256sum] = "aff01a147aeccc9b70a5efad1f2362fd709f3316296ec460d94aa7d31decdb37"
+SRC_URI[min.sha256sum] = "c4dccdd9ae25b64078e0c73f273de94f8894d5c99e4741645ece29aeefc9c5a4"
+SRC_URI[map.sha256sum] = "3149351c8cbc3fb230bbf6188617c7ffda77d9e14333f4f5f0aa1aae379df892"
+
+UPSTREAM_CHECK_REGEX = "jquery-(?P<pver>\d+(\.\d+)+)\.js"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/javascript/${BPN}/
+ install -m 644 ${WORKDIR}/${BP}.js ${D}${datadir}/javascript/${BPN}/${BPN}.js
+ install -m 644 ${WORKDIR}/${BP}.min.js ${D}${datadir}/javascript/${BPN}/${BPN}.min.js
+ install -m 644 ${WORKDIR}/${BP}.min.map ${D}${datadir}/javascript/${BPN}/${BPN}.min.map
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch
index ff90269a2..f4fb6d3b2 100644
--- a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch
+++ b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch
@@ -1,7 +1,7 @@
-From 83407aa50e06d967d0a1095a140bd7b0e5d51d27 Mon Sep 17 00:00:00 2001
+From 72065bb2b5881dc224299f302379391aebdfca3d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 21 Nov 2018 13:09:05 +0100
-Subject: [PATCH] Add crc32.c to sources list
+Subject: [PATCH 1/2] Add crc32.c to sources list
Otherwise, there is a missing symbol runtime error under musl C library.
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt
-index 6ed25bb..c15c8b2 100644
+index adabb31..b9b96ab 100644
--- a/libcomps/src/python/src/CMakeLists.txt
+++ b/libcomps/src/python/src/CMakeLists.txt
@@ -9,13 +9,13 @@ set (pycomps_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR})
@@ -45,3 +45,6 @@ index d8f5e34..f266067 100644
static uint32_t crc32_tab[] = {
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
deleted file mode 100644
index 26e8b06f3..000000000
--- a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ff4aae4c8beaf17cb8e7a3431f6c541eccfae244 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Dec 2016 18:22:09 +0200
-Subject: [PATCH 1/2] Do not set PYTHON_INSTALL_DIR by running python.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- libcomps/src/python/src/python2/CMakeLists.txt | 2 +-
- libcomps/src/python/src/python3/CMakeLists.txt | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libcomps/src/python/src/python2/CMakeLists.txt b/libcomps/src/python/src/python2/CMakeLists.txt
-index 3ad9e18..0e7dd4b 100644
---- a/libcomps/src/python/src/python2/CMakeLists.txt
-+++ b/libcomps/src/python/src/python2/CMakeLists.txt
-@@ -1,7 +1,7 @@
- find_package (PythonLibs 2.6)
- find_package (PythonInterp 2.6 REQUIRED)
-
--execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-+#execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-
- include_directories(${PYTHON_INCLUDE_PATH})
- include_directories(${LIBCOMPS_INCLUDE_PATH})
-diff --git a/libcomps/src/python/src/python3/CMakeLists.txt b/libcomps/src/python/src/python3/CMakeLists.txt
-index 7fafa9f..ed82d3d 100644
---- a/libcomps/src/python/src/python3/CMakeLists.txt
-+++ b/libcomps/src/python/src/python3/CMakeLists.txt
-@@ -2,7 +2,7 @@ find_package (PythonLibs 3.0)
- find_package (PythonInterp 3.0)
- #add_custom_target(py3-copy)
-
--execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-+#execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
-
- include_directories(${PYTHON_INCLUDE_PATH})
- include_directories(${LIBCOMPS_INCLUDE_PATH})
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Make-__comps_objmrtree_all-static-inline.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Make-__comps_objmrtree_all-static-inline.patch
deleted file mode 100644
index 88469fb33..000000000
--- a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Make-__comps_objmrtree_all-static-inline.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 91a324f8771818b81017fdf4daaad0c8c4b6987c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Mar 2017 11:38:54 -0700
-Subject: [PATCH] Make __comps_objmrtree_all() static inline
-
-This helps compilers to scope the symbol correctly
-and apply the inlining optimizations, clang e.g.
-emits the functions and calls in code which is
-suboptimal, therefore give a little help to compiler
-this function is not used anywhere else to have
-a global scope.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libcomps/src/comps_objmradix.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libcomps/src/comps_objmradix.c b/libcomps/src/comps_objmradix.c
-index 9be6648..55f7793 100644
---- a/libcomps/src/comps_objmradix.c
-+++ b/libcomps/src/comps_objmradix.c
-@@ -604,7 +604,7 @@ inline void comps_objmrtree_pair_destroy_v(void * pair) {
- free(pair);
- }
-
--inline COMPS_HSList* __comps_objmrtree_all(COMPS_ObjMRTree * rt, char keyvalpair) {
-+static inline COMPS_HSList* __comps_objmrtree_all(COMPS_ObjMRTree * rt, char keyvalpair) {
- COMPS_HSList *to_process, *ret;
- COMPS_HSListItem *hsit, *oldit;
- size_t x;
---
-2.12.0
-
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
new file mode 100644
index 000000000..3e9102605
--- /dev/null
+++ b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -0,0 +1,27 @@
+From 32447a79e24f8e7e9e0150eb747f34116d63ef38 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 30 Dec 2016 18:22:09 +0200
+Subject: [PATCH 2/2] Do not set PYTHON_INSTALL_DIR by running python.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ libcomps/src/python/src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt
+index b9b96ab..6d44567 100644
+--- a/libcomps/src/python/src/CMakeLists.txt
++++ b/libcomps/src/python/src/CMakeLists.txt
+@@ -115,7 +115,7 @@ IF (SKBUILD)
+ INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps)
+ INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps)
+ ELSE ()
+- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++ #EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+
+ INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps)
+ #INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb
index 372c3c358..98c55dca8 100644
--- a/poky/meta/recipes-devtools/libcomps/libcomps_git.bb
+++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb
@@ -3,13 +3,11 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/rpm-software-management/libcomps.git \
- file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
- file://0001-Make-__comps_objmrtree_all-static-inline.patch \
file://0001-Add-crc32.c-to-sources-list.patch \
+ file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-PV = "0.1.11"
-SRCREV = "d868a79b76fb980d1371c28124ae07f00d2b63a9"
+SRCREV = "b213f749405d84e989b25e183bcf28ce701696dd"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
index 3c87d4d8b..ac9400c48 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
@@ -1,4 +1,4 @@
-From e5a50db749b2b02e9e0cff9f7b639020e8ac76da Mon Sep 17 00:00:00 2001
+From 56fa2bbdbd29377a6ef0d0b7aadbac8b5ea8c95b Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 6 Nov 2018 13:54:43 +0100
Subject: [PATCH] Add WITH_TESTS option
@@ -14,18 +14,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 5 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ce88b9e3..7a99320a 100644
+index 881152a..965c992 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -32,6 +32,7 @@ option(WITH_HTML "Enables hawkey HTML generation" ON)
- option(WITH_MAN "Enables hawkey man page generation" ON)
+@@ -33,6 +33,7 @@ option(WITH_MAN "Enables hawkey man page generation" ON)
+ option(WITH_ZCHUNK "Build with zchunk support" ON)
option(ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
option(ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
+option(WITH_TESTS "Enables unit tests" ON)
# load pkg-config first; it's required by other modules
-@@ -158,8 +159,10 @@ endif()
+@@ -165,8 +166,10 @@ endif()
# build tests
@@ -37,7 +37,7 @@ index ce88b9e3..7a99320a 100644
add_subdirectory(python/hawkey)
endif()
diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
-index d9645346..84d17204 100644
+index d964534..84d1720 100644
--- a/python/hawkey/CMakeLists.txt
+++ b/python/hawkey/CMakeLists.txt
@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY})
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch
new file mode 100644
index 000000000..6dd7c71aa
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch
@@ -0,0 +1,42 @@
+From b570c7f8bd089deec7da2b108aa789a27025a473 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 19 Nov 2019 13:46:09 +0100
+Subject: [PATCH] Look fo sphinx only if documentation is actually enabled
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ docs/hawkey/CMakeLists.txt | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/docs/hawkey/CMakeLists.txt b/docs/hawkey/CMakeLists.txt
+index 52cc35c6..63c7672f 100644
+--- a/docs/hawkey/CMakeLists.txt
++++ b/docs/hawkey/CMakeLists.txt
+@@ -2,15 +2,17 @@
+ # tell sphinx-build to do them both in one go:
+
+
+-find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
+-if(NOT EXISTS ${SPHINX_PROGRAM})
+- find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
+-endif()
+-if(NOT EXISTS ${SPHINX_PROGRAM})
+- find_program(SPHINX_PROGRAM NAMES sphinx-build)
+-endif()
+-if(NOT EXISTS ${SPHINX_PROGRAM})
+- message(FATAL_ERROR "Sphinx program not found." )
++if (WITH_HTML OR WITH_MAN)
++ find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
++ if(NOT EXISTS ${SPHINX_PROGRAM})
++ find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
++ endif()
++ if(NOT EXISTS ${SPHINX_PROGRAM})
++ find_program(SPHINX_PROGRAM NAMES sphinx-build)
++ endif()
++ if(NOT EXISTS ${SPHINX_PROGRAM})
++ message(FATAL_ERROR "Sphinx program not found." )
++ endif()
+ endif()
+
+ if(WITH_HTML)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch
new file mode 100644
index 000000000..6be484fea
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Use-single-quotes-around-string-literals-used-in-SQL.patch
@@ -0,0 +1,36 @@
+From 96ca7d0049461df2293dd0000edcbc69b64255e0 Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Sun, 3 May 2020 22:40:39 +0200
+Subject: [PATCH] Use single-quotes around string literals used in SQL
+ statements
+
+If sqlite is built with -DSQLITE_DQS=0 in accordance with
+https://sqlite.org/quirks.html#dblquote, migration to version 1.2 of the
+history database would fail with:
+
+ History database cannot be created: /var/lib/dnf/history.sqlite.
+ Error: SQLite error on ":memory:": Executing an SQL statement failed:
+ no such column: 1.2
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/951]
+Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
+---
+ libdnf/transaction/sql/migrate_tables_1_2.sql | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libdnf/transaction/sql/migrate_tables_1_2.sql b/libdnf/transaction/sql/migrate_tables_1_2.sql
+index 49b75315..f80ad1c4 100644
+--- a/libdnf/transaction/sql/migrate_tables_1_2.sql
++++ b/libdnf/transaction/sql/migrate_tables_1_2.sql
+@@ -1,9 +1,9 @@
+ R"**(
+ BEGIN TRANSACTION;
+ ALTER TABLE trans
+- ADD comment TEXT DEFAULT "";
++ ADD comment TEXT DEFAULT '';
+ UPDATE config
+- SET value = "1.2"
++ SET value = '1.2'
+ WHERE key = 'version';
+ COMMIT;
+ )**"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb
index 3f11e0231..1b06d66b1 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.47.0.bb
@@ -2,27 +2,33 @@ SUMMARY = "Library providing simplified C and Python API to libsolv"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI = "git://github.com/rpm-software-management/libdnf \
+SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
file://0001-Add-WITH_TESTS-option.patch \
+ file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
+ file://0001-Use-single-quotes-around-string-literals-used-in-SQL.patch \
"
-SRCREV = "751f89045b80d58c0d05800f74357cf78cdf7e77"
+SRCREV = "8330eea6985c4e4b53796f858de5b6b38b1ddf5c"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
-DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd-v1 json-c swig-native"
+DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base
EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \
${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
-DWITH_TESTS=OFF \
+ -DWITH_ZCHUNK=OFF \
+ -DWITH_HTML=OFF \
"
EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"
EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"
BBCLASSEXTEND = "native nativesdk"
+PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}"
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20191025-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb
index f810013a6..8d2d57a93 100644
--- a/poky/meta/recipes-devtools/libedit/libedit_20191025-3.1.bb
+++ b/poky/meta/recipes-devtools/libedit/libedit_20191231-3.1.bb
@@ -13,7 +13,13 @@ inherit autotools
SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
file://stdc-predef.patch \
"
-SRC_URI[md5sum] = "2d6568467080cfd75e715d045102b544"
-SRC_URI[sha256sum] = "6dff036660d478bfaa14e407fc5de26d22da1087118c897b1a3ad2e90cb7bf39"
+SRC_URI[md5sum] = "2e22a51131de94ff2df24901f7cfe416"
+SRC_URI[sha256sum] = "dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071"
BBCLASSEXTEND = "native nativesdk"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE_${PN}-doc = "history.3"
+ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
deleted file mode 100644
index 847b5f700..000000000
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1/0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 4e67f6049b3f822fe6f5af46790a51ace581bf82 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 6 Nov 2018 13:41:29 +0100
-Subject: [PATCH] spec_tmpl.sh: use /bin/sh, not /usr/bin/sh
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- spec_tmpl.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/spec_tmpl.sh b/spec_tmpl.sh
-index 0238087..126853c 100755
---- a/spec_tmpl.sh
-+++ b/spec_tmpl.sh
-@@ -1,4 +1,4 @@
--#!/usr/bin/sh
-+#!/bin/sh
-
- version=$1
- template=$2
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch
new file mode 100644
index 000000000..d5c87a115
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch
@@ -0,0 +1,28 @@
+From a04fd2c8ac9e0f7a6fc17f02b2a95227b3d0aae4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 31 Mar 2020 16:06:39 +0200
+Subject: [PATCH] modulemd: generate the manpage only if the feature is enabled
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ modulemd/meson.build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modulemd/meson.build b/modulemd/meson.build
+index 9ef1902..9f71e72 100644
+--- a/modulemd/meson.build
++++ b/modulemd/meson.build
+@@ -494,6 +494,7 @@ if with_docs
+ )
+ endif
+
++if with_manpages == 'enabled'
+ help2man_opts = [
+ '--no-info',
+ '--section=1',
+@@ -506,3 +507,4 @@ custom_target(
+ ],
+ install: true,
+ install_dir: join_paths(get_option('mandir'), 'man1'))
++endif
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch
new file mode 100644
index 000000000..a97fb7390
--- /dev/null
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-meson.build-do-not-install-python-gi-bindings.patch
@@ -0,0 +1,23 @@
+From d7eeac90fe02ccf5c5e4334e41ec75fc33803643 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 31 Mar 2020 16:12:28 +0200
+Subject: [PATCH] meson.build: do not install python gi bindings
+
+These are unnecessary for oe-core, and the install location
+is incorrectly determined using native python.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index a8b02b4..8ff737b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -171,4 +171,3 @@ configure_file(
+ )
+
+ subdir('modulemd')
+-subdir('bindings/python')
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 5409051d7..d440e60ee 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd-v1_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -2,19 +2,19 @@ SUMMARY = "C Library for manipulating module metadata files"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb"
-SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch=1.x-maint \
- file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \
+SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
+ file://0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch \
+ file://0002-meson.build-do-not-install-python-gi-bindings.patch \
"
-PV = "1.8.16"
-SRCREV = "d0dcf7b373b3cf85cd39eb3bc23d31e06195a75a"
-UPSTREAM_CHECK_GITTAGREGEX = "libmodulemd-(?P<pver>1.*\d)"
+PV = "2.9.2"
+SRCREV = "780750eab8a0587b20d033f335301f16d00ab9c9"
S = "${WORKDIR}/git"
inherit meson gobject-introspection
-EXTRA_OEMESON = "-Ddeveloper_build=false -Dwith_docs=false"
+EXTRA_OEMESON = "-Ddeveloper_build=false -Dwith_docs=false -Drpmio=disabled -Dlibmagic=disabled -Dwith_manpages=disabled"
DEPENDS += "glib-2.0 libyaml glib-2.0-native python3"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.11.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb
index 30c8a5c55..6a0a59f86 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.11.0.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.11.2.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git \
file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
"
-SRCREV = "497f5eb2293662835bed6bdb0f43521788b2cebe"
+SRCREV = "67c2d1f83f1bf87be3f26ba730fce7fbdf0c9fba"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 5f9277fc0..d24ed761b 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -10,6 +10,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
RDEPENDS_${PN}_append_class-target = " ncurses-terminfo"
inherit cmake pkgconfig
@@ -18,7 +21,7 @@ PROVIDES += "llvm${PV}"
MAJOR_VERSION = "9"
MINOR_VERSION = "0"
-PATCH_VERSION = "0"
+PATCH_VERSION = "1"
PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
@@ -26,12 +29,14 @@ LLVM_RELEASE = "${PV}"
LLVM_DIR = "llvm${LLVM_RELEASE}"
BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "0399d5a9682b3cef71c653373e38890c63c4c365"
+SRCREV = "c1a0a213378a458fbea1a5c77b315c7dce08fd05"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
"
+UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)"
+
S = "${WORKDIR}/git/llvm"
LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
diff --git a/poky/meta/recipes-devtools/make/make.inc b/poky/meta/recipes-devtools/make/make.inc
index b8905bc6d..a0a72b629 100644
--- a/poky/meta/recipes-devtools/make/make.inc
+++ b/poky/meta/recipes-devtools/make/make.inc
@@ -5,9 +5,7 @@ called the makefile, which lists each of the non-source files and how to compute
HOMEPAGE = "http://www.gnu.org/software/make/"
SECTION = "devel"
-SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.bz2 \
- file://0001-glob-Do-not-assume-glibc-glob-internals.patch \
- file://0002-glob-Do-not-assume-glibc-glob-internals.patch \
+SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.gz \
"
inherit autotools gettext pkgconfig texinfo
diff --git a/poky/meta/recipes-devtools/make/make/0001-glob-Do-not-assume-glibc-glob-internals.patch b/poky/meta/recipes-devtools/make/make/0001-glob-Do-not-assume-glibc-glob-internals.patch
deleted file mode 100644
index 2b6e4d40c..000000000
--- a/poky/meta/recipes-devtools/make/make/0001-glob-Do-not-assume-glibc-glob-internals.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From c90a7dda6c572f79b8e78da44b6ebf8704edef65 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sun, 24 Sep 2017 09:12:58 -0400
-Subject: [PATCH 1/2] glob: Do not assume glibc glob internals.
-
-It has been proposed that glibc glob start using gl_lstat,
-which the API allows it to do. GNU 'make' should not get in
-the way of this. See:
-https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html
-
-* dir.c (local_lstat): New function, like local_stat.
-(dir_setup_glob): Use it to initialize gl_lstat too, as the API
-requires.
----
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- dir.c | 29 +++++++++++++++++++++++++++--
- 1 file changed, 27 insertions(+), 2 deletions(-)
-
-diff --git a/dir.c b/dir.c
-index f34bbf5..12eef30 100644
---- a/dir.c
-+++ b/dir.c
-@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf)
- }
- #endif
-
-+/* Similarly for lstat. */
-+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS)
-+# ifndef VMS
-+# ifndef HAVE_SYS_STAT_H
-+int lstat (const char *path, struct stat *sbuf);
-+# endif
-+# else
-+ /* We are done with the fake lstat. Go back to the real lstat */
-+# ifdef lstat
-+# undef lstat
-+# endif
-+# endif
-+# define local_lstat lstat
-+#elif defined(WINDOWS32)
-+/* Windows doesn't support lstat(). */
-+# define local_lstat local_stat
-+#else
-+static int
-+local_lstat (const char *path, struct stat *buf)
-+{
-+ int e;
-+ EINTRLOOP (e, lstat (path, buf));
-+ return e;
-+}
-+#endif
-+
- void
- dir_setup_glob (glob_t *gl)
- {
- gl->gl_opendir = open_dirstream;
- gl->gl_readdir = read_dirstream;
- gl->gl_closedir = free;
-+ gl->gl_lstat = local_lstat;
- gl->gl_stat = local_stat;
-- /* We don't bother setting gl_lstat, since glob never calls it.
-- The slot is only there for compatibility with 4.4 BSD. */
- }
-
- void
---
-2.16.1
-
diff --git a/poky/meta/recipes-devtools/make/make/0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch b/poky/meta/recipes-devtools/make/make/0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch
new file mode 100644
index 000000000..096bcfdf7
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch
@@ -0,0 +1,38 @@
+From 8309601775d9442416329a77f7dcfd8aa799e9a6 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Fri, 21 Feb 2020 17:39:56 +0100
+Subject: [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX
+
+When cross compiling for a system without getloadavg, do not try add
+additional linker paths unless it's absolutely necessary.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending
+ m4/getloadavg.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4
+index 3bd2a14..696c5de 100644
+--- a/m4/getloadavg.m4
++++ b/m4/getloadavg.m4
+@@ -42,6 +42,8 @@ AC_CHECK_FUNC([getloadavg], [],
+ fi
+
+ if test $gl_func_getloadavg_done = no; then
++ AS_CASE([$host_os],
++ [aix*], [
+ # There is a commonly available library for RS/6000 AIX.
+ # Since it is not a standard part of AIX, it might be installed locally.
+ gl_getloadavg_LIBS=$LIBS
+@@ -49,6 +51,7 @@ AC_CHECK_FUNC([getloadavg], [],
+ AC_CHECK_LIB([getloadavg], [getloadavg],
+ [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes],
+ [LIBS=$gl_getloadavg_LIBS])
++ ], [:])
+ fi
+
+ # Set up the replacement function if necessary.
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/make/make/0001-makeinst-Do-not-undef-POSIX-on-clang-arm.patch b/poky/meta/recipes-devtools/make/make/0001-makeinst-Do-not-undef-POSIX-on-clang-arm.patch
new file mode 100644
index 000000000..2da7c983d
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0001-makeinst-Do-not-undef-POSIX-on-clang-arm.patch
@@ -0,0 +1,38 @@
+From 86b7947156a0c33e768d0a265e38f2881a70a7e2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 6 Mar 2020 23:19:37 -0800
+Subject: [PATCH] makeinst: Do not undef POSIX on clang/arm
+
+if __arm internal compiler macro is defined then make assumes that the
+system is not posix and goes ahead and undefs POSIX, which results in
+miscompiling make with clang, since clang does define __arm unlike gcc
+which does not, but they both support posix just fine, so here check for
+compiler not being clang when __arm is defined before undefining posix
+
+Fixes error like
+../make-4.3/src/job.c:507:27: error: too many arguments to function call, expected 0, have 1
+ sigsetmask (siggetmask (0) & ~fatal_signal_mask)
+ ~~~~~~~~~~ ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/makeint.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/makeint.h b/src/makeint.h
+index c428a36..fadf963 100644
+--- a/src/makeint.h
++++ b/src/makeint.h
+@@ -115,7 +115,7 @@ extern int errno;
+ #endif
+
+ /* Some systems define _POSIX_VERSION but are not really POSIX.1. */
+-#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386)))
++#if (defined (butterfly) || (defined (__arm) && !defined(__clang__)) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386)))
+ # undef POSIX
+ #endif
+
+--
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch b/poky/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch
new file mode 100644
index 000000000..57970824f
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch
@@ -0,0 +1,41 @@
+From cd7091a7d88306004ca98c5dafcc40f44589b105 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Mon, 24 Feb 2020 10:52:21 +0100
+Subject: [PATCH 1/3] src/dir.c: fix buffer-overflow warning
+
+Fix compiler warning:
+ src/dir.c:1294:7: warning: 'strncpy' specified bound depends on the
+ length of the source argument [-Wstringop-overflow=]
+
+The existing code assumes `path` will never exceed `MAXPATHLEN`. Also the
+size of the buffer is increased by 1 to hold a path with the length of
+`MAXPATHLEN` and trailing `0`.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending (https://savannah.gnu.org/bugs/?57888)
+
+ src/dir.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/dir.c b/src/dir.c
+index 862a18e..cad4c4a 100644
+--- a/src/dir.c
++++ b/src/dir.c
+@@ -1289,10 +1289,10 @@ local_stat (const char *path, struct stat *buf)
+ if (plen > 1 && path[plen - 1] == '.'
+ && (path[plen - 2] == '/' || path[plen - 2] == '\\'))
+ {
+- char parent[MAXPATHLEN];
++ char parent[MAXPATHLEN+1];
+
+- strncpy (parent, path, plen - 2);
+- parent[plen - 2] = '\0';
++ strncpy (parent, path, MAXPATHLEN);
++ parent[MIN(plen - 2, MAXPATHLEN)] = '\0';
+ if (stat (parent, buf) < 0 || !_S_ISDIR (buf->st_mode))
+ return -1;
+ }
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/make/make/0002-glob-Do-not-assume-glibc-glob-internals.patch b/poky/meta/recipes-devtools/make/make/0002-glob-Do-not-assume-glibc-glob-internals.patch
deleted file mode 100644
index d49acd9f6..000000000
--- a/poky/meta/recipes-devtools/make/make/0002-glob-Do-not-assume-glibc-glob-internals.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 9858702dbd1e137262c06765919937660879f63c Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Sun, 24 Sep 2017 09:12:58 -0400
-Subject: [PATCH 2/2] glob: Do not assume glibc glob internals.
-
-It has been proposed that glibc glob start using gl_lstat,
-which the API allows it to do. GNU 'make' should not get in
-the way of this. See:
-https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html
-
-* dir.c (local_lstat): New function, like local_stat.
-(dir_setup_glob): Use it to initialize gl_lstat too, as the API
-requires.
----
-Upstream-Status: Backport
-
- configure.ac | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 64ec870..e87901c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -399,10 +399,9 @@ AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob],
- #include <glob.h>
- #include <fnmatch.h>
-
--#define GLOB_INTERFACE_VERSION 1
- #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
- # include <gnu-versions.h>
--# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
-+if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
- gnu glob
- # endif
- #endif],
---
-2.16.1
-
diff --git a/poky/meta/recipes-devtools/make/make/0002-modules-fcntl-allow-being-detected-by-importing-proj.patch b/poky/meta/recipes-devtools/make/make/0002-modules-fcntl-allow-being-detected-by-importing-proj.patch
new file mode 100644
index 000000000..b3d97f9a3
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0002-modules-fcntl-allow-being-detected-by-importing-proj.patch
@@ -0,0 +1,33 @@
+From fb8aaed3b040e589cd880fd714dda5ec00687217 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Mon, 24 Feb 2020 12:10:06 +0100
+Subject: [PATCH 2/2] modules: fcntl: allow being detected by importing
+ projects
+
+GNU project `make` relies on gnulib but provides some own compatibility
+functions - including an `fcntl`, which fails on mingw.
+The intension of gnulib is providing these functions and being wider tested,
+but silently injecting a function opens battle of compatibility layers.
+
+So adding a hint into target `config.h` to allow deciding whether using
+an own compatibility implementation or not.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending
+
+ m4/gnulib-comp.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
+index 3ee0811..cf75541 100644
+--- a/m4/gnulib-comp.m4
++++ b/m4/gnulib-comp.m4
+@@ -147,6 +147,7 @@
+ gl_FUNC_FCNTL
+ if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
+ AC_LIBOBJ([fcntl])
++ AC_DEFINE(HAVE_GNULIB_FCNTL, 1, [Define to 1 if you have the `fcntl' function via gnulib.])
+ fi
+ gl_FCNTL_MODULE_INDICATOR([fcntl])
+ gl_FCNTL_H
diff --git a/poky/meta/recipes-devtools/make/make/0002-w32-compat-dirent.c-follow-header.patch b/poky/meta/recipes-devtools/make/make/0002-w32-compat-dirent.c-follow-header.patch
new file mode 100644
index 000000000..9ecc44543
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0002-w32-compat-dirent.c-follow-header.patch
@@ -0,0 +1,36 @@
+From 4dd8b4f43aa0078707ad9a7932f4e137bc4383ed Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Mon, 24 Feb 2020 11:12:43 +0100
+Subject: [PATCH 2/3] w32: compat: dirent.c: follow header
+
+src/w32/include/dirent.h completely delegates to mingw dirent implementation,
+gnulib detects it as fine and completely usable - trust in that.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending (https://savannah.gnu.org/bugs/?57888)
+
+ src/w32/compat/dirent.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/w32/compat/dirent.c b/src/w32/compat/dirent.c
+index b8ec615..de80f72 100644
+--- a/src/w32/compat/dirent.c
++++ b/src/w32/compat/dirent.c
+@@ -23,7 +23,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
+ #include <stdlib.h>
+ #include "dirent.h"
+
+-
++#ifndef __MINGW32__
+ DIR*
+ opendir(const char* pDirName)
+ {
+@@ -193,3 +193,4 @@ seekdir(DIR* pDir, long nPosition)
+
+ return;
+ }
++#endif /* !__MINGW32__ */
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/make/make/0003-posixfcn-fcntl-gnulib-make-emulated.patch b/poky/meta/recipes-devtools/make/make/0003-posixfcn-fcntl-gnulib-make-emulated.patch
new file mode 100644
index 000000000..70414c51f
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make/0003-posixfcn-fcntl-gnulib-make-emulated.patch
@@ -0,0 +1,79 @@
+From 3d074c8fca5fcf3e6b83d33788f35a8f1b3a44a2 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Fri, 21 Feb 2020 19:29:49 +0100
+Subject: [PATCH 3/3] posixfcn: fcntl: gnulib > make-emulated
+
+Rate the fcntl emulation from gnulib higher than the own one.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending (https://savannah.gnu.org/bugs/?57888)
+
+ src/output.h | 19 ++++++++++++++-----
+ src/w32/compat/posixfcn.c | 2 ++
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/src/output.h b/src/output.h
+index a506505..d3ce6b7 100644
+--- a/src/output.h
++++ b/src/output.h
+@@ -67,14 +67,21 @@ void output_dump (struct output *out);
+
+ # ifdef WINDOWS32
+ /* For emulations in w32/compat/posixfcn.c. */
+-# define F_GETFD 1
+-# define F_SETLKW 2
++# ifndef F_GETFD
++# define F_GETFD 1
++# endif
++# ifndef F_SETLKW
++# define F_SETLKW 2
++# endif
+ /* Implementation note: None of the values of l_type below can be zero
+ -- they are compared with a static instance of the struct, so zero
+ means unknown/invalid, see w32/compat/posixfcn.c. */
+-# define F_WRLCK 1
+-# define F_UNLCK 2
+-
++# ifndef F_WRLCK
++# define F_WRLCK 1
++# endif
++# ifndef F_UNLCK
++# define F_UNLCK 2
++# endif
+ struct flock
+ {
+ short l_type;
+@@ -89,7 +96,9 @@ struct flock
+ typedef intptr_t sync_handle_t;
+
+ /* Public functions emulated/provided in posixfcn.c. */
++# ifndef HAVE_GNULIB_FCNTL
+ int fcntl (intptr_t fd, int cmd, ...);
++# endif
+ intptr_t create_mutex (void);
+ int same_stream (FILE *f1, FILE *f2);
+
+diff --git a/src/w32/compat/posixfcn.c b/src/w32/compat/posixfcn.c
+index 975dfb7..d337b9c 100644
+--- a/src/w32/compat/posixfcn.c
++++ b/src/w32/compat/posixfcn.c
+@@ -29,6 +29,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
+ #ifndef NO_OUTPUT_SYNC
+ /* Support for OUTPUT_SYNC and related functionality. */
+
++#ifndef HAVE_GNULIB_FCNTL
+ /* Emulation of fcntl that supports only F_GETFD and F_SETLKW. */
+ int
+ fcntl (intptr_t fd, int cmd, ...)
+@@ -142,6 +143,7 @@ fcntl (intptr_t fd, int cmd, ...)
+ return -1;
+ }
+ }
++#endif /* GNULIB_TEST_FCNTL */
+
+ static intptr_t mutex_handle = -1;
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/make/make_4.2.1.bb b/poky/meta/recipes-devtools/make/make_4.2.1.bb
deleted file mode 100644
index c6e6a0cd5..000000000
--- a/poky/meta/recipes-devtools/make/make_4.2.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-LICENSE = "GPLv3 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://tests/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://glob/COPYING.LIB;md5=4a770b67e6be0f60da244beb2de0fce4"
-require make.inc
-
-EXTRA_OECONF += "--without-guile"
-
-SRC_URI[md5sum] = "15b012617e7c44c0ed482721629577ac"
-SRC_URI[sha256sum] = "d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/make/make_4.3.bb b/poky/meta/recipes-devtools/make/make_4.3.bb
new file mode 100644
index 000000000..3e0eb543b
--- /dev/null
+++ b/poky/meta/recipes-devtools/make/make_4.3.bb
@@ -0,0 +1,18 @@
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+require make.inc
+
+SRC_URI += "\
+ file://0001-m4-getloadavg.m4-restrict-AIX-specific-test-on-AIX.patch \
+ file://0002-modules-fcntl-allow-being-detected-by-importing-proj.patch \
+ file://0001-src-dir.c-fix-buffer-overflow-warning.patch \
+ file://0002-w32-compat-dirent.c-follow-header.patch \
+ file://0003-posixfcn-fcntl-gnulib-make-emulated.patch \
+ file://0001-makeinst-Do-not-undef-POSIX-on-clang-arm.patch \
+"
+
+EXTRA_OECONF += "--without-guile"
+
+SRC_URI[sha256sum] = "e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 50fb41ac9..0a58c971a 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -26,6 +26,7 @@ SRC_URI_append_class-native = " \
"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
+UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
inherit setuptools3
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 9ce31e548..e64488be4 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -16,12 +16,12 @@ index 0f277a7..24578ea 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
@@ -192,7 +192,7 @@ class MachineInfo:
-
+
cpu_family = literal['cpu_family']
if cpu_family not in known_cpu_families:
- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % cpu_family)
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % cpu_family)
-
+
endian = literal['endian']
if endian not in ('little', 'big'):
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
@@ -30,12 +30,12 @@ index dc8b14f..3aab71e 100644
+++ b/mesonbuild/environment.py
@@ -354,9 +354,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
trial = 'parisc'
-
+
if trial not in known_cpu_families:
- mlog.warning('Unknown CPU family {!r}, please report this at '
- 'https://github.com/mesonbuild/meson/issues/new with the '
- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
-
+
return trial
-
+
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index ce1866075..d2c3f8cdf 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -17,8 +17,8 @@ index 24578ea..216e71f 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
-
-
+
+
known_cpu_families = (
+ 'allarch',
'aarch64',
diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index dc822fb1f..a5baca093 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -28,25 +28,25 @@ index 40e304c..4b687df 100644
@@ -184,7 +184,7 @@ class Dependency:
def get_exe_args(self, compiler):
return []
-
+
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
-
+
def get_configtool_variable(self, variable_name):
@@ -247,7 +247,7 @@ class InternalDependency(Dependency):
self.sources = sources
self.ext_deps = ext_deps
-
+
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
raise DependencyException('Method "get_pkgconfig_variable()" is '
'invalid for an internal dependency')
-
+
@@ -673,15 +673,18 @@ class PkgConfigDependency(ExternalDependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
-
+
- def _call_pkgbin_real(self, args, env):
- cmd = self.pkgbin.get_command() + args
+ def _call_pkgbin_real(self, args, env, use_native=False):
@@ -59,7 +59,7 @@ index 40e304c..4b687df 100644
call = ' '.join(cmd)
mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out))
return rc, out, err
-
+
- def _call_pkgbin(self, args, env=None):
+ def _call_pkgbin(self, args, env=None, use_native=False):
# Always copy the environment since we're going to modify it
@@ -72,21 +72,21 @@ index 40e304c..4b687df 100644
- cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env)
+ cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env, use_native)
return cache[(self.pkgbin, targs, fenv)]
-
+
def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]:
@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency):
(self.name, out_raw))
self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
-
+
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
options = ['--variable=' + variable_name, self.name]
-
+
if 'define_variable' in kwargs:
@@ -920,7 +923,7 @@ class PkgConfigDependency(ExternalDependency):
-
+
options = ['--define-variable=' + '='.join(definition)] + options
-
+
- ret, out, err = self._call_pkgbin(options)
+ ret, out, err = self._call_pkgbin(options, use_native=use_native)
variable = ''
@@ -104,7 +104,7 @@ index da411ef..856506a 100644
+ prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True)
if prefix:
self.bindir = os.path.join(prefix, 'bin')
-
+
@@ -508,7 +508,7 @@ class Qt4Dependency(QtBaseDependency):
applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
for application in applications:
@@ -113,13 +113,13 @@ index da411ef..856506a 100644
+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True))
except MesonException:
pass
-
+
@@ -518,7 +518,7 @@ class Qt5Dependency(QtBaseDependency):
QtBaseDependency.__init__(self, 'qt5', env, kwargs)
-
+
def get_pkgconfig_host_bins(self, core):
- return core.get_pkgconfig_variable('host_bins', {})
+ return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
-
+
def get_private_includes(self, mod_inc_dir, module):
return _qt_get_private_includes(mod_inc_dir, module, self.version)
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 0c401c86f..5fd1c5c0c 100644
--- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -4,7 +4,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
SRCBRANCH ?= "master"
-SRCREV = "aef913e31b659462fe6b9320d241676cba97f67b"
+SRCREV = "73d6c59af8d1bcedf5de4aa1f5d5b7f765f545f5"
PV = "0.1+git${SRCPV}"
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index 464ccc4ca..138ff9de7 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From 5c24356762bc4274d3ca4930b0bc7754f4ffd19b Mon Sep 17 00:00:00 2001
+From fa6ebd96c7f330edcd74abf61584592eabb9e726 Mon Sep 17 00:00:00 2001
From: Ed Bartosh <ed.bartosh@linux.intel.com>
Date: Tue, 13 Jun 2017 14:55:52 +0300
Subject: [PATCH] Disabled reading host configs.
@@ -12,10 +12,10 @@ Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
1 file changed, 8 deletions(-)
diff --git a/config.c b/config.c
-index f086883..1c3f9bd 100644
+index 265d494..15e64dd 100644
--- a/config.c
+++ b/config.c
-@@ -701,14 +701,6 @@ void read_config(void)
+@@ -740,14 +740,6 @@ void read_config(void)
memcpy(devices, const_devices,
nr_const_devices*sizeof(struct device));
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
index 2093d80db..d7cc72d17 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.23.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.24.bb
@@ -24,8 +24,8 @@ RRECOMMENDS_${PN}_libc-glibc = "\
glibc-gconv-ibm866 \
glibc-gconv-ibm869 \
"
-SRC_URI[md5sum] = "1d17b58c53a46b29c7f521d4a55ccef1"
-SRC_URI[sha256sum] = "f188db26751aeb5692a79b2380b440ecc05fd1848a52f869d7ca1193f2ef8ee3"
+SRC_URI[md5sum] = "aeaf34406e9d28922b7c09a35ca5955e"
+SRC_URI[sha256sum] = "24f4a2da9219f98498eb1b340cd96db7ef9b684c067d1bdeb6e85efdd13b2fb9"
SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0001-stdlib-Add-strlcat.patch b/poky/meta/recipes-devtools/nasm/nasm/0001-stdlib-Add-strlcat.patch
new file mode 100644
index 000000000..d94fd3290
--- /dev/null
+++ b/poky/meta/recipes-devtools/nasm/nasm/0001-stdlib-Add-strlcat.patch
@@ -0,0 +1,117 @@
+From 8a204171004fa0d7d21389530c744d215e99efb0 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Tue, 19 Nov 2019 12:47:30 -0600
+Subject: [PATCH 1/2] stdlib: Add strlcat
+
+Adds strlcat which can be used to safely concatenate strings
+
+Upstream-Status: Submitted [https://bugzilla.nasm.us/show_bug.cgi?id=3392635]
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+---
+ Makefile.in | 2 +-
+ configure.ac | 2 ++
+ include/compiler.h | 4 ++++
+ stdlib/strlcat.c | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 50 insertions(+), 1 deletion(-)
+ create mode 100644 stdlib/strlcat.c
+
+diff --git a/Makefile.in b/Makefile.in
+index 32ef3d91..ff7eb447 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -93,7 +93,7 @@ NASM = asm/nasm.$(O)
+ NDISASM = disasm/ndisasm.$(O)
+
+ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \
+- stdlib/strnlen.$(O) stdlib/strrchrnul.$(O) \
++ stdlib/strnlen.$(O) stdlib/strrchrnul.$(O) stdlib/strlcat.$(O) \
+ \
+ nasmlib/ver.$(O) \
+ nasmlib/crc64.$(O) nasmlib/malloc.$(O) nasmlib/errfile.$(O) \
+diff --git a/configure.ac b/configure.ac
+index 38b3b596..b4e88778 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -152,6 +152,7 @@ AC_CHECK_FUNCS([vsnprintf _vsnprintf])
+ AC_CHECK_FUNCS([snprintf _snprintf])
+ AC_CHECK_FUNCS([strlcpy])
+ AC_CHECK_FUNCS([strrchrnul])
++AC_CHECK_FUNCS([strlcat])
+
+ dnl These types are POSIX-specific, and Windows does it differently...
+ AC_CHECK_TYPES([struct _stati64])
+@@ -170,6 +171,7 @@ AC_CHECK_DECLS(strsep)
+ AC_CHECK_DECLS(strlcpy)
+ AC_CHECK_DECLS(strnlen)
+ AC_CHECK_DECLS(strrchrnul)
++AC_CHECK_DECLS(strlcat)
+
+ dnl Check for missing types
+ AC_TYPE_UINTPTR_T
+diff --git a/include/compiler.h b/include/compiler.h
+index 4178c98e..8153d297 100644
+--- a/include/compiler.h
++++ b/include/compiler.h
+@@ -159,6 +159,10 @@ size_t strlcpy(char *, const char *, size_t);
+ char *strrchrnul(const char *, int);
+ #endif
+
++#if !defined(HAVE_STRLCAT) || !HAVE_DECL_STRLCAT
++size_t strlcat(char *, const char *, size_t);
++#endif
++
+ #ifndef __cplusplus /* C++ has false, true, bool as keywords */
+ # ifdef HAVE_STDBOOL_H
+ # include <stdbool.h>
+diff --git a/stdlib/strlcat.c b/stdlib/strlcat.c
+new file mode 100644
+index 00000000..7084d460
+--- /dev/null
++++ b/stdlib/strlcat.c
+@@ -0,0 +1,43 @@
++/*
++ * Copyright (c) 2019 Garmin Ltd. or its subsidiaries
++ *
++ * Permission to use, copy, modify, and distribute this software for any
++ * purpose with or without fee is hereby granted, provided that the above
++ * copyright notice and this permission notice appear in all copies.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#include "compiler.h"
++
++/*
++ * Concatenate src string to dest of size size. The destination buffer will
++ * have no more than size-1 character when the operation finishes. Always NUL
++ * terminates, unless size == 0 or dest has no NUL terminator. Returns
++ * strlen(initial dest) + strlen(src); if retval >= size, truncation occurred.
++ */
++#ifndef HAVE_STRLCAT
++
++size_t strlcat(char *dest, const char *src, size_t size)
++{
++ size_t n;
++
++ /* find the NULL terminator in dest */
++ for (n = 0; i < size && dest[n] != '\0'; n++)
++ ;
++
++ /* destination was not NULL terminated. Return the initial size */
++ if (n == size)
++ return size;
++
++ return strlcpy(&dest[n], src, size - n) + n;
++}
++
++#endif
++
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/nasm/nasm/0002-Add-debug-prefix-map-option.patch b/poky/meta/recipes-devtools/nasm/nasm/0002-Add-debug-prefix-map-option.patch
new file mode 100644
index 000000000..bbfae2e8a
--- /dev/null
+++ b/poky/meta/recipes-devtools/nasm/nasm/0002-Add-debug-prefix-map-option.patch
@@ -0,0 +1,325 @@
+From fa677c1caf6b8192971920cf5c1aa8cb33c74605 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Tue, 19 Nov 2019 13:12:17 -0600
+Subject: [PATCH 2/2] Add --debug-prefix-map option
+
+Adds an option to remap file prefixes in output object files. This is
+analogous to the "-fdebug-prefix-map" option in GCC, and allows files to
+be built in a reproducible manner regardless of the build directory.
+
+Upstream-Status: Submitted [https://bugzilla.nasm.us/show_bug.cgi?id=3392635]
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+---
+ asm/nasm.c | 28 ++++++++++++++++++++++++++--
+ include/nasmlib.h | 9 +++++++++
+ nasm.txt | 4 ++++
+ nasmlib/filename.c | 20 ++++++++++++++++++++
+ output/outas86.c | 4 +++-
+ output/outcoff.c | 4 ++--
+ output/outelf.c | 8 ++++----
+ output/outieee.c | 2 +-
+ output/outobj.c | 2 +-
+ stdlib/strlcat.c | 2 +-
+ test/elfdebugprefix.asm | 6 ++++++
+ test/performtest.pl | 12 ++++++++++--
+ 12 files changed, 87 insertions(+), 14 deletions(-)
+ create mode 100644 test/elfdebugprefix.asm
+
+diff --git a/asm/nasm.c b/asm/nasm.c
+index 1c5a5fc5..5d45103c 100644
+--- a/asm/nasm.c
++++ b/asm/nasm.c
+@@ -841,7 +841,8 @@ enum text_options {
+ OPT_BEFORE,
+ OPT_LIMIT,
+ OPT_KEEP_ALL,
+- OPT_NO_LINE
++ OPT_NO_LINE,
++ OPT_DEBUG_PREFIX_MAP
+ };
+ struct textargs {
+ const char *label;
+@@ -866,6 +867,7 @@ static const struct textargs textopts[] = {
+ {"limit-", OPT_LIMIT, true, 0},
+ {"keep-all", OPT_KEEP_ALL, false, 0},
+ {"no-line", OPT_NO_LINE, false, 0},
++ {"debug-prefix-map", OPT_DEBUG_PREFIX_MAP, true, 0},
+ {NULL, OPT_BOGUS, false, 0}
+ };
+
+@@ -1217,6 +1219,26 @@ static bool process_arg(char *p, char *q, int pass)
+ case OPT_NO_LINE:
+ pp_noline = true;
+ break;
++ case OPT_DEBUG_PREFIX_MAP: {
++ struct debug_prefix_list *d;
++ char *c;
++ c = strchr(param, '=');
++
++ if (!c) {
++ nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE,
++ "option `--%s' must be of the form `BASE=DEST'", p);
++ break;
++ }
++
++ *c = '\0';
++ d = nasm_malloc(sizeof(*d));
++ d->next = debug_prefixes;
++ d->base = nasm_strdup(param);
++ d->dest = nasm_strdup(c + 1);
++ debug_prefixes = d;
++ *c = '=';
++ }
++ break;
+ case OPT_HELP:
+ help(0);
+ exit(0);
+@@ -2010,7 +2032,9 @@ static void help(const char xopt)
+ " --lpostfix str append the given string to all other symbols\n"
+ " --keep-all output files will not be removed even if an error happens\n"
+ " --no-line ignore %%line directives in input\n"
+- " --limit-X val set execution limit X\n");
++ " --limit-X val set execution limit X\n"
++ " --debug-prefix-map base=dest\n"
++ " remap paths starting with 'base' to 'dest' in output files\n");
+
+ for (i = 0; i <= LIMIT_MAX; i++) {
+ printf(" %-15s %s (default ",
+diff --git a/include/nasmlib.h b/include/nasmlib.h
+index e57d0e6d..cf921547 100644
+--- a/include/nasmlib.h
++++ b/include/nasmlib.h
+@@ -195,10 +195,19 @@ int64_t readstrnum(char *str, int length, bool *warn);
+ */
+ int32_t seg_alloc(void);
+
++struct debug_prefix_list {
++ struct debug_prefix_list *next;
++ char *base;
++ char *dest;
++};
++
++extern struct debug_prefix_list *debug_prefixes;
++
+ /*
+ * Add/replace or remove an extension to the end of a filename
+ */
+ const char *filename_set_extension(const char *inname, const char *extension);
++char *filename_debug_remap(char *dest, char const *inname, size_t len);
+
+ /*
+ * Utility macros...
+diff --git a/nasm.txt b/nasm.txt
+index a28202f9..443c06b2 100644
+--- a/nasm.txt
++++ b/nasm.txt
+@@ -147,6 +147,10 @@ OPTIONS
+ Prepend or append (respectively) the given argument to all global or
+ extern variables.
+
++--debug-prefix-map 'BASE=DEST'::
++ Map file names beginning with 'BASE' to 'DEST' when encoding them in
++ output object files.
++
+ SYNTAX
+ ------
+ This man page does not fully describe the syntax of *nasm*'s assembly language,
+diff --git a/nasmlib/filename.c b/nasmlib/filename.c
+index 172ae0bc..fda2be41 100644
+--- a/nasmlib/filename.c
++++ b/nasmlib/filename.c
+@@ -39,6 +39,8 @@
+ #include "nasmlib.h"
+ #include "error.h"
+
++struct debug_prefix_list *debug_prefixes = NULL;
++
+ /*
+ * Add/modify a filename extension, assumed to be a period-delimited
+ * field at the very end of the filename. Returns a newly allocated
+@@ -61,3 +63,21 @@ const char *filename_set_extension(const char *inname, const char *extension)
+
+ return p;
+ }
++
++char *filename_debug_remap(char *dest, char const *in, size_t len)
++{
++ struct debug_prefix_list *d;
++ size_t n;
++
++ for (d = debug_prefixes; d != NULL; d = d->next) {
++ n = strlen(d->base);
++ if (strncmp(in, d->base, n) == 0) {
++ strlcpy(dest, d->dest, len);
++ strlcat(dest, &in[n], len);
++ return dest;
++ }
++ }
++
++ strlcpy(dest, in, len);
++ return dest;
++}
+diff --git a/output/outas86.c b/output/outas86.c
+index 3f9867b9..d5f4f966 100644
+--- a/output/outas86.c
++++ b/output/outas86.c
+@@ -113,6 +113,8 @@ static void as86_sect_write(struct Section *, const uint8_t *,
+
+ static void as86_init(void)
+ {
++ char filename[FILENAME_MAX];
++
+ stext.data = saa_init(1L);
+ stext.datalen = 0L;
+ stext.head = stext.last = NULL;
+@@ -134,7 +136,7 @@ static void as86_init(void)
+ strslen = 0;
+
+ /* as86 module name = input file minus extension */
+- as86_add_string(filename_set_extension(inname, ""));
++ as86_add_string(filename_debug_remap(filename, filename_set_extension(inname, ""), sizeof(filename)));
+ }
+
+ static void as86_cleanup(void)
+diff --git a/output/outcoff.c b/output/outcoff.c
+index a2fd302c..bcf576fb 100644
+--- a/output/outcoff.c
++++ b/output/outcoff.c
+@@ -1070,14 +1070,14 @@ static void coff_symbol(char *name, int32_t strpos, int32_t value,
+
+ static void coff_write_symbols(void)
+ {
+- char filename[18];
++ char filename[19];
+ uint32_t i;
+
+ /*
+ * The `.file' record, and the file name auxiliary record.
+ */
+ coff_symbol(".file", 0L, 0L, -2, 0, 0x67, 1);
+- strncpy(filename, inname, 18);
++ filename_debug_remap(filename, inname, 19);
+ nasm_write(filename, 18, ofile);
+
+ /*
+diff --git a/output/outelf.c b/output/outelf.c
+index de99d076..203b5dc0 100644
+--- a/output/outelf.c
++++ b/output/outelf.c
+@@ -1,5 +1,5 @@
+ /* ----------------------------------------------------------------------- *
+- *
++ *
+ * Copyright 1996-2017 The NASM Authors - All Rights Reserved
+ * See the file AUTHORS included with the NASM distribution for
+ * the specific copyright holders.
+@@ -14,7 +14,7 @@
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+- *
++ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+@@ -315,7 +315,7 @@ elf_directive(enum directive directive, char *value, int pass)
+
+ static void elf_init(void)
+ {
+- strlcpy(elf_module, inname, sizeof(elf_module));
++ filename_debug_remap(elf_module, inname, sizeof(elf_module));
+ sects = NULL;
+ nsects = sectlen = 0;
+ syms = saa_init((int32_t)sizeof(struct elf_symbol));
+@@ -868,7 +868,7 @@ static void elf32_out(int32_t segto, const void *data,
+ " segment base references");
+ } else {
+ if (wrt == NO_SEG) {
+- /*
++ /*
+ * The if() is a hack to deal with compilers which
+ * don't handle switch() statements with 64-bit
+ * expressions.
+diff --git a/output/outieee.c b/output/outieee.c
+index 3a28942d..f61824e4 100644
+--- a/output/outieee.c
++++ b/output/outieee.c
+@@ -209,7 +209,7 @@ static void ieee_unqualified_name(char *, char *);
+ */
+ static void ieee_init(void)
+ {
+- strlcpy(ieee_infile, inname, sizeof(ieee_infile));
++ filename_debug_remap(ieee_infile, inname, sizeof(ieee_infile));
+ any_segs = false;
+ fpubhead = NULL;
+ fpubtail = &fpubhead;
+diff --git a/output/outobj.c b/output/outobj.c
+index b4f2c499..55bba4a1 100644
+--- a/output/outobj.c
++++ b/output/outobj.c
+@@ -640,7 +640,7 @@ static enum directive_result obj_directive(enum directive, char *, int);
+
+ static void obj_init(void)
+ {
+- strlcpy(obj_infile, inname, sizeof(obj_infile));
++ filename_debug_remap(obj_infile, inname, sizeof(obj_infile));
+ first_seg = seg_alloc();
+ any_segs = false;
+ fpubhead = NULL;
+diff --git a/stdlib/strlcat.c b/stdlib/strlcat.c
+index 7084d460..ee93dea3 100644
+--- a/stdlib/strlcat.c
++++ b/stdlib/strlcat.c
+@@ -29,7 +29,7 @@ size_t strlcat(char *dest, const char *src, size_t size)
+ size_t n;
+
+ /* find the NULL terminator in dest */
+- for (n = 0; i < size && dest[n] != '\0'; n++)
++ for (n = 0; n < size && dest[n] != '\0'; n++)
+ ;
+
+ /* destination was not NULL terminated. Return the initial size */
+diff --git a/test/elfdebugprefix.asm b/test/elfdebugprefix.asm
+new file mode 100644
+index 00000000..a67ba29c
+--- /dev/null
++++ b/test/elfdebugprefix.asm
+@@ -0,0 +1,6 @@
++;Testname=unoptimized; Arguments=-O0 --debug-prefix-map elf=ELF -felf -oelfdebugprefix.o; Files=stdout stderr elfdebugprefix.o; Validate=readelf --wide --symbols elfdebugprefix.o | grep 'FILE.*ELFdebugprefix.asm'
++
++ SECTION .text
++test: ; [1]
++ ret
++
+diff --git a/test/performtest.pl b/test/performtest.pl
+index f7865b39..096f9604 100755
+--- a/test/performtest.pl
++++ b/test/performtest.pl
+@@ -42,14 +42,22 @@ sub perform {
+ TEST:
+ while(<TESTFILE>) {
+ #See if there is a test case
+- last unless /Testname=(.*);\s*Arguments=(.*);\s*Files=(.*)/;
+- my ($subname, $arguments, $files) = ($1, $2, $3);
++ last unless /Testname=(.*);\s*Arguments=(.*);\s*Files=([^;]*)(?:;\s*Validate=(.*))?/;
++ my ($subname, $arguments, $files, $validate) = ($1, $2, $3, $4);
++ chomp $files;
+ debugprint("$subname | $arguments | $files");
+
+ #Call nasm with this test case
+ system("$nasm $arguments $testpath > $stdoutfile 2> $stderrfile");
+ debugprint("$nasm $arguments $testpath > $stdoutfile 2> $stderrfile ----> $?");
+
++ if($validate) {
++ if(system("$validate >> $stdoutfile 2>> $stderrfile") != 0) {
++ print "Test $testname/$subname validation failed\n";
++ $globalresult = 1;
++ }
++ }
++
+ #Move the output to the test dir
+ mkpath("$outputdir/$testname/$subname");
+ foreach(split / /,$files) {
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/nasm/nasm/CVE-2019-14248.patch b/poky/meta/recipes-devtools/nasm/nasm/CVE-2019-14248.patch
new file mode 100644
index 000000000..d45d2cb46
--- /dev/null
+++ b/poky/meta/recipes-devtools/nasm/nasm/CVE-2019-14248.patch
@@ -0,0 +1,43 @@
+From 93d41d82963b2cfd0b24c906f5a8daf53281b559 Mon Sep 17 00:00:00 2001
+From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
+Date: Fri, 16 Aug 2019 01:12:54 -0700
+Subject: [PATCH] BR 3392576: don't segfault on a bad %pragma limit
+
+Don't segfault on a bad %pragma limit. Instead treat a NULL pointer as
+an empty string.
+
+Reported-by: Ren Kimura <rkx1209dev@gmail.com>
+Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
+
+CVE: CVE-2019-14248
+Upstream-Status: Backport [https://repo.or.cz/nasm.git/commit/93d41d82963b2cfd0b24c906f5a8daf53281b559]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ asm/nasm.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/asm/nasm.c b/asm/nasm.c
+index c84d675..65116ab 100644
+--- a/asm/nasm.c
++++ b/asm/nasm.c
+@@ -212,6 +212,11 @@ nasm_set_limit(const char *limit, const char *valstr)
+ bool rn_error;
+ int errlevel;
+
++ if (!limit)
++ limit = "";
++ if (!valstr)
++ valstr = "";
++
+ for (i = 0; i <= LIMIT_MAX; i++) {
+ if (!nasm_stricmp(limit, limit_info[i].name))
+ break;
+@@ -204,7 +209,7 @@ nasm_set_limit(const char *limit, const char *valstr)
+ errlevel = ERR_WARNING|ERR_NOFILE|ERR_USAGE;
+ else
+ errlevel = ERR_WARNING|ERR_PASS1|WARN_UNKNOWN_PRAGMA;
+- nasm_error(errlevel, "unknown limit: `%s'", limit);
++ nasm_error(errlevel, "invalid limit value: `%s'", valstr);
+ return DIRR_ERROR;
+ }
+
diff --git a/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
index e4f964ce9..f8a8d76e9 100644
--- a/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
+++ b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
@@ -5,6 +5,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe"
SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
file://CVE-2018-19755.patch \
+ file://CVE-2019-14248.patch \
+ file://0001-stdlib-Add-strlcat.patch \
+ file://0002-Add-debug-prefix-map-option.patch \
"
SRC_URI[md5sum] = "3f489aa48ad2aa1f967dc5e293bbd06f"
diff --git a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch b/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
deleted file mode 100644
index 7fd779110..000000000
--- a/poky/meta/recipes-devtools/ninja/ninja/fix-musl.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e92a915183f8bff268f74c8cd00d986301a2bbf8 Mon Sep 17 00:00:00 2001
-From: makepost <makepost@firemail.cc>
-Date: Mon, 24 Dec 2018 03:13:16 +0200
-Subject: [PATCH] Use st_mtim if st_mtime is macro, fix #1510
-
-In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward
-compatibility macro. Should help avoid hardcoding platform detection.
-
-Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
-
-Upstream-Status: Pending
----
- src/disk_interface.cc | 14 ++++----------
- 1 file changed, 4 insertions(+), 10 deletions(-)
-
-diff --git a/src/disk_interface.cc b/src/disk_interface.cc
-index d4c2fb0..dc297c4 100644
---- a/src/disk_interface.cc
-+++ b/src/disk_interface.cc
-@@ -202,19 +202,13 @@ TimeStamp RealDiskInterface::Stat(const string& path, string* err) const {
- // that it doesn't exist.
- if (st.st_mtime == 0)
- return 1;
--#if defined(__APPLE__) && !defined(_POSIX_C_SOURCE)
-+#if defined(_AIX)
-+ return (int64_t)st.st_mtime * 1000000000LL + st.st_mtime_n;
-+#elif defined(__APPLE__)
- return ((int64_t)st.st_mtimespec.tv_sec * 1000000000LL +
- st.st_mtimespec.tv_nsec);
--#elif (_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700 || defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || \
-- defined(__BIONIC__) || (defined (__SVR4) && defined (__sun)) || defined(__FreeBSD__))
-- // For glibc, see "Timestamp files" in the Notes of http://www.kernel.org/doc/man-pages/online/pages/man2/stat.2.html
-- // newlib, uClibc and musl follow the kernel (or Cygwin) headers and define the right macro values above.
-- // For bsd, see https://github.com/freebsd/freebsd/blob/master/sys/sys/stat.h and similar
-- // For bionic, C and POSIX API is always enabled.
-- // For solaris, see https://docs.oracle.com/cd/E88353_01/html/E37841/stat-2.html.
-+#elif defined(st_mtime) // A macro, so we're likely on modern POSIX.
- return (int64_t)st.st_mtim.tv_sec * 1000000000LL + st.st_mtim.tv_nsec;
--#elif defined(_AIX)
-- return (int64_t)st.st_mtime * 1000000000LL + st.st_mtime_n;
- #else
- return (int64_t)st.st_mtime * 1000000000LL + st.st_mtimensec;
- #endif
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb b/poky/meta/recipes-devtools/ninja/ninja_1.10.0.bb
index f1236e8ac..bdc636505 100644
--- a/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
+++ b/poky/meta/recipes-devtools/ninja/ninja_1.10.0.bb
@@ -5,11 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
DEPENDS = "re2c-native ninja-native"
-SRCREV = "b25c08bda4949192c69cea4cee057887341a2ffc"
+SRCREV = "ed7f67040b370189d989adbd60ff8ea29957231f"
-SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release \
- file://fix-musl.patch \
-"
+SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch
deleted file mode 100644
index 691ed50c2..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-Switch-all-scripts-to-use-Python-3.x.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From d42b23f4fb5d6bd58e92e995fe5befc76efbae0c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 27 Apr 2017 15:47:58 +0300
-Subject: [PATCH] Switch all scripts to use Python 3.x
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- makePackage | 2 +-
- opkg-compare-indexes | 2 +-
- opkg-graph-deps | 2 +-
- opkg-list-fields | 2 +-
- opkg-make-index | 2 +-
- opkg-show-deps | 2 +-
- opkg-unbuild | 2 +-
- opkg-update-index | 2 +-
- opkg.py | 2 +-
- 9 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/makePackage b/makePackage
-index 4bdfc56..02124dd 100755
---- a/makePackage
-+++ b/makePackage
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/env python3
-
- # The general algorithm this program follows goes like this:
- # Run tar to extract control from control.tar.gz from the package.
-diff --git a/opkg-compare-indexes b/opkg-compare-indexes
-index b60d20a..80c1263 100755
---- a/opkg-compare-indexes
-+++ b/opkg-compare-indexes
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
-
-diff --git a/opkg-graph-deps b/opkg-graph-deps
-index 6653fd5..f1e376a 100755
---- a/opkg-graph-deps
-+++ b/opkg-graph-deps
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
-
-diff --git a/opkg-list-fields b/opkg-list-fields
-index c14a90f..24f7955 100755
---- a/opkg-list-fields
-+++ b/opkg-list-fields
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
-
-diff --git a/opkg-make-index b/opkg-make-index
-index 3f757f6..2988f9f 100755
---- a/opkg-make-index
-+++ b/opkg-make-index
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """
- Utility to create opkg compatible indexes
- """
-
-diff --git a/opkg-show-deps b/opkg-show-deps
-index 153f21e..4e18b4f 100755
---- a/opkg-show-deps
-+++ b/opkg-show-deps
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
-
-diff --git a/opkg-unbuild b/opkg-unbuild
-index 4f36bec..57642c9 100755
---- a/opkg-unbuild
-+++ b/opkg-unbuild
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
- from __future__ import print_function
-
-diff --git a/opkg-update-index b/opkg-update-index
-index 341c1c2..7bff8a1 100755
---- a/opkg-update-index
-+++ b/opkg-update-index
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- from __future__ import absolute_import
-
- import sys, os
-diff --git a/opkg.py b/opkg.py
-index 2ecac8a..7e64de4 100644
---- a/opkg.py
-+++ b/opkg.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright (C) 2001 Alexander S. Guy <a7r@andern.org>
- # Andern Research Labs
- #
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
deleted file mode 100644
index a181169d4..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 59da5577bf8df441c6ca958e50fcb83228702764 Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Thu, 12 Sep 2019 10:24:58 -0500
-Subject: [PATCH] opkg-build: clamp mtimes to SOURCE_DATE_EPOCH
-
-For reproducible builds, clamp mtimes bigger than SOURCE_DATE_EPOCH to
-SOURCE_DATE_EPOCH (build generated files, usually).
-
-Fixes bugzilla 13450
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- opkg-build | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/opkg-build b/opkg-build
-index dcd2d68..2517a2b 100755
---- a/opkg-build
-+++ b/opkg-build
-@@ -297,9 +297,16 @@ mkdir $tmp_dir
-
- build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}"
-
-+mtime_args=""
-+# --clamp-mtime requires tar > 1.28. Only use it if SOURCE_DATE_EPOCH is set, to avoid having a generic case dependency on tar > 1.28.
-+# this setting will make sure files generated at build time have consistent mtimes, for reproducible builds.
-+if [ ! -z "$SOURCE_DATE_EPOCH" ]; then
-+ mtime_args="--mtime=@$build_date --clamp-mtime"
-+fi
-+
- ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
- ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list )
--( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
-+( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion $mtime_args -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
- ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
- rm $tmp_dir/file_list
- rm $tmp_dir/control_list
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch
new file mode 100644
index 000000000..945979bc8
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/fix-reproducibility.patch
@@ -0,0 +1,32 @@
+Fix reproducibility issues in opkg-build
+
+There is a sorting problem with opkg-build where the ipk generated is depending
+upon the order of files on disk. The reason is the --sort option to tar only
+influences the orders of files tar reads, not those passed by the -T option.
+
+Add in a sort call to resolve this issue. To ensure consistent sorting we
+also need to force to a specific locale (C) else the results are still not
+deterministic.
+
+RP 2020/2/5
+
+Upstream-Status: Submitted [https://groups.google.com/forum/#!topic/opkg-devel/YttZ73NLrYQ]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: opkg-utils-0.4.2/opkg-build
+===================================================================
+--- opkg-utils-0.4.2.orig/opkg-build
++++ opkg-utils-0.4.2/opkg-build
+@@ -305,8 +305,10 @@ if [ ! -z "$SOURCE_DATE_EPOCH" ]; then
+ mtime_args="--mtime=@$build_date --clamp-mtime"
+ fi
+
+-( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list )
+-( cd $pkg_dir && find . -path ./$CONTROL -prune -o -path . -o -print > $tmp_dir/file_list )
++export LANG=C
++export LC_ALL=C
++( cd $pkg_dir/$CONTROL && find . -type f | sort > $tmp_dir/control_list )
++( cd $pkg_dir && find . -path ./$CONTROL -prune -o -path . -o -print | sort > $tmp_dir/file_list )
+ ( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion $mtime_args -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
+ ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz )
+ rm $tmp_dir/file_list
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pipefail.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pipefail.patch
deleted file mode 100644
index 55ddcc1fd..000000000
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/pipefail.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-We need opkg-build to fail if for example the tar command is passed invalid
-options. Without this, we see silently created empty packaged where data.tar
-is zero bytes in size. This creates hard to debug problems.
-
-An example is when reproducible builds are enabled and run on old hosts like
-centos7 which has tar < 1.28:
-
-Subprocess output:tar: unrecognized option '--clamp-mtime'
-Try `tar --help' or `tar --usage' for more information.
-
-Upstream-Status: Pending
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: opkg-utils-0.4.1/opkg-build
-===================================================================
---- opkg-utils-0.4.1.orig/opkg-build
-+++ opkg-utils-0.4.1/opkg-build
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- : <<=cut
- =head1 NAME
-@@ -12,6 +12,7 @@ opkg-build - construct an .opk from a di
- # Updated to work on Familiar Pre0.7rc1, with busybox tar.
- # Note it Requires: binutils-ar (since the busybox ar can't create)
- set -e
-+set -o pipefail
-
- version=1.0
-
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb
index eb6c7a3a6..931524019 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.2.bb
@@ -4,24 +4,23 @@ SECTION = "base"
HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://opkg.py;beginline=2;endline=18;md5=63ce9e6bcc445181cd9e4baf4b4ccc35"
+ file://opkg.py;beginline=2;endline=18;md5=ffa11ff3c15eb31c6a7ceaa00cc9f986"
PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
-SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
- file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
- file://0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch \
- file://pipefail.patch \
+SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \
+ file://fix-reproducibility.patch \
"
UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
-
-SRC_URI[md5sum] = "8c140f835b694a0c27cfb23d2426a02b"
-SRC_URI[sha256sum] = "9ea9efdd9fe13661ad251e3a2860c1c93045adcfaa6659c3e86d9748ecda3b6e"
+SRC_URI[md5sum] = "cc210650644fcb9bba06ad5ec95a63ec"
+SRC_URI[sha256sum] = "5929ad87d541789e0b82d626db01a1201ac48df6f49f2262fcfb86cf815e5d6c"
TARGET_CC_ARCH += "${LDFLAGS}"
RDEPENDS_${PN} += "bash"
+inherit perlnative
+
# For native builds we use the host Python
PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold"
PYTHONRDEPS_class-native = ""
@@ -35,13 +34,13 @@ do_install() {
if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then
rm -f "${D}${bindir}/update-alternatives"
fi
-
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
- fi
}
do_install_append_class-target() {
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
+ fi
+
if [ -e "${D}${bindir}/update-alternatives" ]; then
sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g'
fi
diff --git a/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb b/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
index a20e316a3..07e240254 100644
--- a/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
+++ b/poky/meta/recipes-devtools/opkg/opkg-keyrings_1.0.bb
@@ -36,5 +36,8 @@ FILES_${PN} = "${datadir}/opkg/keyrings"
RDEPENDS_${PN} = "opkg"
pkg_postinst_ontarget_${PN} () {
-opkg-key populate
+ if test -x ${bindir}/opkg-key
+ then
+ ${bindir}/opkg-key populate
+ fi
}
diff --git a/poky/meta/recipes-devtools/opkg/opkg/open_inner.patch b/poky/meta/recipes-devtools/opkg/opkg/open_inner.patch
deleted file mode 100644
index 278e099e3..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/open_inner.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From alejandro.delcastillo@ni.com Wed Nov 20 22:35:02 2019
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-To: <opkg-devel@googlegroups.com>, <richard.purdie@linuxfoundation.org>
-CC: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Subject: [opkg][PATCH 2/2] open_inner: add support for empty payloads
-Date: Wed, 20 Nov 2019 16:34:48 -0600
-Message-ID: <20191120223448.26522-3-alejandro.delcastillo@ni.com>
-X-Mailer: git-send-email 2.22.0
-In-Reply-To: <20191120223448.26522-1-alejandro.delcastillo@ni.com>
-References: <20191120223448.26522-1-alejandro.delcastillo@ni.com>
-MIME-Version: 1.0
-Content-Type: text/plain
-Content-Transfer-Encoding: 8bit
-
-Support for empty compressed payloads need to be explicitly enabled on
-libarchive.
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-
-Upstream-Status: Backport
----
- libopkg/opkg_archive.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/libopkg/opkg_archive.c b/libopkg/opkg_archive.c
-index 0e9ccea..f19cece 100644
---- a/libopkg/opkg_archive.c
-+++ b/libopkg/opkg_archive.c
-@@ -618,6 +618,13 @@ static struct archive *open_inner(struct archive *outer)
- goto err_cleanup;
- }
-
-+ r = archive_read_support_format_empty(inner);
-+ if (r != ARCHIVE_OK) {
-+ opkg_msg(ERROR, "Empty format not supported: %s\n",
-+ archive_error_string(inner));
-+ goto err_cleanup;
-+ }
-+
- r = archive_read_open(inner, data, NULL, inner_read, inner_close);
- if (r != ARCHIVE_OK) {
- opkg_msg(ERROR, "Failed to open inner archive: %s\n",
---
-2.22.0
-
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg/opkg_archive.patch b/poky/meta/recipes-devtools/opkg/opkg/opkg_archive.patch
deleted file mode 100644
index 3e1ebae95..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/opkg_archive.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From alejandro.delcastillo@ni.com Wed Nov 20 22:35:01 2019
-Return-Path: <richard.purdie+caf_=rpurdie=rpsys.net@linuxfoundation.org>
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-To: <opkg-devel@googlegroups.com>, <richard.purdie@linuxfoundation.org>
-CC: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Subject: [opkg][PATCH 1/2] opkg_archive.c: avoid double free on uncompress
- error
-Date: Wed, 20 Nov 2019 16:34:47 -0600
-Message-ID: <20191120223448.26522-2-alejandro.delcastillo@ni.com>
-X-Mailer: git-send-email 2.22.0
-In-Reply-To: <20191120223448.26522-1-alejandro.delcastillo@ni.com>
-References: <20191120223448.26522-1-alejandro.delcastillo@ni.com>
-MIME-Version: 1.0
-Content-Type: text/plain
-Content-Transfer-Encoding: 8bit
-
-The open-inner function calls archive_read_open. On error,
-archive_read_open calls inner_close, which also closes the outter
-archive. On error, return NULL directly to avoid double free.
-
-
-Upstream-Status: Backport
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
----
- libopkg/opkg_archive.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libopkg/opkg_archive.c b/libopkg/opkg_archive.c
-index 3d87db1..0e9ccea 100644
---- a/libopkg/opkg_archive.c
-+++ b/libopkg/opkg_archive.c
-@@ -622,7 +622,7 @@ static struct archive *open_inner(struct archive *outer)
- if (r != ARCHIVE_OK) {
- opkg_msg(ERROR, "Failed to open inner archive: %s\n",
- archive_error_string(inner));
-- goto err_cleanup;
-+ return NULL;
- }
-
- return inner;
-@@ -683,7 +683,7 @@ static struct archive *extract_outer(const char *filename, const char *arname)
-
- inner = open_inner(outer);
- if (!inner)
-- goto err_cleanup;
-+ return NULL;
-
- return inner;
-
---
-2.22.0
-
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb
index f0ae8b36b..66a74dc5e 100644
--- a/poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.2.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://code.google.com/p/opkg/"
BUGTRACKER = "http://code.google.com/p/opkg/issues/list"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/opkg.c;beginline=2;endline=21;md5=90435a519c6ea69ef22e4a88bcc52fa0"
+ file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae"
DEPENDS = "libarchive"
@@ -14,13 +14,11 @@ PE = "1"
SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
file://opkg.conf \
file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
- file://opkg_archive.patch \
- file://open_inner.patch \
file://run-ptest \
"
-SRC_URI[md5sum] = "ba0c21305fc93b26e844981ef100dc85"
-SRC_URI[sha256sum] = "45ac1e037d3877f635d883f8a555e172883a25d3eeb7986c75890fdd31250a43"
+SRC_URI[md5sum] = "bd13e5dfc1c2536f0c7b2e15f795278e"
+SRC_URI[sha256sum] = "86887852c43457edfff9d8b6d9520f3f1cdd55f25eb600a6eb31e1c4e151e106"
# This needs to be before ptest inherit, otherwise all ptest files end packaged
# in libopkg package if OPKGLIBDIR == libdir, because default
@@ -47,16 +45,6 @@ PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
EXTRA_OECONF += " --disable-pathfinder"
EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
-# Release tarball has unused binaries on the tests folder, automatically created by automake.
-# For now, delete them to avoid packaging errors (wrong architecture)
-do_unpack_append () {
- bb.build.exec_func('remove_test_binaries', d)
-}
-
-remove_test_binaries () {
- rm ${WORKDIR}/opkg-${PV}/tests/libopkg_test*
-}
-
do_install_append () {
install -d ${D}${sysconfdir}/opkg
install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
diff --git a/poky/meta/recipes-devtools/orc/orc_0.4.29.bb b/poky/meta/recipes-devtools/orc/orc_0.4.31.bb
index 8313576ab..cd4dc31d7 100644
--- a/poky/meta/recipes-devtools/orc/orc_0.4.29.bb
+++ b/poky/meta/recipes-devtools/orc/orc_0.4.31.bb
@@ -4,10 +4,14 @@ LICENSE = "BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=1400bd9d09e8af56b9ec982b3d85797e"
SRC_URI = "http://gstreamer.freedesktop.org/src/orc/orc-${PV}.tar.xz"
-SRC_URI[md5sum] = "25799917c7d31a891d5e32b83ad08f6d"
-SRC_URI[sha256sum] = "4f8901f9144b5ec17dffdb33548b5f4c7f8049b0d1023be3462cdd64ec5a3ab2"
+SRC_URI[md5sum] = "b6b95a47eff713e91873e2c2b1a5b3ad"
+SRC_URI[sha256sum] = "a0ab5f10a6a9ae7c3a6b4218246564c3bf00d657cbdf587e6d34ec3ef0616075"
-inherit autotools pkgconfig gtk-doc
+inherit meson pkgconfig gtk-doc
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
index 5d7f55f8d..b5897b357 100644
--- a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
+++ b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
@@ -22,3 +22,6 @@ acpaths = "-I ${S}/m4 "
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
+PROVIDES_append_class-native = " patch-replacement-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
index 580108e8b..d29e094ed 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.10.bb
@@ -1,4 +1,4 @@
-SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
+SRC_URI = "git://github.com/NixOS/patchelf;protocol=https \
file://handle-read-only-files.patch \
file://fix-adjusting-startPage.patch \
"
@@ -6,8 +6,9 @@ SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \
LICENSE = "GPLv3"
SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries"
-SRC_URI[md5sum] = "6c3f3a06a95705870d129494a6880106"
-SRC_URI[sha256sum] = "f670cd462ac7161588c28f45349bc20fb9bd842805e3f71387a320e7a9ddfcf3"
+SRCREV = "e1e39f3639e39360ceebb2f7ed533cede4623070"
+
+S = "${WORKDIR}/git"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
diff --git a/poky/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch b/poky/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch
new file mode 100644
index 000000000..c5bbe7888
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch
@@ -0,0 +1,24 @@
+From a033c9ece12b6eead48eed63f106ccdec6159b0c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Dec 2019 16:26:55 +0100
+Subject: [PATCH] CheckLib.pm: do not attempt to run a cross executable
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ inc/Devel/CheckLib.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/inc/Devel/CheckLib.pm b/inc/Devel/CheckLib.pm
+index 36a451a..b04acc1 100644
+--- a/inc/Devel/CheckLib.pm
++++ b/inc/Devel/CheckLib.pm
+@@ -330,7 +330,7 @@ sub assert_lib {
+ push @missing, $lib if $rv != 0 || !-x $exefile;
+ my $absexefile = File::Spec->rel2abs($exefile);
+ $absexefile = '"' . $absexefile . '"' if $absexefile =~ m/\s/;
+- push @wrongresult, $lib if $rv == 0 && -x $exefile && system($absexefile) != 0;
++ push @wrongresult, $lib if $rv == 0 && -x $exefile && 0 != 0;
+ unlink $ofile if -e $ofile;
+ _cleanup_exe($exefile);
+ }
diff --git a/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch b/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch
new file mode 100644
index 000000000..79cae0d6f
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch
@@ -0,0 +1,30 @@
+From a04a75f20f03aa08ce8118b3b0b3f93eb3e997c5 Mon Sep 17 00:00:00 2001
+From: Richard Leach <rich+perl@hyphen-dash-hyphen.info>
+Date: Sun, 19 May 2019 20:16:41 +0000
+Subject: [PATCH] PATCH: [perl #134117] Close DATA in loc_tools.pl
+
+This prevents unexpected text and fixes test lib/warnings.t
+
+Upstream-Status: Backport [a04a75f20f03aa08ce8118b3b0b3f93eb3e997c5]
+
+Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com>
+
+---
+ t/loc_tools.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/loc_tools.pl b/t/loc_tools.pl
+index c76e29388a..beebd98d88 100644
+--- a/t/loc_tools.pl
++++ b/t/loc_tools.pl
+@@ -421,7 +421,7 @@ sub find_locales ($;$) {
+ }
+
+ # The rest of the locales are in this file.
+- push @Data, <DATA>;
++ push @Data, <DATA>; close DATA;
+
+ foreach my $line (@Data) {
+ my ($locale_name, $language_codes, $country_codes, $encodings) =
+--
+2.25.0
diff --git a/poky/meta/recipes-devtools/perl/files/determinism.patch b/poky/meta/recipes-devtools/perl/files/determinism.patch
new file mode 100644
index 000000000..ccdd52a0d
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/determinism.patch
@@ -0,0 +1,68 @@
+Fixes to make the perl build reproducible:
+
+a) Remove the \n from configure_attr.sh since it gets quoted differently depending on
+ whether the shell is bash or dash which can cause the test result to be incorrect.
+ Reported upstream: https://github.com/arsv/perl-cross/issues/87
+
+b) Sort the order of the module lists from configure_mods.sh since otherwise
+ the result isn't the same leading to makefile differences.
+ Reported upstream: https://github.com/arsv/perl-cross/issues/88
+
+c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst
+ there for good measure)
+ This needs to go to upstream perl (not done)
+
+d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash
+ and "" with dash
+ Reported upstream: https://github.com/arsv/perl-cross/issues/87
+
+RP 2020/2/7
+
+Upstream-Status: Pending [75% submitted]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
+
+Index: perl-5.30.1/cnf/configure_mods.sh
+===================================================================
+--- perl-5.30.1.orig/cnf/configure_mods.sh
++++ perl-5.30.1/cnf/configure_mods.sh
+@@ -82,7 +82,7 @@ extonlyif() {
+ }
+
+ definetrimspaces() {
+- v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//'`
++ v=`echo "$2" | sed -r -e 's/\s+/ /g' -e 's/^\s+//' -e 's/\s+$//' | xargs -n1 | LANG=C sort | xargs`
+ define $1 "$v"
+ }
+
+Index: perl-5.30.1/cpan/Encode/Byte/Makefile.PL
+===================================================================
+--- perl-5.30.1.orig/cpan/Encode/Byte/Makefile.PL
++++ perl-5.30.1/cpan/Encode/Byte/Makefile.PL
+@@ -171,7 +171,7 @@ sub postamble
+ my $lengthsofar = length($str);
+ my $continuator = '';
+ $str .= "$table.c : $enc2xs Makefile.PL";
+- foreach my $file (@{$tables{$table}})
++ foreach my $file (sort (@{$tables{$table}}))
+ {
+ $str .= $continuator.' '.$self->catfile($dir,$file);
+ if ( length($str)-$lengthsofar > 128*$numlines )
+@@ -189,7 +189,7 @@ sub postamble
+ qq{\n\t\$(PERL) $plib $enc2xs $ucopts -o \$\@ -f $table.fnm\n\n};
+ open (FILELIST, ">$table.fnm")
+ || die "Could not open $table.fnm: $!";
+- foreach my $file (@{$tables{$table}})
++ foreach my $file (sort (@{$tables{$table}}))
+ {
+ print FILELIST $self->catfile($dir,$file) . "\n";
+ }
+Index: perl-5.30.1/cnf/configure
+===================================================================
+--- perl-5.30.1.orig/cnf/configure
++++ perl-5.30.1/cnf/configure
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+
+ base=${0%/*}; test -z "$base" && base=.
+
diff --git a/poky/meta/recipes-devtools/perl/files/encodefix.patch b/poky/meta/recipes-devtools/perl/files/encodefix.patch
new file mode 100644
index 000000000..396ed0d53
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/encodefix.patch
@@ -0,0 +1,20 @@
+The code is encoding host compiler parameters into target builds. Avoid
+this for our target builds (patch is target specific, not native)
+
+Upstream-Status: Inappropriate [Cross compile hack]
+RP 2020/2/18
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: perl-5.30.1/cpan/Encode/bin/enc2xs
+===================================================================
+--- perl-5.30.1.orig/cpan/Encode/bin/enc2xs
++++ perl-5.30.1/cpan/Encode/bin/enc2xs
+@@ -195,7 +195,7 @@ sub compiler_info {
+ # above becomes false.
+ my $sized = $declaration && !($compat && !$pedantic);
+
+- return ($cpp, $static, $sized);
++ return (0, 1, 1);
+ }
+
+
diff --git a/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch
deleted file mode 100644
index 2b490e606..000000000
--- a/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Test script to reproduce the problem:
-
-#!/usr/bin/env perl
-$) = "2 2";
-print $!;
-
-Result from perl 5.28 under strace:
-
-setgroups(1, [2]) = 0
-setresgid(-1, 2, -1) = 0
-
-Result from perl 5.30 under strace:
-
-setgroups(1, [-1]) = -1 EINVAL (Invalid argument)
-setresgid(-1, 2, -1) = 0
-
-Patch which broke this upstream:
-https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade
-
-Issue is that the new function changes the endptr to the end of the
-scanned number and needs to be reset to the end of the string for
-each iteration of the loop.
-
-[YOCTO #13391]
-
-RP
-2019/6/14
-Upstream-Status: Pending
-
-Index: perl-5.30.0/mg.c
-===================================================================
---- perl-5.30.0.orig/mg.c
-+++ perl-5.30.0/mg.c
-@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
- const char *p = SvPV_const(sv, len);
- Groups_t *gary = NULL;
- const char* endptr = p + len;
-+ const char* realend = p + len;
- UV uv;
- #ifdef _SC_NGROUPS_MAX
- int maxgrp = sysconf(_SC_NGROUPS_MAX);
-@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
- Newx(gary, i + 1, Groups_t);
- else
- Renew(gary, i + 1, Groups_t);
-+ endptr = realend;
- if (grok_atoUV(p, &uv, &endptr))
- gary[i] = (Groups_t)uv;
- else {
diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
index 3c2cecb8c..80ce4a6de 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
@@ -1,4 +1,4 @@
-From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001
+From 5120acaa2be5787d9657f6b91bc8ee3c2d664fbe Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Sun, 27 May 2007 21:04:11 +0000
Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
@@ -20,7 +20,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/configpm b/configpm
-index 09c4a3b..6a0a680 100755
+index c8de8bf..204613c 100755
--- a/configpm
+++ b/configpm
@@ -687,7 +687,7 @@ sub FETCH {
diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
index 331a44d30..9ecfce001 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
+++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -2218,6 +2218,7 @@ RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register"
RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-strict"
RDEPENDS_perl-module-tie-hash-namedcapture += "perl-module-xsloader"
RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register"
+RDEPENDS_perl-module-tie-hash += "perl-module-carp"
RDEPENDS_perl-module-tie-memoize += "perl-module-strict"
RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash"
RDEPENDS_perl-module-tie-refhash += "perl-module-config"
diff --git a/poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb b/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
index cf1f6d685..038808f0c 100644
--- a/poky/meta/recipes-devtools/perl/liberror-perl_0.17027.bb
+++ b/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The Error package provides two interfaces. Firstly \
Error provides a procedural interface to exception handling. \
Secondly Error is a base class for errors/exceptions that can \
either be thrown, for subsequent catch, or can simply be recorded."
-HOMEPAGE = "https://bitbucket.org/shlomif/perl-error.pm"
+HOMEPAGE = "https://github.com/shlomif/perl-error.pm"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
@@ -32,8 +32,8 @@ RDEPENDS_${PN}-ptest += " \
SRC_URI = "http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-${PV}.tar.gz"
-SRC_URI[md5sum] = "4ef9b2890fb144d804527ba32573dd56"
-SRC_URI[sha256sum] = "07b2ac8275dfa04144745a6c1900a596280f862b97d22bab0c5ce02682ebd3be"
+SRC_URI[md5sum] = "6732b1c6207e4a9a3e2987c88368039a"
+SRC_URI[sha256sum] = "1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc"
S = "${WORKDIR}/Error-${PV}"
diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest
index 0d63d1513..d802781f9 100644
--- a/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest
+++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl/run-ptest
@@ -6,8 +6,6 @@ for case in `find t -type f -name '*.t'`; do
cat $case.output
if [ $ret -ne 0 ]; then
echo "FAIL: ${case%.t}"
- elif grep -i 'SKIP' $case.output; then
- echo "SKIP: ${case%.t}"
else
echo "PASS: ${case%.t}"
fi
diff --git a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
index f759f862f..a6fd7b1c0 100644
--- a/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4229.bb
+++ b/poky/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
@@ -15,9 +15,9 @@ LIC_FILES_CHKSUM = "file://README;beginline=949;endline=954;md5=624c06db56a2af4d
SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-${PV}.tar.gz \
file://run-ptest \
- "
-SRC_URI[md5sum] = "1447d9e02e63f7a1643986789a8f1ba9"
-SRC_URI[sha256sum] = "1fe491a6cda914b01bc8e592faa2b5404e9f35915ca15322f8f2a8d8f9008c18"
+ "
+SRC_URI[md5sum] = "066b193e461d7dfe1eca17a139353001"
+SRC_URI[sha256sum] = "7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717"
S = "${WORKDIR}/Module-Build-${PV}"
@@ -33,10 +33,26 @@ do_patch_module_build () {
do_patch[postfuncs] += "do_patch_module_build"
+EXTRA_CPAN_BUILD_FLAGS = "--create_packlist=0"
+
+do_install_append () {
+ rm -rf ${D}${docdir}/perl/html
+}
+
do_install_ptest() {
cp -r ${B}/inc ${D}${PTEST_PATH}
cp -r ${B}/blib ${D}${PTEST_PATH}
+ cp -r ${B}/_build ${D}${PTEST_PATH}
+ cp -r ${B}/lib ${D}${PTEST_PATH}
chown -R root:root ${D}${PTEST_PATH}
+ sed -i -e "s,'perl' => .*,'perl' => '/usr/bin/perl'\,,g" \
+ -e "s,${STAGING_BINDIR_NATIVE}/perl-native/\.\.,${bindir}/,g" \
+ -e "s,${S},,g" \
+ -e "s,${D},,g" \
+ ${D}${PTEST_PATH}/_build/build_params \
+ ${D}${PTEST_PATH}/_build/runtime_params
+ rm -rf ${D}${PTEST_PATH}/blib/libhtml/site/lib/Module/
+ rm -rf ${D}${PTEST_PATH}/_build/magicnum
}
RDEPENDS_${PN} += " \
@@ -72,9 +88,10 @@ RDEPENDS_${PN} += " \
"
RDEPENDS_${PN}-ptest += " \
- gcc \
- make \
+ packagegroup-core-buildessential \
+ perl-dev \
perl-module-blib \
+ perl-module-extutils-command-mm \
perl-module-file-temp \
perl-module-lib \
perl-module-perlio \
@@ -100,4 +117,7 @@ RPROVIDES_${PN} += "\
libmodule-build-podparser-perl \
"
+# t/xs.t RDEPENDS on "EXTERN.h" provided by perl-dev
+INSANE_SKIP_${PN}-ptest = "dev-deps"
+
BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb
index 7c9b7696a..bc154bbdc 100644
--- a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
+++ b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.46.bb
@@ -2,13 +2,16 @@ SUMMARY = "XML::Parser - A perl module for parsing XML documents"
HOMEPAGE = "https://libexpat.github.io/"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=2;endline=6;md5=c8767d7516229f07b26e42d1cf8b51f1"
+LIC_FILES_CHKSUM = "file://Parser.pm;beginline=1;endline=7;md5=d12cc778c80fc4c518f0e5dee29fd5fb"
DEPENDS += "expat"
-SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz"
-SRC_URI[md5sum] = "af4813fe3952362451201ced6fbce379"
-SRC_URI[sha256sum] = "1ae9d07ee9c35326b3d9aad56eae71a6730a73a116b9fe9e8a4758b7cc033216"
+SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz \
+ file://ptest-perl/run-ptest \
+ file://0001-CheckLib.pm-do-not-attempt-to-run-a-cross-executable.patch \
+ "
+SRC_URI[md5sum] = "80bb18a8e6240fcf7ec2f7b57601c170"
+SRC_URI[sha256sum] = "d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d"
S = "${WORKDIR}/XML-Parser-${PV}"
diff --git a/poky/meta/recipes-devtools/perl/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc
index 715205776..98e3361fc 100644
--- a/poky/meta/recipes-devtools/perl/perl-ptest.inc
+++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc
@@ -42,6 +42,9 @@ do_install_ptest () {
# Remove a useless timestamp...
sed -i -e '/Autogenerated starting on/d' ${D}${PTEST_PATH}/lib/unicore/mktables.lst
+
+ # Remove files with host-specific configuration for building native binaries
+ rm ${D}${PTEST_PATH}/Makefile.config ${D}${PTEST_PATH}/xconfig.h ${D}${PTEST_PATH}/xconfig.sh
}
python populate_packages_prepend() {
diff --git a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.2.bb
index 1d906a751..26138ea9e 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.30.2.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
- https://github.com/arsv/perl-cross/releases/download/1.3/perl-cross-1.3.tar.gz;name=perl-cross \
+ https://github.com/arsv/perl-cross/releases/download/1.3.2/perl-cross-1.3.2.tar.gz;name=perl-cross \
file://perl-rdepends.txt \
file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
@@ -18,22 +18,24 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
file://perl-dynloader.patch \
file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
- file://fix-setgroup.patch \
file://0001-enc2xs-Add-environment-variable-to-suppress-comments.patch \
file://0002-Constant-Fix-up-shebang.patch \
+ file://0001-PATCH-perl-134117-Close-DATA-in-loc_tools.pl.patch \
+ file://determinism.patch \
"
SRC_URI_append_class-native = " \
file://perl-configpm-switch.patch \
"
+SRC_URI_append_class-target = " \
+ file://encodefix.patch \
+"
-SRC_URI[perl.md5sum] = "9770584cdf9b5631c38097645ce33549"
-SRC_URI[perl.sha256sum] = "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2"
-SRC_URI[perl-cross.md5sum] = "4dda3daf9c4fe42b3d6a5dd052852a48"
-SRC_URI[perl-cross.sha256sum] = "49edea1ea2cd6c5c47386ca71beda8d150c748835781354dbe7f75b1df27e703"
+SRC_URI[perl.sha256sum] = "66db7df8a91979eb576fac91743644da878244cf8ee152f02cd6f5cd7a731689"
+SRC_URI[perl-cross.sha256sum] = "defa12f0ad7be0b6c48b4f76e2fb5b37c1b37fbeb6e9ebe938279cd539a0c20c"
S = "${WORKDIR}/perl-${PV}"
-inherit upstream-version-is-even
+inherit upstream-version-is-even update-alternatives
DEPENDS += "zlib virtual/crypt"
@@ -113,6 +115,14 @@ print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %
do_compile() {
oe_runmake
+ # This isn't generated reliably so delete and re-generate.
+ # https://github.com/arsv/perl-cross/issues/86
+
+ if [ -e pod/perltoc.pod ]; then
+ bbnote Rebuilding perltoc.pod
+ rm -f pod/perltoc.pod
+ oe_runmake pod/perltoc.pod
+ fi
}
do_install() {
@@ -136,6 +146,9 @@ do_install_append_class-target() {
# This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
+ # This contains host-specific information used for building miniperl (a helper executable built with host compiler)
+ # and therefore isn't reproducible. I believe the file isn't actually needed on target.
+ rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h
}
do_install_append_class-nativesdk() {
@@ -173,13 +186,13 @@ perl_package_preprocess () {
-e "s,${STAGING_BINDIR_NATIVE}/,,g" \
-e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \
-e 's:${RECIPE_SYSROOT}::g' \
- ${PKGD}${bindir}/h2xs \
- ${PKGD}${bindir}/h2ph \
- ${PKGD}${bindir}/pod2man \
- ${PKGD}${bindir}/pod2text \
- ${PKGD}${bindir}/pod2usage \
- ${PKGD}${bindir}/podchecker \
- ${PKGD}${bindir}/podselect \
+ ${PKGD}${bindir}/h2xs.perl \
+ ${PKGD}${bindir}/h2ph.perl \
+ ${PKGD}${bindir}/pod2man.perl \
+ ${PKGD}${bindir}/pod2text.perl \
+ ${PKGD}${bindir}/pod2usage.perl \
+ ${PKGD}${bindir}/podchecker.perl \
+ ${PKGD}${bindir}/podselect.perl \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \
${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \
@@ -194,11 +207,45 @@ perl_package_preprocess () {
${PKGD}${libdir}/perl5/config.sh
}
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
+ piconv pl2pm pod2html pod2man pod2text pod2usage podchecker podselect \
+ prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails"
+ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
+ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan"
+ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs"
+ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess"
+ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph"
+ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs"
+ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh"
+ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp"
+ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg"
+ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv"
+ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm"
+ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html"
+ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man"
+ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text"
+ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage"
+ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker"
+ALTERNATIVE_LINK_NAME[podselect] = "${bindir}/podselect"
+ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove"
+ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar"
+ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff"
+ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep"
+ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum"
+ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain"
+ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp"
+ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails"
+
require perl-ptest.inc
FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \
${libdir}/perl5/site_perl \
${libdir}/perl5/${PV}/Config.pm \
+ ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \
${libdir}/perl5/${PV}/*/Config_git.pl \
${libdir}/perl5/${PV}/*/Config_heavy-target.pl \
${libdir}/perl5/config.sh \
@@ -207,6 +254,9 @@ FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/
${libdir}/perl5/${PV}/warnings \
${libdir}/perl5/${PV}/vars.pm \
${libdir}/perl5/site_perl \
+ ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \
+ ${libdir}/perl5/${PV}/ExtUtils/xsubpp \
+ ${libdir}/perl5/${PV}/ExtUtils/typemap \
"
RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \
perl-module-warnings-register"
@@ -217,9 +267,6 @@ FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE"
FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \
${libdir}/perl5/${PV}/*/.packlist \
- ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \
- ${libdir}/perl5/${PV}/ExtUtils/xsubpp \
- ${libdir}/perl5/${PV}/ExtUtils/typemap \
${libdir}/perl5/${PV}/Encode/encode.h \
"
PACKAGES += "${PN}-misc"
@@ -241,6 +288,10 @@ FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \
"
FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore"
+ALTERNATIVE_PRIORITY = "40"
+ALTERNATIVE_${PN}-doc = "Thread.3"
+ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3"
+
# Create a perl-modules package recommending all the other perl
# packages (actually the non modules packages and not created too)
ALLOW_EMPTY_${PN}-modules = "1"
@@ -277,7 +328,7 @@ python split_perl_packages () {
python() {
if d.getVar('CLASSOVERRIDE') == "class-target":
- d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*(?<!native)$")
+ d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(?<!native)$")
elif d.getVar('CLASSOVERRIDE') == "class-native":
d.setVar("PACKAGES_DYNAMIC", "^perl-module-.*-native$")
elif d.getVar('CLASSOVERRIDE') == "class-nativesdk":
@@ -334,4 +385,3 @@ EOF
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl
cat ${SYSROOT_DESTDIR}${bindir}/nativeperl
}
-
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
index 94bc112b9..732ca2a03 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
@@ -8,7 +8,6 @@ BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
SECTION = "devel"
PROVIDES += "pkgconfig"
RPROVIDES_${PN} += "pkgconfig"
-DEFAULT_PREFERENCE = "-1"
# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
# ISC, but has different wording, so needs its own name.
diff --git a/poky/meta/recipes-devtools/prelink/prelink/0001-Add-MIPS-gnu-hash-support.patch b/poky/meta/recipes-devtools/prelink/prelink/0001-Add-MIPS-gnu-hash-support.patch
new file mode 100644
index 000000000..da0275bfc
--- /dev/null
+++ b/poky/meta/recipes-devtools/prelink/prelink/0001-Add-MIPS-gnu-hash-support.patch
@@ -0,0 +1,110 @@
+From 05240e13668422c4f9118f2cde953ec875d0d68f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 14 Jan 2020 01:37:22 -0800
+Subject: [PATCH] Add MIPS gnu hash support
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/arch-mips.c | 1 +
+ src/prelink.c | 1 +
+ src/prelink.h | 5 +++++
+ 3 files changed, 7 insertions(+)
+
+--- a/src/arch-mips.c
++++ b/src/arch-mips.c
+@@ -324,6 +324,7 @@ mips_adjust_dyn (DSO *dso, int n, GElf_D
+ case DT_MIPS_BASE_ADDRESS:
+ case DT_MIPS_RLD_MAP:
+ case DT_MIPS_OPTIONS:
++ case DT_MIPS_XHASH:
+ if (dyn->d_un.d_ptr >= start)
+ dyn->d_un.d_ptr += adjust;
+ return 1;
+--- a/src/prelink.c
++++ b/src/prelink.c
+@@ -425,6 +425,7 @@ prelink_prepare (DSO *dso)
+ {
+ case SHT_HASH:
+ case SHT_GNU_HASH:
++ case SHT_MIPS_XHASH:
+ case SHT_DYNSYM:
+ case SHT_REL:
+ case SHT_RELA:
+--- a/src/prelink.h
++++ b/src/prelink.h
+@@ -114,6 +114,11 @@ typedef uint8_t Elf64_Byte;
+ #define SHT_MIPS_ABIFLAGS 0x7000002a
+ #endif
+
++#ifndef SHT_MIPS_XHASH
++#define DT_MIPS_XHASH 0x70000036
++#define SHT_MIPS_XHASH 0x7000002b
++#endif
++
+ #ifndef RSS_UNDEF
+ #define RSS_UNDEF 0
+ #endif
+--- a/src/dso.c
++++ b/src/dso.c
+@@ -109,6 +109,11 @@ read_dynamic (DSO *dso)
+ dso->info_DT_GNU_HASH = dyn.d_un.d_val;
+ dso->info_set_mask |= (1ULL << DT_GNU_HASH_BIT);
+ }
++ else if (dyn.d_tag == DT_MIPS_XHASH)
++ {
++ dso->info_DT_GNU_HASH = dyn.d_un.d_val;
++ dso->info_set_mask |= (1ULL << DT_GNU_HASH_BIT);
++ }
+ else if (dyn.d_tag == DT_TLSDESC_PLT)
+ {
+ dso->info_DT_TLSDESC_PLT = dyn.d_un.d_val;
+@@ -1463,6 +1468,7 @@ adjust_dso (DSO *dso, GElf_Addr start, G
+ break;
+ case SHT_HASH:
+ case SHT_GNU_HASH:
++ case SHT_MIPS_XHASH:
+ case SHT_NOBITS:
+ case SHT_STRTAB:
+ break;
+--- a/src/space.c
++++ b/src/space.c
+@@ -61,6 +61,7 @@ print_sections (DSO *dso, GElf_Ehdr *ehd
+ { SHT_GNU_versym, "VERSYM" },
+ { SHT_GNU_LIBLIST, "LIBLIST" },
+ { SHT_GNU_HASH, "GNU_HASH" },
++ { SHT_MIPS_XHASH, "MIPS_XHASH" },
+ { 0, NULL }
+ };
+
+@@ -183,6 +184,7 @@ readonly_is_movable (DSO *dso, GElf_Ehdr
+ {
+ case SHT_HASH:
+ case SHT_GNU_HASH:
++ case SHT_MIPS_XHASH:
+ case SHT_DYNSYM:
+ case SHT_REL:
+ case SHT_RELA:
+@@ -558,6 +560,7 @@ find_readonly_space (DSO *dso, GElf_Shdr
+ {
+ case SHT_HASH:
+ case SHT_GNU_HASH:
++ case SHT_MIPS_XHASH:
+ case SHT_DYNSYM:
+ case SHT_STRTAB:
+ case SHT_GNU_verdef:
+--- a/src/exec.c
++++ b/src/exec.c
+@@ -65,7 +65,11 @@ update_dynamic_tags (DSO *dso, GElf_Shdr
+ || (dynamic_info_is_set (dso, DT_GNU_HASH_BIT)
+ && dso->info_DT_GNU_HASH == old_shdr[j].sh_addr
+ && old_shdr[j].sh_type == SHT_GNU_HASH
+- && set_dynamic (dso, DT_GNU_HASH, shdr[i].sh_addr, 1)))
++ && set_dynamic (dso, DT_GNU_HASH, shdr[i].sh_addr, 1))
++ || (dynamic_info_is_set (dso, DT_GNU_HASH_BIT)
++ && dso->info_DT_GNU_HASH == old_shdr[j].sh_addr
++ && old_shdr[j].sh_type == SHT_MIPS_XHASH
++ && set_dynamic (dso, DT_MIPS_XHASH, shdr[i].sh_addr, 1)))
+ return 1;
+ }
+
diff --git a/poky/meta/recipes-devtools/prelink/prelink/0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch b/poky/meta/recipes-devtools/prelink/prelink/0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch
deleted file mode 100644
index b1688243a..000000000
--- a/poky/meta/recipes-devtools/prelink/prelink/0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2136969e3e196b9cf7f4788340efa4b1d9b39565 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 11 Oct 2018 10:05:52 +0800
-Subject: [PATCH] src/arch-mips.c: check info->resolvetls before use its member
-
-The info->resolvetls might be NULL according to src/prelink.c:
-[snip]
- /* Dynamic linker does not depend on any other library,
- all symbols resolve to themselves with the exception
- of SHN_UNDEF symbols which resolve to 0. */
-if (info->symtab[r_sym].st_shndx == SHN_UNDEF)
- {
- info->resolveent = NULL;
- info->resolvetls = NULL;
-[snip]
-
-So we must check it before use its members, otherwise, there might be
-Segmentation fault error.
-
-Fixed:
-MACHINE = "qemumips"
-IMAGE_INSTALL_append = " qemu"
-$ bitbake core-image-minimal
-[snip]
-| /path/to/qemumips-poky-linux/core-image-minimal/1.0-r0/temp/run.prelink_image.1000: line 111: 1010 Segmentation fault (core dumped)
-[snip]
-
-Upstream-Status: Submitted [https://lists.yoctoproject.org/pipermail/yocto/2018-October/042812.html]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/arch-mips.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/arch-mips.c b/src/arch-mips.c
-index ccb1834..02c608f 100644
---- a/src/arch-mips.c
-+++ b/src/arch-mips.c
-@@ -567,7 +567,8 @@ mips_prelink_reloc (struct prelink_info *info, GElf_Addr r_offset,
- if (dso->ehdr.e_type == ET_EXEC)
- {
- value = info->resolve (info, r_sym, r_type);
-- value += info->resolvetls->offset - TLS_TP_OFFSET;
-+ if (info->resolvetls != NULL)
-+ value += info->resolvetls->offset - TLS_TP_OFFSET;
- if (r_type == R_MIPS_TLS_TPREL32)
- mips_prelink_32bit_reloc (dso, rela, value);
- else
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/prelink/prelink_git.bb b/poky/meta/recipes-devtools/prelink/prelink_git.bb
index f0946de2c..e197af9ee 100644
--- a/poky/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/poky/meta/recipes-devtools/prelink/prelink_git.bb
@@ -9,7 +9,7 @@ and executables, so that far fewer relocations need to be resolved at \
runtime and thus programs come up faster."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SRCREV = "a853a5d715d84eec93aa68e8f2df26b7d860f5b2"
+SRCREV = "f9975537dbfd9ade0fc813bd5cf5fcbe41753a37"
PV = "1.0+git${SRCPV}"
#
@@ -28,12 +28,12 @@ FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
PACKAGES =+ "${PN}-cron"
SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_staging \
+ file://0001-Add-MIPS-gnu-hash-support.patch \
file://prelink.conf \
file://prelink.cron.daily \
file://prelink.default \
file://macros.prelink \
- file://0001-src-arch-mips.c-check-info-resolvetls-before-use-its.patch \
-"
+ "
UPSTREAM_CHECK_COMMITS = "1"
# error: error.h: No such file or directory
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch
new file mode 100644
index 000000000..9c49e33b0
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch
@@ -0,0 +1,49 @@
+From b0902e36108b49e6bc88d6b251cc2f8cffcd5a13 Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda <ricardo@ribalda.com>
+Date: Sun, 5 Apr 2020 11:40:30 +0000
+Subject: [PATCH] pseudo: On a DB fixup remove files that do not exist anymore
+
+If the user decides to fix a database, remove the files that do not
+exist anymore.
+If only DB test is selected do not change the behaviour (return error).
+
+Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
+Upstream-Status: Submitted [https://lists.openembedded.org/g/openembedded-core/message/137045]
+---
+ pseudo.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/pseudo.c b/pseudo.c
+index 0f5850e..98e5b0c 100644
+--- a/pseudo.c
++++ b/pseudo.c
+@@ -1087,9 +1087,15 @@ pseudo_db_check(int fix) {
+ int fixup_needed = 0;
+ pseudo_debug(PDBGF_DB, "Checking <%s>\n", m->path);
+ if (lstat(m->path, &buf)) {
+- errors = EXIT_FAILURE;
+- pseudo_diag("can't stat <%s>\n", m->path);
+- continue;
++ if (!fix) {
++ pseudo_diag("can't stat <%s>\n", m->path);
++ errors = EXIT_FAILURE;
++ continue;
++ } else {
++ pseudo_debug(PDBGF_DB, "can't stat <%s>\n", m->path);
++ fixup_needed = 2;
++ goto do_fixup;
++ }
+ }
+ /* can't check for device type mismatches, uid/gid, or
+ * permissions, because those are the very things we
+@@ -1125,6 +1131,7 @@ pseudo_db_check(int fix) {
+ S_ISDIR(m->mode));
+ fixup_needed = 2;
+ }
++ do_fixup:
+ if (fixup_needed) {
+ /* in fixup mode, either delete (mismatches) or
+ * correct (dev/ino).
+--
+2.21.1
+
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch
new file mode 100644
index 000000000..33d4ef3b2
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/0001-pseudo_ipc.h-Fix-enum-typedef.patch
@@ -0,0 +1,31 @@
+From a491aececfedf7313d29b80d626e0964fb533548 Mon Sep 17 00:00:00 2001
+From: Jacob Kroon <jacob.kroon@gmail.com>
+Date: Sun, 3 May 2020 06:24:03 +0200
+Subject: [PATCH] pseudo_ipc.h: Fix enum typedef
+
+'pseudo_access_t' is a type, so use typedef.
+
+Fixes building pseudo with gcc 10 where -fno-common is the default.
+
+Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
+Upstream-Status: Submitted [https://lists.openembedded.org/g/openembedded-core/message/137758]
+---
+ pseudo_ipc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pseudo_ipc.h b/pseudo_ipc.h
+index caeae5c..d945257 100644
+--- a/pseudo_ipc.h
++++ b/pseudo_ipc.h
+@@ -29,7 +29,7 @@ typedef struct {
+ char path[];
+ } pseudo_msg_t;
+
+-enum {
++typedef enum {
+ PSA_EXEC = 1,
+ PSA_WRITE = (PSA_EXEC << 1),
+ PSA_READ = (PSA_WRITE << 1),
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch b/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch
new file mode 100644
index 000000000..17829ef3a
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/0001-realpath.c-Remove-trailing-slashes.patch
@@ -0,0 +1,57 @@
+From 86c9a5610e3333ad6aaadb1ac1e8b5a2c948d119 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Mon, 25 Nov 2019 18:46:45 +0800
+Subject: [PATCH] realpath.c: Remove trailing slashes
+
+Linux system's realpath() remove trailing slashes, but pseudo's doesn't, need
+make them identical.
+
+E.g., the following code (rel.c) prints '/tmp' with system's realpath, but
+pseudo's realpath prints '/tmp/':
+
+ #include <stdio.h>
+ #include <limits.h>
+ #include <stdlib.h>
+
+ int main() {
+ char out[PATH_MAX];
+ printf("%s\n", realpath("/tmp/", out));
+ return 0;
+ }
+
+$ bitbake base-passwd -cdevshell # For pseudo env
+$ gcc rel.c
+$ ./a.out
+/tmp/ (but should be /tmp)
+
+This patch fixes the problem.
+
+Upstream-Status: Submitted [https://lists.yoctoproject.org/g/poky/message/11879]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ ports/unix/guts/realpath.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/ports/unix/guts/realpath.c b/ports/unix/guts/realpath.c
+--- a/ports/unix/guts/realpath.c
++++ b/ports/unix/guts/realpath.c
+@@ -14,7 +14,14 @@
+ errno = ENAMETOOLONG;
+ return NULL;
+ }
+- if ((len = strlen(rname)) >= pseudo_sys_path_max()) {
++ len = strlen(rname);
++ char *ep = rname + len - 1;
++ while (ep > rname && *ep == '/') {
++ --len;
++ *(ep--) = '\0';
++ }
++
++ if (len >= pseudo_sys_path_max()) {
+ errno = ENAMETOOLONG;
+ return NULL;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch b/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch
new file mode 100644
index 000000000..161357d55
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/0006-xattr-adjust-for-attr-2.4.48-release.patch
@@ -0,0 +1,48 @@
+From 93d95ed2eaedcca110c214e1fe3f8896b1f6f853 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 17 Dec 2019 20:24:27 +0100
+Subject: [PATCH] xattr: adjust for attr 2.4.48 release
+
+Latest versions of attr have removed the xattr.h header,
+with the rationale that libc is providing the same wrappers.
+
+attr/attributes.h is providing the ENOATTR definition.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ ports/linux/subports | 5 +++--
+ ports/linux/xattr/portdefs.h | 3 ++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/ports/linux/subports b/ports/linux/subports
+index 2c43ac9..740ec83 100755
+--- a/ports/linux/subports
++++ b/ports/linux/subports
+@@ -29,11 +29,12 @@ fi
+ if $port_xattr; then
+ cat > dummy.c <<EOF
+ #include <sys/types.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
++#include <attr/attributes.h>
+ int i;
+ EOF
+ if ! ${CC} -c -o dummy.o dummy.c >/dev/null 2>&1; then
+- echo >&2 "Warning: Can't compile trivial program using <attr/xattr.h>".
++ echo >&2 "Warning: Can't compile trivial program using <attr/attributes.h>".
+ echo >&2 " xattr support will require that header."
+ fi
+ echo "linux/xattr"
+diff --git a/ports/linux/xattr/portdefs.h b/ports/linux/xattr/portdefs.h
+index 56cd3ca..068d39a 100644
+--- a/ports/linux/xattr/portdefs.h
++++ b/ports/linux/xattr/portdefs.h
+@@ -2,5 +2,6 @@
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ */
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
++#include <attr/attributes.h>
+ #include <stdint.h>
diff --git a/poky/meta/recipes-devtools/pseudo/files/seccomp.patch b/poky/meta/recipes-devtools/pseudo/files/seccomp.patch
new file mode 100644
index 000000000..283f99794
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/seccomp.patch
@@ -0,0 +1,137 @@
+Pseudo changes the syscall access patterns which makes it incompatible with
+seccomp. Therefore intercept the seccomp syscall and alter it, pretending that
+seccomp was setup when in fact we do nothing. If we error as unsupported,
+utilities like file will exit with errors so we can't just disable it.
+
+Upstream-Status: Pending
+RP 2020/4/3
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+It fails to compile pseudo-native on centos 7:
+
+| ports/linux/pseudo_wrappers.c: In function ‘prctl’:
+| ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function)
+| if (cmd == SECCOMP_SET_MODE_FILTER) {
+| ^
+
+Add macro guard for seccomp to avoid the failure.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Index: git/ports/linux/pseudo_wrappers.c
+===================================================================
+--- git.orig/ports/linux/pseudo_wrappers.c
++++ git/ports/linux/pseudo_wrappers.c
+@@ -57,6 +57,7 @@ int pseudo_capset(cap_user_header_t hdrp
+ long
+ syscall(long number, ...) {
+ long rc = -1;
++ va_list ap;
+
+ if (!pseudo_check_wrappers() || !real_syscall) {
+ /* rc was initialized to the "failure" value */
+@@ -77,6 +78,20 @@ syscall(long number, ...) {
+ (void) number;
+ #endif
+
++#ifdef SYS_seccomp
++ /* pseudo and seccomp are incompatible as pseudo uses different syscalls
++ * so pretend to enable seccomp but really do nothing */
++ if (number == SYS_seccomp) {
++ unsigned long cmd;
++ va_start(ap, number);
++ cmd = va_arg(ap, unsigned long);
++ va_end(ap);
++ if (cmd == SECCOMP_SET_MODE_FILTER) {
++ return 0;
++ }
++ }
++#endif
++
+ /* gcc magic to attempt to just pass these args to syscall. we have to
+ * guess about the number of args; the docs discuss calling conventions
+ * up to 7, so let's try that?
+@@ -92,3 +108,44 @@ static long wrap_syscall(long nr, va_lis
+ (void) ap;
+ return -1;
+ }
++
++int
++prctl(int option, ...) {
++ int rc = -1;
++ va_list ap;
++
++ if (!pseudo_check_wrappers() || !real_prctl) {
++ /* rc was initialized to the "failure" value */
++ pseudo_enosys("prctl");
++ return rc;
++ }
++
++#ifdef SECCOMP_SET_MODE_FILTER
++ /* pseudo and seccomp are incompatible as pseudo uses different syscalls
++ * so pretend to enable seccomp but really do nothing */
++ if (option == PR_SET_SECCOMP) {
++ unsigned long cmd;
++ va_start(ap, option);
++ cmd = va_arg(ap, unsigned long);
++ va_end(ap);
++ if (cmd == SECCOMP_SET_MODE_FILTER) {
++ return 0;
++ }
++ }
++#endif
++
++ /* gcc magic to attempt to just pass these args to prctl. we have to
++ * guess about the number of args; the docs discuss calling conventions
++ * up to 5, so let's try that?
++ */
++ void *res = __builtin_apply((void (*)()) real_prctl, __builtin_apply_args(), sizeof(long) * 5);
++ __builtin_return(res);
++}
++
++/* unused.
++ */
++static int wrap_prctl(int option, va_list ap) {
++ (void) option;
++ (void) ap;
++ return -1;
++}
+Index: git/ports/linux/guts/prctl.c
+===================================================================
+--- /dev/null
++++ git/ports/linux/guts/prctl.c
+@@ -0,0 +1,15 @@
++/*
++ * Copyright (c) 2020 Richard Purdie
++ *
++ * SPDX-License-Identifier: LGPL-2.1-only
++ *
++ * int prctl(int option, ...)
++ * int rc = -1;
++ */
++
++ /* we should never get here, prctl is hand-wrapped */
++ rc = -1;
++
++/* return rc;
++ * }
++ */
+Index: git/ports/linux/portdefs.h
+===================================================================
+--- git.orig/ports/linux/portdefs.h
++++ git/ports/linux/portdefs.h
+@@ -32,3 +32,5 @@ GLIBC_COMPAT_SYMBOL(memcpy,2.0);
+
+ #include <linux/capability.h>
+ #include <sys/syscall.h>
++#include <sys/prctl.h>
++#include <linux/seccomp.h>
+Index: git/ports/linux/wrapfuncs.in
+===================================================================
+--- git.orig/ports/linux/wrapfuncs.in
++++ git/ports/linux/wrapfuncs.in
+@@ -56,3 +56,4 @@ int getgrent_r(struct group *gbuf, char
+ int capset(cap_user_header_t hdrp, const cap_user_data_t datap); /* real_func=pseudo_capset */
+ long syscall(long nr, ...); /* hand_wrapped=1 */
+ int renameat2(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, unsigned int flags); /* flags=AT_SYMLINK_NOFOLLOW */
++int prctl(int option, ...); /* hand_wrapped=1 */
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo.inc b/poky/meta/recipes-devtools/pseudo/pseudo.inc
index 7ff8e449e..50e30064b 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/poky/meta/recipes-devtools/pseudo/pseudo.inc
@@ -16,6 +16,7 @@ INSANE_SKIP_${PN}-dbg += "libdir"
PROVIDES += "virtual/fakeroot"
MAKEOPTS = ""
+MAKEOPTS_class-native = "'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'"
inherit siteinfo pkgconfig
@@ -115,6 +116,7 @@ do_install () {
}
do_install_append_class-native () {
+ chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/`
install -d ${D}${sysconfdir}
# The fallback files should never be modified
install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 1f2df4a42..324ae9071 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -8,6 +8,11 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \
file://toomanyfiles.patch \
file://0001-maketables-wrappers-use-Python-3.patch \
file://0001-Add-statx.patch \
+ file://0001-realpath.c-Remove-trailing-slashes.patch \
+ file://0006-xattr-adjust-for-attr-2.4.48-release.patch \
+ file://seccomp.patch \
+ file://0001-pseudo-On-a-DB-fixup-remove-files-that-do-not-exist-.patch \
+ file://0001-pseudo_ipc.h-Fix-enum-typedef.patch \
"
SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73"
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch
new file mode 100644
index 000000000..a41624442
--- /dev/null
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-convert-shebang-from-python-to-python3.patch
@@ -0,0 +1,555 @@
+From 00848d760fa3999e2bed759b585452b35d65d6ec Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Mar 2020 12:02:35 +0800
+Subject: [PATCH] convert shebang from python to python3
+
+Upstream-Status: Backport
+[https://github.com/numpy/numpy/commit/583901a074dc65145d3d6136ba7dcd02634d680b]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+---
+ doc/DISTUTILS.rst.txt | 2 +-
+ doc/cdoc/numpyfilter.py | 2 +-
+ doc/postprocess.py | 2 +-
+ doc/summarize.py | 2 +-
+ numpy/distutils/conv_template.py | 2 +-
+ numpy/distutils/cpuinfo.py | 2 +-
+ numpy/distutils/from_template.py | 2 +-
+ numpy/distutils/setup.py | 2 +-
+ numpy/distutils/system_info.py | 2 +-
+ numpy/f2py/__init__.py | 2 +-
+ numpy/f2py/auxfuncs.py | 2 +-
+ numpy/f2py/capi_maps.py | 2 +-
+ numpy/f2py/cb_rules.py | 2 +-
+ numpy/f2py/cfuncs.py | 2 +-
+ numpy/f2py/common_rules.py | 2 +-
+ numpy/f2py/crackfortran.py | 2 +-
+ numpy/f2py/diagnose.py | 2 +-
+ numpy/f2py/f2py2e.py | 2 +-
+ numpy/f2py/f90mod_rules.py | 2 +-
+ numpy/f2py/func2subr.py | 2 +-
+ numpy/f2py/rules.py | 2 +-
+ numpy/f2py/setup.py | 2 +-
+ numpy/f2py/use_rules.py | 2 +-
+ numpy/linalg/lapack_lite/clapack_scrub.py | 2 +-
+ numpy/linalg/lapack_lite/make_lite.py | 2 +-
+ numpy/ma/bench.py | 2 +-
+ numpy/ma/setup.py | 2 +-
+ numpy/matrixlib/setup.py | 2 +-
+ numpy/random/_examples/cython/extending.pyx | 2 +-
+ numpy/random/_examples/cython/extending_distributions.pyx | 2 +-
+ numpy/setup.py | 2 +-
+ numpy/testing/print_coercion_tables.py | 2 +-
+ numpy/testing/setup.py | 2 +-
+ runtests.py | 2 +-
+ setup.py | 2 +-
+ tools/c_coverage/c_coverage_report.py | 2 +-
+ tools/changelog.py | 2 +-
+ tools/ci/push_docs_to_repo.py | 2 +-
+ tools/find_deprecated_escaped_characters.py | 2 +-
+ tools/refguide_check.py | 2 +-
+ tools/swig/test/setup.py | 2 +-
+ tools/swig/test/testArray.py | 2 +-
+ tools/swig/test/testFarray.py | 2 +-
+ tools/swig/test/testFlat.py | 2 +-
+ tools/swig/test/testFortran.py | 2 +-
+ tools/swig/test/testMatrix.py | 2 +-
+ tools/swig/test/testSuperTensor.py | 2 +-
+ tools/swig/test/testTensor.py | 2 +-
+ tools/swig/test/testVector.py | 2 +-
+ 49 files changed, 49 insertions(+), 49 deletions(-)
+
+diff --git a/doc/DISTUTILS.rst.txt b/doc/DISTUTILS.rst.txt
+index bcef825..bc1700f 100644
+--- a/doc/DISTUTILS.rst.txt
++++ b/doc/DISTUTILS.rst.txt
+@@ -59,7 +59,7 @@ SciPy pure Python package example
+
+ Below is an example of a minimal ``setup.py`` file for a pure SciPy package::
+
+- #!/usr/bin/env python
++ #!/usr/bin/env python3
+ def configuration(parent_package='',top_path=None):
+ from numpy.distutils.misc_util import Configuration
+ config = Configuration('mypackage',parent_package,top_path)
+diff --git a/doc/cdoc/numpyfilter.py b/doc/cdoc/numpyfilter.py
+index 0ec5069..067bd36 100755
+--- a/doc/cdoc/numpyfilter.py
++++ b/doc/cdoc/numpyfilter.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ numpyfilter.py INPUTFILE
+
+diff --git a/doc/postprocess.py b/doc/postprocess.py
+index 2e50c11..1be6f39 100755
+--- a/doc/postprocess.py
++++ b/doc/postprocess.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ %prog MODE FILES...
+
+diff --git a/doc/summarize.py b/doc/summarize.py
+index cfce271..563af02 100755
+--- a/doc/summarize.py
++++ b/doc/summarize.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ summarize.py
+
+diff --git a/numpy/distutils/conv_template.py b/numpy/distutils/conv_template.py
+index 3bcb7b8..88432c8 100644
+--- a/numpy/distutils/conv_template.py
++++ b/numpy/distutils/conv_template.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ takes templated file .xxx.src and produces .xxx file where .xxx is
+ .i or .c or .h, using the following template rules
+diff --git a/numpy/distutils/cpuinfo.py b/numpy/distutils/cpuinfo.py
+index bc97283..87502a9 100644
+--- a/numpy/distutils/cpuinfo.py
++++ b/numpy/distutils/cpuinfo.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ cpuinfo
+
+diff --git a/numpy/distutils/from_template.py b/numpy/distutils/from_template.py
+index c5c1163..af75971 100644
+--- a/numpy/distutils/from_template.py
++++ b/numpy/distutils/from_template.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ process_file(filename)
+diff --git a/numpy/distutils/setup.py b/numpy/distutils/setup.py
+index 82a53bd..646921b 100644
+--- a/numpy/distutils/setup.py
++++ b/numpy/distutils/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+ def configuration(parent_package='',top_path=None):
+diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
+index 4f340b6..189081d 100644
+--- a/numpy/distutils/system_info.py
++++ b/numpy/distutils/system_info.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ This file defines a set of system_info classes for getting
+ information about various resources (libraries, library directories,
+diff --git a/numpy/f2py/__init__.py b/numpy/f2py/__init__.py
+index 42e3632..09a3657 100644
+--- a/numpy/f2py/__init__.py
++++ b/numpy/f2py/__init__.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """Fortran to Python Interface Generator.
+
+ """
+diff --git a/numpy/f2py/auxfuncs.py b/numpy/f2py/auxfuncs.py
+index 404bdbd..d23d959 100644
+--- a/numpy/f2py/auxfuncs.py
++++ b/numpy/f2py/auxfuncs.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Auxiliary functions for f2py2e.
+diff --git a/numpy/f2py/capi_maps.py b/numpy/f2py/capi_maps.py
+index ce79f68..e5d3fd2 100644
+--- a/numpy/f2py/capi_maps.py
++++ b/numpy/f2py/capi_maps.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Copyright 1999,2000 Pearu Peterson all rights reserved,
+diff --git a/numpy/f2py/cb_rules.py b/numpy/f2py/cb_rules.py
+index 183d7c2..93e93fe 100644
+--- a/numpy/f2py/cb_rules.py
++++ b/numpy/f2py/cb_rules.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Build call-back mechanism for f2py2e.
+diff --git a/numpy/f2py/cfuncs.py b/numpy/f2py/cfuncs.py
+index ccb7b3a..cdb783d 100644
+--- a/numpy/f2py/cfuncs.py
++++ b/numpy/f2py/cfuncs.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ C declarations, CPP macros, and C functions for f2py2e.
+diff --git a/numpy/f2py/common_rules.py b/numpy/f2py/common_rules.py
+index f61d881..fe510bf 100644
+--- a/numpy/f2py/common_rules.py
++++ b/numpy/f2py/common_rules.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Build common block mechanism for f2py2e.
+diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
+index 2aaf5d7..fb5ef2f 100755
+--- a/numpy/f2py/crackfortran.py
++++ b/numpy/f2py/crackfortran.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ crackfortran --- read fortran (77,90) code and extract declaration information.
+
+diff --git a/numpy/f2py/diagnose.py b/numpy/f2py/diagnose.py
+index 0241fed..6c0304c 100644
+--- a/numpy/f2py/diagnose.py
++++ b/numpy/f2py/diagnose.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ import os
+diff --git a/numpy/f2py/f2py2e.py b/numpy/f2py/f2py2e.py
+index d03eff9..c17bfd9 100755
+--- a/numpy/f2py/f2py2e.py
++++ b/numpy/f2py/f2py2e.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ f2py2e - Fortran to Python C/API generator. 2nd Edition.
+diff --git a/numpy/f2py/f90mod_rules.py b/numpy/f2py/f90mod_rules.py
+index 85eae80..70be128 100644
+--- a/numpy/f2py/f90mod_rules.py
++++ b/numpy/f2py/f90mod_rules.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Build F90 module support for f2py2e.
+diff --git a/numpy/f2py/func2subr.py b/numpy/f2py/func2subr.py
+index 6010d5a..fdea0c2 100644
+--- a/numpy/f2py/func2subr.py
++++ b/numpy/f2py/func2subr.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Rules for building C/API module with f2py2e.
+diff --git a/numpy/f2py/rules.py b/numpy/f2py/rules.py
+index f2f713b..f87b03c 100755
+--- a/numpy/f2py/rules.py
++++ b/numpy/f2py/rules.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Rules for building C/API module with f2py2e.
+diff --git a/numpy/f2py/setup.py b/numpy/f2py/setup.py
+index a8c1401..2e7a517 100644
+--- a/numpy/f2py/setup.py
++++ b/numpy/f2py/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ setup.py for installing F2PY
+
+diff --git a/numpy/f2py/use_rules.py b/numpy/f2py/use_rules.py
+index 6f44f16..8214f42 100644
+--- a/numpy/f2py/use_rules.py
++++ b/numpy/f2py/use_rules.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+
+ Build 'use others module data' mechanism for f2py2e.
+diff --git a/numpy/linalg/lapack_lite/clapack_scrub.py b/numpy/linalg/lapack_lite/clapack_scrub.py
+index 4345861..91e66e7 100644
+--- a/numpy/linalg/lapack_lite/clapack_scrub.py
++++ b/numpy/linalg/lapack_lite/clapack_scrub.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ import sys, os
+diff --git a/numpy/linalg/lapack_lite/make_lite.py b/numpy/linalg/lapack_lite/make_lite.py
+index 61102d6..0211f4e 100755
+--- a/numpy/linalg/lapack_lite/make_lite.py
++++ b/numpy/linalg/lapack_lite/make_lite.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ Usage: make_lite.py <wrapped_routines_file> <lapack_dir> <output_dir>
+
+diff --git a/numpy/ma/bench.py b/numpy/ma/bench.py
+index a9ba42d..a377436 100644
+--- a/numpy/ma/bench.py
++++ b/numpy/ma/bench.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ from __future__ import division, print_function
+diff --git a/numpy/ma/setup.py b/numpy/ma/setup.py
+index d1d6c89..a04b79b 100644
+--- a/numpy/ma/setup.py
++++ b/numpy/ma/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+ def configuration(parent_package='',top_path=None):
+diff --git a/numpy/matrixlib/setup.py b/numpy/matrixlib/setup.py
+index d0981d6..57534d1 100644
+--- a/numpy/matrixlib/setup.py
++++ b/numpy/matrixlib/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+ def configuration(parent_package='', top_path=None):
+diff --git a/numpy/random/_examples/cython/extending.pyx b/numpy/random/_examples/cython/extending.pyx
+index 7a0dfe0..3a7f81a 100644
+--- a/numpy/random/_examples/cython/extending.pyx
++++ b/numpy/random/_examples/cython/extending.pyx
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #cython: language_level=3
+
+ from libc.stdint cimport uint32_t
+diff --git a/numpy/random/_examples/cython/extending_distributions.pyx b/numpy/random/_examples/cython/extending_distributions.pyx
+index 1bef506..4da6a4b 100644
+--- a/numpy/random/_examples/cython/extending_distributions.pyx
++++ b/numpy/random/_examples/cython/extending_distributions.pyx
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #cython: language_level=3
+ """
+ This file shows how the to use a BitGenerator to create a distribution.
+diff --git a/numpy/setup.py b/numpy/setup.py
+index 4ccdaee..db06c82 100644
+--- a/numpy/setup.py
++++ b/numpy/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+
+diff --git a/numpy/testing/print_coercion_tables.py b/numpy/testing/print_coercion_tables.py
+index 72b22ce..1e9a301 100755
+--- a/numpy/testing/print_coercion_tables.py
++++ b/numpy/testing/print_coercion_tables.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """Prints type-coercion tables for the built-in NumPy types
+
+ """
+diff --git a/numpy/testing/setup.py b/numpy/testing/setup.py
+index 7c3f2fb..bd315ee 100755
+--- a/numpy/testing/setup.py
++++ b/numpy/testing/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+
+diff --git a/runtests.py b/runtests.py
+index a38054f..383ddaa 100755
+--- a/runtests.py
++++ b/runtests.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ runtests.py [OPTIONS] [-- ARGS]
+
+diff --git a/setup.py b/setup.py
+index d7f807b..705ea5d 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """ NumPy is the fundamental package for array computing with Python.
+
+ It provides:
+diff --git a/tools/c_coverage/c_coverage_report.py b/tools/c_coverage/c_coverage_report.py
+index 327f6dc..8837684 100755
+--- a/tools/c_coverage/c_coverage_report.py
++++ b/tools/c_coverage/c_coverage_report.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ A script to create C code-coverage reports based on the output of
+ valgrind's callgrind tool.
+diff --git a/tools/changelog.py b/tools/changelog.py
+index b135b14..5d8b33c 100755
+--- a/tools/changelog.py
++++ b/tools/changelog.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- encoding:utf-8 -*-
+ """
+ Script to generate contributor and pull request lists
+diff --git a/tools/ci/push_docs_to_repo.py b/tools/ci/push_docs_to_repo.py
+index a989668..ae53054 100755
+--- a/tools/ci/push_docs_to_repo.py
++++ b/tools/ci/push_docs_to_repo.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+
+ import argparse
+ import subprocess
+diff --git a/tools/find_deprecated_escaped_characters.py b/tools/find_deprecated_escaped_characters.py
+index 6f90001..10e0378 100644
+--- a/tools/find_deprecated_escaped_characters.py
++++ b/tools/find_deprecated_escaped_characters.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ r"""
+ Look for escape sequences deprecated in Python 3.6.
+
+diff --git a/tools/refguide_check.py b/tools/refguide_check.py
+index 2c62809..a19a29e 100644
+--- a/tools/refguide_check.py
++++ b/tools/refguide_check.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ refguide_check.py [OPTIONS] [-- ARGS]
+
+diff --git a/tools/swig/test/setup.py b/tools/swig/test/setup.py
+index 4ff870e..f8f05e6 100755
+--- a/tools/swig/test/setup.py
++++ b/tools/swig/test/setup.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testArray.py b/tools/swig/test/testArray.py
+index 8d9c797..54ffe71 100755
+--- a/tools/swig/test/testArray.py
++++ b/tools/swig/test/testArray.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testFarray.py b/tools/swig/test/testFarray.py
+index e8bf711..b377f7c 100755
+--- a/tools/swig/test/testFarray.py
++++ b/tools/swig/test/testFarray.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testFlat.py b/tools/swig/test/testFlat.py
+index 71be277..55034bf 100755
+--- a/tools/swig/test/testFlat.py
++++ b/tools/swig/test/testFlat.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testFortran.py b/tools/swig/test/testFortran.py
+index 426e894..0f7d0e6 100644
+--- a/tools/swig/test/testFortran.py
++++ b/tools/swig/test/testFortran.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testMatrix.py b/tools/swig/test/testMatrix.py
+index 065be0d..854a23c 100755
+--- a/tools/swig/test/testMatrix.py
++++ b/tools/swig/test/testMatrix.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testSuperTensor.py b/tools/swig/test/testSuperTensor.py
+index 97fe80c..31b63d0 100644
+--- a/tools/swig/test/testSuperTensor.py
++++ b/tools/swig/test/testSuperTensor.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testTensor.py b/tools/swig/test/testTensor.py
+index ac1b749..f47d9e8 100755
+--- a/tools/swig/test/testTensor.py
++++ b/tools/swig/test/testTensor.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
+diff --git a/tools/swig/test/testVector.py b/tools/swig/test/testVector.py
+index 45e763b..067b922 100755
+--- a/tools/swig/test/testVector.py
++++ b/tools/swig/test/testVector.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#!/usr/bin/env python3
+ from __future__ import division, absolute_import, print_function
+
+ # System imports
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch
deleted file mode 100644
index 4decfe66e..000000000
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-npy_cpu-Add-riscv-support.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 629891f67601275c9c4de0bb01afcf1a8c44fa3f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Mar 2018 19:55:21 -0700
-Subject: [PATCH] npy_cpu: Add riscv support
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/10761]
----
- numpy/core/include/numpy/npy_cpu.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
-index 5edd8f4..e1e4796 100644
---- a/numpy/core/include/numpy/npy_cpu.h
-+++ b/numpy/core/include/numpy/npy_cpu.h
-@@ -96,6 +96,8 @@
- #define NPY_CPU_OR1K
- #elif defined(__mc68000__)
- #define NPY_CPU_M68K
-+#elif defined(__riscv)
-+ #define NPY_CPU_RISCV
- #elif defined(__arc__) && defined(__LITTLE_ENDIAN__)
- #define NPY_CPU_ARCEL
- #elif defined(__arc__) && defined(__BIG_ENDIAN__)
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch
deleted file mode 100644
index ebb2a6f9d..000000000
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b881e0b2ba9cf1a4aa351a1c1ea90b1e1776ce21 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 12 Aug 2019 15:37:36 +0200
-Subject: [PATCH] numpy/random/setup.py: remove the detection of x86 targets
- via uname()
-
-This was badly breaking compilation for ARM targets (and possibly
-other non-x86 targets); if -msse2 is desirable for x86 builds it has
-to be passed through another channel.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- numpy/random/setup.py | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/numpy/random/setup.py b/numpy/random/setup.py
-index a1bf3b8..60fb534 100644
---- a/numpy/random/setup.py
-+++ b/numpy/random/setup.py
-@@ -49,11 +49,6 @@ def configuration(parent_package='', top_path=None):
- elif not is_msvc:
- # Some bit generators require c99
- EXTRA_COMPILE_ARGS += ['-std=c99']
-- INTEL_LIKE = any([val in k.lower() for k in platform.uname()
-- for val in ('x86', 'i686', 'i386', 'amd64')])
-- if INTEL_LIKE:
-- # Assumes GCC or GCC-like compiler
-- EXTRA_COMPILE_ARGS += ['-msse2']
-
- # Use legacy integer variable sizes
- LEGACY_DEFS = [('NP_RANDOM_LEGACY', '1')]
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index f68b90e6b..0bff979a6 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -7,17 +7,15 @@ SRCNAME = "numpy"
SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
- file://0001-npy_cpu-Add-riscv-support.patch \
- file://0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch \
+ file://0001-convert-shebang-from-python-to-python3.patch \
"
-SRC_URI[md5sum] = "c48b2ad785f82cdfe28c907ce35e2a71"
-SRC_URI[sha256sum] = "47b7b6145e7ba5918ce26be25999b6d4b35cf9fbfdf46b7da50090ffdb020445"
+SRC_URI[md5sum] = "cd631c761f141d382b4e1b31c8232fc0"
+SRC_URI[sha256sum] = "93ee59ec38f3bf8f9a42d5f4301f60e6825a4a6385a145f70badcd2bf2a11134"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-# Needed for building with gcc 4.x from centos 7
-CFLAGS_append_class-native = " -std=c99"
+DEPENDS += "python3-cython-native"
S = "${WORKDIR}/numpy-${PV}"
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.3.bb
index d388e88d2..d388e88d2 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.18.3.bb
diff --git a/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch b/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch
new file mode 100644
index 000000000..e16b99bcb
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/files/0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch
@@ -0,0 +1,248 @@
+From 0b297d4ff1c0e4480ad33acae793fbaf4bf015b4 Mon Sep 17 00:00:00 2001
+From: Victor Stinner <vstinner@python.org>
+Date: Thu, 2 Apr 2020 02:52:20 +0200
+Subject: [PATCH] bpo-39503: CVE-2020-8492: Fix AbstractBasicAuthHandler
+ (GH-18284)
+
+Upstream-Status: Backport
+(https://github.com/python/cpython/commit/0b297d4ff1c0e4480ad33acae793fbaf4bf015b4)
+
+CVE: CVE-2020-8492
+
+The AbstractBasicAuthHandler class of the urllib.request module uses
+an inefficient regular expression which can be exploited by an
+attacker to cause a denial of service. Fix the regex to prevent the
+catastrophic backtracking. Vulnerability reported by Ben Caller
+and Matt Schwager.
+
+AbstractBasicAuthHandler of urllib.request now parses all
+WWW-Authenticate HTTP headers and accepts multiple challenges per
+header: use the realm of the first Basic challenge.
+
+Co-Authored-By: Serhiy Storchaka <storchaka@gmail.com>
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+---
+ Lib/test/test_urllib2.py | 90 ++++++++++++-------
+ Lib/urllib/request.py | 69 ++++++++++----
+ .../2020-03-25-16-02-16.bpo-39503.YmMbYn.rst | 3 +
+ .../2020-01-30-16-15-29.bpo-39503.B299Yq.rst | 5 ++
+ 4 files changed, 115 insertions(+), 52 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
+ create mode 100644 Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
+
+diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
+index 8abedaac98..e69ac3e213 100644
+--- a/Lib/test/test_urllib2.py
++++ b/Lib/test/test_urllib2.py
+@@ -1446,40 +1446,64 @@ class HandlerTests(unittest.TestCase):
+ bypass = {'exclude_simple': True, 'exceptions': []}
+ self.assertTrue(_proxy_bypass_macosx_sysconf('test', bypass))
+
+- def test_basic_auth(self, quote_char='"'):
+- opener = OpenerDirector()
+- password_manager = MockPasswordManager()
+- auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
+- realm = "ACME Widget Store"
+- http_handler = MockHTTPHandler(
+- 401, 'WWW-Authenticate: Basic realm=%s%s%s\r\n\r\n' %
+- (quote_char, realm, quote_char))
+- opener.add_handler(auth_handler)
+- opener.add_handler(http_handler)
+- self._test_basic_auth(opener, auth_handler, "Authorization",
+- realm, http_handler, password_manager,
+- "http://acme.example.com/protected",
+- "http://acme.example.com/protected",
+- )
+-
+- def test_basic_auth_with_single_quoted_realm(self):
+- self.test_basic_auth(quote_char="'")
+-
+- def test_basic_auth_with_unquoted_realm(self):
+- opener = OpenerDirector()
+- password_manager = MockPasswordManager()
+- auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
+- realm = "ACME Widget Store"
+- http_handler = MockHTTPHandler(
+- 401, 'WWW-Authenticate: Basic realm=%s\r\n\r\n' % realm)
+- opener.add_handler(auth_handler)
+- opener.add_handler(http_handler)
+- with self.assertWarns(UserWarning):
++ def check_basic_auth(self, headers, realm):
++ with self.subTest(realm=realm, headers=headers):
++ opener = OpenerDirector()
++ password_manager = MockPasswordManager()
++ auth_handler = urllib.request.HTTPBasicAuthHandler(password_manager)
++ body = '\r\n'.join(headers) + '\r\n\r\n'
++ http_handler = MockHTTPHandler(401, body)
++ opener.add_handler(auth_handler)
++ opener.add_handler(http_handler)
+ self._test_basic_auth(opener, auth_handler, "Authorization",
+- realm, http_handler, password_manager,
+- "http://acme.example.com/protected",
+- "http://acme.example.com/protected",
+- )
++ realm, http_handler, password_manager,
++ "http://acme.example.com/protected",
++ "http://acme.example.com/protected")
++
++ def test_basic_auth(self):
++ realm = "realm2@example.com"
++ realm2 = "realm2@example.com"
++ basic = f'Basic realm="{realm}"'
++ basic2 = f'Basic realm="{realm2}"'
++ other_no_realm = 'Otherscheme xxx'
++ digest = (f'Digest realm="{realm2}", '
++ f'qop="auth, auth-int", '
++ f'nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", '
++ f'opaque="5ccc069c403ebaf9f0171e9517f40e41"')
++ for realm_str in (
++ # test "quote" and 'quote'
++ f'Basic realm="{realm}"',
++ f"Basic realm='{realm}'",
++
++ # charset is ignored
++ f'Basic realm="{realm}", charset="UTF-8"',
++
++ # Multiple challenges per header
++ f'{basic}, {basic2}',
++ f'{basic}, {other_no_realm}',
++ f'{other_no_realm}, {basic}',
++ f'{basic}, {digest}',
++ f'{digest}, {basic}',
++ ):
++ headers = [f'WWW-Authenticate: {realm_str}']
++ self.check_basic_auth(headers, realm)
++
++ # no quote: expect a warning
++ with support.check_warnings(("Basic Auth Realm was unquoted",
++ UserWarning)):
++ headers = [f'WWW-Authenticate: Basic realm={realm}']
++ self.check_basic_auth(headers, realm)
++
++ # Multiple headers: one challenge per header.
++ # Use the first Basic realm.
++ for challenges in (
++ [basic, basic2],
++ [basic, digest],
++ [digest, basic],
++ ):
++ headers = [f'WWW-Authenticate: {challenge}'
++ for challenge in challenges]
++ self.check_basic_auth(headers, realm)
+
+ def test_proxy_basic_auth(self):
+ opener = OpenerDirector()
+diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
+index 7fe50535da..2a3d71554f 100644
+--- a/Lib/urllib/request.py
++++ b/Lib/urllib/request.py
+@@ -937,8 +937,15 @@ class AbstractBasicAuthHandler:
+
+ # allow for double- and single-quoted realm values
+ # (single quotes are a violation of the RFC, but appear in the wild)
+- rx = re.compile('(?:.*,)*[ \t]*([^ \t]+)[ \t]+'
+- 'realm=(["\']?)([^"\']*)\\2', re.I)
++ rx = re.compile('(?:^|,)' # start of the string or ','
++ '[ \t]*' # optional whitespaces
++ '([^ \t]+)' # scheme like "Basic"
++ '[ \t]+' # mandatory whitespaces
++ # realm=xxx
++ # realm='xxx'
++ # realm="xxx"
++ 'realm=(["\']?)([^"\']*)\\2',
++ re.I)
+
+ # XXX could pre-emptively send auth info already accepted (RFC 2617,
+ # end of section 2, and section 1.2 immediately after "credentials"
+@@ -950,27 +957,51 @@ class AbstractBasicAuthHandler:
+ self.passwd = password_mgr
+ self.add_password = self.passwd.add_password
+
++ def _parse_realm(self, header):
++ # parse WWW-Authenticate header: accept multiple challenges per header
++ found_challenge = False
++ for mo in AbstractBasicAuthHandler.rx.finditer(header):
++ scheme, quote, realm = mo.groups()
++ if quote not in ['"', "'"]:
++ warnings.warn("Basic Auth Realm was unquoted",
++ UserWarning, 3)
++
++ yield (scheme, realm)
++
++ found_challenge = True
++
++ if not found_challenge:
++ if header:
++ scheme = header.split()[0]
++ else:
++ scheme = ''
++ yield (scheme, None)
++
+ def http_error_auth_reqed(self, authreq, host, req, headers):
+ # host may be an authority (without userinfo) or a URL with an
+ # authority
+- # XXX could be multiple headers
+- authreq = headers.get(authreq, None)
++ headers = headers.get_all(authreq)
++ if not headers:
++ # no header found
++ return
+
+- if authreq:
+- scheme = authreq.split()[0]
+- if scheme.lower() != 'basic':
+- raise ValueError("AbstractBasicAuthHandler does not"
+- " support the following scheme: '%s'" %
+- scheme)
+- else:
+- mo = AbstractBasicAuthHandler.rx.search(authreq)
+- if mo:
+- scheme, quote, realm = mo.groups()
+- if quote not in ['"',"'"]:
+- warnings.warn("Basic Auth Realm was unquoted",
+- UserWarning, 2)
+- if scheme.lower() == 'basic':
+- return self.retry_http_basic_auth(host, req, realm)
++ unsupported = None
++ for header in headers:
++ for scheme, realm in self._parse_realm(header):
++ if scheme.lower() != 'basic':
++ unsupported = scheme
++ continue
++
++ if realm is not None:
++ # Use the first matching Basic challenge.
++ # Ignore following challenges even if they use the Basic
++ # scheme.
++ return self.retry_http_basic_auth(host, req, realm)
++
++ if unsupported is not None:
++ raise ValueError("AbstractBasicAuthHandler does not "
++ "support the following scheme: %r"
++ % (scheme,))
+
+ def retry_http_basic_auth(self, host, req, realm):
+ user, pw = self.passwd.find_user_password(realm, host)
+diff --git a/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
+new file mode 100644
+index 0000000000..be80ce79d9
+--- /dev/null
++++ b/Misc/NEWS.d/next/Library/2020-03-25-16-02-16.bpo-39503.YmMbYn.rst
+@@ -0,0 +1,3 @@
++:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
++now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
++per header: use the realm of the first Basic challenge.
+diff --git a/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
+new file mode 100644
+index 0000000000..9f2800581c
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2020-01-30-16-15-29.bpo-39503.B299Yq.rst
+@@ -0,0 +1,5 @@
++CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class of the
++:mod:`urllib.request` module uses an inefficient regular expression which can
++be exploited by an attacker to cause a denial of service. Fix the regex to
++prevent the catastrophic backtracking. Vulnerability reported by Ben Caller
++and Matt Schwager.
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 169d1b155..5f99cd251 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 5bba4f57f048016aa92ce5909e9e372db619554e Mon Sep 17 00:00:00 2001
+From a8f871c9ebc4fcb99d4163b226aabeef26567099 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -15,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 5 insertions(+)
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 05508ce..945e118 100755
+index 426301d..55c8062 100644
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
-@@ -640,6 +640,11 @@ class easy_install(Command):
+@@ -649,6 +649,11 @@ class easy_install(Command):
os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
def easy_install(self, spec, deps=False):
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
new file mode 100644
index 000000000..437e79662
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -0,0 +1,41 @@
+DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \
+It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
+and the messy, low-level world of C."
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
+PYPI_PACKAGE = "Cython"
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "a899abaa48b68bb679aef45ceb4b89d3"
+SRC_URI[sha256sum] = "232755284f942cbb3b43a06cd85974ef3c970a021aef19b5243c03ee2b08fa05"
+UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += "\
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-pyparsing \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-xml \
+"
+
+RDEPENDS_${PN}_class-nativesdk += "\
+ nativesdk-${PYTHON_PN}-misc \
+ nativesdk-${PYTHON_PN}-netserver \
+ nativesdk-${PYTHON_PN}-pkgutil \
+ nativesdk-${PYTHON_PN}-pyparsing \
+ nativesdk-${PYTHON_PN}-setuptools \
+ nativesdk-${PYTHON_PN}-shell \
+ nativesdk-${PYTHON_PN}-xml \
+"
+
+do_install_append() {
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
+ done
+}
diff --git a/poky/meta/recipes-devtools/python/python-gitdb.inc b/poky/meta/recipes-devtools/python/python-gitdb.inc
index 633752fd1..a91bb32c3 100644
--- a/poky/meta/recipes-devtools/python/python-gitdb.inc
+++ b/poky/meta/recipes-devtools/python/python-gitdb.inc
@@ -6,10 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528"
inherit pypi
-PYPI_PACKAGE = "gitdb2"
+PYPI_PACKAGE = "gitdb"
-SRC_URI[md5sum] = "94e59e5fb00960541f6e137b1456ab0a"
-SRC_URI[sha256sum] = "83361131a1836661a155172932a13c08bda2db3674e4caa32368aa6eb02f38c2"
+SRC_URI[sha256sum] = "6f0ecd46f99bb4874e5678d628c3a198e2b4ef38daea2756a2bfd8df7dd5c1a5"
DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap"
diff --git a/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch b/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch
deleted file mode 100644
index 707ee596f..000000000
--- a/poky/meta/recipes-devtools/python/python-native/0001-python-native-fix-one-do_populate_sysroot-warning.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 6cbb7529cf7ff0da3ca649fb3486facd9620d625 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 25 Oct 2018 07:32:14 +0000
-Subject: [PATCH] python-native: fix one do_populate_sysroot warning
-
-Fix below warning:
-WARNING: Skipping RPATH /usr/lib64 as is a standard search path for
-work/x86_64-linux/python-native/2.7.15-r1.1/recipe-sysroot-native/
-usr/lib/python2.7/lib-dynload/_bsddb.so
-
-setup.py will check db.h under include_dirs, for native build,
-/usr/lib64 will be insert to postion 0 of include_dirs, so
-it's priority is higher then our sysroot, cause db.h sysroot
-is ignored, and rpath set to /usr/lib64. and this cause warning
-when do_populate_sysroot. use append to fix it.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index a2c8127..22f9e23 100644
---- a/setup.py
-+++ b/setup.py
-@@ -47,7 +47,7 @@ def add_dir_to_list(dirlist, dir):
- else:
- dir_exists = os.path.isdir(dir)
- if dir_exists:
-- dirlist.insert(0, dir)
-+ dirlist.append(dir)
-
- MACOS_SDK_ROOT = None
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python-native/10-distutils-fix-swig-parameter.patch b/poky/meta/recipes-devtools/python/python-native/10-distutils-fix-swig-parameter.patch
deleted file mode 100644
index a39247ce7..000000000
--- a/poky/meta/recipes-devtools/python/python-native/10-distutils-fix-swig-parameter.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Pending
-
-# Some versions of SWIG do not use the extension parameter.
-# Make it optional.
-# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-Index: Python-2.6.1/Lib/distutils/command/build_ext.py
-===================================================================
---- Python-2.6.1.orig/Lib/distutils/command/build_ext.py
-+++ Python-2.6.1/Lib/distutils/command/build_ext.py
-@@ -566,7 +566,7 @@ class build_ext (Command):
- target_lang=language)
-
-
-- def swig_sources (self, sources, extension):
-+ def swig_sources (self, sources, extension=None):
-
- """Walk the list of source files in 'sources', looking for SWIG
- interface (.i) files. Run SWIG on all that are found, and
diff --git a/poky/meta/recipes-devtools/python/python-native/11-distutils-never-modify-shebang-line.patch b/poky/meta/recipes-devtools/python/python-native/11-distutils-never-modify-shebang-line.patch
deleted file mode 100644
index c92469b9b..000000000
--- a/poky/meta/recipes-devtools/python/python-native/11-distutils-never-modify-shebang-line.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Pending
-
-# Don't modify the she-bang line for a cross-build.
-# Otherwise it points to our hostpython (which we do not want)
-#
-# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-
-Index: Python-2.6.1/Lib/distutils/command/build_scripts.py
-===================================================================
---- Python-2.6.1.orig/Lib/distutils/command/build_scripts.py
-+++ Python-2.6.1/Lib/distutils/command/build_scripts.py
-@@ -87,7 +87,7 @@ class build_scripts (Command):
- continue
-
- match = first_line_re.match(first_line)
-- if match:
-+ if False: #match:
- adjust = 1
- post_interp = match.group(1) or ''
-
diff --git a/poky/meta/recipes-devtools/python/python-native/multilib.patch b/poky/meta/recipes-devtools/python/python-native/multilib.patch
deleted file mode 100644
index af0f173c6..000000000
--- a/poky/meta/recipes-devtools/python/python-native/multilib.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-Rebased for Python 2.7.9
-
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-2011/09/29
-The python recipe building was failing because python-native
-could not handle sys.lib var. sys.lib var is defined in the
-multilib patch hence added this multilib.patch for python-native
-recipe.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-
-Index: Python-2.7.14/Include/pythonrun.h
-===================================================================
---- Python-2.7.14.orig/Include/pythonrun.h
-+++ Python-2.7.14/Include/pythonrun.h
-@@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void);
- /* In their own files */
- PyAPI_FUNC(const char *) Py_GetVersion(void);
- PyAPI_FUNC(const char *) Py_GetPlatform(void);
-+PyAPI_FUNC(const char *) Py_GetLib(void);
- PyAPI_FUNC(const char *) Py_GetCopyright(void);
- PyAPI_FUNC(const char *) Py_GetCompiler(void);
- PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
-Index: Python-2.7.14/Lib/distutils/command/install.py
-===================================================================
---- Python-2.7.14.orig/Lib/distutils/command/install.py
-+++ Python-2.7.14/Lib/distutils/command/install.py
-@@ -22,6 +22,8 @@ from site import USER_BASE
- from site import USER_SITE
-
-
-+libname = sys.lib
-+
- if sys.version < "2.2":
- WINDOWS_SCHEME = {
- 'purelib': '$base',
-@@ -42,7 +44,7 @@ else:
- INSTALL_SCHEMES = {
- 'unix_prefix': {
- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
-Index: Python-2.7.14/Lib/pydoc.py
-===================================================================
---- Python-2.7.14.orig/Lib/pydoc.py
-+++ Python-2.7.14/Lib/pydoc.py
-@@ -375,7 +375,7 @@ class Doc:
- docmodule = docclass = docroutine = docother = docproperty = docdata = fail
-
- def getdocloc(self, object,
-- basedir=os.path.join(sys.exec_prefix, "lib",
-+ basedir=os.path.join(sys.exec_prefix, "sys.lib",
- "python"+sys.version[0:3])):
- """Return the location of module docs or None"""
-
-Index: Python-2.7.14/Lib/site.py
-===================================================================
---- Python-2.7.14.orig/Lib/site.py
-+++ Python-2.7.14/Lib/site.py
-@@ -288,13 +288,19 @@ def getsitepackages():
- if sys.platform in ('os2emx', 'riscos'):
- sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
- elif os.sep == '/':
-- sitepackages.append(os.path.join(prefix, "lib",
-+ sitepackages.append(os.path.join(prefix, sys.lib,
- "python" + sys.version[:3],
- "site-packages"))
-- sitepackages.append(os.path.join(prefix, "lib", "site-python"))
-+ if sys.lib != "lib":
-+ sitepackages.append(os.path.join(prefix, "lib",
-+ "python" + sys.version[:3],
-+ "site-packages"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-python"))
-+ if sys.lib != "lib":
-+ sitepackages.append(os.path.join(prefix, "lib", "site-python"))
- else:
- sitepackages.append(prefix)
-- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
- return sitepackages
-
- def addsitepackages(known_paths):
-Index: Python-2.7.14/Lib/test/test_dl.py
-===================================================================
---- Python-2.7.14.orig/Lib/test/test_dl.py
-+++ Python-2.7.14/Lib/test/test_dl.py
-@@ -4,10 +4,11 @@
- import unittest
- from test.test_support import verbose, import_module
- dl = import_module('dl', deprecated=True)
-+import sys
-
- sharedlibs = [
-- ('/usr/lib/libc.so', 'getpid'),
-- ('/lib/libc.so.6', 'getpid'),
-+ ('/usr/'+sys.lib+'/libc.so', 'getpid'),
-+ ('/'+sys.lib+'/libc.so.6', 'getpid'),
- ('/usr/bin/cygwin1.dll', 'getpid'),
- ('/usr/lib/libc.dylib', 'getpid'),
- ]
-Index: Python-2.7.14/Lib/trace.py
-===================================================================
---- Python-2.7.14.orig/Lib/trace.py
-+++ Python-2.7.14/Lib/trace.py
-@@ -754,10 +754,10 @@ def main(argv=None):
- # should I also call expanduser? (after all, could use $HOME)
-
- s = s.replace("$prefix",
-- os.path.join(sys.prefix, "lib",
-+ os.path.join(sys.prefix, sys.lib,
- "python" + sys.version[:3]))
- s = s.replace("$exec_prefix",
-- os.path.join(sys.exec_prefix, "lib",
-+ os.path.join(sys.exec_prefix, sys.lib,
- "python" + sys.version[:3]))
- s = os.path.normpath(s)
- ignore_dirs.append(s)
-Index: Python-2.7.14/Makefile.pre.in
-===================================================================
---- Python-2.7.14.orig/Makefile.pre.in
-+++ Python-2.7.14/Makefile.pre.in
-@@ -91,6 +91,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG
-
- # Machine-dependent subdirectories
- MACHDEP= @MACHDEP@
-+LIB= @LIB@
-
- # Multiarch directory (may be empty)
- MULTIARCH= @MULTIARCH@
-@@ -110,7 +111,7 @@ LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= $(prefix)/@LIB@
-
- # Detailed destination directories
- BINLIBDEST= $(LIBDIR)/python$(VERSION)
-@@ -644,6 +645,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
-+ -DLIB='"$(LIB)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
- Modules/python.o: $(srcdir)/Modules/python.c
-@@ -692,7 +694,7 @@ regen-ast:
- Python/compile.o Python/symtable.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
-
- Python/getplatform.o: $(srcdir)/Python/getplatform.c
-- $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-+ $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
-
- Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-Index: Python-2.7.14/Modules/getpath.c
-===================================================================
---- Python-2.7.14.orig/Modules/getpath.c
-+++ Python-2.7.14/Modules/getpath.c
-@@ -100,6 +100,13 @@
- #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined"
- #endif
-
-+#define LIB_PYTHON LIB "/python" VERSION
-+
-+#ifndef PYTHONPATH
-+#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \
-+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload"
-+#endif
-+
- #ifndef LANDMARK
- #define LANDMARK "os.py"
- #endif
-@@ -108,7 +115,7 @@ static char prefix[MAXPATHLEN+1];
- static char exec_prefix[MAXPATHLEN+1];
- static char progpath[MAXPATHLEN+1];
- static char *module_search_path = NULL;
--static char lib_python[] = "lib/python" VERSION;
-+static char lib_python[] = LIB_PYTHON;
-
- static void
- reduce(char *dir)
-Index: Python-2.7.14/Python/getplatform.c
-===================================================================
---- Python-2.7.14.orig/Python/getplatform.c
-+++ Python-2.7.14/Python/getplatform.c
-@@ -10,3 +10,13 @@ Py_GetPlatform(void)
- {
- return PLATFORM;
- }
-+
-+#ifndef LIB
-+#define LIB "lib"
-+#endif
-+
-+const char *
-+Py_GetLib(void)
-+{
-+ return LIB;
-+}
-Index: Python-2.7.14/Python/sysmodule.c
-===================================================================
---- Python-2.7.14.orig/Python/sysmodule.c
-+++ Python-2.7.14/Python/sysmodule.c
-@@ -1437,6 +1437,8 @@ _PySys_Init(void)
- PyString_FromString(Py_GetCopyright()));
- SET_SYS_FROM_STRING("platform",
- PyString_FromString(Py_GetPlatform()));
-+ SET_SYS_FROM_STRING("lib",
-+ PyString_FromString(Py_GetLib()));
- SET_SYS_FROM_STRING("executable",
- PyString_FromString(Py_GetProgramFullPath()));
- SET_SYS_FROM_STRING("prefix",
-Index: Python-2.7.14/configure.ac
-===================================================================
---- Python-2.7.14.orig/configure.ac
-+++ Python-2.7.14/configure.ac
-@@ -758,6 +758,11 @@ SunOS*)
- ;;
- esac
-
-+AC_SUBST(LIB)
-+AC_MSG_CHECKING(LIB)
-+LIB=`basename ${libdir}`
-+AC_MSG_RESULT($LIB)
-+
-
- AC_SUBST(LIBRARY)
- AC_MSG_CHECKING(LIBRARY)
diff --git a/poky/meta/recipes-devtools/python/python-native/nohostlibs.patch b/poky/meta/recipes-devtools/python/python-native/nohostlibs.patch
deleted file mode 100644
index 078060b49..000000000
--- a/poky/meta/recipes-devtools/python/python-native/nohostlibs.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-2014/12/15
-Rebased for python-2.7.9
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-Index: Python-2.7.9/setup.py
-===================================================================
---- Python-2.7.9.orig/setup.py
-+++ Python-2.7.9/setup.py
-@@ -439,9 +439,9 @@ class PyBuildExt(build_ext):
-
- def detect_modules(self):
- # Ensure that /usr/local is always used
-- if not cross_compiling:
-- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
-+ # if not cross_compiling:
-+ # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-+ # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
- if cross_compiling:
- self.add_gcc_paths()
- self.add_multiarch_paths()
-@@ -480,15 +480,15 @@ class PyBuildExt(build_ext):
- for directory in reversed(options.dirs):
- add_dir_to_list(dir_list, directory)
-
-- if os.path.normpath(sys.prefix) != '/usr' \
-- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
-+ #if os.path.normpath(sys.prefix) != '/usr' \
-+ #and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
- # the one that is currently installed (issue #7473)
-- add_dir_to_list(self.compiler.library_dirs,
-+ add_dir_to_list(self.compiler.library_dirs,
- sysconfig.get_config_var("LIBDIR"))
-- add_dir_to_list(self.compiler.include_dirs,
-+ add_dir_to_list(self.compiler.include_dirs,
- sysconfig.get_config_var("INCLUDEDIR"))
-
- try:
-@@ -761,8 +761,7 @@ class PyBuildExt(build_ext):
- pass # Issue 7384: Already linked against curses or tinfo.
- elif curses_library:
- readline_libs.append(curses_library)
-- elif self.compiler.find_library_file(lib_dirs +
-- ['/usr/lib/termcap'],
-+ elif self.compiler.find_library_file(lib_dirs,
- 'termcap'):
- readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
diff --git a/poky/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch b/poky/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
deleted file mode 100644
index 202aaf106..000000000
--- a/poky/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-On older versions of Python, sysconfig read the data from both the Makefile and
-the Python.h file generated at build time, created dictionaries with their variables
-and used those when using get_config_var(), now it uses _sysconfigdata.build_time_vars[]
-which contains information from the HOST, erroneous in our case, this patch reverts this
-behavior and uses Python.h and Makefile to get information.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-Index: Python-2.7.9/Lib/distutils/sysconfig.py
-===================================================================
---- Python-2.7.9.orig/Lib/distutils/sysconfig.py
-+++ Python-2.7.9/Lib/distutils/sysconfig.py
-@@ -401,12 +401,66 @@ _config_vars = None
-
- def _init_posix():
- """Initialize the module as appropriate for POSIX systems."""
-- # _sysconfigdata is generated at build time, see the sysconfig module
-- from _sysconfigdata import build_time_vars
-- global _config_vars
-- _config_vars = {}
-- _config_vars.update(build_time_vars)
-+ g = {}
-+ # load the installed Makefile:
-+ try:
-+ filename = get_makefile_filename()
-+ parse_makefile(filename, g)
-+ except IOError, msg:
-+ my_msg = "invalid Python installation: unable to open %s" % filename
-+ if hasattr(msg, "strerror"):
-+ my_msg = my_msg + " (%s)" % msg.strerror
-+
-+ raise DistutilsPlatformError(my_msg)
-+
-+ # load the installed pyconfig.h:
-+ try:
-+ filename = get_config_h_filename()
-+ parse_config_h(file(filename), g)
-+ except IOError, msg:
-+ my_msg = "invalid Python installation: unable to open %s" % filename
-+ if hasattr(msg, "strerror"):
-+ my_msg = my_msg + " (%s)" % msg.strerror
-+
-+ raise DistutilsPlatformError(my_msg)
-+
-+ # On AIX, there are wrong paths to the linker scripts in the Makefile
-+ # -- these paths are relative to the Python source, but when installed
-+ # the scripts are in another directory.
-+ if python_build:
-+ g['LDSHARED'] = g['BLDSHARED']
-
-+ elif get_python_version() < '2.1':
-+ # The following two branches are for 1.5.2 compatibility.
-+ if sys.platform == 'aix4': # what about AIX 3.x ?
-+ # Linker script is in the config directory, not in Modules as the
-+ # Makefile says.
-+ python_lib = get_python_lib(standard_lib=1)
-+ ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
-+ python_exp = os.path.join(python_lib, 'config', 'python.exp')
-+
-+ g['LDSHARED'] = "%s %s -bI:%s" % (ld_so_aix, g['CC'], python_exp)
-+
-+ elif sys.platform == 'beos':
-+ # Linker script is in the config directory. In the Makefile it is
-+ # relative to the srcdir, which after installation no longer makes
-+ # sense.
-+ python_lib = get_python_lib(standard_lib=1)
-+ linkerscript_path = string.split(g['LDSHARED'])[0]
-+ linkerscript_name = os.path.basename(linkerscript_path)
-+ linkerscript = os.path.join(python_lib, 'config',
-+ linkerscript_name)
-+
-+ # XXX this isn't the right place to do this: adding the Python
-+ # library to the link, if needed, should be in the "build_ext"
-+ # command. (It's also needed for non-MS compilers on Windows, and
-+ # it's taken care of for them by the 'build_ext.get_libraries()'
-+ # method.)
-+ g['LDSHARED'] = ("%s -L%s/lib -lpython%s" %
-+ (linkerscript, PREFIX, get_python_version()))
-+
-+ global _config_vars
-+ _config_vars = g
-
- def _init_nt():
- """Initialize the module as appropriate for NT"""
diff --git a/poky/meta/recipes-devtools/python/python-native/unixccompiler.patch b/poky/meta/recipes-devtools/python/python-native/unixccompiler.patch
deleted file mode 100644
index 450282912..000000000
--- a/poky/meta/recipes-devtools/python/python-native/unixccompiler.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Pending
-
-The CC variable,sometimes like:"x86_64-poky-linux-gcc -m64 --sysroot=/${TMPDIR}/sysroots/qemux86-64", contains option information.
-This will lead to wrong compiler name "qemux86-64" rather than "x86_64-poky-linux-gcc" when python finding the compiler name.
-
-Signed-off-by: Mei Lei <lei.mei@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: Python-2.7.2/Lib/distutils/unixccompiler.py
-===================================================================
---- Python-2.7.2.orig/Lib/distutils/unixccompiler.py 2011-11-24 13:51:10.539998722 -0800
-+++ Python-2.7.2/Lib/distutils/unixccompiler.py 2011-11-24 15:54:36.872137766 -0800
-@@ -282,7 +282,7 @@
- # this time, there's no way to determine this information from
- # the configuration data stored in the Python installation, so
- # we use this hack.
-- compiler = os.path.basename(sysconfig.get_config_var("CC"))
-+ compiler = sysconfig.get_config_var("CC")
- if sys.platform[:6] == "darwin":
- # MacOSX's linker doesn't understand the -R flag at all
- return "-L" + dir
diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.17.bb b/poky/meta/recipes-devtools/python/python-native_2.7.17.bb
deleted file mode 100644
index 936810d98..000000000
--- a/poky/meta/recipes-devtools/python/python-native_2.7.17.bb
+++ /dev/null
@@ -1,88 +0,0 @@
-require python.inc
-EXTRANATIVEPATH += "bzip2-native"
-DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native expat-native gdbm-native db-native"
-
-SRC_URI += "\
- file://05-enable-ctypes-cross-build.patch \
- file://10-distutils-fix-swig-parameter.patch \
- file://11-distutils-never-modify-shebang-line.patch \
- file://0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch \
- file://unixccompiler.patch \
- file://nohostlibs.patch \
- file://multilib.patch \
- file://add-md5module-support.patch \
- file://0001-python-Resolve-intermediate-staging-issues.patch \
- file://parallel-makeinst-create-bindir.patch \
- file://revert_use_of_sysconfigdata.patch \
- file://0001-python-native-fix-one-do_populate_sysroot-warning.patch \
- "
-
-S = "${WORKDIR}/Python-${PV}"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:"
-
-inherit native
-
-EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}"
-
-EXTRA_OEMAKE = '\
- LIBC="" \
- STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
- STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
-'
-
-do_configure_append() {
- autoreconf --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
-}
-
-# Regenerate all of the generated files
-# This ensures that pgen and friends get created during the compile phase
-do_compile_prepend() {
- oe_runmake regen-all
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
- install -d ${D}${bindir}/${PN}
- install -m 0755 Parser/pgen ${D}${bindir}/${PN}
-
- # Make sure we use /usr/bin/env python
- for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
- sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT
- done
-
- # Add a symlink to the native Python so that scripts can just invoke
- # "nativepython" and get the right one without needing absolute paths
- # (these often end up too long for the #! parser in the kernel as the
- # buffer is 128 bytes long).
- ln -s python-native/python ${D}${bindir}/nativepython
-
- # We don't want modules in ~/.local being used in preference to those
- # installed in the native sysroot, so disable user site support.
- sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
-}
-
-python(){
-
- # Read JSON manifest
- import json
- pythondir = d.getVar('THISDIR')
- with open(pythondir+'/python/python2-manifest.json') as manifest_file:
- manifest_str = manifest_file.read()
- json_start = manifest_str.find('# EOC') + 6
- manifest_file.seek(json_start)
- manifest_str = manifest_file.read()
- python_manifest = json.loads(manifest_str)
-
- rprovides = d.getVar('RPROVIDES').split()
-
- # Hardcoded since it cant be python-native-foo, should be python-foo-native
- pn = 'python'
-
- for key in python_manifest:
- pypackage = pn + '-' + key + '-native'
- if pypackage not in rprovides:
- rprovides.append(pypackage)
-
- d.setVar('RPROVIDES', ' '.join(rprovides))
-}
diff --git a/poky/meta/recipes-devtools/python/python-pbr.inc b/poky/meta/recipes-devtools/python/python-pbr.inc
index 0e64501c3..ce3c224d5 100644
--- a/poky/meta/recipes-devtools/python/python-pbr.inc
+++ b/poky/meta/recipes-devtools/python/python-pbr.inc
@@ -5,6 +5,8 @@ SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
+
inherit pypi
RDEPENDS_${PN} += "${PYTHON_PN}-pip"
diff --git a/poky/meta/recipes-devtools/python/python-pycryptodome.inc b/poky/meta/recipes-devtools/python/python-pycryptodome.inc
new file mode 100644
index 000000000..68b084eb0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-pycryptodome.inc
@@ -0,0 +1,26 @@
+SUMMARY = "Cryptographic library for Python"
+DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\
+ cryptographic primitives."
+HOMEPAGE = "http://www.pycryptodome.org"
+LICENSE = "PD & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=6dc0e2a13d2f25d6f123c434b761faba"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-math \
+"
+
+RDEPENDS_${PN}-tests += " \
+ ${PYTHON_PN}-unittest \
+"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES_${PN}-tests = " \
+ ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/ \
+ ${PYTHON_SITEPACKAGES_DIR}/Crypto/SelfTest/__pycache__/ \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-pyparsing.inc b/poky/meta/recipes-devtools/python/python-pyparsing.inc
new file mode 100644
index 000000000..348b324bf
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-pyparsing.inc
@@ -0,0 +1,22 @@
+SUMMARY = "Python parsing module"
+HOMEPAGE = "http://pyparsing.wikispaces.com/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
+
+SRC_URI[md5sum] = "f0953e47a0112f7a65aec2305ffdf7b4"
+SRC_URI[sha256sum] = "c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"
+UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index 027e259be..e9ad93dbe 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -10,20 +10,25 @@ inherit pypi
SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
-SRC_URI[md5sum] = "89a592d733b31e180a4b6ad760c0685a"
-SRC_URI[sha256sum] = "7eae782ccf36b790c21bde7d86a4f303a441cd77036b25c559a602cf5186ce4d"
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
+
+SRC_URI[md5sum] = "0c956eea142af9c2b02d72e3c042af30"
+SRC_URI[sha256sum] = "89c6e6011ec2f6d57d43a3f9296c4ef022c2cbf49bab26b407fe67992ae3397f"
DEPENDS += "${PYTHON_PN}"
RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-2to3 \
${PYTHON_PN}-compile \
${PYTHON_PN}-compression \
${PYTHON_PN}-ctypes \
${PYTHON_PN}-distutils \
${PYTHON_PN}-email \
${PYTHON_PN}-html \
+ ${PYTHON_PN}-json \
${PYTHON_PN}-netserver \
${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pickle \
${PYTHON_PN}-pkgutil \
${PYTHON_PN}-plistlib \
${PYTHON_PN}-shell \
diff --git a/poky/meta/recipes-devtools/python/python-setuptools_41.4.0.bb b/poky/meta/recipes-devtools/python/python-setuptools_41.4.0.bb
deleted file mode 100644
index cf9440495..000000000
--- a/poky/meta/recipes-devtools/python/python-setuptools_41.4.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-setuptools.inc
-
-PROVIDES = "python-distribute"
-
-inherit setuptools
-
-RREPLACES_${PN} = "python-distribute"
-RPROVIDES_${PN} = "python-distribute"
-RCONFLICTS_${PN} = "python-distribute"
diff --git a/poky/meta/recipes-devtools/python/python-six.inc b/poky/meta/recipes-devtools/python/python-six.inc
index c386090b4..05b32810b 100644
--- a/poky/meta/recipes-devtools/python/python-six.inc
+++ b/poky/meta/recipes-devtools/python/python-six.inc
@@ -2,10 +2,7 @@ SUMMARY = "Python 2 and 3 compatibility library"
HOMEPAGE = "https://pypi.python.org/pypi/six/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f82eb3a1a7fade60bda5980935084b62"
-
-SRC_URI[md5sum] = "e92c23c882c7d5564ce5773fe31b2771"
-SRC_URI[sha256sum] = "30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d"
inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc
deleted file mode 100644
index a630c26e8..000000000
--- a/poky/meta/recipes-devtools/python/python.inc
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "The Python Programming Language"
-HOMEPAGE = "http://www.python.org"
-LICENSE = "PSFv2"
-SECTION = "devel/python"
-# bump this on every change in contrib/python/generate-manifest-2.7.py
-INC_PR = "r1"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
-
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
- "
-
-SRC_URI[md5sum] = "b3b6d2c92f42a60667814358ab9f0cfd"
-SRC_URI[sha256sum] = "4d43f033cdbd0aa7b7023c81b0e986fd11e653b5248dac9144d508f11812ba41"
-
-# python recipe is actually python 2.x
-# also, exclude pre-releases for both python 2.x and 3.x
-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>2(\.\d+)+).tar"
-
-CVE_PRODUCT = "python"
-
-PYTHON_MAJMIN = "2.7"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
- --with-threads \
- --with-pymalloc \
- --without-cxx-main \
- --with-signal-module \
- --enable-shared \
- --enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \
- ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \
-"
-
-do_configure_prepend() {
- libdirleaf="$(echo ${libdir} | sed -e 's:${prefix}/::')"
- sed -i -e "s:SEDMELIBLEAF:${libdirleaf}:g" \
- ${S}/configure.ac
-}
-
-do_install_append () {
- sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \
- -e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \
- ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
-}
diff --git a/poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch b/poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch
deleted file mode 100644
index 502f84980..000000000
--- a/poky/meta/recipes-devtools/python/python/0001-distutils-set-the-prefix-to-be-inside-staging-direct.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 4cdf2e9df13c6327fcc94d53e4953005543aef3d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 6 Apr 2016 17:43:02 +0300
-Subject: [PATCH 01/10] distutils: set the prefix to be inside staging
- directory
-
-The proper prefix is inside our staging area.
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-Signed-off-by: Phil Blundell <philb@gnu.org>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Lib/distutils/sysconfig.py | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index de7da1d..f3aacf7 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -75,7 +75,7 @@ def get_python_inc(plat_specific=0, prefix=None):
- sys.exec_prefix -- i.e., ignore 'plat_specific'.
- """
- if prefix is None:
-- prefix = plat_specific and EXEC_PREFIX or PREFIX
-+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
-
- if os.name == "posix":
- if python_build:
-@@ -115,12 +115,16 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
- If 'prefix' is supplied, use it instead of sys.prefix or
- sys.exec_prefix -- i.e., ignore 'plat_specific'.
- """
-+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
- if prefix is None:
-- prefix = plat_specific and EXEC_PREFIX or PREFIX
-+ if plat_specific:
-+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
-+ else:
-+ prefix = PREFIX
-
- if os.name == "posix":
- libpython = os.path.join(prefix,
-- "lib", "python" + get_python_version())
-+ lib_basename, "python" + get_python_version())
- if standard_lib:
- return libpython
- else:
---
-2.8.0.rc3
-
diff --git a/poky/meta/recipes-devtools/python/python/0001-python-Resolve-intermediate-staging-issues.patch b/poky/meta/recipes-devtools/python/python/0001-python-Resolve-intermediate-staging-issues.patch
deleted file mode 100644
index 2ff2ccc43..000000000
--- a/poky/meta/recipes-devtools/python/python/0001-python-Resolve-intermediate-staging-issues.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 77bcb3238b2853d511714544e0f84a37be6c79bf Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Wed, 14 Nov 2012 14:31:24 +0000
-Subject: [PATCH] python: Resolve intermediate staging issues
-
-When cross compiling python, we used to need to install the Makefile, pyconfig.h
-and the python library to their final location before being able to compile the
-rest of python. This change allows us to point python at its own source when
-building, avoiding a variety of sysroot staging issues and simplifying the main
-python recipe.
-
-Upstream-Status: Inappropriate
-RP 2012/11/13
-
----
- Lib/distutils/sysconfig.py | 3 +++
- Lib/sysconfig.py | 5 ++++-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 2f4b8ca..15bceb5 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -31,6 +31,9 @@ else:
- # sys.executable can be empty if argv[0] has been changed and Python is
- # unable to retrieve the real program name
- project_base = os.getcwd()
-+_PYTHONBUILDDIR = os.environ.get("PYTHONBUILDDIR", None)
-+if _PYTHONBUILDDIR:
-+ project_base = _PYTHONBUILDDIR
- if os.name == "nt" and "pcbuild" in project_base[-8:].lower():
- project_base = os.path.abspath(os.path.join(project_base, os.path.pardir))
- # PC/VS7.1
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 9c8350d..bddbe2e 100644
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -93,6 +93,7 @@ _PREFIX = os.path.normpath(sys.prefix)
- _EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
- _CONFIG_VARS = None
- _USER_BASE = None
-+_PYTHONBUILDDIR = os.environ.get("PYTHONBUILDDIR", None)
-
- def _safe_realpath(path):
- try:
-@@ -100,7 +101,9 @@ def _safe_realpath(path):
- except OSError:
- return path
-
--if sys.executable:
-+if _PYTHONBUILDDIR:
-+ _PROJECT_BASE = _PYTHONBUILDDIR
-+elif sys.executable:
- _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable))
- else:
- # sys.executable can be empty if argv[0] has been changed and Python is
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch
deleted file mode 100644
index 6e4f82091..000000000
--- a/poky/meta/recipes-devtools/python/python/0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 3f49be81e31c164654aeb10b65ebade982ca2ed8 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 22 Oct 2018 15:24:48 +0800
-Subject: [PATCH] python2: use cc_basename to replace CC for checking compiler
-
-When working path contains "clang"/"gcc"/"icc", it might be part of $CC
-because of the "--sysroot" parameter. That could cause judgement error
-about clang/gcc/icc compilers. e.g.
-When "icc" is containded in working path, below errors are reported when
-compiling python:
-x86_64-wrs-linux-gcc: error: strict: No such file or directory
-x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model'
-
-Here use cc_basename to replace CC for checking compiler to avoid such
-kind of issue.
-
-Upstream-Status: Pending
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
-
-Patch orignally from Li Zhou, I just rework it to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index db1c940..dfcd89a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -684,7 +684,7 @@ AC_MSG_RESULT($with_cxx_main)
- preset_cxx="$CXX"
- if test -z "$CXX"
- then
-- case "$CC" in
-+ case "$cc_basename" in
- gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
- cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
- esac
-@@ -757,14 +757,14 @@ rmdir CaseSensitiveTestDir
-
- case $MACHDEP in
- bsdos*)
-- case $CC in
-+ case $cc_basename in
- gcc) CC="$CC -D_HAVE_BSDI";;
- esac;;
- esac
-
- case $ac_sys_system in
- hp*|HP*)
-- case $CC in
-+ case $cc_basename in
- cc|*/cc) CC="$CC -Ae";;
- esac;;
- SunOS*)
-@@ -1084,7 +1084,7 @@ then
- fi
-
- # Clang also needs -fwrapv
-- case $CC in
-+ case $cc_basename in
- *clang*) WRAP="-fwrapv"
- ;;
- esac
-@@ -1304,7 +1304,7 @@ yes)
- esac
-
- # ICC needs -fp-model strict or floats behave badly
--case "$CC" in
-+case "$cc_basename" in
- *icc*)
- BASECFLAGS="$BASECFLAGS -fp-model strict"
- ;;
-@@ -1443,7 +1443,7 @@ else
- fi],
- [AC_MSG_RESULT(no)])
- if test "$Py_LTO" = 'true' ; then
-- case $CC in
-+ case $cc_basename in
- *clang*)
- # Any changes made here should be reflected in the GCC+Darwin case below
- LTOFLAGS="-flto"
-@@ -1508,7 +1508,7 @@ then
- fi
- fi
- LLVM_PROF_ERR=no
--case $CC in
-+case $cc_basename in
- *clang*)
- # Any changes made here should be reflected in the GCC+Darwin case below
- PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
-@@ -2322,7 +2322,7 @@ then
- then CCSHARED="-fPIC"
- else CCSHARED="-Kpic -belf"
- fi;;
-- IRIX*/6*) case $CC in
-+ IRIX*/6*) case $cc_basename in
- *gcc*) CCSHARED="-shared";;
- *) CCSHARED="";;
- esac;;
-@@ -2366,7 +2366,7 @@ then
- then
- LINKFORSHARED="-Wl,--export-dynamic"
- fi;;
-- SunOS/5*) case $CC in
-+ SunOS/5*) case $cc_basename in
- *gcc*)
- if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
- then
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch b/poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
deleted file mode 100644
index e795a74b9..000000000
--- a/poky/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-We need to ensure our host tools get run during build, not the freshly
-built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-Rebased for python-2.7.9
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-Rebased for python-2.7.14
-Signed-off-by: Derek Straka <derek@asterius.io>
-
-Index: Python-2.7.13/Makefile.pre.in
-===================================================================
---- Python-2.7.13.orig/Makefile.pre.in
-+++ Python-2.7.13/Makefile.pre.in
-@@ -245,6 +245,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
- ##########################################################################
- # Parser
- PGEN= Parser/pgen$(EXE)
-+HOSTPGEN= $(PGEN)$(EXE)
-
- PSRCS= \
- Parser/acceler.c \
-@@ -512,7 +513,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA
- $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
-
- platform: $(BUILDPYTHON) pybuilddir.txt
-- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-
- # Create build directory and generate the sysconfig build-time data there.
- # pybuilddir.txt contains the name of the build dir and is used for
-@@ -663,7 +663,7 @@
- # Regenerate Include/graminit.h and Python/graminit.c
- # from Grammar/Grammar using pgen
- @$(MKDIR_P) Include
-- $(PGEN) $(srcdir)/Grammar/Grammar \
-+ $(HOSTPGEN) $(srcdir)/Grammar/Grammar \
- $(srcdir)/Include/graminit.h \
- $(srcdir)/Python/graminit.c
-
-@@ -1121,27 +1122,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
-+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
-+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
-+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-+ $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-+ $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
- # Create the PLATDIR source directory, if one wasn't distributed..
- $(srcdir)/Lib/$(PLATDIR):
-Index: Python-2.7.13/setup.py
-===================================================================
---- Python-2.7.13.orig/setup.py
-+++ Python-2.7.13/setup.py
-@@ -350,6 +350,7 @@ class PyBuildExt(build_ext):
- self.failed.append(ext.name)
- self.announce('*** WARNING: renaming "%s" since importing it'
- ' failed: %s' % (ext.name, why), level=3)
-+ return
- assert not self.inplace
- basename, tail = os.path.splitext(ext_filename)
- newname = basename + "_failed" + tail
-@@ -574,6 +575,9 @@ class PyBuildExt(build_ext):
-
- # XXX Omitted modules: gl, pure, dl, SGI-specific modules
-
-+ lib_dirs = [ os.getenv("STAGING_LIBDIR"), os.getenv("STAGING_BASELIBDIR") ]
-+ inc_dirs = [ os.getenv("STAGING_INCDIR") ]
-+
- #
- # The following modules are all pretty straightforward, and compile
- # on pretty much any POSIXish platform.
diff --git a/poky/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch b/poky/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch
deleted file mode 100644
index 650ceb595..000000000
--- a/poky/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-We need to supply STAGING_INCDIR here, otherwise the Tk headers
-will not be found.
-
-Signed-off-by: Michael 'Mickey' Lauer <mickey@vanille.de>
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-Rebased for python-2.7.9
-
-diff --git a/setup.py b/setup.py
-index 8fe1fb8..67eda74 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1892,7 +1892,7 @@ class PyBuildExt(build_ext):
- dotversion = dotversion[:-1] + '.' + dotversion[-1]
- tcl_include_sub = []
- tk_include_sub = []
-- for dir in inc_dirs:
-+ for dir in [os.getenv("STAGING_INCDIR")]:
- tcl_include_sub += [dir + os.sep + "tcl" + dotversion]
- tk_include_sub += [dir + os.sep + "tk" + dotversion]
- tk_include_sub += tcl_include_sub
-@@ -1911,22 +1911,6 @@ class PyBuildExt(build_ext):
- if dir not in include_dirs:
- include_dirs.append(dir)
-
-- # Check for various platform-specific directories
-- if host_platform == 'sunos5':
-- include_dirs.append('/usr/openwin/include')
-- added_lib_dirs.append('/usr/openwin/lib')
-- elif os.path.exists('/usr/X11R6/include'):
-- include_dirs.append('/usr/X11R6/include')
-- added_lib_dirs.append('/usr/X11R6/lib64')
-- added_lib_dirs.append('/usr/X11R6/lib')
-- elif os.path.exists('/usr/X11R5/include'):
-- include_dirs.append('/usr/X11R5/include')
-- added_lib_dirs.append('/usr/X11R5/lib')
-- else:
-- # Assume default location for X11
-- include_dirs.append('/usr/X11/include')
-- added_lib_dirs.append('/usr/X11/lib')
--
- # If Cygwin, then verify that X is installed before proceeding
- if host_platform == 'cygwin':
- x11_inc = find_file('X11/Xlib.h', [], include_dirs)
diff --git a/poky/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch b/poky/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch
deleted file mode 100644
index 5cc874246..000000000
--- a/poky/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Rebased for python 2.7.9
-
-Upstream-Status: Inappropriate [embedded specific]
-
-# CTypes need to know the actual host we are building on.
-# Signed-Off: Michael Dietrich <mdt@emdete.de>
-
-Index: Python-2.7.9/setup.py
-===================================================================
---- Python-2.7.9.orig/setup.py
-+++ Python-2.7.9/setup.py
-@@ -2028,12 +2028,12 @@ class PyBuildExt(build_ext):
-
- # Pass empty CFLAGS because we'll just append the resulting
- # CFLAGS to Python's; -g or -O2 is to be avoided.
-- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
-- % (ffi_builddir, ffi_srcdir, " ".join(config_args))
-+ cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \
-+ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args))
-
- res = os.system(cmd)
- if res or not os.path.exists(ffi_configfile):
-- print "Failed to configure _ctypes module"
-+ print "Failed to configure _ctypes module (res=%d) or missing conffile=%s" % ( res, ffi_configfile )
- return False
-
- fficonfig = {}
diff --git a/poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch b/poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch
deleted file mode 100644
index 435b31901..000000000
--- a/poky/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Upstream-Status: Pending
-
-The poison directories patch has detected library path issue while
-compiling the python in cross environment, as seen bellow.
-
-warning: library search path "/usr/lib/termcap" is unsafe for cross-compilation
-
-This Patch fixes this issue in the python build environment.
-11 Oct 2010
-Nitin A Kamble <nitin.a.kamble@intel.com>
-
-2011/09/29
-Rebased for python 2.7.2
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
-diff --git a/setup.py b/setup.py
-index 67eda74..59c537e 100644
---- a/setup.py
-+++ b/setup.py
-@@ -761,12 +761,10 @@ class PyBuildExt(build_ext):
- pass # Issue 7384: Already linked against curses or tinfo.
- elif curses_library:
- readline_libs.append(curses_library)
-- elif self.compiler.find_library_file(lib_dirs +
-- ['/usr/lib/termcap'],
-+ elif self.compiler.find_library_file(lib_dirs,
- 'termcap'):
- readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
- else:
diff --git a/poky/meta/recipes-devtools/python/python/add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch b/poky/meta/recipes-devtools/python/python/add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch
deleted file mode 100644
index 329734064..000000000
--- a/poky/meta/recipes-devtools/python/python/add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD
-
-When building x86->x86 the system will try to execute .so and related items
-from the default PYTHONPATH. This will fail if the target CPU contains
-instructions that the host CPU does not have, add CROSSPYTHONPATH
-into PYTHONPATH so we can prepend the list to find correct libs.
-
-Upstream-Status: Inappropriate [OE-Core integration specific]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: Python-2.7.14/configure.ac
-===================================================================
---- Python-2.7.14.orig/configure.ac
-+++ Python-2.7.14/configure.ac
-@@ -36,7 +36,7 @@ if test "$cross_compiling" = yes; then
- AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])
- fi
- AC_MSG_RESULT($interp)
-- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
-+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/plat-$(MACHDEP) '$interp
- fi
- elif test "$cross_compiling" = maybe; then
- AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])
diff --git a/poky/meta/recipes-devtools/python/python/add-md5module-support.patch b/poky/meta/recipes-devtools/python/python/add-md5module-support.patch
deleted file mode 100644
index 33fea7755..000000000
--- a/poky/meta/recipes-devtools/python/python/add-md5module-support.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: Python-2.7.2/Modules/Setup.dist
-===================================================================
---- Python-2.7.2.orig/Modules/Setup.dist 2011-06-11 08:46:26.000000000 -0700
-+++ Python-2.7.2/Modules/Setup.dist 2011-12-27 15:51:41.244623219 -0800
-@@ -248,7 +248,7 @@
- # Message-Digest Algorithm, described in RFC 1321. The necessary files
- # md5.c and md5.h are included here.
-
--#_md5 md5module.c md5.c
-+_md5 md5module.c md5.c
-
-
- # The _sha module implements the SHA checksum algorithms.
diff --git a/poky/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch b/poky/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch
deleted file mode 100644
index 287095f61..000000000
--- a/poky/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-_tkinter module needs tk module along with tcl. tk is not yet integrated
-in yocto so we skip the check for this module.
-Avoid a warning by not adding this module to missing variable.
-
-Upstream-Status: Inappropriate [distribution]
-
-Also simply disable the tk module since its not in DEPENDS.
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: Python-2.7.13/setup.py
-===================================================================
---- Python-2.7.13.orig/setup.py
-+++ Python-2.7.13/setup.py
-@@ -1783,10 +1783,12 @@ class PyBuildExt(build_ext):
- self.extensions.extend(exts)
-
- # Call the method for detecting whether _tkinter can be compiled
-- self.detect_tkinter(inc_dirs, lib_dirs)
-+ # self.detect_tkinter(inc_dirs, lib_dirs)
-
-- if '_tkinter' not in [e.name for e in self.extensions]:
-- missing.append('_tkinter')
-+ # tkinter module will not be avalaible as yocto
-+ # doesn't have tk integrated (yet)
-+ #if '_tkinter' not in [e.name for e in self.extensions]:
-+ # missing.append('_tkinter')
-
- ## # Uncomment these lines if you want to play with xxmodule.c
- ## ext = Extension('xx', ['xxmodule.c'])
diff --git a/poky/meta/recipes-devtools/python/python/avoid_warning_for_sunos_specific_module.patch b/poky/meta/recipes-devtools/python/python/avoid_warning_for_sunos_specific_module.patch
deleted file mode 100644
index 8ba582301..000000000
--- a/poky/meta/recipes-devtools/python/python/avoid_warning_for_sunos_specific_module.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-sunaudiodev module is sunos specific so we avoid a warning by not
-adding this module to missing variable.
-
-Upstream-Status: Inappropriate [distribution]
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: Python-2.7.13/setup.py
-===================================================================
---- Python-2.7.13.orig/setup.py
-+++ Python-2.7.13/setup.py
-@@ -1671,8 +1671,9 @@ class PyBuildExt(build_ext):
- if host_platform == 'sunos5':
- # SunOS specific modules
- exts.append( Extension('sunaudiodev', ['sunaudiodev.c']) )
-- else:
-- missing.append('sunaudiodev')
-+ # If platform is not sunos warning is useless
-+ #else:
-+ # missing.append('sunaudiodev')
-
- if host_platform == 'darwin':
- # _scproxy
diff --git a/poky/meta/recipes-devtools/python/python/cgi_py.patch b/poky/meta/recipes-devtools/python/python/cgi_py.patch
deleted file mode 100644
index de504f9dc..000000000
--- a/poky/meta/recipes-devtools/python/python/cgi_py.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Lib/cgi.py: Update the script as mentioned in the comment
-
-Upstream-Status: Inappropriate [distribution]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
---- Python-2.6.6/Lib/cgi.py.orig 2010-08-01 22:14:27.000000000 -0500
-+++ Python-2.6.6/Lib/cgi.py 2011-09-21 15:28:40.478208631 -0500
-@@ -1,13 +1,4 @@
--#! /usr/local/bin/python
--
--# NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is
--# intentionally NOT "/usr/bin/env python". On many systems
--# (e.g. Solaris), /usr/local/bin is not in $PATH as passed to CGI
--# scripts, and /usr/local/bin is the default directory where Python is
--# installed, so /usr/bin/env would be unable to find python. Granted,
--# binary installations by Linux vendors often install Python in
--# /usr/bin. So let those vendors patch cgi.py to match their choice
--# of installation.
-+#! /usr/bin/env python
-
- """Support module for CGI (Common Gateway Interface) scripts.
-
diff --git a/poky/meta/recipes-devtools/python/python/check-if-target-is-64b-not-host.patch b/poky/meta/recipes-devtools/python/python/check-if-target-is-64b-not-host.patch
deleted file mode 100644
index e6d6c65bb..000000000
--- a/poky/meta/recipes-devtools/python/python/check-if-target-is-64b-not-host.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Author: Andrei Gherzan <andrei@gherzan.ro>
-Date: Sun Mar 25 02:02:27 2012 +0200
-
-This patch was added for 64bit host machines. In the compile process python
-is checking if platform is a 64bit platform using sys.maxint which is the host's
-value. The patch fixes this issue so that python would check if TARGET machine
-is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
-built if HOST machine is 64bit but the target machine is 32bit.
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Upstream-Status: Pending
-
-Index: Python-2.7.11/setup.py
-===================================================================
---- Python-2.7.11.orig/setup.py
-+++ Python-2.7.11/setup.py
-@@ -35,6 +35,21 @@ COMPILED_WITH_PYDEBUG = ('--with-pydebug
- # This global variable is used to hold the list of modules to be disabled.
- disabled_module_list = []
-
-+def target_is_64bit_platform ():
-+ """
-+ In case of cross-compile, some modules are not build as setup checks if HOST
-+ is 64bit and not TARGET.
-+ As python was built for TARGET we can check this in pyconfig.h in this way:
-+ Sizeof LONG on a 32 bit platform is 4 bytes
-+ Sizeof LONG on a 64 bit platform is 8 bytes
-+ """
-+ pyconf = open("pyconfig.h").read()
-+ aux = re.search(r"#s*define\s+SIZEOF_LONG\s+8\s*", pyconf)
-+ if aux is not None:
-+ return True
-+ else:
-+ return False
-+
- def add_dir_to_list(dirlist, dir):
- """Add the directory 'dir' to the list 'dirlist' (at the front) if
- 1) 'dir' is not already in 'dirlist'
-@@ -716,7 +731,7 @@ class PyBuildExt(build_ext):
- exts.append( Extension('audioop', ['audioop.c']) )
-
- # Disabled on 64-bit platforms
-- if sys.maxsize != 9223372036854775807L:
-+ if not target_is_64bit_platform():
- # Operations on images
- exts.append( Extension('imageop', ['imageop.c']) )
- else:
-@@ -1545,7 +1560,7 @@ class PyBuildExt(build_ext):
- missing.append('_codecs_%s' % loc)
-
- # Dynamic loading module
-- if sys.maxint == 0x7fffffff:
-+ if not target_is_64bit_platform():
- # This requires sizeof(int) == sizeof(long) == sizeof(char*)
- dl_inc = find_file('dlfcn.h', [], inc_dirs)
- if (dl_inc is not None) and (host_platform not in ['atheos']):
diff --git a/poky/meta/recipes-devtools/python/python/create_manifest2.py b/poky/meta/recipes-devtools/python/python/create_manifest2.py
deleted file mode 100644
index 34659515c..000000000
--- a/poky/meta/recipes-devtools/python/python/create_manifest2.py
+++ /dev/null
@@ -1,298 +0,0 @@
-# This script is used as a bitbake task to create a new python manifest
-# $ bitbake python -c create_manifest
-#
-# Our goal is to keep python-core as small as posible and add other python
-# packages only when the user needs them, hence why we split upstream python
-# into several packages.
-#
-# In a very simplistic way what this does is:
-# Launch python and see specifically what is required for it to run at a minimum
-#
-# Go through the python-manifest file and launch a separate task for every single
-# one of the files on each package, this task will check what was required for that
-# specific module to run, these modules will be called dependencies.
-# The output of such task will be a list of the modules or dependencies that were
-# found for that file.
-#
-# Such output will be parsed by this script, we will look for each dependency on the
-# manifest and if we find that another package already includes it, then we will add
-# that package as an RDEPENDS to the package we are currently checking; in case we dont
-# find the current dependency on any other package we will add it to the current package
-# as part of FILES.
-#
-#
-# This way we will create a new manifest from the data structure that was built during
-# this process, on this new manifest each package will contain specifically only
-# what it needs to run.
-#
-# There are some caveats which we try to deal with, such as repeated files on different
-# packages, packages that include folders, wildcards, and special packages.
-# Its also important to note that this method only works for python files, and shared
-# libraries. Static libraries, header files and binaries need to be dealt with manually.
-#
-# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29 at gmail dot com>
-
-
-import sys
-import subprocess
-import json
-import os
-import collections
-
-# Hack to get native python search path (for folders), not fond of it but it works for now
-pivot='recipe-sysroot-native'
-for p in sys.path:
- if pivot in p:
- nativelibfolder=p[:p.find(pivot)+len(pivot)]
-
-# Empty dict to hold the whole manifest
-new_manifest = collections.OrderedDict()
-
-# Check for repeated files, folders and wildcards
-allfiles=[]
-repeated=[]
-wildcards=[]
-
-hasfolders=[]
-allfolders=[]
-
-def isFolder(value):
- if os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib64')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib32')):
- return True
- else:
- return False
-
-def prepend_comments(comments, json_manifest):
- with open(json_manifest, 'r+') as manifest:
- json_contents = manifest.read()
- manifest.seek(0, 0)
- manifest.write(comments + json_contents)
-
-# Read existing JSON manifest
-with open('python2-manifest.json') as manifest:
- # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker
- manifest_str = manifest.read()
- json_start = manifest_str.find('# EOC') + 6 # EOC + \n
- manifest.seek(0)
- comments = manifest.read(json_start)
- manifest_str = manifest.read()
- old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
-
-# First pass to get core-package functionality, because we base everything on the fact that core is actually working
-# Not exactly the same so it should not be a function
-print ("Getting dependencies for core package:")
-
-# Special call to check for core package
-output = subprocess.check_output([sys.executable, 'get_module_deps2.py', 'python-core-package'])
-for item in output.split():
- # We append it so it doesnt hurt what we currently have:
- if item not in old_manifest['core']['files']:
- # We use the same data structure since its the one which will be used to check
- # dependencies for other packages
- old_manifest['core']['files'].append(item)
-
-for value in old_manifest['core']['files']:
- # Ignore folders, since we don't import those, difficult to handle multilib
- if isFolder(value):
- # Pass it directly
- if value not in old_manifest['core']['files']:
- old_manifest['core']['files'].append(value)
- # Ignore binaries, since we don't import those, assume it was added correctly (manually)
- if '${bindir}' in value:
- # Pass it directly
- if value not in old_manifest['core']['files']:
- old_manifest['core']['files'].append(value)
- continue
- # Ignore empty values
- if value == '':
- continue
- if '${includedir}' in value:
- if value not in old_manifest['core']['files']:
- old_manifest['core']['files'].append(value)
- continue
- # Get module name , shouldnt be affected by libdir/bindir
- value = os.path.splitext(os.path.basename(os.path.normpath(value)))[0]
-
-
- # Launch separate task for each module for deterministic behavior
- # Each module will only import what is necessary for it to work in specific
- print ('Getting dependencies for module: %s' % value)
- output = subprocess.check_output([sys.executable, 'get_module_deps2.py', '%s' % value])
- for item in output.split():
- # We append it so it doesnt hurt what we currently have:
- if item not in old_manifest['core']['files']:
- old_manifest['core']['files'].append(item)
-
-# We check which packages include folders
-for key in old_manifest:
- for value in old_manifest[key]['files']:
- # Ignore folders, since we don't import those, difficult to handle multilib
- if isFolder(value):
- print ('%s is a folder' % value)
- if key not in hasfolders:
- hasfolders.append(key)
- if value not in allfolders:
- allfolders.append(value)
-
-for key in old_manifest:
- # Use an empty dict as data structure to hold data for each package and fill it up
- new_manifest[key] = collections.OrderedDict()
- new_manifest[key]['summary'] = old_manifest[key]['summary']
- new_manifest[key]['rdepends']=[]
- new_manifest[key]['files'] = []
-
- # All packages should depend on core
- if key != 'core':
- new_manifest[key]['rdepends'].append('core')
-
- # Handle special cases, we assume that when they were manually added
- # to the manifest we knew what we were doing.
- print ('Handling package %s' % key)
- special_packages=['misc', 'modules', 'tests', 'dev']
- if key in special_packages or 'staticdev' in key:
- print('Passing %s package directly' % key)
- new_manifest[key]=old_manifest[key]
- continue
-
- for value in old_manifest[key]['files']:
- # We already handled core on the first pass
- if key == 'core':
- new_manifest[key]['files'].append(value)
- continue
- # Ignore folders, since we don't import those, difficult to handle multilib
- if isFolder(value):
- # Pass folders directly
- new_manifest[key]['files'].append(value)
- # Ignore binaries, since we don't import those
- if '${bindir}' in value:
- # Pass it directly to the new manifest data structure
- if value not in new_manifest[key]['files']:
- new_manifest[key]['files'].append(value)
- continue
- # Ignore empty values
- if value == '':
- continue
- if '${includedir}' in value:
- if value not in new_manifest[key]['files']:
- new_manifest[key]['files'].append(value)
- continue
- # Get module name , shouldnt be affected by libdir/bindir
- value = os.path.splitext(os.path.basename(os.path.normpath(value)))[0]
-
- # Launch separate task for each module for deterministic behavior
- # Each module will only import what is necessary for it to work in specific
- print ('Getting dependencies for module: %s' % value)
- output = subprocess.check_output([sys.executable, 'get_module_deps2.py', '%s' % value])
-
- # We can print dependencies for debugging purposes
- #print (output)
- # Output will have all dependencies
- for item in output.split():
-
- # Warning: This first part is ugly
- # One of the dependencies that was found, could be inside of one of the folders included by another package
- # We need to check if this happens so we can add the package containing the folder as an RDEPENDS
- # e.g. Folder encodings contained in codecs
- # This would be solved if no packages included any folders
-
- # This can be done in two ways:
- # 1 - We assume that if we take out the filename from the path we would get
- # the folder string, then we would check if folder string is in the list of folders
- # This would not work if a package contains a folder which contains another folder
- # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2
- # folder_string would not match any value contained in the list of folders
- #
- # 2 - We do it the other way around, checking if the folder is contained in the path
- # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2
- # is folder_string inside path/folder1/folder2/filename?,
- # Yes, it works, but we waste a couple of milliseconds.
-
- inFolders=False
- for folder in allfolders:
- # The module could have a directory named after it, e.g. xml, if we take out the filename from the path
- # we'll end up with ${libdir}, and we want ${libdir}/xml
- if isFolder(item):
- check_path = item
- else:
- check_path = os.path.dirname(item)
- if folder in check_path :
- inFolders = True # Did we find a folder?
- folderFound = False # Second flag to break inner for
- # Loop only through packages which contain folders
- for keyfolder in hasfolders:
- if (folderFound == False):
- #print("Checking folder %s on package %s" % (item,keyfolder))
- for file_folder in old_manifest[keyfolder]['files']:
- if file_folder==folder:
- print ('%s found in %s' % (folder, keyfolder))
- folderFound = True
- if keyfolder not in new_manifest[key]['rdepends'] and keyfolder != key:
- new_manifest[key]['rdepends'].append(keyfolder)
- else:
- break
-
- # A folder was found so we're done with this item, we can go on
- if inFolders:
- continue
-
- # We might already have it on the dictionary since it could depend on a (previously checked) module
- if item not in new_manifest[key]['files']:
- # Handle core as a special package, we already did it so we pass it to NEW data structure directly
- if key=='core':
- print('Adding %s to %s FILES' % (item, key))
- if item.endswith('*'):
- wildcards.append(item)
- new_manifest[key]['files'].append(item)
-
- # Check for repeated files
- if item not in allfiles:
- allfiles.append(item)
- else:
- repeated.append(item)
-
- else:
-
- # Check if this dependency is already contained on another package, so we add it
- # as an RDEPENDS, or if its not, it means it should be contained on the current
- # package, so we should add it to FILES
- for newkey in old_manifest:
- # Debug
- #print("Checking %s " % item + " in %s" % newkey)
- if item in old_manifest[newkey]['files']:
- # Since were nesting, we need to check its not the same key
- if(newkey!=key):
- if newkey not in new_manifest[key]['rdepends']:
- # Add it to the new manifest data struct
- # Debug
- print('Adding %s to %s RDEPENDS, because it contains %s' % (newkey, key, item))
- new_manifest[key]['rdepends'].append(newkey)
- break
- else:
- # Debug
- print('Adding %s to %s FILES' % (item, key))
- # Since it wasnt found on another package, its not an RDEP, so add it to FILES for this package
- new_manifest[key]['files'].append(item)
- if item.endswith('*'):
- wildcards.append(item)
- if item not in allfiles:
- allfiles.append(item)
- else:
- repeated.append(item)
-
-print ('The following files are repeated (contained in more than one package), please check which package should get it:')
-print (repeated)
-print('The following files contain wildcards, please check they are necessary')
-print(wildcards)
-print('The following files contain folders, please check they are necessary')
-print(hasfolders)
-
-# Sort it just so it looks nice
-for key in new_manifest:
- new_manifest[key]['files'].sort()
- new_manifest[key]['rdepends'].sort()
-
-# Create the manifest from the data structure that was built
-with open('python2-manifest.json.new','w') as outfile:
- json.dump(new_manifest,outfile, indent=4)
-
-prepend_comments(comments,'python2-manifest.json.new')
diff --git a/poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch b/poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch
deleted file mode 100644
index 5f7309367..000000000
--- a/poky/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-Upstream-Status: Inappropriate [Embedded specific]
-
-This patch fixes issuing with different libdir like lib64.
-This patch makes the native python binary modules findable
-in the install process of the host python.
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2012/03/14
-
-Updated for python 2.7.3
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-Date: 2012/05/01
-
-Rebased for python-2.7.9
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-
-Index: Python-2.7.9/Lib/sysconfig.py
-===================================================================
---- Python-2.7.9.orig/Lib/sysconfig.py
-+++ Python-2.7.9/Lib/sysconfig.py
-@@ -9,7 +9,7 @@ _INSTALL_SCHEMES = {
- 'posix_prefix': {
- 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
- 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
-- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-+ 'purelib': '{base}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{base}/include/python{py_version_short}',
- 'platinclude': '{platbase}/include/python{py_version_short}',
-@@ -67,7 +67,7 @@ _INSTALL_SCHEMES = {
- 'posix_user': {
- 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
- 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
-Index: Python-2.7.9/Makefile.pre.in
-===================================================================
---- Python-2.7.9.orig/Makefile.pre.in
-+++ Python-2.7.9/Makefile.pre.in
-@@ -1046,27 +1046,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL
- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
- $(DESTDIR)$(LIBDEST)/distutils/tests ; \
- fi
-- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}$(RUNSHARED) \
- $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- $(DESTDIR)$(LIBDEST)
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
- -d $(LIBDEST)/site-packages -f \
- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
-+ -PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH} $(RUNSHARED) \
- $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
-
- # Create the PLATDIR source directory, if one wasn't distributed..
diff --git a/poky/meta/recipes-devtools/python/python/float-endian.patch b/poky/meta/recipes-devtools/python/python/float-endian.patch
deleted file mode 100644
index 8a5c90aec..000000000
--- a/poky/meta/recipes-devtools/python/python/float-endian.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
-and falls back onto "I don't know" if it can't run code. This results in
-crippled floating point numbers in Python, and the regression tests fail.
-
-Instead of running code, take a macro from autoconf-archive which compiles C
-with a special double in which has an ASCII representation, and then greps the
-binary to identify the format.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 253f47b28120c42cfe53a4e2f5ed0ab0ed469deb Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross@burtonini.com>
-Date: Wed, 19 Sep 2018 07:25:48 +0100
-Subject: [PATCH] closes bpo-34585: Don't do runtime test to get float byte
- order. (GH-9085)
-
-Currently configure.ac uses AC_RUN_IFELSE to determine the byte order of doubles, but this silently fails under cross compilation and Python doesn't do floats properly.
-
-Instead, steal a macro from autoconf-archive which compiles code using magic doubles (which encode to ASCII) and grep for the representation in the binary.
-
-RFC because this doesn't yet handle the weird ancient ARMv4 OABI 'mixed-endian' encoding properly. This encoding is ancient and I don't believe the union of "Python 3.8 users" and "OABI users" has anything in. Should the support for this just be dropped too? Alternatively, someone will need to find an OABI toolchain to verify the encoding of the magic double.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- .../Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst | 3 +
- configure.ac | 76 ++++----------------
- m4/ax_c_float_words_bigendian.m4 | 83 ++++++++++++++++++++++
- 3 files changed, 99 insertions(+), 63 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
- create mode 100644 m4/ax_c_float_words_bigendian.m4
-
-diff --git a/configure.ac b/configure.ac
-index 913d5469d0..7672735396 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3835,74 +3835,24 @@ fi],
- # * Check for various properties of floating point *
- # **************************************************
-
--AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_little_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_little_endian_double=yes],
--[ac_cv_little_endian_double=no],
--[ac_cv_little_endian_double=no])])
--AC_MSG_RESULT($ac_cv_little_endian_double)
--if test "$ac_cv_little_endian_double" = yes
--then
-- AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- with the least significant byte first])
--fi
--
--AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_big_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_big_endian_double=yes],
--[ac_cv_big_endian_double=no],
--[ac_cv_big_endian_double=no])])
--AC_MSG_RESULT($ac_cv_big_endian_double)
--if test "$ac_cv_big_endian_double" = yes
-+AX_C_FLOAT_WORDS_BIGENDIAN
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
- then
- AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- with the most significant byte first])
--fi
--
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_mixed_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_mixed_endian_double=yes],
--[ac_cv_mixed_endian_double=no],
--[ac_cv_mixed_endian_double=no])])
--AC_MSG_RESULT($ac_cv_mixed_endian_double)
--if test "$ac_cv_mixed_endian_double" = yes
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
- then
-+ AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-+ [Define if C doubles are 64-bit IEEE 754 binary format, stored
-+ with the least significant byte first])
-+else
-+ # Some ARM platforms use a mixed-endian representation for doubles.
-+ # While Python doesn't currently have full support for these platforms
-+ # (see e.g., issue 1762561), we can at least make sure that float <-> string
-+ # conversions work.
-+ # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big
-+ # or little, then it must be this?
- AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- in ARM mixed-endian order (byte order 45670123)])
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000000..216b90d803
---- /dev/null
-+++ b/m4/ax_c_float_words_bigendian.m4
-@@ -0,0 +1,83 @@
-+# ===============================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
-+# ===============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
-+#
-+# DESCRIPTION
-+#
-+# Checks the ordering of words within a multi-word float. This check is
-+# necessary because on some systems (e.g. certain ARM systems), the float
-+# word ordering can be different from the byte ordering. In a multi-word
-+# float context, "big-endian" implies that the word containing the sign
-+# bit is found in the memory location with the lowest address. This
-+# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-+#
-+# The endianness is detected by first compiling C code that contains a
-+# special double float value, then grepping the resulting object file for
-+# certain strings of ASCII values. The double is specially crafted to have
-+# a binary representation that corresponds with a simple string. In this
-+# implementation, the string "noonsees" was selected because the
-+# individual word values ("noon" and "sees") are palindromes, thus making
-+# this test byte-order agnostic. If grep finds the string "noonsees" in
-+# the object file, the target platform stores float words in big-endian
-+# order. If grep finds "seesnoon", float words are in little-endian order.
-+# If neither value is found, the user is instructed to specify the
-+# ordering.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 11
-+
-+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
-+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
-+ ax_cv_c_float_words_bigendian, [
-+
-+ax_cv_c_float_words_bigendian=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-+
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-+
-+]])], [
-+
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+ ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+ ax_cv_c_float_words_bigendian=no
-+ else
-+ ax_cv_c_float_words_bigendian=unknown
-+ fi
-+fi
-+
-+])])
-+
-+case $ax_cv_c_float_words_bigendian in
-+ yes)
-+ m4_default([$1],
-+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
-+ [Define to 1 if your system stores words within floats
-+ with the most significant word first])]) ;;
-+ no)
-+ $2 ;;
-+ *)
-+ m4_default([$3],
-+ [AC_MSG_ERROR([
-+
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-+
-+ ])]) ;;
-+esac
-+
-+])# AX_C_FLOAT_WORDS_BIGENDIAN
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/python/python/get_module_deps2.py b/poky/meta/recipes-devtools/python/python/get_module_deps2.py
deleted file mode 100644
index 73e7c6f6d..000000000
--- a/poky/meta/recipes-devtools/python/python/get_module_deps2.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# This script is launched on separate task for each python module
-# It checks for dependencies for that specific module and prints
-# them out, the output of this execution will have all dependencies
-# for a specific module, which will be parsed an dealt on create_manifest.py
-#
-# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29@gmail.com>
-
-
-# We can get a log per module, for all the dependencies that were found, but its messy.
-debug=False
-
-import sys
-
-# We can get a list of the modules which are currently required to run python
-# so we run python-core and get its modules, we then import what we need
-# and check what modules are currently running, if we substract them from the
-# modules we had initially, we get the dependencies for the module we imported.
-
-# We use importlib to achieve this, so we also need to know what modules importlib needs
-import importlib
-
-core_deps=set(sys.modules)
-
-def fix_path(dep_path):
- import os
- # We DONT want the path on our HOST system
- pivot='recipe-sysroot-native'
- dep_path=dep_path[dep_path.find(pivot)+len(pivot):]
-
- if '/usr/bin' in dep_path:
- dep_path = dep_path.replace('/usr/bin''${bindir}')
-
- # Handle multilib, is there a better way?
- if '/usr/lib32' in dep_path:
- dep_path = dep_path.replace('/usr/lib32','${libdir}')
- if '/usr/lib64' in dep_path:
- dep_path = dep_path.replace('/usr/lib64','${libdir}')
- if '/usr/lib' in dep_path:
- dep_path = dep_path.replace('/usr/lib','${libdir}')
- if '/usr/include' in dep_path:
- dep_path = dep_path.replace('/usr/include','${includedir}')
- if '__init__.' in dep_path:
- dep_path = os.path.split(dep_path)[0]
-
- # If a *.pyc file was imported, we replace it with *.py (since we deal with PYCs on create_manifest)
- if '.pyc' in dep_path:
- dep_path = dep_path.replace('.pyc','.py')
-
- return dep_path
-
-# Module to import was passed as an argument
-current_module = str(sys.argv[1]).rstrip()
-if(debug==True):
- log = open('log_%s' % current_module,'w')
- log.write('Module %s generated the following dependencies:\n' % current_module)
-try:
- importlib.import_module('%s' % current_module)
-except ImportError as e:
- if (debug==True):
- log.write('Module was not found')
- pass
-
-
-# Get current module dependencies, dif will contain a list of specific deps for this module
-module_deps=set(sys.modules)
-
-# We handle the core package (1st pass on create_manifest.py) as a special case
-if current_module == 'python-core-package':
- dif = core_deps
-else:
- dif = module_deps-core_deps
-
-
-# Check where each dependency came from
-for item in dif:
- dep_path=''
- try:
- if (debug==True):
- log.write('Calling: sys.modules[' + '%s' % item + '].__file__\n')
- dep_path = sys.modules['%s' % item].__file__
- except AttributeError as e:
- # Deals with thread (builtin module) not having __file__ attribute
- if debug==True:
- log.write(item + ' ')
- log.write(str(e))
- log.write('\n')
- pass
- except NameError as e:
- # Deals with NameError: name 'dep_path' is not defined
- # because module is not found (wasn't compiled?), e.g. bddsm
- if (debug==True):
- log.write(item+' ')
- log.write(str(e))
- pass
-
- # Site-customize is a special case since we (OpenEmbedded) put it there manually
- if 'sitecustomize' in dep_path:
- dep_path = '${libdir}/python2.7/sitecustomize.py'
- # Prints out result, which is what will be used by create_manifest
- print (dep_path)
- continue
-
- dep_path = fix_path(dep_path)
-
- if (debug==True):
- log.write(dep_path+'\n')
-
- # Prints out result, which is what will be used by create_manifest
- print (dep_path)
-
-if debug==True:
- log.close()
diff --git a/poky/meta/recipes-devtools/python/python/host_include_contamination.patch b/poky/meta/recipes-devtools/python/python/host_include_contamination.patch
deleted file mode 100644
index e0aafb218..000000000
--- a/poky/meta/recipes-devtools/python/python/host_include_contamination.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-when building python for qemux86-64 on ubuntu 11.10/64bit
-it gropes into host includes and then mixes them with cross
-includes and as a result some modules fail to compile and link
-one of the modules is python-elementtree which is then not
-found during image creation
-
-Proble is that setup.py tries to add native includes that newer
-ubuntu has introduced for multiarch support. But that should
-only happen for native builds and not cross building python
-so we add a check here.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
-
-diff --git a/setup.py b/setup.py
-index ba2d242..bf859be 100644
---- a/setup.py
-+++ b/setup.py
-@@ -393,6 +393,8 @@ class PyBuildExt(build_ext):
-
- if not find_executable('dpkg-architecture'):
- return
-+ if os.environ.get('CROSS_COMPILE') is not None:
-+ return
- opt = ''
- if cross_compiling:
- opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE')
diff --git a/poky/meta/recipes-devtools/python/python/multilib.patch b/poky/meta/recipes-devtools/python/python/multilib.patch
deleted file mode 100644
index d24bc15f0..000000000
--- a/poky/meta/recipes-devtools/python/python/multilib.patch
+++ /dev/null
@@ -1,298 +0,0 @@
-Rebased for python-2.7.9
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-Upstream-Status: Pending
-Index: Python-2.7.14/configure.ac
-===================================================================
---- Python-2.7.14.orig/configure.ac
-+++ Python-2.7.14/configure.ac
-@@ -758,6 +758,10 @@ SunOS*)
- ;;
- esac
-
-+AC_SUBST(LIB)
-+AC_MSG_CHECKING(LIB)
-+LIB="SEDMELIBLEAF"
-+AC_MSG_RESULT($LIB)
-
- AC_SUBST(LIBRARY)
- AC_MSG_CHECKING(LIBRARY)
-Index: Python-2.7.14/Include/pythonrun.h
-===================================================================
---- Python-2.7.14.orig/Include/pythonrun.h
-+++ Python-2.7.14/Include/pythonrun.h
-@@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void);
- /* In their own files */
- PyAPI_FUNC(const char *) Py_GetVersion(void);
- PyAPI_FUNC(const char *) Py_GetPlatform(void);
-+PyAPI_FUNC(const char *) Py_GetLib(void);
- PyAPI_FUNC(const char *) Py_GetCopyright(void);
- PyAPI_FUNC(const char *) Py_GetCompiler(void);
- PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
-Index: Python-2.7.14/Lib/distutils/command/install.py
-===================================================================
---- Python-2.7.14.orig/Lib/distutils/command/install.py
-+++ Python-2.7.14/Lib/distutils/command/install.py
-@@ -22,6 +22,8 @@ from site import USER_BASE
- from site import USER_SITE
-
-
-+libname = sys.lib
-+
- if sys.version < "2.2":
- WINDOWS_SCHEME = {
- 'purelib': '$base',
-@@ -41,8 +43,8 @@ else:
-
- INSTALL_SCHEMES = {
- 'unix_prefix': {
-- 'purelib': '$base/lib/python$py_version_short/site-packages',
-- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
-+ 'purelib': '$platbase/'+libname+'/python$py_version_short/site-packages',
-+ 'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
- 'headers': '$base/include/python$py_version_short/$dist_name',
- 'scripts': '$base/bin',
- 'data' : '$base',
-Index: Python-2.7.14/Lib/distutils/sysconfig.py
-===================================================================
---- Python-2.7.14.orig/Lib/distutils/sysconfig.py
-+++ Python-2.7.14/Lib/distutils/sysconfig.py
-@@ -119,8 +119,11 @@ def get_python_lib(plat_specific=0, stan
- prefix = plat_specific and EXEC_PREFIX or PREFIX
-
- if os.name == "posix":
-- libpython = os.path.join(prefix,
-- "lib", "python" + get_python_version())
-+ if plat_specific or standard_lib:
-+ lib = sys.lib
-+ else:
-+ lib = "lib"
-+ libpython = os.path.join(prefix, lib, "python" + get_python_version())
- if standard_lib:
- return libpython
- else:
-Index: Python-2.7.14/Lib/pydoc.py
-===================================================================
---- Python-2.7.14.orig/Lib/pydoc.py
-+++ Python-2.7.14/Lib/pydoc.py
-@@ -375,7 +375,7 @@ class Doc:
- docmodule = docclass = docroutine = docother = docproperty = docdata = fail
-
- def getdocloc(self, object,
-- basedir=os.path.join(sys.exec_prefix, "lib",
-+ basedir=os.path.join(sys.exec_prefix, "sys.lib",
- "python"+sys.version[0:3])):
- """Return the location of module docs or None"""
-
-Index: Python-2.7.14/Lib/site.py
-===================================================================
---- Python-2.7.14.orig/Lib/site.py
-+++ Python-2.7.14/Lib/site.py
-@@ -288,13 +288,18 @@ def getsitepackages():
- if sys.platform in ('os2emx', 'riscos'):
- sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
- elif os.sep == '/':
-- sitepackages.append(os.path.join(prefix, "lib",
-+ sitepackages.append(os.path.join(prefix, sys.lib,
- "python" + sys.version[:3],
- "site-packages"))
-- sitepackages.append(os.path.join(prefix, "lib", "site-python"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-python"))
-+ if sys.lib != "lib":
-+ sitepackages.append(os.path.join(prefix, "lib",
-+ "python" + sys.version[:3],
-+ "site-packages"))
-+ sitepackages.append(os.path.join(prefix, "lib", "site-python"))
- else:
- sitepackages.append(prefix)
-- sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))
- return sitepackages
-
- def addsitepackages(known_paths):
-Index: Python-2.7.14/Lib/sysconfig.py
-===================================================================
---- Python-2.7.14.orig/Lib/sysconfig.py
-+++ Python-2.7.14/Lib/sysconfig.py
-@@ -7,10 +7,10 @@ from os.path import pardir, realpath
-
- _INSTALL_SCHEMES = {
- 'posix_prefix': {
-- 'stdlib': '{base}/lib/python{py_version_short}',
-- 'platstdlib': '{platbase}/lib/python{py_version_short}',
-+ 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
-+ 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
- 'purelib': '{base}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
-+ 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{base}/include/python{py_version_short}',
- 'platinclude': '{platbase}/include/python{py_version_short}',
- 'scripts': '{base}/bin',
-@@ -65,10 +65,10 @@ _INSTALL_SCHEMES = {
- 'data' : '{userbase}',
- },
- 'posix_user': {
-- 'stdlib': '{userbase}/lib/python{py_version_short}',
-- 'platstdlib': '{userbase}/lib/python{py_version_short}',
-+ 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
-+ 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
-- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
-+ 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
- 'include': '{userbase}/include/python{py_version_short}',
- 'scripts': '{userbase}/bin',
- 'data' : '{userbase}',
-Index: Python-2.7.14/Lib/test/test_dl.py
-===================================================================
---- Python-2.7.14.orig/Lib/test/test_dl.py
-+++ Python-2.7.14/Lib/test/test_dl.py
-@@ -4,10 +4,11 @@
- import unittest
- from test.test_support import verbose, import_module
- dl = import_module('dl', deprecated=True)
-+import sys
-
- sharedlibs = [
-- ('/usr/lib/libc.so', 'getpid'),
-- ('/lib/libc.so.6', 'getpid'),
-+ ('/usr/'+sys.lib+'/libc.so', 'getpid'),
-+ ('/'+sys.lib+'/libc.so.6', 'getpid'),
- ('/usr/bin/cygwin1.dll', 'getpid'),
- ('/usr/lib/libc.dylib', 'getpid'),
- ]
-Index: Python-2.7.14/Lib/test/test_site.py
-===================================================================
---- Python-2.7.14.orig/Lib/test/test_site.py
-+++ Python-2.7.14/Lib/test/test_site.py
-@@ -252,12 +252,16 @@ class HelperFunctionsTests(unittest.Test
- self.assertEqual(dirs[0], wanted)
- elif os.sep == '/':
- # OS X, Linux, FreeBSD, etc
-- self.assertEqual(len(dirs), 2)
- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
- 'site-packages')
-- self.assertEqual(dirs[0], wanted)
-+ self.assertTrue(wanted in dirs)
- wanted = os.path.join('xoxo', 'lib', 'site-python')
-- self.assertEqual(dirs[1], wanted)
-+ self.assertTrue(wanted in dirs)
-+ wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3],
-+ 'site-packages')
-+ self.assertTrue(wanted in dirs)
-+ wanted = os.path.join('xoxo', sys.lib, 'site-python')
-+ self.assertTrue(wanted in dirs)
- else:
- # other platforms
- self.assertEqual(len(dirs), 2)
-Index: Python-2.7.14/Lib/trace.py
-===================================================================
---- Python-2.7.14.orig/Lib/trace.py
-+++ Python-2.7.14/Lib/trace.py
-@@ -754,10 +754,10 @@ def main(argv=None):
- # should I also call expanduser? (after all, could use $HOME)
-
- s = s.replace("$prefix",
-- os.path.join(sys.prefix, "lib",
-+ os.path.join(sys.prefix, sys.lib,
- "python" + sys.version[:3]))
- s = s.replace("$exec_prefix",
-- os.path.join(sys.exec_prefix, "lib",
-+ os.path.join(sys.exec_prefix, sys.lib,
- "python" + sys.version[:3]))
- s = os.path.normpath(s)
- ignore_dirs.append(s)
-Index: Python-2.7.14/Makefile.pre.in
-===================================================================
---- Python-2.7.14.orig/Makefile.pre.in
-+++ Python-2.7.14/Makefile.pre.in
-@@ -91,6 +91,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG
-
- # Machine-dependent subdirectories
- MACHDEP= @MACHDEP@
-+LIB= @LIB@
-
- # Multiarch directory (may be empty)
- MULTIARCH= @MULTIARCH@
-@@ -110,7 +111,7 @@ LIBDIR= @libdir@
- MANDIR= @mandir@
- INCLUDEDIR= @includedir@
- CONFINCLUDEDIR= $(exec_prefix)/include
--SCRIPTDIR= $(prefix)/lib
-+SCRIPTDIR= $(prefix)/@LIB@
-
- # Detailed destination directories
- BINLIBDEST= $(LIBDIR)/python$(VERSION)
-@@ -645,6 +646,7 @@ Modules/getpath.o: $(srcdir)/Modules/get
- -DEXEC_PREFIX='"$(exec_prefix)"' \
- -DVERSION='"$(VERSION)"' \
- -DVPATH='"$(VPATH)"' \
-+ -DLIB='"$(LIB)"' \
- -o $@ $(srcdir)/Modules/getpath.c
-
- Modules/python.o: $(srcdir)/Modules/python.c
-@@ -693,7 +695,7 @@ regen-ast:
- Python/compile.o Python/symtable.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
-
- Python/getplatform.o: $(srcdir)/Python/getplatform.c
-- $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
-+ $(CC) -c $(PY_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c
-
- Python/importdl.o: $(srcdir)/Python/importdl.c
- $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
-Index: Python-2.7.14/Modules/getpath.c
-===================================================================
---- Python-2.7.14.orig/Modules/getpath.c
-+++ Python-2.7.14/Modules/getpath.c
-@@ -100,6 +100,13 @@
- #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined"
- #endif
-
-+#define LIB_PYTHON LIB "/python" VERSION
-+
-+#ifndef PYTHONPATH
-+#define PYTHONPATH PREFIX "/" LIB_PYTHON ":" \
-+ EXEC_PREFIX "/" LIB_PYTHON "/lib-dynload"
-+#endif
-+
- #ifndef LANDMARK
- #define LANDMARK "os.py"
- #endif
-@@ -108,7 +115,7 @@ static char prefix[MAXPATHLEN+1];
- static char exec_prefix[MAXPATHLEN+1];
- static char progpath[MAXPATHLEN+1];
- static char *module_search_path = NULL;
--static char lib_python[] = "lib/python" VERSION;
-+static char lib_python[] = LIB_PYTHON;
-
- static void
- reduce(char *dir)
-Index: Python-2.7.14/Python/getplatform.c
-===================================================================
---- Python-2.7.14.orig/Python/getplatform.c
-+++ Python-2.7.14/Python/getplatform.c
-@@ -10,3 +10,13 @@ Py_GetPlatform(void)
- {
- return PLATFORM;
- }
-+
-+#ifndef LIB
-+#define LIB "lib"
-+#endif
-+
-+const char *
-+Py_GetLib(void)
-+{
-+ return LIB;
-+}
-Index: Python-2.7.14/Python/sysmodule.c
-===================================================================
---- Python-2.7.14.orig/Python/sysmodule.c
-+++ Python-2.7.14/Python/sysmodule.c
-@@ -1437,6 +1437,8 @@ _PySys_Init(void)
- PyString_FromString(Py_GetCopyright()));
- SET_SYS_FROM_STRING("platform",
- PyString_FromString(Py_GetPlatform()));
-+ SET_SYS_FROM_STRING("lib",
-+ PyString_FromString(Py_GetLib()));
- SET_SYS_FROM_STRING("executable",
- PyString_FromString(Py_GetProgramFullPath()));
- SET_SYS_FROM_STRING("prefix",
diff --git a/poky/meta/recipes-devtools/python/python/parallel-makeinst-create-bindir.patch b/poky/meta/recipes-devtools/python/python/parallel-makeinst-create-bindir.patch
deleted file mode 100644
index abab41e95..000000000
--- a/poky/meta/recipes-devtools/python/python/parallel-makeinst-create-bindir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-When using make -j with the 'install' target, it's possible for altbininstall
-(which normally creates BINDIR) and libainstall (which doesn't, though it
-installs python-config there) to race, resulting in a failure due to
-attempting to install python-config into a nonexistent BINDIR. Ensure it also
-exists in the libainstall target.
-
-Upstream-Status: Pending
-
---- Python-2.7.3.orig/Makefile.pre.in
-+++ Python-2.7.3/Makefile.pre.in
-@@ -1187,7 +1187,7 @@
- LIBPC= $(LIBDIR)/pkgconfig
-
- libainstall: @DEF_MAKE_RULE@ python-config
-- @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
-+ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC) $(BINDIR); \
- do \
- if test ! -d $(DESTDIR)$$i; then \
- echo "Creating directory $$i"; \
diff --git a/poky/meta/recipes-devtools/python/python/pass-missing-libraries-to-Extension-for-mul.patch b/poky/meta/recipes-devtools/python/python/pass-missing-libraries-to-Extension-for-mul.patch
deleted file mode 100644
index 44fcaacf3..000000000
--- a/poky/meta/recipes-devtools/python/python/pass-missing-libraries-to-Extension-for-mul.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 71447f04979b267f8866573b67a4340b2719d799 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 4 Aug 2017 14:10:43 +0800
-Subject: [PATCH] setup.py: pass missing libraries to Extension for multiprocessing module
-
-In the following commit:
-...
-commit e711cafab13efc9c1fe6c5cd75826401445eb585
-Author: Benjamin Peterson <benjamin@python.org>
-Date: Wed Jun 11 16:44:04 2008 +0000
-
- Merged revisions 64104,64117 via svnmerge from
- svn+ssh://pythondev@svn.python.org/python/trunk
-...
-(see diff in setup.py)
-It assigned libraries for multiprocessing module according
-the host_platform, but not pass it to Extension.
-
-In glibc, the following commit caused two definition of
-sem_getvalue are different.
-https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524
-(see diff in nptl/sem_getvalue.c for detail)
-`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1
-and `__old_sem_getvalue' is to compat the old version
-sem_getvalue@GLIBC_2.0.
-
-To build python for embedded Linux systems:
-http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html
-If not explicitly link to library pthread (-lpthread), it will
-load glibc's sem_getvalue randomly at runtime.
-
-Such as build python on linux x86_64 host and run the python
-on linux x86_32 target. If not link library pthread, it caused
-multiprocessing bounded semaphore could not work correctly.
-...
->>> import multiprocessing
->>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
->>> pool_sema.acquire()
-True
->>> pool_sema.release()
-Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
-ValueError: semaphore or lock released too many times
-...
-
-And the semaphore issue also caused multiprocessing.Queue().put() hung.
-
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- setup.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 54054c2..9646bfc 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1586,8 +1586,10 @@ class PyBuildExt(build_ext):
- elif host_platform.startswith('netbsd'):
- macros = dict()
- libraries = []
--
-- else: # Linux and other unices
-+ elif host_platform.startswith(('linux')):
-+ macros = dict()
-+ libraries = ['pthread']
-+ else: # Other unices
- macros = dict()
- libraries = ['rt']
-
-@@ -1610,6 +1612,7 @@ class PyBuildExt(build_ext):
- if sysconfig.get_config_var('WITH_THREAD'):
- exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
- define_macros=macros.items(),
-+ libraries=libraries,
- include_dirs=["Modules/_multiprocessing"]))
- else:
- missing.append('_multiprocessing')
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/python/python/python-2.7.3-remove-bsdb-rpath.patch b/poky/meta/recipes-devtools/python/python/python-2.7.3-remove-bsdb-rpath.patch
deleted file mode 100644
index 216be0a44..000000000
--- a/poky/meta/recipes-devtools/python/python/python-2.7.3-remove-bsdb-rpath.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Remove the RPATH to avoid QA issue warning.
-
-RP: Added secondary unnecessary rpath to the list 2012/8/7
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-
-Index: Python-2.7.3/setup.py
-===================================================================
---- Python-2.7.3.orig/setup.py 2012-08-07 10:41:58.560132529 +0000
-+++ Python-2.7.3/setup.py 2012-08-07 11:09:47.852094515 +0000
-@@ -1042,7 +1042,6 @@
- exts.append(Extension('_bsddb', ['_bsddb.c'],
- depends = ['bsddb.h'],
- library_dirs=dblib_dir,
-- runtime_library_dirs=dblib_dir,
- include_dirs=db_incs,
- libraries=dblibs))
- else:
-@@ -1252,7 +1251,6 @@
- print "building dbm using bdb"
- dbmext = Extension('dbm', ['dbmmodule.c'],
- library_dirs=dblib_dir,
-- runtime_library_dirs=dblib_dir,
- include_dirs=db_incs,
- define_macros=[
- ('HAVE_BERKDB_H', None),
diff --git a/poky/meta/recipes-devtools/python/python/python2-manifest.json b/poky/meta/recipes-devtools/python/python/python2-manifest.json
deleted file mode 100644
index eb52e862a..000000000
--- a/poky/meta/recipes-devtools/python/python/python2-manifest.json
+++ /dev/null
@@ -1,1138 +0,0 @@
-# DO NOT (entirely) modify this file manually, please read.
-#
-# IMPORTANT NOTE:
-# Please keep in mind that the create_manifest task relies on the fact the the
-# target and native Python packages are the same, and it also needs to be executed
-# with a fully working native package (with all the PACKAGECONFIGs enabled and all
-# and all the modules should be working, check log.do_compile), otherwise the script
-# will fail to find dependencies correctly, this note is valid either if you are
-# upgrading to a new Python version or adding a new package.
-#
-#
-# If you are adding a new package please follow the next steps:
-# How to add a new package:
-# - If a user wants to add a new package all that has to be done is:
-# Modify the python2-manifest.json file, and add the required file(s) to the FILES list,
-# fill up the SUMMARY section as well, the script should handle all the rest.
-#
-# Real example:
-# We want to add a web browser package, including the file webbrowser.py
-# which at the moment is on python-misc.
-# "webbrowser": {
-# "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"],
-# "rdepends": [],
-# "summary": "Python Web Browser support"}
-#
-# * Note that the rdepends field was left empty
-#
-# We run $ bitbake python -c create_manifest and the resulting manifest
-# should be completed after a few seconds, showing something like:
-# "webbrowser": {
-# "files": ["${libdir}/python2.7/webbrowser.py"],
-# "rdepends": ["core","fcntl","io","pickle","shell","subprocess"],
-# "summary": "Python Web Browser support"}
-#
-#
-# If you are upgrading Python to a new version please follow the next steps:
-# After each Python upgrade, the create_manifest task should be executed, because we
-# don't control what changes on upstream Python, so, some module dependency
-# might have changed without us realizing it, a certain module can either have
-# more or less dependencies, or could be depending on a new file that was just
-# created on the new release and for obvious reasons we wouldn't have it on our
-# old manifest, all of these issues would cause runtime errors on our system.
-#
-# - Upgrade both the native and target Python packages to a new version
-# - Run the create_manifest task for the target Python package as its shown below:
-#
-# $ bitbake python -c create_manifest
-#
-# This will automatically replace your manifest file located under the Python directory
-# with an new one, which contains the new dependencies (if any).
-#
-# Several things could have gone wrong here, I will try to explain a few:
-#
-# a) A new file was introduced on this release, e.g. sha3*.so:
-# The task will check what its needed to import every module, more than one module would
-# would probably depend on sha3*.so, although only one module should contain it.
-#
-# After running the task, the new manifest will have the sha3*.so file on more than one
-# module, you need to manually decide which one of them should get it and delete it from
-# the others, for example sha3*.so should likely be on ${PN}-crypt.
-# Once you have deleted from the others you need to run the create_manifest task again,
-# this will populate the other module's rdepends fields, with ${PN}-crypt and you should be
-# good to go.
-#
-# b) The native package wasn't built correctly and its missing a certain module:
-# As mentioned before, you need to make sure the native package was built with all the modules
-# because it is used as base to build the manifest file, you need to manually check log.do_compile
-# since it won't error out the compile function if its only missing a couple of modules.
-#
-# e.g. missing the _uuid module, log.do_compile would show the following:
-# Python build finished successfully!
-# The necessary bits to build these optional modules were not found:
-# _uuid
-#
-# What will happen here is that the new manifest would not be aware that the _uuid module exists, so
-# not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on
-# the misc package (which is where any file that doesn't belong anywhere else ends up).
-#
-# This will eventually cause runtime errors on our system if we don't include the misc package on
-# on our image, because the _uuid files will be missing.
-# If we build the _uuid module correctly and run the create_manifest task the _uuid files will be
-# detected correctly along with its dependencies, and we will get a working manifest.
-#
-# This is the reason why it is important to make sure we have a fully working native build,
-# so we can avoid these errors.
-#
-#
-#
-# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST
-# EOC
-{
- "tests": {
- "summary": "Python test suite",
- "rdepends": [
- "core",
- "modules"
- ],
- "files": [
- "${libdir}/python2.7/*/test",
- "${libdir}/python2.7/*/tests",
- "${libdir}/python2.7/idlelib/idle_test/",
- "${libdir}/python2.7/test"
- ],
- "cached": []
- },
- "2to3": {
- "summary": "Python automated Python 2 to 3 code translator",
- "rdepends": [
- "core"
- ],
- "files": [
- "${bindir}/2to3*",
- "${libdir}/python2.7/lib2to3"
- ]
- },
- "argparse": {
- "summary": "Python command line argument parser",
- "rdepends": [
- "codecs",
- "core",
- "lang",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/argparse.py"
- ]
- },
- "audio": {
- "summary": "Python Audio Handling",
- "rdepends": [
- "core",
- "crypt",
- "fcntl",
- "io",
- "math"
- ],
- "files": [
- "${libdir}/python2.7/audiodev.py",
- "${libdir}/python2.7/chunk.py",
- "${libdir}/python2.7/lib-dynload/audioop.so",
- "${libdir}/python2.7/lib-dynload/ossaudiodev.so",
- "${libdir}/python2.7/sndhdr.py",
- "${libdir}/python2.7/sunau.py",
- "${libdir}/python2.7/sunaudio.py",
- "${libdir}/python2.7/toaiff.py",
- "${libdir}/python2.7/wave.py"
- ]
- },
- "bsddb": {
- "summary": "Python bindings for the Berkeley Database",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/bsddb",
- "${libdir}/python2.7/lib-dynload/_bsddb.so"
- ]
- },
- "codecs": {
- "summary": "Python codec",
- "rdepends": [
- "core",
- "io",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/gettext.py",
- "${libdir}/python2.7/lib-dynload/_codecs_cn.so",
- "${libdir}/python2.7/lib-dynload/_codecs_hk.so",
- "${libdir}/python2.7/lib-dynload/_codecs_iso2022.so",
- "${libdir}/python2.7/lib-dynload/_codecs_jp.so",
- "${libdir}/python2.7/lib-dynload/_codecs_kr.so",
- "${libdir}/python2.7/lib-dynload/_codecs_tw.so",
- "${libdir}/python2.7/lib-dynload/_multibytecodec.so",
- "${libdir}/python2.7/lib-dynload/unicodedata.so",
- "${libdir}/python2.7/locale.py",
- "${libdir}/python2.7/stringprep.py",
- "${libdir}/python2.7/xdrlib.py"
- ]
- },
- "compile": {
- "summary": "Python bytecode compilation support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/compileall.py",
- "${libdir}/python2.7/py_compile.py"
- ]
- },
- "compiler": {
- "summary": "Python compiler support",
- "rdepends": [
- "core",
- "io",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/compiler"
- ]
- },
- "compression": {
- "summary": "Python high-level compression support",
- "rdepends": [
- "core",
- "io",
- "shell",
- "unixadmin",
- "zlib"
- ],
- "files": [
- "${libdir}/python2.7/gzip.py",
- "${libdir}/python2.7/lib-dynload/bz2.so",
- "${libdir}/python2.7/tarfile.py",
- "${libdir}/python2.7/zipfile.py"
- ]
- },
- "contextlib": {
- "summary": "Python utilities for with-statementcontexts.",
- "rdepends": [
- "core",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/contextlib.py"
- ]
- },
- "core": {
- "summary": "Python interpreter and core modules",
- "rdepends": [],
- "files": [
- "${bindir}/python*",
- "${includedir}/python2.7/pyconfig*.h",
- "${libdir}/python2.7/ConfigParser.py",
- "${libdir}/python2.7/UserDict.py",
- "${libdir}/python2.7/UserList.py",
- "${libdir}/python2.7/UserString.py",
- "${libdir}/python2.7/__future__.py",
- "${libdir}/python2.7/_abcoll.py",
- "${libdir}/python2.7/_sysconfigdata.py",
- "${libdir}/python2.7/_weakrefset.py",
- "${libdir}/python2.7/abc.py",
- "${libdir}/python2.7/ast.py",
- "${libdir}/python2.7/atexit.py",
- "${libdir}/python2.7/codecs.py",
- "${libdir}/python2.7/collections.py",
- "${libdir}/python2.7/copy.py",
- "${libdir}/python2.7/copy_reg.py",
- "${libdir}/python2.7/encodings",
- "${libdir}/python2.7/encodings/aliases.py",
- "${libdir}/python2.7/encodings/utf_8.py",
- "${libdir}/python2.7/genericpath.py",
- "${libdir}/python2.7/getopt.py",
- "${libdir}/python2.7/heapq.py",
- "${libdir}/python2.7/importlib",
- "${libdir}/python2.7/keyword.py",
- "${libdir}/python2.7/lib-dynload/_collections.so",
- "${libdir}/python2.7/lib-dynload/_heapq.so",
- "${libdir}/python2.7/lib-dynload/_locale.so",
- "${libdir}/python2.7/lib-dynload/_struct.so",
- "${libdir}/python2.7/lib-dynload/binascii.so",
- "${libdir}/python2.7/lib-dynload/itertools.so",
- "${libdir}/python2.7/lib-dynload/operator.so",
- "${libdir}/python2.7/lib-dynload/readline.so",
- "${libdir}/python2.7/lib-dynload/strop.so",
- "${libdir}/python2.7/lib-dynload/time.so",
- "${libdir}/python2.7/lib-dynload/xreadlines.so",
- "${libdir}/python2.7/linecache.py",
- "${libdir}/python2.7/new.py",
- "${libdir}/python2.7/os.py",
- "${libdir}/python2.7/platform.py",
- "${libdir}/python2.7/posixpath.py",
- "${libdir}/python2.7/re.py",
- "${libdir}/python2.7/rlcompleter.py",
- "${libdir}/python2.7/site.py",
- "${libdir}/python2.7/sitecustomize.py",
- "${libdir}/python2.7/sre_compile.py",
- "${libdir}/python2.7/sre_constants.py",
- "${libdir}/python2.7/sre_parse.py",
- "${libdir}/python2.7/stat.py",
- "${libdir}/python2.7/string.py",
- "${libdir}/python2.7/struct.py",
- "${libdir}/python2.7/sysconfig.py",
- "${libdir}/python2.7/traceback.py",
- "${libdir}/python2.7/types.py",
- "${libdir}/python2.7/warnings.py",
- "${libdir}/python2.7/weakref.py"
- ]
- },
- "crypt": {
- "summary": "Python basic cryptographic and hashing support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/hashlib.py",
- "${libdir}/python2.7/lib-dynload/_hashlib.so",
- "${libdir}/python2.7/lib-dynload/crypt.so",
- "${libdir}/python2.7/md5.py",
- "${libdir}/python2.7/sha.py"
- ]
- },
- "ctypes": {
- "summary": "Python C types support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/ctypes",
- "${libdir}/python2.7/lib-dynload/_ctypes.so",
- "${libdir}/python2.7/lib-dynload/_ctypes_test.so"
- ]
- },
- "curses": {
- "summary": "Python curses support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/curses",
- "${libdir}/python2.7/lib-dynload/_curses.so",
- "${libdir}/python2.7/lib-dynload/_curses_panel.so"
- ]
- },
- "datetime": {
- "summary": "Python calendar and time support",
- "rdepends": [
- "codecs",
- "core",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/_strptime.py",
- "${libdir}/python2.7/calendar.py",
- "${libdir}/python2.7/lib-dynload/datetime.so"
- ]
- },
- "db": {
- "summary": "Python file-based database support",
- "rdepends": [
- "bsddb",
- "core",
- "gdbm"
- ],
- "files": [
- "${libdir}/python2.7/anydbm.py",
- "${libdir}/python2.7/dbhash.py",
- "${libdir}/python2.7/dumbdbm.py",
- "${libdir}/python2.7/lib-dynload/dbm.so",
- "${libdir}/python2.7/whichdb.py"
- ]
- },
- "debugger": {
- "summary": "Python debugger",
- "rdepends": [
- "core",
- "io",
- "lang",
- "pprint",
- "shell"
- ],
- "files": [
- "${libdir}/python2.7/bdb.py",
- "${libdir}/python2.7/pdb.py"
- ]
- },
- "dev": {
- "files": [
- "${base_libdir}/*.a",
- "${base_libdir}/*.o",
- "${datadir}/aclocal",
- "${datadir}/pkgconfig",
- "${includedir}",
- "${libdir}/*.a",
- "${libdir}/*.la",
- "${libdir}/*.o",
- "${libdir}/lib*${SOLIBSDEV}",
- "${libdir}/pkgconfig",
- "${libdir}/python2.7/config/Makefile"
- ],
- "rdepends": [
- "core"
- ],
- "summary": "Python development package"
- },
- "difflib": {
- "summary": "Python helpers for computing deltas between objects",
- "rdepends": [
- "core",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/difflib.py"
- ]
- },
- "distutils-staticdev": {
- "files": [
- "${libdir}/python2.7/config/lib*.a"
- ],
- "rdepends": [
- "distutils"
- ],
- "summary": "Python distribution utilities (static libraries)"
- },
- "distutils": {
- "summary": "Python Distribution Utilities",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/config",
- "${libdir}/python2.7/distutils"
- ]
- },
- "doctest": {
- "summary": "Python framework for running examples in docstrings",
- "rdepends": [
- "core",
- "crypt",
- "debugger",
- "difflib",
- "fcntl",
- "io",
- "lang",
- "math",
- "pprint",
- "shell",
- "unittest"
- ],
- "files": [
- "${libdir}/python2.7/doctest.py"
- ]
- },
- "email": {
- "summary": "Python email support",
- "rdepends": [
- "contextlib",
- "core",
- "crypt",
- "fcntl",
- "io",
- "lang",
- "math",
- "netclient",
- "pickle",
- "subprocess",
- "textutils",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/email",
- "${libdir}/python2.7/imaplib.py"
- ]
- },
- "fcntl": {
- "summary": "Python's fcntl interface",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/fcntl.so"
- ]
- },
- "gdbm": {
- "summary": "Python GNU database support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/gdbm.so"
- ]
- },
- "hotshot": {
- "summary": "Python hotshot performance profiler",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/hotshot",
- "${libdir}/python2.7/lib-dynload/_hotshot.so"
- ]
- },
- "html": {
- "summary": "Python HTML processing support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/HTMLParser.py",
- "${libdir}/python2.7/formatter.py",
- "${libdir}/python2.7/htmlentitydefs.py",
- "${libdir}/python2.7/htmllib.py",
- "${libdir}/python2.7/markupbase.py",
- "${libdir}/python2.7/sgmllib.py"
- ]
- },
- "idle": {
- "summary": "Python Integrated Development Environment",
- "rdepends": [
- "core"
- ],
- "files": [
- "${bindir}/idle",
- "${libdir}/python2.7/idlelib"
- ]
- },
- "image": {
- "summary": "Python graphical image handling",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/colorsys.py",
- "${libdir}/python2.7/imghdr.py"
- ]
- },
- "io": {
- "summary": "Python low-level I/O",
- "rdepends": [
- "contextlib",
- "core",
- "crypt",
- "fcntl",
- "lang",
- "math",
- "netclient",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/StringIO.py",
- "${libdir}/python2.7/_pyio.py",
- "${libdir}/python2.7/io.py",
- "${libdir}/python2.7/lib-dynload/_io.so",
- "${libdir}/python2.7/lib-dynload/_socket.so",
- "${libdir}/python2.7/lib-dynload/_ssl.so",
- "${libdir}/python2.7/lib-dynload/cStringIO.so",
- "${libdir}/python2.7/lib-dynload/select.so",
- "${libdir}/python2.7/lib-dynload/termios.so",
- "${libdir}/python2.7/pipes.py",
- "${libdir}/python2.7/socket.py",
- "${libdir}/python2.7/ssl.py",
- "${libdir}/python2.7/tempfile.py"
- ]
- },
- "json": {
- "summary": "Python JSON support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/json",
- "${libdir}/python2.7/lib-dynload/_json.so"
- ]
- },
- "lang": {
- "summary": "Python low-level language support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/bisect.py",
- "${libdir}/python2.7/code.py",
- "${libdir}/python2.7/codeop.py",
- "${libdir}/python2.7/dis.py",
- "${libdir}/python2.7/functools.py",
- "${libdir}/python2.7/inspect.py",
- "${libdir}/python2.7/lib-dynload/_bisect.so",
- "${libdir}/python2.7/lib-dynload/_functools.so",
- "${libdir}/python2.7/lib-dynload/array.so",
- "${libdir}/python2.7/lib-dynload/parser.so",
- "${libdir}/python2.7/opcode.py",
- "${libdir}/python2.7/repr.py",
- "${libdir}/python2.7/symbol.py",
- "${libdir}/python2.7/token.py",
- "${libdir}/python2.7/tokenize.py"
- ]
- },
- "logging": {
- "summary": "Python logging support",
- "rdepends": [
- "core",
- "io",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/logging"
- ]
- },
- "mailbox": {
- "summary": "Python mailbox format support",
- "rdepends": [
- "codecs",
- "contextlib",
- "core",
- "crypt",
- "datetime",
- "email",
- "fcntl",
- "io",
- "lang",
- "math",
- "mime",
- "netclient",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/mailbox.py"
- ]
- },
- "math": {
- "summary": "Python math support",
- "rdepends": [
- "core",
- "crypt"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/_random.so",
- "${libdir}/python2.7/lib-dynload/cmath.so",
- "${libdir}/python2.7/lib-dynload/math.so",
- "${libdir}/python2.7/random.py",
- "${libdir}/python2.7/sets.py"
- ]
- },
- "mime": {
- "summary": "Python MIME handling APIs",
- "rdepends": [
- "contextlib",
- "core",
- "crypt",
- "fcntl",
- "io",
- "lang",
- "math",
- "netclient",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/MimeWriter.py",
- "${libdir}/python2.7/mimetools.py",
- "${libdir}/python2.7/mimetypes.py",
- "${libdir}/python2.7/quopri.py",
- "${libdir}/python2.7/rfc822.py",
- "${libdir}/python2.7/uu.py"
- ]
- },
- "mmap": {
- "summary": "Python memory-mapped file support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/mmap.so"
- ]
- },
- "modules": {
- "files": [],
- "rdepends": [
- "2to3",
- "argparse",
- "audio",
- "bsddb",
- "codecs",
- "compile",
- "compiler",
- "compression",
- "contextlib",
- "core",
- "crypt",
- "ctypes",
- "curses",
- "datetime",
- "db",
- "debugger",
- "difflib",
- "distutils",
- "doctest",
- "email",
- "fcntl",
- "gdbm",
- "hotshot",
- "html",
- "idle",
- "image",
- "io",
- "json",
- "lang",
- "logging",
- "mailbox",
- "math",
- "mime",
- "mmap",
- "multiprocessing",
- "netclient",
- "netserver",
- "numbers",
- "pickle",
- "pkgutil",
- "plistlib",
- "pprint",
- "profile",
- "pydoc",
- "re",
- "resource",
- "robotparser",
- "runpy",
- "shell",
- "smtpd",
- "sqlite3",
- "sqlite3",
- "stringold",
- "subprocess",
- "syslog",
- "terminal",
- "textutils",
- "threading",
- "tkinter",
- "unittest",
- "unixadmin",
- "xml",
- "xmlrpc",
- "zlib"
- ],
- "summary": "All Python modules"
- },
- "multiprocessing": {
- "summary": "Python multiprocessing support",
- "rdepends": [
- "core",
- "fcntl",
- "io",
- "pickle",
- "subprocess",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/_multiprocessing.so",
- "${libdir}/python2.7/multiprocessing"
- ]
- },
- "netclient": {
- "summary": "Python Internet Protocol clients",
- "rdepends": [
- "codecs",
- "contextlib",
- "core",
- "crypt",
- "ctypes",
- "datetime",
- "email",
- "fcntl",
- "io",
- "lang",
- "math",
- "mime",
- "pickle",
- "subprocess",
- "textutils",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/Cookie.py",
- "${libdir}/python2.7/_LWPCookieJar.py",
- "${libdir}/python2.7/_MozillaCookieJar.py",
- "${libdir}/python2.7/base64.py",
- "${libdir}/python2.7/cookielib.py",
- "${libdir}/python2.7/ftplib.py",
- "${libdir}/python2.7/hmac.py",
- "${libdir}/python2.7/httplib.py",
- "${libdir}/python2.7/nntplib.py",
- "${libdir}/python2.7/poplib.py",
- "${libdir}/python2.7/smtplib.py",
- "${libdir}/python2.7/telnetlib.py",
- "${libdir}/python2.7/urllib.py",
- "${libdir}/python2.7/urllib2.py",
- "${libdir}/python2.7/urlparse.py",
- "${libdir}/python2.7/uuid.py"
- ]
- },
- "netserver": {
- "summary": "Python Internet Protocol servers",
- "rdepends": [
- "compression",
- "contextlib",
- "core",
- "crypt",
- "fcntl",
- "io",
- "lang",
- "math",
- "mime",
- "netclient",
- "shell",
- "textutils",
- "threading",
- "unixadmin",
- "zlib"
- ],
- "files": [
- "${libdir}/python2.7/BaseHTTPServer.py",
- "${libdir}/python2.7/CGIHTTPServer.py",
- "${libdir}/python2.7/SimpleHTTPServer.py",
- "${libdir}/python2.7/SocketServer.py",
- "${libdir}/python2.7/cgi.py"
- ]
- },
- "numbers": {
- "summary": "Python number APIs",
- "rdepends": [
- "codecs",
- "core",
- "lang",
- "math",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/decimal.py",
- "${libdir}/python2.7/fractions.py",
- "${libdir}/python2.7/numbers.py"
- ]
- },
- "pickle": {
- "summary": "Python serialisation/persistence support",
- "rdepends": [
- "core",
- "io"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/cPickle.so",
- "${libdir}/python2.7/pickle.py",
- "${libdir}/python2.7/pickletools.py",
- "${libdir}/python2.7/shelve.py"
- ]
- },
- "pkgutil": {
- "summary": "Python package extension utility support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/pkgutil.py"
- ]
- },
- "plistlib": {
- "summary": "Generate and parse Mac OS X .plist files",
- "rdepends": [
- "core",
- "datetime",
- "io"
- ],
- "files": [
- "${libdir}/python2.7/plistlib.py"
- ]
- },
- "pprint": {
- "summary": "Python pretty-print support",
- "rdepends": [
- "core",
- "io"
- ],
- "files": [
- "${libdir}/python2.7/pprint.py"
- ]
- },
- "profile": {
- "summary": "Python basic performance profiling support",
- "rdepends": [
- "codecs",
- "core",
- "lang",
- "resource",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/cProfile.py",
- "${libdir}/python2.7/lib-dynload/_lsprof.so",
- "${libdir}/python2.7/profile.py",
- "${libdir}/python2.7/pstats.py"
- ]
- },
- "pydoc": {
- "summary": "Python interactive help support",
- "rdepends": [
- "codecs",
- "core",
- "lang",
- "pkgutil"
- ],
- "files": [
- "${bindir}/pydoc",
- "${libdir}/python2.7/pydoc.py",
- "${libdir}/python2.7/pydoc_data"
- ]
- },
- "re": {
- "summary": "Python Regular Expression APIs",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/sre.py"
- ]
- },
- "resource": {
- "summary": "Python resource control interface",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/resource.so"
- ]
- },
- "robotparser": {
- "summary": "Python robots.txt parser",
- "rdepends": [
- "contextlib",
- "core",
- "io",
- "lang",
- "netclient",
- "textutils"
- ],
- "files": [
- "${libdir}/python2.7/robotparser.py"
- ]
- },
- "runpy": {
- "summary": "Python helper for locating/executing scripts in module namespace",
- "rdepends": [
- "core",
- "pkgutil"
- ],
- "files": [
- "${libdir}/python2.7/runpy.py"
- ]
- },
- "shell": {
- "summary": "Python shell-like functionality",
- "rdepends": [
- "compression",
- "core",
- "io",
- "unixadmin",
- "zlib"
- ],
- "files": [
- "${libdir}/python2.7/cmd.py",
- "${libdir}/python2.7/commands.py",
- "${libdir}/python2.7/dircache.py",
- "${libdir}/python2.7/fnmatch.py",
- "${libdir}/python2.7/glob.py",
- "${libdir}/python2.7/popen2.py",
- "${libdir}/python2.7/shlex.py",
- "${libdir}/python2.7/shutil.py"
- ]
- },
- "smtpd": {
- "summary": "Python Simple Mail Transport Daemon",
- "rdepends": [
- "core",
- "fcntl",
- "io",
- "lang"
- ],
- "files": [
- "${bindir}/smtpd.py",
- "${libdir}/python2.7/asynchat.py",
- "${libdir}/python2.7/asyncore.py",
- "${libdir}/python2.7/smtpd.py"
- ]
- },
- "sqlite3": {
- "summary": "Python Sqlite3 database support",
- "rdepends": [
- "core",
- "datetime"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/_sqlite3.so",
- "${libdir}/python2.7/sqlite3"
- ]
- },
- "stringold": {
- "summary": "Python string APIs [deprecated]",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/stringold.py"
- ]
- },
- "subprocess": {
- "summary": "Python subprocess support",
- "rdepends": [
- "core",
- "fcntl",
- "io",
- "pickle",
- "threading"
- ],
- "files": [
- "${libdir}/python2.7/subprocess.py"
- ]
- },
- "syslog": {
- "summary": "Python syslog interface",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/syslog.so"
- ]
- },
- "terminal": {
- "summary": "Python terminal controlling support",
- "rdepends": [
- "core",
- "io"
- ],
- "files": [
- "${libdir}/python2.7/pty.py",
- "${libdir}/python2.7/tty.py"
- ]
- },
- "textutils": {
- "summary": "Python option parsin",
- "rdepends": [
- "codecs",
- "core",
- "io",
- "lang"
- ],
- "files": [
- "${libdir}/python2.7/csv.py",
- "${libdir}/python2.7/lib-dynload/_csv.so",
- "${libdir}/python2.7/optparse.py",
- "${libdir}/python2.7/textwrap.py"
- ]
- },
- "threading": {
- "summary": "Python threading & synchronization support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/Queue.py",
- "${libdir}/python2.7/_threading_local.py",
- "${libdir}/python2.7/dummy_thread.py",
- "${libdir}/python2.7/dummy_threading.py",
- "${libdir}/python2.7/mutex.py",
- "${libdir}/python2.7/threading.py"
- ]
- },
- "tkinter": {
- "summary": "Python Tcl/Tk bindings",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.so",
- "${libdir}/python2.7/lib-tk"
- ]
- },
- "unittest": {
- "summary": "Python unit testing framework",
- "rdepends": [
- "core",
- "difflib",
- "io",
- "lang",
- "pprint",
- "shell"
- ],
- "files": [
- "${libdir}/python2.7/unittest"
- ]
- },
- "unixadmin": {
- "summary": "Python Unix administration support",
- "rdepends": [
- "core",
- "io"
- ],
- "files": [
- "${libdir}/python2.7/getpass.py",
- "${libdir}/python2.7/lib-dynload/grp.so",
- "${libdir}/python2.7/lib-dynload/nis.so"
- ]
- },
- "xml": {
- "summary": "Python basic XML support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/_elementtree.so",
- "${libdir}/python2.7/lib-dynload/pyexpat.so",
- "${libdir}/python2.7/xml"
- ]
- },
- "xmlrpc": {
- "summary": "Python XML-RPC support",
- "rdepends": [
- "codecs",
- "compression",
- "contextlib",
- "core",
- "crypt",
- "datetime",
- "fcntl",
- "io",
- "lang",
- "math",
- "mime",
- "netclient",
- "netserver",
- "pkgutil",
- "pydoc",
- "textutils",
- "threading",
- "xml",
- "zlib"
- ],
- "files": [
- "${libdir}/python2.7/DocXMLRPCServer.py",
- "${libdir}/python2.7/SimpleXMLRPCServer.py",
- "${libdir}/python2.7/xmlrpclib.py"
- ]
- },
- "zlib": {
- "summary": "Python zlib compression support",
- "rdepends": [
- "core"
- ],
- "files": [
- "${libdir}/python2.7/lib-dynload/zlib.so"
- ]
- }
-}
diff --git a/poky/meta/recipes-devtools/python/python/run-ptest b/poky/meta/recipes-devtools/python/python/run-ptest
deleted file mode 100644
index c7002a456..000000000
--- a/poky/meta/recipes-devtools/python/python/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-python -mtest -W | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python/search_db_h_in_inc_dirs_and_avoid_warning.patch b/poky/meta/recipes-devtools/python/python/search_db_h_in_inc_dirs_and_avoid_warning.patch
deleted file mode 100644
index dacb552ec..000000000
--- a/poky/meta/recipes-devtools/python/python/search_db_h_in_inc_dirs_and_avoid_warning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-python should search for db.h in inc_dirs and not in a hardcoded path.
-If db.h is found but HASHVERSION is not 2 we avoid a warning by not
-adding this module to missing variable.
-
-Upstream-Status: Inappropriate [distribution]
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-
-diff --git a/setup.py b/setup.py
-index b887808..ae51607 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1237,6 +1237,8 @@ class PyBuildExt(build_ext):
- # the more recent berkeleydb's db.h file first in the include path
- # when attempting to compile and it will fail.
- f = "/usr/include/db.h"
-+ if len(inc_dirs) != 0:
-+ f = os.path.join(inc_dirs[0], "db.h")
-
- if host_platform == 'darwin':
- if is_macosx_sdk_path(f):
-@@ -1257,8 +1259,10 @@ class PyBuildExt(build_ext):
- libraries=libraries))
- else:
- exts.append(Extension('bsddb185', ['bsddbmodule.c']))
-- else:
-- missing.append('bsddb185')
-+ # If a newer version is detected don't report an useless
-+ # warning
-+ #else:
-+ # missing.append('bsddb185')
- else:
- missing.append('bsddb185')
-
diff --git a/poky/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch b/poky/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch
deleted file mode 100644
index 6ccdb948b..000000000
--- a/poky/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This patch skips over the 'import check' setup.py does when building
-extensions. This generally won't work when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded-specific]
-
-Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
-
-Index: Python-2.7.2/setup.py
-===================================================================
---- Python-2.7.2.orig/setup.py 2011-11-04 16:46:34.553796410 -0500
-+++ Python-2.7.2/setup.py 2011-11-04 16:59:49.692802313 -0500
-@@ -287,6 +287,15 @@
- (ext.name, sys.exc_info()[1]))
- self.failed.append(ext.name)
- return
-+
-+ # If we're cross-compiling, we want to skip the import check
-+ # i.e. we shouldn't be dynamically loading target shared libs
-+ if os.environ.get('CROSS_COMPILE') is not None:
-+ self.announce(
-+ 'WARNING: skipping import check for cross-compiled "%s"' %
-+ ext.name)
-+ return
-+
- # Workaround for Mac OS X: The Carbon-based modules cannot be
- # reliably imported into a command-line Python
- if 'Carbon' in ext.extra_link_args:
diff --git a/poky/meta/recipes-devtools/python/python/setuptweaks.patch b/poky/meta/recipes-devtools/python/python/setuptweaks.patch
deleted file mode 100644
index 3a91b1916..000000000
--- a/poky/meta/recipes-devtools/python/python/setuptweaks.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-This patch removes various ways native system options can pass into the python
-compilation and somehow break C modules.
-
-Upstream-Status: Inappropriate [OE Specific]
-
-RP 2012/04/23
-
-Index: Python-2.7.2/setup.py
-===================================================================
---- Python-2.7.2.orig/setup.py 2012-04-23 20:03:47.295582553 +0000
-+++ Python-2.7.2/setup.py 2012-04-23 20:03:15.000000000 +0000
-@@ -231,7 +231,13 @@
- # compilers
- if compiler is not None:
- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
-+ # Need to filter out -isysroot from the flags. Ideally should
-+ # figure out target flags here.
-+ flags = []
-+ for f in cflags.split():
-+ if not f.startswith("-isystem"):
-+ flags.append(f)
-+ args['compiler_so'] = compiler + ' ' + ccshared + ' ' + ' '.join(flags)
- self.compiler.set_executables(**args)
-
- build_ext.build_extensions(self)
-@@ -393,7 +399,6 @@
- # into configure and stored in the Makefile (issue found on OS X 10.3).
- for env_var, arg_name, dir_list in (
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
-- ('LDFLAGS', '-L', self.compiler.library_dirs),
- ('CPPFLAGS', '-I', self.compiler.include_dirs)):
- env_val = sysconfig.get_config_var(env_var)
- if env_val:
-@@ -419,16 +424,16 @@
- for directory in reversed(options.dirs):
- add_dir_to_list(dir_list, directory)
-
-- if os.path.normpath(sys.prefix) != '/usr' \
-- and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
-+# if os.path.normpath(sys.prefix) != '/usr' \
-+# and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework
- # (PYTHONFRAMEWORK is set) to avoid # linking problems when
- # building a framework with different architectures than
- # the one that is currently installed (issue #7473)
-- add_dir_to_list(self.compiler.library_dirs,
-- sysconfig.get_config_var("LIBDIR"))
-- add_dir_to_list(self.compiler.include_dirs,
-- sysconfig.get_config_var("INCLUDEDIR"))
-+# add_dir_to_list(self.compiler.library_dirs,
-+# sysconfig.get_config_var("LIBDIR"))
-+# add_dir_to_list(self.compiler.include_dirs,
-+# sysconfig.get_config_var("INCLUDEDIR"))
-
- try:
- have_unicode = unicode
diff --git a/poky/meta/recipes-devtools/python/python/sitecustomize.py b/poky/meta/recipes-devtools/python/python/sitecustomize.py
deleted file mode 100644
index 4c8b5e2ba..000000000
--- a/poky/meta/recipes-devtools/python/python/sitecustomize.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
-# GPLv2 or later
-# Version: 20081123
-# Features:
-# * set proper default encoding
-# * enable readline completion in the interactive interpreter
-# * load command line history on startup
-# * save command line history on exit
-
-import os
-
-def __exithandler():
- try:
- readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
- except IOError:
- pass
-
-def __registerExitHandler():
- import atexit
- atexit.register( __exithandler )
-
-def __enableReadlineSupport():
- readline.set_history_length( 1000 )
- readline.parse_and_bind( "tab: complete" )
- try:
- readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
- except IOError:
- pass
-
-import sys
-try:
- import rlcompleter, readline
-except ImportError:
- pass
-else:
- __registerExitHandler()
- __enableReadlineSupport()
diff --git a/poky/meta/recipes-devtools/python/python/support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch b/poky/meta/recipes-devtools/python/python/support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch
deleted file mode 100644
index 12651798e..000000000
--- a/poky/meta/recipes-devtools/python/python/support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-The compiled .pyc files contain time stamp corresponding to the compile time.
-This prevents binary reproducibility. This patch allows to achieve binary
-reproducibility by overriding the build time stamp by the value
-exported via SOURCE_DATE_EPOCH.
-
-Patch by Bernhard M. Wiedemann
-
-Upstream-Status: Backport
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
-Fri Feb 24 17:08:25 UTC 2017 - bwiedemann@suse.com
-
-- Add reproducible.patch to allow reproducible builds of various
- python packages like python-amqp
- Upstream: https://github.com/python/cpython/pull/296
-
-
-@@ -0,0 +1,15 @@
-Index: Python-2.7.13/Lib/py_compile.py
-===================================================================
---- Python-2.7.13.orig/Lib/py_compile.py
-+++ Python-2.7.13/Lib/py_compile.py
-@@ -108,6 +108,10 @@ def compile(file, cfile=None, dfile=None
- timestamp = long(os.fstat(f.fileno()).st_mtime)
- except AttributeError:
- timestamp = long(os.stat(file).st_mtime)
-+ sde = os.environ.get('SOURCE_DATE_EPOCH')
-+ if sde and timestamp > int(sde):
-+ timestamp = int(sde)
-+ os.utime(file, (timestamp, timestamp))
- codestring = f.read()
- try:
- codeobject = __builtin__.compile(codestring, dfile or file,'exec')
diff --git a/poky/meta/recipes-devtools/python/python/use_sysroot_ncurses_instead_of_host.patch b/poky/meta/recipes-devtools/python/python/use_sysroot_ncurses_instead_of_host.patch
deleted file mode 100644
index fb4a3bcf9..000000000
--- a/poky/meta/recipes-devtools/python/python/use_sysroot_ncurses_instead_of_host.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Python tries to use ncursesw from the host,
-if it is not found causes an error on configure,
-we should use ncursesw from sysroot instead
-
-Upstream-Status: Pending
-
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
-Index: Python-2.7.9/configure.ac
-===================================================================
---- Python-2.7.9.orig/configure.ac
-+++ Python-2.7.9/configure.ac
-@@ -4311,7 +4311,7 @@ fi
-
- # first curses configure check
- ac_save_cppflags="$CPPFLAGS"
--CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
-+CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw"
-
- AC_CHECK_HEADERS(curses.h ncurses.h)
-
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb
new file mode 100644
index 000000000..2ce6bdbd6
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.16.bb
@@ -0,0 +1,18 @@
+inherit setuptools3
+require python-cython.inc
+
+RDEPENDS_${PN} += "\
+ python3-setuptools \
+"
+
+# running build_ext a second time during install fails, because Python
+# would then attempt to import cythonized modules built for the target
+# architecture.
+DISTUTILS_INSTALL_ARGS += "--skip-build"
+
+do_install_append() {
+ # rename scripts that would conflict with the Python 2 build of Cython
+ mv ${D}${bindir}/cython ${D}${bindir}/cython3
+ mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3
+ mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3
+}
diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.16.bb
index d005dc4a9..e1700fa86 100644
--- a/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbus_1.2.16.bb
@@ -7,8 +7,8 @@ DEPENDS = "expat dbus glib-2.0 virtual/libintl"
SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
-SRC_URI[md5sum] = "428b7a9e7e2d154a7ceb3e13536283e4"
-SRC_URI[sha256sum] = "cdd4de2c4f5e58f287b12013ed7b41dee81d503c8d0d2397c5bd2fb01badf260"
+SRC_URI[md5sum] = "51a45c973d82bedff033a4b57d69d5d8"
+SRC_URI[sha256sum] = "11238f1d86c995d8aed2e22f04a1e3779f0d70e587caffeab4857f3c662ed5a4"
S = "${WORKDIR}/dbus-python-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.19.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.19.bb
new file mode 100644
index 000000000..5389e4897
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.19.bb
@@ -0,0 +1,16 @@
+SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus"
+
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI[sha256sum] = "497f30eed2fcd5deaa2633b9622e4e99af4bdfba4e972b350ba630bac6fc86c2"
+
+PYPI_PACKAGE = "python-dbusmock"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dbus \
+ ${PYTHON_PN}-pygobject \
+ ${PYTHON_PN}-xml \
+ "
diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.15.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.16.bb
index f5c3f5d70..50547a1b0 100644
--- a/poky/meta/recipes-devtools/python/python3-docutils_0.15.bb
+++ b/poky/meta/recipes-devtools/python/python3-docutils_0.16.bb
@@ -2,13 +2,13 @@ SUMMARY = "Text processing system for documentation"
HOMEPAGE = "http://docutils.sourceforge.net"
SECTION = "devel/python"
LICENSE = "PSF & BSD-2-Clause & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7a4646907ab9083c826280b19e103106"
DEPENDS = "python3"
SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
-SRC_URI[md5sum] = "f51729f19e70a9dc4837433193a5e798"
-SRC_URI[sha256sum] = "c35e87e985f70106f6f97e050f3bed990641e0e104566134b9cd23849a460e96"
+SRC_URI[md5sum] = "9ccb6f332e23360f964de72c8ea5f0ed"
+SRC_URI[sha256sum] = "7d4e999cca74a52611773a42912088078363a30912e8822f7a3d38043b767573"
S = "${WORKDIR}/docutils-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.2.bb
index 9dd753db4..72280ec30 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.2.bb
@@ -12,8 +12,8 @@ PYPI_PACKAGE = "GitPython"
inherit pypi setuptools3
-SRC_URI[md5sum] = "ccec14a5c9f18702406122983d80032c"
-SRC_URI[sha256sum] = "d2f4945f8260f6981d724f5957bc076398ada55cb5d25aaee10108bcdc894100"
+SRC_URI[md5sum] = "2397bea2d7c36ef9f874ab6355abae59"
+SRC_URI[sha256sum] = "864a47472548f3ba716ca202e034c1900f197c0fb3a08f641c20c3cafd15ed94"
DEPENDS += " ${PYTHON_PN}-gitdb"
diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb
index fe158327c..2dcd9c8af 100644
--- a/poky/meta/recipes-devtools/python/python3-gitdb_2.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.4.bb
@@ -1,2 +1,3 @@
inherit setuptools3
require python-gitdb.inc
+
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
new file mode 100644
index 000000000..4983ae527
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python interface to libarchive"
+DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \
+ dynamically load and access the C library."
+HOMEPAGE = "https://github.com/Changaco/python-libarchive-c"
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc"
+
+PYPI_PACKAGE = "libarchive-c"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "083bd2cb0043c1e22a52cb9a05e31532"
+SRC_URI[sha256sum] = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60"
+
+RDEPENDS_${PN} += "libarchive"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
new file mode 100644
index 000000000..be423adac
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
@@ -0,0 +1,19 @@
+SUMMARY = "File type identification using libmagic"
+DESCRIPTION = "This module uses ctypes to access the libmagic file type \
+ identification library. It makes use of the local magic database and supports \
+ both textual and MIME-type output."
+HOMEPAGE = "http://github.com/ahupp/python-magic"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88"
+
+PYPI_PACKAGE = "python-magic"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "5edc6caa39cc62641850f6b1b6f284ba"
+SRC_URI[sha256sum] = "b757db2a5289ea3f1ced9e60f072965243ea43a2221430048fd8cacab17be0ce"
+
+RDEPENDS_${PN} += "file"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb
index b139e5ab0..bc38009de 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.1.bb
@@ -2,14 +2,14 @@ SUMMARY = "Templating library for Python"
HOMEPAGE = "http://www.makotemplates.org/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=943eb67718222db21d44a4ef1836675f"
PYPI_PACKAGE = "Mako"
inherit pypi setuptools3
-SRC_URI[md5sum] = "6c3f2da0b74af529a4c4a537d0848bf2"
-SRC_URI[sha256sum] = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"
+SRC_URI[md5sum] = "2660a4916f2f63456e6885c727b7cd2f"
+SRC_URI[sha256sum] = "2984a6733e1d472796ceef37ad48c26f4a984bb18119bb2dbc37a44d8f6e75a4"
RDEPENDS_${PN} = "${PYTHON_PN}-html \
${PYTHON_PN}-netclient \
diff --git a/poky/meta/recipes-devtools/python/python3-pbr/0001-change-shebang-to-python3.patch b/poky/meta/recipes-devtools/python/python3-pbr/0001-change-shebang-to-python3.patch
new file mode 100644
index 000000000..688da6b20
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr/0001-change-shebang-to-python3.patch
@@ -0,0 +1,42 @@
+From 09bd8368bf0d5385663a10eeb890131481681bdd Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 23 Apr 2020 09:28:58 +0000
+Subject: [PATCH] change shebang to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ pbr/tests/test_integration.py | 2 +-
+ pbr/tests/test_packaging.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pbr/tests/test_integration.py b/pbr/tests/test_integration.py
+index 8e96f21..b07cbe3 100644
+--- a/pbr/tests/test_integration.py
++++ b/pbr/tests/test_integration.py
+@@ -150,7 +150,7 @@ class TestInstallWithoutPbr(base.BaseTestCase):
+ pkgs = {
+ 'pkgTest': {
+ 'setup.py': textwrap.dedent("""\
+- #!/usr/bin/env python
++ #!/usr/bin/env python3
+ import setuptools
+ setuptools.setup(
+ name = 'pkgTest',
+diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py
+index 07be547..f6a9412 100644
+--- a/pbr/tests/test_packaging.py
++++ b/pbr/tests/test_packaging.py
+@@ -206,7 +206,7 @@ class CreatePackages(fixtures.Fixture):
+
+ defaults = {
+ 'setup.py': textwrap.dedent(six.u("""\
+- #!/usr/bin/env python
++ #!/usr/bin/env python3
+ import setuptools
+ setuptools.setup(
+ setup_requires=['pbr'],
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb
deleted file mode 100644
index e7835e7a9..000000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-
-SRC_URI[md5sum] = "477d2aa285ad97250a172b199f4060b7"
-SRC_URI[sha256sum] = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8"
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb
new file mode 100644
index 000000000..6f335ea34
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.4.4.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-pbr.inc
+
+SRC_URI[md5sum] = "65cdc32e1a1ff56d481fc15aa8caf988"
+SRC_URI[sha256sum] = "139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b"
diff --git a/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch b/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
new file mode 100644
index 000000000..00cffe169
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
@@ -0,0 +1,60 @@
+From e7a00e9b5104ae2fbcea32a35c85760b77fae7e5 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 23 Apr 2020 09:42:10 +0000
+Subject: [PATCH] change shebang to python3
+
+Upstream-Status: Pending
+
+pip will drop support of python2 from 21.0
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/pip/_internal/__init__.py | 2 +-
+ src/pip/_vendor/appdirs.py | 2 +-
+ src/pip/_vendor/chardet/cli/chardetect.py | 2 +-
+ src/pip/_vendor/requests/certs.py | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/pip/_internal/__init__.py b/src/pip/_internal/__init__.py
+index 3aa8a46..e1ad179 100755
+--- a/src/pip/_internal/__init__.py
++++ b/src/pip/_internal/__init__.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ import pip._internal.utils.inject_securetransport # noqa
+ from pip._internal.utils.typing import MYPY_CHECK_RUNNING
+
+diff --git a/src/pip/_vendor/appdirs.py b/src/pip/_vendor/appdirs.py
+index 3a52b75..ad3f81d 100644
+--- a/src/pip/_vendor/appdirs.py
++++ b/src/pip/_vendor/appdirs.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ # Copyright (c) 2005-2010 ActiveState Software Inc.
+ # Copyright (c) 2013 Eddy Petrișor
+diff --git a/src/pip/_vendor/chardet/cli/chardetect.py b/src/pip/_vendor/chardet/cli/chardetect.py
+index c61136b..a497e98 100644
+--- a/src/pip/_vendor/chardet/cli/chardetect.py
++++ b/src/pip/_vendor/chardet/cli/chardetect.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ Script which takes one or more file paths and reports on their detected
+ encodings
+diff --git a/src/pip/_vendor/requests/certs.py b/src/pip/_vendor/requests/certs.py
+index 06a594e..bfa7839 100644
+--- a/src/pip/_vendor/requests/certs.py
++++ b/src/pip/_vendor/requests/certs.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ """
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.3.1.bb b/poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb
index d27e6fce5..96973db77 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_19.3.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_20.0.2.bb
@@ -6,8 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
DEPENDS += "python3 python3-setuptools-native"
-SRC_URI[md5sum] = "1aaaf90fbafc50e7ba1e66ffceb00960"
-SRC_URI[sha256sum] = "21207d76c1031e517668898a6b46a9fb1501c7a4710ef5dfd6a40ad9e6757ea7"
+SRC_URI += "file://0001-change-shebang-to-python3.patch"
+
+SRC_URI[md5sum] = "7d42ba49b809604f0df3d55df1c3fd86"
+SRC_URI[sha256sum] = "7db0c8ea4c7ea51c8049640e8e6e7fde949de672bfa4949920675563a5a6967f"
inherit pypi distutils3
diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb
index 5aaa01a00..8f60834c1 100644
--- a/poky/meta/recipes-devtools/python/python3-pycairo_1.18.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.19.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://cairographics.org/pycairo"
BUGTRACKER = "http://bugs.freedesktop.org"
SECTION = "python-devel"
LICENSE = "LGPLv2.1 & MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f2e071ab72978431b294a0d696327421 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \
file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \
file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325"
@@ -13,8 +13,8 @@ DEPENDS = "cairo python3"
SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz"
UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/"
-SRC_URI[md5sum] = "7610da8a40a7bed548991aa3416431d1"
-SRC_URI[sha256sum] = "70172e58b6bad7572a3518c26729b074acdde15e6fee6cbab6d3528ad552b786"
+SRC_URI[md5sum] = "38b84416021640b01250c8f8ec4c52d4"
+SRC_URI[sha256sum] = "4f5ba9374a46c98729dd3727d993f5e17ed0286fd6738ed464fe4efa0612d19c"
S = "${WORKDIR}/pycairo-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.7.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.7.bb
new file mode 100644
index 000000000..8f19984be
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.7.bb
@@ -0,0 +1,5 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.7.bb b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.7.bb
new file mode 100644
index 000000000..abb03b990
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.7.bb
@@ -0,0 +1,9 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "50163324834edd0c9ce3e4512ded3e221c969086e10fdd5d3fdcaadac5e24a78"
+
+FILES_${PN}-tests = " \
+ ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
+ ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/__pycache__/ \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb b/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb
new file mode 100644
index 000000000..575dfc4dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pyelftools_0.26.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "pyelftools is a pure-Python library for parsing and analyzing ELF files and DWARF debugging information"
+HOMEPAGE = "https://github.com/eliben/pyelftools"
+SECTION = "devel/python"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
+
+SRC_URI[md5sum] = "0ba0de4b47127249c4d632ae299cb0e8"
+SRC_URI[sha256sum] = "86ac6cee19f6c945e8dedf78c6ee74f1112bd14da5a658d8c9d4103aed5756a2"
+
+PYPI_PACKAGE = "pyelftools"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb
index 35c0ac6a5..474b95494 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.5.2.bb
@@ -5,8 +5,8 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8"
inherit setuptools3
-SRC_URI[md5sum] = "5ecc3fbb2a783e917b369271fc0e6cd1"
-SRC_URI[sha256sum] = "881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297"
+SRC_URI[md5sum] = "465a35559863089d959d783a69f79b9f"
+SRC_URI[sha256sum] = "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"
DEPENDS += "\
${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb
new file mode 100644
index 000000000..d0c3d0b42
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pyparsing_2.4.7.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-pyparsing.inc
+
diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb
index 5cd595662..9e127304d 100644
--- a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb
@@ -1,7 +1,6 @@
require python3-scons_${PV}.bb
inherit native python3native
-DEPENDS = "python3-native"
-RDEPENDS_${PN} = ""
+DEPENDS = "python3-native python3-setuptools-native"
do_install_append() {
create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1'
diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb
deleted file mode 100644
index 0c7aaeaee..000000000
--- a/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Software Construction tool (make/autotools replacement)"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz"
-SRC_URI[md5sum] = "35b2a3993313bbedd221d4d5758fd2fd"
-SRC_URI[sha256sum] = "4cea417fdd7499a36f407923d03b4b7000b0f9e8fd7b31b316b9ce7eba9143a5"
-
-S = "${WORKDIR}/scons-${PV}"
-
-UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit setuptools3
-
-do_install_prepend() {
- sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/*
-}
-
-RDEPENDS_${PN} = "\
- python3-core \
- python3-fcntl \
- python3-io \
- python3-json \
- python3-shell \
- python3-pickle \
- python3-pprint \
- "
diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb
new file mode 100644
index 000000000..ce117a92d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Software Construction tool (make/autotools replacement)"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-python3-scons-${PV};md5=e14e1b33428df24a40a782ae142785d0"
+
+# pypi package does not have a valid license file
+SRC_URI += "https://raw.githubusercontent.com/SCons/scons/${PV}/LICENSE;downloadfilename=LICENSE-python3-scons-${PV};name=license"
+
+SRC_URI[md5sum] = "f9c4ad06dcf1427be95472eaf380c81a"
+SRC_URI[sha256sum] = "8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f"
+SRC_URI[license.md5sum] = "e14e1b33428df24a40a782ae142785d0"
+SRC_URI[license.sha256sum] = "72ed889165fb28378cadac14552be4a959f1ebab6b148abb5dd2b49712c3c6f6"
+
+S = "${WORKDIR}/scons-${PV}"
+
+UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit pypi setuptools3
+
+do_install_prepend() {
+ sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/*
+}
+
+RDEPENDS_${PN}_class-target = "\
+ python3-core \
+ python3-fcntl \
+ python3-io \
+ python3-json \
+ python3-shell \
+ python3-pickle \
+ python3-pprint \
+ "
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch
new file mode 100644
index 000000000..33af8daed
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-change-shebang-to-python3.patch
@@ -0,0 +1,36 @@
+From c39d0896930e25c224cc897660fc8511ccae30c8 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 23 Apr 2020 10:01:12 +0000
+Subject: [PATCH] change shebang to python3
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ pkg_resources/_vendor/appdirs.py | 2 +-
+ setuptools/command/easy_install.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pkg_resources/_vendor/appdirs.py b/pkg_resources/_vendor/appdirs.py
+index ae67001..933e398 100644
+--- a/pkg_resources/_vendor/appdirs.py
++++ b/pkg_resources/_vendor/appdirs.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+ # Copyright (c) 2005-2010 ActiveState Software Inc.
+ # Copyright (c) 2013 Eddy Petrișor
+diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
+index abca1ae..6bcdc98 100644
+--- a/setuptools/command/easy_install.py
++++ b/setuptools/command/easy_install.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ """
+ Easy Install
+ ------------
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_41.4.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_45.2.0.bb
index 0dc1ed862..0dc1ed862 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_41.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_45.2.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.13.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.13.0.bb
deleted file mode 100644
index 8795313be..000000000
--- a/poky/meta/recipes-devtools/python/python3-six_1.13.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-six.inc
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb
new file mode 100644
index 000000000..151c366ca
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-six_1.14.0.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-six.inc
+
+SRC_URI[md5sum] = "21674588a57e649d1a6d977ec3122140"
+SRC_URI[sha256sum] = "236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a"
diff --git a/poky/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch b/poky/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch
new file mode 100644
index 000000000..594510342
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-testtools/no_traceback2.patch
@@ -0,0 +1,23 @@
+traceback2 adds traceback for python2. Rather than depend on traceback2, we're
+python3 only so just use traceback.
+This caused breakage in oe-selftest -j which uses testtools on the autobuilder
+using buildtools-tarball.
+
+Upstream-Status: Inappropriate [Our recipe is python3 specific]
+(Once py2 is EOL upstream probably could/should take this)
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: testtools-2.3.0/testtools/content.py
+===================================================================
+--- testtools-2.3.0.orig/testtools/content.py
++++ testtools-2.3.0/testtools/content.py
+@@ -19,8 +19,7 @@ import os
+ import sys
+
+ from extras import try_import
+-# To let setup.py work, make this a conditional import.
+-traceback = try_import('traceback2')
++import traceback
+
+ from testtools.compat import (
+ _b,
diff --git a/poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb
index 896ecee65..a254b90a7 100644
--- a/poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-testtools_2.3.0.bb
@@ -1,2 +1,4 @@
inherit setuptools3
require python-testtools.inc
+
+SRC_URI += "file://no_traceback2.patch"
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
index 09f279ba1..59592821d 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
@@ -1,4 +1,4 @@
-From 23294c6ba6896115828293fdb7e67b47b38ba675 Mon Sep 17 00:00:00 2001
+From 039c53dd5baddec3359a05be0bff46a3b32bbb84 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 25 Jan 2019 19:04:13 +0100
Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host
@@ -12,14 +12,14 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/setup.py b/setup.py
-index b4357e3..fbec00d 100644
+index 20d7f35..ab18ff0 100644
--- a/setup.py
+++ b/setup.py
-@@ -856,7 +856,6 @@ class PyBuildExt(build_ext):
+@@ -957,7 +957,6 @@ class PyBuildExt(build_ext):
'termcap'):
readline_libs.append('termcap')
- exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
+ self.add(Extension('readline', ['readline.c'],
+- library_dirs=['/usr/lib/termcap'],
+ extra_link_args=readline_extra_link_args,
+ libraries=readline_libs))
else:
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
index ea75262c4..112c97944 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch
@@ -1,4 +1,4 @@
-From 0fbdad1eaf541a8e92be81f39514cd249b3b0801 Mon Sep 17 00:00:00 2001
+From a078b6ff1492e848ad1055764fb9a414abaf3e12 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 5 Feb 2019 15:52:02 +0100
Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages
@@ -11,13 +11,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Include/pythonrun.h | 2 ++
Lib/site.py | 4 ++--
Makefile.pre.in | 5 +++--
- Modules/getpath.c | 18 ++++++++++++------
+ Modules/getpath.c | 22 ++++++++++++++--------
Python/getplatform.c | 10 ++++++++++
Python/sysmodule.c | 2 ++
- 6 files changed, 31 insertions(+), 10 deletions(-)
+ 6 files changed, 33 insertions(+), 12 deletions(-)
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
-index 6f0c6fc..0a17edd 100644
+index 46091e0..61b2e15 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -7,6 +7,8 @@
@@ -28,12 +28,12 @@ index 6f0c6fc..0a17edd 100644
+
#ifndef Py_LIMITED_API
PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
- PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
+ PyAPI_FUNC(int) PyRun_AnyFileExFlags(
diff --git a/Lib/site.py b/Lib/site.py
-index ffd132b..b55f6d8 100644
+index a065ab0..1d720ef 100644
--- a/Lib/site.py
+++ b/Lib/site.py
-@@ -334,12 +334,12 @@ def getsitepackages(prefixes=None):
+@@ -335,12 +335,12 @@ def getsitepackages(prefixes=None):
seen.add(prefix)
if os.sep == '/':
@@ -49,10 +49,10 @@ index ffd132b..b55f6d8 100644
def addsitepackages(known_paths, prefixes=None):
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 6e81b2f..671a20e 100644
+index 65665df..be49140 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -142,7 +142,7 @@ LIBDIR= @libdir@
+@@ -143,7 +143,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
@@ -61,7 +61,7 @@ index 6e81b2f..671a20e 100644
ABIFLAGS= @ABIFLAGS@
# Detailed destination directories
-@@ -768,6 +768,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
+@@ -753,6 +753,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
-DEXEC_PREFIX='"$(exec_prefix)"' \
-DVERSION='"$(VERSION)"' \
-DVPATH='"$(VPATH)"' \
@@ -69,7 +69,7 @@ index 6e81b2f..671a20e 100644
-o $@ $(srcdir)/Modules/getpath.c
Programs/python.o: $(srcdir)/Programs/python.c
-@@ -856,7 +857,7 @@ regen-opcode:
+@@ -868,7 +869,7 @@ regen-symbol: $(srcdir)/Include/graminit.h
Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h
Python/getplatform.o: $(srcdir)/Python/getplatform.c
@@ -79,72 +79,90 @@ index 6e81b2f..671a20e 100644
Python/importdl.o: $(srcdir)/Python/importdl.c
$(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
diff --git a/Modules/getpath.c b/Modules/getpath.c
-index e6a3e8e..0c62af6 100644
+index b727f66..c003e46 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
-@@ -123,6 +123,7 @@ typedef struct {
- wchar_t *exec_prefix; /* EXEC_PREFIX define */
+@@ -128,6 +128,7 @@ typedef struct {
+ wchar_t *exec_prefix; /* EXEC_PREFIX macro */
wchar_t *lib_python; /* "lib/pythonX.Y" */
+ wchar_t *multilib_python; /* "lib[suffix]/pythonX.Y" */
- wchar_t argv0_path[MAXPATHLEN+1];
- wchar_t zip_path[MAXPATHLEN+1]; /* ".../lib/pythonXY.zip" */
-@@ -314,7 +315,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
+ int prefix_found; /* found platform independent libraries? */
+ int exec_prefix_found; /* found the platform dependent libraries? */
+@@ -386,7 +387,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
if (delim) {
*delim = L'\0';
}
-- joinpath(prefix, calculate->lib_python);
-+ joinpath(prefix, calculate->multilib_python);
- joinpath(prefix, LANDMARK);
- return 1;
- }
-@@ -343,7 +344,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
- copy_absolute(prefix, calculate->argv0_path, MAXPATHLEN+1);
+- status = joinpath(prefix, calculate->lib_python, prefix_len);
++ status = joinpath(prefix, calculate->multilib_python, prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+@@ -444,7 +445,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
do {
- n = wcslen(prefix);
-- joinpath(prefix, calculate->lib_python);
-+ joinpath(prefix, calculate->multilib_python);
- joinpath(prefix, LANDMARK);
- if (ismodule(prefix)) {
- return 1;
-@@ -355,7 +356,7 @@ search_for_prefix(const _PyCoreConfig *core_config,
- /* Look at configure's PREFIX */
- wcsncpy(prefix, calculate->prefix, MAXPATHLEN);
- prefix[MAXPATHLEN] = L'\0';
-- joinpath(prefix, calculate->lib_python);
-+ joinpath(prefix, calculate->multilib_python);
- joinpath(prefix, LANDMARK);
- if (ismodule(prefix)) {
- return 1;
-@@ -427,7 +428,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
- wcsncpy(exec_prefix, core_config->home, MAXPATHLEN);
+ /* Path: <argv0_path or substring> / <lib_python> / LANDMARK */
+ size_t n = wcslen(prefix);
+- status = joinpath(prefix, calculate->lib_python, prefix_len);
++ status = joinpath(prefix, calculate->multilib_python, prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
}
- exec_prefix[MAXPATHLEN] = L'\0';
-- joinpath(exec_prefix, calculate->lib_python);
-+ joinpath(exec_prefix, calculate->multilib_python);
- joinpath(exec_prefix, L"lib-dynload");
- return 1;
+@@ -467,7 +468,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+ if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
+ return PATHLEN_ERR();
+ }
+- status = joinpath(prefix, calculate->lib_python, prefix_len);
++ status = joinpath(prefix, calculate->multilib_python, prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
}
-@@ -464,7 +465,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
- copy_absolute(exec_prefix, calculate->argv0_path, MAXPATHLEN+1);
+@@ -510,7 +511,7 @@ calculate_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+ if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) {
+ return PATHLEN_ERR();
+ }
+- status = joinpath(prefix, calculate->lib_python, prefix_len);
++ status = joinpath(prefix, calculate->multilib_python, prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+@@ -635,7 +636,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+ return PATHLEN_ERR();
+ }
+ }
+- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+@@ -667,7 +668,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
do {
- n = wcslen(exec_prefix);
-- joinpath(exec_prefix, calculate->lib_python);
-+ joinpath(exec_prefix, calculate->multilib_python);
- joinpath(exec_prefix, L"lib-dynload");
- if (isdir(exec_prefix)) {
- return 1;
-@@ -476,7 +477,7 @@ search_for_exec_prefix(const _PyCoreConfig *core_config,
- /* Look at configure's EXEC_PREFIX */
- wcsncpy(exec_prefix, calculate->exec_prefix, MAXPATHLEN);
- exec_prefix[MAXPATHLEN] = L'\0';
-- joinpath(exec_prefix, calculate->lib_python);
-+ joinpath(exec_prefix, calculate->multilib_python);
- joinpath(exec_prefix, L"lib-dynload");
- if (isdir(exec_prefix)) {
- return 1;
-@@ -871,6 +872,10 @@ calculate_init(PyCalculatePath *calculate,
+ /* Path: <argv0_path or substring> / <lib_python> / "lib-dynload" */
+ size_t n = wcslen(exec_prefix);
+- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+@@ -689,7 +690,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
+ if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) {
+ return PATHLEN_ERR();
+ }
+- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len);
++ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ return status;
+ }
+@@ -928,7 +929,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat
+ return PATHLEN_ERR();
+ }
+ reduce(argv0_path);
+- status = joinpath(argv0_path, calculate->lib_python, argv0_path_len);
++ status = joinpath(argv0_path, calculate->multilib_python, argv0_path_len);
+ if (_PyStatus_EXCEPTION(status)) {
+ PyMem_RawFree(wbuf);
+ return status;
+@@ -1201,6 +1202,10 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config)
if (!calculate->lib_python) {
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
}
@@ -152,10 +170,10 @@ index e6a3e8e..0c62af6 100644
+ if (!calculate->multilib_python) {
+ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
+ }
- return _Py_INIT_OK();
- }
-@@ -882,6 +887,7 @@ calculate_free(PyCalculatePath *calculate)
+ calculate->warnings = config->pathconfig_warnings;
+ calculate->pythonpath_env = config->pythonpath_env;
+@@ -1216,6 +1221,7 @@ calculate_free(PyCalculatePath *calculate)
PyMem_RawFree(calculate->prefix);
PyMem_RawFree(calculate->exec_prefix);
PyMem_RawFree(calculate->lib_python);
@@ -182,10 +200,10 @@ index 81a0f7a..d55396b 100644
+ return LIB;
+}
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
-index efe5b29..de77b17 100644
+index 5b0fb81..0dce754 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
-@@ -2319,6 +2319,8 @@ _PySys_BeginInit(PyObject **sysmod)
+@@ -2668,6 +2668,8 @@ _PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp,
PyUnicode_FromString(Py_GetCopyright()));
SET_SYS_FROM_STRING("platform",
PyUnicode_FromString(Py_GetPlatform()));
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
new file mode 100644
index 000000000..acf8e1e9b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
@@ -0,0 +1,29 @@
+From 85e8f86ad2b7dec0848cd55b8e810a5e2722b20a Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Wed, 4 Mar 2020 00:06:42 +0000
+Subject: [PATCH] Don't search system for headers/libraries
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+---
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 9da1b3a..59782c0 100644
+--- a/setup.py
++++ b/setup.py
+@@ -674,8 +674,8 @@ class PyBuildExt(build_ext):
+ add_dir_to_list(self.compiler.include_dirs,
+ sysconfig.get_config_var("INCLUDEDIR"))
+
+- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']
+- system_include_dirs = ['/usr/include']
++ system_lib_dirs = []
++ system_include_dirs = []
+ # lib_dirs and inc_dirs are used to search for files;
+ # if a file is found in one of those directories, it can
+ # be assumed that no additional -I,-L directives are needed.
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
new file mode 100644
index 000000000..b1bceac51
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
@@ -0,0 +1,58 @@
+From c501e121a872cbcef8ffe626c1de173a125be9f8 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 16 Jan 2020 12:34:20 +0100
+Subject: [PATCH] Makefile: do not compile .pyc in parallel
+
+This was found to break reproducibility, and produce strange file ownership
+races.
+
+The upstream commit introducing the change was:
+https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.pre.in | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 1241112..5dfdf44 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1457,30 +1457,30 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
+ fi
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST) -f \
++ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST) -f \
++ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST) -f \
++ -d $(LIBDEST) -f \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ $(DESTDIR)$(LIBDEST)
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST)/site-packages -f \
++ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST)/site-packages -f \
++ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
+- -j0 -d $(LIBDEST)/site-packages -f \
++ -d $(LIBDEST)/site-packages -f \
+ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
+ $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
index e7af88654..c4fae09a5 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
@@ -1,4 +1,4 @@
-From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001
+From 1ad771d86728ee2ed30e202e9768d8d825f96467 Mon Sep 17 00:00:00 2001
From: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Date: Fri, 31 May 2019 15:34:34 +0200
Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft
@@ -12,15 +12,17 @@ to do this in a more autoconf/autotools manner.
Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196]
Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
+
+%% original patch: 0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch
---
- configure.ac | 169 ++++++---------------------------------------------
- 1 file changed, 17 insertions(+), 152 deletions(-)
+ configure.ac | 175 +++++++--------------------------------------------
+ 1 file changed, 21 insertions(+), 154 deletions(-)
diff --git a/configure.ac b/configure.ac
-index a7de901e08..a73e2de51b 100644
+index ede710e..bc81b0b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -727,158 +727,23 @@ fi
+@@ -710,160 +710,27 @@ fi
MULTIARCH=$($CC --print-multiarch 2>/dev/null)
AC_SUBST(MULTIARCH)
@@ -163,6 +165,8 @@ index a7de901e08..a73e2de51b 100644
- i386-gnu
-#elif defined(__APPLE__)
- darwin
+-#elif defined(__VXWORKS__)
+- vxworks
-#else
-# error unknown platform triplet
-#endif
@@ -190,12 +194,16 @@ index a7de901e08..a73e2de51b 100644
+ PLATFORM_TRIPLET=vxworks
+ ;;
+ *)
-+ PLATFORM_TRIPLET=${target_cpu}-${target_os}
++ if test "${target_cpu}" != "i686"; then
++ PLATFORM_TRIPLET=${target_cpu}-${target_os}
++ else
++ PLATFORM_TRIPLET=i386-${target_os}
++ fi
+ ;;
+esac
if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then
if test x$PLATFORM_TRIPLET != x$MULTIARCH; then
--
-2.21.0
+2.24.1
diff --git a/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch b/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch
new file mode 100644
index 000000000..123ce3a2d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch
@@ -0,0 +1,35 @@
+From acce3d441e7eadadd2d3ce38654155dc43f1f607 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 7 Feb 2020 09:36:25 +0800
+Subject: [PATCH] configure.ac: fix LIBPL
+
+Use LIBDIR rather than prefix/lib, so that it would work when lib64.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Li Zhou <li.zhou@windriver.c>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce04258..915f475 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4532,9 +4532,9 @@ fi
+ dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
+ AC_SUBST(PY_ENABLE_SHARED)
+ if test x$PLATFORM_TRIPLET = x; then
+- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
++ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}"
+ else
+- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
++ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
+ fi
+ AC_SUBST(LIBPL)
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
index 1709011be..e7af3c6f5 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch
@@ -1,4 +1,4 @@
-From eff903c600f4c40f5753e95ab1557126fc6e0c9c Mon Sep 17 00:00:00 2001
+From 7ada9c749f6beb51c13a3debc850755e911548a6 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 31 Jan 2019 16:46:30 +0100
Subject: [PATCH] distutils/sysconfig: append
@@ -15,10 +15,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 4 insertions(+)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 0a034ee..3dfd0a3 100644
+index b51629e..2df348c 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -439,6 +439,8 @@ def _init_posix():
+@@ -438,6 +438,8 @@ def _init_posix():
platform=sys.platform,
multiarch=getattr(sys.implementation, '_multiarch', ''),
))
@@ -28,7 +28,7 @@ index 0a034ee..3dfd0a3 100644
build_time_vars = _temp.build_time_vars
global _config_vars
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 87fa5e6..756a41c 100644
+index b2d790b..405273c 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -419,6 +419,8 @@ def _init_posix(vars):
diff --git a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
deleted file mode 100644
index a146c747f..000000000
--- a/poky/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5ce3ac59531828ff682646fbba59b2126b28a8aa Mon Sep 17 00:00:00 2001
-From: Jaewon Lee <jaewon.lee@xilinx.com>
-Date: Thu, 25 Apr 2019 15:34:26 -0700
-Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME
-
-There is one variable PYTHONHOME to determine where libraries are coming
-from for both python2 and python3. This becomes an issue if only one has
-libraries in the specified PYTHONHOME path, but they are using the same
-PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way
-to set a different path for python3
-
-Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
-
-Upstream-Status: Inappropriate [OE specific configuration]
-
----
- Modules/main.c | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/Modules/main.c b/Modules/main.c
-index acc59c6..407085a 100644
---- a/Modules/main.c
-+++ b/Modules/main.c
-@@ -1834,10 +1834,19 @@ config_init_home(_PyCoreConfig *config)
- }
- return _Py_INIT_OK();
- }
--
-- int res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
-- if (res < 0) {
-- return DECODE_LOCALE_ERR("PYTHONHOME", res);
-+ int res;
-+ const char *oepython3home = config_get_env_var("OEPYTHON3HOME");
-+ if (oepython3home) {
-+ res = config_get_env_var_dup(&home, L"OEPYTHON3HOME", "OEPYTHON3HOME");
-+ if (res < 0) {
-+ return DECODE_LOCALE_ERR("OEPYTHON3HOME", res);
-+ }
-+ }
-+ else {
-+ res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME");
-+ if (res < 0) {
-+ return DECODE_LOCALE_ERR("PYTHONHOME", res);
-+ }
- }
- config->home = home;
- return _Py_INIT_OK();
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
new file mode 100644
index 000000000..fe031b998
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
@@ -0,0 +1,43 @@
+From bb711b53f10d32a90a27ccf4b0dc51e4a701d862 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 7 Feb 2020 09:42:09 +0800
+Subject: [PATCH] python3: Do not hardcode "lib" for distutils
+
+Get the sys.lib from python3 itself and do not use
+hardcoded value of 'lib' for distutils.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Lib/distutils/command/install.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
+index c625c95..8e32f54 100644
+--- a/Lib/distutils/command/install.py
++++ b/Lib/distutils/command/install.py
+@@ -19,6 +19,8 @@ from site import USER_BASE
+ from site import USER_SITE
+ HAS_USER_SITE = True
+
++libname = sys.lib
++
+ WINDOWS_SCHEME = {
+ 'purelib': '$base/Lib/site-packages',
+ 'platlib': '$base/Lib/site-packages',
+@@ -29,8 +31,8 @@ WINDOWS_SCHEME = {
+
+ INSTALL_SCHEMES = {
+ 'unix_prefix': {
+- 'purelib': '$base/lib/python$py_version_short/site-packages',
+- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
++ 'purelib': '$base/' + libname + '/python$py_version_short/site-packages',
++ 'platlib': '$platbase/' + libname + '/python$py_version_short/site-packages',
+ 'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
+ 'scripts': '$base/bin',
+ 'data' : '$base',
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index a0ea897f4..fb10ca94b 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -1,4 +1,4 @@
-From 2645317fef09afe31b01bb2c1d4fe5b9afdbb11a Mon Sep 17 00:00:00 2001
+From 994783da5c21cab81b6589ed2d4275e665a946f9 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 22 Oct 2018 15:19:51 +0800
Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
@@ -21,12 +21,13 @@ Signed-off-by: Li Zhou <li.zhou@windriver.com>
patch originally from Li Zhou, I just rework it to new version
Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
---
configure.ac | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/configure.ac b/configure.ac
-index a7de901..4a3681f 100644
+index a189d42..0f85486 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h)
@@ -37,7 +38,7 @@ index a7de901..4a3681f 100644
# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
rm -f pybuilddir.txt
-@@ -695,7 +696,7 @@ AC_MSG_RESULT($with_cxx_main)
+@@ -671,7 +672,7 @@ AC_MSG_RESULT($with_cxx_main)
preset_cxx="$CXX"
if test -z "$CXX"
then
@@ -46,7 +47,7 @@ index a7de901..4a3681f 100644
gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
-@@ -979,7 +980,7 @@ rmdir CaseSensitiveTestDir
+@@ -957,7 +958,7 @@ rmdir CaseSensitiveTestDir
case $ac_sys_system in
hp*|HP*)
@@ -55,7 +56,7 @@ index a7de901..4a3681f 100644
cc|*/cc) CC="$CC -Ae";;
esac;;
esac
-@@ -1336,7 +1337,7 @@ else
+@@ -1335,7 +1336,7 @@ else
fi],
[AC_MSG_RESULT(no)])
if test "$Py_LTO" = 'true' ; then
@@ -64,7 +65,7 @@ index a7de901..4a3681f 100644
*clang*)
AC_SUBST(LLVM_AR)
AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path})
-@@ -1426,7 +1427,7 @@ then
+@@ -1425,7 +1426,7 @@ then
fi
fi
LLVM_PROF_ERR=no
@@ -73,16 +74,16 @@ index a7de901..4a3681f 100644
*clang*)
# Any changes made here should be reflected in the GCC+Darwin case below
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
-@@ -1500,7 +1501,7 @@ then
- WRAP="-fwrapv"
- fi
+@@ -1486,7 +1487,7 @@ esac
+ # compiler and platform. BASECFLAGS tweaks need to be made even if the
+ # user set OPT.
-- case $CC in
-+ case $cc_basename in
- *clang*)
- cc_is_clang=1
- ;;
-@@ -1623,7 +1624,7 @@ yes)
+-case $CC in
++case $cc_basename in
+ *clang*)
+ cc_is_clang=1
+ ;;
+@@ -1622,7 +1623,7 @@ yes)
# ICC doesn't recognize the option, but only emits a warning
## XXX does it emit an unused result warning and can it be disabled?
@@ -91,7 +92,7 @@ index a7de901..4a3681f 100644
*icc*)
ac_cv_disable_unused_result_warning=no
;;
-@@ -1965,7 +1966,7 @@ yes)
+@@ -1943,7 +1944,7 @@ yes)
esac
# ICC needs -fp-model strict or floats behave badly
@@ -100,7 +101,7 @@ index a7de901..4a3681f 100644
*icc*)
CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
;;
-@@ -2727,7 +2728,7 @@ then
+@@ -2711,7 +2712,7 @@ then
then
LINKFORSHARED="-Wl,--export-dynamic"
fi;;
@@ -109,7 +110,7 @@ index a7de901..4a3681f 100644
*gcc*)
if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
then
-@@ -5429,7 +5430,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
+@@ -5362,7 +5363,7 @@ if test "$have_gcc_asm_for_x87" = yes; then
# Some versions of gcc miscompile inline asm:
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
# http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
diff --git a/poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch b/poky/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
index b9d5bc9c5..d38ed61dd 100644
--- a/poky/meta/recipes-devtools/python/python3/0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch
@@ -1,6 +1,6 @@
-From b881a79adcd4ae5ac8fe4f49d0fc77c47f777919 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 4 Aug 2017 11:16:14 +0800
+From 7019ba184b828ed7253750cf409fc5760ef90a54 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 9 Jan 2020 17:44:05 +0100
Subject: [PATCH] setup.py: pass missing libraries to Extension for
multiprocessing module
@@ -46,35 +46,24 @@ ValueError: semaphore or lock released too many times
And the semaphore issue also caused multiprocessing.Queue().put() hung.
-Upstream-Status: Submitted [https://github.com/python/cpython/pull/2999]
+Upstream-Status: Pensing
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- setup.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
-index b7a36a6..658ead3 100644
+index ec3f2a4..b0f1541 100644
--- a/setup.py
+++ b/setup.py
-@@ -1584,8 +1584,10 @@ class PyBuildExt(build_ext):
- elif host_platform.startswith('netbsd'):
- macros = dict()
- libraries = []
--
-- else: # Linux and other unices
-+ elif host_platform.startswith(('linux')):
-+ macros = dict()
-+ libraries = ['pthread']
-+ else: # Other unices
- macros = dict()
- libraries = ['rt']
+@@ -1671,7 +1671,7 @@ class PyBuildExt(build_ext):
+ libraries=libs,
+ include_dirs=["Modules/_multiprocessing"]))
-@@ -1603,6 +1605,7 @@ class PyBuildExt(build_ext):
-
- exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
- define_macros=list(macros.items()),
-+ libraries=libraries,
- include_dirs=["Modules/_multiprocessing"]))
- # End multiprocessing
+- self.add(Extension('_multiprocessing', multiprocessing_srcs,
++ self.add(Extension('_multiprocessing', multiprocessing_srcs, libraries=['pthread'],
+ include_dirs=["Modules/_multiprocessing"]))
+ def detect_uuid(self):
diff --git a/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch b/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
deleted file mode 100644
index 3721e7c2a..000000000
--- a/poky/meta/recipes-devtools/python/python3/0002-Don-t-do-runtime-test-to-get-float-byte-order.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From fa96a7fd19e17b9c6b4dd01c3c3774fb382dddc6 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Wed, 5 Sep 2018 11:45:52 +0100
-Subject: [PATCH] Don't do runtime test to get float byte order
-
-Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
-and falls back onto "I don't know" if it can't run code. This results in
-crippled floating point numbers in Python, and the regression tests fail.
-
-Instead of running code, take a macro from autoconf-archive which compiles C
-with a special double in which has an ASCII representation, and then greps the
-binary to identify the format.
-
-Upstream-Status: Submitted [https://bugs.python.org/issue34585]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- configure.ac | 72 +++------------------------
- m4/ax_c_float_words_bigendian.m4 | 83 ++++++++++++++++++++++++++++++++
- 2 files changed, 90 insertions(+), 65 deletions(-)
- create mode 100644 m4/ax_c_float_words_bigendian.m4
-
-diff --git a/configure.ac b/configure.ac
-index 4a3681f..4ab19a6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -4328,77 +4328,19 @@ fi
- # * Check for various properties of floating point *
- # **************************************************
-
--AC_MSG_CHECKING(whether C doubles are little-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_little_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x05\x04\x03\x02\x01\xff\x3f\x43", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_little_endian_double=yes],
--[ac_cv_little_endian_double=no],
--[ac_cv_little_endian_double=no])])
--AC_MSG_RESULT($ac_cv_little_endian_double)
--if test "$ac_cv_little_endian_double" = yes
--then
-- AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
-- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- with the least significant byte first])
--fi
--
--AC_MSG_CHECKING(whether C doubles are big-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_big_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x43\x3f\xff\x01\x02\x03\x04\x05", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_big_endian_double=yes],
--[ac_cv_big_endian_double=no],
--[ac_cv_big_endian_double=no])])
--AC_MSG_RESULT($ac_cv_big_endian_double)
--if test "$ac_cv_big_endian_double" = yes
-+AX_C_FLOAT_WORDS_BIGENDIAN
-+if test "$ax_cv_c_float_words_bigendian" = "yes"
- then
- AC_DEFINE(DOUBLE_IS_BIG_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
- with the most significant byte first])
--fi
--
--# Some ARM platforms use a mixed-endian representation for doubles.
--# While Python doesn't currently have full support for these platforms
--# (see e.g., issue 1762561), we can at least make sure that float <-> string
--# conversions work.
--AC_MSG_CHECKING(whether C doubles are ARM mixed-endian IEEE 754 binary64)
--AC_CACHE_VAL(ac_cv_mixed_endian_double, [
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <string.h>
--int main() {
-- double x = 9006104071832581.0;
-- if (memcmp(&x, "\x01\xff\x3f\x43\x05\x04\x03\x02", 8) == 0)
-- return 0;
-- else
-- return 1;
--}
--]])],
--[ac_cv_mixed_endian_double=yes],
--[ac_cv_mixed_endian_double=no],
--[ac_cv_mixed_endian_double=no])])
--AC_MSG_RESULT($ac_cv_mixed_endian_double)
--if test "$ac_cv_mixed_endian_double" = yes
-+elif test "$ax_cv_c_float_words_bigendian" = "no"
- then
-- AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
-+ AC_DEFINE(DOUBLE_IS_LITTLE_ENDIAN_IEEE754, 1,
- [Define if C doubles are 64-bit IEEE 754 binary format, stored
-- in ARM mixed-endian order (byte order 45670123)])
-+ with the least significant byte first])
-+else
-+ AC_MSG_ERROR([Cannot identify floating point byte order])
- fi
-
- # The short float repr introduced in Python 3.1 requires the
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000..216b90d
---- /dev/null
-+++ b/m4/ax_c_float_words_bigendian.m4
-@@ -0,0 +1,83 @@
-+# ===============================================================================
-+# https://www.gnu.org/software/autoconf-archive/ax_c_float_words_bigendian.html
-+# ===============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_C_FLOAT_WORDS_BIGENDIAN([ACTION-IF-TRUE], [ACTION-IF-FALSE], [ACTION-IF-UNKNOWN])
-+#
-+# DESCRIPTION
-+#
-+# Checks the ordering of words within a multi-word float. This check is
-+# necessary because on some systems (e.g. certain ARM systems), the float
-+# word ordering can be different from the byte ordering. In a multi-word
-+# float context, "big-endian" implies that the word containing the sign
-+# bit is found in the memory location with the lowest address. This
-+# implementation was inspired by the AC_C_BIGENDIAN macro in autoconf.
-+#
-+# The endianness is detected by first compiling C code that contains a
-+# special double float value, then grepping the resulting object file for
-+# certain strings of ASCII values. The double is specially crafted to have
-+# a binary representation that corresponds with a simple string. In this
-+# implementation, the string "noonsees" was selected because the
-+# individual word values ("noon" and "sees") are palindromes, thus making
-+# this test byte-order agnostic. If grep finds the string "noonsees" in
-+# the object file, the target platform stores float words in big-endian
-+# order. If grep finds "seesnoon", float words are in little-endian order.
-+# If neither value is found, the user is instructed to specify the
-+# ordering.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Daniel Amelang <dan@amelang.net>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 11
-+
-+AC_DEFUN([AX_C_FLOAT_WORDS_BIGENDIAN],
-+ [AC_CACHE_CHECK(whether float word ordering is bigendian,
-+ ax_cv_c_float_words_bigendian, [
-+
-+ax_cv_c_float_words_bigendian=unknown
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-+
-+double d = 90904234967036810337470478905505011476211692735615632014797120844053488865816695273723469097858056257517020191247487429516932130503560650002327564517570778480236724525140520121371739201496540132640109977779420565776568942592.0;
-+
-+]])], [
-+
-+if grep noonsees conftest.$ac_objext >/dev/null ; then
-+ ax_cv_c_float_words_bigendian=yes
-+fi
-+if grep seesnoon conftest.$ac_objext >/dev/null ; then
-+ if test "$ax_cv_c_float_words_bigendian" = unknown; then
-+ ax_cv_c_float_words_bigendian=no
-+ else
-+ ax_cv_c_float_words_bigendian=unknown
-+ fi
-+fi
-+
-+])])
-+
-+case $ax_cv_c_float_words_bigendian in
-+ yes)
-+ m4_default([$1],
-+ [AC_DEFINE([FLOAT_WORDS_BIGENDIAN], 1,
-+ [Define to 1 if your system stores words within floats
-+ with the most significant word first])]) ;;
-+ no)
-+ $2 ;;
-+ *)
-+ m4_default([$3],
-+ [AC_MSG_ERROR([
-+
-+Unknown float word ordering. You need to manually preset
-+ax_cv_c_float_words_bigendian=no (or yes) according to your system.
-+
-+ ])]) ;;
-+esac
-+
-+])# AX_C_FLOAT_WORDS_BIGENDIAN
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
index c15295c03..4bd98f62f 100644
--- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
@@ -1,4 +1,4 @@
-From e3b59cb9658e1d3efa3535840939a0fa92a70a5a Mon Sep 17 00:00:00 2001
+From a2dd127b4163aff6cc35af0d0251321964232ad4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 7 Oct 2019 13:22:14 +0200
Subject: [PATCH] setup.py: do not report missing dependencies for disabled
@@ -10,22 +10,23 @@ build completeness checker which relies on the report.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
setup.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/setup.py b/setup.py
-index 4b53668..0097643 100644
+index 7691258..ec3f2a4 100644
--- a/setup.py
+++ b/setup.py
-@@ -365,6 +365,10 @@ class PyBuildExt(build_ext):
+@@ -408,6 +408,10 @@ class PyBuildExt(build_ext):
print("%-*s %-*s %-*s" % (longest, e, longest, f,
longest, g))
+ # There is no need to report missing module dependencies,
+ # if the modules have been disabled in the first place.
-+ missing = list(set(missing) - set(sysconf_dis))
++ self.missing = list(set(self.missing) - set(sysconf_dis))
+
- if missing:
+ if self.missing:
print()
print("Python build finished successfully!")
diff --git a/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch b/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
new file mode 100644
index 000000000..e04a91605
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
@@ -0,0 +1,48 @@
+From 863c09f640a5dfd33ff22915b0d5fee7bc5df70a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 16 Feb 2020 17:50:25 +0100
+Subject: [PATCH] configure.ac, setup.py: do not add a curses include path from
+ the host
+
+This leads to host contamination, and particularly can cause
+curses modules to fail at runtime if the host curses is configured
+differently to native curses (observed on current OpenSuse Tumbleweed
+as dnf failures).
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 6 ------
+ setup.py | 2 --
+ 2 files changed, 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 915f475..c911011 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4828,12 +4828,6 @@ then
+ [Define if you have struct stat.st_mtimensec])
+ fi
+
+-# first curses header check
+-ac_save_cppflags="$CPPFLAGS"
+-if test "$cross_compiling" = no; then
+- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
+-fi
+-
+ AC_CHECK_HEADERS(curses.h ncurses.h)
+
+ # On Solaris, term.h requires curses.h
+diff --git a/setup.py b/setup.py
+index b0f1541..7208cd0 100644
+--- a/setup.py
++++ b/setup.py
+@@ -973,8 +973,6 @@ class PyBuildExt(build_ext):
+ panel_library = 'panel'
+ if curses_library == 'ncursesw':
+ curses_defines.append(('HAVE_NCURSESW', '1'))
+- if not CROSS_COMPILING:
+- curses_includes.append('/usr/include/ncursesw')
+ # Bug 1464056: If _curses.so links with ncursesw,
+ # _curses_panel.so must link with panelw.
+ panel_library = 'panelw'
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index d49604ba4..61ac3e71d 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From a274ba778838824efcacaba57c415b7262f779ec Mon Sep 17 00:00:00 2001
+From 251347fc970a397a9cd63ed3f87c5e6c52e15187 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
Subject: [PATCH] python3: Add target and native recipes
@@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [embedded specific]
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 3dfd0a3..6c6b09a 100644
+index 2df348c..4f8db84 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -97,7 +97,9 @@ def get_python_inc(plat_specific=0, prefix=None):
+@@ -96,7 +96,9 @@ def get_python_inc(plat_specific=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -32,7 +32,7 @@ index 3dfd0a3..6c6b09a 100644
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
if os.name == "posix":
if python_build:
-@@ -140,7 +142,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -139,7 +141,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -47,7 +47,7 @@ index 3dfd0a3..6c6b09a 100644
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
else:
-@@ -148,7 +156,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -147,7 +155,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
if os.name == "posix":
libpython = os.path.join(prefix,
diff --git a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
index 24e67b4ca..184540e79 100644
--- a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
+++ b/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
@@ -1,4 +1,4 @@
-From fead48c8b501a8d7c3db21df2e599f90f38f11d3 Mon Sep 17 00:00:00 2001
+From ba7202700578d435b07cfdfb7b57e83185752800 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Mon, 28 Jan 2019 15:57:54 +0000
Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
@@ -11,26 +11,21 @@ Also simply disable the tk module since its not in DEPENDS.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
- setup.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
+ setup.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
-index fbec00d..b7a36a6 100644
+index ab18ff0..7691258 100644
--- a/setup.py
+++ b/setup.py
-@@ -1623,10 +1623,12 @@ class PyBuildExt(build_ext):
- self.extensions.extend(exts)
+@@ -1706,8 +1706,8 @@ class PyBuildExt(build_ext):
+ self.detect_decimal()
+ self.detect_ctypes()
+ self.detect_multiprocessing()
+- if not self.detect_tkinter():
+- self.missing.append('_tkinter')
++# if not self.detect_tkinter():
++# self.missing.append('_tkinter')
+ self.detect_uuid()
- # Call the method for detecting whether _tkinter can be compiled
-- self.detect_tkinter(inc_dirs, lib_dirs)
-+ # self.detect_tkinter(inc_dirs, lib_dirs)
-
-- if '_tkinter' not in [e.name for e in self.extensions]:
-- missing.append('_tkinter')
-+ # tkinter module will not be avalaible as yocto
-+ # doesn't have tk integrated (yet)
-+ #if '_tkinter' not in [e.name for e in self.extensions]:
-+ # missing.append('_tkinter')
-
- # Build the _uuid module if possible
- uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])
+ ## # Uncomment these lines if you want to play with xxmodule.c
diff --git a/poky/meta/recipes-devtools/python/python3/python-config.patch b/poky/meta/recipes-devtools/python/python3/python-config.patch
index f23b8b7df..c8a8f3d4a 100644
--- a/poky/meta/recipes-devtools/python/python3/python-config.patch
+++ b/poky/meta/recipes-devtools/python/python3/python-config.patch
@@ -1,4 +1,7 @@
-python-config: Revert to using distutils.sysconfig
+From 07df0ae0d70cba6d1847fe1c24a71063930bec60 Mon Sep 17 00:00:00 2001
+From: Tyler Hall <tylerwhall@gmail.com>
+Date: Sun, 4 May 2014 20:06:43 -0400
+Subject: [PATCH] python-config: Revert to using distutils.sysconfig
The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in
@@ -12,11 +15,16 @@ Upstream-Status: Inappropriate [Embedded Specific]
Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
:
-Index: Python-3.3.3/Misc/python-config.in
-===================================================================
---- Python-3.3.3.orig/Misc/python-config.in
-+++ Python-3.3.3/Misc/python-config.in
-@@ -4,7 +4,7 @@
+
+---
+ Misc/python-config.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Misc/python-config.in b/Misc/python-config.in
+index 727c4a8..c702829 100644
+--- a/Misc/python-config.in
++++ b/Misc/python-config.in
+@@ -6,7 +6,7 @@
import getopt
import os
import sys
@@ -24,8 +32,8 @@ Index: Python-3.3.3/Misc/python-config.in
+from distutils import sysconfig
valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
- 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir']
-@@ -32,14 +32,14 @@ if '--help' in opt_flags:
+ 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir',
+@@ -35,14 +35,14 @@ if '--help' in opt_flags:
for opt in opt_flags:
if opt == '--prefix':
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index dba92b0e3..3bcc9b866 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -122,7 +122,8 @@
"logging",
"netclient",
"numbers",
- "stringold"
+ "stringold",
+ "typing"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/asyncio",
@@ -182,26 +183,15 @@
"compression": {
"summary": "Python high-level compression support",
"rdepends": [
- "core",
- "shell",
- "unixadmin"
+ "core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
- "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
"${libdir}/python${PYTHON_MAJMIN}/gzip.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
"${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
"${libdir}/python${PYTHON_MAJMIN}/zipfile.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc"
]
@@ -210,12 +200,10 @@
"summary": "Python interpreter and core modules",
"rdepends": [],
"files": [
- "${bindir}/python3",
"${bindir}/python${PYTHON_MAJMIN}",
"${bindir}/python${PYTHON_MAJMIN}.real",
- "${bindir}/python${PYTHON_BINABI}",
- "${includedir}/python${PYTHON_BINABI}/pyconfig*.h",
- "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]",
+ "${bindir}/python3",
+ "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
"${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
"${libdir}/python${PYTHON_MAJMIN}/UserList.py",
"${libdir}/python${PYTHON_MAJMIN}/UserString.py",
@@ -223,6 +211,7 @@
"${libdir}/python${PYTHON_MAJMIN}/_abcoll.py",
"${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py",
"${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",
+ "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
"${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",
"${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",
"${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",
@@ -231,6 +220,7 @@
"${libdir}/python${PYTHON_MAJMIN}/argparse.py",
"${libdir}/python${PYTHON_MAJMIN}/ast.py",
"${libdir}/python${PYTHON_MAJMIN}/bisect.py",
+ "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
"${libdir}/python${PYTHON_MAJMIN}/code.py",
"${libdir}/python${PYTHON_MAJMIN}/codecs.py",
"${libdir}/python${PYTHON_MAJMIN}/codeop.py",
@@ -247,6 +237,7 @@
"${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py",
"${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py",
"${libdir}/python${PYTHON_MAJMIN}/enum.py",
+ "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
"${libdir}/python${PYTHON_MAJMIN}/functools.py",
"${libdir}/python${PYTHON_MAJMIN}/genericpath.py",
"${libdir}/python${PYTHON_MAJMIN}/getopt.py",
@@ -267,13 +258,16 @@
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so",
@@ -281,14 +275,18 @@
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
"${libdir}/python${PYTHON_MAJMIN}/linecache.py",
"${libdir}/python${PYTHON_MAJMIN}/locale.py",
+ "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
"${libdir}/python${PYTHON_MAJMIN}/new.py",
"${libdir}/python${PYTHON_MAJMIN}/ntpath.py",
"${libdir}/python${PYTHON_MAJMIN}/opcode.py",
"${libdir}/python${PYTHON_MAJMIN}/operator.py",
"${libdir}/python${PYTHON_MAJMIN}/optparse.py",
"${libdir}/python${PYTHON_MAJMIN}/os.py",
+ "${libdir}/python${PYTHON_MAJMIN}/pathlib.py",
+ "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
"${libdir}/python${PYTHON_MAJMIN}/platform.py",
"${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
"${libdir}/python${PYTHON_MAJMIN}/re.py",
@@ -296,6 +294,7 @@
"${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
"${libdir}/python${PYTHON_MAJMIN}/runpy.py",
"${libdir}/python${PYTHON_MAJMIN}/selectors.py",
+ "${libdir}/python${PYTHON_MAJMIN}/shutil.py",
"${libdir}/python${PYTHON_MAJMIN}/signal.py",
"${libdir}/python${PYTHON_MAJMIN}/site.py",
"${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py",
@@ -315,12 +314,14 @@
"${libdir}/python${PYTHON_MAJMIN}/traceback.py",
"${libdir}/python${PYTHON_MAJMIN}/types.py",
"${libdir}/python${PYTHON_MAJMIN}/warnings.py",
- "${libdir}/python${PYTHON_MAJMIN}/weakref.py"
+ "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
+ "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata.*.pyc",
@@ -329,6 +330,7 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc",
@@ -339,6 +341,7 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc",
@@ -350,10 +353,14 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pathlib.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
@@ -361,6 +368,7 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc",
@@ -405,10 +413,10 @@
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
+ "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
],
"cached": [
@@ -519,14 +527,12 @@
]
},
"distutils-windows": {
- "cached": [],
- "files": [
- "${libdir}/python${PYTHON_MAJMIN}/distutils/command/wininst-*.exe"
- ],
+ "summary": "Python distribution utilities (Windows installer stubs)",
"rdepends": [
- "distutils"
+ "core"
],
- "summary": "Python distribution utilities (Windows installer stubs)"
+ "files": [],
+ "cached": []
},
"distutils": {
"summary": "Python Distribution Utilities",
@@ -541,13 +547,19 @@
"doctest": {
"summary": "Python framework for running examples in docstrings",
"rdepends": [
+ "asyncio",
+ "compression",
"core",
"debugger",
"difflib",
+ "io",
"logging",
+ "netclient",
+ "numbers",
"pprint",
"shell",
"stringold",
+ "typing",
"unittest"
],
"files": [
@@ -641,8 +653,7 @@
"crypt",
"math",
"netclient",
- "shell",
- "unixadmin"
+ "shell"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
@@ -875,9 +886,7 @@
"math",
"mime",
"netclient",
- "shell",
- "stringold",
- "unixadmin"
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/cgi.py",
@@ -934,12 +943,8 @@
"rdepends": [
"core"
],
- "files": [
- "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py"
- ],
- "cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc"
- ]
+ "files": [],
+ "cached": []
},
"plistlib": {
"summary": "Generate and parse Mac OS X .plist files",
@@ -988,8 +993,7 @@
"summary": "Python interactive help support",
"rdepends": [
"core",
- "netclient",
- "pkgutil"
+ "netclient"
],
"files": [
"${bindir}/pydoc*",
@@ -1015,22 +1019,17 @@
"rdepends": [
"compression",
"core",
- "stringold",
- "unixadmin"
+ "stringold"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/cmd.py",
- "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
"${libdir}/python${PYTHON_MAJMIN}/glob.py",
- "${libdir}/python${PYTHON_MAJMIN}/shlex.py",
- "${libdir}/python${PYTHON_MAJMIN}/shutil.py"
+ "${libdir}/python${PYTHON_MAJMIN}/shlex.py"
],
"cached": [
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc"
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
]
},
"smtpd": {
@@ -1150,12 +1149,17 @@
"unittest": {
"summary": "Python unit testing framework",
"rdepends": [
+ "asyncio",
+ "compression",
"core",
"difflib",
+ "io",
"logging",
+ "netclient",
+ "numbers",
"pprint",
- "shell",
- "stringold"
+ "stringold",
+ "typing"
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/unittest",
@@ -1172,7 +1176,6 @@
],
"files": [
"${libdir}/python${PYTHON_MAJMIN}/getpass.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
"${libdir}/python${PYTHON_MAJMIN}/lib-dynload/nis.*.so"
],
"cached": [
@@ -1185,9 +1188,7 @@
"compression",
"core",
"logging",
- "shell",
- "stringold",
- "unixadmin"
+ "stringold"
],
"files": [
"${bindir}/pyvenv*",
diff --git a/poky/meta/recipes-devtools/python/python3/run-ptest b/poky/meta/recipes-devtools/python/python3/run-ptest
index 3e45d3918..405b07f49 100644
--- a/poky/meta/recipes-devtools/python/python3/run-ptest
+++ b/poky/meta/recipes-devtools/python/python3/run-ptest
@@ -1,3 +1,3 @@
#!/bin/sh
-python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -e '/\.\.\. [ERROR|FAIL]/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
+python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.5.bb b/poky/meta/recipes-devtools/python/python3_3.8.2.bb
index 90914f905..0474f0721 100644
--- a/poky/meta/recipes-devtools/python/python3_3.7.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.8.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.python.org"
LICENSE = "PSFv2"
SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=203a6dbc802ee896020a47161e759642"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://run-ptest \
@@ -19,8 +19,6 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
- file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
- file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
@@ -29,26 +27,32 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
file://0001-test_locale.py-correct-the-test-output-format.patch \
file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
+ file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
+ file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
+ file://0001-configure.ac-fix-LIBPL.patch \
+ file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
+ file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
+ file://0001-bpo-39503-CVE-2020-8492-Fix-AbstractBasicAuthHandler.patch \
"
SRC_URI_append_class-native = " \
file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
file://12-distutils-prefix-is-inside-staging-area.patch \
- "
-SRC_URI_append_class-nativesdk = " \
- file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
+ file://0001-Don-t-search-system-for-headers-libraries.patch \
"
-SRC_URI[md5sum] = "08ed8030b1183107c48f2092e79a87e2"
-SRC_URI[sha256sum] = "e85a76ea9f3d6c485ec1780fca4e500725a4a7bbc63c78ebc44170de9b619d94"
+SRC_URI[md5sum] = "e9d6ebc92183a177b8e8a58cad5b8d67"
+SRC_URI[sha256sum] = "2646e7dc233362f59714c6193017bb2d6f7b38d6ab4a0cb5fbac5c36c4d845df"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
CVE_PRODUCT = "python"
-PYTHON_MAJMIN = "3.7"
-PYTHON_BINABI = "${PYTHON_MAJMIN}m"
+# This is not exploitable when glibc has CVE-2016-10739 fixed.
+CVE_CHECK_WHITELIST += "CVE-2019-18348"
+
+PYTHON_MAJMIN = "3.8"
S = "${WORKDIR}/Python-${PV}"
@@ -59,8 +63,8 @@ inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
ALTERNATIVE_${PN}-dev = "python3-config"
-ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_BINABI}-config"
-ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
+ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
+ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
@@ -131,7 +135,7 @@ do_install_prepend() {
}
do_install_append_class-target() {
- oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
+ oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
}
do_install_append_class-native() {
@@ -161,7 +165,7 @@ do_install_append() {
}
do_install_append_class-nativesdk () {
- create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+ create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
}
SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
@@ -175,9 +179,9 @@ py_package_preprocess () {
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
+ ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
- ${PKGD}/${bindir}/python${PYTHON_BINABI}-config
+ ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
# Reformat _sysconfigdata after modifying it so that it remains
# reproducible
@@ -196,7 +200,7 @@ py_package_preprocess () {
-c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
cd -
- mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
+ mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
#Remove the unneeded copy of target sysconfig data
rm -rf ${PKGD}/${libdir}/python-sysconfigdata
@@ -226,6 +230,9 @@ python(){
pn = 'python3'
rprovides = d.getVar('RPROVIDES').split()
+ # ${PN}-misc-native is not in the manifest
+ rprovides.append(pn + '-misc-native')
+
for key in python_manifest:
pypackage = pn + '-' + key + '-native'
if pypackage not in rprovides:
@@ -275,6 +282,7 @@ python(){
packages = newpackages + packages
d.setVar('PACKAGES', ' '.join(packages))
d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
+ d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1')
}
# Files needed to create a new manifest
@@ -303,8 +311,8 @@ do_create_manifest[depends] += "${PN}:do_patch"
# manual dependency additions
RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
-RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
-RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
+RRECOMMENDS_${PN}-crypt_append_class-target = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
+RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX}ca-certificates"
# For historical reasons PN is empty and provided by python3-modules
FILES_${PN} = ""
@@ -314,27 +322,31 @@ FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
# provide python-pyvenv from python3-venv
-RPROVIDES_${PN}-venv += "python3-pyvenv"
+RPROVIDES_${PN}-venv += "${MLPREFIX}python3-pyvenv"
# package libpython3
PACKAGES =+ "libpython3 libpython3-staticdev"
FILES_libpython3 = "${libdir}/libpython*.so.*"
-FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
+FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
INSANE_SKIP_${PN}-dev += "dev-elf"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio"
-RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
-RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
+RDEPENDS_${PN}-modules_append_class-target = " ${MLPREFIX}python3-misc"
+RDEPENDS_${PN}-modules_append_class-nativesdk = " ${MLPREFIX}python3-misc"
FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
# catch manpage
PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
+# See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
+RDEPENDS_libpython3_append_libc-glibc = " libgcc"
RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
RDEPENDS_${PN}-dev = ""
+RDEPENDS_${PN}-tests_append_class-target = " ${MLPREFIX}bash"
+RDEPENDS_${PN}-tests_append_class-nativesdk = " ${MLPREFIX}bash"
diff --git a/poky/meta/recipes-devtools/python/python_2.7.17.bb b/poky/meta/recipes-devtools/python/python_2.7.17.bb
deleted file mode 100644
index 5b856a509..000000000
--- a/poky/meta/recipes-devtools/python/python_2.7.17.bb
+++ /dev/null
@@ -1,267 +0,0 @@
-require python.inc
-
-DEPENDS = "python-native libffi bzip2 gdbm openssl \
- readline sqlite3 zlib virtual/crypt"
-
-DISTRO_SRC_URI ?= "file://sitecustomize.py"
-DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI += " \
- file://01-use-proper-tools-for-cross-build.patch \
- file://03-fix-tkinter-detection.patch \
- file://06-avoid_usr_lib_termcap_path_in_linking.patch \
- ${DISTRO_SRC_URI} \
- file://multilib.patch \
- file://cgi_py.patch \
- file://setup_py_skip_cross_import_check.patch \
- file://add-md5module-support.patch \
- file://host_include_contamination.patch \
- file://fix_for_using_different_libdir.patch \
- file://setuptweaks.patch \
- file://check-if-target-is-64b-not-host.patch \
- file://search_db_h_in_inc_dirs_and_avoid_warning.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
- file://avoid_warning_for_sunos_specific_module.patch \
- file://python-2.7.3-remove-bsdb-rpath.patch \
- file://run-ptest \
- file://parallel-makeinst-create-bindir.patch \
- file://use_sysroot_ncurses_instead_of_host.patch \
- file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \
- file://pass-missing-libraries-to-Extension-for-mul.patch \
- file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
- file://float-endian.patch \
- file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \
-"
-
-S = "${WORKDIR}/Python-${PV}"
-
-inherit autotools multilib_header python-dir pythonnative ptest
-
-CONFIGUREOPTS += " --with-system-ffi "
-
-EXTRA_OECONF += "ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no ac_cv_working_tzset=yes"
-
-PACKAGECONFIG ??= "bdb"
-PACKAGECONFIG[bdb] = ",,db"
-PACKAGECONFIG[tk] = ",,tk"
-
-do_configure_append() {
- rm -f ${S}/Makefile.orig
- autoreconf -Wcross --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
-}
-
-do_compile() {
- # regenerate platform specific files, because they depend on system headers
- cd ${S}/Lib/plat-linux2
- include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python-native/python \
- ${S}/Tools/scripts/h2py.py -i '(u_long)' \
- ${STAGING_INCDIR}/dlfcn.h \
- ${STAGING_INCDIR}/linux/cdrom.h \
- ${STAGING_INCDIR}/netinet/in.h \
- ${STAGING_INCDIR}/sys/types.h
- sed -e 's,${STAGING_DIR_HOST},,g' -i *.py
- cd -
-
- # remove any bogus LD_LIBRARY_PATH
- sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile
-
- if [ ! -f Makefile.orig ]; then
- install -m 0644 Makefile Makefile.orig
- fi
- sed -i -e 's#^LDFLAGS=.*#LDFLAGS=${LDFLAGS} -L. -L${STAGING_LIBDIR}#g' \
- -e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \
- -e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \
- -e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \
- -e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \
- -e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \
- -e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \
- Makefile
- # save copy of it now, because if we do it in do_install and
- # then call do_install twice we get Makefile.orig == Makefile.sysroot
- install -m 0644 Makefile Makefile.sysroot
-
- export CROSS_COMPILE="${TARGET_PREFIX}"
- export PYTHONBUILDDIR="${B}"
-
- oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
- HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
- OPT="${CFLAGS}"
-}
-
-do_install() {
- # make install needs the original Makefile, or otherwise the inclues would
- # go to ${D}${STAGING...}/...
- install -m 0644 Makefile.orig Makefile
-
- export CROSS_COMPILE="${TARGET_PREFIX}"
- export PYTHONBUILDDIR="${B}"
-
- # After swizzling the makefile, we need to run the build again.
- # install can race with the build so we have to run this first, then install
- oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
- HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \
- CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
- DESTDIR=${D} LIBDIR=${libdir}
-
- oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
- HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \
- CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- STAGING_INCDIR=${STAGING_INCDIR} \
- STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
- DESTDIR=${D} LIBDIR=${libdir} install
-
- install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
-
- if [ -e ${WORKDIR}/sitecustomize.py ]; then
- install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
- fi
-
- oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
-
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'bdb', d)}" ]; then
- rm -rf ${D}/${libdir}/python${PYTHON_MAJMIN}/bsddb
- fi
-
- # Python 3.x version of 2to3 is now the default
- mv ${D}/${bindir}/2to3 ${D}/${bindir}/2to3-${PYTHON_MAJMIN}
-}
-
-do_install_append_class-nativesdk () {
- create_wrapper ${D}${bindir}/python2.7 PYTHONHOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
-}
-
-SSTATE_SCAN_FILES += "Makefile"
-PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
-
-py_package_preprocess () {
- # copy back the old Makefile to fix target package
- install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile
-
- # Remove references to buildmachine paths in target Makefile and _sysconfigdata
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
- (cd ${PKGD}; python -m py_compile ./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py)
-}
-
-PACKAGES_remove = "${PN}"
-
-# manual dependency additions
-RPROVIDES_${PN}-modules = "${PN}"
-RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python-modules"
-RRECOMMENDS_${PN}-crypt = "openssl"
-
-# package libpython2
-PACKAGES =+ "lib${BPN}2"
-FILES_lib${BPN}2 = "${libdir}/libpython*.so.*"
-
-# catch all the rest (unsorted)
-PACKAGES += "${PN}-misc"
-FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"
-RDEPENDS_${PN}-modules += "${PN}-misc"
-
-# ptest
-RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip tzdata-europe coreutils sed"
-RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
-# catch manpage
-PACKAGES += "${PN}-man"
-FILES_${PN}-man = "${datadir}/man"
-
-# Nasty but if bdb isn't enabled the package won't be generated
-RDEPENDS_${PN}-modules_remove = "${@bb.utils.contains('PACKAGECONFIG', 'bdb', '', '${PN}-bsddb', d)}"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "nativesdk"
-
-# We want bytecode precompiled .py files (.pyc's) by default
-# but the user may set it on their own conf
-
-INCLUDE_PYCS ?= "1"
-
-python(){
- import collections, json
-
- filename = os.path.join(d.getVar('THISDIR'), 'python', 'python2-manifest.json')
- # This python changes the datastore based on the contents of a file, so mark
- # that dependency.
- bb.parse.mark_dependency(d, filename)
-
- with open(filename) as manifest_file:
- manifest_str = manifest_file.read()
- json_start = manifest_str.find('# EOC') + 6
- manifest_file.seek(json_start)
- manifest_str = manifest_file.read()
- python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
-
- include_pycs = d.getVar('INCLUDE_PYCS')
-
- packages = d.getVar('PACKAGES').split()
- pn = d.getVar('PN')
-
- newpackages=[]
-
- for key in python_manifest:
- pypackage= pn + '-' + key
-
- if pypackage not in packages:
- # We need to prepend, otherwise python-misc gets everything
- # so we use a new variable
- newpackages.append(pypackage)
-
- # "Build" python's manifest FILES, RDEPENDS and SUMMARY
- d.setVar('FILES_' + pypackage, '')
- for value in python_manifest[key]['files']:
- d.appendVar('FILES_' + pypackage, ' ' + value)
- if include_pycs == '1':
- if value.endswith('.py'):
- d.appendVar('FILES_' + pypackage, ' ' + value + 'c')
-
- for value in python_manifest[key]['rdepends']:
- # Make it work with or without $PN
- if '${PN}' in value:
- value=value.split('-')[1]
- d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
- d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
-
- # Prepending so to avoid python-misc getting everything
- packages = newpackages + packages
- d.setVar('PACKAGES', ' '.join(packages))
- d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
-}
-
-# Files needed to create a new manifest
-SRC_URI += "file://create_manifest2.py file://get_module_deps2.py file://python2-manifest.json"
-
-do_create_manifest() {
- # This task should be run with every new release of Python.
- # We must ensure that PACKAGECONFIG enables everything when creating
- # a new manifest, this is to base our new manifest on a complete
- # native python build, containing all dependencies, otherwise the task
- # wont be able to find the required files.
- # e.g. BerkeleyDB is an optional build dependency so it may or may not
- # be present, we must ensure it is.
-
- cd ${WORKDIR}
- # This needs to be executed by python-native and NOT by HOST's python
- nativepython create_manifest2.py
- cp python2-manifest.json.new ${THISDIR}/python/python2-manifest.json
-}
-
-# bitbake python -c create_manifest
-addtask do_create_manifest
-
-# Make sure we have native python ready when we create a new manifest
-do_create_manifest[depends] += "python:do_prepare_recipe_sysroot"
-do_create_manifest[depends] += "python:do_patch"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
index 372eebd88..2fc07669d 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb
@@ -5,7 +5,10 @@ PR = "r1"
LIC_FILES_CHKSUM = "file://${WORKDIR}/tunctl.c;endline=4;md5=ff3a09996bc5fff6bc5d4e0b4c28f999"
-SRC_URI = "file://tunctl.c"
+SRC_URI = "\
+ file://tunctl.c \
+ file://qemu-oe-bridge-helper \
+ "
S = "${WORKDIR}"
@@ -18,6 +21,8 @@ do_compile() {
do_install() {
install -d ${D}${bindir}
install tunctl ${D}${bindir}/
+
+ install -m 755 ${WORKDIR}/qemu-oe-bridge-helper ${D}${bindir}/
}
DEPENDS += "qemu-system-native"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper b/poky/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper
new file mode 100755
index 000000000..f057d4eef
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu-helper/qemu-oe-bridge-helper
@@ -0,0 +1,25 @@
+#! /bin/sh
+# Copyright 2020 Garmin Ltd. or its subsidiaries
+#
+# SPDX-License-Identifier: GPL-2.0
+#
+# Attempts to find and exec the host qemu-bridge-helper program
+
+# If the QEMU_BRIDGE_HELPER variable is set by the user, exec it.
+if [ -n "$QEMU_BRIDGE_HELPER" ]; then
+ exec "$QEMU_BRIDGE_HELPER" "$@"
+fi
+
+# Search common paths for the helper program
+BN="qemu-bridge-helper"
+PATHS="/usr/libexec/ /usr/lib/qemu/"
+
+for p in $PATHS; do
+ if [ -e "$p/$BN" ]; then
+ exec "$p/$BN" "$@"
+ fi
+done
+
+echo "$BN not found!" > /dev/stderr
+exit 1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc
index 69c2c43e6..28cfd2cca 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc
@@ -3,8 +3,8 @@ inherit native
require qemu.inc
SRC_URI_append = " \
- file://0010-fix-libcap-header-issue-on-some-distro.patch \
- file://0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
+ file://0012-fix-libcap-header-issue-on-some-distro.patch \
+ file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
"
EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
index c8acff8e1..c8acff8e1 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.2.0.bb
index d83ee5937..7394385d3 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.2.0.bb
@@ -9,7 +9,9 @@ DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native"
EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
-PACKAGECONFIG ??= "fdt alsa kvm"
+PACKAGECONFIG ??= "fdt alsa kvm \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' ,d)} \
+"
# Handle distros such as CentOS 5 32-bit that do not have kvm support
PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-targets.inc b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
index 8184ef578..24f9a0394 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-targets.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
@@ -13,7 +13,7 @@ def get_qemu_target_list(d):
softmmuonly += arch + "-softmmu,"
archs.remove(arch)
linuxuseronly = ""
- for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus', 'aarch64_be']:
+ for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']:
if arch in archs:
linuxuseronly += arch + "-linux-user,"
archs.remove(arch)
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 601fc2286..126e7d442 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -27,13 +27,22 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
file://0009-Fix-webkitgtk-builds.patch \
file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
+ file://0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch \
file://CVE-2019-15890.patch \
- file://CVE-2019-12068.patch \
- "
+ file://CVE-2020-1711.patch \
+ file://CVE-2020-7039-1.patch \
+ file://CVE-2020-7039-2.patch \
+ file://CVE-2020-7039-3.patch \
+ file://0001-Add-enable-disable-udev.patch \
+ file://CVE-2020-7211.patch \
+ file://0001-qemu-Do-not-include-file-if-not-exists.patch \
+ file://CVE-2020-11102.patch \
+ file://CVE-2020-11869.patch \
+ "
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
-SRC_URI[md5sum] = "cdf2b5ca52b9abac9bacb5842fa420f8"
-SRC_URI[sha256sum] = "656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6"
+SRC_URI[md5sum] = "278eeb294e4b497e79af7a57e660cb9a"
+SRC_URI[sha256sum] = "d3481d4108ce211a053ef15be69af1bdd9dde1510fda80d92be0f6c3e98768f0"
COMPATIBLE_HOST_mipsarchn32 = "null"
COMPATIBLE_HOST_mipsarchn64 = "null"
@@ -55,10 +64,12 @@ do_install_ptest() {
# Don't check the file genreated by configure
sed -i -e '/wildcard config-host.mak/d' \
-e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
+ sed -i -e 's,${HOSTTOOLS_DIR}/python3,${bindir}/python3,' \
+ ${D}/${PTEST_PATH}/tests/qemu-iotests/common.env
}
# QEMU_TARGETS is overridable variable
-QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 riscv32 riscv64 sh4 x86_64"
+QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64"
EXTRA_OECONF = " \
--prefix=${prefix} \
@@ -75,6 +86,8 @@ EXTRA_OECONF = " \
--disable-strip \
--disable-werror \
--extra-cflags='${CFLAGS}' \
+ --with-git=/bin/false \
+ --disable-git-update \
${PACKAGECONFIG_CONFARGS} \
"
@@ -135,7 +148,7 @@ PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap attr,"
PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
-PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenctrl xen-libxenguest"
+PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
@@ -165,6 +178,10 @@ PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
# usbredir will be in meta-networking layer
PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"
PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy"
+PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs"
+PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
+PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2"
INSANE_SKIP_${PN} = "arch"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
new file mode 100644
index 000000000..c2c5849d6
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch
@@ -0,0 +1,29 @@
+From a471cf4e4c73350e090eb2cd87ec959d138012e5 Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Thu, 19 Mar 2020 11:54:26 -0700
+Subject: [PATCH] Add enable/disable libudev
+
+Upstream-Status: Pending
+Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+---
+ configure | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/configure b/configure
+index cac271c..bd116eb 100755
+--- a/configure
++++ b/configure
+@@ -1539,6 +1539,10 @@ for opt do
+ ;;
+ --disable-plugins) plugins="no"
+ ;;
++ --enable-libudev) libudev="yes"
++ ;;
++ --disable-libudev) libudev="no"
++ ;;
+ *)
+ echo "ERROR: unknown option $opt"
+ echo "Try '$0 --help' for more information"
+--
+1.8.3.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
index 9478102ae..66ff99650 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
@@ -1,4 +1,4 @@
-From 4655dc18074e0be9d239f51dac32b61435da8549 Mon Sep 17 00:00:00 2001
+From 526cb7e26f6dd96c9ee2ffa05ce0a358d3bfbfb3 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 27 Nov 2014 14:04:29 +0000
Subject: [PATCH] qemu: Add missing wacom HID descriptor
@@ -19,7 +19,7 @@ Upstream-Status: Submitted
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c
-index 8c43db93..3ff8ca28 100644
+index 8ed57b3b..1502928b 100644
--- a/hw/usb/dev-wacom.c
+++ b/hw/usb/dev-wacom.c
@@ -74,6 +74,89 @@ static const USBDescStrings desc_strings = {
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
new file mode 100644
index 000000000..eccac0509
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch
@@ -0,0 +1,31 @@
+From 98c2da129db19ee63d7e21b77a0ef70822c95069 Mon Sep 17 00:00:00 2001
+From: Oleksiy Obitotskyy <oobitots@cisco.com>
+Date: Wed, 25 Mar 2020 21:21:35 +0200
+Subject: [PATCH] qemu: Do not include file if not exists
+
+Script configure checks for if_alg.h and check failed but
+if_alg.h still included.
+
+Upstream-status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07188.html]
+Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+---
+ linux-user/syscall.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/linux-user/syscall.c b/linux-user/syscall.c
+index fc18f244..68d62666 100644
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -106,7 +106,9 @@
+ #include <linux/blkpg.h>
+ #include <netpacket/packet.h>
+ #include <linux/netlink.h>
++#if defined(CONFIG_AF_ALG)
+ #include <linux/if_alg.h>
++#endif
+ #include "linux_loop.h"
+ #include "uname.h"
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
index 2ccddd53c..7f7da5100 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
@@ -1,4 +1,4 @@
-From 67751f3a23e3db3012f391b3b3b73a4484488ce9 Mon Sep 17 00:00:00 2001
+From 8ee6281516bd9210e75e91d705da8916bab3bf51 Mon Sep 17 00:00:00 2001
From: Juro Bystricky <juro.bystricky@intel.com>
Date: Thu, 31 Aug 2017 11:06:56 -0700
Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
@@ -15,10 +15,10 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
1 file changed, 8 insertions(+)
diff --git a/tests/Makefile.include b/tests/Makefile.include
-index fd7fdb86..83b7f409 100644
+index 8566f5f1..52d0320b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
-@@ -1183,4 +1183,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
+@@ -1210,4 +1210,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
-include $(wildcard tests/*.d)
-include $(wildcard tests/libqos/*.d)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
index 5c42d6803..012d60d8f 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -1,4 +1,4 @@
-From 235b94f1188597873c8776b019fed49947983392 Mon Sep 17 00:00:00 2001
+From ce1eceab2350d27960ec254650717085f6a11c9a Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Fri, 28 Mar 2014 17:42:43 +0800
Subject: [PATCH] qemu: Add addition environment space to boot loader
@@ -19,15 +19,15 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
-index 20e019bf..d150b01c 100644
+index 92e9ca5b..3a7f3954 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
-@@ -60,7 +60,7 @@
+@@ -59,7 +59,7 @@
- #define ENVP_ADDR 0x80002000l
- #define ENVP_NB_ENTRIES 16
--#define ENVP_ENTRY_SIZE 256
-+#define ENVP_ENTRY_SIZE 1024
+ #define ENVP_ADDR 0x80002000l
+ #define ENVP_NB_ENTRIES 16
+-#define ENVP_ENTRY_SIZE 256
++#define ENVP_ENTRY_SIZE 1024
/* Hardware addresses */
- #define FLASH_ADDRESS 0x1e000000ULL
+ #define FLASH_ADDRESS 0x1e000000ULL
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
index 0ac4ab40b..bc30397e8 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
@@ -1,4 +1,4 @@
-From 3ad7a375015d47fdf5016e03e11fa93440d6d8bd Mon Sep 17 00:00:00 2001
+From 4127296bb1046cdf73994ba69dc913d8c02fd74f Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 20 Oct 2015 22:19:08 +0100
Subject: [PATCH] qemu: disable Valgrind
@@ -13,10 +13,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 9 deletions(-)
diff --git a/configure b/configure
-index 714e7fb6..dad4fc59 100755
+index 6099be1d..a766017b 100755
--- a/configure
+++ b/configure
-@@ -5335,15 +5335,6 @@ fi
+@@ -5390,15 +5390,6 @@ fi
# check if we have valgrind/valgrind.h
valgrind_h=no
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
index a73681510..ec303371b 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
@@ -1,4 +1,4 @@
-From 80e6070bcdfe636b103a13598e6c38ad0d0e7624 Mon Sep 17 00:00:00 2001
+From 6cdf82af2eba312b9b8da86dda28b98d3d51f4d4 Mon Sep 17 00:00:00 2001
From: Stephen Arnold <sarnold@vctlabs.com>
Date: Sun, 12 Jun 2016 18:09:56 -0700
Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
@@ -10,10 +10,10 @@ Upstream-Status: Pending
1 file changed, 4 deletions(-)
diff --git a/configure b/configure
-index dad4fc59..685bbe5e 100755
+index a766017b..72f11aca 100755
--- a/configure
+++ b/configure
-@@ -5971,10 +5971,6 @@ write_c_skeleton
+@@ -6085,10 +6085,6 @@ write_c_skeleton
if test "$gcov" = "yes" ; then
CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
index a42385530..0810ae84c 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
@@ -1,4 +1,4 @@
-From ad853601e75f6d0dd09672bcca05fbe4fac766a4 Mon Sep 17 00:00:00 2001
+From bcc63f775e265df69963a4ad7805b8678ace68f0 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@xilinx.com>
Date: Thu, 21 Dec 2017 11:35:16 -0800
Subject: [PATCH] chardev: connect socket to a spawned command
@@ -52,10 +52,10 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
3 files changed, 109 insertions(+)
diff --git a/chardev/char-socket.c b/chardev/char-socket.c
-index 7ca5d97a..207fae4a 100644
+index 185fe38d..54fa4234 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
-@@ -1278,6 +1278,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
+@@ -1288,6 +1288,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
return true;
}
@@ -123,7 +123,7 @@ index 7ca5d97a..207fae4a 100644
static void qmp_chardev_open_socket(Chardev *chr,
ChardevBackend *backend,
-@@ -1286,6 +1347,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
+@@ -1296,6 +1357,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
{
SocketChardev *s = SOCKET_CHARDEV(chr);
ChardevSocket *sock = backend->u.socket.data;
@@ -133,7 +133,7 @@ index 7ca5d97a..207fae4a 100644
bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
bool is_listen = sock->has_server ? sock->server : true;
bool is_telnet = sock->has_telnet ? sock->telnet : false;
-@@ -1351,6 +1415,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
+@@ -1361,6 +1425,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
update_disconnected_filename(s);
@@ -148,7 +148,7 @@ index 7ca5d97a..207fae4a 100644
if (s->is_listen) {
if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
is_waitconnect, errp) < 0) {
-@@ -1370,9 +1442,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+@@ -1380,9 +1452,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
const char *host = qemu_opt_get(opts, "host");
const char *port = qemu_opt_get(opts, "port");
const char *fd = qemu_opt_get(opts, "fd");
@@ -175,7 +175,7 @@ index 7ca5d97a..207fae4a 100644
if ((!!path + !!fd + !!host) != 1) {
error_setg(errp,
"Exactly one of 'path', 'fd' or 'host' required");
-@@ -1415,12 +1504,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+@@ -1425,12 +1514,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
index b50e8c254..89baad9b7 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
@@ -1,4 +1,4 @@
-From f51e49e7d7d87b7254242b7360f99c2df94a5a2d Mon Sep 17 00:00:00 2001
+From a59a98d100123030a4145e7efe3b8a001920a9f1 Mon Sep 17 00:00:00 2001
From: Mark Asselstine <mark.asselstine@windriver.com>
Date: Tue, 26 Feb 2013 11:43:28 -0500
Subject: [PATCH] apic: fixup fallthrough to PIC
@@ -30,7 +30,7 @@ Signed-off-by: He Zhe <zhe.he@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/intc/apic.c b/hw/intc/apic.c
-index bce89911..df4b582e 100644
+index 2a74f7b4..4d5da365 100644
--- a/hw/intc/apic.c
+++ b/hw/intc/apic.c
@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
index e562f25be..30bb4ddf2 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
@@ -1,4 +1,4 @@
-From 25a064f91f73630e5dff2a6aeb23d953c469cea6 Mon Sep 17 00:00:00 2001
+From cf8c9aac5243f506a1a3e8e284414f311cde04f5 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@xilinx.com>
Date: Wed, 17 Jan 2018 10:51:49 -0800
Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
@@ -19,15 +19,15 @@ Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/main.c b/linux-user/main.c
-index 8ffc5251..4067e739 100644
+index 6ff7851e..ebff0485 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
-@@ -77,7 +77,7 @@ int have_guest_base;
+@@ -78,7 +78,7 @@ int have_guest_base;
(TARGET_LONG_BITS == 32 || defined(TARGET_ABI32))
/* There are a number of places where we assign reserved_va to a variable
of type abi_ulong and expect it to fit. Avoid the last page. */
--# define MAX_RESERVED_VA (0xfffffffful & TARGET_PAGE_MASK)
-+# define MAX_RESERVED_VA (0x7ffffffful & TARGET_PAGE_MASK)
+-# define MAX_RESERVED_VA(CPU) (0xfffffffful & TARGET_PAGE_MASK)
++# define MAX_RESERVED_VA(CPU) (0x7ffffffful & TARGET_PAGE_MASK)
# else
- # define MAX_RESERVED_VA (1ul << TARGET_VIRT_ADDR_SPACE_BITS)
+ # define MAX_RESERVED_VA(CPU) (1ul << TARGET_VIRT_ADDR_SPACE_BITS)
# endif
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
index 4072d9455..7e273eece 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
@@ -1,4 +1,4 @@
-From b633b9a1813fcd715dce44659a89293f1c64ae8c Mon Sep 17 00:00:00 2001
+From 613166007e3b852c99caf2cd34a972e2c8460737 Mon Sep 17 00:00:00 2001
From: Martin Jansa <martin.jansa@lge.com>
Date: Fri, 1 Jun 2018 08:41:07 +0000
Subject: [PATCH] Fix webkitgtk builds
@@ -18,6 +18,7 @@ This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
Upstream-Status: Pending
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
---
include/exec/cpu-all.h | 6 +-----
include/exec/cpu_ldst.h | 5 ++++-
@@ -26,7 +27,7 @@ Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
4 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
-index 536ea58f81..4c63a6a2e4 100644
+index e96781a4..a369f81a 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -162,12 +162,8 @@ extern unsigned long guest_base;
@@ -44,7 +45,7 @@ index 536ea58f81..4c63a6a2e4 100644
#include "exec/hwaddr.h"
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
-index 9151fdb042..cb2b8f329f 100644
+index fd499f7e..30575f60 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -65,7 +65,10 @@ typedef uint64_t abi_ptr;
@@ -60,7 +61,7 @@ index 9151fdb042..cb2b8f329f 100644
#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index 46a6e3a761..7735465462 100644
+index 46a6e3a7..77354654 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -78,7 +78,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
@@ -110,10 +111,10 @@ index 46a6e3a761..7735465462 100644
if (flags & MREMAP_FIXED) {
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 8b41a03901..bc5d85de02 100644
+index 171c0cae..fc18f244 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -4031,9 +4031,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
+@@ -4138,9 +4138,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
return -TARGET_EINVAL;
}
}
@@ -123,7 +124,7 @@ index 8b41a03901..bc5d85de02 100644
mmap_lock();
-@@ -6881,7 +6878,7 @@ static int open_self_maps(void *cpu_env, int fd)
+@@ -6990,7 +6987,7 @@ static int open_self_maps(void *cpu_env, int fd)
}
if (h2g_valid(min)) {
int flags = page_get_flags(h2g(min));
@@ -132,6 +133,3 @@ index 8b41a03901..bc5d85de02 100644
if (page_check_range(h2g(min), max - min, flags) == -1) {
continue;
}
---
-2.22.0
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
index a8ab7daa4..34df78b7f 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
@@ -1,7 +1,7 @@
-From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001
+From c207607cdf3996ad9783c3bffbcd3d65e74c0158 Mon Sep 17 00:00:00 2001
From: He Zhe <zhe.he@windriver.com>
Date: Wed, 28 Aug 2019 19:56:28 +0800
-Subject: [Qemu-devel] [PATCH] configure: Add pkg-config handling for libgcrypt
+Subject: [PATCH] configure: Add pkg-config handling for libgcrypt
libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
handling for libgcrypt.
@@ -9,12 +9,13 @@ handling for libgcrypt.
Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html]
Signed-off-by: He Zhe <zhe.he@windriver.com>
+
---
configure | 48 ++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 40 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
-index e44e454..0f362a7 100755
+index 72f11aca..cac271ce 100755
--- a/configure
+++ b/configure
@@ -2875,6 +2875,30 @@ has_libgcrypt() {
@@ -48,7 +49,7 @@ index e44e454..0f362a7 100755
if test "$nettle" != "no"; then
pass="no"
-@@ -2902,7 +2926,14 @@ fi
+@@ -2915,7 +2939,14 @@ fi
if test "$gcrypt" != "no"; then
pass="no"
@@ -64,7 +65,7 @@ index e44e454..0f362a7 100755
gcrypt_cflags=$(libgcrypt-config --cflags)
gcrypt_libs=$(libgcrypt-config --libs)
# Debian has removed -lgpg-error from libgcrypt-config
-@@ -2912,15 +2943,16 @@ if test "$gcrypt" != "no"; then
+@@ -2925,15 +2956,16 @@ if test "$gcrypt" != "no"; then
then
gcrypt_libs="$gcrypt_libs -lgpg-error"
fi
@@ -88,6 +89,3 @@ index e44e454..0f362a7 100755
if test "$pass" = "yes"; then
gcrypt="yes"
cat > $TMPC << EOF
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch
new file mode 100644
index 000000000..2fe0850a3
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0011-hw-i386-pc-fix-regression-in-parsing-vga-cmdline-par.patch
@@ -0,0 +1,54 @@
+From a88c40f02ace88f09b2a85a64831b277b2ebc88c Mon Sep 17 00:00:00 2001
+From: Peter Wu <peter@lekensteyn.nl>
+Date: Sat, 21 Dec 2019 17:21:24 +0100
+Subject: [PATCH] hw/i386/pc: fix regression in parsing vga cmdline parameter
+
+When the 'vga=' parameter is succeeded by another parameter, QEMU 4.2.0
+would refuse to start with a rather cryptic message:
+
+ $ qemu-system-x86_64 -kernel /boot/vmlinuz-linux -append 'vga=792 quiet'
+ qemu: can't parse 'vga' parameter: Invalid argument
+
+It was not clear whether this applied to the '-vga std' parameter or the
+'-append' one. Fix the parsing regression and clarify the error.
+
+Fixes: 133ef074bd ("hw/i386/pc: replace use of strtol with qemu_strtoui in x86_load_linux()")
+Cc: Sergio Lopez <slp@redhat.com>
+Signed-off-by: Peter Wu <peter@lekensteyn.nl>
+Message-Id: <20191221162124.1159291-1-peter@lekensteyn.nl>
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commitdiff;h=a88c40f02ace88f09b2a85a64831b277b2ebc88c]
+---
+ hw/i386/x86.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/hw/i386/x86.c b/hw/i386/x86.c
+index d8bb5c2a96..9b9a4d5837 100644
+--- a/hw/i386/x86.c
++++ b/hw/i386/x86.c
+@@ -612,6 +612,7 @@ void x86_load_linux(X86MachineState *x86ms,
+ vmode = strstr(kernel_cmdline, "vga=");
+ if (vmode) {
+ unsigned int video_mode;
++ const char *end;
+ int ret;
+ /* skip "vga=" */
+ vmode += 4;
+@@ -622,10 +623,9 @@ void x86_load_linux(X86MachineState *x86ms,
+ } else if (!strncmp(vmode, "ask", 3)) {
+ video_mode = 0xfffd;
+ } else {
+- ret = qemu_strtoui(vmode, NULL, 0, &video_mode);
+- if (ret != 0) {
+- fprintf(stderr, "qemu: can't parse 'vga' parameter: %s\n",
+- strerror(-ret));
++ ret = qemu_strtoui(vmode, &end, 0, &video_mode);
++ if (ret != 0 || (*end && *end != ' ')) {
++ fprintf(stderr, "qemu: invalid 'vga=' kernel parameter.\n");
+ exit(1);
+ }
+ }
+--
+2.25.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
index 3a7d7bbd3..3a7d7bbd3 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0012-fix-libcap-header-issue-on-some-distro.patch
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
index e5ebfc126..e5ebfc126 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12068.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12068.patch
deleted file mode 100644
index f1655e407..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-12068.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From de594e47659029316bbf9391efb79da0a1a08e08 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini@redhat.com>
-Date: Wed, 14 Aug 2019 17:35:21 +0530
-Subject: [PATCH] scsi: lsi: exit infinite loop while executing script
- (CVE-2019-12068)
-
-When executing script in lsi_execute_script(), the LSI scsi adapter
-emulator advances 's->dsp' index to read next opcode. This can lead
-to an infinite loop if the next opcode is empty. Move the existing
-loop exit after 10k iterations so that it covers no-op opcodes as
-well.
-
-Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=de594e47659029316bbf9391efb79da0a1a08e08]
-CVE: CVE-2019-12068
-
-Reported-by: Bugs SysSec <bugs-syssec@rub.de>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- hw/scsi/lsi53c895a.c | 41 +++++++++++++++++++++++++++--------------
- 1 file changed, 27 insertions(+), 14 deletions(-)
-
-diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
-index 222a286..ec53b14 100644
---- a/hw/scsi/lsi53c895a.c
-+++ b/hw/scsi/lsi53c895a.c
-@@ -186,6 +186,9 @@ static const char *names[] = {
- /* Flag set if this is a tagged command. */
- #define LSI_TAG_VALID (1 << 16)
-
-+/* Maximum instructions to process. */
-+#define LSI_MAX_INSN 10000
-+
- typedef struct lsi_request {
- SCSIRequest *req;
- uint32_t tag;
-@@ -1133,7 +1136,21 @@ static void lsi_execute_script(LSIState *s)
-
- s->istat1 |= LSI_ISTAT1_SRUN;
- again:
-- insn_processed++;
-+ if (++insn_processed > LSI_MAX_INSN) {
-+ /* Some windows drivers make the device spin waiting for a memory
-+ location to change. If we have been executed a lot of code then
-+ assume this is the case and force an unexpected device disconnect.
-+ This is apparently sufficient to beat the drivers into submission.
-+ */
-+ if (!(s->sien0 & LSI_SIST0_UDC)) {
-+ qemu_log_mask(LOG_GUEST_ERROR,
-+ "lsi_scsi: inf. loop with UDC masked");
-+ }
-+ lsi_script_scsi_interrupt(s, LSI_SIST0_UDC, 0);
-+ lsi_disconnect(s);
-+ trace_lsi_execute_script_stop();
-+ return;
-+ }
- insn = read_dword(s, s->dsp);
- if (!insn) {
- /* If we receive an empty opcode increment the DSP by 4 bytes
-@@ -1570,19 +1587,7 @@ again:
- }
- }
- }
-- if (insn_processed > 10000 && s->waiting == LSI_NOWAIT) {
-- /* Some windows drivers make the device spin waiting for a memory
-- location to change. If we have been executed a lot of code then
-- assume this is the case and force an unexpected device disconnect.
-- This is apparently sufficient to beat the drivers into submission.
-- */
-- if (!(s->sien0 & LSI_SIST0_UDC)) {
-- qemu_log_mask(LOG_GUEST_ERROR,
-- "lsi_scsi: inf. loop with UDC masked");
-- }
-- lsi_script_scsi_interrupt(s, LSI_SIST0_UDC, 0);
-- lsi_disconnect(s);
-- } else if (s->istat1 & LSI_ISTAT1_SRUN && s->waiting == LSI_NOWAIT) {
-+ if (s->istat1 & LSI_ISTAT1_SRUN && s->waiting == LSI_NOWAIT) {
- if (s->dcntl & LSI_DCNTL_SSM) {
- lsi_script_dma_interrupt(s, LSI_DSTAT_SSI);
- } else {
-@@ -1970,6 +1975,10 @@ static void lsi_reg_writeb(LSIState *s, int offset, uint8_t val)
- case 0x2f: /* DSP[24:31] */
- s->dsp &= 0x00ffffff;
- s->dsp |= val << 24;
-+ /*
-+ * FIXME: if s->waiting != LSI_NOWAIT, this will only execute one
-+ * instruction. Is this correct?
-+ */
- if ((s->dmode & LSI_DMODE_MAN) == 0
- && (s->istat1 & LSI_ISTAT1_SRUN) == 0)
- lsi_execute_script(s);
-@@ -1988,6 +1997,10 @@ static void lsi_reg_writeb(LSIState *s, int offset, uint8_t val)
- break;
- case 0x3b: /* DCNTL */
- s->dcntl = val & ~(LSI_DCNTL_PFF | LSI_DCNTL_STD);
-+ /*
-+ * FIXME: if s->waiting != LSI_NOWAIT, this will only execute one
-+ * instruction. Is this correct?
-+ */
- if ((val & LSI_DCNTL_STD) && (s->istat1 & LSI_ISTAT1_SRUN) == 0)
- lsi_execute_script(s);
- break;
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11102.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11102.patch
new file mode 100644
index 000000000..e8f3e1dbd
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11102.patch
@@ -0,0 +1,148 @@
+From 8ffb7265af64ec81748335ec8f20e7ab542c3850 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Tue, 24 Mar 2020 22:57:22 +0530
+Subject: [PATCH] net: tulip: check frame size and r/w data length
+
+Tulip network driver while copying tx/rx buffers does not check
+frame size against r/w data length. This may lead to OOB buffer
+access. Add check to avoid it.
+
+Limit iterations over descriptors to avoid potential infinite
+loop issue in tulip_xmit_list_update.
+
+Reported-by: Li Qiang <pangpei.lq@antfin.com>
+Reported-by: Ziming Zhang <ezrakiez@gmail.com>
+Reported-by: Jason Wang <jasowang@redhat.com>
+Tested-by: Li Qiang <liq3ea@gmail.com>
+Reviewed-by: Li Qiang <liq3ea@gmail.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Signed-off-by: Jason Wang <jasowang@redhat.com>
+
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=8ffb7265af64ec81748335ec8f20e7ab542c3850]
+CVE: CVE-2020-11102
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ hw/net/tulip.c | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+diff --git a/hw/net/tulip.c b/hw/net/tulip.c
+index cfac271..1295f51 100644
+--- a/hw/net/tulip.c
++++ b/hw/net/tulip.c
+@@ -170,6 +170,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
+ } else {
+ len = s->rx_frame_len;
+ }
++
++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
++ return;
++ }
+ pci_dma_write(&s->dev, desc->buf_addr1, s->rx_frame +
+ (s->rx_frame_size - s->rx_frame_len), len);
+ s->rx_frame_len -= len;
+@@ -181,6 +185,10 @@ static void tulip_copy_rx_bytes(TULIPState *s, struct tulip_descriptor *desc)
+ } else {
+ len = s->rx_frame_len;
+ }
++
++ if (s->rx_frame_len + len > sizeof(s->rx_frame)) {
++ return;
++ }
+ pci_dma_write(&s->dev, desc->buf_addr2, s->rx_frame +
+ (s->rx_frame_size - s->rx_frame_len), len);
+ s->rx_frame_len -= len;
+@@ -227,7 +235,8 @@ static ssize_t tulip_receive(TULIPState *s, const uint8_t *buf, size_t size)
+
+ trace_tulip_receive(buf, size);
+
+- if (size < 14 || size > 2048 || s->rx_frame_len || tulip_rx_stopped(s)) {
++ if (size < 14 || size > sizeof(s->rx_frame) - 4
++ || s->rx_frame_len || tulip_rx_stopped(s)) {
+ return 0;
+ }
+
+@@ -275,7 +284,6 @@ static ssize_t tulip_receive_nc(NetClientState *nc,
+ return tulip_receive(qemu_get_nic_opaque(nc), buf, size);
+ }
+
+-
+ static NetClientInfo net_tulip_info = {
+ .type = NET_CLIENT_DRIVER_NIC,
+ .size = sizeof(NICState),
+@@ -558,7 +566,7 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
+ if ((s->csr[6] >> CSR6_OM_SHIFT) & CSR6_OM_MASK) {
+ /* Internal or external Loopback */
+ tulip_receive(s, s->tx_frame, s->tx_frame_len);
+- } else {
++ } else if (s->tx_frame_len <= sizeof(s->tx_frame)) {
+ qemu_send_packet(qemu_get_queue(s->nic),
+ s->tx_frame, s->tx_frame_len);
+ }
+@@ -570,23 +578,31 @@ static void tulip_tx(TULIPState *s, struct tulip_descriptor *desc)
+ }
+ }
+
+-static void tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
++static int tulip_copy_tx_buffers(TULIPState *s, struct tulip_descriptor *desc)
+ {
+ int len1 = (desc->control >> TDES1_BUF1_SIZE_SHIFT) & TDES1_BUF1_SIZE_MASK;
+ int len2 = (desc->control >> TDES1_BUF2_SIZE_SHIFT) & TDES1_BUF2_SIZE_MASK;
+
++ if (s->tx_frame_len + len1 > sizeof(s->tx_frame)) {
++ return -1;
++ }
+ if (len1) {
+ pci_dma_read(&s->dev, desc->buf_addr1,
+ s->tx_frame + s->tx_frame_len, len1);
+ s->tx_frame_len += len1;
+ }
+
++ if (s->tx_frame_len + len2 > sizeof(s->tx_frame)) {
++ return -1;
++ }
+ if (len2) {
+ pci_dma_read(&s->dev, desc->buf_addr2,
+ s->tx_frame + s->tx_frame_len, len2);
+ s->tx_frame_len += len2;
+ }
+ desc->status = (len1 + len2) ? 0 : 0x7fffffff;
++
++ return 0;
+ }
+
+ static void tulip_setup_filter_addr(TULIPState *s, uint8_t *buf, int n)
+@@ -651,13 +667,15 @@ static uint32_t tulip_ts(TULIPState *s)
+
+ static void tulip_xmit_list_update(TULIPState *s)
+ {
++#define TULIP_DESC_MAX 128
++ uint8_t i = 0;
+ struct tulip_descriptor desc;
+
+ if (tulip_ts(s) != CSR5_TS_SUSPENDED) {
+ return;
+ }
+
+- for (;;) {
++ for (i = 0; i < TULIP_DESC_MAX; i++) {
+ tulip_desc_read(s, s->current_tx_desc, &desc);
+ tulip_dump_tx_descriptor(s, &desc);
+
+@@ -675,10 +693,10 @@ static void tulip_xmit_list_update(TULIPState *s)
+ s->tx_frame_len = 0;
+ }
+
+- tulip_copy_tx_buffers(s, &desc);
+-
+- if (desc.control & TDES1_LS) {
+- tulip_tx(s, &desc);
++ if (!tulip_copy_tx_buffers(s, &desc)) {
++ if (desc.control & TDES1_LS) {
++ tulip_tx(s, &desc);
++ }
+ }
+ }
+ tulip_desc_write(s, s->current_tx_desc, &desc);
+--
+1.8.3.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11869.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11869.patch
new file mode 100644
index 000000000..ca7ffed93
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-11869.patch
@@ -0,0 +1,97 @@
+From ac2071c3791b67fc7af78b8ceb320c01ca1b5df7 Mon Sep 17 00:00:00 2001
+From: BALATON Zoltan <balaton@eik.bme.hu>
+Date: Mon, 6 Apr 2020 22:34:26 +0200
+Subject: [PATCH] ati-vga: Fix checks in ati_2d_blt() to avoid crash
+
+In some corner cases (that never happen during normal operation but a
+malicious guest could program wrong values) pixman functions were
+called with parameters that result in a crash. Fix this and add more
+checks to disallow such cases.
+
+Reported-by: Ziming Zhang <ezrakiez@gmail.com>
+Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
+Message-id: 20200406204029.19559747D5D@zero.eik.bme.hu
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=ac2071c3791b67fc7af78b8ceb320c01ca1b5df7]
+CVE: CVE-2020-11869
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+---
+ hw/display/ati_2d.c | 37 ++++++++++++++++++++++++++-----------
+ 1 file changed, 26 insertions(+), 11 deletions(-)
+
+diff --git a/hw/display/ati_2d.c b/hw/display/ati_2d.c
+index 42e8231..23a8ae0 100644
+--- a/hw/display/ati_2d.c
++++ b/hw/display/ati_2d.c
+@@ -53,12 +53,20 @@ void ati_2d_blt(ATIVGAState *s)
+ s->vga.vbe_start_addr, surface_data(ds), surface_stride(ds),
+ surface_bits_per_pixel(ds),
+ (s->regs.dp_mix & GMC_ROP3_MASK) >> 16);
+- int dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
+- s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width);
+- int dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+- s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height);
++ unsigned dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
++ s->regs.dst_x : s->regs.dst_x + 1 - s->regs.dst_width);
++ unsigned dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
++ s->regs.dst_y : s->regs.dst_y + 1 - s->regs.dst_height);
+ int bpp = ati_bpp_from_datatype(s);
++ if (!bpp) {
++ qemu_log_mask(LOG_GUEST_ERROR, "Invalid bpp\n");
++ return;
++ }
+ int dst_stride = DEFAULT_CNTL ? s->regs.dst_pitch : s->regs.default_pitch;
++ if (!dst_stride) {
++ qemu_log_mask(LOG_GUEST_ERROR, "Zero dest pitch\n");
++ return;
++ }
+ uint8_t *dst_bits = s->vga.vram_ptr + (DEFAULT_CNTL ?
+ s->regs.dst_offset : s->regs.default_offset);
+
+@@ -82,12 +90,16 @@ void ati_2d_blt(ATIVGAState *s)
+ switch (s->regs.dp_mix & GMC_ROP3_MASK) {
+ case ROP3_SRCCOPY:
+ {
+- int src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
+- s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width);
+- int src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
+- s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height);
++ unsigned src_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
++ s->regs.src_x : s->regs.src_x + 1 - s->regs.dst_width);
++ unsigned src_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
++ s->regs.src_y : s->regs.src_y + 1 - s->regs.dst_height);
+ int src_stride = DEFAULT_CNTL ?
+ s->regs.src_pitch : s->regs.default_pitch;
++ if (!src_stride) {
++ qemu_log_mask(LOG_GUEST_ERROR, "Zero source pitch\n");
++ return;
++ }
+ uint8_t *src_bits = s->vga.vram_ptr + (DEFAULT_CNTL ?
+ s->regs.src_offset : s->regs.default_offset);
+
+@@ -137,8 +149,10 @@ void ati_2d_blt(ATIVGAState *s)
+ dst_y * surface_stride(ds),
+ s->regs.dst_height * surface_stride(ds));
+ }
+- s->regs.dst_x += s->regs.dst_width;
+- s->regs.dst_y += s->regs.dst_height;
++ s->regs.dst_x = (s->regs.dp_cntl & DST_X_LEFT_TO_RIGHT ?
++ dst_x + s->regs.dst_width : dst_x);
++ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
++ dst_y + s->regs.dst_height : dst_y);
+ break;
+ }
+ case ROP3_PATCOPY:
+@@ -179,7 +193,8 @@ void ati_2d_blt(ATIVGAState *s)
+ dst_y * surface_stride(ds),
+ s->regs.dst_height * surface_stride(ds));
+ }
+- s->regs.dst_y += s->regs.dst_height;
++ s->regs.dst_y = (s->regs.dp_cntl & DST_Y_TOP_TO_BOTTOM ?
++ dst_y + s->regs.dst_height : dst_y);
+ break;
+ }
+ default:
+--
+1.8.3.1
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-1711.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-1711.patch
new file mode 100644
index 000000000..aa7bc8232
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-1711.patch
@@ -0,0 +1,64 @@
+From 693fd2acdf14dd86c0bf852610f1c2cca80a74dc Mon Sep 17 00:00:00 2001
+From: Felipe Franciosi <felipe@nutanix.com>
+Date: Thu, 23 Jan 2020 12:44:59 +0000
+Subject: [PATCH] iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
+
+When querying an iSCSI server for the provisioning status of blocks (via
+GET LBA STATUS), Qemu only validates that the response descriptor zero's
+LBA matches the one requested. Given the SCSI spec allows servers to
+respond with the status of blocks beyond the end of the LUN, Qemu may
+have its heap corrupted by clearing/setting too many bits at the end of
+its allocmap for the LUN.
+
+A malicious guest in control of the iSCSI server could carefully program
+Qemu's heap (by selectively setting the bitmap) and then smash it.
+
+This limits the number of bits that iscsi_co_block_status() will try to
+update in the allocmap so it can't overflow the bitmap.
+
+Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=patch;h=693fd2acdf14dd86c0bf852610f1c2cca80a74dc]
+CVE: CVE-2020-1711
+
+Fixes: CVE-2020-1711
+Cc: qemu-stable@nongnu.org
+Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
+Signed-off-by: Peter Turschmid <peter.turschm@nutanix.com>
+Signed-off-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
+Signed-off-by: Kevin Wolf <kwolf@redhat.com>
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+---
+ block/iscsi.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/block/iscsi.c b/block/iscsi.c
+index 2aea7e3..cbd5729 100644
+--- a/block/iscsi.c
++++ b/block/iscsi.c
+@@ -701,7 +701,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ struct scsi_get_lba_status *lbas = NULL;
+ struct scsi_lba_status_descriptor *lbasd = NULL;
+ struct IscsiTask iTask;
+- uint64_t lba;
++ uint64_t lba, max_bytes;
+ int ret;
+
+ iscsi_co_init_iscsitask(iscsilun, &iTask);
+@@ -721,6 +721,7 @@ static int coroutine_fn iscsi_co_block_status(BlockDriverState *bs,
+ }
+
+ lba = offset / iscsilun->block_size;
++ max_bytes = (iscsilun->num_blocks - lba) * iscsilun->block_size;
+
+ qemu_mutex_lock(&iscsilun->mutex);
+ retry:
+@@ -764,7 +765,7 @@ retry:
+ goto out_unlock;
+ }
+
+- *pnum = (int64_t) lbasd->num_blocks * iscsilun->block_size;
++ *pnum = MIN((int64_t) lbasd->num_blocks * iscsilun->block_size, max_bytes);
+
+ if (lbasd->provisioning == SCSI_PROVISIONING_TYPE_DEALLOCATED ||
+ lbasd->provisioning == SCSI_PROVISIONING_TYPE_ANCHORED) {
+--
+1.8.3.1
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-1.patch
new file mode 100644
index 000000000..df6bca6db
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-1.patch
@@ -0,0 +1,44 @@
+From b2663d527a1992ba98c0266458b21ada3b9d0d2e Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Feb 2020 12:07:35 +0800
+Subject: [PATCH] tcp_emu: Fix oob access
+
+The main loop only checks for one available byte, while we sometimes
+need two bytes.
+
+CVE: CVE-2020-7039
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/slirp/libslirp/commit/2655fffed7a9e765bcb4701dd876e9dab975f289]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ slirp/src/tcp_subr.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/slirp/src/tcp_subr.c b/slirp/src/tcp_subr.c
+index d6dd133..4bea2d4 100644
+--- a/slirp/src/tcp_subr.c
++++ b/slirp/src/tcp_subr.c
+@@ -886,6 +886,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ break;
+
+ case 5:
++ if (bptr == m->m_data + m->m_len - 1)
++ return 1; /* We need two bytes */
+ /*
+ * The difference between versions 1.0 and
+ * 2.0 is here. For future versions of
+@@ -901,6 +903,10 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ /* This is the field containing the port
+ * number that RA-player is listening to.
+ */
++
++ if (bptr == m->m_data + m->m_len - 1)
++ return 1; /* We need two bytes */
++
+ lport = (((uint8_t *)bptr)[0] << 8) + ((uint8_t *)bptr)[1];
+ if (lport < 6970)
+ lport += 256; /* don't know why */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-2.patch
new file mode 100644
index 000000000..4a00fa2af
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-2.patch
@@ -0,0 +1,59 @@
+From 8f67e76e4148e37f3d8d2bcbdee7417fdedb7669 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Feb 2020 12:10:34 +0800
+Subject: [PATCH] slirp: use correct size while emulating commands
+
+While emulating services in tcp_emu(), it uses 'mbuf' size
+'m->m_size' to write commands via snprintf(3). Use M_FREEROOM(m)
+size to avoid possible OOB access.
+Signed-off-by: default avatarPrasad J Pandit <pjp@fedoraproject.org>
+Signed-off-by: Samuel Thibault's avatarSamuel Thibault
+<samuel.thibault@ens-lyon.org>
+Message-Id: <20200109094228.79764-3-ppandit@redhat.com>
+
+CVE: CVE-2020-7039
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/slirp/libslirp/commit/82ebe9c370a0e2970fb5695aa19aa5214a6a1c80]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ slirp/src/tcp_subr.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/slirp/src/tcp_subr.c b/slirp/src/tcp_subr.c
+index 4bea2d4..e8ed4ef 100644
+--- a/slirp/src/tcp_subr.c
++++ b/slirp/src/tcp_subr.c
+@@ -696,7 +696,7 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ n4 = (laddr & 0xff);
+
+ m->m_len = bptr - m->m_data; /* Adjust length */
+- m->m_len += snprintf(bptr, m->m_size - m->m_len,
++ m->m_len += snprintf(bptr, M_FREEROOM(m),
+ "ORT %d,%d,%d,%d,%d,%d\r\n%s", n1, n2, n3, n4,
+ n5, n6, x == 7 ? buff : "");
+ return 1;
+@@ -731,8 +731,7 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ n4 = (laddr & 0xff);
+
+ m->m_len = bptr - m->m_data; /* Adjust length */
+- m->m_len +=
+- snprintf(bptr, m->m_size - m->m_len,
++ m->m_len += snprintf(bptr, M_FREEROOM(m),
+ "27 Entering Passive Mode (%d,%d,%d,%d,%d,%d)\r\n%s",
+ n1, n2, n3, n4, n5, n6, x == 7 ? buff : "");
+
+@@ -758,8 +757,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ if (m->m_data[m->m_len - 1] == '\0' && lport != 0 &&
+ (so = tcp_listen(slirp, INADDR_ANY, 0, so->so_laddr.s_addr,
+ htons(lport), SS_FACCEPTONCE)) != NULL)
+- m->m_len =
+- snprintf(m->m_data, m->m_size, "%d", ntohs(so->so_fport)) + 1;
++ m->m_len = snprintf(m->m_data, M_ROOM(m),
++ "%d", ntohs(so->so_fport)) + 1;
+ return 1;
+
+ case EMU_IRC:
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-3.patch
new file mode 100644
index 000000000..70ce480d8
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7039-3.patch
@@ -0,0 +1,64 @@
+From 0b03959b72036afce151783720d9e54988cf76ef Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Feb 2020 12:15:04 +0800
+Subject: [PATCH] slirp: use correct size while emulating IRC commands
+
+While emulating IRC DCC commands, tcp_emu() uses 'mbuf' size
+'m->m_size' to write DCC commands via snprintf(3). This may
+lead to OOB write access, because 'bptr' points somewhere in
+the middle of 'mbuf' buffer, not at the start. Use M_FREEROOM(m)
+size to avoid OOB access.
+Reported-by: default avatarVishnu Dev TJ <vishnudevtj@gmail.com>
+Signed-off-by: default avatarPrasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Samuel Thibault's avatarSamuel Thibault
+<samuel.thibault@ens-lyon.org>
+Message-Id: <20200109094228.79764-2-ppandit@redhat.com>
+
+CVE: CVE-2020-7039
+Upstream-Status: Backport
+[https://gitlab.freedesktop.org/slirp/libslirp/commit/ce131029d6d4a405cb7d3ac6716d03e58fb4a5d9]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ slirp/src/tcp_subr.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/slirp/src/tcp_subr.c b/slirp/src/tcp_subr.c
+index e8ed4ef..3a4a8ee 100644
+--- a/slirp/src/tcp_subr.c
++++ b/slirp/src/tcp_subr.c
+@@ -777,7 +777,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ return 1;
+ }
+ m->m_len = bptr - m->m_data; /* Adjust length */
+- m->m_len += snprintf(bptr, m->m_size, "DCC CHAT chat %lu %u%c\n",
++ m->m_len += snprintf(bptr, M_FREEROOM(m),
++ "DCC CHAT chat %lu %u%c\n",
+ (unsigned long)ntohl(so->so_faddr.s_addr),
+ ntohs(so->so_fport), 1);
+ } else if (sscanf(bptr, "DCC SEND %256s %u %u %u", buff, &laddr, &lport,
+@@ -787,8 +788,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ return 1;
+ }
+ m->m_len = bptr - m->m_data; /* Adjust length */
+- m->m_len +=
+- snprintf(bptr, m->m_size, "DCC SEND %s %lu %u %u%c\n", buff,
++ m->m_len += snprintf(bptr, M_FREEROOM(m),
++ "DCC SEND %s %lu %u %u%c\n", buff,
+ (unsigned long)ntohl(so->so_faddr.s_addr),
+ ntohs(so->so_fport), n1, 1);
+ } else if (sscanf(bptr, "DCC MOVE %256s %u %u %u", buff, &laddr, &lport,
+@@ -798,8 +799,8 @@ int tcp_emu(struct socket *so, struct mbuf *m)
+ return 1;
+ }
+ m->m_len = bptr - m->m_data; /* Adjust length */
+- m->m_len +=
+- snprintf(bptr, m->m_size, "DCC MOVE %s %lu %u %u%c\n", buff,
++ m->m_len += snprintf(bptr, M_FREEROOM(m),
++ "DCC MOVE %s %lu %u %u%c\n", buff,
+ (unsigned long)ntohl(so->so_faddr.s_addr),
+ ntohs(so->so_fport), n1, 1);
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7211.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7211.patch
new file mode 100644
index 000000000..11be4c92e
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-7211.patch
@@ -0,0 +1,46 @@
+From 14ec36e107a8c9af7d0a80c3571fe39b291ff1d4 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Mon, 13 Jan 2020 17:44:31 +0530
+Subject: [PATCH] slirp: tftp: restrict relative path access
+
+tftp restricts relative or directory path access on Linux systems.
+Apply same restrictions on Windows systems too. It helps to avoid
+directory traversal issue.
+
+Fixes: https://bugs.launchpad.net/qemu/+bug/1812451
+Reported-by: Peter Maydell <peter.maydell@linaro.org>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Message-Id: <20200113121431.156708-1-ppandit@redhat.com>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/slirp/libslirp/-/commit/14ec36e107a8c9af7d0a80c3571fe39b291ff1d4.patch]
+CVE: CVE-2020-7211
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ slirp/src/tftp.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/slirp/src/tftp.c b/slirp/src/tftp.c
+index 093c2e0..e52e71b 100644
+--- a/slirp/src/tftp.c
++++ b/slirp/src/tftp.c
+@@ -344,8 +344,13 @@ static void tftp_handle_rrq(Slirp *slirp, struct sockaddr_storage *srcsas,
+ k += 6; /* skipping octet */
+
+ /* do sanity checks on the filename */
+- if (!strncmp(req_fname, "../", 3) ||
+- req_fname[strlen(req_fname) - 1] == '/' || strstr(req_fname, "/../")) {
++ if (
++#ifdef G_OS_WIN32
++ strstr(req_fname, "..\\") ||
++ req_fname[strlen(req_fname) - 1] == '\\' ||
++#endif
++ strstr(req_fname, "../") ||
++ req_fname[strlen(req_fname) - 1] == '/') {
+ tftp_send_error(spt, 2, "Access violation", tp);
+ return;
+ }
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/run-ptest b/poky/meta/recipes-devtools/qemu/qemu/run-ptest
index 2206b3192..b25a792d4 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/run-ptest
+++ b/poky/meta/recipes-devtools/qemu/qemu/run-ptest
@@ -7,4 +7,4 @@ ptestdir=$(dirname "$(readlink -f "$0")")
export SRC_PATH=$ptestdir
cd $ptestdir/tests
-make -f Makefile.include -k runtest-TESTS | sed '/: OK/ s/^/PASS: /g'
+make -f Makefile.include -k runtest-TESTS | sed '/^ok /s/ok /PASS: /g'
diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb
index f0c1daabe..a4018cc44 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_4.2.0.bb
@@ -21,5 +21,8 @@ do_install_append_class-nativesdk() {
PACKAGECONFIG ??= " \
fdt sdl kvm \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' ,d)} \
+"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' ,d)} \
"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
index 80e2f0fad..4029233fb 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
@@ -1,4 +1,4 @@
-From 87cfc0db1ed6fe381a5ed5f0016d8c3344a31a11 Mon Sep 17 00:00:00 2001
+From f39c28eb52f12ae6e82db360ffd5a903ac8faca5 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 9 Jan 2017 18:52:11 +0200
Subject: [PATCH] Do not add an unsatisfiable dependency when building rpms in
@@ -9,25 +9,23 @@ hand produces rpms that way by design.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
build/pack.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/build/pack.c b/build/pack.c
-index 1261cdbba..bb2d6f4f6 100644
+index e6cec1816..810cd7351 100644
--- a/build/pack.c
+++ b/build/pack.c
-@@ -595,10 +595,6 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
- }
+@@ -724,10 +724,6 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
+ headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
+ }
+
+- if (cheating) {
+- (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1");
+- }
+-
+ if ((rc = getPkgFilename(pkg->header, filename)))
+ return rc;
-- if (cheating) {
-- (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1");
-- }
--
- { char *binFormat = rpmGetPath("%{_rpmfilename}", NULL);
- char *binRpm, *binDir;
- binRpm = headerFormat(pkg->header, binFormat, &errorString);
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index 82e732875..52440d681 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,4 +1,4 @@
-From bd08eb0ae1312f347f49949481daa7c923752df2 Mon Sep 17 00:00:00 2001
+From 2f3d1619b6510bc131c4375827caf912559f0fa2 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 27 Feb 2017 09:43:30 +0200
Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 09af7c4..9bd6903 100644
+index d3aeab86e..1a1f3f91f 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1055,7 +1055,7 @@ else
+@@ -1086,7 +1086,7 @@ else
usrprefix=$prefix
fi
@@ -27,10 +27,10 @@ index 09af7c4..9bd6903 100644
AC_SUBST(OBJDUMP)
diff --git a/macros.in b/macros.in
-index a3aa7a9..62cee5c 100644
+index fe9803aad..d128675bf 100644
--- a/macros.in
+++ b/macros.in
-@@ -970,7 +970,7 @@ package or when debugging this package.\
+@@ -985,7 +985,7 @@ package or when debugging this package.\
%_sharedstatedir %{_prefix}/com
%_localstatedir %{_prefix}/var
%_lib lib
@@ -40,7 +40,7 @@ index a3aa7a9..62cee5c 100644
%_infodir %{_datadir}/info
%_mandir %{_datadir}/man
diff --git a/rpm.am b/rpm.am
-index 82c2d7c..6341b51 100644
+index 40b4ec55f..3139ce8f6 100644
--- a/rpm.am
+++ b/rpm.am
@@ -1,10 +1,10 @@
@@ -55,4 +55,4 @@ index 82c2d7c..6341b51 100644
+rpmconfigdir = $(libdir)/rpm
# Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 9:0:1
+ rpm_version_info = 9:1:0
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch b/poky/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch
new file mode 100644
index 000000000..734e38bb3
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Rip-out-partial-support-for-unused-MD2-and-RIPEMD160.patch
@@ -0,0 +1,81 @@
+From 2d53d1e308a5bd15a16cc289fa7e1f264ea706be Mon Sep 17 00:00:00 2001
+From: Panu Matilainen <pmatilai@redhat.com>
+Date: Tue, 26 Jun 2018 10:46:14 +0300
+Subject: [PATCH] Rip out partial support for unused MD2 and RIPEMD160 digests
+
+Inspired by #453, adding configure-checks for unused digests algorithms
+seems nonsensical, at no point in rpm history have these algorithms been
+used for anything in rpm so there's not even backward compatibility to
+care about. So the question becomes why do we appear to have (some)
+support for those unused algorithms? So lets don't, problem solved...
+
+Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/ff4b9111aeba01dd025dd133ce617fb80f7398a0]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ rpmio/digest_beecrypt.c | 7 -------
+ rpmio/digest_nss.c | 2 --
+ rpmio/digest_openssl.c | 6 ------
+ 3 files changed, 15 deletions(-)
+
+diff --git a/rpmio/digest_beecrypt.c b/rpmio/digest_beecrypt.c
+index 597027e25..653a39491 100644
+--- a/rpmio/digest_beecrypt.c
++++ b/rpmio/digest_beecrypt.c
+@@ -132,10 +132,6 @@ DIGEST_CTX rpmDigestInit(int hashalgo, rpmDigestFlags flags)
+ ctx->Digest = (void *) sha512Digest;
+ break;
+ #endif
+- case PGPHASHALGO_RIPEMD160:
+- case PGPHASHALGO_MD2:
+- case PGPHASHALGO_TIGER192:
+- case PGPHASHALGO_HAVAL_5_160:
+ default:
+ free(ctx);
+ return NULL;
+@@ -292,9 +288,6 @@ static int pgpVerifySigRSA(pgpDigAlg pgpkey, pgpDigAlg pgpsig, uint8_t *hash, si
+ case PGPHASHALGO_SHA1:
+ prefix = "3021300906052b0e03021a05000414";
+ break;
+- case PGPHASHALGO_MD2:
+- prefix = "3020300c06082a864886f70d020205000410";
+- break;
+ case PGPHASHALGO_SHA256:
+ prefix = "3031300d060960864801650304020105000420";
+ break;
+diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c
+index e11920e3e..b3d2b5595 100644
+--- a/rpmio/digest_nss.c
++++ b/rpmio/digest_nss.c
+@@ -117,7 +117,6 @@ static HASH_HashType getHashType(int hashalgo)
+ {
+ switch (hashalgo) {
+ case PGPHASHALGO_MD5: return HASH_AlgMD5;
+- case PGPHASHALGO_MD2: return HASH_AlgMD2;
+ case PGPHASHALGO_SHA1: return HASH_AlgSHA1;
+ #ifdef SHA224_LENGTH
+ case PGPHASHALGO_SHA224: return HASH_AlgSHA224;
+@@ -217,7 +216,6 @@ static SECOidTag getHashAlg(unsigned int hashalgo)
+ {
+ switch (hashalgo) {
+ case PGPHASHALGO_MD5: return SEC_OID_MD5;
+- case PGPHASHALGO_MD2: return SEC_OID_MD2;
+ case PGPHASHALGO_SHA1: return SEC_OID_SHA1;
+ #ifdef SHA224_LENGTH
+ case PGPHASHALGO_SHA224: return SEC_OID_SHA224;
+diff --git a/rpmio/digest_openssl.c b/rpmio/digest_openssl.c
+index 18e52a724..0ae48dd1d 100644
+--- a/rpmio/digest_openssl.c
++++ b/rpmio/digest_openssl.c
+@@ -172,12 +172,6 @@ static const EVP_MD *getEVPMD(int hashalgo)
+ case PGPHASHALGO_SHA1:
+ return EVP_sha1();
+
+- case PGPHASHALGO_RIPEMD160:
+- return EVP_ripemd160();
+-
+- case PGPHASHALGO_MD2:
+- return EVP_md2();
+-
+ case PGPHASHALGO_SHA256:
+ return EVP_sha256();
+
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch b/poky/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch
deleted file mode 100644
index 6e44f0b7f..000000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 721a660a507d6d062e7aecafad886c643970a5d5 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 May 2017 18:15:27 +0300
-Subject: [PATCH 1/4] Split binary package building into a separate function
-
-So that it can be run as a thread pool task.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/pack.c | 33 +++++++++++++++++++++------------
- 1 file changed, 21 insertions(+), 12 deletions(-)
-
-diff --git a/build/pack.c b/build/pack.c
-index 518f4e92a..ccfd614cc 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -546,18 +546,13 @@ static rpmRC checkPackages(char *pkgcheck)
- return RPMRC_OK;
- }
-
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename)
- {
-- rpmRC rc;
-- const char *errorString;
-- Package pkg;
-- char *pkglist = NULL;
--
-- for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-- char *fn;
-+ const char *errorString;
-+ rpmRC rc = RPMRC_OK;
-
- if (pkg->fileList == NULL)
-- continue;
-+ return rc;
-
- if ((rc = processScriptFiles(spec, pkg)))
- return rc;
-@@ -587,7 +582,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- headerGetString(pkg->header, RPMTAG_NAME), errorString);
- return RPMRC_FAIL;
- }
-- fn = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
-+ *filename = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
- if ((binDir = strchr(binRpm, '/')) != NULL) {
- struct stat st;
- char *dn;
-@@ -609,14 +604,28 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- free(binRpm);
- }
-
-- rc = writeRPM(pkg, NULL, fn, NULL);
-+ rc = writeRPM(pkg, NULL, *filename, NULL);
- if (rc == RPMRC_OK) {
- /* Do check each written package if enabled */
-- char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", fn, NULL);
-+ char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
- if (pkgcheck[0] != ' ') {
- rc = checkPackages(pkgcheck);
- }
- free(pkgcheck);
-+ }
-+ return rc;
-+}
-+
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+{
-+ rpmRC rc;
-+ Package pkg;
-+ char *pkglist = NULL;
-+
-+ for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-+ char *fn = NULL;
-+ rc = packageBinary(spec, pkg, cookie, cheating, &fn);
-+ if (rc == RPMRC_OK) {
- rstrcat(&pkglist, fn);
- rstrcat(&pkglist, " ");
- }
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
new file mode 100644
index 000000000..6678c105c
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
@@ -0,0 +1,60 @@
+From 1ed066fc6fa7d7afffe3545c4e3ea937529e6c49 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 7 May 2020 17:40:58 +0800
+Subject: [PATCH] lib/transaction.c: fix file conflicts for MIPS64 N32
+
+This patch is from:
+https://github.com/rpm-software-management/rpm/issues/193
+
+Error: Transaction check error:
+ file /sbin/ldconfig conflicts between attempted installs of
+ldconfig-2.31+git0+71f2b249a2-r0.mips64_n32 and
+lib32-ldconfig-2.31+git0+71f2b249a2-r0.mips32r2
+...
+
+This was because:
+transactions_color = 001 (ELF32) & 010 (ELF64) & 100 (ELF32 N32 MIPS64)
+FColor = Current file color (001) & transaction_color (111)
+oFcolor = Previous file color (100) & transaction_color (111)
+
+In handleColorConflict, it only deal with conditons "new preferred" or
+"old preferred". But not deal with the situation where neither is the
+preferred type. so for tri-lib system, like mips64/mips64 n32/mips(32),
+"Transaction check error" occurred.
+
+Fixed by performing a 'last-in-wins' resolution when "neither is preferred".
+
+Upstream-Status: Submitted <https://github.com/rpm-software-management/rpm/issues/193>
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/transaction.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/lib/transaction.c b/lib/transaction.c
+index 67b9db5..82386b8 100644
+--- a/lib/transaction.c
++++ b/lib/transaction.c
+@@ -391,7 +391,18 @@ static int handleColorConflict(rpmts ts,
+ rpmfsSetAction(ofs, ofx, FA_CREATE);
+ rpmfsSetAction(fs, fx, FA_SKIPCOLOR);
+ rConflicts = 0;
+- }
++ }else {
++ /*
++ * If neither is already skipped, we skip the old one, and
++ * install the new one (last in wins).
++ */
++ if (ofs && !XFA_SKIPPING(rpmfsGetAction(ofs, ofx)) &&
++ fs && !XFA_SKIPPING(rpmfsGetAction(fs, fx))) {
++ rpmfsSetAction(ofs, ofx, FA_SKIPCOLOR);
++ rpmfsSetAction(fs, fx, FA_CREATE);
++ }
++ rConflicts = 0;
++ }
+ }
+ }
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch b/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
deleted file mode 100644
index 24aa4c7ff..000000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 43fbc3f53302a395463e8450ac81c53f623eec3f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 27 Aug 2019 17:42:34 +0200
-Subject: [PATCH] mono-find-provides/requires: do not use monodis from the host
-
-There was a host contamination issue here: if monodis was installed
-on the host, do_package would use that to resolve dependencies
-of mono libraries (and often fail in that). Without monodis,
-no dependencies are resolved, which is seemingly how things
-are supposed to work.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- scripts/mono-find-provides | 8 ++++----
- scripts/mono-find-requires | 8 ++++----
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/scripts/mono-find-provides b/scripts/mono-find-provides
-index 9348457d3..b28872ffb 100644
---- a/scripts/mono-find-provides
-+++ b/scripts/mono-find-provides
-@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
- build_bindir="$2/usr/bin"
- build_libdir="$2$3"
-
--if [ -x $build_bindir/monodis ]; then
-- monodis="$build_bindir/monodis"
-+if [ -x $build_bindir/monodis.bogus ]; then
-+ monodis="$build_bindir/monodis.bogus"
- export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
--elif [ -x /usr/bin/monodis ]; then
-- monodis="/usr/bin/monodis"
-+elif [ -x /usr/bin/monodis.bogus ]; then
-+ monodis="/usr/bin/monodis.bogus"
- else
- exit 0;
- fi
-diff --git a/scripts/mono-find-requires b/scripts/mono-find-requires
-index ea58cae48..d270169e1 100644
---- a/scripts/mono-find-requires
-+++ b/scripts/mono-find-requires
-@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
- build_bindir="$2/usr/bin"
- build_libdir="$2$3"
-
--if [ -x $build_bindir/monodis ]; then
-- monodis="$build_bindir/monodis"
-+if [ -x $build_bindir/monodis.bogus ]; then
-+ monodis="$build_bindir/monodis.bogus"
- export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
--elif [ -x /usr/bin/monodis ]; then
-- monodis="/usr/bin/monodis"
-+elif [ -x /usr/bin/monodis.bogus ]; then
-+ monodis="/usr/bin/monodis.bogus"
- else
- exit 0;
- fi
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
new file mode 100644
index 000000000..d8d338792
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch
@@ -0,0 +1,65 @@
+From 93c3c7f043f62e96941274e957c4ad9432032af1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 18 Nov 2019 16:22:56 +0100
+Subject: [PATCH] rpmfc.c: do not run file classification in parallel
+
+This is causing freezes with libmagic when the file in question is compressed:
+https://github.com/rpm-software-management/rpm/issues/756
+
+Upstream-Status: Inappropriate [upstream wants a proper fix]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ build/rpmfc.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/build/rpmfc.c b/build/rpmfc.c
+index 3db7a9352..17afdd57a 100644
+--- a/build/rpmfc.c
++++ b/build/rpmfc.c
+@@ -680,7 +680,6 @@ static void rpmfcAttributes(rpmfc fc, int ix, const char *ftype, const char *ful
+ /* Add attributes on libmagic type & path pattern matches */
+ if (matches(&(*attr)->incl, ftype, path, is_executable)) {
+ argvAddTokens(&fc->fattrs[ix], (*attr)->name);
+- #pragma omp critical(fahash)
+ fattrHashAddEntry(fc->fahash, attr-fc->atypes, ix);
+ }
+ }
+@@ -1105,7 +1104,6 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+ /* Build (sorted) file class dictionary. */
+ fc->cdict = rpmstrPoolCreate();
+
+- #pragma omp parallel
+ {
+ /* libmagic is not thread-safe, each thread needs to a private handle */
+ magic_t ms = magic_open(msflags);
+@@ -1113,15 +1111,12 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+ if (ms == NULL) {
+ rpmlog(RPMLOG_ERR, _("magic_open(0x%x) failed: %s\n"),
+ msflags, strerror(errno));
+- #pragma omp cancel parallel
+ }
+
+ if (magic_load(ms, NULL) == -1) {
+ rpmlog(RPMLOG_ERR, _("magic_load failed: %s\n"), magic_error(ms));
+- #pragma omp cancel parallel
+ }
+
+- #pragma omp for ordered reduction(+:nerrors)
+ for (int ix = 0; ix < fc->nfiles; ix++) {
+ rpmsid ftypeId;
+ const char * ftype;
+@@ -1185,14 +1180,11 @@ rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
+ fc->fcolor[ix] = fcolor;
+
+ /* Add to file class dictionary and index array */
+- #pragma omp ordered
+ if (fcolor != RPMFC_WHITE && (fcolor & RPMFC_INCLUDE)) {
+ ftypeId = rpmstrPoolId(fc->cdict, ftype, 1);
+- #pragma omp atomic
+ fc->fknown++;
+ } else {
+ ftypeId = rpmstrPoolId(fc->cdict, "", 1);
+- #pragma omp atomic
+ fc->fwhite++;
+ }
+ /* Pool id's start from 1, for headers we want it from 0 */
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch b/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
new file mode 100644
index 000000000..8842e3ebd
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch
@@ -0,0 +1,29 @@
+From 6878a83f9bac015c64d83cee42530a20a264cc5a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 7 Jan 2020 12:02:06 +0100
+Subject: [PATCH] rpmplugins.c: call dlerror() prior to dlsym()
+
+This is the recommended way in the manpage; if there is
+a lingering error from an unrelated dl*() call that was
+never obtained via dlerror(), it needs to be cleared
+prior to calling dlsym().
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/998]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ lib/rpmplugins.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/rpmplugins.c b/lib/rpmplugins.c
+index 65e684e84..b950f85cf 100644
+--- a/lib/rpmplugins.c
++++ b/lib/rpmplugins.c
+@@ -68,6 +68,8 @@ static rpmPlugin rpmPluginNew(const char *name, const char *path,
+
+ /* make sure the plugin has the supported hooks flag */
+ hooks_name = rstrscat(NULL, name, "_hooks", NULL);
++ /* clear out any old errors that weren't fetched */
++ dlerror();
+ hooks = dlsym(handle, hooks_name);
+ if ((error = dlerror()) != NULL) {
+ rpmlog(RPMLOG_ERR, _("Failed to resolve symbol %s: %s\n"),
diff --git a/poky/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch b/poky/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch
deleted file mode 100644
index d10041c2e..000000000
--- a/poky/meta/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 513200cf76758de4668312c628d6362bdabfaf4b Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 May 2017 19:30:20 +0300
-Subject: [PATCH 1/3] Run binary package creation via thread pools.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/pack.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
- configure.ac | 3 +++
- 2 files changed, 70 insertions(+), 14 deletions(-)
-
-diff --git a/build/pack.c b/build/pack.c
-index ccfd614cc..ed5b9ab4e 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -616,25 +616,78 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- return rc;
- }
-
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+struct binaryPackageTaskData
- {
-- rpmRC rc;
- Package pkg;
-+ char *filename;
-+ rpmRC result;
-+ struct binaryPackageTaskData *next;
-+};
-+
-+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating)
-+{
-+ struct binaryPackageTaskData *tasks = NULL;
-+ struct binaryPackageTaskData *task = NULL;
-+ struct binaryPackageTaskData *prev = NULL;
-+
-+ for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-+ task = rcalloc(1, sizeof(*task));
-+ task->pkg = pkg;
-+ if (pkg == spec->packages) {
-+ // the first package needs to be processed ahead of others, as they copy
-+ // changelog data from it, and so otherwise data races would happen
-+ task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename));
-+ rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-+ tasks = task;
-+ }
-+ if (prev != NULL) {
-+ prev->next = task;
-+ }
-+ prev = task;
-+ }
-+
-+ #pragma omp parallel
-+ #pragma omp single
-+ // re-declaring task variable is necessary, or older gcc versions will produce code that segfaults
-+ for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
-+ if (task != tasks)
-+ #pragma omp task
-+ {
-+ task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename));
-+ rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
-+ }
-+ }
-+
-+ return tasks;
-+}
-+
-+static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
-+{
-+ while (tasks != NULL) {
-+ struct binaryPackageTaskData* next = tasks->next;
-+ rfree(tasks->filename);
-+ rfree(tasks);
-+ tasks = next;
-+ }
-+}
-+
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+{
- char *pkglist = NULL;
-
-- for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
-- char *fn = NULL;
-- rc = packageBinary(spec, pkg, cookie, cheating, &fn);
-- if (rc == RPMRC_OK) {
-- rstrcat(&pkglist, fn);
-- rstrcat(&pkglist, " ");
-- }
-- free(fn);
-- if (rc != RPMRC_OK) {
-- pkglist = _free(pkglist);
-- return rc;
-- }
-+ struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating);
-+
-+ for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
-+ if (task->result == RPMRC_OK) {
-+ rstrcat(&pkglist, task->filename);
-+ rstrcat(&pkglist, " ");
-+ } else {
-+ _free(pkglist);
-+ freeBinaryPackageTasks(tasks);
-+ return RPMRC_FAIL;
-+ }
- }
-+ freeBinaryPackageTasks(tasks);
-
- /* Now check the package set if enabled */
- if (pkglist != NULL) {
-diff --git a/configure.ac b/configure.ac
-index a506ec819..59fa0acaf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -17,6 +17,9 @@ AC_DISABLE_STATIC
-
- PKG_PROG_PKG_CONFIG
-
-+AC_OPENMP
-+RPMCFLAGS="$OPENMP_CFLAGS $RPMCFLAGS"
-+
- dnl Checks for programs.
- AC_PROG_CXX
- AC_PROG_AWK
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch b/poky/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch
deleted file mode 100644
index c348ae533..000000000
--- a/poky/meta/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-From c80892f17e44331206c8318d53b63bb6a99554d0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 30 May 2017 13:58:30 +0300
-Subject: [PATCH 3/4] rpmstrpool.c: make operations over string pools
- thread-safe
-
-Otherwise multithreaded rpm building explodes in various ways due
-to data races.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- rpmio/rpmstrpool.c | 56 +++++++++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 47 insertions(+), 9 deletions(-)
-
-diff --git a/rpmio/rpmstrpool.c b/rpmio/rpmstrpool.c
-index 30a57eb10..58ba95a02 100644
---- a/rpmio/rpmstrpool.c
-+++ b/rpmio/rpmstrpool.c
-@@ -113,6 +113,8 @@ static poolHash poolHashCreate(int numBuckets)
- return ht;
- }
-
-+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid);
-+
- static void poolHashResize(rpmstrPool pool, int numBuckets)
- {
- poolHash ht = pool->hash;
-@@ -120,7 +122,7 @@ static void poolHashResize(rpmstrPool pool, int numBuckets)
-
- for (int i=0; i<ht->numBuckets; i++) {
- if (!ht->buckets[i].keyid) continue;
-- unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid));
-+ unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid));
- for (unsigned int j=0;;j++) {
- unsigned int hash = hashbucket(keyHash, j) % numBuckets;
- if (!buckets[hash].keyid) {
-@@ -149,7 +151,7 @@ static void poolHashAddHEntry(rpmstrPool pool, const char * key, unsigned int ke
- ht->buckets[hash].keyid = keyid;
- ht->keyCount++;
- break;
-- } else if (!strcmp(rpmstrPoolStr(pool, ht->buckets[hash].keyid), key)) {
-+ } else if (!strcmp(rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid), key)) {
- return;
- }
- }
-@@ -191,7 +193,7 @@ static void poolHashPrintStats(rpmstrPool pool)
- int maxcollisions = 0;
-
- for (i=0; i<ht->numBuckets; i++) {
-- unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid));
-+ unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid));
- for (unsigned int j=0;;j++) {
- unsigned int hash = hashbucket(keyHash, i) % ht->numBuckets;
- if (hash==i) {
-@@ -221,7 +223,7 @@ static void rpmstrPoolRehash(rpmstrPool pool)
-
- pool->hash = poolHashCreate(sizehint);
- for (int i = 1; i <= pool->offs_size; i++)
-- poolHashAddEntry(pool, rpmstrPoolStr(pool, i), i);
-+ poolHashAddEntry(pool, rpmstrPoolStrNoLock(pool, i), i);
- }
-
- rpmstrPool rpmstrPoolCreate(void)
-@@ -245,6 +247,8 @@ rpmstrPool rpmstrPoolCreate(void)
-
- rpmstrPool rpmstrPoolFree(rpmstrPool pool)
- {
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (pool) {
- if (pool->nrefs > 1) {
- pool->nrefs--;
-@@ -260,18 +264,24 @@ rpmstrPool rpmstrPoolFree(rpmstrPool pool)
- free(pool);
- }
- }
-+ }
- return NULL;
- }
-
- rpmstrPool rpmstrPoolLink(rpmstrPool pool)
- {
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (pool)
- pool->nrefs++;
-+ }
- return pool;
- }
-
- void rpmstrPoolFreeze(rpmstrPool pool, int keephash)
- {
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (pool && !pool->frozen) {
- if (!keephash) {
- pool->hash = poolHashFree(pool->hash);
-@@ -281,16 +291,20 @@ void rpmstrPoolFreeze(rpmstrPool pool, int keephash)
- pool->offs_alloced * sizeof(*pool->offs));
- pool->frozen = 1;
- }
-+ }
- }
-
- void rpmstrPoolUnfreeze(rpmstrPool pool)
- {
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (pool) {
- if (pool->hash == NULL) {
- rpmstrPoolRehash(pool);
- }
- pool->frozen = 0;
- }
-+ }
- }
-
- static rpmsid rpmstrPoolPut(rpmstrPool pool, const char *s, size_t slen, unsigned int hash)
-@@ -350,7 +364,7 @@ static rpmsid rpmstrPoolGet(rpmstrPool pool, const char * key, size_t keylen,
- return 0;
- }
-
-- s = rpmstrPoolStr(pool, ht->buckets[hash].keyid);
-+ s = rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid);
- /* pool string could be longer than keylen, require exact matche */
- if (strncmp(s, key, keylen) == 0 && s[keylen] == '\0')
- return ht->buckets[hash].keyid;
-@@ -373,27 +387,31 @@ static inline rpmsid strn2id(rpmstrPool pool, const char *s, size_t slen,
- rpmsid rpmstrPoolIdn(rpmstrPool pool, const char *s, size_t slen, int create)
- {
- rpmsid sid = 0;
--
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (s != NULL) {
- unsigned int hash = rstrnhash(s, slen);
- sid = strn2id(pool, s, slen, hash, create);
- }
-+ }
- return sid;
- }
-
- rpmsid rpmstrPoolId(rpmstrPool pool, const char *s, int create)
- {
- rpmsid sid = 0;
--
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (s != NULL) {
- size_t slen;
- unsigned int hash = rstrlenhash(s, &slen);
- sid = strn2id(pool, s, slen, hash, create);
- }
-+ }
- return sid;
- }
-
--const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
-+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid)
- {
- const char *s = NULL;
- if (pool && sid > 0 && sid <= pool->offs_size)
-@@ -401,12 +419,25 @@ const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
- return s;
- }
-
-+const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid)
-+{
-+ const char *s = NULL;
-+ #pragma omp critical(rpmstrpool)
-+ {
-+ s = rpmstrPoolStrNoLock(pool, sid);
-+ }
-+ return s;
-+}
-+
- size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid)
- {
- size_t slen = 0;
-+ #pragma omp critical(rpmstrpool)
-+ {
- if (pool && sid > 0 && sid <= pool->offs_size) {
- slen = strlen(pool->offs[sid]);
- }
-+ }
- return slen;
- }
-
-@@ -421,5 +452,12 @@ int rpmstrPoolStreq(rpmstrPool poolA, rpmsid sidA,
-
- rpmsid rpmstrPoolNumStr(rpmstrPool pool)
- {
-- return (pool != NULL) ? pool->offs_size : 0;
-+ rpmsid id = 0;
-+ #pragma omp critical(rpmstrpool)
-+ {
-+ if (pool) {
-+ id = pool->offs_size;
-+ }
-+ }
-+ return id;
- }
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/poky/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
deleted file mode 100644
index 652e30b3e..000000000
--- a/poky/meta/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From 792693bb90768cfde4898e8dd31ee1b5de803d2f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 8 Jun 2017 17:08:09 +0300
-Subject: [PATCH] build/pack.c: remove static local variables from buildHost()
- and getBuildTime()
-
-Their use is causing difficult to diagnoze data races when building multiple
-packages in parallel, and is a bad idea in general, as it also makes it more
-difficult to reason about code.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- build/build.c | 54 ++++++++++++++++++++++++++++--
- build/pack.c | 84 +++++++++--------------------------------------
- build/rpmbuild_internal.h | 8 +++--
- 3 files changed, 74 insertions(+), 72 deletions(-)
-
-diff --git a/build/build.c b/build/build.c
-index 13c3df2..b154f08 100644
---- a/build/build.c
-+++ b/build/build.c
-@@ -6,6 +6,8 @@
- #include "system.h"
-
- #include <errno.h>
-+#include <netdb.h>
-+#include <time.h>
- #include <sys/wait.h>
-
- #include <rpm/rpmlog.h>
-@@ -16,6 +18,50 @@
-
- #include "debug.h"
-
-+static rpm_time_t getBuildTime(void)
-+{
-+ rpm_time_t buildTime = 0;
-+ char *srcdate;
-+ time_t epoch;
-+ char *endptr;
-+
-+ srcdate = getenv("SOURCE_DATE_EPOCH");
-+ if (srcdate) {
-+ errno = 0;
-+ epoch = strtol(srcdate, &endptr, 10);
-+ if (srcdate == endptr || *endptr || errno != 0)
-+ rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n"));
-+ else
-+ buildTime = (int32_t) epoch;
-+ } else
-+ buildTime = (int32_t) time(NULL);
-+
-+ return buildTime;
-+}
-+
-+static char * buildHost(void)
-+{
-+ char* hostname;
-+ struct hostent *hbn;
-+ char *bhMacro;
-+
-+ bhMacro = rpmExpand("%{?_buildhost}", NULL);
-+ if (strcmp(bhMacro, "") != 0) {
-+ rasprintf(&hostname, "%s", bhMacro);
-+ } else {
-+ hostname = rcalloc(1024, sizeof(*hostname));
-+ (void) gethostname(hostname, 1024);
-+ hbn = gethostbyname(hostname);
-+ if (hbn)
-+ strcpy(hostname, hbn->h_name);
-+ else
-+ rpmlog(RPMLOG_WARNING,
-+ _("Could not canonicalize hostname: %s\n"), hostname);
-+ }
-+ free(bhMacro);
-+ return(hostname);
-+}
-+
- /**
- */
- static rpmRC doRmSource(rpmSpec spec)
-@@ -201,6 +247,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
- rpmRC rc = RPMRC_OK;
- int test = (what & RPMBUILD_NOBUILD);
- char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL;
-+ const char* host = buildHost();
-+ rpm_time_t buildTime = getBuildTime();
-+
-
- if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") &&
- getenv("SOURCE_DATE_EPOCH") == NULL) {
-@@ -269,11 +318,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
- goto exit;
-
- if (((what & RPMBUILD_PACKAGESOURCE) && !test) &&
-- (rc = packageSources(spec, &cookie)))
-+ (rc = packageSources(spec, &cookie, buildTime, host)))
- goto exit;
-
- if (((what & RPMBUILD_PACKAGEBINARY) && !test) &&
-- (rc = packageBinaries(spec, cookie, (didBuild == 0))))
-+ (rc = packageBinaries(spec, cookie, (didBuild == 0), buildTime, host)))
- goto exit;
-
- if ((what & RPMBUILD_CLEAN) &&
-@@ -293,6 +342,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what)
- (void) unlink(spec->specFile);
-
- exit:
-+ free(host);
- free(cookie);
- spec->rootDir = NULL;
- if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) {
-diff --git a/build/pack.c b/build/pack.c
-index df15876..17a4b09 100644
---- a/build/pack.c
-+++ b/build/pack.c
-@@ -6,8 +6,6 @@
- #include "system.h"
-
- #include <errno.h>
--#include <netdb.h>
--#include <time.h>
- #include <sys/wait.h>
-
- #include <rpm/rpmlib.h> /* RPMSIGTAG*, rpmReadPackageFile */
-@@ -152,57 +150,6 @@ exit:
- return rc;
- }
-
--static rpm_time_t * getBuildTime(void)
--{
-- static rpm_time_t buildTime[1];
-- char *srcdate;
-- time_t epoch;
-- char *endptr;
--
-- if (buildTime[0] == 0) {
-- srcdate = getenv("SOURCE_DATE_EPOCH");
-- if (srcdate) {
-- errno = 0;
-- epoch = strtol(srcdate, &endptr, 10);
-- if (srcdate == endptr || *endptr || errno != 0)
-- rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n"));
-- else
-- buildTime[0] = (int32_t) epoch;
-- } else
-- buildTime[0] = (int32_t) time(NULL);
-- }
--
-- return buildTime;
--}
--
--static const char * buildHost(void)
--{
-- static char hostname[1024];
-- static int oneshot = 0;
-- struct hostent *hbn;
-- char *bhMacro;
--
-- if (! oneshot) {
-- bhMacro = rpmExpand("%{?_buildhost}", NULL);
-- if (strcmp(bhMacro, "") != 0 && strlen(bhMacro) < 1024) {
-- strcpy(hostname, bhMacro);
-- } else {
-- if (strcmp(bhMacro, "") != 0)
-- rpmlog(RPMLOG_WARNING, _("The _buildhost macro is too long\n"));
-- (void) gethostname(hostname, sizeof(hostname));
-- hbn = gethostbyname(hostname);
-- if (hbn)
-- strcpy(hostname, hbn->h_name);
-- else
-- rpmlog(RPMLOG_WARNING,
-- _("Could not canonicalize hostname: %s\n"), hostname);
-- }
-- free(bhMacro);
-- oneshot = 1;
-- }
-- return(hostname);
--}
--
- static rpmRC processScriptFiles(rpmSpec spec, Package pkg)
- {
- struct TriggerFileEntry *p;
-@@ -476,7 +423,8 @@ exit:
- * order to how the RPM format is laid on disk.
- */
- static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
-- const char *fileName, char **cookie)
-+ const char *fileName, char **cookie,
-+ rpm_time_t buildTime, const char* buildHost)
- {
- FD_t fd = NULL;
- char * rpmio_flags = NULL;
-@@ -500,7 +448,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp,
-
- /* Create and add the cookie */
- if (cookie) {
-- rasprintf(cookie, "%s %d", buildHost(), (int) (*getBuildTime()));
-+ rasprintf(cookie, "%s %d", buildHost, buildTime);
- headerPutString(pkg->header, RPMTAG_COOKIE, *cookie);
- }
-
-@@ -641,7 +589,7 @@ static rpmRC checkPackages(char *pkgcheck)
- return RPMRC_OK;
- }
-
--static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename)
-+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename, rpm_time_t buildTime, const char* buildHost)
- {
- const char *errorString;
- rpmRC rc = RPMRC_OK;
-@@ -660,8 +608,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- headerCopyTags(spec->packages->header, pkg->header, copyTags);
-
- headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION);
-- headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost());
-- headerPutUint32(pkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
-+ headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost);
-+ headerPutUint32(pkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
-
- if (spec->sourcePkgId != NULL) {
- headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16);
-@@ -699,7 +647,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch
- free(binRpm);
- }
-
-- rc = writeRPM(pkg, NULL, *filename, NULL);
-+ rc = writeRPM(pkg, NULL, *filename, NULL, buildTime, buildHost);
- if (rc == RPMRC_OK) {
- /* Do check each written package if enabled */
- char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL);
-@@ -719,7 +667,7 @@ struct binaryPackageTaskData
- struct binaryPackageTaskData *next;
- };
-
--static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating)
-+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost)
- {
- struct binaryPackageTaskData *tasks = NULL;
- struct binaryPackageTaskData *task = NULL;
-@@ -731,7 +679,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
- if (pkg == spec->packages) {
- // the first package needs to be processed ahead of others, as they copy
- // changelog data from it, and so otherwise data races would happen
-- task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename));
-+ task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename), buildTime, buildHost);
- rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
- tasks = task;
- }
-@@ -748,7 +696,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c
- if (task != tasks)
- #pragma omp task
- {
-- task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename));
-+ task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename), buildTime, buildHost);
- rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename);
- }
- }
-@@ -766,11 +714,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks)
- }
- }
-
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost)
- {
- char *pkglist = NULL;
-
-- struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating);
-+ struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating, buildTime, buildHost);
-
- for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) {
- if (task->result == RPMRC_OK) {
-@@ -797,7 +745,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating)
- return RPMRC_OK;
- }
-
--rpmRC packageSources(rpmSpec spec, char **cookie)
-+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost)
- {
- Package sourcePkg = spec->sourcePackage;
- rpmRC rc;
-@@ -805,8 +753,8 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
-
- /* Add some cruft */
- headerPutString(sourcePkg->header, RPMTAG_RPMVERSION, VERSION);
-- headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost());
-- headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1);
-+ headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost);
-+ headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, &buildTime, 1);
- headerPutUint32(sourcePkg->header, RPMTAG_SOURCEPACKAGE, &one, 1);
-
- /* XXX this should be %_srpmdir */
-@@ -814,7 +762,7 @@ rpmRC packageSources(rpmSpec spec, char **cookie)
- char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL);
-
- spec->sourcePkgId = NULL;
-- rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie);
-+ rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie, buildTime, buildHost);
-
- /* Do check SRPM package if enabled */
- if (rc == RPMRC_OK && pkgcheck[0] != ' ') {
-diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h
-index 439b7d3..07e8338 100644
---- a/build/rpmbuild_internal.h
-+++ b/build/rpmbuild_internal.h
-@@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags);
- * @param spec spec file control structure
- * @param cookie build identifier "cookie" or NULL
- * @param cheating was build shortcircuited?
-+ * @param buildTime the build timestamp that goes into packages
-+ * @param buildHost the hostname where the build is happening
- * @return RPMRC_OK on success
- */
- RPM_GNUC_INTERNAL
--rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating);
-+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost);
-
- /** \ingroup rpmbuild
- * Generate source package.
- * @param spec spec file control structure
- * @retval cookie build identifier "cookie" or NULL
-+ * @param buildTime the build timestamp that goes into packages
-+ * @param buildHost the hostname where the build is happening
- * @return RPMRC_OK on success
- */
- RPM_GNUC_INTERNAL
--rpmRC packageSources(rpmSpec spec, char **cookie);
-+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost);
-
- RPM_GNUC_INTERNAL
- int addLangTag(rpmSpec spec, Header h, rpmTagVal tag,
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
index c37330eb4..8add14246 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.15.1.bb
@@ -24,7 +24,7 @@ HOMEPAGE = "http://www.rpm.org"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.15.x \
file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
file://0001-Do-not-read-config-files-from-HOME.patch \
file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
@@ -34,22 +34,20 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
file://0001-Fix-build-with-musl-C-library.patch \
file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
- file://0001-Split-binary-package-building-into-a-separate-functi.patch \
- file://0002-Run-binary-package-creation-via-thread-pools.patch \
- file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
- file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
file://0001-perl-disable-auto-reqs.patch \
file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
- file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \
+ file://0001-rpmplugins.c-call-dlerror-prior-to-dlsym.patch \
+ file://0001-rpmfc.c-do-not-run-file-classification-in-parallel.patch \
+ file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
"
PE = "1"
-SRCREV = "4a9440006398646583f0d9ae1837dad2875013aa"
+SRCREV = "ab2179452c5be276a6b96c591afded485c7e58c3"
S = "${WORKDIR}/git"
-DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
+DEPENDS = "openssl libarchive db file popt xz bzip2 dbus elfutils python3"
DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
inherit autotools gettext pkgconfig python3native
@@ -58,8 +56,8 @@ export PYTHON_ABI
# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
-EXTRA_OECONF_append = " --without-lua --enable-python"
-EXTRA_OECONF_append_libc-musl = " --disable-nls"
+EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=openssl"
+EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp"
# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
#
@@ -125,8 +123,7 @@ do_install_append () {
${D}/${libdir}/rpm/macros
sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
- ${D}${libdir}/rpm/pythondistdeps.py \
- ${D}${libdir}/rpm/python-macro-helper
+ ${D}${libdir}/rpm/pythondistdeps.py
}
FILES_${PN} += "${libdir}/rpm-plugins/*.so \
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
index ffb1d061c..152ff02a2 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
@@ -20,6 +20,9 @@ SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \
SRC_URI[md5sum] = "1581a588fde9d89f6bc6201e8129afaf"
SRC_URI[sha256sum] = "55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0"
+# -16548 required for v3.1.3pre1. Already in v3.1.3.
+CVE_CHECK_WHITELIST += " CVE-2017-16548 "
+
inherit autotools
PACKAGECONFIG ??= "acl attr \
diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc
index ce1b02f01..a38b3fe62 100644
--- a/poky/meta/recipes-devtools/ruby/ruby.inc
+++ b/poky/meta/recipes-devtools/ruby/ruby.inc
@@ -8,10 +8,10 @@ HOMEPAGE = "http://www.ruby-lang.org/"
SECTION = "devel/ruby"
LICENSE = "Ruby | BSD-2-Clause | BSD-3-Clause | GPLv2 | ISC | MIT"
LIC_FILES_CHKSUM = "\
- file://COPYING;md5=340948e1882e579731841bf49cdc22c1 \
+ file://COPYING;md5=5b8c87559868796979806100db3f3805 \
file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5\
file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263\
- file://LEGAL;md5=4ac0b84d1f7f420bca282e1adefc7f99 \
+ file://LEGAL;md5=2b6d62dc0d608f34d510ca3f428110ec \
"
DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi"
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch
new file mode 100644
index 000000000..f316bed7b
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch
@@ -0,0 +1,38 @@
+From eed7bc855fd8d232d4d203cc9027dd07cee8eca2 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Sat, 8 Feb 2020 15:16:14 +0800
+Subject: [PATCH] Modify shebang of libexec/y2racc and libexec/racc2y.
+
+change /usr/local/bin/ruby to /usr/bin/env ruby.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+---
+ libexec/racc2y | 2 +-
+ libexec/y2racc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libexec/racc2y b/libexec/racc2y
+index f88d73ed2c..74e49cfa21 100755
+--- a/libexec/racc2y
++++ b/libexec/racc2y
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/ruby
++#!/usr/bin/env ruby
+ #
+ # $Id$
+ #
+diff --git a/libexec/y2racc b/libexec/y2racc
+index 7933f94153..36daf864e1 100755
+--- a/libexec/y2racc
++++ b/libexec/y2racc
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/ruby
++#!/usr/bin/env ruby
+ #
+ # $Id$
+ #
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
index 5979d8bd7..b31dee112 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
@@ -6,13 +6,13 @@ Subject: [PATCH 2/3] Obey LDFLAGS for the link of libruby
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Upstream-Status: Pending
---
- Makefile.in | 2 +-
+ template/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Makefile.in b/Makefile.in
+diff --git a/template/Makefile.in b/template/Makefile.in
index fa1e19ef37..bbd07fa34b 100644
---- a/Makefile.in
-+++ b/Makefile.in
+--- a/template/Makefile.in
++++ b/template/Makefile.in
@@ -109,7 +109,7 @@ MISSING = @LIBOBJS@ @ALLOCA@
ENABLE_SHARED = @ENABLE_SHARED@
LDSHARED = @LIBRUBY_LDSHARED@
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch b/poky/meta/recipes-devtools/ruby/ruby/0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch
deleted file mode 100644
index 1a8cff3e8..000000000
--- a/poky/meta/recipes-devtools/ruby/ruby/0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From bd71b698bf733e6e93282cd2b1b93f51e1a33c7c Mon Sep 17 00:00:00 2001
-From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
-Date: Fri, 8 Feb 2019 07:22:55 +0000
-Subject: [PATCH 3/3] configure.ac: check finite,isinf,isnan as macros first
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[ruby-core:91487] [Bug #15595]
-
-git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
----
-Upstream-Status: Backport [https://github.com/ruby/ruby/commit/74f94b3e6ebf15b76f3b357e754095412b006e94]
-Signed-off-by: André Draszik <andre.draszik@jci.com>
----
- aclocal.m4 | 1 +
- configure.ac | 13 ++++---------
- tool/m4/ruby_replace_funcs.m4 | 13 +++++++++++++
- 3 files changed, 18 insertions(+), 9 deletions(-)
- create mode 100644 tool/m4/ruby_replace_funcs.m4
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index b0fe3eb959..ed7d14ef63 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -35,6 +35,7 @@ m4_include([tool/m4/ruby_func_attribute.m4])
- m4_include([tool/m4/ruby_mingw32.m4])
- m4_include([tool/m4/ruby_prepend_option.m4])
- m4_include([tool/m4/ruby_prog_gnu_ld.m4])
-+m4_include([tool/m4/ruby_replace_funcs.m4])
- m4_include([tool/m4/ruby_replace_type.m4])
- m4_include([tool/m4/ruby_rm_recursive.m4])
- m4_include([tool/m4/ruby_setjmp_type.m4])
-diff --git a/configure.ac b/configure.ac
-index 2c4d2888d2..2691da6a3c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -946,9 +946,6 @@ main()
- ac_cv_func_fsync=yes
- ac_cv_func_seekdir=yes
- ac_cv_func_telldir=yes
-- ac_cv_func_isinf=yes
-- ac_cv_func_isnan=yes
-- ac_cv_func_finite=yes
- ac_cv_func_lchown=yes
- ac_cv_func_link=yes
- ac_cv_func_readlink=yes
-@@ -999,9 +996,6 @@ main()
- [netbsd*], [ LIBS="-lm $LIBS"
- ],
- [dragonfly*], [ LIBS="-lm $LIBS"
-- # isinf() and isnan() are macros on DragonFly.
-- ac_cv_func_isinf=yes
-- ac_cv_func_isnan=yes
- ],
- [aix*],[ LIBS="-lm $LIBS"
- ac_cv_func_round=no
-@@ -1724,11 +1718,8 @@ AC_REPLACE_FUNCS(dup2)
- AC_REPLACE_FUNCS(erf)
- AC_REPLACE_FUNCS(explicit_bzero)
- AC_REPLACE_FUNCS(ffs)
--AC_REPLACE_FUNCS(finite)
- AC_REPLACE_FUNCS(flock)
- AC_REPLACE_FUNCS(hypot)
--AC_REPLACE_FUNCS(isinf)
--AC_REPLACE_FUNCS(isnan)
- AC_REPLACE_FUNCS(lgamma_r)
- AC_REPLACE_FUNCS(memmove)
- AC_REPLACE_FUNCS(nan)
-@@ -1741,6 +1732,10 @@ AC_REPLACE_FUNCS(strlcpy)
- AC_REPLACE_FUNCS(strstr)
- AC_REPLACE_FUNCS(tgamma)
-
-+RUBY_REPLACE_FUNC([finite], [@%:@include <math.h>])
-+RUBY_REPLACE_FUNC([isinf], [@%:@include <math.h>])
-+RUBY_REPLACE_FUNC([isnan], [@%:@include <math.h>])
-+
- # for missing/setproctitle.c
- AS_CASE(["$target_os"],
- [aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],
-diff --git a/tool/m4/ruby_replace_funcs.m4 b/tool/m4/ruby_replace_funcs.m4
-new file mode 100644
-index 0000000000..d0612e29a0
---- /dev/null
-+++ b/tool/m4/ruby_replace_funcs.m4
-@@ -0,0 +1,13 @@
-+# -*- Autoconf -*-
-+dnl RUBY_REPLACE_FUNC [func] [included]
-+AC_DEFUN([RUBY_REPLACE_FUNC], [dnl
-+ AC_CHECK_DECL([$1],dnl
-+ [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl
-+ [AC_REPLACE_FUNCS($1)],dnl
-+ [$2])dnl
-+])
-+
-+dnl RUBY_REPLACE_FUNCS [funcs] [included]
-+AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl
-+ m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl
-+])
---
-2.23.0.rc1
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch b/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch
new file mode 100644
index 000000000..a1e633044
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch
@@ -0,0 +1,26 @@
+Filter out __has_include* compiler defines
+
+They are internal to compiler and this header is later on includes in C
+files, but newer gcc >= 10 complains about it.
+
+error in initial header file:
+| In file included from /tmp/20200124-86625-14hiju4.c:1:
+| /tmp/20200124-86625-11y6l6i.h:13849:9: error: "__has_include" cannot be used as a macro name
+| 13849 | #define __has_include __has_include
+| | ^~~~~~~~~~~~~
+| compilation terminated due to -Wfatal-errors.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/common.mk
++++ b/common.mk
+@@ -221,6 +221,8 @@ $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT
+ $(TIMESTAMPDIR)/$(arch)/.time
+ $(ECHO) building $(@F:.time=.h)
+ $(Q) $(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new
++ $(Q)sed -i -e "/#define __has_include __has_include/d" $(@F:.time=.h).new
++ $(Q)sed -i -e "/#define __has_include_next __has_include_next/d" $(@F:.time=.h).new
+ $(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new
+
+ $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.6.5.bb b/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb
index 1828f65d5..3dd9fb0a6 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_2.6.5.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_2.7.1.bb
@@ -1,12 +1,15 @@
require ruby.inc
+DEPENDS_append_libc-musl = " libucontext"
+
SRC_URI += " \
- file://0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch \
+ file://remove_has_include_macros.patch \
file://run-ptest \
+ file://0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch \
"
-SRC_URI[md5sum] = "8754bfb36d52c2bf1fb3d3ddc7101606"
-SRC_URI[sha256sum] = "66976b716ecc1fd34f9b7c3c2b07bbd37631815377a2e3e85a5b194cfdcbed7d"
+SRC_URI[md5sum] = "debb9c325bf65021214451660f46e909"
+SRC_URI[sha256sum] = "d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418"
PACKAGECONFIG ??= ""
PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
@@ -24,6 +27,12 @@ EXTRA_OECONF = "\
--with-pkg-config=pkg-config \
"
+EXTRA_OECONF_append_libc-musl = "\
+ LIBS='-lucontext' \
+ ac_cv_func_isnan=yes \
+ ac_cv_func_isinf=yes \
+"
+
do_install() {
oe_runmake 'DESTDIR=${D}' install
}
@@ -44,6 +53,12 @@ do_install_append_class-target () {
do_install_ptest () {
cp -rf ${S}/test ${D}${PTEST_PATH}/
+
+ install -D ${S}/tool/test/runner.rb ${D}${PTEST_PATH}/tool/test/runner.rb
+ cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/
+ mkdir -p ${D}${PTEST_PATH}/lib
+ cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib
+
# install test-binaries
find $(find ./.ext -path '*/-test-') -name '*.so' -print0 \
| tar --no-recursion --null -T - --no-same-owner --preserve-permissions -cf - \
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
index d42addf51..7f72f3388 100644
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
@@ -8,7 +8,7 @@ Before=sysinit.target
Type=oneshot
ExecStart=#SBINDIR#/run-postinsts
ExecStartPost=#BASE_BINDIR#/systemctl --no-reload disable run-postinsts.service
-RemainAfterExit=No
+RemainAfterExit=yes
TimeoutSec=0
[Install]
diff --git a/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch b/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch
new file mode 100644
index 000000000..fc881862e
--- /dev/null
+++ b/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch
@@ -0,0 +1,45 @@
+From 94e1911ca24726b7cb3efe2f8b9eb7a784757e18 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun, 26 Jan 2020 18:35:13 +0000
+Subject: [PATCH] squashfs-tools: fix build failure against gcc-10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On gcc-10 (and gcc-9 -fno-common) build fails as:
+
+```
+cc ... -o mksquashfs
+ld: read_fs.o:(.bss+0x0):
+ multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here
+ld: read_fs.o:(.bss+0x8):
+ multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+https://gcc.gnu.org/PR85678.
+
+The error also happens if CFLAGS=-fno-common passed explicitly.
+
+Reported-by: Toralf Förster
+Bug: https://bugs.gentoo.org/706456
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
+Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5]
+---
+ squashfs-tools/mksquashfs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h
+index 1beefef..b650306 100644
+--- a/squashfs-tools/mksquashfs.h
++++ b/squashfs-tools/mksquashfs.h
+@@ -143,7 +143,7 @@ struct append_file {
+ #endif
+
+ extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
+-struct cache *bwriter_buffer, *fwriter_buffer;
++extern struct cache *bwriter_buffer, *fwriter_buffer;
+ extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer,
+ *to_frag, *locked_fragment, *to_process_frag;
+ extern struct append_file **file_mapping;
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 4fd33f804..b06951df3 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -8,13 +8,11 @@ LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PV = "4.4"
SRCREV = "52eb4c279cd283ed9802dd1ceb686560b22ffb67"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
+ file://0001-squashfs-tools-fix-build-failure-against-gcc-10.patch;striplevel=2 \
"
S = "${WORKDIR}/git/squashfs-tools"
-# needs FNM_EXTMATCH
-COMPATIBLE_HOST_libc-musl = 'null'
-
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr reproducible"
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch b/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
index 52d2cdcdc..235e80364 100644
--- a/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
+++ b/poky/meta/recipes-devtools/strace/strace/0001-caps-abbrev.awk-fix-gawk-s-path.patch
@@ -1,4 +1,4 @@
-From d225aaa8841f47ba8aa7b353b0ac3028d5913efe Mon Sep 17 00:00:00 2001
+From 597cc206d982e7237eb93fdc33e8c4bb6bb2d796 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Thu, 9 Feb 2017 01:27:49 -0800
Subject: [PATCH] caps-abbrev.awk: fix gawk's path
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-strace-fix-reproducibilty-issues.patch b/poky/meta/recipes-devtools/strace/strace/0001-strace-fix-reproducibilty-issues.patch
new file mode 100644
index 000000000..c4c176e6b
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace/0001-strace-fix-reproducibilty-issues.patch
@@ -0,0 +1,39 @@
+From 6309792c49ca900cec6a7f1dc5b51bf75b629e11 Mon Sep 17 00:00:00 2001
+From: Jeremy Puhlman <jpuhlman@mvista.com>
+Date: Wed, 11 Mar 2020 19:56:55 +0000
+Subject: [PATCH] strace: fix reproducibilty issues
+
+The full path to the gen_tests.sh script is encoded in the tests
+
+Upstream-Status: Pending
+
+Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+---
+ tests/gen_tests.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/gen_tests.sh b/tests/gen_tests.sh
+index 5e1e7c9..1e65eac 100755
+--- a/tests/gen_tests.sh
++++ b/tests/gen_tests.sh
+@@ -46,7 +46,7 @@ while read -r name arg0 args; do {
+
+ hdr="\
+ #!/bin/sh -efu
+-# Generated by $0 from $input ($name $arg0 $args); do not edit."
++# Generated by $(basename $0) from $input ($name $arg0 $args); do not edit."
+
+ case "$arg0" in
+ +*)
+@@ -80,7 +80,7 @@ while read -r name arg0 args; do {
+
+ if [ -n "$names" ]; then
+ {
+- printf '# Generated by %s from %s; do not edit.\n' "$0" "$input"
++ printf '# Generated by %s from %s; do not edit.\n' "$(basename $0)" "$input"
+ printf 'GEN_TESTS ='
+ printf ' %s.gen.test' $names
+ echo
+--
+2.24.1
+
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
deleted file mode 100644
index 95d85bf34..000000000
--- a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 879ae71c472ce522f1b3514d2abf6ad49b4acc07 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 18 Sep 2017 22:51:32 -0700
-Subject: [PATCH] tests/sigaction: Check for mips and alpha before using
- sa_restorer
-
-local structure does not define restorer member for mips and alpha
-in definition, we need to match that assumption here where they are
-being set
-
-Fixes
-| ../../strace-4.18/tests/sigaction.c:177:36: error: 'struct_set_sa {aka struct set_sa}' has no member named 'restorer'
-| # define SA_RESTORER_ARGS , new_act->restorer
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- tests/sigaction.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/tests/sigaction.c
-+++ b/tests/sigaction.c
-@@ -156,7 +156,7 @@ main(void)
- sigdelset(mask.libc, SIGHUP);
-
- memcpy(new_act->mask, mask.old, sizeof(mask.old));
--# ifdef SA_RESTORER
-+#if defined(SA_RESTORER) && !defined(MIPS) && !defined(ALPHA)
- new_act->flags = SA_RESTORER;
- new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
- # define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
diff --git a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
index 08fa5c53b..42c1893f3 100644
--- a/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
+++ b/poky/meta/recipes-devtools/strace/strace/Makefile-ptest.patch
@@ -1,4 +1,4 @@
-From ef5040b4f15006a22ac63a3bacfceac36ffc2045 Mon Sep 17 00:00:00 2001
+From ee47e205255928679701a5b769bd7ae0f815119d Mon Sep 17 00:00:00 2001
From: Gabriel Barbu <gabriel.barbu@enea.com>
Date: Thu, 25 Jul 2013 15:28:33 +0200
Subject: [PATCH] strace: Add ptest
@@ -14,10 +14,10 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 19 insertions(+)
diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 825c989..4623c48 100644
+index 8cf4c36..66162eb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
-@@ -14,6 +14,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
+@@ -15,6 +15,7 @@ SIZEOF_LONG = @SIZEOF_LONG@
MPERS_NAME =
MPERS_CC_FLAGS =
ARCH_MFLAGS =
@@ -25,7 +25,7 @@ index 825c989..4623c48 100644
AM_CFLAGS = $(WARN_CFLAGS)
AM_CPPFLAGS = $(ARCH_MFLAGS) \
-I$(builddir) \
-@@ -477,3 +478,21 @@ BUILT_SOURCES = ksysent.h
+@@ -538,3 +539,21 @@ BUILT_SOURCES = ksysent.h
CLEANFILES = ksysent.h
include ../scno.am
@@ -44,6 +44,6 @@ index 825c989..4623c48 100644
+ done
+ for file in $(EXTRA_DIST); do \
+ install $(srcdir)/$$file $(DESTDIR)/$(TESTDIR); \
-+ sed -i -e 's/$${srcdir=.}/./g' $(DESTDIR)/$(TESTDIR)/$$file; \
++ #sed -i -e 's/$${srcdir=.}/./g' $(DESTDIR)/$(TESTDIR)/$$file; \
+ done
+ for i in net scm_rights-fd rt_sigaction; do sed -i -e 's/$$srcdir/./g' $(DESTDIR)/$(TESTDIR)/$$i.test; done
diff --git a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
index 5fefff33e..e8dbd7f27 100644
--- a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
+++ b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
@@ -1,4 +1,4 @@
-From 3bc47502ab011ea8d7c9cd724b25174ecd9506bc Mon Sep 17 00:00:00 2001
+From d87a7feb5ea75da7061afdd473faba044ec8eb0f Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 13:33:50 -0800
Subject: [PATCH] strace: remove need for scripts
@@ -16,7 +16,7 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 949b058..4ba989c 100644
+index dd4f13f..65f000b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,12 +12,12 @@
diff --git a/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch b/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
index 0d3192b34..e86da9707 100644
--- a/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
+++ b/poky/meta/recipes-devtools/strace/strace/mips-SIGEMT.patch
@@ -1,4 +1,4 @@
-From 20c184a7ab3fb7be67fb7626c411e756ea61d2f5 Mon Sep 17 00:00:00 2001
+From 794648d84672bbda30a920a05540b56cd155ed9d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 7 Aug 2016 23:47:57 -0700
Subject: [PATCH] strace: Fix build with mips/mips64 on musl
diff --git a/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch b/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
deleted file mode 100644
index a9bd900da..000000000
--- a/poky/meta/recipes-devtools/strace/strace/more-robust-test-for-m32-mx32-compile-support.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From cc97307e8e39a81999c6a365d057487a02e6128e Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Mon, 18 Jan 2016 11:00:00 -0800
-Subject: [PATCH] mpers.m4: more robust test for -m32/-mx32 compile support
-
-When using the default OE toolchain for x86-64, the basic checks for
--m32 and -mx32 compile support in mpers.m4 pass but later attempts to
-actually use the toolchain with -m32 fail, e.g.
-
- | In file included from /home/andre/build/tmp/sysroots/qemux86-64/usr/include/sys/syscall.h:31:0,
- | from ../strace-4.11/defs.h:55,
- | from mpers-m32/kernel_dirent.c:32:
- | /home/andre/build/tmp/sysroots/qemux86-64/usr/include/bits/syscall.h:41:29: fatal error: bits/syscall-32.h: No such file or directory
-
-Make the mpers.m4 tests more robust so that configure correctly
-detects the limitations of the OE toolchain.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-
----
- m4/mpers.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/m4/mpers.m4 b/m4/mpers.m4
-index 13725d7..d8578ea 100644
---- a/m4/mpers.m4
-+++ b/m4/mpers.m4
-@@ -88,6 +88,7 @@ case "$arch" in
- CFLAGS="$CFLAGS MPERS_CFLAGS $IFLAG"
- AC_CACHE_CHECK([for mpers_name personality compile support], [st_cv_cc],
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
-+ #include <sys/syscall.h>
- int main(){return 0;}]])],
- [st_cv_cc=yes],
- [st_cv_cc=no])])
-@@ -95,6 +96,7 @@ case "$arch" in
- AC_CACHE_CHECK([for mpers_name personality runtime support],
- [st_cv_runtime],
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdint.h>
-+ #include <sys/syscall.h>
- int main(){return 0;}]])],
- [st_cv_runtime=yes],
- [st_cv_runtime=no],
diff --git a/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch
index 3e32cc388..c5d8ff920 100644
--- a/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch
+++ b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch
@@ -1,3 +1,8 @@
+From 3fad4821d90cd264d1b94253b9cf4fdf5d4034b8 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Wed, 29 May 2019 00:10:32 +0100
+Subject: [PATCH] strace: Tweak ptest disk space management
+
If the test is successful, remove the log and exp files. This stops strace
using around 600MB of disk space and running our ptest images out of space.
@@ -5,10 +10,14 @@ RP 2019/5/29
Upstream-Status: Inappropriate [specific to OE image space issues]
-Index: strace-4.26/tests/gen_tests.sh
-===================================================================
---- strace-4.26.orig/tests/gen_tests.sh
-+++ strace-4.26/tests/gen_tests.sh
+---
+ tests/gen_tests.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/gen_tests.sh b/tests/gen_tests.sh
+index 3540204..5e1e7c9 100755
+--- a/tests/gen_tests.sh
++++ b/tests/gen_tests.sh
@@ -62,6 +62,7 @@ while read -r name arg0 args; do {
$hdr
. "\${srcdir=.}/init.sh"
diff --git a/poky/meta/recipes-devtools/strace/strace/run-ptest b/poky/meta/recipes-devtools/strace/strace/run-ptest
index 2fed984e9..466020722 100755
--- a/poky/meta/recipes-devtools/strace/strace/run-ptest
+++ b/poky/meta/recipes-devtools/strace/strace/run-ptest
@@ -1,3 +1,6 @@
#!/bin/sh
-export TIMEOUT_DURATION=30
-make -B -C tests -k test-suite.log
+export TIMEOUT_DURATION=120
+chown nobody tests
+chown nobody tests/*
+chown nobody ../ptest
+su nobody -c "make -B -C tests -k test-suite.log"
diff --git a/poky/meta/recipes-devtools/strace/strace/sys_headers.patch b/poky/meta/recipes-devtools/strace/strace/sys_headers.patch
deleted file mode 100644
index e46f2c350..000000000
--- a/poky/meta/recipes-devtools/strace/strace/sys_headers.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Remove configure checks for few sys/ headers
-
-sys/ipc.h, sys/sem.h, sys/shm.h, and sys/msg.h are actually wrappers
-for kernel headers in libc if available, here strace is trying to match
-traced process's APIs to syscalls kernel structures
-
-Removing the checks makes it default to right kernel UAPI headers under linux/
-
-Upstream-Status: Submitted [https://lists.strace.io/pipermail/strace-devel/2019-November/009222.html]
-Suggested-by: Rich Felker <dalias@aerifal.cx>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/configure.ac
-+++ b/configure.ac
-@@ -439,11 +439,7 @@ AC_CHECK_HEADERS(m4_normalize([
- sys/conf.h
- sys/eventfd.h
- sys/fanotify.h
-- sys/ipc.h
-- sys/msg.h
- sys/quota.h
-- sys/sem.h
-- sys/shm.h
- sys/signalfd.h
- sys/xattr.h
- ustat.h
diff --git a/poky/meta/recipes-devtools/strace/strace/uintptr_t.patch b/poky/meta/recipes-devtools/strace/strace/uintptr_t.patch
index 6d3dd6fb9..088d685af 100644
--- a/poky/meta/recipes-devtools/strace/strace/uintptr_t.patch
+++ b/poky/meta/recipes-devtools/strace/strace/uintptr_t.patch
@@ -1,10 +1,20 @@
-include stdint.h for getting uintptr_t definition
+From a6c9366bfbcef6f3f4bb068b1f1a5623935b5013 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 5 Nov 2019 20:05:08 -0800
+Subject: [PATCH] include stdint.h for getting uintptr_t definition
fixes do_compile_ptest_base
tests/fanotify_mark.c:191:23: error: 'uintptr_t' undeclared (first use in this function); did you mean 'intptr_t'?
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ tests/fanotify_mark.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/fanotify_mark.c b/tests/fanotify_mark.c
+index aade643..de579f3 100644
--- a/tests/fanotify_mark.c
+++ b/tests/fanotify_mark.c
@@ -18,6 +18,7 @@
diff --git a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
index 7077048c7..d46b147de 100644
--- a/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
+++ b/poky/meta/recipes-devtools/strace/strace/update-gawk-paths.patch
@@ -1,4 +1,4 @@
-From f0d7ebf48441e0b090c3e6053b8c845d0a4a3b18 Mon Sep 17 00:00:00 2001
+From 12a726b280eca94883edcb4da1eaaf8e93d41739 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 11:01:00 -0800
Subject: [PATCH] update gawk paths, /bin/gawk -> /usr/bin/gawk
diff --git a/poky/meta/recipes-devtools/strace/strace_5.3.bb b/poky/meta/recipes-devtools/strace/strace_5.5.bb
index b000afb30..ae552da02 100644
--- a/poky/meta/recipes-devtools/strace/strace_5.3.bb
+++ b/poky/meta/recipes-devtools/strace/strace_5.5.bb
@@ -2,23 +2,21 @@ SUMMARY = "System call tracing tool"
HOMEPAGE = "http://strace.io"
SECTION = "console/utils"
LICENSE = "LGPL-2.1+ & GPL-2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0169a04810830e94f4b1cfb823c9f592"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c756d9d5dabc27663df64f0bf492166c"
SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://disable-git-version-gen.patch \
- file://more-robust-test-for-m32-mx32-compile-support.patch \
file://update-gawk-paths.patch \
file://Makefile-ptest.patch \
file://run-ptest \
file://mips-SIGEMT.patch \
file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
- file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
file://ptest-spacesave.patch \
file://uintptr_t.patch \
- file://sys_headers.patch \
+ file://0001-strace-fix-reproducibilty-issues.patch \
"
-SRC_URI[md5sum] = "84f5e72de813c9b1bb6057ee8ab428d8"
-SRC_URI[sha256sum] = "6c131198749656401fe3efd6b4b16a07ea867e8f530867ceae8930bbc937a047"
+SRC_URI[md5sum] = "dbce2e84632b39a4ed86b9fc60447af9"
+SRC_URI[sha256sum] = "9f58958c8e59ea62293d907d10572e352b582bd7948ed21aa28ebb47e5bf30ff"
inherit autotools ptest
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb b/poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb
index 4ffa1c584..6879f1249 100644
--- a/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.13.0.bb
@@ -13,8 +13,8 @@ SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://serfmacro.patch \
"
-SRC_URI[md5sum] = "1ff249f848f834ded88536543e031975"
-SRC_URI[sha256sum] = "3bd0b5c8e4c5175263dc9a92fd9aef94ce917e80af034f26fe5c45fde7e0f771"
+SRC_URI[md5sum] = "3004b4dae18bf45a0b6ea4ef8820064d"
+SRC_URI[sha256sum] = "bc50ce2c3faa7b1ae9103c432017df98dfd989c4239f9f8270bb3a314ed9e5bd"
inherit autotools pkgconfig gettext
@@ -37,6 +37,8 @@ EXTRA_OECONF = " \
ac_cv_path_RUBY=none \
"
+EXTRA_OEMAKE += "pkgconfig_dir=${libdir}/pkgconfig"
+
acpaths = "-I build/ -I build/ac-macros/"
CPPFLAGS += "-P"
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch b/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
new file mode 100644
index 000000000..44cb15327
--- /dev/null
+++ b/poky/meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch
@@ -0,0 +1,97 @@
+From 951928f2cad5682c2844e6bd0f7201236c5d9b66 Mon Sep 17 00:00:00 2001
+From: Merlin Mathesius <mmathesi@redhat.com>
+Date: Wed, 13 May 2020 08:02:27 -0500
+Subject: [PATCH] Workaround multiple definition of symbol errors
+
+Lifted from Fedora https://src.fedoraproject.org/rpms/syslinux/blob/master/f/0005-Workaround-multiple-definition-of-symbol-errors.patch
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ com32/cmenu/Makefile | 2 +-
+ com32/elflink/ldlinux/Makefile | 2 +-
+ com32/gpllib/Makefile | 2 +-
+ com32/hdt/Makefile | 2 +-
+ core/Makefile | 2 +-
+ dos/Makefile | 2 +-
+ efi/Makefile | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/com32/cmenu/Makefile
++++ b/com32/cmenu/Makefile
+@@ -49,7 +49,7 @@ makeoutputdirs:
+ @mkdir -p $(OBJ)/libmenu
+
+ libmenu/libmenu.elf: $(LIBMENU)
+- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \
++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) \
+ -o $@ $^
+
+ tidy dist:
+--- a/com32/elflink/ldlinux/Makefile
++++ b/com32/elflink/ldlinux/Makefile
+@@ -33,7 +33,7 @@ endif
+ all: $(BTARGET) ldlinux_lnx.a
+
+ ldlinux.elf : $(OBJS)
+- $(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS)
++ $(LD) $(LDFLAGS) -z muldefs -soname $(SONAME) -o $@ $^ $(LIBS)
+
+ LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
+ LNXLIBOBJS = get_key.lo
+--- a/com32/gpllib/Makefile
++++ b/com32/gpllib/Makefile
+@@ -24,7 +24,7 @@ makeoutputdirs:
+ $(addprefix $(OBJ),$(sort $(dir $(LIBOBJS)))),$(b))
+
+ libgpl.elf : $(LIBOBJS)
+- $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
++ $(LD) -shared $(LDFLAGS) -z muldefs -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
+
+ tidy dist clean:
+ find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
+--- a/com32/hdt/Makefile
++++ b/com32/hdt/Makefile
+@@ -52,7 +52,7 @@ QEMU ?= qemu-kvm
+ all: $(MODULES) $(TESTFILES)
+
+ hdt.elf : $(OBJS) $(LIBS) $(C_LIBS)
+- $(LD) $(LDFLAGS) -o $@ $^
++ $(LD) $(LDFLAGS) -z muldefs -o $@ $^
+
+ memtest:
+ -[ ! -f $(FLOPPY_DIR)/$(MEMTEST) ] && $(WGET) $(MEMTEST_URL) -O $(FLOPPY_DIR)/$(MEMTEST)
+--- a/core/Makefile
++++ b/core/Makefile
+@@ -156,7 +156,7 @@ LDSCRIPT = $(SRC)/$(ARCH)/syslinux.ld
+ NASM_ELF = elf
+
+ %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS)
+- $(LD) $(LDFLAGS) -pie -Bsymbolic \
++ $(LD) $(LDFLAGS) -z muldefs -pie -Bsymbolic \
+ -T $(LDSCRIPT) \
+ --unresolved-symbols=report-all \
+ -E --hash-style=gnu -M -o $@ $< \
+--- a/dos/Makefile
++++ b/dos/Makefile
+@@ -19,7 +19,7 @@ include $(MAKEDIR)/embedded.mk
+ CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3
+ # CFLAGS += -DDEBUG
+
+-LDFLAGS = -T $(SRC)/dosexe.ld
++LDFLAGS = -T $(SRC)/dosexe.ld -z muldefs
+ OPTFLAGS = -g
+ INCLUDES = -include code16.h -nostdinc -iwithprefix include \
+ -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \
+--- a/efi/Makefile
++++ b/efi/Makefile
+@@ -71,7 +71,7 @@ $(OBJS): | $(OBJ)/$(ARCH)
+ BTARGET = syslinux.efi
+
+ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
+- $(LD) $(LDFLAGS) --strip-debug -o $@ $^ -lgnuefi -lefi
++ $(LD) $(LDFLAGS) -z muldefs --strip-debug -o $@ $^ -lgnuefi -lefi
+
+ # We need to rename the .hash section because the EFI firmware
+ # linker really doesn't like it.
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index e9dbefb93..3e7eef3a7 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -20,6 +20,7 @@ SRC_URI = "https://www.zytor.com/pub/syslinux/Testing/6.04/syslinux-${PV}.tar.xz
file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
file://0009-linux-syslinux-implement-install_bootblock.patch \
+ file://0010-Workaround-multiple-definition-of-symbol-errors.patch \
file://0001-install-don-t-install-obsolete-file-com32.ld.patch \
"
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-architecture-Recognise-RISCV-32-RISCV-64.patch b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-architecture-Recognise-RISCV-32-RISCV-64.patch
new file mode 100644
index 000000000..fc03812bb
--- /dev/null
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-architecture-Recognise-RISCV-32-RISCV-64.patch
@@ -0,0 +1,45 @@
+From 4a6ace0a965965ea15e88c3418c7158ca5cc9f8f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Nov 2019 10:12:05 -0800
+Subject: [PATCH] architecture: Recognise RISCV-32/RISCV-64
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/171b53380085b1288b03b19a2b978f36a5c003d0]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/architecture.h | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/src/architecture.h b/src/architecture.h
+index 26679e2..89c7d32 100644
+--- a/src/architecture.h
++++ b/src/architecture.h
+@@ -57,6 +57,8 @@ enum {
+ ARCHITECTURE_M68K,
+ ARCHITECTURE_TILEGX,
+ ARCHITECTURE_CRIS,
++ ARCHITECTURE_RISCV32,
++ ARCHITECTURE_RISCV64,
+ _ARCHITECTURE_MAX,
+ _ARCHITECTURE_INVALID = -1
+ };
+@@ -194,6 +196,17 @@ int uname_architecture(void);
+ #elif defined(__cris__)
+ # define native_architecture() ARCHITECTURE_CRIS
+ # error "Missing LIB_ARCH_TUPLE for CRIS"
++#elif defined(__riscv)
++# if __SIZEOF_POINTER__ == 4
++# define native_architecture() ARCHITECTURE_RISCV32
++# define LIB_ARCH_TUPLE "riscv32-linux-gnu"
++# elif __SIZEOF_POINTER__ == 8
++# define native_architecture() ARCHITECTURE_RISCV64
++# define LIB_ARCH_TUPLE "riscv64-linux-gnu"
++# else
++# error "Unrecognized riscv architecture variant"
++# endif
++# define PROC_CPUINFO_MODEL "cpu model"
+ #else
+ # error "Please register your architecture here!"
+ #endif
+--
+2.24.0
+
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/mips64.patch b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/mips64.patch
new file mode 100644
index 000000000..6206bc4b4
--- /dev/null
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/mips64.patch
@@ -0,0 +1,35 @@
+Recognise mips64 n32/n64
+
+These are supported in systemd now a days
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/caf49b95b3a6efe9455078098c729d83b08e5206]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/architecture.h
++++ b/src/architecture.h
+@@ -127,13 +127,22 @@ int uname_architecture(void);
+ # define native_architecture() ARCHITECTURE_SPARC
+ # define LIB_ARCH_TUPLE "sparc-linux-gnu"
+ # define PROC_CPUINFO_MODEL "cpu"
+-#elif defined(__mips64__)
++#elif defined(__mips64) && defined(__LP64__)
+ # if __BYTE_ORDER == __BIG_ENDIAN
+ # define native_architecture() ARCHITECTURE_MIPS64
+-# error "Missing LIB_ARCH_TUPLE for MIPS64"
++# define LIB_ARCH_TUPLE "mips64-linux-gnuabi64"
+ # else
+ # define native_architecture() ARCHITECTURE_MIPS64_LE
+-# error "Missing LIB_ARCH_TUPLE for MIPS64_LE"
++# define LIB_ARCH_TUPLE "mips64el-linux-gnuabi64"
++# endif
++# define PROC_CPUINFO_MODEL "cpu model"
++#elif defined(__mips64)
++# if __BYTE_ORDER == __BIG_ENDIAN
++# define native_architecture() ARCHITECTURE_MIPS64
++# define LIB_ARCH_TUPLE "mips64-linux-gnuabin32"
++# else
++# define native_architecture() ARCHITECTURE_MIPS64_LE
++# define LIB_ARCH_TUPLE "mips64el-linux-gnuabin32"
+ # endif
+ # define PROC_CPUINFO_MODEL "cpu model"
+ #elif defined(__mips__)
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
index aef883986..a7a1f0ff1 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
@@ -3,6 +3,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c
file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https \
+ file://0001-architecture-Recognise-RISCV-32-RISCV-64.patch \
+ file://mips64.patch \
"
SRC_URI_append_libc-musl = " \
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index b4bd4ca63..ed14fe66b 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -29,7 +29,7 @@ INITSCRIPT_NAME = "tcf-agent"
INITSCRIPT_PARAMS = "start 99 3 5 . stop 20 0 1 2 6 ."
# mangling needed for make
-MAKE_ARCH = "`echo ${TARGET_ARCH} | sed s,i.86,i686, | sed s,aarch64.*,a64,`"
+MAKE_ARCH = "`echo ${TARGET_ARCH} | sed s,i.86,i686, | sed s,aarch64.*,a64, | sed s,armeb,arm,`"
MAKE_OS = "`echo ${TARGET_OS} | sed s,^linux.*,GNU/Linux,`"
EXTRA_OEMAKE = "MACHINE=${MAKE_ARCH} OPSYS=${MAKE_OS} 'CC=${CC}' 'AR=${AR}'"
@@ -46,6 +46,7 @@ CFLAGS_append_mips = " ${LCL_STOP_SERVICES}"
CFLAGS_append_mips64 = " ${LCL_STOP_SERVICES}"
CFLAGS_append_libc-musl = " ${LCL_STOP_SERVICES}"
CFLAGS_append_powerpc64 = " ${LCL_STOP_SERVICES}"
+CFLAGS_append_powerpc64le = " ${LCL_STOP_SERVICES}"
CFLAGS_append_riscv64 = " ${LCL_STOP_SERVICES}"
do_install() {
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch b/poky/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch
new file mode 100644
index 000000000..3cd34155e
--- /dev/null
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch
@@ -0,0 +1,44 @@
+From f7fa48c4c75a1e748dc5071e709c0b62ff739eaa Mon Sep 17 00:00:00 2001
+From: "jan.nijtmans" <nijtmans@users.sourceforge.net>
+Date: Mon, 9 Dec 2019 10:02:20 +0000
+Subject: [PATCH] Fix [abd4abedd2]: Failed to build tk 8.6.10 with cross
+ compile
+
+Upstream-Status: Backport
+[https://github.com/tcltk/tcl/commit/f7fa48c4c75a1e748dc5071e709c0b62ff739eaa]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ compat/strtol.c | 2 +-
+ compat/strtoul.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/compat/strtol.c b/compat/strtol.c
+index b7f69196c..811006a64 100644
+--- a/compat/strtol.c
++++ b/compat/strtol.c
+@@ -53,7 +53,7 @@ strtol(
+ */
+
+ p = string;
+- while (TclIsSpaceProc(*p)) {
++ while (isspace(UCHAR(*p))) {
+ p += 1;
+ }
+
+diff --git a/compat/strtoul.c b/compat/strtoul.c
+index e37eb05f8..15587f1da 100644
+--- a/compat/strtoul.c
++++ b/compat/strtoul.c
+@@ -74,7 +74,7 @@ strtoul(
+ */
+
+ p = string;
+- while (TclIsSpaceProc(*p)) {
++ while (isspace(UCHAR(*p))) {
+ p += 1;
+ }
+ if (*p == '-') {
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
index c8530e1f5..86632d914 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -8,6 +8,7 @@ Signed-off-by: Khem Raj <raj.khem@gmai.com>
Fixed the TCL_INCLUDE_SPEC
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
Makefile.in | 2 +-
configure | 4 ++--
@@ -34,7 +35,7 @@ index 3e78b49..24b3f92 100755
@@ -19134,7 +19134,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
- TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+ test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
-PRIVATE_INCLUDE_DIR='$(includedir)'
+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
HTML_DIR='$(DISTDIR)/html'
@@ -56,7 +57,7 @@ index 0e28b14..62d9b41 100755
@@ -791,7 +791,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
- TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+ test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
-PRIVATE_INCLUDE_DIR='$(includedir)'
+PRIVATE_INCLUDE_DIR='$(includedir)/tcl$(VERSION)'
HTML_DIR='$(DISTDIR)/html'
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
index 16f7c8051..17d251d55 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
@@ -14,10 +14,11 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Song.Li <Song.Li@windriver.com>
Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ configure | 2 +-
+ configure.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
Index: unix/configure
===================================================================
@@ -27,8 +28,8 @@ Index: unix/configure
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
--TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
-+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
++test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
PRIVATE_INCLUDE_DIR='$(includedir)'
HTML_DIR='$(DISTDIR)/html'
@@ -40,8 +41,8 @@ Index: unix/configure.in
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
--TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
-+TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
+-test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(prefix)/lib/tcl$(VERSION)'
++test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
PRIVATE_INCLUDE_DIR='$(includedir)'
HTML_DIR='$(DISTDIR)/html'
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.10.bb
index 7f3778153..aedd96b02 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.9.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.10.bb
@@ -22,10 +22,11 @@ SRC_URI = "${BASE_SRC_URI} \
file://no_packages.patch \
file://tcl-remove-hardcoded-install-path.patch \
file://alter-includedir.patch \
+ file://0001-Fix-abd4abedd2-Failed-to-build-tk-8.6.10-with-cross-.patch;patchdir=.. \
file://run-ptest \
"
-SRC_URI[md5sum] = "aa0a121d95a0e7b73a036f26028538d4"
-SRC_URI[sha256sum] = "ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e"
+SRC_URI[md5sum] = "97c55573f8520bcab74e21bfd8d0aadc"
+SRC_URI[sha256sum] = "5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed"
SRC_URI_class-native = "${BASE_SRC_URI}"
@@ -33,7 +34,7 @@ S = "${WORKDIR}/${BPN}${PV}/unix"
VER = "${PV}"
-inherit autotools ptest binconfig
+inherit autotools ptest binconfig update-alternatives
EXTRA_OECONF = "--enable-threads --disable-rpath --libdir=${libdir}"
@@ -64,6 +65,9 @@ FILES_tcl-lib = "${libdir}/libtcl8.6.so.*"
FILES_${PN} += "${libdir}/tcl${VER} ${libdir}/tcl8.6 ${libdir}/tcl8"
FILES_${PN}-dev += "${libdir}/tclConfig.sh ${libdir}/tclooConfig.sh"
+ALTERNATIVE_${PN}-doc = "Thread.3"
+ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3"
+
# isn't getting picked up by shlibs code
RDEPENDS_${PN} += "tcl-lib"
RDEPENDS_${PN}_class-native = ""
diff --git a/poky/meta/recipes-devtools/unifdef/unifdef_2.11.bb b/poky/meta/recipes-devtools/unifdef/unifdef_2.12.bb
index 1ffc11e76..22b10ba23 100644
--- a/poky/meta/recipes-devtools/unifdef/unifdef_2.11.bb
+++ b/poky/meta/recipes-devtools/unifdef/unifdef_2.12.bb
@@ -3,12 +3,13 @@ SECTION = "devel"
LICENSE = "BSD-2-Clause"
HOMEPAGE = "http://dotat.at/prog/unifdef/"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78fc6c2c1dc4f18c891ed5b7a469fe32 \
- file://unifdef.c;endline=32;md5=aaec84d8b68d8b6dea71f45e9949ebfe"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3498caf346f6b77934882101749ada23 \
+ file://unifdef.c;endline=32;md5=6f4ee8085d6e6ab0f7cb4390e1a9c497 \
+ "
SRC_URI = "http://dotat.at/prog/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "337053fd8a7d9ab3adf5e50f88af95b7"
-SRC_URI[sha256sum] = "828ffc270ac262b88fe011136acef2780c05b0dc3c5435d005651740788d4537"
+SRC_URI[md5sum] = "ae8c0b3b4c43c1f6bc5f32412a820818"
+SRC_URI[sha256sum] = "43ce0f02ecdcdc723b2475575563ddb192e988c886d368260bc0a63aee3ac400"
UPSTREAM_CHECK_REGEX = "unifdef-(?P<pver>((\d+\.*)+)(?![a-f0-9]{6,})).tar"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.46.4.bb b/poky/meta/recipes-devtools/vala/vala_0.46.6.bb
index c4cd6dd41..66f620384 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.46.4.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.46.6.bb
@@ -4,5 +4,5 @@ SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.pat
file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
"
-SRC_URI[md5sum] = "b79bbaf8929ec8ed35911b3571f5a248"
-SRC_URI[sha256sum] = "4bb9b60fc0230b0db2c8a0e2a80ec29f1c10b43dc78355abba78adedbc2e03a1"
+SRC_URI[md5sum] = "d9af125648505503b139ebc2d2c9eee5"
+SRC_URI[sha256sum] = "ef31649932872f094971d46453b21c60a41661670f98afa334062425b4aec47a"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch
new file mode 100644
index 000000000..9afa7f6a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch
@@ -0,0 +1,144 @@
+From abbc0761fa0349d49b10dc8c0f10af6bc0578c40 Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark@klomp.org>
+Date: Tue, 12 May 2020 16:58:36 +0200
+Subject: [PATCH 1/2] gcc10 arm64 build needs __getauxval for linking with
+ libgcc
+
+Provide a new library libgcc-sup-<platform>.a that contains symbols
+needed by libgcc. This needs to be linked after -lgcc to provide
+any symbols missing which would normally be provided by glibc.
+At the moment this only provides __getauxval on arm64 linux.
+
+https://bugs.kde.org/show_bug.cgi?id=421321
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=abbc0761fa0349d49b10dc8c0f10af6bc0578c40]
+
+---
+ Makefile.tool.am | 3 +-
+ coregrind/Makefile.am | 26 +++++++++++++++++
+ coregrind/m_libgcc_sup.c | 61 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 89 insertions(+), 1 deletion(-)
+ create mode 100644 coregrind/m_libgcc_sup.c
+
+diff --git a/Makefile.tool.am b/Makefile.tool.am
+index cc2fa0ee6..2bf90de5d 100644
+--- a/Makefile.tool.am
++++ b/Makefile.tool.am
+@@ -17,7 +17,8 @@ TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@ = \
+ endif
+
+
+-TOOL_LDADD_COMMON = -lgcc
++TOOL_LDADD_COMMON = -lgcc \
++ $(top_builddir)/coregrind/libgcc-sup-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
+ TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@ = \
+ $(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@) $(TOOL_LDADD_COMMON)
+ if VGCONF_HAVE_PLATFORM_SEC
+diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
+index 6a1a925fb..1753fb633 100644
+--- a/coregrind/Makefile.am
++++ b/coregrind/Makefile.am
+@@ -542,6 +542,32 @@ libcoregrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_DEPENDENCIES = \
+ libnolto_coregrind-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
+ endif
+
++#----------------------------------------------------------------------------
++# libgcc-sup-<platform>.a
++# Special supplemental library for functions normally supplied by glibc
++# used by libgcc.
++#----------------------------------------------------------------------------
++
++pkglib_LIBRARIES += libgcc-sup-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
++if VGCONF_HAVE_PLATFORM_SEC
++pkglib_LIBRARIES += libgcc-sup-@VGCONF_ARCH_SEC@-@VGCONF_OS@.a
++endif
++
++libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \
++ m_libgcc_sup.c
++libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CPPFLAGS = \
++ $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
++libgcc_sup_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_CFLAGS = \
++ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@)
++if VGCONF_HAVE_PLATFORM_SEC
++libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_SOURCES = \
++ m_libgcc_sup.c
++libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CPPFLAGS = \
++ $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
++libgcc_sup_@VGCONF_ARCH_SEC@_@VGCONF_OS@_a_CFLAGS = \
++ $(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@)
++endif
++
+ #----------------------------------------------------------------------------
+ # libreplacemalloc_toolpreload-<platform>.a
+ #----------------------------------------------------------------------------
+diff --git a/coregrind/m_libgcc_sup.c b/coregrind/m_libgcc_sup.c
+new file mode 100644
+index 000000000..e29325459
+--- /dev/null
++++ b/coregrind/m_libgcc_sup.c
+@@ -0,0 +1,61 @@
++/* -*- mode: C; c-basic-offset: 3; -*- */
++
++/*--------------------------------------------------------------------*/
++/*--- Supplemental functions for libgcc normally provided by glibc ---*/
++/*--------------------------------------------------------------------*/
++
++/*
++ This file is part of Valgrind, a dynamic binary instrumentation
++ framework.
++
++ Copyright (C) 2020 Mark Wielaard
++ mark@klomp.org
++
++ This program is free software; you can redistribute it and/or
++ modify it under the terms of the GNU General Public License as
++ published by the Free Software Foundation; either version 2 of the
++ License, or (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, see <http://www.gnu.org/licenses/>.
++
++ The GNU General Public License is contained in the file COPYING.
++*/
++
++#include "config.h"
++#include "pub_core_basics.h"
++#include "pub_core_clientstate.h"
++
++/*====================================================================*/
++/*=== arm64 libgcc support function for init_have_lse_atomics ===*/
++/*====================================================================*/
++
++#if defined(VGP_arm64_linux)
++struct auxv
++{
++ Word a_type;
++ union {
++ void *a_ptr;
++ Word a_val;
++ } u;
++};
++#define AT_NULL 0
++
++unsigned long int __getauxval (unsigned long int type);
++unsigned long int __getauxval (unsigned long int type)
++{
++ struct auxv *p;
++ for (p = (struct auxv *) VG_(client_auxv);
++ p != NULL && p->a_type != AT_NULL;
++ p++)
++ if (p->a_type == type)
++ return p->u.a_val;
++
++ return 0;
++}
++#endif
+--
+2.26.2
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch
new file mode 100644
index 000000000..15fbbe954
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch
@@ -0,0 +1,98 @@
+From 5d411fd147d652e9d7bb259f4048693c6e4742aa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 9 Mar 2020 16:30:19 -0700
+Subject: [PATCH] memcheck/tests: Fix timerfd syscall test
+
+modern libc provides these functions, moreover this also ensures that we
+are 64bit time_t safe. Fallback to existing definitions if libc does not
+have the implementation or syscall is not defined
+
+Upstream-Status: Submitted [https://sourceforge.net/p/valgrind/mailman/message/36943897/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ config.h.in | 9 +++++++++
+ configure.ac | 3 +++
+ memcheck/tests/linux/timerfd-syscall.c | 10 ++++++++--
+ 5 files changed, 32 insertions(+), 2 deletions(-)
+
+--- a/config.h.in
++++ b/config.h.in
+@@ -301,6 +301,9 @@
+ /* Define to 1 if you have the <sys/sysnvl.h> header file. */
+ #undef HAVE_SYS_SYSNVL_H
+
++/* Define to 1 if you have the <sys/timerfd.h> header file. */
++#undef HAVE_SYS_TIMERFD_H
++
+ /* Define to 1 if you have the <sys/time.h> header file. */
+ #undef HAVE_SYS_TIME_H
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -4098,6 +4098,7 @@ AC_CHECK_HEADERS([ \
+ sys/syscall.h \
+ sys/sysnvl.h \
+ sys/time.h \
++ sys/timerfd.h \
+ sys/types.h \
+ ])
+
+--- a/memcheck/tests/linux/timerfd-syscall.c
++++ b/memcheck/tests/linux/timerfd-syscall.c
+@@ -45,6 +45,9 @@
+ #if defined(HAVE_SYS_TIME_H)
+ #include <sys/time.h>
+ #endif
++#if defined(HAVE_SYS_TIMERFD_H)
++#include <sys/timerfd.h>
++#endif
+ #if defined(HAVE_SYS_TYPES_H)
+ #include <sys/types.h>
+ #endif
+@@ -54,7 +57,8 @@
+ * timerfd_* system call numbers introduced in 2.6.23. These constants are
+ * not yet in the glibc 2.7 headers, that is why they are defined here.
+ */
+-#ifndef __NR_timerfd_create
++#if !defined(HAVE_SYS_TIMERFD_H)
++#if !defined(__NR_timerfd_create)
+ #if defined(__x86_64__)
+ #define __NR_timerfd_create 283
+ #elif defined(__i386__)
+@@ -67,8 +71,10 @@
+ #error Cannot detect your architecture!
+ #endif
+ #endif
++#endif
+
+-#ifndef __NR_timerfd_settime
++#if !defined(HAVE_SYS_TIMERFD_H)
++#if !defined(__NR_timerfd_settime)
+ #if defined(__x86_64__)
+ #define __NR_timerfd_settime 286
+ #define __NR_timerfd_gettime 287
+@@ -85,7 +91,7 @@
+ #error Cannot detect your architecture!
+ #endif
+ #endif
+-
++#endif
+
+
+ /* Definitions from include/linux/timerfd.h */
+@@ -127,6 +133,7 @@ void set_timespec(struct timespec *tmr,
+ tmr->tv_nsec = (long) (1000ULL * (ustime % 1000000ULL));
+ }
+
++#if !defined(HAVE_SYS_TIMERFD_H)
+ int timerfd_create(int clockid, int flags)
+ {
+ return syscall(__NR_timerfd_create, clockid, flags);
+@@ -142,6 +149,7 @@ int timerfd_gettime(int ufc, struct itim
+ {
+ return syscall(__NR_timerfd_gettime, ufc, otmr);
+ }
++#endif
+
+ long waittmr(int tfd, int timeo)
+ {
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch
new file mode 100644
index 000000000..d641998d7
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch
@@ -0,0 +1,34 @@
+From f405297d3382cd98391d02f397e2387da1f42879 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 24 Jan 2020 17:55:39 +0100
+Subject: [PATCH] none/tests/fdleak_cmsg.stderr.exp: adjust /tmp paths
+
+In oe-core, /tmp is linked to /var/volatile/tmp and
+valgrind output changes accordingly
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ none/tests/fdleak_cmsg.stderr.exp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/none/tests/fdleak_cmsg.stderr.exp b/none/tests/fdleak_cmsg.stderr.exp
+index 6e5a797b9..0ede1ab18 100644
+--- a/none/tests/fdleak_cmsg.stderr.exp
++++ b/none/tests/fdleak_cmsg.stderr.exp
+@@ -25,10 +25,10 @@ Open file descriptor ...: /dev/null
+
+
+ FILE DESCRIPTORS: 6 open at exit.
+-Open file descriptor ...: /tmp/data2
++Open file descriptor ...: ...
+ ...
+
+-Open file descriptor ...: /tmp/data1
++Open file descriptor ...: ...
+ ...
+
+ Open AF_UNIX socket ...: <unknown>
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
new file mode 100644
index 000000000..f407d8191
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-tests-Make-pthread_detatch-call-portable-across-plat.patch
@@ -0,0 +1,87 @@
+From 92fcf75d6d3903e45492b041bf4ad07787d2e58a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 27 Jan 2020 19:50:04 -0800
+Subject: [PATCH] drd/tests/pth_detached3: Make pthread_detach() call portable
+ across platforms
+
+pthread_t is opaque type therefore we can not apply simple arithmetic to
+variables of pthread_t type this test needs to pass a invalid pthread_t
+handle, typcasting to uintptr_t works too and is portable across glibc and
+musl
+
+Fixes
+| pth_detached3.c:24:25: error: invalid use of undefined type 'struct __pthread'
+| 24 | pthread_detach(thread + 8);
+| | ^
+
+[ bvanassche: reformatted patch description and fixed up line numbers ]
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=92fcf75d6d3903e45492b041bf4ad07787d2e58a]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ drd/tests/pth_detached3.c | 3 ++-
+ drd/tests/pth_detached3.stderr.exp1 | 4 ++--
+ drd/tests/pth_detached3.stderr.exp2 | 4 ++--
+ 3 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
+index c02eef1..efeb15b 100644
+--- a/drd/tests/pth_detached3.c
++++ b/drd/tests/pth_detached3.c
+@@ -4,6 +4,7 @@
+ #include <errno.h>
+ #include <pthread.h>
+ #include <stdio.h>
++#include <stdint.h>
+
+ static void* thread_func(void* arg)
+ {
+@@ -21,7 +22,7 @@ int main(int argc, char** argv)
+ pthread_detach(thread);
+
+ /* Invoke pthread_detach() with an invalid thread ID. */
+- pthread_detach(thread + 8);
++ pthread_detach((pthread_t)((uintptr_t)thread + 8));
+
+ fprintf(stderr, "Finished.\n");
+
+diff --git a/drd/tests/pth_detached3.stderr.exp1 b/drd/tests/pth_detached3.stderr.exp1
+index 58412ec..8dd58ba 100644
+--- a/drd/tests/pth_detached3.stderr.exp1
++++ b/drd/tests/pth_detached3.stderr.exp1
+@@ -1,11 +1,11 @@
+
+ pthread_detach(): invalid thread ID 0x........
+ at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+- by 0x........: main (pth_detached3.c:21)
++ by 0x........: main (pth_detached3.c:22)
+
+ pthread_detach(): invalid thread ID 0x........
+ at 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+- by 0x........: main (pth_detached3.c:24)
++ by 0x........: main (pth_detached3.c:25)
+
+ Finished.
+
+diff --git a/drd/tests/pth_detached3.stderr.exp2 b/drd/tests/pth_detached3.stderr.exp2
+index bdc5cf8..e82dee1 100644
+--- a/drd/tests/pth_detached3.stderr.exp2
++++ b/drd/tests/pth_detached3.stderr.exp2
+@@ -2,12 +2,12 @@
+ pthread_detach(): invalid thread ID 0x........
+ at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
+ by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+- by 0x........: main (pth_detached3.c:21)
++ by 0x........: main (pth_detached3.c:22)
+
+ pthread_detach(): invalid thread ID 0x........
+ at 0x........: vgDrd_set_joinable (drd_pthread_intercepts.c:?)
+ by 0x........: pthread_detach (drd_pthread_intercepts.c:?)
+- by 0x........: main (pth_detached3.c:24)
++ by 0x........: main (pth_detached3.c:25)
+
+ Finished.
+
+--
+2.9.3
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch
deleted file mode 100644
index a82972ec1..000000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0002-valgrind-adjust-std_list-expected-output.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6e1e9265b03cf51d09c028d657fe826d7156a783 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Mon, 13 May 2019 17:26:26 -0400
-Subject: [PATCH 2/2] valgrind: adjust std_list expected output
-
-The run-ptest script uses a custom --yocto-ptest option
-to change the summary statistics that valgrind issues
-to a format that matches what ptest-runner expects.
-
-Only this std_list test which checks that strcpy() works
-properly on Ubuntu-12.04 and later is affected by this change.
-It's normal output when called with --yocto-ptest is a blank
-line so adjust the expected output.
-
-Upstream-Status: Inappropriate [Yocto specific]
-
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
----
- drd/tests/std_list.stderr.exp | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/drd/tests/std_list.stderr.exp b/drd/tests/std_list.stderr.exp
-index d18786f80..8b1378917 100644
---- a/drd/tests/std_list.stderr.exp
-+++ b/drd/tests/std_list.stderr.exp
-@@ -1,3 +1 @@
-
--
--ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch
deleted file mode 100644
index 05886c743..000000000
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a6547fc17c120dbd95b852f50b0c4bdee4fedb9a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 10 Jun 2017 01:20:32 -0700
-Subject: [PATCH 6/6] pth_detached3.c: Dereference pthread_t before adding
- offset to it
-
-Fixes
-error: invalid use of undefined type 'struct __pthread'
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- drd/tests/pth_detached3.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
-index c02eef1..35d43a6 100644
---- a/drd/tests/pth_detached3.c
-+++ b/drd/tests/pth_detached3.c
-@@ -21,7 +21,7 @@ int main(int argc, char** argv)
- pthread_detach(thread);
-
- /* Invoke pthread_detach() with an invalid thread ID. */
-- pthread_detach(thread + 8);
-+ pthread_detach((pthread_t*)(&thread + 8));
-
- fprintf(stderr, "Finished.\n");
-
---
-2.13.1
-
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
index acf4fd1bc..a3a0c6e50 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -1,3 +1,4 @@
+gdbserver_tests/hgtls
cachegrind/tests/ann1
callgrind/tests/simwork1
callgrind/tests/simwork2
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
new file mode 100644
index 000000000..eea671da0
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch
@@ -0,0 +1,19 @@
+s390x_vec_op_t is not needed anywhere, only elements of enum are accessed
+removing it ensures that valgrind can be built with -fno-common option
+
+Fixes
+ld: ../../VEX/libvex-amd64-linux.a(libvex_amd64_linux_a-guest_s390_helpers.o):/usr/src/debug/valgrind/3.15.0-r0/build/VEX/../../valgrind-3.15.0/VEX/priv/guest_s390_defs.h:289: multiple definition of `s390x_vec_op_t'; ../../VEX/libvexmultiarch-amd64-linux.a(libvexmultiarch_amd64_linux_a-multiarch_main_main.o):/usr/src/debug/valgrind/3.15.0-r0/build/VEX/../../valgrind-3.15.0/VEX/priv/guest_s390_defs.h:289: first defined here
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/VEX/priv/guest_s390_defs.h
++++ b/VEX/priv/guest_s390_defs.h
+@@ -286,7 +286,7 @@ enum {
+ S390_VEC_OP_VFCHE = 18,
+ S390_VEC_OP_VFTCI = 19,
+ S390_VEC_OP_LAST = 20 // supposed to be the last element in enum
+-} s390x_vec_op_t;
++};
+
+ /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one
+ ULong variable.
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index 63f972945..a764d1817 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -29,7 +29,6 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0003-correct-include-directive-path-for-config.h.patch \
file://0004-pth_atfork1.c-Define-error-API-for-musl.patch \
file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \
- file://0006-pth_detached3.c-Dereference-pthread_t-before-adding-.patch \
file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \
file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \
file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \
@@ -38,8 +37,12 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \
file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \
file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \
- file://0002-valgrind-adjust-std_list-expected-output.patch \
file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
+ file://s390x_vec_op_t.patch \
+ file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
+ file://0001-tests-Make-pthread_detatch-call-portable-across-plat.patch \
+ file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
+ file://0001-gcc10-arm64-build-needs-__getauxval-for-linking-with.patch \
"
SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
@@ -63,7 +66,8 @@ COMPATIBLE_HOST_linux-gnun32 = 'null'
# Disable for powerpc64 with musl
COMPATIBLE_HOST_libc-musl_powerpc64 = 'null'
-inherit autotools ptest multilib_header
+# brokenseip is unfortunately required by ptests to pass
+inherit autotools-brokensep ptest multilib_header
EXTRA_OECONF = "--enable-tls --without-mpicc"
EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '32']}"
@@ -115,7 +119,7 @@ RDEPENDS_${PN}-ptest += " bash coreutils file \
gdb libgomp \
perl \
perl-module-getopt-long perl-module-file-basename perl-module-file-glob \
- procps sed ${PN}-dbg"
+ procps sed ${PN}-dbg ${PN}-src"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
# One of the tests contains a bogus interpreter path on purpose.
@@ -203,4 +207,24 @@ do_install_ptest() {
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest
+
+ # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020)
+ # https://bugs.kde.org/show_bug.cgi?id=402833
+ rm ${D}${PTEST_PATH}/memcheck/tests/overlap.vgtest
+
+ # As the binary isn't stripped or debug-splitted, the source file isn't fetched
+ # via dwarfsrcfiles either, so it needs to be installed manually.
+ mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/
+ install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/
}
+
+# avoid stripping some generated binaries otherwise some of the tests will fail
+# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail
+INHIBIT_PACKAGE_STRIP_FILES = "\
+ ${PKGD}${PTEST_PATH}/none/tests/tls \
+ ${PKGD}${PTEST_PATH}/none/tests/tls.so \
+ ${PKGD}${PTEST_PATH}/none/tests/tls2.so \
+ ${PKGD}${PTEST_PATH}/helgrind/tests/tc09_bad_unlock \
+ ${PKGD}${PTEST_PATH}/memcheck/tests/manuel1 \
+ ${PKGD}${PTEST_PATH}/drd/tests/pth_detached3 \
+"
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index df798dfcd..7d27c43c8 100644
--- a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -13,6 +13,8 @@ SRC_URI[sha256sum] = "2f986b7c9a0e9ac6728147668e776d405465284e13c74d4146c9cbc51f
inherit autotools
+CLEANBROKEN = "1"
+
DEPENDS = "libxml2-native"
RDEPENDS_${PN} = "docbook-xml-dtd4 \