summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc
Commit message (Collapse)AuthorAgeFilesLines
* glibc-locale: Rewrite do_install using install utility instead of cpKhem Raj2019-02-081-21/+20
| | | | | | | | | | | | | | | | | | | This has been a constant source of trouble for build failures due to host-user-contaminated QA errors of sort ERROR: QA Issue: glibc-locale: /glibc-binary-localedata-ca-es+valencia/usr/lib/locale/ca_ES@valencia/LC_MONETARY is owned by uid 3004, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] So far we have tried to mould cp command into not carrying the build user permissions into install area but it is never entirely fixed since the issue keeps popping up in various scenes This patch replaces use of cp with install utility and specifies install mode for files explcitly (From OE-Core rev: 92fdb64ac9689b9cac8a1229b1928b50338969be) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Fix pthread_rwlock_try*lock stallsKhem Raj2019-02-052-2/+2
| | | | | | | | | | Brings in a backport as described in https://sourceware.org/git/?p=glibc.git;a=commit;h=86013ef5cea322b8f4b9c22f230c22cce369e947 (From OE-Core rev: bcd5229c8045c3e0add0fc4f57ce9bfb5fc86328) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Update to 2.29 releaseKhem Raj2019-02-0240-715/+366
| | | | | | | | (From OE-Core rev: 9d9e055192bf1c66f2131482e6239e9c844ad0f4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: systemd and sysvinit are not mutually exclusiveJonas Bonn2019-01-311-1/+3
| | | | | | | (From OE-Core rev: 0990d77d99a9ba81e21961f9633df10ccef4b1a4) Signed-off-by: Jonas Bonn <jonas@norrbonn.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* musl,glibc,newlib: Drop redundant STAGINGCCKhem Raj2019-01-211-4/+0
| | | | | | | | | We do not have initial phase of bootstrapping toolchains anymore (From OE-Core rev: 75a2c15bbabf4df14631c822b20ce6d31098a5c8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Enable --with-default-linkKhem Raj2018-12-261-0/+1
| | | | | | | | | | This lets linker to use its internal linker script for shared objects Fixes with when gold is default linker (From OE-Core rev: 7bbc453ac2b8d63680855789948a145fc448017f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Drop virtual/libc-for-gccRichard Purdie2018-12-261-1/+1
| | | | | | | | | We no longer have special "libc" for gcc so we can rely on plain virtual/libc and reduce the complexity in the dependencies. (From OE-Core rev: 122217b421f749b5fef52bea44ad6e04bc8f8d3a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Drop gcc-cross-initial and use gcc-cross insteadRichard Purdie2018-12-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need a libgcc to build glibc. Tranditionally we therefore build a non-threaded and non-shared compiler (gcc-cross-initial), then use that to build libgcc-initial which is used to build glibc which we can then build gcc-cross and libgcc against. Firstly, we can drop the glibc dependency from gcc-cross, *if* we make two changes: a) specify the minimum glibc version to support in a configure option b) create a dummy limits.h file so that later when glibc creates one, the headers structure has support for it. We can do this with a simple empty file Once gcc-cross is libc independent, we can use it to build both libgcc-initial and then later libgcc. libgcc-initial is tricky as we need to imitate the non-threaded and non-shared case. We can do that by hacking the threading mode back to "single" even if gcc reports "posix" and disable libc presence for the libgcc-intial build. We have to create the dummy limits.h to avoid compiler errors from a missing header. glibc will fail to link with libgcc-initial due to a missing "exception handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need any exception handler, we can safely symlink to libgcc.a. With those changes, gcc-cross can be used in all places and we only need one build of gcc for each architecture. For some reason ifunc was being disabled on mips prior to these changes but afterwards became enabled but caused assertion failures. This is therefore disabled until we can debug that. (From OE-Core rev: 62b7308b8c4d2b439a15a4f7cbc6f823077bb0be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Remove site_config and glibc-initialRichard Purdie2018-12-266-731/+1
| | | | | | | | | | | | | | | | | | | | | The only reason we appear to need glibc-initial at this time is to support the site_config code. The site_config code compiles and therefore needs at least some level of working C library to link against. This isn't a good reason to keep the complexity of glibc-initial around so remove it, and the site_config support which then breaks. Performance benchmarks suggest the time spent just rerunning configure for site_config just about equals any performance benefit for OE-Core image builds excluding the time spent adding glibc-initial to the dependency chain. I'm not opposed to readding some other form of site_config support but it needs to be rethought. (From OE-Core rev: c5df105e7583e43da9b682f739bebaf873dcd2f4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: improve reproducibility with multilibHongxu Jia2018-12-082-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Multilib builds specify several loaders which will end up embedded in some binaries or script files. To support reproducible builds, we must ensure the loaders are always in deterministic order. [YOCTO #2655] [YOCTO #12478] [YOCTO #12480] (From OE-Core rev: 3f839c0cdfe253677ebee47838fe476a0939e0aa) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Improve the fix and rebase it to 2.28 Here is the log of lib32-glibc [log.do_compile] |Adjust ldd script |ldd "/lib64/ld-linux-x86-64.so.2 /lib/ld-linux.so.2 /lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2" -> "/lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2" [log.do_compile] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: fix installed-vs-shipped qa issueKai Kang2018-12-051-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Variable PACKAGE_NO_GCONV is set in libc-package.bbclass when none of libc-charsets, libc-locales and libc-locale-code set in DISTRO_FEATURES. Then it causes installed-vs-shipped qa issue of glibc-locale: | ERROR: glibc-locale-2.28-r0 do_package: QA Issue: glibc-locale: | Files/directories were installed but not shipped in any package: | /usr/share/i18n | /usr/share/i18n/charmaps | /usr/share/i18n/locales | /usr/share/i18n/charmaps/CP737.gz | ... | /usr/share/i18n/locales/ru_RU | ... | /usr/lib64/gconv/gconv-modules | Please set FILES such that these items are packaged. Alternatively if they | are unneeded, avoid installing them or delete them within do_install. | glibc-locale: 843 installed and not shipped files. [installed-vs-shipped] So check PACKAGE_NO_GCONV during do_install and not copy those files if PACKAGE_NO_GCONV has been set. Simplify call of bb.utils.contains() in libc-package.bbclass as well. (From OE-Core rev: 39840ed10af559bbcc306b378baa4723921668f5) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* locale: Allow usage of cross-localedef for ARCAlexey Brodkin2018-11-141-1/+1
| | | | | | | | | | With this it's possible to build locale data for ARC and not do it instead on the first boot. (From OE-Core rev: f13c303491dc8850126ea14baedc7b63b7b5ecf4) Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: make ld-2.28.so reproducible on armMartin Hundebøll2018-11-091-0/+13
| | | | | | | | | | | Play the whack-a-mole game and add the .file directive to another assembly file that otherwise shows itself in ld-2.28.so debug file, which in turns alters the build-id of ld-2.28.so on target. (From OE-Core rev: 4cbf901b3a127ed039371e614946002d26d56997) Signed-off-by: Martin Hundebøll <martin@geanix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Do not use thumb1 ISA on armv6Khem Raj2018-10-142-0/+2
| | | | | | | | | | | | This does not work and is unsupported so lets compile glibc in ARM mode always on armv6 SOCs Fixes [YOCTO #12929] (From OE-Core rev: de01490695c70ae29b4f2f82aecbffaf5667449e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Fix glibc reproducibility issuesRichard Purdie2018-10-042-0/+260
| | | | | | | | | | | | | Currently for non-IA platforms, glibc is not reproducible as host system paths are being injected into target binaries. These spread through all target binaries on the system which link to the libc. Add a patch which injects .file directives into the assembly pieces and works around this issue until a better solution can be found. (From OE-Core rev: 4d6fd8178da75f9a1870db290bbe24de5af752c9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: bump SRCREV to latest 2.28Martin Jansa2018-10-0438-375/+512
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * drop one patch already applied in upstream * this is still only partial fix for issues with -O0 and the bigger issue might be detected in runtime as described in: https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F https://sourceware.org/bugzilla/show_bug.cgi?id=19444 and tested in glibc build: https://sourceware.org/git/?p=glibc.git;a=blob;f=include/libc-symbols.h;h=8b9273c13a19f2658105c7997267d9086adae716;hb=HEAD#l74 * restore the anonymous python to trigger fatal error when -O0 is used (but don't restore the notes for -O, -O1, -Os * git log --oneline 3c03baca37fdcb52c3881e653ca392bba7a99c2b..044c96f0d5595aeb0bb4e79355081c5a7f4faca5 | tee 044c96f0d5 Fix misreported errno on preadv2/pwritev2 (BZ#23579) 3a67c72c15 Fix stack overflow in tst-setcontext9 (bug 23717) 2339d6a55e i386: Use ENTRY and END in start.S [BZ #23606] 0ef2f4400c Fix strstr bug with huge needles (bug 23637) a55e109709 Fix tst-setcontext9 for optimized small stacks. 307d04334d misc: New test misc/tst-gethostid e7d22db29c Linux gethostid: Check for NULL value from gethostbyname_r [BZ #23679] 1fe2b9ca8a Fix segfault in maybe_script_execute. 0b79004569 regex: Add test tst-regcomp-truncated [BZ #23578] 58559f1443 regex: fix uninitialized memory access aa8a3e4cde pthread_cond_broadcast: Fix waiters-after-spinning case [BZ #23538] c87b5bab24 Improve ChangeLog message. 66fdfd57fe Regen RISC-V rvd ULPs b0aa03dfff RISC-V: Fix rounding save/restore bug. 2f498f3d14 nss_files: Fix file stream leak in aliases lookup [BZ #23521] bfcfa22589 nscd: Deallocate existing user names in file parser d05b05d157 error, error_at_line: Add missing va_end calls 4b25485f03 Linux: Rewrite __old_getdents64 [BZ #23497] 726e1554ce hurd: Avoid PLTs for __pthread_get/setspecific 7f11842e74 hurd: Add missing symbols for proper libc_get/setspecific * update 0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors-w.patch based on review comments in upstream and extend it to cover PPC based on: http://lists.openembedded.org/pipermail/openembedded-core/2018-September/156258.html * update 0032-sysdeps-ieee754-soft-fp-ignore-maybe-uninitialized-w.patch based on review comments in upstream * add 0033-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch with a fix for aarch64 build with -Os * build tested with qemuarm, qemuarm64, qemux86, qemux86-64, qemuppc, qemumips, qemumips64 with -O, -O1, -Os. (From OE-Core rev: f1f38df91975f9b53933c2d2fbdca291d1872d5f) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-package.inc: correct intention for deleting /usr/lib as neededAwais Belal2018-09-271-3/+4
| | | | | | | | | | | | | | | | In case the baselib is lib64 we would want to delete /usr/lib after removing the /usr/lib/locale dir and the implementation wanted to do that earlier as well but the fault was checking an already removed dir (/usr/lib/locale) before trying to remove /usr/lib as that check would always fail. Now we simply try to delete /usr/lib after deleting /usr/lib/locale to make sure it deletes cleanly and is empty at the time of deletion. (From OE-Core rev: 4dad1568f8f84ec9de4bf7235822f77a8ee6a413) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 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>