summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc
AgeCommit message (Collapse)Author
2022-02-25glibc: fix multilib headers conflict for armYi Zhao
Fixes: Error: Transaction test error: file /usr/include/bits/dl_find_object.h conflicts between attempted installs of lib32-libc6-dev-2.35-r0.armv7vet2hf_vfp and libc6-dev-2.35-r0.cortexa57 file /usr/include/bits/rseq.h conflicts between attempted installs of lib32-libc6-dev-2.35-r0.armv7vet2hf_vfp and libc6-dev-2.35-r0.cortexa57 file /usr/include/bits/timesize.h conflicts between attempted installs of lib32-libc6-dev-2.35-r0.armv7vet2hf_vfp and libc6-dev-2.35-r0.cortexa57 Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-25glibc: unify wordsize.h between arm and aarch64Yi Zhao
Make sure this header file is same in arm and aarch64. Fix the conflict error when enable multilib: Error: Transaction test error: file /usr/include/bits/wordsize.h conflicts between attempted installs of lib32-libc6-dev-2.35-r0.armv7vet2hf_vfp and libc6-dev-2.35-r0.cortexa57 Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21meta/scripts: Automated conversion of OE renamed variablesRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX ↵Richard Purdie
license identifiers An automated conversion using scripts/contrib/convert-spdx-licenses.py to convert to use the standard SPDX license identifiers. Two recipes in meta-selftest were not converted as they're that way specifically for testing. A change in linux-firmware was also skipped and may need a more manual tweak. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-18glibc: fix create thread failed in unprivileged processHongxu Jia
Since upstream commit [d8ea0d0168 Add an internal wrapper for clone, clone2 and clone3] applied, start a unprivileged container (docker run without --privileged), it creates a thread failed in container. In commit d8ea0d0168, it calls __clone3 if HAVE_CLONE3_WAPPER is defined. If __clone3 returns -1 with ENOSYS, fall back to clone or clone2. As known from [1], cloneXXX fails with EPERM if CLONE_NEWCGROUP, CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWNS, CLONE_NEWPID, or CLONE_NEWUTS was specified by an unprivileged process (process without CAP_SYS_ADMIN) [1] https://man7.org/linux/man-pages/man2/clone3.2.html So if __clone3 returns -1 with EPERM, fall back to clone or clone2 could fix the issue. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-10meta: Remove libsegfault and catchsegvKhem Raj
Glibc has dropped them starting with 2.35 see [1] [1] https://sourceware.org/git/?p=glibc.git;a=commit;h=65ccd641bacea33be23d51da737c2de7543d0f5e Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-10glibc: Upgrade to 2.35Richard Purdie
Package /usr/bin/ld.so in a separate package ld.so is a new tool which is added as a symlink to original dynamic linker so make it available with same name across architectures which is useful to leveral features like --preload, --audit, and --list-diagnostics more accessible to end users Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-05glibc: Drop prelink patchRichard Purdie
With the removal of prelink, we no longer need the glibc patch for it either. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-03glibc-tests: Correct PACKAGE_DEBUG_SPLIT_STYLEPeter Kjellerstedt
It was set to "debug", but the officially supported value is ".debug". Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-26glibc : Fix CVE-2021-3999Pgowda
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=8c8a71c85f2ed5cc90d08d82ce645513fc907cb6] Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=472e799a5f2102bc0c3206dbd5a801765fceb39c] Signed-off-by: pgowda <pgowda.cve@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-26glibc : Fix CVE-2021-3998Pgowda
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=062ff490c1467059f6cd64bb9c3d85f6cc6cf97a] Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=f7a79879c0b2bef0dadd6caaaeeb0d26423e04e5] Signed-off-by: pgowda <pgowda.cve@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20glibc : Fix CVE-2022-23219Sundeep KOKKONDA
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=226b46770c82899b555986583294b049c6ec9b40] Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=ef972a4c50014a16132b5c75571cfb6b30bef136] Signed-off-by: pgowda <pgowda.cve@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20glibc : Fix CVE-2022-23218Sundeep KOKKONDA
Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=e368b12f6c16b6888dda99ba641e999b9c9643c8] Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=f545ad4928fa1f27a3075265182b38a4f939a5f7] Signed-off-by: pgowda <pgowda.cve@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-12glibc: Redo tzselect bash dependency problemKhem Raj
New patch adds a knob to select needed shell interpreter for tzselect script, which then we excercise via EXTRA_OEMAKE Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08glibc: Drop patch for obsolete conflict issueRichard Purdie
We're no longer patching files called "libm-test-ulps" so this patch isn't really needed. Regardless, if we were, we should fix the real issue in the upstream code which may have already happened. Drop this patch. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08glibc: Drop ppc sqrt optimisationsKhem Raj
OpenEmbedded isn't an upstream or a patch repository. These are optimisations which for reasons unknown were never merged into upstream glibc. We have no active ppc maintainers and these patches are at an evolutionary dead end. Since they are optimisations, there may be small performance regressions by removing them but OE can't carry patches like this indefinitely and these appear to have no future. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-03glibc: Drop patch to support/workaround prelinked apps on armv5Khem Raj
The usecase explained in bug #1443 works fine now a days on qemuarmv5, tested by using lltng-ust and explicitly linking in liburcu-bp.so as well, since its no more a direct dependency of liblttng-ust.so.1 Given that usecase works, unbolt this fix now. Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-24glibc: Fix i586/c3 supportRichard Purdie
CET can't be enabled on i586 or c3 for x86, adjust the configuration accordingly to fix those builds. [YOCTO #14632] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-23glibc-tests: Do not set SYSTEMD_SERVICEKhem Raj
These are glibc specific which comes from glibc packaging class Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-23glibc: ptest: Add running glibc time related test suite (Y2038) with ptestLukasz Majewski
This patch introduces new recipe - namely 'glibc-tests', which builds and installs time related (to check if Y2038 support works) glibc test suite to OE/Yocto built image. It reuses code from already available 'glibc-testsuite' recipe, which is run with 'bitbake glibc-testsuite -c check' and uses qemu to execute remotely (via SSH) tests on some emulated machine. This recipe installs time related glibc tests on some rootfs image. Afterwards, those tests can be executed on the real hardware, to facilitate validation of it with Y2038 problem compliance. To test time related subset - one needs to call: ptest-runner glibc-tests then change the date after Y2038 threshold for 32 bit systems: date -s "20 JAN 2038 18:00:00" and then run ptest-runner again. To facilitate debugging, source files are provided by default with the unstripped debugging symbols. Such approach would reduce the already complex recipe (as it inherits base glibc one), so there is no need to also install *-dbg and *-src packages. Signed-off-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-21patches: correct whitespace/spelling for Upstream-Status tagsAlexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-16glibc: Backport fix for CVE-2021-43396Richard Purdie
Backport the fix for CVE-2021-43396. It is disputed that this is a security issue however the fix applies easily so we may as well. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-11glibc-version.inc: remove branch= from GLIBC_GIT_URIAnuj Mittal
GLIBC_GIT_URI is used along with branch=${SRCBRANCH} so no need to add it here. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-10meta: use ln -rs instead of lnrRoss Burton
lnr is a script in oe-core that creates relative symlinks, with the same behaviour as `ln --relative --symlink`. It was added back in 2014[1] as not all of the supported host distributions at the time shipped coreutils 8.16, the first release with --relative. However the oldest coreutils release in the supported distributions is now 8.22 in CentOS 7, so lnr can be deprecated and users switched to ln. [1] 6ae3b85eaffd1b0b6914422e8de7c1230723157d Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03recipes: Update github.com urls to use httpsRichard Purdie
Github has announced there will be no more git:// fetching from their servers: https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git and they're about to start having brownout periods to encourage people to update. This runs the conversion script over OE-Core to update our urls to use https instead of git. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-30meta: Add explict branch to git SRC_URIsRichard Purdie
There is uncertainty about the default branch name in git going forward. To try and cover the different possible outcomes, add branch names to all git:// and gitsm:// SRC_URI entries. This update was made with the script added to contrib in this patch which aims to help others convert other layers. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-18glibc: Extract common code to build tests to glibc-tests.incLukasz Majewski
The common code to build tests has been extracted from glibc-testsuite recipe to glibc-tests.inc This code will be reused in the recipe necessary for providing glibc tests executed with ptest framework. Signed-off-by: Lukasz Majewski <lukma@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-09glibc: Drop libcidn packageFred Liu
libcidn has been dropped since glibc 2.28 Signed-off-by: Fred Liu <yclw3d2y@live.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17Update mailing list addressJon Mason
Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-07systemd: '${systemd_unitdir}/system' => '${systemd_system_unitdir}'Robert P. J. Day
Repo-wide replacement to use newer variable to represent systemd system unitdir directory. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-31glibc: fix create thread failed in unprivileged processHongxu Jia
Since upstream commit [d8ea0d0168 Add an internal wrapper for clone, clone2 and clone3] applied, start a unprivileged container (docker run without --privileged), it creates a thread failed in container. In commit d8ea0d0168, it calls __clone3 if HAVE_CLONE3_WAPPER is defined. If __clone3 returns -1 with ENOSYS, fall back to clone or clone2. As known from [1], cloneXXX fails with EPERM if CLONE_NEWCGROUP, CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWNS, CLONE_NEWPID, or CLONE_NEWUTS was specified by an unprivileged process (process without CAP_SYS_ADMIN) [1] https://man7.org/linux/man-pages/man2/clone3.2.html So if __clone3 returns -1 with EPERM, fall back to clone or clone2 could fix the issue. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-22wordsize.h: Fix a miss, this file in arm and aarch64 should be the same.leimaohui
Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-22Fix conflict error when enable multilib.leimaohui
file /usr/include/bits/pthread_stack_min.h conflicts between attempted installs of libc6-dev-2.34-r0.aarch64 and lib32-libc6-dev-2.34-r0.armv7ahf_neon Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-20glibc: Fix CVE-2021-38604Vinay Kumar
Source: https://sourceware.org/git/glibc.git Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=28213 Backported upstream commits b805aebd42364fe696e417808a700fdb9800c9e8 and 4cc79c217744743077bf7a0ec5e0a4318f1e6641 to glibc-2.34 source. Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8] Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641] Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18glibc: package the stub .a libaries into glibc-devRoss Burton
In glibc 2.34, the libraries libpthread, libdl, libutil, libanl have been integrated into libc. To retain compatibility with old binaries the shared libaries are still shipped but are empty, and to keep software building there are empty static libraries. However, these static libraries get packaged into glibc-staticdev (as they should be), but by this design they should be in glibc-dev. https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-06glibc: Add missing symlinks for libpthread and librt dev filesKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06glibc: Drop DUMMY_LOCALE_T define patchKhem Raj
It was needed for very old centos distros which are no longer supported Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06glibc: Remove obsolete --enable-stackguard-randomizationKhem Raj
this has been removed in 2.34 onwards Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06glibc: Upgrade to 2.34 releaseKhem Raj
bump localedef to get __attr_access_none and __attr_access definitions replace /bin/bash instead of @BASH@ in ldd as @BASH@ has been substituted with /bin/bash now package libc_malloc_debug.so.0 Detailed changelog [1] [1] https://sourceware.org/pipermail/libc-alpha/2021-August/129718.html Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-07-30Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-28glibc: Fix CVE-2021-33574Vinay Kumar
Source: https://sourceware.org/git/glibc.git Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=27896 Backported upstream commit 42d359350510506b87101cf77202fefcbfc790cb to glibc-2.33 source with dependent commit id 217b6dc298156bdb0d6aea9ea93e7e394a5ff091. Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=42d359350510506b87101cf77202fefcbfc790cb] Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-07glibc-testsuite: Fix build failures when directly running recipeRichard Purdie
If you try and run the glibc-testsuite's build task, you see failures as do_populate_sysroot can't work. We don't have a do_install, get rid of do_populate_sysroot as well. The recipe is not included in world builds by default which is why we don't see the issue more widely. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-29ldconfig-native: Add RISC-V supportChristoph Muellner
The current version of ldconfig does not support RISC-V. Let's add a patch, that adds the required constant definitions (from upstream glibc) and the necessary case statements. Signed-off-by: Christoph Muellner <cmuellner@linux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-26glibc: re-enable memory taggingRoss Burton
Now that the performance regressions caused by MTE have been resolved, we can enable memory tagging again. It is safe to globally enable the config as glibc does nothing if it isn't supported on that target. (From OE-Core rev: 5910d46b2a4b4387c12feb447c42864ec6b7828c) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2021-06-26glibc: backport MTE improvements from masterRoss Burton
After realising that the MTE support in 2.33 was suboptimal, discussion with upstream revealed that these issues are known and already fixed. They will be in glibc 2.34 which is scheduled for August, so backport the fixes for now. (From OE-Core rev: e5eadbf45b7fb953c557438854b0a96ba740c589) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2021-06-21glibc: do not enable memory tagging on aarch64 just yetAlexander Kanavin
Sadly, it seems to break copy-on-write as reported here: https://lists.openembedded.org/g/openembedded-core/message/153082 (From OE-Core rev: 6891217346128cf529c15192defa096378fc5091) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2021-06-21glibc: fix path to place zdump in the tzcode packageTony Battersby
zdump should be included in the tzcode package but is instead included in the glibc-utils package due to an incorrect path in the recipe. https://bugzilla.yoctoproject.org/show_bug.cgi?id=14427 Signed-off-by: Tony Battersby <tonyb@cybernetics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-25glibc: Enable memory tagging for aarch64Khem Raj
Glibc on aarch64 has a memory tagging option that can be enabled via GLIBC_TUNABLES="glibc.mem.tagging=$SOMETHING" when glibc is built with memory tagging support and the kernel/HW supports MTE. There should be no side effects unless the user turns it on with approprate HW support Linux 5.4 headers and binutils 2.33.1 or newer is needed. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-25glibc: Update to latest 2.33 branchKhem Raj
Drop backported patches Add CVE-2021-27645 to CVE_CHECK_WHITELIST and drop the patch as its also upstreamed Changes in the version bump are * 3f5080aedd nptl: Do not build nptl/tst-pthread-gdb-attach as PIE * 36783141cf nptl: Check for compatible GDB in nptl/tst-pthread-gdb-attach * ea299b62e8 nptl_db: Support different libpthread/ld.so load orders (bug 27744) * 162df872f0 x86: tst-cpu-features-supports.c: Update AMX check * 12ff80b312 Remove PR_TAGGED_ADDR_ENABLE from sys/prctl.h * 1bf38e7260 Fix SXID_ERASE behavior in setuid programs (BZ #27471) * a7b8e8ec9b Enhance setuid-tunables test * ee16c81063 tst-env-setuid: Use support_capture_subprogram_self_sgid * 267e174f19 support: Add capability to fork an sgid child * 249c486ce8 support: Pass environ to child process * 45b2c57d34 support: Typo and formatting fixes * e07abf59b2 tunables: Fix comparison of tunable values * 3e9ca60a58 linux: always update select timeout (BZ #27706) * 8380ca5833 linux: Normalize and return timeout on select (BZ #27651) * 85e4dc415a libsupport: Add support_select_normalizes_timeout * b5b4aa62c1 libsupport: Add support_select_modifies_timeout * 3d525dd639 misc: Fix tst-select timeout handling (BZ#27648) * 830674605f tst: Provide test for select * e78ea9bd26 Update Nios II libm-test-ulps. * 98bb18f52a malloc: Fix a realloc crash with heap tagging [BZ 27468] * fc4ecce85b S390: Also check vector support in memmove ifunc-selector [BZ #27511] * db32fc27e7 test-container: Always copy test-specific support files [BZ #27537] * 79c6be6a0a nptl: Remove private futex optimization [BZ #27304] * f90d6b0484 pthread_once hangs when init routine throws an exception [BZ #18435] * dd8023c2ac elf: ld.so --help calls _dl_init_paths without a main map [BZ #27577] * ea5a537e87 elf: Always set l in _dl_init_paths (bug 23462) * 64f6c287ad x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] * 32b9280f1d io: Return EBAFD for negative file descriptor on fstat (BZ #27559) * a151f2e05a nscd: Fix double free in netgroupcache [BZ #27462] * ee9f98d9ca x86: Set minimum x86-64 level marker [BZ #27318] * 3e880d7337 nss: Re-enable NSS module loading after chroot [BZ #27389] * 71b2463f61 x86: Add CPU-specific diagnostics to ld.so --list-diagnostics * a1eb3915e7 x86: Automate generation of PREFERRED_FEATURE_INDEX_1 bitfield * 33dc1dd602 ld.so: Implement the --list-diagnostics option * 8d4241b897 string: Work around GCC PR 98512 in rawmemchr * 6efa2d44c8 S390: Add new hwcap values. * c5e3545897 tunables: Disallow negative values for some tunables * 905fdc7071 x86: Use SIZE_MAX instead of (long int)-1 for tunable range value * 15afd6b8d8 tunables: Simplify TUNABLE_SET interface * 17f0ff0978 nsswitch: return result when nss database is locked [BZ #27343] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-20glibc: Add 8GB VM usage cap for usermode test suiteRichard Purdie
We've noticed that: MACHINE=qemuarm oe-selftest -r glibc.GlibcSelfTest.test_glibc ends up with one process growing to about the size of system memory and triggering the OOM killer. This has been taking out other builds running on the system on the autobuilders and is one cause of our intermittent failures. This was tracked down to: WORKDIR=XXX/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/glibc-testsuite/2.33-r0 BUILDDIR=$WORKDIR/build-arm-poky-linux-gnueabi QEMU_SYSROOT=$WORKDIR/recipe-sysroot QEMU_OPTIONS="$WORKDIR/recipe-sysroot-native/usr/bin/qemu-arm -r 3.2.0" \ $WORKDIR/check-test-wrapper user env GCONV_PATH=$BUILDDIR/iconvdata LOCPATH=$BUILDDIR/localedata LC_ALL=C $BUILDDIR/elf/ld-linux-armhf.so.3 \ --library-path $BUILDDIR:$BUILDDIR/math:$BUILDDIR/elf:$BUILDDIR/dlfcn:$BUILDDIR/nss:$BUILDDIR/nis:$BUILDDIR/rt:$BUILDDIR/resolv:$BUILDDIR/mathvec:$BUILDDIR/support:$BUILDDIR/nptl \ $BUILDDIR/nptl/tst-pthread-timedlock-lockloop although other glibc tests appear to use 16GB of memory before failing anyway. By capping the VM size to 8GB, we see the same number of failures but no OOM situations. There may be some issue in qemu or the test which could be improved to avoid this entirely but this provides a necessary and useful safeguard to other builds and doensn't appear to make the situation worse. On a loaded system OOM may not occur as the test timeout may be triggered first. An experiment with a 5GB limit showed an additional 7 failures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>