summaryrefslogtreecommitdiff
path: root/sys-libs/glibc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-04-06 22:33:41 +0100
commite68d405c5d712af4387159df07e226217bdda049 (patch)
tree009ab0f3d427f0813e62930d71802cb054c07e30 /sys-libs/glibc
parent401101f9c8077911929d3f2b60a37098460a5d89 (diff)
gentoo resync : 06.04.2022
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/Manifest18
-rw-r--r--sys-libs/glibc/glibc-2.33-r13.ebuild2
-rw-r--r--sys-libs/glibc/glibc-2.34-r10.ebuild3
-rw-r--r--sys-libs/glibc/glibc-2.34-r11.ebuild (renamed from sys-libs/glibc/glibc-2.34-r9.ebuild)17
-rw-r--r--sys-libs/glibc/glibc-2.35-r1.ebuild (renamed from sys-libs/glibc/glibc-2.35.ebuild)13
-rw-r--r--sys-libs/glibc/glibc-2.35-r2.ebuild (renamed from sys-libs/glibc/glibc-2.33-r7.ebuild)311
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild8
7 files changed, 207 insertions, 165 deletions
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 041b1af7e3d8..e08b2cc3c473 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -22,12 +22,12 @@ DIST glibc-2.31.tar.xz 16676764 BLAKE2B 91df1792345f157265eae405185a81fd4b8ce36d
DIST glibc-2.32-patches-8.tar.xz 65532 BLAKE2B 00c572cff396e52313d0324f7bc28192a65f06b22fc5a04aa631b76b3016842365006399715531ee693f3519720edcebef7884247f2f8c19e3518c1ddafab7cc SHA512 5240bc3a6df46d12c03ea4ce7b1a0df85301256ae3bd003fd04c61dadaaec34998873bf20544d891f6eedf896302bb916010aebc1d8d646a3cce09a93b533d0b
DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6e88a8453621f9a5394a60ddf10ca9309b2db0911830c7fd77e3faa5d94694eb94d5b2c05fc5285cef52255da SHA512 8460c155b7003e04f18dabece4ed9ad77445fa2288a7dc08e80a8fc4c418828af29e0649951bd71a54ea2ad2d4da7570aafd9bdfe4a37e9951b772b442afe50b
DIST glibc-2.33-patches-11.tar.xz 143916 BLAKE2B ac13b3ccf9681bb6d3c35ecc33e268ea3f67c1809f916019e692dc83e3ce809402a45548da5ca6c7c30d2a45a2638f9fa4254c0355bd4c53bdb216f17aa4e28b SHA512 0ee1dfcf9574543d49ab4fbfe53571258422b6e82b9d12a33e411cee7e517821a4c45c24962b5120783a4efc898afdfa170d33486cc74d94c526bdd14cc84300
-DIST glibc-2.33-patches-6.tar.xz 64632 BLAKE2B f04ca4320d65c8796c67471cb56d3bf002cc34fb6a81075b85948e41c94df46cb2a3a944cced42d6d2c17ffc11e32a9840810864e655cc0fe18e6e0fe9f3c985 SHA512 b95746cd3415ec9ca275e542a2b5fddd5ce5680aa3bda08e94e96cf431191f7488ef6b7999ff0dfaf7405a4212531a75283e9bd7f5ae65bf572912038877a6df
DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb
-DIST glibc-2.34-patches-14.tar.xz 139608 BLAKE2B 4560fd35209c5062ba28062d413ae2b2e7134918b71c9b6a1fe14392aecdac1261981627ca6862c7c7c60490f0df178c8b5650c5b3c2b5a96baf6d6e2ce1892f SHA512 e924b704234489ba7d04794f3260b3af27ae6703db38ed7832db9a90d0d1f48beab30392642ac9c88cf9010d024019db25600805c0746a50d81e612c8d09b422
DIST glibc-2.34-patches-15.tar.xz 146124 BLAKE2B f679f0fc27780173875178537cf996cbfb59bb844566388df0c351dec125eb02070571d4e2852742b43933d09c7a148a39bbc7b2b71fffebd7b8d9d3c16850ac SHA512 5224613e2288fcf027be224001306a84019ebe741114ee1b09d3de9b269dad0280a6dc4d88f4bc38dace501b2944a0098972589a1560756cb3da7e1b7341d672
+DIST glibc-2.34-patches-16.tar.xz 164648 BLAKE2B 78786a67109812942ac11bee9a880b9383aa61d0c2b006e3e7e635218842f49c6ce5b7c75597f7d317aa18fede0ca0c79a4bd436b8659ba6a2f1953848484d2a SHA512 acfc91e821cd8b4e57907c7aeaf1eac0bae1f8e244e4011f27819a8ba16a4e9c10fc675c6aaff992be81bba9373ec981fb598838f26aa247e7bd016e2cd786d2
DIST glibc-2.34.tar.xz 17301232 BLAKE2B 874031192f2f5a3b35c3f5b044a467d4be4e67e8593e070e5b49b901ce8ea6bde2f8d2f6c92fa33b3f61eb723572a9e5f2b45e56064168df80a96d3fdb6fa30c SHA512 15252affd9ef4523a8001db16d497f4fdcb3ddf4cde7fe80e075df0bd3cc6524dc29fbe20229dbf5f97af580556e6b1fac0de321a5fe25322bc3e72f93beb624
-DIST glibc-2.35-patches-3.tar.xz 29992 BLAKE2B aaf615d7cd2c2a00b47f3470ce92c080ffd0e7d768bf724d7e3a9ea50f161a550d9ff3c3c0734e3b00afec67d471aa04b74e050b738bf6e669720a646dab89cb SHA512 203726f333fe1d1db41c81c46cf997bdbe02409a38c4e9f8e9274512d121ad1f9412391828af8b129879e9104c58ca0a1b6f7427abfc32a161f33bd48fa44179
+DIST glibc-2.35-patches-4.tar.xz 45456 BLAKE2B 47e1c5e4db4969da27f14816ac9b856f3a57e152139e071f0fd0ecf53b7ac2a0372a8dec7e9e51808d463d2e5b12a6acc9145bb0127a7f36cf1d19b96a0efa41 SHA512 39ca84ed5f3e74bccb8875a77188bb16f6b45b1b22843b4ccf8a7f792d35e05e8305929fbeede290ebb128722caf8277da03dbf4aee9261940765f8dfcd01561
+DIST glibc-2.35-patches-5.tar.xz 45632 BLAKE2B b49161139e8a9e6f4351b5954f38eaa3b0b16a444c370b906e2fcac8eb25c306e6f95474063e511a4f8bf48c0eade9509a6158a1019e32ec4b95c49f992405eb SHA512 5bf20061f24ad087aa0f22808cb0dfd810e5413e71dc9b9c7ec0e9cecd172c40e3517e0a151294175351cf0e037e9c35d8b50ba391a312976e7c4103845089e4
DIST glibc-2.35.tar.xz 18165952 BLAKE2B 623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063 SHA512 e7336ce27561be5d7c217832a1136fb327e057bd8d3f92925b35c97e3e9f9e486948b5a1e03e5e4090772ef06437a074d10b82e68f17f1ad8f22077ee39e1b66
DIST glibc-systemd-20210729.tar.gz 1480 BLAKE2B 37722c7579df782d890e44dbab99c3de52ab466eb9de80d82405e9bb5620bf39ffc8c5f466a435bdb86ef6d36dd7019c0736573916bda6c67d02a2581e0ec979 SHA512 efd75af58b50522c28cdac7abd1fc56555bc1bb042512c90d8340c1ec09c5791b3872a305bf83723252bbde5855b75d958c041083457765c4cfd170732d09238
DIST glibc-systemd-20210814.tar.gz 1469 BLAKE2B 10fa7bcb46d4fdce9c0ab353cbd30871e9b09a347a13a9c9a3b5777f931aa3c826c158d2e49532c604d4a834f2fab4089b67495fb88d0398945dc50d45ad9ef1 SHA512 5346a9ea459a1e6ccf665389f2a294de1e16f1e3e05cdf07e3dd99ed0e4f6f8b52cc333d4bff3c75ac90ab6ce70cd4ab2b3e126f920ce7979abd6dda56315efc
@@ -38,10 +38,10 @@ EBUILD glibc-2.19-r2.ebuild 38454 BLAKE2B 6019c17c3cd333132abd3d88afd019367d451e
EBUILD glibc-2.30-r9.ebuild 43400 BLAKE2B 01cbb9398dbe5d93f110f7c7ffe24d40719d86a3c75cea84c9bdf935613cc6ca91739c296956bb7e79bdbf2c5777922781cffc6cfb49ab5b2c02bf37562da11f SHA512 52607c950351f65b55ba702e3509748807a9eb8ff0d1eefb58369fb24ce49e2e0f00a0a74418877190c68d85d514d479a6f91fb6b868fe949a8be77a9bbce1db
EBUILD glibc-2.31-r7.ebuild 44522 BLAKE2B 1adfba68c35d3af5ec8476b2fe5d3bebf13880eeacb5aaa8438b41b98f5b275f0816a0e654446f62ee2f34f412c5c6e72befcc0deb8988b6faec2c53a07601a9 SHA512 5247b1d75efa86b1a1c85a09219f54d402aae8aaecf0e377ca663a984daf7c69ea97b3072fe83a20002ec7d72661ec7737fbc72982122b58c26cb5bc89997548
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 49947 BLAKE2B 28c82f4bd5ca582b6edba04f2ba35c6ab0d9c361778f07d58b891da554b50fff53417e45bd939f4b387ccacce287733b5dd3d2e0a1ef70dad09d8c7d31493f62 SHA512 5a5daca54e4339ffaba58b40420438d11ac7f4badc547d02f99b6d4eace4c4861536e25233a69bc1f60bcef2dccf7145d2272b95bc05f9208204751491f6d5f0
-EBUILD glibc-2.34-r9.ebuild 49374 BLAKE2B 9894a20a8ad6e46b2c933234394644d02f6d6eeaac61b7a450916d440c3862e37db39a990fa9384ac133b9610adf5f7d4dd1e0ac83ea995a04fbcccdccc60f28 SHA512 388af5e7c4efbf8528079945540ef5392686a4ae7664a6013571554b8cbb2768dab65fcf427829c9e76c1ac835dd6f01a039e155ae1a02c2b3e35e559e00d441
-EBUILD glibc-2.35.ebuild 48397 BLAKE2B 099a3f5284ff39edd806315469591f063e8886ec3e7a0f14dc52b79aeffd429c7c9a7028858ab0682a2f44433731e40f767883386a1b7fc65b55925e48c88717 SHA512 fae6fb96b92cae23b8a99ba62c081abf215e93ad33c996d39909c6c3c87573e25e677108c0b27b99cf858b8605ccc4e8618e918265967a0515c1b3ce2d194ada
-EBUILD glibc-9999.ebuild 48397 BLAKE2B e6971b17314533cbb60c8938b661cdd7caf066bdb5de6af8ef1af890e6182adb5f7f1e4b32261a2a6332ceaa8a48fb57e99114f5df110957f8d9034c943f9b2a SHA512 30c7006145e80bcd5b28ae8cbb8e86fd1204e9c197b1bf7434d86eb30be16a0a4da9cdc5fce87a534317861152459c89a4d1f38316293c23348f0f85078c8522
+EBUILD glibc-2.33-r13.ebuild 48593 BLAKE2B 59c4e32d200c6b8fe1e365361c9cc4f4d7f93ab861e93fb13cb9bc0cc8e2d4f3a2f1f8f394570e186398858afc6d844188581f18a8eb7c0964ab73a147be9dcb SHA512 7003a462e28abef982330ab6fc29b836176c3e1943605bd04c907c40376de812783ebcd74a91305a9f86df7c0a75494a29f2187848bc75e6b42198704c514001
+EBUILD glibc-2.34-r10.ebuild 50001 BLAKE2B 569369e9282e8ebbf4d91539cb5eb841a24ff09f3232d29c35a4f7b9b944598a1ba0bfebc711bd45ecbece053b7c4bded5964147f43e7c31ed4294f8747a73ab SHA512 0c44609cb2de6cf8a6652bfcc5494657fec781429be2e6af446617c082d6e64363245e61a6863a633c368eec40c08f400b953ea59826feb6f6287a27d886181d
+EBUILD glibc-2.34-r11.ebuild 49924 BLAKE2B 8ba10991163057f4c222655385b1dea053d5e11e7e0803934f8c26c7b32b6205b4d34bafafb2f458aa4bdb9a52d1130e1bfecd848426ebbb77bc3aa365f09dbd SHA512 0a7528fb68aee14fa568b8a708c1c3904db8e6b82272f041bd25eb3dcfea2cf3856de710db2917a29ca15a609d641d1cebb21d278836bd0b1b4f69f540c3d920
+EBUILD glibc-2.35-r1.ebuild 48339 BLAKE2B d837073cf2e62d8cb5d6f50f1b48db0ac5d0954f6407784622ea79709fb4750f08d24ffc702d83747671b27589370640a451dea2262ea452e34327ede556ce68 SHA512 0cbc1074684f2ed48317a5face037db43de562693ffd356068eaa4160b063c01155b258fe79e47359d0400c9f50f40f1876d92eef351106974b5be6b29220077
+EBUILD glibc-2.35-r2.ebuild 48595 BLAKE2B 71e23df6bd8d8c32b6106626f0c2d4d9d37c96f49f3cccb63298b962b6a815455922ce8d26a9be8d97aaf6dfe51104be2c27d70a2007e8e469bc2df872607a70 SHA512 60f8bdc66537a5a75fbf0dcfee9f871f0891835e151ec60668923e904fafa25c6bccf4ecb37a750b921bc986763b8d2526ec843acc0d095beb9060a711805a4b
+EBUILD glibc-9999.ebuild 48353 BLAKE2B 4b6dcf3ad0f00353da09c79feff38afe383f0b0befc347721791aad9787d5363f434e483faa68c49cf0944c7328cfcbdc767093bcaf95e37224197e4af8db84b SHA512 2431d7ab441e919a294e4c6a960292761d313e185c72391c0e9ffebaf7cd165ab6598ed328df2755d76fe54fd57d76c0cb0fb34987ae6c719bc4edb140924a94
MISC metadata.xml 1701 BLAKE2B 91bd245d0a3685d76e3f874b50db872660054767fca5181871022fbdef9a18c4e674890bfed52cc3332c9557430ae8eec64505e67cdbedff000987406ab69ac5 SHA512 524edc37a01a47958ef557d586e8f06c6132481734ea28ed57e146969503fd129ad1da813a4d2d143a9bb8abe8810b0d8c920ab3c422a729287838435c44743a
diff --git a/sys-libs/glibc/glibc-2.33-r13.ebuild b/sys-libs/glibc/glibc-2.33-r13.ebuild
index e36db8a12a6d..cf8ae91b27fa 100644
--- a/sys-libs/glibc/glibc-2.33-r13.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r13.ebuild
@@ -29,7 +29,7 @@ PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
diff --git a/sys-libs/glibc/glibc-2.34-r10.ebuild b/sys-libs/glibc/glibc-2.34-r10.ebuild
index e5b596095245..0bc6be3e278b 100644
--- a/sys-libs/glibc/glibc-2.34-r10.ebuild
+++ b/sys-libs/glibc/glibc-2.34-r10.ebuild
@@ -29,7 +29,7 @@ PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
@@ -805,6 +805,7 @@ upgrade_warning() {
ewarn "After upgrading glibc, please restart all running processes."
ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
break
fi
done
diff --git a/sys-libs/glibc/glibc-2.34-r9.ebuild b/sys-libs/glibc/glibc-2.34-r11.ebuild
index eb9c72edf011..ff5bd4304774 100644
--- a/sys-libs/glibc/glibc-2.34-r9.ebuild
+++ b/sys-libs/glibc/glibc-2.34-r11.ebuild
@@ -23,7 +23,7 @@ SLOT="2.2"
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=14
+PATCH_VER=16
PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
@@ -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="${BROOT}" binutils-config -B)
+ local current_gcc_path=$(env ROOT="${BROOT}" 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
@@ -795,6 +805,7 @@ upgrade_warning() {
ewarn "After upgrading glibc, please restart all running processes."
ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
break
fi
done
diff --git a/sys-libs/glibc/glibc-2.35.ebuild b/sys-libs/glibc/glibc-2.35-r1.ebuild
index 0237132b9373..891974bc21c4 100644
--- a/sys-libs/glibc/glibc-2.35.ebuild
+++ b/sys-libs/glibc/glibc-2.35-r1.ebuild
@@ -20,14 +20,13 @@ SLOT="2.2"
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=3
+PATCH_VER=4
PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- KEYWORDS=""
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
@@ -518,8 +517,8 @@ setup_env() {
# Last, we need the settings of the *build* environment, not of the
# target environment...
- local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B)
+ local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
+ local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
einfo "Overriding clang configuration, since it won't work here"
export CC="${current_gcc_path}/gcc"
@@ -795,6 +794,7 @@ upgrade_warning() {
ewarn "After upgrading glibc, please restart all running processes."
ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
break
fi
done
@@ -860,9 +860,6 @@ src_prepare() {
einfo "Done."
fi
- # TODO: We can drop this once patch is gone from our patchset
- append-cppflags -DGENTOO_USE_CLONE3
-
default
gnuconfig_update
diff --git a/sys-libs/glibc/glibc-2.33-r7.ebuild b/sys-libs/glibc/glibc-2.35-r2.ebuild
index 9c12fe15458e..6a0d35ce8ad5 100644
--- a/sys-libs/glibc/glibc-2.33-r7.ebuild
+++ b/sys-libs/glibc/glibc-2.35-r2.ebuild
@@ -3,10 +3,10 @@
EAPI=7
-# We avoid Python 3.10 here _for now_ (it does work!) to avoid circular dependencies
-# on upgrades as people migrate to libxcrypt.
-# https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies#Python_and_libcrypt
-PYTHON_COMPAT=( python3_{7,8,9} )
+# Bumping notes: https://wiki.gentoo.org/wiki/Project:Toolchain/sys-libs/glibc
+# Please read & adapt the page as necessary if obsolete.
+
+PYTHON_COMPAT=( python3_{8,9,10} )
TMPFILES_OPTIONAL=1
inherit python-any-r1 prefix preserve-libs toolchain-funcs flag-o-matic gnuconfig \
@@ -20,13 +20,13 @@ SLOT="2.2"
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=6
+PATCH_VER=5
PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
fi
@@ -35,18 +35,21 @@ RELEASE_VER=${PV}
GCC_BOOTSTRAP_VER=20201208
-LOCALE_GEN_VER=2.10
+LOCALE_GEN_VER=2.22
-GLIBC_SYSTEMD_VER=20210814
+GLIBC_SYSTEMD_VER=20210729
SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
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 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 +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"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
+# Minimum pax-utils version needed (which contains any new syscall changes for
+# its seccomp filter!). Please double check this!
+MIN_PAX_UTILS_VER="1.3.3"
# Here's how the cross-compile logic breaks down ...
# CTARGET - machine that will target the binaries
@@ -100,7 +103,7 @@ fi
BDEPEND="
${PYTHON_DEPS}
- >=app-misc/pax-utils-1.3.1
+ >=app-misc/pax-utils-${MIN_PAX_UTILS_VER}
sys-devel/bison
doc? ( sys-apps/texinfo )
!compile-locales? (
@@ -132,7 +135,7 @@ RDEPEND="${COMMON_DEPEND}
sys-apps/grep
virtual/awk
sys-apps/gentoo-functions
- !<app-misc/pax-utils-1.3.1
+ !<app-misc/pax-utils-${MIN_PAX_UTILS_VER}
!<net-misc/openssh-8.1_p1-r2
"
@@ -141,13 +144,13 @@ RESTRICT="!test? ( test )"
if [[ ${CATEGORY} == cross-* ]] ; then
BDEPEND+=" !headers-only? (
>=${CATEGORY}/binutils-2.27
- >=${CATEGORY}/gcc-6
+ >=${CATEGORY}/gcc-6.2
)"
[[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
else
BDEPEND+="
>=sys-devel/binutils-2.27
- >=sys-devel/gcc-6
+ >=sys-devel/gcc-6.2
"
DEPEND+=" virtual/os-headers "
RDEPEND+="
@@ -163,18 +166,16 @@ GENTOO_GLIBC_XFAIL_TESTS="${GENTOO_GLIBC_XFAIL_TESTS:-yes}"
# The following tests fail due to the Gentoo build system and are thus
# executed but ignored:
XFAIL_TEST_LIST=(
- # 9) Failures of unknown origin
- tst-latepthread
-
# buggy test, assumes /dev/ and /dev/null on a single filesystem
# 'mount --bind /dev/null /chroot/dev/null' breaks it.
# https://sourceware.org/PR25909
tst-support_descriptors
- # Flaky test, known to fail occasionally:
- # https://sourceware.org/PR19329
- # https://bugs.gentoo.org/719674#c12
- tst-stack4
+ # The following tests fail only inside portage
+ # https://bugs.gentoo.org/831267
+ tst-system
+ tst-strerror
+ tst-strsignal
)
#
@@ -247,8 +248,8 @@ do_compile_test() {
rm -f glibc-test*
printf '%b' "$*" > glibc-test.c
- # Most of the time CC is already set, but not in early sanity checks.
- nonfatal emake glibc-test CC="${CC-$(tc-getCC ${CTARGET})}"
+ # We assume CC is already set up.
+ nonfatal emake glibc-test
ret=$?
popd >/dev/null
@@ -394,6 +395,7 @@ setup_flags() {
filter-flags '-O?'
append-flags -O2
fi
+
strip-unsupported-flags
filter-flags -m32 -m64 '-mabi=*'
@@ -407,6 +409,9 @@ setup_flags() {
# #492892
filter-flags -frecord-gcc-switches
+ # #829583
+ filter-lfs-flags
+
unset CBUILD_OPT CTARGET_OPT
if use multilib ; then
CTARGET_OPT=$(get_abi_CTARGET)
@@ -426,33 +431,6 @@ setup_flags() {
filter-flags '-fstack-protector*'
}
-want_tls() {
- # Archs that can use TLS (Thread Local Storage)
- case $(tc-arch) in
- x86)
- # requires i486 or better #106556
- [[ ${CTARGET} == i[4567]86* ]] && return 0
- return 1
- ;;
- esac
- return 0
-}
-
-want__thread() {
- want_tls || return 1
-
- # For some reason --with-tls --with__thread is causing segfaults on sparc32.
- [[ ${PROFILE_ARCH} == "sparc" ]] && return 1
-
- [[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
-
- # only test gcc -- can't test linking yet
- tc-has-tls -c ${CTARGET}
- WANT__THREAD=$?
-
- return ${WANT__THREAD}
-}
-
use_multiarch() {
# Allow user to disable runtime arch detection in multilib.
use multiarch || return 1
@@ -508,14 +486,106 @@ setup_env() {
einfo "Skip CC ABI injection. We can't use (cross-)compiler yet."
return 0
fi
- local VAR=CFLAGS_${ABI}
+
+ # Glibc does not work with gold (for various reasons) #269274.
+ tc-ld-disable-gold
+
+ if use doc ; then
+ export MAKEINFO=makeinfo
+ else
+ export MAKEINFO=/dev/null
+ fi
+
+ # Reset CC and CXX to the value at start of emerge
+ export CC=${__ORIG_CC:-${CC:-$(tc-getCC ${CTARGET})}}
+ export CXX=${__ORIG_CXX:-${CXX:-$(tc-getCXX ${CTARGET})}}
+
+ # and make sure __ORIC_CC and __ORIG_CXX is defined now.
+ export __ORIG_CC=${CC}
+ export __ORIG_CXX=${CXX}
+
+ if tc-is-clang && ! use custom-cflags && ! is_crosscompile ; then
+
+ # If we are running in an otherwise clang/llvm environment, we need to
+ # recover the proper gcc and binutils settings here, at least until glibc
+ # is finally building with clang. So let's override everything that is
+ # set in the clang profiles.
+ # Want to shoot yourself into the foot? Set USE=custom-cflags, that's always
+ # 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=$(env ROOT="${BROOT}" binutils-config -B)
+ local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
+ einfo "Overriding clang configuration, since it won't work here"
+
+ export CC="${current_gcc_path}/gcc"
+ export CXX="${current_gcc_path}/g++"
+ export LD="${current_binutils_path}/ld.bfd"
+ export AR="${current_binutils_path}/ar"
+ export AS="${current_binutils_path}/as"
+ export NM="${current_binutils_path}/nm"
+ export STRIP="${current_binutils_path}/strip"
+ export RANLIB="${current_binutils_path}/ranlib"
+ export OBJCOPY="${current_binutils_path}/objcopy"
+ export STRINGS="${current_binutils_path}/strings"
+ export OBJDUMP="${current_binutils_path}/objdump"
+ export READELF="${current_binutils_path}/readelf"
+ export ADDR2LINE="${current_binutils_path}/addr2line"
+
+ # do we need to also do flags munging here? yes! at least...
+ filter-flags '-fuse-ld=*'
+ filter-flags '-D_FORTIFY_SOURCE=*'
+
+ else
+
+ # this is the "normal" case
+
+ export CC="$(tc-getCC ${CTARGET})"
+ export CXX="$(tc-getCXX ${CTARGET})"
+
+ # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
+ # can't detect them automatically due to ${CHOST} mismatch and fallbacks
+ # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
+ export NM="$(tc-getNM ${CTARGET})"
+ export READELF="$(tc-getREADELF ${CTARGET})"
+
+ fi
+
# We need to export CFLAGS with abi information in them because glibc's
# configure script checks CFLAGS for some targets (like mips). Keep
# around the original clean value to avoid appending multiple ABIs on
- # top of each other.
- : ${__GLIBC_CC:=$(tc-getCC ${CTARGET})}
- export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
- einfo " $(printf '%15s' 'Manual CC:') ${CC}"
+ # top of each other. (Why does the comment talk about CFLAGS if the code
+ # acts on CC?)
+ export __GLIBC_CC=${CC}
+ export __GLIBC_CXX=${CXX}
+
+ export __abi_CFLAGS="$(get_abi_CFLAGS)"
+
+ # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
+ # To build .S (assembly) files with the same ABI-specific flags
+ # upstream currently recommends adding CFLAGS to CC/CXX:
+ # https://sourceware.org/PR23273
+ # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
+ # and breaks multiarch support. See 659030#c3 for an example.
+ # The glibc configure script doesn't properly use LDFLAGS all the time.
+ export CC="${__GLIBC_CC} ${__abi_CFLAGS} ${CFLAGS} ${LDFLAGS}"
+
+ # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
+ export CXX="${__GLIBC_CXX} ${__abi_CFLAGS} ${CFLAGS}"
+
+ if is_crosscompile; then
+ # Assume worst-case bootstrap: glibc is buil first time
+ # when ${CTARGET}-g++ is not available yet. We avoid
+ # building auxiliary programs that require C++: bug #683074
+ # It should not affect final result.
+ export libc_cv_cxx_link_ok=no
+ # The line above has the same effect. We set CXX explicitly
+ # to make build logs less confusing.
+ export CXX=
+ fi
}
foreach_abi() {
@@ -663,7 +733,7 @@ sanity_prechecks() {
ebegin "Checking that IA32 emulation is enabled in the running kernel"
echo 'int main(){return 0;}' > "${T}/check-ia32-emulation.c"
local STAT
- if "${CC-${CHOST}-gcc}" ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
+ if ${CC-${CHOST}-gcc} ${CFLAGS_x86} "${T}/check-ia32-emulation.c" -o "${T}/check-ia32-emulation.elf32"; then
"${T}/check-ia32-emulation.elf32"
STAT=$?
else
@@ -681,12 +751,12 @@ sanity_prechecks() {
# When we actually have to compile something...
if ! just_headers && [[ ${MERGE_TYPE} != "binary" ]] ; then
- ebegin "Checking gcc for __thread support"
- if ! eend $(want__thread ; echo $?) ; then
- echo
- eerror "Could not find a gcc that supports the __thread directive!"
- eerror "Please update your binutils/gcc and try again."
- die "No __thread support in gcc!"
+ 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
@@ -716,6 +786,21 @@ sanity_prechecks() {
fi
}
+upgrade_warning() {
+ if [[ ${MERGE_TYPE} != buildonly && -n ${REPLACING_VERSIONS} && -z ${ROOT} ]]; then
+ local oldv newv=$(ver_cut 1-2 ${PV})
+ for oldv in ${REPLACING_VERSIONS}; do
+ if ver_test ${oldv} -lt ${newv}; then
+ ewarn "After upgrading glibc, please restart all running processes."
+ ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
+ ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
+ break
+ fi
+ done
+ fi
+}
+
#
# the phases
#
@@ -723,9 +808,7 @@ sanity_prechecks() {
# pkg_pretend
pkg_pretend() {
- # All the checks...
- einfo "Checking general environment sanity."
- sanity_prechecks
+ upgrade_warning
}
pkg_setup() {
@@ -736,13 +819,13 @@ pkg_setup() {
# src_unpack
src_unpack() {
- # Consistency is not guaranteed between pkg_ and src_ ...
+ setup_env
+
+ einfo "Checking general environment sanity."
sanity_prechecks
use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
- setup_env
-
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/glibc-patches.git"
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
@@ -777,6 +860,14 @@ 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
+
default
gnuconfig_update
@@ -797,78 +888,18 @@ src_prepare() {
}
glibc_do_configure() {
- # Glibc does not work with gold (for various reasons) #269274.
- tc-ld-disable-gold
-
- # CXX isnt handled by the multilib system, so if we dont unset here
- # we accumulate crap across abis
- unset CXX
-
- einfo "Configuring glibc for nptl"
-
- if use doc ; then
- export MAKEINFO=makeinfo
- else
- export MAKEINFO=/dev/null
- fi
local v
- for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM READELF; do
+ for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CXX LD {AS,C,CPP,CXX,LD}FLAGS MAKEINFO NM AR AS STRIP RANLIB OBJCOPY STRINGS OBJDUMP READELF; do
einfo " $(printf '%15s' ${v}:) ${!v}"
done
- # CFLAGS can contain ABI-specific flags like -mfpu=neon, see bug #657760
- # To build .S (assembly) files with the same ABI-specific flags
- # upstream currently recommends adding CFLAGS to CC/CXX:
- # https://sourceware.org/PR23273
- # Note: Passing CFLAGS via CPPFLAGS overrides glibc's arch-specific CFLAGS
- # and breaks multiarch support. See 659030#c3 for an example.
- # The glibc configure script doesn't properly use LDFLAGS all the time.
- export CC="$(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS}"
- einfo " $(printf '%15s' 'Manual CC:') ${CC}"
-
- # Some of the tests are written in C++, so we need to force our multlib abis in, bug 623548
- export CXX="$(tc-getCXX ${CTARGET}) $(get_abi_CFLAGS) ${CFLAGS}"
-
- if is_crosscompile; then
- # Assume worst-case bootstrap: glibc is buil first time
- # when ${CTARGET}-g++ is not available yet. We avoid
- # building auxiliary programs that require C++: bug #683074
- # It should not affect final result.
- export libc_cv_cxx_link_ok=no
- # The line above has the same effect. We set CXX explicitly
- # to make build logs less confusing.
- export CXX=
- fi
- einfo " $(printf '%15s' 'Manual CXX:') ${CXX}"
-
- # Always use tuple-prefixed toolchain. For non-native ABI glibc's configure
- # can't detect them automatically due to ${CHOST} mismatch and fallbacks
- # to unprefixed tools. Similar to multilib.eclass:multilib_toolchain_setup().
- export NM="$(tc-getNM ${CTARGET})"
- export READELF="$(tc-getREADELF ${CTARGET})"
- einfo " $(printf '%15s' 'Manual NM:') ${NM}"
- einfo " $(printf '%15s' 'Manual READELF:') ${READELF}"
-
echo
-
local myconf=()
- case ${CTARGET} in
- m68k*)
- # setjmp() is not compatible with stack protection:
- # https://sourceware.org/PR24202
- myconf+=( --enable-stack-protector=no )
- ;;
- *)
- # Use '=strong' instead of '=all' to protect only functions
- # worth protecting from stack smashes.
- # '=all' is also known to have a problem in IFUNC resolution
- # tests: https://sourceware.org/PR25680, bug #712356.
- myconf+=( --enable-stack-protector=$(usex ssp strong no) )
- ;;
- esac
- myconf+=( --enable-stackguard-randomization )
+ # Use '=strong' instead of '=all' to protect only functions
+ # worth protecting from stack smashes.
+ myconf+=( --enable-stack-protector=$(usex ssp strong no) )
# Keep a whitelist of targets supporing IFUNC. glibc's ./configure
# is not robust enough to detect proper support:
@@ -918,7 +949,6 @@ glibc_do_configure() {
fi
myconf+=(
- --without-cvs
--disable-werror
--enable-bind-now
--build=${CBUILD_OPT:-${CBUILD}}
@@ -937,7 +967,6 @@ glibc_do_configure() {
--with-pkgversion="$(glibc_banner)"
$(use_enable crypt)
$(use_multiarch || echo --disable-multi-arch)
- $(use_enable static-pie)
$(use_enable systemtap)
$(use_enable nscd)
@@ -1090,7 +1119,6 @@ glibc_headers_configure() {
myconf+=(
--disable-sanity-checks
--enable-hacker-mode
- --without-cvs
--disable-werror
--enable-bind-now
--build=${CBUILD_OPT:-${CBUILD}}
@@ -1190,13 +1218,13 @@ run_locale_gen() {
root="$2"
fi
- local locale_list="${root}/etc/locale.gen"
+ local locale_list="${root%/}/etc/locale.gen"
pushd "${ED}"/$(get_libdir) >/dev/null
if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
[[ -z ${inplace} ]] && ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
- locale_list="${root}/usr/share/i18n/SUPPORTED"
+ locale_list="${root%/}/usr/share/i18n/SUPPORTED"
fi
set -- locale-gen ${inplace} --jobs $(makeopts_jobs) --config "${locale_list}" \
@@ -1461,6 +1489,12 @@ glibc_sanity_check() {
# (e.g. /var/tmp/portage:${HOSTNAME})
pushd "${ED}"/$(get_libdir) >/dev/null
+ # first let's find the actual dynamic linker here
+ # symlinks may point to the wrong abi
+ local newldso=$(find . -maxdepth 1 -name 'ld*so.?' -type f -print -quit)
+
+ einfo Last-minute run tests with ${newldso} in /$(get_libdir) ...
+
local x striptest
for x in cal date env free ls true uname uptime ; do
x=$(type -p ${x})
@@ -1473,7 +1507,7 @@ glibc_sanity_check() {
# We need to clear the locale settings as the upgrade might want
# incompatible locale data. This test is not for verifying that.
LC_ALL=C \
- ./ld-*.so --library-path . ${x} > /dev/null \
+ ${newldso} --library-path . ${x} > /dev/null \
|| die "simple run test (${x}) failed"
done
@@ -1527,6 +1561,8 @@ pkg_postinst() {
use compile-locales || run_locale_gen "${EROOT}/"
fi
+ upgrade_warning
+
# Check for sanity of /etc/nsswitch.conf, take 2
if [[ -e ${EROOT}/etc/nsswitch.conf ]] && ! has_version sys-auth/libnss-nis ; then
local entry
@@ -1550,6 +1586,5 @@ pkg_postinst() {
elog "${EROOT}/$(get_libdir)/libcrypt$(get_libname 1). We need to preserve this file for the moment to keep"
elog "the upgrade working, but it also needs to be overwritten when"
elog "sys-libs/libxcrypt is installed. See bug 802210 for more details."
- elog "If you have FEATURES=collision-protect, please use FEATURES=unmerge-orphans instead!"
fi
}
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index f9c41f6d8ccc..2483aefe5d6a 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -518,8 +518,8 @@ setup_env() {
# Last, we need the settings of the *build* environment, not of the
# target environment...
- local current_binutils_path=$(env ROOT="${SYSROOT}" binutils-config -B)
- local current_gcc_path=$(env ROOT="${SYSROOT}" gcc-config -B)
+ local current_binutils_path=$(env ROOT="${BROOT}" binutils-config -B)
+ local current_gcc_path=$(env ROOT="${BROOT}" gcc-config -B)
einfo "Overriding clang configuration, since it won't work here"
export CC="${current_gcc_path}/gcc"
@@ -795,6 +795,7 @@ upgrade_warning() {
ewarn "After upgrading glibc, please restart all running processes."
ewarn "Be sure to include init (telinit u) or systemd (systemctl daemon-reexec)."
ewarn "Alternatively, reboot your system."
+ ewarn "(See bug #660556, bug #741116, bug #823756, etc)"
break
fi
done
@@ -860,9 +861,6 @@ src_prepare() {
einfo "Done."
fi
- # TODO: We can drop this once patch is gone from our patchset
- append-cppflags -DGENTOO_USE_CLONE3
-
default
gnuconfig_update