summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc
Commit message (Collapse)AuthorAgeFilesLines
...
* glibc: fix Segmentation fault in gethostid.cMingli Yu2018-09-212-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679] A NULL value can happen with certain gethostbyname_r failures. Before this patch, there is a Segmentation fault as below: # /mybuild/hostid Segmentation fault # gdb /mybuild/hostid GNU gdb (GDB) 8.2 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-wrs-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /mybuild/hostid...done. (gdb) r Starting program: /mybuild/hostid Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7f0330e in gethostid () at ../sysdeps/unix/sysv/linux/gethostid.c:125 125 memcpy (&in, hp->h_addr, (gdb) bt #0 0x00007ffff7f0330e in gethostid () at ../sysdeps/unix/sysv/linux/gethostid.c:125 #1 0x0000555555555159 in main () # cat /mybuild/hostid.c #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { long hostid; hostid = gethostid(); printf("the hostid is %ld\n", hostid); } (From OE-Core rev: 92c266fd9b1c4034a13bd5b102d1817df388a7b5) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: fix build with -OMartin Jansa2018-09-204-12/+169
| | | | | | | | | | * tested for qemuarm, qemux86 with -O, -O0, -Os, with gcc * to build with -O0 I had to remove restriction from systemtap first (From OE-Core rev: be3d12c6b1003348f1dabec9d2253f22b42f0387) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: Enable riscv64 and riscv32 in BINARY_LOCALE_ARCHES supported ↵Khem Raj2018-09-041-2/+2
| | | | | | | | | | | | | | | | architectures This support is there using cross-localedef but was not enabled, this caused the post-install for locales to be emitted which delays the boot significantly. emitted postints for locales contain exit 1 which is flagged now and was causing image generation to fail. (From OE-Core rev: c67298f3af9cbb8c7596e4fb20b652a8f2582add) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-ld: Simplify/cleanup multilib handling to use library functionsRichard Purdie2018-08-231-18/+5
| | | | | | | | | We have library functions to handle multilib variables/datastores, lets use them so we have good common functions. (From OE-Core rev: 774219567987956fb7bbb50e64eb6cebef1efe5b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Improve ldd loader specificationRichard Purdie2018-08-231-25/+10
| | | | | | | | | | | | | | | | Currently if a tune isn't specified in the table, the loader defaults for the architecture are used which may or may not match our path specification. This leads to general confusion. Change the code to use the linuxloader class which works of architecture, not tune. This still isn't perfect as n32/x32 aren't covered but its an improvement to listing all tunes here. (From OE-Core rev: 46a6da24b51426bedd9af8a2d63b2992b9d3fa5a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: re-package for libnss-dbChen Qi2018-08-193-2/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On other distros like ubuntu/centos, libnss-db usually provides: - The libraries - The Makefile to create database (in /var/db for centos, /var/lib/misc/ for ubuntu) - The makedb command (it's in glibc-common for centos7) What we had is: - The libraries are in glibc-extra-nss - The Makefile is removed - The makedb command is in glibc-utils (lack of dependency) So when glibc-extra-nss is installed but glibc-utils is not, we see error like: nscd[165]: 165 checking for monitored file `/var/db/group.db': No such file or directory nscd[165]: 165 checking for monitored file `/var/db/passwd.db': No such file or directory And there is not an easy way to create these databases. To fix the issue: - Re-package the libraries into libnss-db - Don't remove the Makefile and add it in libnss-db - Add RDEPENDS for libnss-db on glibc-utils - Provide a shell script, makedbs.sh, to generate the db files. This is to avoid dependency on 'make'. Notes: 1. For external toolchain, an extra package 'libnss-db' need to be provided If replacing glibc from core. 2. I've check the git history of nss/db-Makefile, the last two functionality fix is as below. - fix non-portable `echo -n` usage -- Date: Thu Aug 6 04:14:20 2015 -0400 - Fix db makefile rule for group.db -- Date: Fri Nov 11 14:43:36 2011 +0100 So I think this file is stable enough. And using makedbs.sh which is crafted according to that file is not likely to cause maintanence problem. (From OE-Core rev: 13cf502fce8956f95fdc8ac0c7a37d741223bcc9) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-initial: Add missing bison-native dependencyRichard Purdie2018-08-161-1/+1
| | | | | | (From OE-Core rev: 11e7dc96e7bc9d1cbf1f3bd10caeb65190c41a2f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Fix locale archive path patchRichard Purdie2018-08-151-9/+45
| | | | | | | | | | The locale code uses the archive location in two places, ensure both are corrected to use the environment variable which avoids nasty build failures when archiving locales in images. (From OE-Core rev: 3ab1249a2ac92a0fcb008e92cc9ee272441408f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Add make-native dependsRichard Purdie2018-08-152-2/+2
| | | | | | | | | | glibc needs make >= 4 yet some of our build workers have older versions of make. Add a make-native dependency to work around this until all our supported distros have a recent version of make. (From OE-Core rev: 0cd89e4af625941f8ab8c033f72f900a2979b304) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Disable crypt support in glibcKhem Raj2018-08-153-4/+3
| | | | | | | | | | Drop packaging libcrypt from 2.28+ onwards We have independent crypt implementation coming from libxcrypt (From OE-Core rev: 6146b8c4216daf56a69f4e3531861302df6a63a2) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-localedef-native: Update to build with glibc 2.28Khem Raj2018-08-151-1/+1
| | | | | | | (From OE-Core rev: d1e02516dcce977a06320fcca968613466e43f29) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Upgrade to 2.28Khem Raj2018-08-1541-1089/+243
| | | | | | | | | | | | | | | | License-Update: libidn is dropped from glibc and a testcase that was a particular contributor copyrighted see https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=LICENSES;h=0e3a9fe39b26e97038d92f904508a4c3aa1bb43b;hp=b29efe01084af28cc40953d7317f22927c0ee3b7;hb=5a357506659f9a00fcf5bc9c5d8fc676175c89a7;hpb=7279af007c420a9d5f88a6909d11e7cb712c16a4 https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=LICENSES;h=b29efe01084af28cc40953d7317f22927c0ee3b7;hp=80f7f1487947f57815b9fe076fadc8c7f94eeb8e;hb=7f9f1ecb710eac4d65bb02785ddf288cac098323;hpb=5f7b841d3aebdccc2baed27cb4b22ddb08cd7c0c Drop upstreamed and backported patches (From OE-Core rev: da8bf414922ce7af865fadc4a86fd96ab6262506) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Make bits/wordsize.h multilibbed againDaniel Díaz2018-08-141-1/+1
| | | | | | | | | | | | | | | As reported by ChenQi, leaving bits/wordsize.h out of being multilibbed introduced a problem in building the SDK for arm64: Error: Transaction check error: file /usr/include/bits/wordsize.h conflicts between attempted installs of lib32-libc6-dev-2.27-r0.armv7vet2hf_vfp and libc6-dev-2.27-r0.aarch64 This effectively reverts commit a74c77d6. (From OE-Core rev: 90ad502bf8faa233e25cf297c1eeefcb0367aea3) Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: Fix host-user-contaminated QA errorsKhem Raj2018-07-301-7/+6
| | | | | | | | | | | | Fixes ERROR: glibc-locale-2.27-r0 do_package_qa: QA Issue: glibc-locale: /glibc-binary-localedata-hy-am/usr/lib/locale/hy_AM/LC_MEASUREMENT.tmp is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] (From OE-Core rev: 06d831d12fe2a2366480c79f4c018942937b753a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Avoid multilibbing on wordsize.hDaniel Díaz2018-07-261-2/+1
| | | | | | | | | | | | | | | | | | | | | Once another header #includes <bits/wordsize.h>, there is a potential recursion going on because the multilib_header_wrapper.h #includes <bits/wordsize.h> again! This should not happen because an __arm__ (32-bits) or an __aarch64__ (64-bits) environment guarantees that we will be getting the correct definition, but when building against a different target (like BPF), recursion is what happens. This can be seen, for instance, when building eBPF programs from the kernel with `clang -target bpf', such as the ones located in linux/tools/testing/selftests/bpf/. (From OE-Core rev: a74c77d6168101e88c3a3bce7130f4f52cfab95d) Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: fix CVE-2018-11237Zheng Ruoqin2018-06-282-0/+83
| | | | | | | | | glibc: fix CVE-2018-11237 (From OE-Core rev: b9b254da08c1db94ac9ded5f67d7e2e82e3b9be7) Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: fix CVE-2017-18269 and CVE-2018-11236Zhixiong Chi2018-06-153-0/+344
| | | | | | | | | | | | | Backport two CVE patches from the upstream https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=summary commit 5460617d1567657621107d895ee2dd83bc1f88f2 commit cd66c0e584c6d692bc8347b5e72723d02b8a8ada (From OE-Core rev: 398ac946745bbfad55deb382aeafec0be3298819) Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Check /etc/ld.so.conf.d/*.conf by defaultTom Rini2018-05-111-0/+1
| | | | | | | | | | | | | The expected modern behavior for dealing with adding ld.so.conf entries is to add a file to /etc/ld.so.conf.d/. In order to do this, ld.so.conf needs to explicitly include that /etc/ld.so.conf.d/*.conf. Make it so. Cc: Khem Raj <raj.khem@gmail.com> (From OE-Core rev: 1f03019356e3712435dbe4ed9f359992b0ad4578) Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Drop obsolete rpc and libnslKhem Raj2018-05-096-150/+5
| | | | | | | | | use libnsl2 and rpcsvc-proto packages (From OE-Core rev: 9dc9983901cec364ea57a72b9da1a0396b60663a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: use oe_multilib_header on bits/floatn.hChen Qi2018-05-041-1/+1
| | | | | | | | | | | | | | | | | When building SDK via populate_sdk for qemuarm64 with multilib enabled, we would have conflict about bits/floatn.h at populate_sdk time. file /usr/include/bits/floatn.h conflicts between attempted ins talls of libc6-dev-2.27-r0.aarch64 and lib32-libc6-dev-2.27-r0.armv7vehf_vfp Apply oe_multilib_header on this header file to fix the problem. (From OE-Core rev: 650c59c8b6796cf4797ca1860be85f6ccf50bcd2) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Set libc_cv_ssp_all to no as wellKhem Raj2018-04-181-0/+1
| | | | | | | | | | | | This is not a problem right now but if we were to use -fstack-protector-all this can cause build errors (From OE-Core rev: 271831133358b3231808e8fe7aa2817e41d98e2f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk-glibc: Split glibc and libcrypt to use libxcrypt insteadRichard Purdie2018-04-074-2/+424
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fedora28[1] has decided to go ahead and use libxcrypt to replace libcrypt from glibc despite the change not having merged into glibc upstream yet. This breaks the use of uninative in OE on fedora28 since binaries there are now using new symbols only found in libxcrypt. libxcrypt is meant to be backwards compatible with libcrypt but not the reverse. Since this will impact OE in the next release cycle, this changes nativesdk only to use this new model and adds libxcrypt to work in that case. This allows us to build a uninative which is compatible with fedora28 and previous other OSes. In order to work, recipes will now need to depend on virtual/crypt where they use libcrypt since its now a separate library and we can't depend on it from glibc to preseve backwards compatibility since glibc needs to build first. For now, only the problematic nativesdk recipes have been fixed up. For target use, the default provider remains glibc for now. Assuming this change is merged into upstream glibc, we will need to roll this change out for the target but we will do this in the next release cycle when we can better deal with the resulting bugs. [1] https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt Original patch from Charles-Antoine Couret <charles-antoine.couret@essensium.com>, tweaked by RP to add virtual provides, SkipRecipe for libxcrypt and other minor tweaks. (From OE-Core rev: c1573cb7faeb296fe7077a60d02443d5ed5bded0) Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@essensium.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc6-dbg: improve reproducibilityJuro Bystricky2018-03-312-0/+22
| | | | | | | | | | | | Prevent bison from generating #line comments containing build host paths references. [YOCTO #12625] (From OE-Core rev: 85af760bb7370d001df0ab5915bc9ee7e6c03dfd) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-package: fix locale cleanup logicKoen Kooi2018-03-301-2/+5
| | | | | | | | | | | | | | If ${libdir} is a subdirectory of ${prefix}/lib, e.g. /usr/lib/aarch64-linux, the cleanup logic will delete libc.so. This bit of code was added in 2012 (git show b744f4cc) to remove /usr/lib/locale, this commit makes it remove that directory recursively and afterwards remove /usr/lib, erroring out if it's non-empty. Tested with a plain (/usr/lib), a 64-bit (/usr/lib64) and a multiarch (/usr/lib/aarch64-linux) build. I strongly suspect this whole bit of cleanup isn't needed anymore, but my testing is too limited to be certain. (From OE-Core rev: d8f4c7794f15f7071ee8e621d7964cb4b4134630) Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Replace strncpy with memccpy to fix -Wstringop-truncation.Khem Raj2018-03-282-0/+41
| | | | | | | | (From OE-Core rev: 1c8887ec629516333cbe3736bc0f9d24fb08dffe) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-2.27: Update to bring in 2.27 bug fixes since releaseKhem Raj2018-03-282-2/+2
| | | | | | | | | | | | Here is full list of fixes https://sourceware.org/git/?p=glibc.git;a=shortlog;h=df3ff4e49d4ee3cbbdaeb0b1cb5dc2344c08be98;hp=23158b08a0908f381459f273a984c6fd328363cb (From OE-Core rev: 48cbc4d7f671af3787835cfd491bbe99169b5924) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: fix upstream version checkAlexander Kanavin2018-03-202-2/+2
| | | | | | | | | | Exclude x.y.90* pre-release versions in particular. (From OE-Core rev: 3fa440b0d8090135a66f6ddbd0db77c94760686e) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: add missing TRAP_BRANCH/TRAP_HWBKPT definitionsFathi Boudra2018-03-062-0/+70
| | | | | | | | | | | | Patch submitted upstream, pending to be merged: https://sourceware.org/bugzilla/show_bug.cgi?id=21286 (From OE-Core rev: 11ebb5054e5ec1171ade90249e3a30ac8174a35a) Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Compile using thumb2 for arch > armv5 if user choosesKhem Raj2018-03-062-2/+4
| | | | | | | | | | | | | | | | | For arm we enforce ARM mode regardless of ARM_INSTRUCTION_SET choice from config metadata, glibc works fine with thumb2 for armv7+ so limit the restriction to armv5 and lower, tested on rpi3 works equally well as arm mode glibc and sheds about 0.5MB in size for main package alone. Other glibc build packages also gets smaller ARM: 2696 KiB libc6 Thumb2: 2132 KiB libc6 (From OE-Core rev: a22b97aff811566399765d755daffddb28f82857) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Enable static PIE support when security_flags are enabledKhem Raj2018-03-011-0/+3
| | | | | | | | (From OE-Core rev: 8e4ece7bf0b09275a34ce8e7cc3e1e54a366c361) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-localedef-native: add way to specify which locale archive to writeRoss Burton2018-03-012-0/+40
| | | | | | | | | | | | | localedef has no way to specify which locale archive to use, and the compile-time default isn't useful as it points to the work directory. Add support to read an environmental variable for the path, and don't fail to write a new locale archive. (From OE-Core rev: bf0f205a3c3714926649bd69db29e4df1c0ea112) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: relocate locale paths in nativesdkRoss Burton2018-03-012-0/+56
| | | | | | | | | | nativesdk is built with a specific prefix but this will be different at install time, however glibc hard-codes the path to locale files. Expand these strings to 4K and move them to a magic segment which we can relocate when the SDK is installed. (From OE-Core rev: 59e0679378aac27c4fea0b06721e0a184a93c100) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: don't use host locales in nativesdkRoss Burton2018-03-011-6/+0
| | | | | | | (From OE-Core rev: d7ded85766852689a0d774c896a11d0609004ab2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Upgrade to 2.27 releaseRoss Burton2018-03-0133-187/+199
| | | | | | | | (From OE-Core rev: 7c9faaee307585dbab569b4aa0a386658372af4e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Update to tip of 2.26Khem Raj2018-02-246-447/+2
| | | | | | | | | | | This will make it easy to backport to rocko if needed after 2.27 is landed in master plus it fixes the aarch64 build issue seen with binutils 2.30 (From OE-Core rev: 774e372d95c9082766477ea6dbfcd10c48ac4658) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: don't use deprecated functions from utils.bbclassRoss Burton2018-01-301-2/+2
| | | | | | | | | | | These functions were moved to meta/lib/oe in 2010 and the base_* functions in utils.bbclass were intended to be a short-term compatibility layer. They're still used in a few places, so update the callers to use the new functions. (From OE-Core rev: c97acbd034532895ce57c6717ed1b3ccc7900b0d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Adapt do_install_append_aarch64() for usrmergePeter Kjellerstedt2018-01-291-6/+6
| | | | | | | | | | | Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the code in do_install_append_aarch64() for when usrmerge is enabled in DISTRO_FEATURES. (From OE-Core rev: ac373c9f760463d989d6a1eb3a14b7c5b255b9d4) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale.inc: avoid duplicate packagesJuro Bystricky2018-01-261-1/+0
| | | | | | | | | | | | PACKAGES_DYNAMIC contained an identical set of packages twice. I suspect this was a result of global search/replace when moving recipes from eglibc to glibc long time ago. (From OE-Core rev: 9d0f0fa80ffbafc2d4a1df0fa3ac5d84396a8182) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc6: improve reproducibilityJuro Bystricky2018-01-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | Building various libraries (libc6, libc6-pic, libc6-staticdev, libc6-dbg, ...) can be non-deterministic because they may be built with two different versions of intl/plural.c. in two otherwise identical builds. We may or may not re-generate the file plural.c from the file plural.y, based on bison being installed or not and based on mtimes of those two files, as the Makefile contains: plural.c: plural.y $(BISON) $(BISONFLAGS) $@ $^ If the above rule does not fire, we use a "fallback" plural.c, otherwise we use plural.c re-generated from plural.y. The fix is to always require bison to be installed and unconditionally re-generate plural.c. (This is achieved by touching plural.y). [YOCTO #12291] (From OE-Core rev: b79eeb68c6ad7c92a3e54c6f97a8bf49f0098206) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Security Fix CVE-2017-17426Huang Qiyu2018-01-232-0/+54
| | | | | | | | | | | | | | | | | | | Affects glibc < 2.27 including current master hash 77f921dac17c5fa99bd9e926d926c327982895f7 (From OE-Core rev: a273d099c3bc73736579b7b6ead2572721f16d2a) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> [v2] Rebased on new master [v3] Fix typo in patch status Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Security Fix CVE-2017-16997Armin Kuster2018-01-232-0/+152
| | | | | | | | | | | Affect glibc < 2.27 including current master glibc hash: 77f921dac17c5fa99bd9e926d926c327982895f7 (From OE-Core rev: f65acd6f8ef7172d75863ee091a3fbbaa57c0f3f) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Security fix CVE-2017-15671Armin Kuster2018-01-232-0/+66
| | | | | | | | | | | affects glibc < 2.27 only glibc in current master hash: 77f921dac17c5fa99bd9e926d926c327982895f7 (From OE-Core rev: 9e411843b26d296ba2b048b581d31bd0221e25e6) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc/nscd: do not cache for netgroup by defaultJackie Huang2018-01-131-0/+1
| | | | | | | | | | | | | | We don't have /etc/netgroup by default, so do not cache for netgroup by default to avoid: nscd[529]: 529 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory nscd[529]: 529 stat failed for file `/etc/netgroup'; will try again later: No such file or directory (From OE-Core rev: 10007bcd30a96470059f9d5b19cf698243486f06) (From OE-Core rev: 0adedfc2bf8981819fbbf8b1884da44c7082d1a6) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: malloc: Add missing arena lock in malloc_infoZhixiong Chi2018-01-042-0/+173
| | | | | | | | | | | | | | | There are the multiple process crashes seen while using malloc_info. Obtain the size information while the arena lock is acquired, and only print it later. Backport patch from https://sourceware.org/git/gitweb.cgi?p=glibc.git; h=7a9368a1174cb15b9f1d6342e0e10dd90dae238d (From OE-Core rev: 7ecbb31fbaf1d056c9301166700e2967bd623489) Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Upgrade to latest on 2.26 releaseKhem Raj2018-01-043-287/+1
| | | | | | | | | | | | For detailed view of changes see https://github.com/kraj/glibc/compare/glibc-2.26...77f921dac17c5fa99bd9e926d926c327982895f7 Drop two upstreamed patches (From OE-Core rev: e53bf781cdb896bdb02e69fdbfd0d144c5f39504) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: fix C++ compile failures related to 'assert'S. Lockwood-Childs2018-01-042-0/+195
| | | | | | | | | | | | | * fixes "lambda-expression in unevaluated context" compile failures such as https://github.com/nlohmann/json/issues/705 * fixes "no match for 'operator==" compile failures such as https://bugzilla.redhat.com/show_bug.cgi?id=1482990 (From OE-Core rev: d9583296be58f02912abc4fd19f576b3f89107ff) Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale.inc: fix typo in commentGianfranco Costamagna2017-10-071-1/+1
| | | | | | | | | (From OE-Core rev: 74ef87b31e33436e82f4985fa99b570726a5e564) Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com> Signed-off-by: Lorenzo Chianura <lorenzo.chianura@abinsula.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: add runtime dependency on glibcMartin Jansa2017-09-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the libc.so.6 dependency is detected always: $ grep FILERDEPENDS BUILD-*/pkgdata/qemux86/runtime/localedef BUILD-bad/pkgdata/qemux86/runtime/localedef:FILERDEPENDSFLIST_localedef: /usr/bin/localedef BUILD-bad/pkgdata/qemux86/runtime/localedef:FILERDEPENDS_/usr/bin/localedef_localedef: libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.0) libc.so.6 BUILD-ok/pkgdata/qemux86/runtime/localedef:FILERDEPENDSFLIST_localedef: /usr/bin/localedef BUILD-ok/pkgdata/qemux86/runtime/localedef:FILERDEPENDS_/usr/bin/localedef_localedef: libc.so.6(GLIBC_2.15) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.0) libc.so.6 * but in some builds the glibc dependency isn't built soon enough: $ diff -uNr BUILD-*/pkgdata/qemux86/runtime/localedef --- BUILD-bad/pkgdata/qemux86/runtime/localedef 2017-09-02 21:17:50.000000000 +0000 +++ BUILD-ok/pkgdata/qemux86/runtime/localedef 2017-09-11 10:15:49.954381592 +0000 @@ -6,6 +6,7 @@ LICENSE: GPLv2 & LGPLv2.1 DESCRIPTION_localedef: glibc: compile locale definition files SUMMARY: Locale data from glibc +RDEPENDS_localedef: glibc (>= 2.26) SECTION: base PKG_localedef: localedef FILES_localedef: /usr/bin/localedef and the build fails with QA issues: http://errors.yoctoproject.org/Errors/Details/155529/ ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.0), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.15), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.3), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.2), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.1), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6, but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: QA run found fatal errors. Please consider fixing them. * easily reproducible with empty TMPDIR and: bitbake -c cleansstate glibc-locale && bitbake -c package_qa glibc-locale * reproducible with Yocto 2.2 Morty as well, with slightly different error message: ERROR: glibc-locale-2.24-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_localedef? [file-rdeps] * with Yocto 2.3 Pyro it's not reproducible by default, because rpmdeps aren't enabled to populate FILERDEPENDS, but once you add: ENABLE_RPM_FILEDEPS_FOR_PYRO = "1" similar QA issue is shown as well: ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.15), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_localedef? [file-rdeps] ERROR: glibc-locale-2.25-r0 do_package_qa: QA Issue: /usr/bin/localedef contained in package localedef requires libc.so.6, but no providers found in RDEPENDS_localedef? [file-rdeps] (From OE-Core rev: 2d2b4d7383c93174fe8eeb72440e81345df71295) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: do the multilib_header magic also for bits/pthreadtypes-arch.hChunrong Guo2017-09-111-1/+1
| | | | | | | | | | | Otherwise it will cause conflicts in mutlilib setting, as it varies from one machine to another. (From OE-Core rev: 30140990a8bbe920222204b4f19113f5a1662478) Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: add ld.so locks in _libc_forkZhixiong Chi2017-09-113-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch in this Bugzilla entry was requested by a customer: https://sourceware.org/bugzilla/show_bug.cgi?id=4578 https://www.sourceware.org/bugzilla/show_bug.cgi?id=19282 If a thread happens to hold dl_load_lock and have r_state set to RT_ADD or RT_DELETE at the time another thread calls fork(), then the child exit code from fork (in nptl/sysdeps/unix/sysv/linux/fork.c in our case) re-initializes dl_load_lock but does not restore r_state to RT_CONSISTENT. If the child subsequently requires ld.so functionality before calling exec(), then the assertion will fire. The patch acquires dl_load_lock on entry to fork() and releases it on exit from the parent path. The child path is initialized as currently done. This is essentially pthreads_atfork, but forced to be first because the acquisition of dl_load_lock must happen before malloc_atfork is active to avoid a deadlock. The __libc_fork() code reset dl_load_lock, but it also needed to reset dl_load_write_lock. (From OE-Core rev: f2e586ebf59a9b7d5b216fc92aeb892069a4b0c1) Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>