diff options
Diffstat (limited to 'meta/recipes-core/glibc')
44 files changed, 602 insertions, 515 deletions
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.35.bb b/meta/recipes-core/glibc/cross-localedef-native_2.39.bb index b7b54e9ccc..fed6e4ea97 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.35.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.39.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" SECTION = "libs" LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ +LIC_FILES_CHKSUM = "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" @@ -30,8 +30,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ 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://0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ - file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.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... # diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index 90a6a534f3..b9516e77f0 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" SECTION = "libs" LICENSE = "GPL-2.0-only & LGPL-2.1-only" -LIC_FILES_CHKSUM ?= "file://LICENSES;md5=1541fd8f5e8f1579512bf05f533371ba \ +LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" @@ -22,4 +22,4 @@ ARM_INSTRUCTION_SET:armv6 = "arm" # COMPATIBLE_HOST:libc-musl:class-target = "null" -PV = "2.35" +PV = "2.39+git" diff --git a/meta/recipes-core/glibc/glibc-locale.inc b/meta/recipes-core/glibc/glibc-locale.inc index b8de7d3192..c63c9edd76 100644 --- a/meta/recipes-core/glibc/glibc-locale.inc +++ b/meta/recipes-core/glibc/glibc-locale.inc @@ -5,14 +5,9 @@ SUMMARY = "Locale data from glibc" BPN = "glibc" LOCALEBASEPN = "${MLPREFIX}glibc" -# glibc-collateral.inc inhibits all default deps, but do_package needs objcopy -# ERROR: objcopy failed with exit code 127 (cmd was 'i586-webos-linux-objcopy' --only-keep-debug 'glibc-locale/2.17-r0/package/usr/lib/gconv/IBM1166.so' 'glibc-locale/2.17-r0/package/usr/lib/gconv/.debug/IBM1166.so') -# ERROR: Function failed: split_and_strip_files -BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot" -BINUTILSDEP:class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot" -do_package[depends] += "${BINUTILSDEP}" - -DEPENDS += "virtual/libc" +# Do not inhibit default deps, do_package requires binutils/gcc for +# objcopy/gcc-nm and glibc-locale depends on virtual/libc directly. +INHIBIT_DEFAULT_DEPS = "" # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION # is set. The idea is to avoid running localedef on the target (at first boot) @@ -25,7 +20,7 @@ ENABLE_BINARY_LOCALE_GENERATION:pn-nativesdk-glibc-locale = "1" #enable locale generation on these arches # BINARY_LOCALE_ARCHES is a space separated list of regular expressions -BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64" +BINARY_LOCALE_ARCHES ?= "arc arm.* aarch64 i[3-6]86 x86_64 powerpc mips mips64 riscv32 riscv64 loongarch64" # set "1" to use cross-localedef for locale generation # set "0" for qemu emulation of native localedef for locale generation @@ -33,7 +28,7 @@ LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1" PROVIDES = "virtual/libc-locale" -PACKAGES = "localedef ${PN}-dbg" +PACKAGES = "localedef ${PN}-dbg ${LOCALEBASEPN}-locale-alias" PACKAGES_DYNAMIC = "^locale-base-.* \ ^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \ @@ -42,22 +37,22 @@ PACKAGES_DYNAMIC = "^locale-base-.* \ # Create a glibc-binaries package ALLOW_EMPTY:${BPN}-binaries = "1" PACKAGES += "${BPN}-binaries" -RRECOMMENDS:${BPN}-binaries = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary") != -1])}" +RRECOMMENDS:${BPN}-binaries = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-binary-") != -1])}" # Create a glibc-charmaps package ALLOW_EMPTY:${BPN}-charmaps = "1" PACKAGES += "${BPN}-charmaps" -RRECOMMENDS:${BPN}-charmaps = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap") != -1])}" +RRECOMMENDS:${BPN}-charmaps = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-charmap-") != -1])}" # Create a glibc-gconvs package ALLOW_EMPTY:${BPN}-gconvs = "1" PACKAGES += "${BPN}-gconvs" -RRECOMMENDS:${BPN}-gconvs = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv") != -1])}" +RRECOMMENDS:${BPN}-gconvs = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-gconv-") != -1])}" # Create a glibc-localedatas package ALLOW_EMPTY:${BPN}-localedatas = "1" PACKAGES += "${BPN}-localedatas" -RRECOMMENDS:${BPN}-localedatas = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata") != -1])}" +RRECOMMENDS:${BPN}-localedatas = "${@" ".join([p for p in d.getVar('PACKAGES').split() if p.find("glibc-localedata-") != -1])}" DESCRIPTION:localedef = "glibc: compile locale definition files" @@ -66,6 +61,7 @@ DESCRIPTION:localedef = "glibc: compile locale definition files" # Explicitly add ${MLPREFIX} for FILES:glibc-gconv. FILES:${MLPREFIX}glibc-gconv = "${libdir}/gconv/*" FILES:localedef = "${bindir}/localedef" +FILES:${LOCALEBASEPN}-locale-alias = "${datadir}/locale/locale.alias" LOCALETREESRC = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/glibc-stash-locale" @@ -87,10 +83,9 @@ do_install() { if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then copy_locale_files ${libdir}/gconv 0755 copy_locale_files ${datadir}/i18n 0644 - else - # Remove the libdir if it is empty when gconv is not copied - find ${D}${libdir} -type d -empty -delete fi + # Remove empty dirs in libdir when gconv or locales are not copied + find ${D}${libdir} -type d -empty -delete copy_locale_files ${datadir}/locale 0644 install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED } diff --git a/meta/recipes-core/glibc/glibc-locale_2.35.bb b/meta/recipes-core/glibc/glibc-locale_2.39.bb index f7702e0358..f7702e0358 100644 --- a/meta/recipes-core/glibc/glibc-locale_2.35.bb +++ b/meta/recipes-core/glibc/glibc-locale_2.39.bb diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.35.bb b/meta/recipes-core/glibc/glibc-mtrace_2.39.bb index 0b69bad46a..0b69bad46a 100644 --- a/meta/recipes-core/glibc/glibc-mtrace_2.35.bb +++ b/meta/recipes-core/glibc/glibc-mtrace_2.39.bb diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 7f9e7503a1..1ef987be0a 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc @@ -42,7 +42,7 @@ FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}" FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal" RDEPENDS:${PN}-dev = "linux-libc-headers-dev" FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" -FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \ +FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${nonarch_libdir}/tmpfiles.d/nscd.conf \ ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd" FILES:${PN}-mtrace = "${bindir}/mtrace" FILES:tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump" @@ -87,7 +87,7 @@ do_install() { rmdir --ignore-fail-on-non-empty ${D}${libexecdir} fi - oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h + oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h if [ -f ${D}${bindir}/mtrace ]; then sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace @@ -132,9 +132,9 @@ def get_libc_fpu_setting(bb, d): do_install:append:class-target() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d + install -d ${D}${nonarch_libdir}/tmpfiles.d echo "d /run/nscd 755 root root -" \ - > ${D}${sysconfdir}/tmpfiles.d/nscd.conf + > ${D}${nonarch_libdir}/tmpfiles.d/nscd.conf fi if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then @@ -280,7 +280,7 @@ python populate_packages:prepend () { pkg_postinst:nscd () { if [ -z "$D" ]; then if command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nscd.conf + systemd-tmpfiles --create ${nonarch_libdir}/tmpfiles.d/nscd.conf elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then ${sysconfdir}/init.d/populate-volatile.sh update fi diff --git a/meta/recipes-core/glibc/glibc-scripts_2.35.bb b/meta/recipes-core/glibc/glibc-scripts_2.39.bb index 5a89bd8022..5a89bd8022 100644 --- a/meta/recipes-core/glibc/glibc-scripts_2.35.bb +++ b/meta/recipes-core/glibc/glibc-scripts_2.39.bb diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.35.bb b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb index e8ad2a938b..2e076f4b0f 100644 --- a/meta/recipes-core/glibc/glibc-testsuite_2.35.bb +++ b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb @@ -16,6 +16,7 @@ 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 diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index ccb41e5af6..618a574566 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc @@ -1,8 +1,10 @@ -SRCBRANCH ?= "release/2.35/master" -PV = "2.35" -SRCREV_glibc ?= "0e5b239f45992e4b54c6f946ecb0c410afc8bb08" -SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87" +SRCBRANCH ?= "release/2.39/master" +PV = "2.39+git" +SRCREV_glibc ?= "1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c" +SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" -GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" +GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)" + +CVE_STATUS[CVE-2023-4911] = "fixed-version: Fixed in stable branch updates" diff --git a/meta/recipes-core/glibc/glibc-tests_2.35.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb index 96d0569ff6..be49ca4cb7 100644 --- a/meta/recipes-core/glibc/glibc-tests_2.35.bb +++ b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb @@ -4,12 +4,11 @@ require glibc-tests.inc inherit ptest features_check REQUIRED_DISTRO_FEATURES = "ptest" -SRC_URI:append = " \ - file://reproducible-paths.patch \ +SRC_URI += "\ file://run-ptest \ " -SUMMARY = "glibc tests to be run with ptest" +SUMMARY = "glibc tests using time32/time64 interfaces to be run with ptest for the purpose of checking y2038 compatiblity" # Erase some variables already set by glibc_${PV} python __anonymous() { @@ -17,7 +16,6 @@ python __anonymous() { d.setVar("PACKAGES", "${PN} ${PN}-ptest") d.setVar("PROVIDES", "${PN} ${PN}-ptest") - d.setVar("RPROVIDES", "${PN} ${PN}-ptest") bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip() d.setVar("BBCLASSEXTEND", bbclassextend) @@ -29,8 +27,9 @@ python __anonymous() { # Remove any leftovers from original glibc recipe RPROVIDES:${PN} = "${PN}" RRECOMMENDS:${PN} = "" -RDEPENDS:${PN} = " glibc sed" -DEPENDS:append = " sed" +RDEPENDS:${PN} = "glibc libgcc sed bash" +RDEPENDS:${PN}-ptest = "${PN}" +DEPENDS += "sed" export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/" diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index fdd241d973..b08a70aa46 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -1,7 +1,7 @@ require glibc-common.inc require glibc-ld.inc -DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" +DEPENDS = "virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils libgcc-initial linux-libc-headers" PROVIDES = "virtual/libc" PROVIDES += "virtual/libintl virtual/libiconv" diff --git a/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch b/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch deleted file mode 100644 index 2421a63605..0000000000 --- a/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 6b8959add09e425df262bf9178b39ca35bc4003c Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sun, 24 Jul 2022 19:41:41 +0200 -Subject: [PATCH] Revert "Linux: Implement a useful version of _startup_fatal" - -This reverts commit 2d05ba7f8ef979947e910a37ae8115a816eb4d08. -Upstream-Status: Inappropriate [temporary work around] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- - sysdeps/unix/sysv/linux/i386/startup.h | 23 ++++++++++++--- - sysdeps/unix/sysv/linux/ia64/startup.h | 22 --------------- - sysdeps/unix/sysv/linux/startup.h | 39 -------------------------- - 3 files changed, 19 insertions(+), 65 deletions(-) - delete mode 100644 sysdeps/unix/sysv/linux/ia64/startup.h - delete mode 100644 sysdeps/unix/sysv/linux/startup.h - -diff --git a/sysdeps/unix/sysv/linux/i386/startup.h b/sysdeps/unix/sysv/linux/i386/startup.h -index 213805d7d2..67c9310f3a 100644 ---- a/sysdeps/unix/sysv/linux/i386/startup.h -+++ b/sysdeps/unix/sysv/linux/i386/startup.h -@@ -1,5 +1,5 @@ - /* Linux/i386 definitions of functions used by static libc main startup. -- Copyright (C) 2022 Free Software Foundation, Inc. -+ Copyright (C) 2017-2022 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or -@@ -16,7 +16,22 @@ - License along with the GNU C Library; if not, see - <https://www.gnu.org/licenses/>. */ - --/* Can't use "call *%gs:SYSINFO_OFFSET" during startup. */ --#define I386_USE_SYSENTER 0 -+#if BUILD_PIE_DEFAULT -+/* Can't use "call *%gs:SYSINFO_OFFSET" during statup in static PIE. */ -+# define I386_USE_SYSENTER 0 - --#include_next <startup.h> -+# include <sysdep.h> -+# include <abort-instr.h> -+ -+__attribute__ ((__noreturn__)) -+static inline void -+_startup_fatal (const char *message __attribute__ ((unused))) -+{ -+ /* This is only called very early during startup in static PIE. -+ FIXME: How can it be improved? */ -+ ABORT_INSTRUCTION; -+ __builtin_unreachable (); -+} -+#else -+# include_next <startup.h> -+#endif -diff --git a/sysdeps/unix/sysv/linux/ia64/startup.h b/sysdeps/unix/sysv/linux/ia64/startup.h -deleted file mode 100644 -index 77f29f15a2..0000000000 ---- a/sysdeps/unix/sysv/linux/ia64/startup.h -+++ /dev/null -@@ -1,22 +0,0 @@ --/* Linux/ia64 definitions of functions used by static libc main startup. -- Copyright (C) 2022 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- <https://www.gnu.org/licenses/>. */ -- --/* This code is used before the TCB is set up. */ --#define IA64_USE_NEW_STUB 0 -- --#include_next <startup.h> -diff --git a/sysdeps/unix/sysv/linux/startup.h b/sysdeps/unix/sysv/linux/startup.h -deleted file mode 100644 -index 39859b404a..0000000000 ---- a/sysdeps/unix/sysv/linux/startup.h -+++ /dev/null -@@ -1,39 +0,0 @@ --/* Linux definitions of functions used by static libc main startup. -- Copyright (C) 2017-2022 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- <https://www.gnu.org/licenses/>. */ -- --#ifdef SHARED --# include_next <startup.h> --#else --# include <sysdep.h> -- --/* Avoid a run-time invocation of strlen. */ --#define _startup_fatal(message) \ -- do \ -- { \ -- size_t __message_length = __builtin_strlen (message); \ -- if (! __builtin_constant_p (__message_length)) \ -- { \ -- extern void _startup_fatal_not_constant (void); \ -- _startup_fatal_not_constant (); \ -- } \ -- INTERNAL_SYSCALL_CALL (write, STDERR_FILENO, (message), \ -- __message_length); \ -- INTERNAL_SYSCALL_CALL (exit_group, 127); \ -- } \ -- while (0) --#endif /* !SHARED */ 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 546fe58214..4f919078dd 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 8778429a3345bb5c0361332cf5103f394717a396 Mon Sep 17 00:00:00 2001 +From 544d23dea91b2be793c805b9e4bce8cd1d28121f Mon Sep 17 00:00:00 2001 From: Jason Wessel <jason.wessel@windriver.com> 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 94a05cf954..7c8fa973ec 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 87a69126d97bb8d5d52e34e451b4a7076efd6bed Mon Sep 17 00:00:00 2001 +From ebb1e37285ab541135005cfe945b7a58e4b95040 Mon Sep 17 00:00:00 2001 From: Jason Wessel <jason.wessel@windriver.com> 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 9a605078b9..bd4b5aa98b 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 752b0d32fc96728ee624dbd62bf23e034d8d2aed Mon Sep 17 00:00:00 2001 +From 9770abfda8e85fe027f95871bc03450d05b1e2c8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 721593135e..39c4657fa2 100644 +index ce8fdea302..1f502eb026 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -2208,6 +2208,14 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2105,6 +2105,14 @@ _dl_map_object (struct link_map *loader, const char *name, } } @@ -48,7 +48,7 @@ index 721593135e..39c4657fa2 100644 #ifdef USE_LDCONFIG if (fd == -1 && (__glibc_likely ((mode & __RTLD_SECURE) == 0) -@@ -2266,14 +2274,6 @@ _dl_map_object (struct link_map *loader, const char *name, +@@ -2163,14 +2171,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 da288d6ccf..19fc561a06 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 2f7407697f2a905fedb98037152e7830f73bc6c6 Mon Sep 17 00:00:00 2001 +From 587b92ff99e6d8f59c461ee8beecae39d8818f7e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 1 file changed, 12 insertions(+) diff --git a/elf/dl-load.c b/elf/dl-load.c -index 39c4657fa2..daa3af6c51 100644 +index 1f502eb026..c4a543fb00 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c -@@ -1904,7 +1904,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 14bcaf3ef9..55892417f4 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 88a31cd08801df53249963f3b26c7dbcee6ae2f8 Mon Sep 17 00:00:00 2001 +From 49caf586b80ba030a0ee4af9f6128ff2979ea636 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:51:38 +0000 Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths @@ -19,17 +19,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> elf/dl-load.c | 4 ++-- elf/dl-usage.c | 6 ++++-- elf/interp.c | 2 +- - elf/ldconfig.c | 3 +++ + elf/ldconfig.c | 2 ++ elf/rtld.c | 1 + iconv/gconv_conf.c | 2 +- sysdeps/generic/dl-cache.h | 4 ---- - 8 files changed, 16 insertions(+), 10 deletions(-) + 8 files changed, 15 insertions(+), 10 deletions(-) diff --git a/elf/dl-cache.c b/elf/dl-cache.c -index 2b8da8650d..3d9787bda4 100644 +index 85f3f179ed..cc55887c56 100644 --- a/elf/dl-cache.c +++ b/elf/dl-cache.c -@@ -355,6 +355,10 @@ search_cache (const char *string_table, uint32_t string_table_size, +@@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size, return best; } @@ -41,7 +41,7 @@ index 2b8da8650d..3d9787bda4 100644 _dl_cache_libcmp (const char *p1, const char *p2) { diff --git a/elf/dl-load.c b/elf/dl-load.c -index daa3af6c51..e323952993 100644 +index c4a543fb00..27fb70f09b 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 daa3af6c51..e323952993 100644 SYSTEM_DIRS_LEN }; diff --git a/elf/dl-usage.c b/elf/dl-usage.c -index 5ad3a72559..88f26d3692 100644 +index 5baac4ba8e..60097ad0e2 100644 --- a/elf/dl-usage.c +++ b/elf/dl-usage.c @@ -25,6 +25,8 @@ @@ -68,7 +68,7 @@ index 5ad3a72559..88f26d3692 100644 void _dl_usage (const char *argv0, const char *wrong_option) { -@@ -244,7 +246,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ +@@ -185,7 +187,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ --list list all dependencies and how they are resolved\n\ --verify verify that given object really is a dynamically linked\n\ object we can handle\n\ @@ -77,7 +77,7 @@ index 5ad3a72559..88f26d3692 100644 --library-path PATH use given PATH instead of content of the environment\n\ variable LD_LIBRARY_PATH\n\ --glibc-hwcaps-prepend LIST\n\ -@@ -267,7 +269,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ +@@ -204,7 +206,7 @@ setting environment variables (which would be inherited by subprocesses).\n\ \n\ This program interpreter self-identifies as: " RTLD "\n\ ", @@ -85,9 +85,9 @@ index 5ad3a72559..88f26d3692 100644 + argv0, LD_SO_CACHE); print_search_path_for_help (state); print_hwcaps_subdirectories (state); - print_legacy_hwcap_directories (); + _exit (EXIT_SUCCESS); diff --git a/elf/interp.c b/elf/interp.c -index 91966702ca..dc86c20e83 100644 +index 8b705824bf..7d094829f3 100644 --- a/elf/interp.c +++ b/elf/interp.c @@ -18,5 +18,5 @@ @@ -98,24 +98,23 @@ index 91966702ca..dc86c20e83 100644 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; diff --git a/elf/ldconfig.c b/elf/ldconfig.c -index 101d56ac8e..33debef60a 100644 +index b64c54b53e..caf7001745 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c -@@ -176,6 +176,9 @@ static struct argp argp = +@@ -150,6 +150,8 @@ static struct argp argp = options, parse_opt, NULL, doc, NULL, more_help, NULL }; -+ +extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))); + - /* Check if string corresponds to an important hardware capability or - a platform. */ - static int + /* Handle program arguments. */ + static error_t + parse_opt (int key, char *arg, struct argp_state *state) diff --git a/elf/rtld.c b/elf/rtld.c -index 4b09e84b0d..56d93ff616 100644 +index 4f494b792e..d1c1252188 100644 --- a/elf/rtld.c +++ b/elf/rtld.c -@@ -193,6 +193,7 @@ dso_name_valid_for_suid (const char *p) +@@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p) } return *p != '\0'; } @@ -124,7 +123,7 @@ index 4b09e84b0d..56d93ff616 100644 static void audit_list_init (struct audit_list *list) diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c -index 077082af66..46b6152455 100644 +index 1063c31a2b..57fa832e52 100644 --- a/iconv/gconv_conf.c +++ b/iconv/gconv_conf.c @@ -35,7 +35,7 @@ @@ -137,7 +136,7 @@ index 077082af66..46b6152455 100644 /* Type to represent search path. */ struct path_elem diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h -index 964d50a486..94bf68ca9d 100644 +index 919e49ffc8..cd3f8ba94b 100644 --- a/sysdeps/generic/dl-cache.h +++ b/sysdeps/generic/dl-cache.h @@ -34,10 +34,6 @@ 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 493b2daad3..56eaaed4b7 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 a1fbd7ef1da02f334ff72c52cb11116164649067 Mon Sep 17 00:00:00 2001 +From 3a94365c730d174a3c30c6d9282e6ca12d9ad091 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 31 Dec 2015 14:35:35 -0800 Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86 @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sysdeps/x86/atomic-machine.h b/sysdeps/x86/atomic-machine.h -index 2692d94a92..9d39bfdbd5 100644 +index cfd395087b..28a937c468 100644 --- a/sysdeps/x86/atomic-machine.h +++ b/sysdeps/x86/atomic-machine.h -@@ -52,19 +52,14 @@ typedef uintmax_t uatomic_max_t; +@@ -26,19 +26,14 @@ #define LOCK_PREFIX "lock;" #define USE_ATOMIC_COMPILER_BUILTINS 1 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 b40d2bdef6..54c085a714 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 bf1603b3d73f64de777be00f7e55f2cfef596102 Mon Sep 17 00:00:00 2001 +From 296bdde0683aa55cdea0fd0cab05ff8fbc462b17 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Fri, 3 Aug 2018 09:55:12 -0700 Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales @@ -19,7 +19,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/locale/findlocale.c b/locale/findlocale.c -index 5986373edd..856ba9afc0 100644 +index 8d6e4e33e3..bfe74f241d 100644 --- a/locale/findlocale.c +++ b/locale/findlocale.c @@ -55,7 +55,7 @@ struct __locale_data *const _nl_C[] attribute_hidden = @@ -41,7 +41,7 @@ index 5986373edd..856ba9afc0 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 512769eaec..436619091b 100644 +index 452e3eb6e3..c7467aec42 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -42,7 +42,7 @@ @@ -54,10 +54,10 @@ index 512769eaec..436619091b 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 b3d4da0185..22f9dc1140 100644 +index ed698faef1..f7efc288a5 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h -@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item) +@@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item) } /* Default search path if no LOCPATH environment variable. */ @@ -67,7 +67,7 @@ index b3d4da0185..22f9dc1140 100644 /* Load the locale data for CATEGORY from the file specified by *NAME. If *NAME is "", use environment variables as specified by POSIX, and diff --git a/locale/programs/locale.c b/locale/programs/locale.c -index e9275d6b83..a9109155e5 100644 +index c7ee1874e8..8281e32236 100644 --- a/locale/programs/locale.c +++ b/locale/programs/locale.c @@ -631,6 +631,7 @@ nameentcmp (const void *a, const void *b) 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 a47dd5331a..096764009a 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 78b2e81940561069faf7698931a033784f794e40 Mon Sep 17 00:00:00 2001 +From 70da806febac8b2eead6ddc32451bbc1787a1d7d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Mar 2021 14:48:56 -0800 Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c -index 13160d3249..ee3ddc9b79 100644 +index 2fa57fd63d..4d0d5ff0c4 100644 --- a/sysdeps/unix/sysv/linux/faccessat.c +++ b/sysdeps/unix/sysv/linux/faccessat.c @@ -30,7 +30,11 @@ __faccessat (int fd, const char *file, int mode, int flag) 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 77644a2ee3..364e5cfde8 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 f6e96a95212bc1fef57b9594a7dddc0c20639873 Mon Sep 17 00:00:00 2001 +From 2192588942c5bc3b5fa10fc6d7433923f42e9ba0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure -index 4c1fac49f3..597314f476 100644 +index ca57edce47..5e91fab023 100644 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure -@@ -157,12 +157,12 @@ else +@@ -165,12 +165,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __AARCH64EB__ @@ -42,16 +42,16 @@ index 4c1fac49f3..597314f476 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 3347c13fa1..4af163c0b6 100644 +index 27874eceb4..8a708f2ef4 100644 --- a/sysdeps/aarch64/configure.ac +++ b/sysdeps/aarch64/configure.ac -@@ -17,8 +17,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) +@@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE) # the dynamic linker via %ifdef. AC_CACHE_CHECK([for big endian], [libc_cv_aarch64_be], @@ -63,10 +63,10 @@ index 3347c13fa1..4af163c0b6 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 431e843b2b..e152461138 100644 +index 35e2918922..94d7fbe8bb 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure -@@ -151,12 +151,12 @@ else +@@ -161,12 +161,12 @@ else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __ARM_PCS_VFP @@ -76,16 +76,16 @@ index 431e843b2b..e152461138 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 90cdd69c75..05a262ba00 100644 +index 5172e30bbe..f06dedd7c5 100644 --- a/sysdeps/arm/configure.ac +++ b/sysdeps/arm/configure.ac -@@ -15,8 +15,8 @@ AC_DEFINE(PI_STATIC_AND_HIDDEN) +@@ -10,8 +10,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # the dynamic linker via %ifdef. AC_CACHE_CHECK([whether the compiler is using the ARM hard-float ABI], [libc_cv_arm_pcs_vfp], @@ -97,10 +97,10 @@ index 90cdd69c75..05a262ba00 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 4e13248c03..f14af952d0 100644 +index 1e8c6711e6..ae52ccd929 100644 --- a/sysdeps/mips/configure +++ b/sysdeps/mips/configure -@@ -143,11 +143,11 @@ else +@@ -158,11 +158,11 @@ else $as_nop /* end confdefs.h. */ dnl #ifdef __mips_nan2008 @@ -109,17 +109,17 @@ index 4e13248c03..f14af952d0 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 bcbdaffd9f..ad3057f4cc 100644 +index d3cd780d78..250223d206 100644 --- a/sysdeps/mips/configure.ac +++ b/sysdeps/mips/configure.ac @@ -6,9 +6,9 @@ dnl position independent way. - dnl AC_DEFINE(PI_STATIC_AND_HIDDEN) + AC_DEFINE(HIDDEN_VAR_NEEDS_DYNAMIC_RELOC) AC_CACHE_CHECK([whether the compiler is using the 2008 NaN encoding], - libc_cv_mips_nan2008, [AC_EGREP_CPP(yes, [dnl @@ -131,10 +131,10 @@ index bcbdaffd9f..ad3057f4cc 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 14c8a3a014..dde3814ef2 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,13 +144,13 @@ index 14c8a3a014..dde3814ef2 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 f05f43802b..dc8639902d 100644 +index f738e9a7ed..4085851cbc 100644 --- a/sysdeps/nios2/configure.ac +++ b/sysdeps/nios2/configure.ac @@ -4,8 +4,8 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. @@ -165,10 +165,10 @@ index f05f43802b..dc8639902d 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 295fa315d8..d7f15c1cfa 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 d6300e80c7c010fa7ca33e36e826151558cec498 Mon Sep 17 00:00:00 2001 +From ce8b13bdf488058754fce573754cea0b022c37e2 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 9e00da894d..82a3292655 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 1c8044544d2cbdc529910a3ed6eba4b0ce7ae549 Mon Sep 17 00:00:00 2001 +From 65b79161b9e2848a174d3519a03348884f182975 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> create mode 100644 include/stubs-bootstrap.h diff --git a/Makefile b/Makefile -index a49870d3d1..81673d7645 100644 +index 7052b46df8..46073abaa8 100644 --- a/Makefile +++ b/Makefile @@ -79,9 +79,18 @@ subdir-dirs = include @@ -52,7 +52,7 @@ index a49870d3d1..81673d7645 100644 ifeq (yes,$(build-shared)) headers += gnu/lib-names.h endif -@@ -420,6 +429,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh +@@ -421,6 +430,16 @@ others: $(common-objpfx)testrun.sh $(common-objpfx)debugglibc.sh subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs) @@ -69,7 +69,7 @@ index a49870d3d1..81673d7645 100644 ifndef abi-variants installed-stubs = $(inst_includedir)/gnu/stubs.h else -@@ -446,6 +465,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) +@@ -447,6 +466,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force) install-others-nosubdir: $(installed-stubs) endif 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 03c81bfbd7..e726a9e76f 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 e5999ffd1b8690c2902a6406c07f51023a6bf7ec Mon Sep 17 00:00:00 2001 +From 07a5fa22a9a8bbd43982c1b35132f8c2d5276bfe Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 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 { @@ -33,7 +33,7 @@ index 9c734ff755..974e33b4b1 100644 # a* alphasort64; diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S -index a18fbb2e8b..59421bfbb0 100644 +index d5d8c5e033..f356d02077 100644 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S @@ -30,3 +30,14 @@ ENTRY (__syscall_error) 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 48bb062e09..f36b7f6f4c 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 99ae3189430eaa5472b2117e5a999109a6ca9251 Mon Sep 17 00:00:00 2001 +From 33e9867758e830e19d181d5a0aa7f2f3cc4a08b3 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 01:33:49 +0000 Subject: [PATCH] eglibc: Forward port cross locale generation support @@ -7,7 +7,7 @@ Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - locale/Makefile | 3 +- + locale/Makefile | 1 + locale/catnames.c | 46 +++++++++++++++++++++++++++ locale/localeinfo.h | 2 +- locale/programs/charmap-dir.c | 6 ++++ @@ -19,23 +19,21 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> locale/programs/locfile.c | 5 ++- locale/programs/locfile.h | 59 +++++++++++++++++++++++++++++++++-- locale/setlocale.c | 29 ----------------- - 12 files changed, 167 insertions(+), 68 deletions(-) + 12 files changed, 166 insertions(+), 67 deletions(-) create mode 100644 locale/catnames.c diff --git a/locale/Makefile b/locale/Makefile -index b7c60681fa..07c606cde3 100644 +index 2810f28605..05f847f9a6 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \ - bits/types/locale_t.h bits/types/__locale_t.h - routines = setlocale findlocale loadlocale loadarchive \ - localeconv nl_langinfo nl_langinfo_l mb_cur_max \ -- newlocale duplocale freelocale uselocale -+ newlocale duplocale freelocale uselocale \ -+ catnames - tests = tst-C-locale tst-locname tst-duplocale - tests-container = tst-localedef-path-norm - categories = ctype messages monetary numeric time paper name \ +@@ -30,6 +30,7 @@ headers = \ + locale.h \ + # headers + routines = \ ++ catnames \ + duplocale \ + findlocale \ + freelocale \ diff --git a/locale/catnames.c b/locale/catnames.c new file mode 100644 index 0000000000..538f3f5edb @@ -89,10 +87,10 @@ index 0000000000..538f3f5edb + [LC_ALL] = sizeof ("LC_ALL") - 1 + }; diff --git a/locale/localeinfo.h b/locale/localeinfo.h -index 22f9dc1140..fa31b3c5ea 100644 +index f7efc288a5..6ef082eb25 100644 --- a/locale/localeinfo.h +++ b/locale/localeinfo.h -@@ -230,7 +230,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) +@@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE) unused. We can manage this playing some tricks with weak references. But with thread-local locale settings, it becomes quite ungainly unless we can use __thread variables. So only in that case do we attempt this. */ @@ -102,7 +100,7 @@ index 22f9dc1140..fa31b3c5ea 100644 # define NL_CURRENT_INDIRECT 1 #endif diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c -index 4841bfd05d..ffcba1fd79 100644 +index 36504f238d..56ee97e61b 100644 --- a/locale/programs/charmap-dir.c +++ b/locale/programs/charmap-dir.c @@ -18,7 +18,9 @@ @@ -148,7 +146,7 @@ index 4841bfd05d..ffcba1fd79 100644 return NULL; } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c -index 06a5203334..84b3ff4166 100644 +index 5048adbd9f..4232834ead 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -352,7 +352,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen, @@ -160,7 +158,7 @@ index 06a5203334..84b3ff4166 100644 uint32_t zero = 0; /* Handle <U0000> as a single character. */ if (nwcs == 0) -@@ -1783,8 +1783,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); +@@ -1776,8 +1776,7 @@ symbol `%s' has the same encoding as"), (*eptr)->name); if ((*eptr)->nwcs == runp->nwcs) { @@ -170,7 +168,7 @@ index 06a5203334..84b3ff4166 100644 if (c == 0) { -@@ -2011,9 +2010,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) +@@ -2004,9 +2003,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) one consecutive entry. */ if (runp->wcnext != NULL && runp->nwcs == runp->wcnext->nwcs @@ -183,7 +181,7 @@ index 06a5203334..84b3ff4166 100644 && (runp->wcs[runp->nwcs - 1] == runp->wcnext->wcs[runp->nwcs - 1] + 1)) { -@@ -2037,9 +2036,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) +@@ -2030,9 +2029,9 @@ add_to_tablewc (uint32_t ch, struct element_t *runp) runp = runp->wcnext; while (runp->wcnext != NULL && runp->nwcs == runp->wcnext->nwcs @@ -197,7 +195,7 @@ index 06a5203334..84b3ff4166 100644 == runp->wcnext->wcs[runp->nwcs - 1] + 1)); diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c -index 07b64ac5a1..70b49ab733 100644 +index eb6e7e145c..14736d1cac 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -914,7 +914,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap, @@ -229,7 +227,7 @@ index 07b64ac5a1..70b49ab733 100644 handle_digits = 1; goto read_charclass; -@@ -3903,8 +3903,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3876,8 +3876,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, while (idx < number) { @@ -239,7 +237,7 @@ index 07b64ac5a1..70b49ab733 100644 if (res == 0) { replace = 1; -@@ -3941,11 +3940,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3914,11 +3913,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, for (size_t cnt = 0; cnt < number; ++cnt) { struct translit_to_t *srunp; @@ -253,7 +251,7 @@ index 07b64ac5a1..70b49ab733 100644 srunp = srunp->next; } /* Plus one for the extra NUL character marking the end of -@@ -3969,18 +3968,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, +@@ -3942,18 +3941,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap, ctype->translit_from_idx[cnt] = from_len; ctype->translit_to_idx[cnt] = to_len; @@ -279,7 +277,7 @@ index 07b64ac5a1..70b49ab733 100644 srunp = srunp->next; } diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c -index e6f320d2b3..c6631ad101 100644 +index 1abff3cf53..8a2f2b820a 100644 --- a/locale/programs/ld-time.c +++ b/locale/programs/ld-time.c @@ -219,8 +219,10 @@ No definition for %s category found"), "LC_TIME"); @@ -348,20 +346,20 @@ index e6f320d2b3..c6631ad101 100644 diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c -index a1f22b28ed..cbd3b40ceb 100644 +index 61373d2657..7ec5726377 100644 --- a/locale/programs/linereader.c +++ b/locale/programs/linereader.c -@@ -594,7 +594,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, +@@ -776,7 +776,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap, { int return_widestr = lr->return_widestr; - char *buf; + struct lr_buffer lrb; - wchar_t *buf2 = NULL; + uint32_t *buf2 = NULL; - size_t bufact; - size_t bufmax = 56; + + lr_buffer_init (&lrb); diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c -index f0da25e9e5..5d9e01cda2 100644 +index 907bb5fb25..3106529043 100644 --- a/locale/programs/localedef.c +++ b/locale/programs/localedef.c @@ -108,6 +108,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; @@ -407,7 +405,7 @@ index f0da25e9e5..5d9e01cda2 100644 force_output = 1; break; diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c -index 1427b518a9..dafa84a20b 100644 +index 6c6ebf2dd6..cc02ab82bf 100644 --- a/locale/programs/locfile.c +++ b/locale/programs/locfile.c @@ -543,6 +543,9 @@ compare_files (const char *filename1, const char *filename2, size_t size, @@ -430,7 +428,7 @@ index 1427b518a9..dafa84a20b 100644 /* Record that FILE's next element is the 32-bit integer VALUE. */ diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h -index cbc20fe88d..ae88e6d0af 100644 +index 3afb0a8d29..46785374e8 100644 --- a/locale/programs/locfile.h +++ b/locale/programs/locfile.h @@ -70,6 +70,8 @@ extern void write_all_categories (struct localedef_t *definitions, @@ -519,7 +517,7 @@ index cbc20fe88d..ae88e6d0af 100644 + #endif /* locfile.h */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index 19ed85ae8e..f28ca11446 100644 +index 7bd27e5398..2f194bad7c 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 eae1ee8907..daeff7b065 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 32c2e23ad29f63f57f544daf1a59259147cd1008 Mon Sep 17 00:00:00 2001 +From f4b1d6429298c0f8a2aa29ff559eb2093ea0188f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c -index 477499bd40..fe7b5ff60c 100644 +index 8d79a1b6d1..6dc7ecd4e7 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/0019-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 4313c6860f..8dd1f0a656 100644 --- a/meta/recipes-core/glibc/glibc/0019-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 eb44466ec976d800bb697b10775efa28f22ec216 Mon Sep 17 00:00:00 2001 +From 2d064c0c1243ea0bf405909285d7cddca92cf097 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> 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 <raj.khem@gmail.com> 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-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch deleted file mode 100644 index 4e51036ce5..0000000000 --- a/meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch +++ /dev/null @@ -1,53 +0,0 @@ -From c59bc6eb421ad3310c43951a11d2561bbf34e95e Mon Sep 17 00:00:00 2001 -From: Martin Jansa <martin.jansa@gmail.com> -Date: Mon, 17 Dec 2018 21:36:18 +0000 -Subject: [PATCH] locale: prevent maybe-uninitialized errors with -Os [BZ - #19444] - -Fixes following error when building for aarch64 with -Os: -| In file included from strcoll_l.c:43: -| strcoll_l.c: In function '__strcoll_l': -| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| int_fast32_t i = table[*(*cpp)++]; -| ^~~~~~~~~ -| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here -| coll_seq seq1, seq2; -| ^~~~ -| In file included from strcoll_l.c:43: -| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized] -| int_fast32_t i = table[*(*cpp)++]; -| ^~~~~~~~~ -| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here -| coll_seq seq1, seq2; -| ^~~~ - - Partial fix for [BZ #19444] - * locale/weight.h: Fix build with -Os. - -Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - locale/weight.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/locale/weight.h b/locale/weight.h -index 076529c0ba..2ac83657f7 100644 ---- a/locale/weight.h -+++ b/locale/weight.h -@@ -27,7 +27,14 @@ findidx (const int32_t *table, - const unsigned char *extra, - const unsigned char **cpp, size_t len) - { -+ /* With GCC 8 when compiling with -Os the compiler warns that -+ seq1.back_us and seq2.back_us might be used uninitialized. -+ This uninitialized use is impossible for the same reason -+ as described in comments in locale/weightwc.h. */ -+ DIAG_PUSH_NEEDS_COMMENT; -+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); - int_fast32_t i = table[*(*cpp)++]; -+ DIAG_POP_NEEDS_COMMENT; - const unsigned char *cp; - const unsigned char *usrc; - 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 new file mode 100644 index 0000000000..066c3b1ea2 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch @@ -0,0 +1,49 @@ +From b1c374f7ede81a98f2d02def2c7ca17f1001f7cb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 15 May 2020 17:05:45 -0700 +Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64 + +This helps OE multilibs to not sythesize this header which causes all +kind of recursions and other issues since wordsize is fundamental header +and ends up including itself in many case e.g. clang tidy, bpf etc. + +Upstream-Status: Inappropriate [ OE-Specific ] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + 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 118e59172d..b4b0692eb5 100644 +--- a/sysdeps/aarch64/bits/wordsize.h ++++ b/sysdeps/aarch64/bits/wordsize.h +@@ -17,12 +17,16 @@ + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +-#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 +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 +@@ -0,0 +1 @@ ++../../aarch64/bits/wordsize.h +\ No newline at end of file diff --git a/meta/recipes-core/glibc/glibc/0021-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 42c498bbc8..d8c0b1b4ad 100644 --- a/meta/recipes-core/glibc/glibc/0021-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 77fbd98f551d5b2cd338aa7f524e5ed980edb65e Mon Sep 17 00:00:00 2001 +From 0aac3b8ee5b13e289b6969da51de384443286a5b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 31 Dec 2015 14:33:02 -0800 Subject: [PATCH] Replace echo with printf builtin in nscd init script @@ -8,7 +8,7 @@ since it uses bash specific extentions namely (translated strings) and echo -n command, replace echo with printf and switch the shell interpreter to #!/bin/sh. -Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209203557.1318333-1-raj.khem@gmail.com/] +Upstream-Status: Pending Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- diff --git a/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch deleted file mode 100644 index 77a2bab87d..0000000000 --- a/meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9f4fcec5662bfa6f8aa6a36dda6f4c05f6e30e51 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 18 Mar 2015 00:11:22 +0000 -Subject: [PATCH] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known names - -This bolts in a hook for OE to pass its own version of interpreter -names into glibc especially for multilib case, where it differs from any -other distros - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - elf/readlib.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/elf/readlib.c b/elf/readlib.c -index 64b20d7804..50318158fb 100644 ---- a/elf/readlib.c -+++ b/elf/readlib.c -@@ -49,6 +49,7 @@ static struct known_names interpreters[] = - #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES - SYSDEP_KNOWN_INTERPRETER_NAMES - #endif -+ OECORE_KNOWN_INTERPRETER_NAMES - }; - - static struct known_names known_libs[] = diff --git a/meta/recipes-core/glibc/glibc/0022-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 5ac9d6d3a1..c81f82f433 100644 --- a/meta/recipes-core/glibc/glibc/0022-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,11 +1,12 @@ -From 5d1384d86fc44404ca32c6fda2d46ec357337c91 Mon Sep 17 00:00:00 2001 +From 7a25d4796411f22f824742092a4c2a08df99752d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 18 Mar 2015 00:27:10 +0000 -Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its empty +Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its + empty This ensures that it can be set in build environment -Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209203557.1318333-2-raj.khem@gmail.com/] +Upstream-Status: Pending Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> --- @@ -14,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 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 @@ -25,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/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch deleted file mode 100644 index 3b2d638b5f..0000000000 --- a/meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 4d6bce6b106d9d9a629aadba74d74cd8a500ccbf Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 15 May 2020 17:05:45 -0700 -Subject: [PATCH 18/24] wordsize.h: Unify the header between arm and aarch64 - -This helps OE multilibs to not sythesize this header which causes all -kind of recursions and other issues since wordsize is fundamental header -and ends up including itself in many case e.g. clang tidy, bpf etc. - -Upstream-Status: Inappropriate [ OE-Specific ] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- - sysdeps/{aarch64 => arm}/bits/wordsize.h | 10 +++++++--- - 2 files changed, 13 insertions(+), 5 deletions(-) - copy sysdeps/{aarch64 => arm}/bits/wordsize.h (80%) - -diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h -index 4635431f0e..5ef0ed21f3 100644 ---- a/sysdeps/aarch64/bits/wordsize.h -+++ b/sysdeps/aarch64/bits/wordsize.h -@@ -17,12 +17,16 @@ - License along with the GNU C Library; if not, see - <https://www.gnu.org/licenses/>. */ - --#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 -diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h -similarity index 80% -copy from sysdeps/aarch64/bits/wordsize.h -copy to sysdeps/arm/bits/wordsize.h -index 4635431f0e..34fcdef1f1 100644 ---- a/sysdeps/aarch64/bits/wordsize.h -+++ b/sysdeps/arm/bits/wordsize.h -@@ -17,12 +17,16 @@ - License along with the GNU C Library; if not, see - <https://www.gnu.org/licenses/>. */ - --#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 --- -2.34.1 - diff --git a/meta/recipes-core/glibc/glibc/0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch index e5e6ceba60..d724c3e968 100644 --- a/meta/recipes-core/glibc/glibc/0023-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 c0f251c58655e3377fe1c67a026c21ef68d2abcf Mon Sep 17 00:00:00 2001 +From 6aa1b835d95482287851e02abd3a406cbd0ef8c7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 9 Dec 2021 15:14:42 -0800 Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh @@ -6,7 +6,7 @@ Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh define new macro called KSHELL which can be used to define default shell use Bash by default -Upstream-Status: Submitted [https://patchwork.sourceware.org/project/glibc/patch/20211209234015.1554552-1-raj.khem@gmail.com/] +Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Makeconfig | 9 +++++++++ @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 10 insertions(+) diff --git a/Makeconfig b/Makeconfig -index 775bf12b65..7b9a8f0a94 100644 +index 85e00cef94..643724108a 100644 --- a/Makeconfig +++ b/Makeconfig -@@ -293,6 +293,15 @@ ifndef sysincludedir +@@ -309,6 +309,15 @@ ifndef sysincludedir sysincludedir = /usr/include endif @@ -34,10 +34,10 @@ index 775bf12b65..7b9a8f0a94 100644 # Commands to install files. ifndef INSTALL_DATA diff --git a/timezone/Makefile b/timezone/Makefile -index c624a189b3..dc8f5277de 100644 +index d7acb387ba..ec79326f66 100644 --- a/timezone/Makefile +++ b/timezone/Makefile -@@ -127,6 +127,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make +@@ -136,6 +136,7 @@ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \ -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \ -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \ 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 new file mode 100644 index 0000000000..08c60a271b --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch @@ -0,0 +1,27 @@ +From ef47e6199986c4951e681ed74f064042db1ae2e1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 15 Dec 2021 21:47:53 -0800 +Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter + +checkbashism reports no issues with tzselect.ksh, therefore using +/bin/sh instead of /bin/bash should be safe and portable across systems +which don't ship bash ( embedded systems ) + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Cc: Paul Eggert <eggert@cs.ucla.edu> +--- + timezone/tzselect.ksh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh +index 18fce27e24..cc08efb0fb 100755 +--- a/timezone/tzselect.ksh ++++ b/timezone/tzselect.ksh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # Ask the user about the time zone, and output the resulting TZ value to stdout. + # Interact with the user via stderr and stdin. + diff --git a/meta/recipes-core/glibc/glibc/0024-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 b431ea168d..d57dce125c 100644 --- a/meta/recipes-core/glibc/glibc/0024-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 6609858239b8f94e12c19eac0cec425511d1211f Mon Sep 17 00:00:00 2001 +From 7254706544be5100843fc0a332e836fccffc9ef1 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Sun, 29 Aug 2021 20:49:16 +0800 Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287] @@ -66,23 +66,21 @@ patch [2] https://sourceware.org/pipermail/libc-alpha/2021-August/130590.html Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> --- sysdeps/unix/sysv/linux/clone-internal.c | 2 +- 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 a71effcbd3..a0569113aa 100644 +index 40ef30303f..f97b1f6900 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. */ +@@ -98,7 +98,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; /* NB: Restore errno since errno may be checked against non-zero --- -2.27.0 - diff --git a/meta/recipes-core/glibc/glibc/reproducible-paths.patch b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch index 0754dca62b..b527ddffc8 100644 --- a/meta/recipes-core/glibc/glibc/reproducible-paths.patch +++ b/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch @@ -1,14 +1,23 @@ -Avoid hardcoded build time paths in the output binaries by replacing the compile -definitions with the output locations. +From d39779afc72d34f87f052097592008cc38e20615 Mon Sep 17 00:00:00 2001 +From: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Sun, 24 Jul 2022 07:07:29 -0700 +Subject: [PATCH] Avoid hardcoded build time paths in the output binaries + +replace the compile definitions with the output locations. Upstream-Status: Inappropriate [would need reworking somehow to be acceptable upstream] + Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + support/Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) -Index: git/support/Makefile -=================================================================== ---- git.orig/support/Makefile -+++ git/support/Makefile -@@ -216,9 +216,9 @@ libsupport-inhibit-o += .o +diff --git a/support/Makefile b/support/Makefile +index 362a51f882..56d2b37058 100644 +--- a/support/Makefile ++++ b/support/Makefile +@@ -228,9 +228,9 @@ libsupport-inhibit-o += .o endif CFLAGS-support_paths.c = \ diff --git a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch new file mode 100644 index 0000000000..f6523c5498 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch @@ -0,0 +1,62 @@ +From 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82 Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy <szabolcs.nagy@arm.com> +Date: Wed, 13 Mar 2024 14:34:14 +0000 +Subject: [PATCH] aarch64: fix check for SVE support in assembler + +Due to GCC bug 110901 -mcpu can override -march setting when compiling +asm code and thus a compiler targetting a specific cpu can fail the +configure check even when binutils gas supports SVE. + +The workaround is that explicit .arch directive overrides both -mcpu +and -march, and since that's what the actual SVE memcpy uses the +configure check should use that too even if the GCC issue is fixed +independently. + +Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=73c26018ed0ecd9c807bb363cc2c2ab4aca66a82] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Reviewed-by: Florian Weimer <fweimer@redhat.com> +--- + sysdeps/aarch64/configure | 5 +++-- + sysdeps/aarch64/configure.ac | 5 +++-- + 2 files changed, 6 insertions(+), 4 deletions(-) + mode change 100644 => 100755 sysdeps/aarch64/configure + +diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure +old mode 100644 +new mode 100755 +index ca57edce47..9606137e8d +--- a/sysdeps/aarch64/configure ++++ b/sysdeps/aarch64/configure +@@ -325,9 +325,10 @@ then : + printf %s "(cached) " >&6 + else $as_nop + cat > conftest.s <<\EOF +- ptrue p0.b ++ .arch armv8.2-a+sve ++ ptrue p0.b + EOF +-if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5' ++if { ac_try='${CC-cc} -c conftest.s 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac +index 27874eceb4..56d12d661d 100644 +--- a/sysdeps/aarch64/configure.ac ++++ b/sysdeps/aarch64/configure.ac +@@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs]) + # Check if asm support armv8.2-a+sve + AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl + cat > conftest.s <<\EOF +- ptrue p0.b ++ .arch armv8.2-a+sve ++ ptrue p0.b + EOF +-if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then ++if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_aarch64_sve_asm=yes + else + libc_cv_aarch64_sve_asm=no +-- +2.44.0 + diff --git a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch b/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch new file mode 100644 index 0000000000..c0a467fcec --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch @@ -0,0 +1,45 @@ +glibc: Skip 2 qemu tests that can hang in oe-selftest + +qemumips and qemuppc were leaving stale processes behind after +running glibc oe-selftest. During analysis, it was found that +it was due to "tst-scm_rights" and "tst-scm_rights-time64" tests. +Disable them so that there are no stale processes left behind. + +[YOCTO #15423] +https://bugzilla.yoctoproject.org/show_bug.cgi?id=15423 + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> +--- +diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile +--- a/sysdeps/unix/sysv/linux/Makefile 2024-03-18 01:15:49.019202881 -0700 ++++ b/sysdeps/unix/sysv/linux/Makefile 2024-03-14 06:26:18.581404107 -0700 +@@ -222,7 +222,6 @@ + tst-process_mrelease \ + tst-quota \ + tst-rlimit-infinity \ +- tst-scm_rights \ + tst-sigtimedwait \ + tst-sync_file_range \ + tst-sysconf-iov_max \ +@@ -233,6 +232,8 @@ + tst-timerfd \ + tst-ttyname-direct \ + tst-ttyname-namespace \ ++ # Skip this test to avoid stale qemu process ++ # tst-scm_rights \ + # tests + + # process_madvise requires CAP_SYS_ADMIN. +@@ -270,9 +271,10 @@ + tst-ntp_gettimex-time64 \ + tst-ppoll-time64 \ + tst-prctl-time64 \ +- tst-scm_rights-time64 \ + tst-sigtimedwait-time64 \ + tst-timerfd-time64 \ ++ # Skip this test to avoid stale qemu process ++ # tst-scm_rights-time64 \ + # tests-time64 + + tests-clone-internal = \ diff --git a/meta/recipes-core/glibc/glibc/check-test-wrapper b/meta/recipes-core/glibc/glibc/check-test-wrapper index 6ec9b9b29e..5cc993f718 100644 --- a/meta/recipes-core/glibc/glibc/check-test-wrapper +++ b/meta/recipes-core/glibc/glibc/check-test-wrapper @@ -58,7 +58,7 @@ elif targettype == "ssh": user = os.environ.get("SSH_HOST_USER", None) port = os.environ.get("SSH_HOST_PORT", None) - command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no"] + command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no", "-o", "LogLevel=quiet"] if port: command += ["-p", str(port)] if not host: diff --git a/meta/recipes-core/glibc/glibc/run-ptest b/meta/recipes-core/glibc/glibc/run-ptest index f637986105..cb71c75682 100755 --- a/meta/recipes-core/glibc/glibc/run-ptest +++ b/meta/recipes-core/glibc/glibc/run-ptest @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # ptest script for glibc - to run time related tests to # facilitate Y2038 validation # Run with 'ptest-runner glibc-tests' @@ -22,12 +22,12 @@ tst_time64=$(ls -r ${PWD}/tests/glibc-ptest/*-time64) # related tst_time_tmp=$(sed -e "s/-time64$//" <<< ${tst_time64}) -# Run tests supporting only 32 bit time -for i in ${tst_time_tmp} -do - $i >/dev/null 2>&1 - output -done +# Do not run tests supporting only 32 bit time +#for i in ${tst_time_tmp} +#do +# $i >/dev/null 2>&1 +# output +#done # Run tests supporting only 64 bit time for i in ${tst_time64} diff --git a/meta/recipes-core/glibc/glibc_2.35.bb b/meta/recipes-core/glibc/glibc_2.39.bb index df847e76bf..9122472689 100644 --- a/meta/recipes-core/glibc/glibc_2.35.bb +++ b/meta/recipes-core/glibc/glibc_2.39.bb @@ -1,20 +1,20 @@ require glibc.inc require glibc-version.inc -CVE_CHECK_IGNORE += "CVE-2020-10029 CVE-2021-27645" - # 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 -# 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." -CVE_CHECK_IGNORE += "CVE-2019-1010022 CVE-2019-1010023 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 -# 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." # Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 -CVE_CHECK_IGNORE += "CVE-2019-1010025" +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.'" DEPENDS += "gperf-native bison-native" @@ -40,17 +40,17 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ 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://0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \ - file://0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ - file://0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ - file://0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ - file://0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch \ - file://0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \ - file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \ - file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ - \ - file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.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 \ + file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \ + file://0024-qemu-stale-process.patch \ +" S = "${WORKDIR}/git" B = "${WORKDIR}/build-${TARGET_SYS}" @@ -70,21 +70,22 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --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 \ + --enable-fortify-source \ ${@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" @@ -103,10 +104,12 @@ do_configure () { # 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="" oe_runconf + 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" diff --git a/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig-handle-.dynstr-located-in-separate-segment.patch b/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig-handle-.dynstr-located-in-separate-segment.patch new file mode 100644 index 0000000000..36f04adfde --- /dev/null +++ b/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig-handle-.dynstr-located-in-separate-segment.patch @@ -0,0 +1,178 @@ +From 864054a6cb971688a181316b8227ae0361b4d69e Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@suse.de> +Date: Wed, 9 Oct 2019 17:46:47 +0200 +Subject: [PATCH] ldconfig: handle .dynstr located in separate segment (bug + 25087) + +To determine the load offset of the DT_STRTAB section search for the +segment containing it, instead of using the load offset of the first +segment. + +Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=58e8f5fd2ba47b6dc47fd4d0a35e4175c7c87aaa] + +Backported: ported to support endianness and 32/64 bits. +Signed-off-by: Fabien Mahot <fabien.mahot@external.desouttertools.com> +--- + readelflib.c | 86 +++++++++++++++++++++++++++++++--------------------- + 1 file changed, 52 insertions(+), 34 deletions(-) + +diff --git a/readelflib.c b/readelflib.c +index a01e1cede3..380aed563d 100644 +--- a/readelflib.c ++++ b/readelflib.c +@@ -80,7 +80,6 @@ process_elf_file32 (const char *file_name, const char *lib, int *flag, + { + int i; + unsigned int j; +- Elf32_Addr loadaddr; + unsigned int dynamic_addr; + size_t dynamic_size; + char *program_interpreter; +@@ -110,7 +109,6 @@ process_elf_file32 (const char *file_name, const char *lib, int *flag, + libc5/libc6. */ + *flag = FLAG_ELF; + +- loadaddr = -1; + dynamic_addr = 0; + dynamic_size = 0; + program_interpreter = NULL; +@@ -121,11 +119,6 @@ process_elf_file32 (const char *file_name, const char *lib, int *flag, + + switch (read32(segment->p_type, be)) + { +- case PT_LOAD: +- if (loadaddr == (Elf32_Addr) -1) +- loadaddr = read32(segment->p_vaddr, be) - read32(segment->p_offset, be); +- break; +- + case PT_DYNAMIC: + if (dynamic_addr) + error (0, 0, _("more than one dynamic segment\n")); +@@ -188,11 +181,6 @@ process_elf_file32 (const char *file_name, const char *lib, int *flag, + } + + } +- if (loadaddr == (Elf32_Addr) -1) +- { +- /* Very strange. */ +- loadaddr = 0; +- } + + /* Now we can read the dynamic sections. */ + if (dynamic_size == 0) +@@ -208,11 +196,32 @@ process_elf_file32 (const char *file_name, const char *lib, int *flag, + { + check_ptr (dyn_entry); + if (read32(dyn_entry->d_tag, be) == DT_STRTAB) +- { +- dynamic_strings = (char *) (file_contents + read32(dyn_entry->d_un.d_val, be) - loadaddr); +- check_ptr (dynamic_strings); +- break; +- } ++ { ++ /* Find the file offset of the segment containing the dynamic ++ string table. */ ++ Elf32_Off loadoff = -1; ++ for (i = 0, segment = elf_pheader; ++ i < read16(elf_header->e_phnum, be); i++, segment++) ++ { ++ if (read32(segment->p_type, be) == PT_LOAD ++ && read32(dyn_entry->d_un.d_val, be) >= read32(segment->p_vaddr, be) ++ && (read32(dyn_entry->d_un.d_val, be) - read32(segment->p_vaddr, be) ++ < read32(segment->p_filesz, be))) ++ { ++ loadoff = read32(segment->p_vaddr, be) - read32(segment->p_offset, be); ++ break; ++ } ++ } ++ if (loadoff == (Elf32_Off) -1) ++ { ++ /* Very strange. */ ++ loadoff = 0; ++ } ++ ++ dynamic_strings = (char *) (file_contents + read32(dyn_entry->d_un.d_val, be) - loadoff); ++ check_ptr (dynamic_strings); ++ break; ++ } + } + + if (dynamic_strings == NULL) +@@ -269,7 +278,6 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag, + { + int i; + unsigned int j; +- Elf64_Addr loadaddr; + Elf64_Addr dynamic_addr; + Elf64_Xword dynamic_size; + char *program_interpreter; +@@ -347,7 +355,6 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag, + break; + } + +- loadaddr = -1; + dynamic_addr = 0; + dynamic_size = 0; + program_interpreter = NULL; +@@ -358,11 +365,6 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag, + + switch (read32(segment->p_type, be)) + { +- case PT_LOAD: +- if (loadaddr == (Elf64_Addr) -1) +- loadaddr = read64(segment->p_vaddr, be) - read64(segment->p_offset, be); +- break; +- + case PT_DYNAMIC: + if (dynamic_addr) + error (0, 0, _("more than one dynamic segment\n")); +@@ -426,11 +428,6 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag, + } + + } +- if (loadaddr == (Elf64_Addr) -1) +- { +- /* Very strange. */ +- loadaddr = 0; +- } + + /* Now we can read the dynamic sections. */ + if (dynamic_size == 0) +@@ -446,11 +443,32 @@ process_elf_file64 (const char *file_name, const char *lib, int *flag, + { + check_ptr (dyn_entry); + if (read64(dyn_entry->d_tag, be) == DT_STRTAB) +- { +- dynamic_strings = (char *) (file_contents + read64(dyn_entry->d_un.d_val, be) - loadaddr); +- check_ptr (dynamic_strings); +- break; +- } ++ { ++ /* Find the file offset of the segment containing the dynamic ++ string table. */ ++ Elf64_Off loadoff = -1; ++ for (i = 0, segment = elf_pheader; ++ i < read16(elf_header->e_phnum, be); i++, segment++) ++ { ++ if (read64(segment->p_type, be) == PT_LOAD ++ && read64(dyn_entry->d_un.d_val, be) >= read64(segment->p_vaddr, be) ++ && (read64(dyn_entry->d_un.d_val, be) - read64(segment->p_vaddr, be) ++ < read64(segment->p_filesz, be))) ++ { ++ loadoff = read64(segment->p_vaddr, be) - read64(segment->p_offset, be); ++ break; ++ } ++ } ++ if (loadoff == (Elf32_Off) -1) ++ { ++ /* Very strange. */ ++ loadoff = 0; ++ } ++ ++ dynamic_strings = (char *) (file_contents + read64(dyn_entry->d_un.d_val, be) - loadoff); ++ check_ptr (dynamic_strings); ++ break; ++ } + } + + if (dynamic_strings == NULL) diff --git a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb index e867ceb3ec..9ca95d1e52 100644 --- a/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb +++ b/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb @@ -16,9 +16,9 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \ file://add-64-bit-flag-for-ELF64-entries.patch \ file://no-aux-cache.patch \ file://add-riscv-support.patch \ + file://ldconfig-handle-.dynstr-located-in-separate-segment.patch \ " -PR = "r2" FILESEXTRAPATHS =. "${FILE_DIRNAME}/${P}:" |