From 401101f9c8077911929d3f2b60a37098460a5d89 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 24 Mar 2022 23:59:54 +0000 Subject: gentoo resync : 25.03.2022 --- sys-libs/glibc/Manifest | 7 +- .../glibc-2.34-hppa-asm-getcontext-fixes.patch | 214 +++++++++++++++++++++ sys-libs/glibc/glibc-2.34-r10.ebuild | 30 ++- sys-libs/glibc/glibc-2.35.ebuild | 25 ++- sys-libs/glibc/glibc-9999.ebuild | 25 ++- 5 files changed, 268 insertions(+), 33 deletions(-) create mode 100644 sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch (limited to 'sys-libs/glibc') diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 9f835843e6e7..041b1af7e3d8 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -3,6 +3,7 @@ AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c AUX 2.19/glibc-2.19-kernel-2.6.16-compat.patch 3214 BLAKE2B 64af88703bddaa301ce25d4400e00140fae536882443510466510766a60ac1cf4ceca35ca0ad4384f0cdc05b79352ac7da92f555561d1f6cdd65f7cc8464c6d7 SHA512 c21d80b7ae5b2691e5b6d43a42153193822ccc2b4418728edd5f2fa72412992d103b61418b57f9cf26e72378b24aa7cbaed05eeb31a4ec312a715d258cf5232b AUX 2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch 620 BLAKE2B 216e728e40b044684843bff97eae31d65689595bcc3e345ef019a68e15c190cbd7fa685ff39e6363cf213f3f5676dee49f235beb1984a9e150e2b4ab72fcf605 SHA512 b93822269e67262fa45cbc50c5ec562d60ef69b2338afd56421b2d74d97360823dd4252abb0faee83231e4b3fd3f7357ef0249be8721f48fe176e512c6f5e447 AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f +AUX 2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch 6677 BLAKE2B bca5a964e35201ab99df746c08f069a3d4d344a02c063f6e1785fc70bc6d6f96b62108558afdbcb634bec136a45ed7df5b27065031f96777ff723a411cb1ab35 SHA512 2dfab5b31a0a92812ca83a797fcbbb22ab08eea6e3550e464f21fbed6cb33e474fc54bc90aebcf98912406d6a6b1938609fb36ce6fddac7d0aab86a309dd3f95 AUX host.conf-1 826 BLAKE2B 32fe7f016325e781d477a0f855c32d0df12626edd11d58c0ec368fc579811b73e4851dec6bfca9e9f53d1c2de1bb2b3b4406e50b7f665870958d727fbeab2f87 SHA512 91102a5383b49199eceb94fb1ecd223ce0f585021de94dc1646af1095a220ba1acf540271af908da47a3ee1aa55c35f5f372d61e34d0e14f1718e67633a13e76 AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70 AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea @@ -39,8 +40,8 @@ EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880 EBUILD glibc-2.32-r8.ebuild 44853 BLAKE2B 724f95c0ed2cda18dc2edcaa03b0783a2bc603b72a67e1451535040ddc83be6d1a90ad4b30f9623140b5c0a329ecafb6f19793390137e629d43a3c26e202b28a SHA512 0973b86c266e40203e301cf0c6f8fddc4273c002ffb8fd6c16f6e78f2cfdfbea95fda04adfebb8ee84a14dc950763ba706eadadb2e83f7982b800bee636d5d8f EBUILD glibc-2.33-r13.ebuild 48597 BLAKE2B 2c2c6b6e5a730d57cca81fb33030a345ca69f1406141819e2856f5c85d8f6df1b03ef04418ee82bb7dddc6c1de77137af0f338763ed99399ab6e3a3a8d9301c0 SHA512 1cecb7b3d3b10a05713db0a1fa5cd06c1f1d38b9a3439cb37a131fa6bb4a311e7470f246a79d3080c898328b25821af2d3d121956710e6421caa685d893289a0 EBUILD glibc-2.33-r7.ebuild 46953 BLAKE2B 471614f6ad36d99057e29cfd6287db80bc232dfd6fc1bb54dfd3e5ef17ee725b5a94f54c76f228c610383d7de923e938037f959b4b64de21b9309b68d3cbb022 SHA512 5908adbf27b9a7e931d3f3cb27db2baccaa86ab634128b7ea64ab9742197211d49db13e9a65eb001b78cf31b3d62c9b4ae391e1be6ec5b109af2b33896253217 -EBUILD glibc-2.34-r10.ebuild 49374 BLAKE2B 22139f71f7cd94fb6a42141ba36ae71b735462f480d68d49ab75fd8c0ff4bb3a15ef0ff2d178514616fbae766fff993121a932f3a24afdc42e13aa00857020ed SHA512 076e804c040c5ce51f007e2aa9d305ebd524727b3e958628d946058131885cdc4211df68286500645a0201e8d4c5567106f438c19b147934a895b6a029953e3a +EBUILD glibc-2.34-r10.ebuild 49947 BLAKE2B 28c82f4bd5ca582b6edba04f2ba35c6ab0d9c361778f07d58b891da554b50fff53417e45bd939f4b387ccacce287733b5dd3d2e0a1ef70dad09d8c7d31493f62 SHA512 5a5daca54e4339ffaba58b40420438d11ac7f4badc547d02f99b6d4eace4c4861536e25233a69bc1f60bcef2dccf7145d2272b95bc05f9208204751491f6d5f0 EBUILD glibc-2.34-r9.ebuild 49374 BLAKE2B 9894a20a8ad6e46b2c933234394644d02f6d6eeaac61b7a450916d440c3862e37db39a990fa9384ac133b9610adf5f7d4dd1e0ac83ea995a04fbcccdccc60f28 SHA512 388af5e7c4efbf8528079945540ef5392686a4ae7664a6013571554b8cbb2768dab65fcf427829c9e76c1ac835dd6f01a039e155ae1a02c2b3e35e559e00d441 -EBUILD glibc-2.35.ebuild 48059 BLAKE2B 3a4926941ab73648e80a821a25f356aac1c866b123c51a4879547693c8874e2989ca3a401be37da5f7f2f914aa865302903f4a76ad6e99a43a0f00324a6e7d76 SHA512 fc5a972f021324816e5c07429db77d597f97dbded9ae01a68934465089a4d37923e2e46ce34355d097f503af8442fabffa3482da7214575391e232c29f1cf945 -EBUILD glibc-9999.ebuild 48059 BLAKE2B b8bc91107b0d8dc09a6408ccdce8dbd1d42f3410be7f4e5e41e54e1ef9b2692d9a1103c4ec49dbe4d9cc35a92badc4f85633c82e4a5e886cfe94909fb21377fd SHA512 45beafbd4c1cf6b2df6e2185b4704f5a83a2548a1d78fc20525ca0de1be0c4a8409033c75952fb726fe19ba757a874163be020d4e9b30159f0eab6987f0d8a6e +EBUILD glibc-2.35.ebuild 48397 BLAKE2B 099a3f5284ff39edd806315469591f063e8886ec3e7a0f14dc52b79aeffd429c7c9a7028858ab0682a2f44433731e40f767883386a1b7fc65b55925e48c88717 SHA512 fae6fb96b92cae23b8a99ba62c081abf215e93ad33c996d39909c6c3c87573e25e677108c0b27b99cf858b8605ccc4e8618e918265967a0515c1b3ce2d194ada +EBUILD glibc-9999.ebuild 48397 BLAKE2B e6971b17314533cbb60c8938b661cdd7caf066bdb5de6af8ef1af890e6182adb5f7f1e4b32261a2a6332ceaa8a48fb57e99114f5df110957f8d9034c943f9b2a SHA512 30c7006145e80bcd5b28ae8cbb8e86fd1204e9c197b1bf7434d86eb30be16a0a4da9cdc5fce87a534317861152459c89a4d1f38316293c23348f0f85078c8522 MISC metadata.xml 1701 BLAKE2B 91bd245d0a3685d76e3f874b50db872660054767fca5181871022fbdef9a18c4e674890bfed52cc3332c9557430ae8eec64505e67cdbedff000987406ab69ac5 SHA512 524edc37a01a47958ef557d586e8f06c6132481734ea28ed57e146969503fd129ad1da813a4d2d143a9bb8abe8810b0d8c920ab3c422a729287838435c44743a diff --git a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch new file mode 100644 index 000000000000..299a6dae7dbe --- /dev/null +++ b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch @@ -0,0 +1,214 @@ +https://sourceware.org/git/?p=glibc.git;a=patch;h=738ee53f0ce5e39b9b7a6777f5d3057afbaac498 +https://sourceware.org/git/?p=glibc.git;a=patch;h=d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 + +From 738ee53f0ce5e39b9b7a6777f5d3057afbaac498 Mon Sep 17 00:00:00 2001 +From: John David Anglin +Date: Tue, 15 Mar 2022 23:12:37 +0000 +Subject: [PATCH] hppa: Implement swapcontext in assembler (bug 28960) + +When swapcontext.c is compiled without -g, the following error occurs: +Error: CFI instruction used without previous .cfi_startproc + +Fix by converting swapcontext routine to assembler. +--- + sysdeps/unix/sysv/linux/hppa/swapcontext.S | 72 +++++++++++++++++++ + sysdeps/unix/sysv/linux/hppa/swapcontext.c | 83 ---------------------- + 2 files changed, 72 insertions(+), 83 deletions(-) + create mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.S + delete mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.c + +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +new file mode 100644 +index 0000000000..94b164dc63 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +@@ -0,0 +1,72 @@ ++/* Swap to new context. ++ Copyright (C) 2008-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 ++ . */ ++ ++#include ++#include "ucontext_i.h" ++ ++ .text ++ENTRY(__swapcontext) ++ ++ /* Copy rp to ret0 (r28). */ ++ copy %rp,%ret0 ++ ++ /* Create a frame. */ ++ ldo 64(%sp),%sp ++ .cfi_def_cfa_offset -64 ++ ++ /* Save the current machine context to oucp. */ ++ bl __getcontext,%rp ++ ++ /* Copy oucp to register ret1 (r29). __getcontext saves and ++ restores it on a normal return. It is restored from oR29 ++ on reactivation. */ ++ copy %r26,%ret1 ++ ++ /* Pop frame. */ ++ ldo -64(%sp),%sp ++ .cfi_def_cfa_offset 0 ++ ++ /* Load return pointer from oR28. */ ++ ldw oR28(%ret1),%rp ++ ++ /* Return if error. */ ++ or,= %r0,%ret0,%r0 ++ bv,n %r0(%rp) ++ ++ /* Load sc_sar flag. */ ++ ldb oSAR(%ret1),%r20 ++ ++ /* Return if oucp context has been reactivated. */ ++ or,= %r0,%r20,%r0 ++ bv,n %r0(%rp) ++ ++ /* Mark sc_sar flag. */ ++ ldi 1,%r20 ++ stb %r20,oSAR(%ret1) ++ ++ /* Activate the machine context in ucp. */ ++ bl __setcontext,%rp ++ ldw oR25(%ret1),%r26 ++ ++ /* Load return pointer. */ ++ ldw oR28(%ret1),%rp ++ bv,n %r0(%rp) ++ ++PSEUDO_END(__swapcontext) ++ ++weak_alias (__swapcontext, swapcontext) +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.c b/sysdeps/unix/sysv/linux/hppa/swapcontext.c +deleted file mode 100644 +index 1664f68c7b..0000000000 +--- a/sysdeps/unix/sysv/linux/hppa/swapcontext.c ++++ /dev/null +@@ -1,83 +0,0 @@ +-/* Swap to new context. +- Copyright (C) 2008-2021 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- Contributed by Helge Deller , 2008. +- +- 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 +- . */ +- +-#include +-#include "ucontext_i.h" +- +-extern int __getcontext (ucontext_t *ucp); +-extern int __setcontext (const ucontext_t *ucp); +- +-int +-__swapcontext (ucontext_t *oucp, const ucontext_t *ucp) +-{ +- /* Save rp for debugger. */ +- asm ("stw %rp,-20(%sp)"); +- asm (".cfi_offset 2, -20"); +- +- /* Copy rp to ret0 (r28). */ +- asm ("copy %rp,%ret0"); +- +- /* Create a frame. */ +- asm ("ldo 64(%sp),%sp"); +- asm (".cfi_def_cfa_offset -64"); +- +- /* Save the current machine context to oucp. */ +- asm ("bl __getcontext,%rp"); +- +- /* Copy oucp to register ret1 (r29). __getcontext saves and restores it +- on a normal return. It is restored from oR29 on reactivation. */ +- asm ("copy %r26,%ret1"); +- +- /* Pop frame. */ +- asm ("ldo -64(%sp),%sp"); +- asm (".cfi_def_cfa_offset 0"); +- +- /* Load return pointer from oR28. */ +- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28)); +- +- /* Return if error. */ +- asm ("or,= %r0,%ret0,%r0"); +- asm ("bv,n %r0(%rp)"); +- +- /* Load sc_sar flag. */ +- asm ("ldb %0(%%ret1),%%r20" : : "i" (oSAR)); +- +- /* Return if oucp context has been reactivated. */ +- asm ("or,= %r0,%r20,%r0"); +- asm ("bv,n %r0(%rp)"); +- +- /* Mark sc_sar flag. */ +- asm ("1: ldi 1,%r20"); +- asm ("stb %%r20,%0(%%ret1)" : : "i" (oSAR)); +- +- /* Activate the machine context in ucp. */ +- asm ("bl __setcontext,%rp"); +- asm ("ldw %0(%%ret1),%%r26" : : "i" (oR25)); +- +- /* Load return pointer. */ +- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28)); +- +- /* A successful call to setcontext does not return. */ +- asm ("bv,n %r0(%rp)"); +- +- /* Make gcc happy. */ +- return 0; +-} +- +-weak_alias (__swapcontext, swapcontext) +-- +2.27.0 + + +From d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 Mon Sep 17 00:00:00 2001 +From: John David Anglin +Date: Tue, 15 Mar 2022 23:04:39 +0000 +Subject: [PATCH] hppa: Use END instead of PSEUDO_END in swapcontext.S + +(cherry picked from commit 7a5c440102d4ec7fafd9bbd98eca9bd90ecaaafd) +--- + sysdeps/unix/sysv/linux/hppa/swapcontext.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +index 94b164dc63..fbc22586d1 100644 +--- a/sysdeps/unix/sysv/linux/hppa/swapcontext.S ++++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S +@@ -67,6 +67,6 @@ ENTRY(__swapcontext) + ldw oR28(%ret1),%rp + bv,n %r0(%rp) + +-PSEUDO_END(__swapcontext) ++END(__swapcontext) + + weak_alias (__swapcontext, swapcontext) +-- +2.27.0 diff --git a/sys-libs/glibc/glibc-2.34-r10.ebuild b/sys-libs/glibc/glibc-2.34-r10.ebuild index 5c7b4c9a1936..e5b596095245 100644 --- a/sys-libs/glibc/glibc-2.34-r10.ebuild +++ b/sys-libs/glibc/glibc-2.34-r10.ebuild @@ -46,7 +46,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -525,9 +525,11 @@ setup_env() { # a good start into that direction. # Also, if you're crosscompiling, let's assume you know what you are doing. # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... - local current_binutils_path=$(binutils-config -B) - local current_gcc_path=$(gcc-config -B) + local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -760,6 +762,14 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + if [[ ${CTARGET} == *-linux* ]] ; then local run_kv build_kv want_kv @@ -863,13 +873,13 @@ src_prepare() { einfo "Done." fi - if use clone3 ; then - append-cppflags -DGENTOO_USE_CLONE3 - else - # See e.g. bug #827386, bug #819045. - elog "Disabling the clone3 syscall for compatibility with older Electron apps." - elog "Please re-enable this flag before filing bugs!" - fi + # Contained within our next patchset version but build-time only fix + # (pretty much, anyway) so just apply manually here for now until + # next patchset version rolled. + eapply "${FILESDIR}"/2.34/${P}-hppa-asm-getcontext-fixes.patch + + # TODO: We can drop this once patch is gone from our patchset + append-cppflags -DGENTOO_USE_CLONE3 default diff --git a/sys-libs/glibc/glibc-2.35.ebuild b/sys-libs/glibc/glibc-2.35.ebuild index b37bf4d692ac..0237132b9373 100644 --- a/sys-libs/glibc/glibc-2.35.ebuild +++ b/sys-libs/glibc/glibc-2.35.ebuild @@ -44,7 +44,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -515,9 +515,11 @@ setup_env() { # a good start into that direction. # Also, if you're crosscompiling, let's assume you know what you are doing. # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... - local current_binutils_path=$(binutils-config -B) - local current_gcc_path=$(gcc-config -B) + local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -750,6 +752,14 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + if [[ ${CTARGET} == *-linux* ]] ; then local run_kv build_kv want_kv @@ -850,13 +860,8 @@ src_prepare() { einfo "Done." fi - if use clone3 ; then - append-cppflags -DGENTOO_USE_CLONE3 - else - # See e.g. bug #827386, bug #819045. - elog "Disabling the clone3 syscall for compatibility with older Electron apps." - elog "Please re-enable this flag before filing bugs!" - fi + # TODO: We can drop this once patch is gone from our patchset + append-cppflags -DGENTOO_USE_CLONE3 default diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild index 6928c0dc4788..f9c41f6d8ccc 100644 --- a/sys-libs/glibc/glibc-9999.ebuild +++ b/sys-libs/glibc/glibc-9999.ebuild @@ -44,7 +44,7 @@ SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${L SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )" SRC_URI+=" systemd? ( https://gitweb.gentoo.org/proj/toolchain/glibc-systemd.git/snapshot/glibc-systemd-${GLIBC_SYSTEMD_VER}.tar.gz )" -IUSE="audit caps cet +clone3 compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" +IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs suid systemd systemtap test vanilla" # Minimum kernel version that glibc requires MIN_KERN_VER="3.2.0" @@ -515,9 +515,11 @@ setup_env() { # a good start into that direction. # Also, if you're crosscompiling, let's assume you know what you are doing. # Hopefully. + # Last, we need the settings of the *build* environment, not of the + # target environment... - local current_binutils_path=$(binutils-config -B) - local current_gcc_path=$(gcc-config -B) + local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B) + local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B) einfo "Overriding clang configuration, since it won't work here" export CC="${current_gcc_path}/gcc" @@ -750,6 +752,14 @@ sanity_prechecks() { # When we actually have to compile something... if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then + if [[ -d "${ESYSROOT}"/usr/lib/include ]] ; then + # bug #833620, bug #643302 + eerror "Found ${ESYSROOT}/usr/lib/include directory!" + eerror "This is known to break glibc's build." + eerror "Please backup its contents then remove the directory." + die "Found directory (${ESYSROOT}/usr/lib/include) which will break build (bug #833620)!" + fi + if [[ ${CTARGET} == *-linux* ]] ; then local run_kv build_kv want_kv @@ -850,13 +860,8 @@ src_prepare() { einfo "Done." fi - if use clone3 ; then - append-cppflags -DGENTOO_USE_CLONE3 - else - # See e.g. bug #827386, bug #819045. - elog "Disabling the clone3 syscall for compatibility with older Electron apps." - elog "Please re-enable this flag before filing bugs!" - fi + # TODO: We can drop this once patch is gone from our patchset + append-cppflags -DGENTOO_USE_CLONE3 default -- cgit v1.2.3