From 842fda61cfe8b9a9e8ca31f5243c19a6bfd5fa66 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 13 Aug 2023 21:59:17 -0700 Subject: glibc: Upgrade to 2.38 release Announcement - https://mail.gnu.org/archive/html/info-gnu/2023-07/msg00010.html (From OE-Core rev: 16aff29593d7991d7ae953d5fb526a897c5a7268) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- .../glibc/cross-localedef-native_2.37.bb | 54 --------- .../glibc/cross-localedef-native_2.38.bb | 54 +++++++++ meta/recipes-core/glibc/glibc-common.inc | 3 +- meta/recipes-core/glibc/glibc-locale_2.37.bb | 1 - meta/recipes-core/glibc/glibc-locale_2.38.bb | 1 + meta/recipes-core/glibc/glibc-mtrace_2.37.bb | 1 - meta/recipes-core/glibc/glibc-mtrace_2.38.bb | 1 + meta/recipes-core/glibc/glibc-scripts_2.37.bb | 1 - meta/recipes-core/glibc/glibc-scripts_2.38.bb | 1 + meta/recipes-core/glibc/glibc-tests_2.37.bb | 119 ------------------- meta/recipes-core/glibc/glibc-tests_2.38.bb | 119 +++++++++++++++++++ meta/recipes-core/glibc/glibc-testsuite_2.37.bb | 36 ------ meta/recipes-core/glibc/glibc-testsuite_2.38.bb | 36 ++++++ meta/recipes-core/glibc/glibc-version.inc | 8 +- ...def-Add-hardlink-resolver-from-util-linux.patch | 2 +- ...ledef-fix-ups-hardlink-to-make-it-compile.patch | 2 +- ...libc-Look-for-host-system-ld.so.cache-as-.patch | 8 +- ...libc-Fix-buffer-overrun-with-a-relocated-.patch | 6 +- ...libc-Raise-the-size-of-arrays-containing-.patch | 16 +-- ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 2 +- ...libc-Make-relocatable-install-for-locales.patch | 6 +- ...libc-Fall-back-to-faccessat-on-faccess2-r.patch | 2 +- ...thin-the-path-sets-wrong-config-variables.patch | 86 +++++++------- ...c-Cross-building-and-testing-instructions.patch | 2 +- ...011-eglibc-Help-bootstrap-cross-toolchain.patch | 4 +- ...0012-eglibc-Resolve-__fpscr_values-on-SH4.patch | 4 +- ...ward-port-cross-locale-generation-support.patch | 6 +- ...dd-to-archive-uses-a-hard-coded-locale-pa.patch | 4 +- ...erpc-Do-not-ask-compiler-for-finding-arch.patch | 4 +- ...-Unify-the-header-between-arm-and-aarch64.patch | 42 ++----- ...o-with-printf-builtin-in-nscd-init-script.patch | 2 +- ...-configure.ac-Set-libc_cv_rootsbindir-onl.patch | 7 +- ...ke-shell-interpreter-overridable-in-tzsel.patch | 4 +- ....ksh-Use-bin-sh-default-shell-interpreter.patch | 2 +- ...thread-failed-in-unprivileged-process-BZ-.patch | 10 +- ...oded-build-time-paths-in-the-output-binar.patch | 6 +- meta/recipes-core/glibc/glibc_2.37.bb | 128 --------------------- meta/recipes-core/glibc/glibc_2.38.bb | 128 +++++++++++++++++++++ 38 files changed, 450 insertions(+), 468 deletions(-) delete mode 100644 meta/recipes-core/glibc/cross-localedef-native_2.37.bb create mode 100644 meta/recipes-core/glibc/cross-localedef-native_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc-locale_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc-locale_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc-mtrace_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc-mtrace_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc-scripts_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc-scripts_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc-tests_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc-tests_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc-testsuite_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc-testsuite_2.38.bb delete mode 100644 meta/recipes-core/glibc/glibc_2.37.bb create mode 100644 meta/recipes-core/glibc/glibc_2.38.bb (limited to 'meta/recipes-core/glibc') diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.37.bb b/meta/recipes-core/glibc/cross-localedef-native_2.37.bb deleted file mode 100644 index e7261a644b..0000000000 --- a/meta/recipes-core/glibc/cross-localedef-native_2.37.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Cross locale generation tool for glibc" -HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" -SECTION = "libs" -LICENSE = "LGPL-2.1-only" - -LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -require glibc-version.inc - -# Tell autotools that we're working in the localedef directory -# -AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" - -inherit autotools -inherit native - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef;protocol=https \ - \ - file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ - file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ - \ - file://0010-eglibc-Cross-building-and-testing-instructions.patch \ - file://0011-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ - file://0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ - file://0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \ - " -# Makes for a rather long rev (22 characters), but... -# -SRCREV_FORMAT = "glibc_localedef" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-glibc=${S}" - -# We do not need bash to run tzselect script, the default is to use -# bash but it can be configured by setting KSHELL Makefile variable -EXTRA_OEMAKE += "KSHELL=/bin/sh" - -CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef - install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink -} diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.38.bb b/meta/recipes-core/glibc/cross-localedef-native_2.38.bb new file mode 100644 index 0000000000..e7261a644b --- /dev/null +++ b/meta/recipes-core/glibc/cross-localedef-native_2.38.bb @@ -0,0 +1,54 @@ +SUMMARY = "Cross locale generation tool for glibc" +HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" +SECTION = "libs" +LICENSE = "LGPL-2.1-only" + +LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +require glibc-version.inc + +# Tell autotools that we're working in the localedef directory +# +AUTOTOOLS_SCRIPT_PATH = "${S}/localedef" + +inherit autotools +inherit native + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef;protocol=https \ + \ + file://0001-localedef-Add-hardlink-resolver-from-util-linux.patch \ + file://0002-localedef-fix-ups-hardlink-to-make-it-compile.patch \ + \ + file://0010-eglibc-Cross-building-and-testing-instructions.patch \ + file://0011-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ + file://0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \ + " +# Makes for a rather long rev (22 characters), but... +# +SRCREV_FORMAT = "glibc_localedef" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-glibc=${S}" + +# We do not need bash to run tzselect script, the default is to use +# bash but it can be configured by setting KSHELL Makefile variable +EXTRA_OEMAKE += "KSHELL=/bin/sh" + +CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef + install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink +} diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index b93b55fe77..be33c29857 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -22,5 +22,4 @@ ARM_INSTRUCTION_SET:armv6 = "arm" # COMPATIBLE_HOST:libc-musl:class-target = "null" -PV = "2.37" -PR = "r1" +PV = "2.38" diff --git a/meta/recipes-core/glibc/glibc-locale_2.37.bb b/meta/recipes-core/glibc/glibc-locale_2.37.bb deleted file mode 100644 index f7702e0358..0000000000 --- a/meta/recipes-core/glibc/glibc-locale_2.37.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-locale.inc diff --git a/meta/recipes-core/glibc/glibc-locale_2.38.bb b/meta/recipes-core/glibc/glibc-locale_2.38.bb new file mode 100644 index 0000000000..f7702e0358 --- /dev/null +++ b/meta/recipes-core/glibc/glibc-locale_2.38.bb @@ -0,0 +1 @@ +require glibc-locale.inc diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.37.bb b/meta/recipes-core/glibc/glibc-mtrace_2.37.bb deleted file mode 100644 index 0b69bad46a..0000000000 --- a/meta/recipes-core/glibc/glibc-mtrace_2.37.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-mtrace.inc diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.38.bb b/meta/recipes-core/glibc/glibc-mtrace_2.38.bb new file mode 100644 index 0000000000..0b69bad46a --- /dev/null +++ b/meta/recipes-core/glibc/glibc-mtrace_2.38.bb @@ -0,0 +1 @@ +require glibc-mtrace.inc diff --git a/meta/recipes-core/glibc/glibc-scripts_2.37.bb b/meta/recipes-core/glibc/glibc-scripts_2.37.bb deleted file mode 100644 index 5a89bd8022..0000000000 --- a/meta/recipes-core/glibc/glibc-scripts_2.37.bb +++ /dev/null @@ -1 +0,0 @@ -require glibc-scripts.inc diff --git a/meta/recipes-core/glibc/glibc-scripts_2.38.bb b/meta/recipes-core/glibc/glibc-scripts_2.38.bb new file mode 100644 index 0000000000..5a89bd8022 --- /dev/null +++ b/meta/recipes-core/glibc/glibc-scripts_2.38.bb @@ -0,0 +1 @@ +require glibc-scripts.inc diff --git a/meta/recipes-core/glibc/glibc-tests_2.37.bb b/meta/recipes-core/glibc/glibc-tests_2.37.bb deleted file mode 100644 index 9352a058fb..0000000000 --- a/meta/recipes-core/glibc/glibc-tests_2.37.bb +++ /dev/null @@ -1,119 +0,0 @@ -require glibc_${PV}.bb -require glibc-tests.inc - -inherit ptest features_check -REQUIRED_DISTRO_FEATURES = "ptest" - -SRC_URI += "\ - file://run-ptest \ -" - -SUMMARY = "glibc tests to be run with ptest" - -# Erase some variables already set by glibc_${PV} -python __anonymous() { - # Remove packages provided by glibc build, we only need a subset of them - d.setVar("PACKAGES", "${PN} ${PN}-ptest") - - d.setVar("PROVIDES", "${PN} ${PN}-ptest") - - bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip() - d.setVar("BBCLASSEXTEND", bbclassextend) - d.setVar("RRECOMMENDS", "") - d.setVar("SYSTEMD_SERVICE:nscd", "") - d.setVar("SYSTEMD_PACKAGES", "") -} - -# Remove any leftovers from original glibc recipe -RPROVIDES:${PN} = "${PN}" -RRECOMMENDS:${PN} = "" -RDEPENDS:${PN} = " glibc sed bash" -RDEPENDS:${PN}-ptest = "${PN}" -DEPENDS += "sed" - -export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/" - -# Just build tests for target - do not run them -do_check:append () { - oe_runmake -i check run-built-tests=no -} -addtask do_check after do_compile before do_install_ptest_base - -glibc_strip_build_directory () { - # Delete all non executable files from build directory - find ${B} ! -executable -type f -delete - - # Remove build dynamic libraries and links to them as - # those are already installed in the target device - find ${B} -type f -name "*.so" -delete - find ${B} -type l -name "*.so*" -delete - - # Remove headers (installed with glibc) - find ${B} -type f -name "*.h" -delete - - find ${B} -type f -name "isomac" -delete - find ${B} -type f -name "annexc" -delete -} - -do_install_ptest_base () { - glibc_strip_build_directory - - ls -r ${B}/*/*-time64 > ${B}/tst_time64 - - # Remove '-time64' suffix - those tests are also time related - sed -e "s/-time64$//" ${B}/tst_time64 > ${B}/tst_time_tmp - tst_time=$(cat ${B}/tst_time_tmp ${B}/tst_time64) - - rm ${B}/tst_time_tmp ${B}/tst_time64 - echo "${tst_time}" - - # Install build test programs to the image - install -d ${D}${PTEST_PATH}/tests/glibc-ptest/ - - for f in "${tst_time}" - do - cp -r ${f} ${D}${PTEST_PATH}/tests/glibc-ptest/ - done - - install -d ${D}${PTEST_PATH} - cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/ - -} - -# The datadir directory is required to allow core (and reused) -# glibc cleanup function to finish correctly, as this directory -# is not created for ptests -stash_locale_package_cleanup:prepend () { - mkdir -p ${PKGD}${datadir} -} - -stash_locale_sysroot_cleanup:prepend () { - mkdir -p ${SYSROOT_DESTDIR}${datadir} -} - -# Prevent the do_package() task to set 'libc6' prefix -# for glibc tests related packages -python populate_packages:prepend () { - if d.getVar('DEBIAN_NAMES'): - d.setVar('DEBIAN_NAMES', '') -} - -FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*" - -EXCLUDE_FROM_SHLIBS = "1" - -# Install debug data in .debug and sources in /usr/src/debug -# It is more handy to have _all_ the sources and symbols in one -# place (package) as this recipe will be used for validation and -# debugging. -PACKAGE_DEBUG_SPLIT_STYLE = ".debug" - -# glibc test cases violate by default some Yocto/OE checks (staticdev, -# textrel) -# 'debug-files' - add everything (including debug) into one package -# (no need to install/build *-src package) -INSANE_SKIP:${PN} += "staticdev textrel debug-files rpaths" - -deltask do_stash_locale -do_install[noexec] = "1" -do_populate_sysroot[noexec] = "1" diff --git a/meta/recipes-core/glibc/glibc-tests_2.38.bb b/meta/recipes-core/glibc/glibc-tests_2.38.bb new file mode 100644 index 0000000000..9352a058fb --- /dev/null +++ b/meta/recipes-core/glibc/glibc-tests_2.38.bb @@ -0,0 +1,119 @@ +require glibc_${PV}.bb +require glibc-tests.inc + +inherit ptest features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +SRC_URI += "\ + file://run-ptest \ +" + +SUMMARY = "glibc tests to be run with ptest" + +# Erase some variables already set by glibc_${PV} +python __anonymous() { + # Remove packages provided by glibc build, we only need a subset of them + d.setVar("PACKAGES", "${PN} ${PN}-ptest") + + d.setVar("PROVIDES", "${PN} ${PN}-ptest") + + bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip() + d.setVar("BBCLASSEXTEND", bbclassextend) + d.setVar("RRECOMMENDS", "") + d.setVar("SYSTEMD_SERVICE:nscd", "") + d.setVar("SYSTEMD_PACKAGES", "") +} + +# Remove any leftovers from original glibc recipe +RPROVIDES:${PN} = "${PN}" +RRECOMMENDS:${PN} = "" +RDEPENDS:${PN} = " glibc sed bash" +RDEPENDS:${PN}-ptest = "${PN}" +DEPENDS += "sed" + +export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/" + +# Just build tests for target - do not run them +do_check:append () { + oe_runmake -i check run-built-tests=no +} +addtask do_check after do_compile before do_install_ptest_base + +glibc_strip_build_directory () { + # Delete all non executable files from build directory + find ${B} ! -executable -type f -delete + + # Remove build dynamic libraries and links to them as + # those are already installed in the target device + find ${B} -type f -name "*.so" -delete + find ${B} -type l -name "*.so*" -delete + + # Remove headers (installed with glibc) + find ${B} -type f -name "*.h" -delete + + find ${B} -type f -name "isomac" -delete + find ${B} -type f -name "annexc" -delete +} + +do_install_ptest_base () { + glibc_strip_build_directory + + ls -r ${B}/*/*-time64 > ${B}/tst_time64 + + # Remove '-time64' suffix - those tests are also time related + sed -e "s/-time64$//" ${B}/tst_time64 > ${B}/tst_time_tmp + tst_time=$(cat ${B}/tst_time_tmp ${B}/tst_time64) + + rm ${B}/tst_time_tmp ${B}/tst_time64 + echo "${tst_time}" + + # Install build test programs to the image + install -d ${D}${PTEST_PATH}/tests/glibc-ptest/ + + for f in "${tst_time}" + do + cp -r ${f} ${D}${PTEST_PATH}/tests/glibc-ptest/ + done + + install -d ${D}${PTEST_PATH} + cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/ + +} + +# The datadir directory is required to allow core (and reused) +# glibc cleanup function to finish correctly, as this directory +# is not created for ptests +stash_locale_package_cleanup:prepend () { + mkdir -p ${PKGD}${datadir} +} + +stash_locale_sysroot_cleanup:prepend () { + mkdir -p ${SYSROOT_DESTDIR}${datadir} +} + +# Prevent the do_package() task to set 'libc6' prefix +# for glibc tests related packages +python populate_packages:prepend () { + if d.getVar('DEBIAN_NAMES'): + d.setVar('DEBIAN_NAMES', '') +} + +FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*" + +EXCLUDE_FROM_SHLIBS = "1" + +# Install debug data in .debug and sources in /usr/src/debug +# It is more handy to have _all_ the sources and symbols in one +# place (package) as this recipe will be used for validation and +# debugging. +PACKAGE_DEBUG_SPLIT_STYLE = ".debug" + +# glibc test cases violate by default some Yocto/OE checks (staticdev, +# textrel) +# 'debug-files' - add everything (including debug) into one package +# (no need to install/build *-src package) +INSANE_SKIP:${PN} += "staticdev textrel debug-files rpaths" + +deltask do_stash_locale +do_install[noexec] = "1" +do_populate_sysroot[noexec] = "1" diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.37.bb b/meta/recipes-core/glibc/glibc-testsuite_2.37.bb deleted file mode 100644 index 2e076f4b0f..0000000000 --- a/meta/recipes-core/glibc/glibc-testsuite_2.37.bb +++ /dev/null @@ -1,36 +0,0 @@ -require glibc_${PV}.bb -require glibc-tests.inc - -inherit qemu - -SRC_URI += "file://check-test-wrapper" - -# strip provides -PROVIDES = "" - -DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" - -TOOLCHAIN_TEST_TARGET ??= "user" -TOOLCHAIN_TEST_HOST ??= "localhost" -TOOLCHAIN_TEST_HOST_USER ??= "root" -TOOLCHAIN_TEST_HOST_PORT ??= "2222" - -do_check[nostamp] = "1" -do_check[network] = "1" -do_check:append () { - chmod 0755 ${WORKDIR}/check-test-wrapper - - oe_runmake -i \ - QEMU_SYSROOT="${RECIPE_SYSROOT}" \ - QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ - SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ - SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ - SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ - test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ - check -} - -inherit nopackages -deltask do_stash_locale -deltask do_install -deltask do_populate_sysroot diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.38.bb b/meta/recipes-core/glibc/glibc-testsuite_2.38.bb new file mode 100644 index 0000000000..2e076f4b0f --- /dev/null +++ b/meta/recipes-core/glibc/glibc-testsuite_2.38.bb @@ -0,0 +1,36 @@ +require glibc_${PV}.bb +require glibc-tests.inc + +inherit qemu + +SRC_URI += "file://check-test-wrapper" + +# strip provides +PROVIDES = "" + +DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" + +TOOLCHAIN_TEST_TARGET ??= "user" +TOOLCHAIN_TEST_HOST ??= "localhost" +TOOLCHAIN_TEST_HOST_USER ??= "root" +TOOLCHAIN_TEST_HOST_PORT ??= "2222" + +do_check[nostamp] = "1" +do_check[network] = "1" +do_check:append () { + chmod 0755 ${WORKDIR}/check-test-wrapper + + oe_runmake -i \ + QEMU_SYSROOT="${RECIPE_SYSROOT}" \ + QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ + SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ + SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ + SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ + test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ + check +} + +inherit nopackages +deltask do_stash_locale +deltask do_install +deltask do_populate_sysroot diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index 37bb9fd34f..7d5219f2d2 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc @@ -1,7 +1,7 @@ -SRCBRANCH ?= "release/2.37/master" -PV = "2.37" -SRCREV_glibc ?= "d8e1a7590d375159fb5aac07ad8111ab4699e994" -SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87" +SRCBRANCH ?= "release/2.38/master" +PV = "2.38" +SRCREV_glibc ?= "36f2487f13e3540be9ee0fb51876b1da72176d3f" +SRCREV_localedef ?= "2d6d138500779504ba52e564edd21a3e50ae9472" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" diff --git a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch index 0e2bbbc6a2..eb3da94b8b 100644 --- a/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch +++ b/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch @@ -1,4 +1,4 @@ -From 604a78e86ca374278fc5f3ce11b0abe1ff096b7e Mon Sep 17 00:00:00 2001 +From 7c06ca59b47ce06f785b9fce7b9e9d675d5b6e10 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Sat, 7 Dec 2019 09:59:22 -0800 Subject: [PATCH] localedef: Add hardlink resolver from util-linux diff --git a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch index 0fd8a0d57d..2dc4634dd5 100644 --- a/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch +++ b/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch @@ -1,4 +1,4 @@ -From 85d14ae38fb9e7b46bb4b8f5f041e39a605ed81e Mon Sep 17 00:00:00 2001 +From 9ff5200eb16e9c89ca8da89d7e07975d082a13b0 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Sat, 7 Dec 2019 10:01:37 -0800 Subject: [PATCH] localedef: fix-ups hardlink to make it compile diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch index c6f1455ee1..f2602d0e56 100644 --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch @@ -1,4 +1,4 @@ -From d1b745b6e4c6a755cceb92329227efce1547d5fc Mon Sep 17 00:00:00 2001 +From 0d996c5600603a67f0265e870511cdd18dbaa8a6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:48:24 +0000 Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well @@ -30,10 +30,10 @@ Signed-off-by: Khem Raj 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index fcb39a78d4..cde9fc2358 100644 +index 9a87fda9c9..0a6fa9b8f0 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2109,6 +2109,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2102,6 +2102,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -48,7 +48,7 @@ index fcb39a78d4..cde9fc2358 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2167,14 +2175,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2160,14 +2168,6 @@ _dl_map_object (struct link_map *loader, const char *name, } #endif diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch index 8256a56245..974312367e 100644 --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch @@ -1,4 +1,4 @@ -From 3789e9ae4c208b2d97169a95cf3b1767e73b3856 Mon Sep 17 00:00:00 2001 +From c3492719b2deaf3339eefb1ab30f4337e592ed80 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:50:00 +0000 Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK @@ -21,10 +21,10 @@ Signed-off-by: Khem Raj 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index cde9fc2358..e514bdcc21 100644 +index 0a6fa9b8f0..3a23dc618c 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1809,7 +1809,19 @@ open_path (const char *name, size_t namelen, int mode, +@@ -1802,7 +1802,19 @@ open_path (const char *name, size_t namelen, int mode, given on the command line when rtld is run directly. */ return -1; diff --git a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch index 2899c0b845..086e0c6f14 100644 --- a/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch +++ b/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch @@ -1,4 +1,4 @@ -From 66e971a785aae80ba838a2604c679db70cbb8b3b Mon Sep 17 00:00:00 2001 +From e874dacbfdb06520240887e9077c58006ee33f87 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:51:38 +0000 Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/elf/dl-cache.c b/elf/dl-cache.c -index 07c054b11a..0fa36548b0 100644 +index 804bf23222..d99501c389 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c @@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size, @@ -41,7 +41,7 @@ index 07c054b11a..0fa36548b0 100644 _dl_cache_libcmp (const char *p1, const char *p2) { diff --git a/elf/dl-load.c b/elf/dl-load.c -index e514bdcc21..c43747a3a8 100644 +index 3a23dc618c..563e703096 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -117,8 +117,8 @@ enum { ncapstr = 1, max_capstrlen = 0 }; @@ -56,7 +56,7 @@ index e514bdcc21..c43747a3a8 100644 SYSTEM_DIRS_LEN }; diff --git a/elf/dl-usage.c b/elf/dl-usage.c -index 53535c1583..3ba7d9d200 100644 +index 98f0b0d027..ab4f76e1fe 100644 --- a/elf/dl-usage.c +++ b/elf/dl-usage.c @@ -25,6 +25,8 @@ @@ -77,7 +77,7 @@ index 53535c1583..3ba7d9d200 100644 --library-path PATH use given PATH instead of content of the environment\n\ variable LD_LIBRARY_PATH\n\ --glibc-hwcaps-prepend LIST\n\ -@@ -207,7 +209,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ +@@ -203,7 +205,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ \n\ This program interpreter self-identifies as: " RTLD "\n\ ", @@ -98,7 +98,7 @@ index ae21ae0cb3..b168e6da66 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 166dccb528..8dda23c92c 100644 +index d26eef1fb4..e5af6e5c01 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -150,6 +150,8 @@ static struct argp argp = @@ -111,7 +111,7 @@ index 166dccb528..8dda23c92c 100644 static error_t parse_opt (int key, char *arg, struct argp_state *state) diff --git a/elf/rtld.c b/elf/rtld.c -index b8467f37cf..be7bd08bc3 100644 +index a91e2a4471..56d816d4d9 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p) @@ -123,7 +123,7 @@ index b8467f37cf..be7bd08bc3 100644 static void audit_list_init (struct audit_list *list) diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index 21165a558a..3dd67b0ea2 100644 +index ee9e97e1bd..01a99382d0 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -35,7 +35,7 @@ diff --git a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch index b0e3dbfa8a..421afdca1c 100644 --- a/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch +++ b/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch @@ -1,4 +1,4 @@ -From a9795b9aadcbc04ad0404badf722acb83ef0ab7b Mon Sep 17 00:00:00 2001 +From 76eaf7340a7f9063ab1ad2d7c6c0e205f22f544c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:35:35 -0800 Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 diff --git a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch index 2dac1f1061..64243b1098 100644 --- a/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch +++ b/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch @@ -1,4 +1,4 @@ -From 68e5df9a7750d7db2323824b1342483e9ecdddd4 Mon Sep 17 00:00:00 2001 +From ef8bb46455d602cb00caf59b2044a9a23b240cc2 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:55:12 -0700 Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales @@ -41,7 +41,7 @@ index 1b7034348b..939d4fd613 100644 else /* We really have to load some data. First see whether the name is diff --git a/locale/loadarchive.c b/locale/loadarchive.c -index 454bbc7eda..f904158182 100644 +index 5b857d5d24..e642912e2a 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -42,7 +42,7 @@ @@ -54,7 +54,7 @@ index 454bbc7eda..f904158182 100644 /* Size of initial mapping window, optimal if large enough to cover the header plus the initial locale. */ diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 66cad7a83b..b7b856f77f 100644 +index 8bbf281427..7a930079a5 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item) diff --git a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch index 7a8fe34815..38dca83b1b 100644 --- a/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch +++ b/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch @@ -1,4 +1,4 @@ -From 18fc01c620311d9744a38d9a4a75dbe07b5d9225 Mon Sep 17 00:00:00 2001 +From 7f05e35c675a6d1af2144b4cfbabab250de43f38 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Mar 2021 14:48:56 -0800 Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns diff --git a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch index cf3b35f8d0..61fdcb0816 100644 --- a/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch +++ b/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch @@ -1,4 +1,4 @@ -From c7419991ebca369d727cc2f4489fed91fd5bb83f Mon Sep 17 00:00:00 2001 +From 70e721856c3ebf6ae0ea84b828396bd2af090acf Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:31:06 +0000 Subject: [PATCH] 'yes' within the path sets wrong config variables @@ -29,10 +29,10 @@ Signed-off-by: Khem Raj 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure -index 2130f6b8f8..7b7e3bbcf1 100644 +index ca57edce47..5e91fab023 100644 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure -@@ -152,12 +152,12 @@ else +@@ -165,12 +165,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __AARCH64EB__ @@ -42,13 +42,13 @@ index 2130f6b8f8..7b7e3bbcf1 100644 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_aarch64_be" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "is_aarch64_be" >/dev/null 2>&1 + then : libc_cv_aarch64_be=yes - else - libc_cv_aarch64_be=no + else $as_nop diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac -index 85c6f76508..8ecd15d273 100644 +index 27874eceb4..8a708f2ef4 100644 --- a/sysdeps/aarch64/configure.ac +++ b/sysdeps/aarch64/configure.ac @@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) @@ -63,10 +63,10 @@ index 85c6f76508..8ecd15d273 100644 ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)]) if test $libc_cv_aarch64_be = yes; then diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure -index 5b0237e521..969fc9fe95 100644 +index 35e2918922..94d7fbe8bb 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure -@@ -148,12 +148,12 @@ else +@@ -161,12 +161,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ARM_PCS_VFP @@ -76,11 +76,11 @@ index 5b0237e521..969fc9fe95 100644 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1 + then : libc_cv_arm_pcs_vfp=yes - else - libc_cv_arm_pcs_vfp=no + else $as_nop diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac index 5172e30bbe..f06dedd7c5 100644 --- a/sysdeps/arm/configure.ac @@ -97,10 +97,10 @@ index 5172e30bbe..f06dedd7c5 100644 ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)]) if test $libc_cv_arm_pcs_vfp = yes; then diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure -index 3f4d9e9759..888453c70b 100644 +index 1e8c6711e6..ae52ccd929 100644 --- a/sysdeps/mips/configure +++ b/sysdeps/mips/configure -@@ -145,11 +145,11 @@ else +@@ -158,11 +158,11 @@ else $as_nop /* end confdefs.h. */ dnl #ifdef __mips_nan2008 @@ -109,11 +109,11 @@ index 3f4d9e9759..888453c70b 100644 #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "use_mips_nan2008" >/dev/null 2>&1 + then : libc_cv_mips_nan2008=yes - else - libc_cv_mips_nan2008=no + else $as_nop diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac index d3cd780d78..250223d206 100644 --- a/sysdeps/mips/configure.ac @@ -131,10 +131,10 @@ index d3cd780d78..250223d206 100644 if test x$libc_cv_mips_nan2008 = xyes; then AC_DEFINE(HAVE_MIPS_NAN2008) diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure -index b3cd28349e..f47e5a5adc 100644 +index 2fb230cbaa..1959d0a444 100644 --- a/sysdeps/nios2/configure +++ b/sysdeps/nios2/configure -@@ -142,12 +142,12 @@ else +@@ -155,12 +155,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __nios2_big_endian__ @@ -144,11 +144,11 @@ index b3cd28349e..f47e5a5adc 100644 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_nios2_be" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "is_nios2_be" >/dev/null 2>&1 + then : libc_cv_nios2_be=yes - else - libc_cv_nios2_be=no + else $as_nop diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac index f738e9a7ed..4085851cbc 100644 --- a/sysdeps/nios2/configure.ac @@ -165,10 +165,10 @@ index f738e9a7ed..4085851cbc 100644 ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)]) if test $libc_cv_nios2_be = yes; then diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure -index f25f2a3a65..1b7483e6c6 100644 +index a060901de4..0ac7019438 100644 --- a/sysdeps/unix/sysv/linux/mips/configure +++ b/sysdeps/unix/sysv/linux/mips/configure -@@ -414,11 +414,11 @@ else +@@ -441,11 +441,11 @@ else $as_nop /* end confdefs.h. */ dnl #ifdef __mips_nan2008 @@ -177,11 +177,11 @@ index f25f2a3a65..1b7483e6c6 100644 #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_mips_nan2008" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "use_mips_nan2008" >/dev/null 2>&1 + then : libc_cv_mips_nan2008=yes - else - libc_cv_mips_nan2008=no + else $as_nop diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac index 049a0f4bdf..005526d4e8 100644 --- a/sysdeps/unix/sysv/linux/mips/configure.ac @@ -199,10 +199,10 @@ index 049a0f4bdf..005526d4e8 100644 libc_mips_nan= diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -index ae7f254da4..874519000b 100644 +index cf1b70c745..0dccf6cd76 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure -@@ -155,12 +155,12 @@ else +@@ -168,12 +168,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if _CALL_ELF == 2 @@ -212,12 +212,12 @@ index ae7f254da4..874519000b 100644 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1 + then : libc_cv_ppc64_elfv2_abi=yes - else - libc_cv_ppc64_elfv2_abi=no -@@ -188,12 +188,12 @@ else + else $as_nop +@@ -203,12 +203,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef _CALL_ELF @@ -227,11 +227,11 @@ index ae7f254da4..874519000b 100644 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "yes" >/dev/null 2>&1; then : -+ $EGREP "is_def_call_elf" >/dev/null 2>&1; then : +- $EGREP "yes" >/dev/null 2>&1 ++ $EGREP "is_def_call_elf" >/dev/null 2>&1 + then : libc_cv_ppc64_def_call_elf=yes - else - libc_cv_ppc64_def_call_elf=no + else $as_nop diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac index f9cba6e15d..b21f72f1e4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch index df6a659e5e..ffbe138ff1 100644 --- a/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch +++ b/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch @@ -1,4 +1,4 @@ -From b5535340fb24bdae121286a79d759ecb3a464afd Mon Sep 17 00:00:00 2001 +From 9625e90bdf35774c71f1e566e73d435e38c04171 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:42:58 +0000 Subject: [PATCH] eglibc: Cross building and testing instructions diff --git a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch index 57828dd488..88017bd29b 100644 --- a/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch +++ b/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch @@ -1,4 +1,4 @@ -From 1aa07d35422f4628437a515a256fdf230192891f Mon Sep 17 00:00:00 2001 +From cf2126b2d6e073137a3a7d9bcc261e0a760a82da Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:49:28 +0000 Subject: [PATCH] eglibc: Help bootstrap cross toolchain @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index 224c792185..6da151f5db 100644 +index c6d4817a9e..b4b0e23560 100644 --- a/Makefile +++ b/Makefile @@ -79,9 +79,18 @@ subdir-dirs = include diff --git a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch index b2e30a60c8..fee020cc4c 100644 --- a/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch +++ b/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch @@ -1,4 +1,4 @@ -From 47db0543da748fa7c355599b90b5016032e9deed Mon Sep 17 00:00:00 2001 +From 61948c02226acea68d34313cc6286ee1ab44a98c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:55:53 +0000 Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4 @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj 2 files changed, 12 insertions(+) diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions -index 9c734ff755..974e33b4b1 100644 +index 3ad702e165..931985b5d6 100644 --- a/sysdeps/unix/sysv/linux/sh/Versions +++ b/sysdeps/unix/sysv/linux/sh/Versions @@ -3,6 +3,7 @@ libc { diff --git a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch index 46df87430b..60bcab0fec 100644 --- a/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch +++ b/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch @@ -1,4 +1,4 @@ -From fc0f96b182cd32037326545625356c88feb5c27a Mon Sep 17 00:00:00 2001 +From befa58c48a8ba664e7bbdfcf22e2a15efa2e0d17 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 01:33:49 +0000 Subject: [PATCH] eglibc: Forward port cross locale generation support @@ -89,7 +89,7 @@ index 0000000000..538f3f5edb + [LC_ALL] = sizeof ("LC_ALL") - 1 + }; diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index b7b856f77f..5e87ff336d 100644 +index 7a930079a5..05d7848d29 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h @@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) @@ -519,7 +519,7 @@ index 5caf5c348f..76856a32c2 100644 + #endif /* locfile.h */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index dd73fa4248..da3e17774e 100644 +index 6a902faa50..17413f0a9c 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -63,35 +63,6 @@ static char *const _nl_current_used[] = diff --git a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch index 3bf4fa45a0..3e7d5b74c1 100644 --- a/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch +++ b/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch @@ -1,4 +1,4 @@ -From 8e38bf52f1b71700a491cd1bd5ac5cf1ec7d097b Mon Sep 17 00:00:00 2001 +From 653b0631f80f17abe01957c06ef8a8d5d189b789 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Aug 2018 09:42:06 -0700 Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path @@ -18,7 +18,7 @@ Signed-off-by: Khem Raj 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c -index 87d2d9b1b2..36f5852949 100644 +index 71fd9f34fa..cd3eb90ad5 100644 --- a/locale/programs/locarchive.c +++ b/locale/programs/locarchive.c @@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) diff --git a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch index af7140e4da..ff49a71bb2 100644 --- a/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch +++ b/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch @@ -1,4 +1,4 @@ -From 666905d40b483b28ffa2a5fa7170a40475ff1003 Mon Sep 17 00:00:00 2001 +From fae5ee7d7b9dca2f25684a99f7046042d870235f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 7 Aug 2020 14:31:16 -0700 Subject: [PATCH] powerpc: Do not ask compiler for finding arch @@ -15,7 +15,7 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure -index dfe8e20399..bbff040f0f 100644 +index 4de94089a3..428ad7b162 100644 --- a/sysdeps/powerpc/preconfigure +++ b/sysdeps/powerpc/preconfigure @@ -29,10 +29,7 @@ esac diff --git a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch index 90a6cc2363..b7b4046efc 100644 --- a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch +++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch @@ -1,4 +1,4 @@ -From 80dbf6f21c12b1c60bfab9a64798d4f1ea242efb Mon Sep 17 00:00:00 2001 +From 91a7848698ce6c96c646f3a170714ee71eab6884 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 May 2020 17:05:45 -0700 Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64 @@ -11,10 +11,10 @@ Upstream-Status: Inappropriate [ OE-Specific ] Signed-off-by: Khem Raj --- - sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- - sysdeps/{aarch64 => arm}/bits/wordsize.h | 8 ++++++-- - 2 files changed, 12 insertions(+), 4 deletions(-) - copy sysdeps/{aarch64 => arm}/bits/wordsize.h (85%) + sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- + sysdeps/arm/bits/wordsize.h | 1 + + 2 files changed, 7 insertions(+), 2 deletions(-) + create mode 120000 sysdeps/arm/bits/wordsize.h diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h index 04d4be9519..63876a7830 100644 @@ -39,29 +39,11 @@ index 04d4be9519..63876a7830 100644 #endif #define __WORDSIZE_TIME64_COMPAT32 0 -diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h -similarity index 85% -copy from sysdeps/aarch64/bits/wordsize.h -copy to sysdeps/arm/bits/wordsize.h -index 04d4be9519..63876a7830 100644 ---- a/sysdeps/aarch64/bits/wordsize.h +diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h +new file mode 120000 +index 0000000000..4c4a788ec2 +--- /dev/null +++ b/sysdeps/arm/bits/wordsize.h -@@ -17,12 +17,16 @@ - License along with the GNU C Library; if not, see - . */ - --#ifdef __LP64__ -+#if defined (__aarch64__) && defined (__LP64__) - # define __WORDSIZE 64 --#else -+#elif defined (__aarch64__) - # define __WORDSIZE 32 - # define __WORDSIZE32_SIZE_ULONG 1 - # define __WORDSIZE32_PTRDIFF_LONG 1 -+#else -+# define __WORDSIZE 32 -+# define __WORDSIZE32_SIZE_ULONG 0 -+# define __WORDSIZE32_PTRDIFF_LONG 0 - #endif - - #define __WORDSIZE_TIME64_COMPAT32 0 +@@ -0,0 +1 @@ ++../../aarch64/bits/wordsize.h +\ No newline at end of file diff --git a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch index 2e5c60a002..f2ed821081 100644 --- a/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch +++ b/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch @@ -1,4 +1,4 @@ -From 561f67dda72ba806120e3ffadd8b85dcf02a90a6 Mon Sep 17 00:00:00 2001 +From 63611cfd3b25f3656db168aee41a5850ac769dfc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 31 Dec 2015 14:33:02 -0800 Subject: [PATCH] Replace echo with printf builtin in nscd init script diff --git a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch index 33585ee337..12a460664f 100644 --- a/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch +++ b/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch @@ -1,4 +1,4 @@ -From 5b408839318b81cc2713956c87f19eddb009f677 Mon Sep 17 00:00:00 2001 +From 912ccb5001ffa5355caff09354558e89e9aa937b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 18 Mar 2015 00:27:10 +0000 Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure -index c15d1087e8..d30d6e37ae 100644 +index 18c9d7945a..ef22cc845d 100644 --- a/sysdeps/gnu/configure +++ b/sysdeps/gnu/configure -@@ -32,6 +32,6 @@ case "$prefix" in +@@ -32,7 +32,7 @@ case "$prefix" in else libc_cv_localstatedir=$localstatedir fi @@ -26,6 +26,7 @@ index c15d1087e8..d30d6e37ae 100644 + libc_cv_rootsbindir=${libc_cv_rootsbindir:=/sbin} ;; esac + diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac index 634fe4de2a..492112e0fd 100644 --- a/sysdeps/gnu/configure.ac diff --git a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch index f6e0cec983..359b1c37e5 100644 --- a/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch +++ b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch @@ -1,4 +1,4 @@ -From 27d3ec9df3157966819e4369e571769ed9e8604c Mon Sep 17 00:00:00 2001 +From 1d518ac57b00a3335f80f10f899c1bc24a0ddbf5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 9 Dec 2021 15:14:42 -0800 Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 2 files changed, 10 insertions(+) diff --git a/Makeconfig b/Makeconfig -index 2fda4af5f7..87777942f3 100644 +index 77d7fd14df..e253046861 100644 --- a/Makeconfig +++ b/Makeconfig @@ -309,6 +309,15 @@ ifndef sysincludedir diff --git a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch index ee50a8148c..9a1bfdd6af 100644 --- a/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch +++ b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch @@ -1,4 +1,4 @@ -From d8c8500b619231c23ef6a151821555786c0d2966 Mon Sep 17 00:00:00 2001 +From 7274541782927394852712ba0c8dfd67bd9b8b5b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 15 Dec 2021 21:47:53 -0800 Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter diff --git a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch index 4838643911..3b567cc9ab 100644 --- a/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch +++ b/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch @@ -1,4 +1,4 @@ -From 30d209d26918e48e34f34658923c42f269d27ee1 Mon Sep 17 00:00:00 2001 +From 4a1bff4c1e34ad9b596a7ba44ab61f4c9d00097b Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Sun, 29 Aug 2021 20:49:16 +0800 Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287] @@ -72,13 +72,13 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c -index a8611772a2..c75b063370 100644 +index 790739cfce..8d24d04917 100644 --- a/sysdeps/unix/sysv/linux/clone-internal.c +++ b/sysdeps/unix/sysv/linux/clone-internal.c -@@ -52,7 +52,7 @@ __clone_internal (struct clone_args *cl_args, - /* Try clone3 first. */ +@@ -106,7 +106,7 @@ __clone_internal (struct clone_args *cl_args, + #ifdef HAVE_CLONE3_WRAPPER int saved_errno = errno; - ret = __clone3 (cl_args, sizeof (*cl_args), func, arg); + int ret = __clone3_internal (cl_args, func, arg); - if (ret != -1 || errno != ENOSYS) + if (ret != -1 || (errno != ENOSYS && errno != EPERM)) return ret; diff --git a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch index 789d36cacb..55c81f38aa 100644 --- a/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch +++ b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch @@ -1,4 +1,4 @@ -From b672a35f7d9e25baa83f3fd854a51bc1ad49756a Mon Sep 17 00:00:00 2001 +From e61792fc978f9b8a9c790be468fbf97828ac8ae9 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 24 Jul 2022 07:07:29 -0700 Subject: [PATCH] Avoid hardcoded build time paths in the output binaries @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/support/Makefile b/support/Makefile -index b29b7eb505..ae42e6e7e9 100644 +index 917a858bd1..17a747c8c7 100644 --- a/support/Makefile +++ b/support/Makefile -@@ -219,9 +219,9 @@ libsupport-inhibit-o += .o +@@ -227,9 +227,9 @@ libsupport-inhibit-o += .o endif CFLAGS-support_paths.c = \ diff --git a/meta/recipes-core/glibc/glibc_2.37.bb b/meta/recipes-core/glibc/glibc_2.37.bb deleted file mode 100644 index 851aa612b1..0000000000 --- a/meta/recipes-core/glibc/glibc_2.37.bb +++ /dev/null @@ -1,128 +0,0 @@ -require glibc.inc -require glibc-version.inc - -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022 -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023 -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024 -CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE" -CVE_STATUS_RECIPE = "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" -CVE_STATUS_RECIPE[status] = "disputed: \ -Upstream glibc maintainers dispute there is any issue and have no plans to address it further. \ -this is being treated as a non-security bug and no real threat." - -# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025 -# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 -CVE_STATUS[CVE-2019-1010025] = "disputed: \ -Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ -easier access for another. 'ASLR bypass itself is not a vulnerability.'" - -CVE_STATUS[CVE-2023-25139] = "cpe-stable-backport: This is integrated into the 2.37 branch as of 07b9521fc6" - -DEPENDS += "gperf-native bison-native" - -NATIVESDKFIXES ?= "" -NATIVESDKFIXES:class-nativesdk = "\ - file://0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ - file://0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ - file://0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ - file://0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ - file://0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ - file://0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch \ -" - -SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ - file://etc/ld.so.conf \ - file://generate-supported.mk \ - file://makedbs.sh \ - \ - ${NATIVESDKFIXES} \ - file://0009-yes-within-the-path-sets-wrong-config-variables.patch \ - file://0010-eglibc-Cross-building-and-testing-instructions.patch \ - file://0011-eglibc-Help-bootstrap-cross-toolchain.patch \ - file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \ - file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \ - file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ - file://0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ - file://0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ - file://0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ - file://0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \ - file://0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \ - file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ - file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ - file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ -" -S = "${WORKDIR}/git" -B = "${WORKDIR}/build-${TARGET_SYS}" - -PACKAGES_DYNAMIC = "" - -# the -isystem in bitbake.conf screws up glibc do_stage -BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" -TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" - -GLIBC_BROKEN_LOCALES = "" - -GLIBCPIE ??= "" - -EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ - --disable-profile \ - --disable-debug --without-gd \ - --enable-clocale=gnu \ - --with-headers=${STAGING_INCDIR} \ - --without-selinux \ - --enable-tunables \ - --enable-bind-now \ - --enable-stack-protector=strong \ - --disable-crypt \ - --with-default-link \ - --disable-werror \ - ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ - ${GLIBCPIE} \ - ${GLIBC_EXTRA_OECONF}" - -EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" - -EXTRA_OECONF:append:x86 = " ${@bb.utils.contains_any('TUNE_FEATURES', 'i586 c3', '--disable-cet', '--enable-cet', d)}" -EXTRA_OECONF:append:x86-64 = " --enable-cet" - -PACKAGECONFIG ??= "nscd memory-tagging" -PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" -PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging" - -do_patch:append() { - bb.build.exec_func('do_fix_readlib_c', d) -} - -do_fix_readlib_c () { - sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c -} - -do_configure () { -# override this function to avoid the autoconf/automake/aclocal/autoheader -# calls for now -# don't pass CPPFLAGS into configure, since it upsets the kernel-headers -# version check and doesn't really help with anything - (cd ${S} && gnu-configize) || die "failure in running gnu-configize" - find ${S} -name "configure" | xargs touch - CPPFLAGS="" LD="${HOST_PREFIX}ld.bfd ${TOOLCHAIN_OPTIONS}" oe_runconf -} - -LDFLAGS += "-fuse-ld=bfd" -CC += "-fuse-ld=bfd" - -do_compile () { - base_do_compile - echo "Adjust ldd script" - if [ -n "${RTLDLIST}" ] - then - prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` - # remove duplicate entries - newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` - echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" - sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" - fi -} - -require glibc-package.inc - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-core/glibc/glibc_2.38.bb b/meta/recipes-core/glibc/glibc_2.38.bb new file mode 100644 index 0000000000..851aa612b1 --- /dev/null +++ b/meta/recipes-core/glibc/glibc_2.38.bb @@ -0,0 +1,128 @@ +require glibc.inc +require glibc-version.inc + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024 +CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE" +CVE_STATUS_RECIPE = "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" +CVE_STATUS_RECIPE[status] = "disputed: \ +Upstream glibc maintainers dispute there is any issue and have no plans to address it further. \ +this is being treated as a non-security bug and no real threat." + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025 +# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 +CVE_STATUS[CVE-2019-1010025] = "disputed: \ +Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ +easier access for another. 'ASLR bypass itself is not a vulnerability.'" + +CVE_STATUS[CVE-2023-25139] = "cpe-stable-backport: This is integrated into the 2.37 branch as of 07b9521fc6" + +DEPENDS += "gperf-native bison-native" + +NATIVESDKFIXES ?= "" +NATIVESDKFIXES:class-nativesdk = "\ + file://0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \ + file://0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \ + file://0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \ + file://0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \ + file://0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch \ + file://0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch \ +" + +SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ + file://etc/ld.so.conf \ + file://generate-supported.mk \ + file://makedbs.sh \ + \ + ${NATIVESDKFIXES} \ + file://0009-yes-within-the-path-sets-wrong-config-variables.patch \ + file://0010-eglibc-Cross-building-and-testing-instructions.patch \ + file://0011-eglibc-Help-bootstrap-cross-toolchain.patch \ + file://0012-eglibc-Resolve-__fpscr_values-on-SH4.patch \ + file://0013-eglibc-Forward-port-cross-locale-generation-support.patch \ + file://0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \ + file://0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ + file://0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ + file://0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ + file://0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \ + file://0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \ + file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ + file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ + file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ +" +S = "${WORKDIR}/git" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" + +GLIBC_BROKEN_LOCALES = "" + +GLIBCPIE ??= "" + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --disable-profile \ + --disable-debug --without-gd \ + --enable-clocale=gnu \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + --enable-tunables \ + --enable-bind-now \ + --enable-stack-protector=strong \ + --disable-crypt \ + --with-default-link \ + --disable-werror \ + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ + ${GLIBCPIE} \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" + +EXTRA_OECONF:append:x86 = " ${@bb.utils.contains_any('TUNE_FEATURES', 'i586 c3', '--disable-cet', '--enable-cet', d)}" +EXTRA_OECONF:append:x86-64 = " --enable-cet" + +PACKAGECONFIG ??= "nscd memory-tagging" +PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" +PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging" + +do_patch:append() { + bb.build.exec_func('do_fix_readlib_c', d) +} + +do_fix_readlib_c () { + sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" LD="${HOST_PREFIX}ld.bfd ${TOOLCHAIN_OPTIONS}" oe_runconf +} + +LDFLAGS += "-fuse-ld=bfd" +CC += "-fuse-ld=bfd" + +do_compile () { + base_do_compile + echo "Adjust ldd script" + if [ -n "${RTLDLIST}" ] + then + prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` + # remove duplicate entries + newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)` + echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\"" + sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#" + fi +} + +require glibc-package.inc + +BBCLASSEXTEND = "nativesdk" -- cgit v1.2.3-54-g00ecf