summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10643 -> 10655 bytes
-rw-r--r--sys-devel/clang-common/Manifest18
-rw-r--r--sys-devel/clang-common/clang-common-16.0.6-r2.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-17.0.1.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-17.0.2.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-17.0.3.9999.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-17.0.3.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0.9999.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20230925.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20231002.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20231013.ebuild24
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch212
-rw-r--r--sys-devel/gcc/gcc-14.0.0_pre20231015-r1.ebuild65
-rw-r--r--sys-devel/mold/Manifest5
-rw-r--r--sys-devel/mold/files/mold-2.3.0-no-pch.patch12
-rw-r--r--sys-devel/mold/mold-2.3.0.ebuild94
-rw-r--r--sys-devel/mold/mold-9999.ebuild7
18 files changed, 413 insertions, 218 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index bbe05626bb89..802f6eb4146d 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 9739669c9724..e11d12069478 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -16,13 +16,13 @@ DIST llvm-project-f5cb9cb59d7c9c6ac3d5c41c677f68c9b75d34a3.tar.gz 198113948 BLAK
EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef
EBUILD clang-common-15.0.7-r5.ebuild 5090 BLAKE2B 39974630209630607d10903585223df68cd809fb390fc9eb2a80c4235ce70ae21120083f8eaf749c769a93f738c4e971e31e978dd637a0b87d07260281db4b83 SHA512 6cb37a7eb373d300d165e851e3643fd35e11d78a6a88617b4a8c0063b83558d10d307c32861e9ba2d0ac902c1cd2069ece6bd1446e309a6753f13adf8cd8fa2c
EBUILD clang-common-15.0.7-r7.ebuild 5462 BLAKE2B 098697c65115e672a1e878167997d820c93cad6a71c5a1dc17c731a031d37f20e50ef41e2f1d3238bc91065ba23bab5db4ab48e8274be9db3cb086ec6cdf7868 SHA512 7500bf0c4fde82b90aac68d09b95a49c241fae8b0d2340f7780e9baed1c85d855e45c4296a7daaa0b831a07f442e0be4faf6510a335fa5c979b3061e28fdb99d
-EBUILD clang-common-16.0.6-r2.ebuild 5523 BLAKE2B d1679b6e4b3f8430b9840c0e43e16d7deaf26990822c4754e906ece5451f142a201d70d8f9207ec461c9be4c28960811bb4c4f3f253c23d2c9abe5e3e66278e3 SHA512 8b9f63bbd13006f1c2e207ba889c3e4a03e8edd63b7c51d4bfa78bb10ccbb6f64636a0ccf2fde91abc43fed16b5c5993375a8bc6226315c80fb9fd3f2d0ebf14
-EBUILD clang-common-17.0.1.ebuild 7403 BLAKE2B 35f5e2902195de83791905633e996ae12bbe2b4611ddd300b4674e369cdeb823fbcf9258d765685fc9820999ba720b5c045b05c8f60c478873c5e4bada8ead29 SHA512 ae7f947ac7f8042ce120443c7ffbda45dabee3d089ba534243d3dd333e4f2c22fb720a8f12ff1cee5815fbcf4734ab68b50b82fa38e3edc5c0f8f080d9d4c87b
-EBUILD clang-common-17.0.2.ebuild 7403 BLAKE2B 35f5e2902195de83791905633e996ae12bbe2b4611ddd300b4674e369cdeb823fbcf9258d765685fc9820999ba720b5c045b05c8f60c478873c5e4bada8ead29 SHA512 ae7f947ac7f8042ce120443c7ffbda45dabee3d089ba534243d3dd333e4f2c22fb720a8f12ff1cee5815fbcf4734ab68b50b82fa38e3edc5c0f8f080d9d4c87b
-EBUILD clang-common-17.0.3.9999.ebuild 7312 BLAKE2B f4b71b9e945ab3077cc6a878db875b42fe5af5eea1a60e440d32084ec50de0d86bcb68f4abda1316cf662a077e2f21330a88a7bc82e629c68062c7ebf6fa3ef6 SHA512 3072535b554289d422363d67c91416b54d007c0ff6f67b7311c558d14ab9201f02b71ad629c872db6fe44b648b44736c412bb6c63f495d4d4ab682f71ca919ea
-EBUILD clang-common-17.0.3.ebuild 7403 BLAKE2B 35f5e2902195de83791905633e996ae12bbe2b4611ddd300b4674e369cdeb823fbcf9258d765685fc9820999ba720b5c045b05c8f60c478873c5e4bada8ead29 SHA512 ae7f947ac7f8042ce120443c7ffbda45dabee3d089ba534243d3dd333e4f2c22fb720a8f12ff1cee5815fbcf4734ab68b50b82fa38e3edc5c0f8f080d9d4c87b
-EBUILD clang-common-18.0.0.9999.ebuild 7315 BLAKE2B 00a7319ea073ee22b56e5299c97c083444fffaa8739fa420c79368fd5c6217c3333b616a7c347276797baef3a586069c879f08061cd01c2b73e222b779d74928 SHA512 6948e83aab799aec9835d11cbef96809cc0d4e9205a8b49770dab92ca0f9430989130e553ef56263dd5362e9419e7f2c1945987f538ebe212112b504fe04ff35
-EBUILD clang-common-18.0.0_pre20230925.ebuild 7315 BLAKE2B 00a7319ea073ee22b56e5299c97c083444fffaa8739fa420c79368fd5c6217c3333b616a7c347276797baef3a586069c879f08061cd01c2b73e222b779d74928 SHA512 6948e83aab799aec9835d11cbef96809cc0d4e9205a8b49770dab92ca0f9430989130e553ef56263dd5362e9419e7f2c1945987f538ebe212112b504fe04ff35
-EBUILD clang-common-18.0.0_pre20231002.ebuild 7315 BLAKE2B 00a7319ea073ee22b56e5299c97c083444fffaa8739fa420c79368fd5c6217c3333b616a7c347276797baef3a586069c879f08061cd01c2b73e222b779d74928 SHA512 6948e83aab799aec9835d11cbef96809cc0d4e9205a8b49770dab92ca0f9430989130e553ef56263dd5362e9419e7f2c1945987f538ebe212112b504fe04ff35
-EBUILD clang-common-18.0.0_pre20231013.ebuild 7315 BLAKE2B 00a7319ea073ee22b56e5299c97c083444fffaa8739fa420c79368fd5c6217c3333b616a7c347276797baef3a586069c879f08061cd01c2b73e222b779d74928 SHA512 6948e83aab799aec9835d11cbef96809cc0d4e9205a8b49770dab92ca0f9430989130e553ef56263dd5362e9419e7f2c1945987f538ebe212112b504fe04ff35
+EBUILD clang-common-16.0.6-r2.ebuild 4972 BLAKE2B 7ce71ef4c5ca19ef5847c90a23662b30e028d97fba045ec64976a3093c94e65bc8b5b04535d2ecf9ec51526fedc6b2b264135162acedcfb6df88cf426ce36357 SHA512 490b4afdc3ebbac15152d8da7cb86b3f2030e7ea1c70b09542f8bfd839d0194b97ee979fffcfb19fba8cca97ecfe565a5e77968b9afd618851772d7ccf444624
+EBUILD clang-common-17.0.1.ebuild 6852 BLAKE2B 8b41372a6e3ac538829ce3672f00cd28b813ebd79d610796beb10829c1353fd76562f0241ed3308a9986ac1560a5a3ed04549f857d2892070686d1b7d0ebda08 SHA512 f2ecd649e818eb1580c22e1b622f69b57cd11124da06934424c871126792318c114c67775671991e7d2f3e885394c2c7aa6f11480e58c12c67f0664f60cb11d5
+EBUILD clang-common-17.0.2.ebuild 6852 BLAKE2B 8b41372a6e3ac538829ce3672f00cd28b813ebd79d610796beb10829c1353fd76562f0241ed3308a9986ac1560a5a3ed04549f857d2892070686d1b7d0ebda08 SHA512 f2ecd649e818eb1580c22e1b622f69b57cd11124da06934424c871126792318c114c67775671991e7d2f3e885394c2c7aa6f11480e58c12c67f0664f60cb11d5
+EBUILD clang-common-17.0.3.9999.ebuild 6761 BLAKE2B 906adf2e80d1b5f2d0056d3f5d148d85517af88f20237a8e9e6aa06e6f9e13dbacda06d690f8af20a8e66aed08c525be1a9d7da58ddc19304a7c569807e0984f SHA512 f6608e670a29fe35fd4c1ee67ec4a19a04c5b895d3d987b7cb69140891d289ad4f68847b2d9fcee9ac07f7624b125147e71935da6f504fe86ddd7473712ee00b
+EBUILD clang-common-17.0.3.ebuild 6852 BLAKE2B 8b41372a6e3ac538829ce3672f00cd28b813ebd79d610796beb10829c1353fd76562f0241ed3308a9986ac1560a5a3ed04549f857d2892070686d1b7d0ebda08 SHA512 f2ecd649e818eb1580c22e1b622f69b57cd11124da06934424c871126792318c114c67775671991e7d2f3e885394c2c7aa6f11480e58c12c67f0664f60cb11d5
+EBUILD clang-common-18.0.0.9999.ebuild 6764 BLAKE2B cbb6c17c3f411f645453b0bfbb078cfebf21c420f7d9b54929d8821548ec5e0a8dee659cb81390a3911fd4d27ac230a0b9005e29be6c18b4639b0f2a18d2a442 SHA512 1b2580a90b0bcef7e6336b2868b22dac79dc02438564ed6c3cc923dbdf4feebec0186f26c1d747812e4c842f15141bb53141bd1d5b0489baf44d5138ff6a054d
+EBUILD clang-common-18.0.0_pre20230925.ebuild 6764 BLAKE2B cbb6c17c3f411f645453b0bfbb078cfebf21c420f7d9b54929d8821548ec5e0a8dee659cb81390a3911fd4d27ac230a0b9005e29be6c18b4639b0f2a18d2a442 SHA512 1b2580a90b0bcef7e6336b2868b22dac79dc02438564ed6c3cc923dbdf4feebec0186f26c1d747812e4c842f15141bb53141bd1d5b0489baf44d5138ff6a054d
+EBUILD clang-common-18.0.0_pre20231002.ebuild 6764 BLAKE2B cbb6c17c3f411f645453b0bfbb078cfebf21c420f7d9b54929d8821548ec5e0a8dee659cb81390a3911fd4d27ac230a0b9005e29be6c18b4639b0f2a18d2a442 SHA512 1b2580a90b0bcef7e6336b2868b22dac79dc02438564ed6c3cc923dbdf4feebec0186f26c1d747812e4c842f15141bb53141bd1d5b0489baf44d5138ff6a054d
+EBUILD clang-common-18.0.0_pre20231013.ebuild 6764 BLAKE2B cbb6c17c3f411f645453b0bfbb078cfebf21c420f7d9b54929d8821548ec5e0a8dee659cb81390a3911fd4d27ac230a0b9005e29be6c18b4639b0f2a18d2a442 SHA512 1b2580a90b0bcef7e6336b2868b22dac79dc02438564ed6c3cc923dbdf4feebec0186f26c1d747812e4c842f15141bb53141bd1d5b0489baf44d5138ff6a054d
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-16.0.6-r2.ebuild b/sys-devel/clang-common/clang-common-16.0.6-r2.ebuild
index bdbbd9cb2892..88fce05309fd 100644
--- a/sys-devel/clang-common/clang-common-16.0.6-r2.ebuild
+++ b/sys-devel/clang-common/clang-common-16.0.6-r2.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -146,28 +146,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
local tool
for tool in clang{,++,-cpp}; do
newins - "${tool}.cfg" <<-EOF
diff --git a/sys-devel/clang-common/clang-common-17.0.1.ebuild b/sys-devel/clang-common/clang-common-17.0.1.ebuild
index 1cbfe719be70..696ae8ee4996 100644
--- a/sys-devel/clang-common/clang-common-17.0.1.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.1.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-17.0.2.ebuild b/sys-devel/clang-common/clang-common-17.0.2.ebuild
index 1cbfe719be70..696ae8ee4996 100644
--- a/sys-devel/clang-common/clang-common-17.0.2.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.2.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-17.0.3.9999.ebuild b/sys-devel/clang-common/clang-common-17.0.3.9999.ebuild
index e3a7af989d05..1367bb7cefae 100644
--- a/sys-devel/clang-common/clang-common-17.0.3.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.3.9999.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS=""
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-17.0.3.ebuild b/sys-devel/clang-common/clang-common-17.0.3.ebuild
index 1cbfe719be70..696ae8ee4996 100644
--- a/sys-devel/clang-common/clang-common-17.0.3.ebuild
+++ b/sys-devel/clang-common/clang-common-17.0.3.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
index baa1dffade6a..231f4111793f 100644
--- a/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0.9999.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS=""
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20230925.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20230925.ebuild
index baa1dffade6a..231f4111793f 100644
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20230925.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20230925.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS=""
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20231002.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20231002.ebuild
index baa1dffade6a..231f4111793f 100644
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20231002.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20231002.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS=""
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20231013.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20231013.ebuild
index baa1dffade6a..231f4111793f 100644
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20231013.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20231013.ebuild
@@ -13,7 +13,7 @@ SLOT="0"
KEYWORDS=""
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
+ hardened
"
PDEPEND="
@@ -202,28 +202,6 @@ src_install() {
EOF
fi
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
# We only install config files for supported ABIs because unprefixed tools
# might be used for crosscompilation where e.g. PIE may not be supported.
# See bug #912237 and bug #901247.
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 2f3cb27a1548..ce13ee5c1ae8 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,5 +1,6 @@
AUX gcc-13-fix-cross-fixincludes.patch 792 BLAKE2B f16dcfee5760380931642520bf7ae939a22131183dec4f9515cabeabaa2eafbc339d4f8bdc0605bda45d840876cb8720264c4612d99510b4d7a2e4132db2403e SHA512 d65061e07c5f3089a9d39edafed94c39082dbb254cfebb386fa2fce5374e54e3e1e15a84f0de96adbe1c5ebfc33a5dad10ecbd3db851f852ec1a7521b8940fc5
AUX gcc-14.0.0_pre20231001-pgo-bootstrap.patch 1635 BLAKE2B b866f590fd67894e891937097b2cf784309a4f48106939c1f44d5096e8b5c255db2bce3c172b38b4b622506a9aa76b586abfcae36cce931b08c2e8bdba072d93 SHA512 374a16cd48ef6c1c796f602a240c1529b1bacf500e1b098396af64c4b756467cbf17897843cabda36b8f78b00e6768ac4a32bcaf4f863513251c91c10f97d800
+AUX gcc-14.0.0_pre20231015-pycryptodome-ice.patch 7557 BLAKE2B cd6e4eb08b0546a13e02d719371c7bfff0a1d70c1eacdfb891be80663b09272f06367d747c98e9086072af8da6b39577acd8f6b4282b742542d9bd710bc734de SHA512 b9002896d83ebd77ca23826e1f59085873828c5d876f36ae177d5bf3c1a70dd1d38ea40e9622b84bd80262ce8b5f14670c01ba246c5348a913788e8be8e2e8d5
AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10-20230426.tar.xz 72118868 BLAKE2B d87cfd78d96585877abc20ed213e4d2fba36556279a5bce5d185de34a59f8cde1250d7322543533922ef224ac8508c1d3fe597c652a648e6e7f08bc19cb2f11c SHA512 805fbb840e6bd8cdd53f954b13c768c0ea0635c099094f6f0b0b04f00120dcde7cf3950a01e199d674b39ff764e9119a548b2f7a156ab2b5d598bd68ed56ce24
@@ -74,6 +75,7 @@ EBUILD gcc-14.0.0_pre20230917.ebuild 1595 BLAKE2B 6986a9323f7bbc6c814b68b40333c6
EBUILD gcc-14.0.0_pre20230924.ebuild 1595 BLAKE2B 6986a9323f7bbc6c814b68b40333c6279ba7f1b1733695b12568e59390b991441b03523b015fdf67e8b0249fdf874e36a46993d2357d9b24b3a97b79ca4bf8fd SHA512 c2cc081c84cd0846da49b81e7835e8b35365d51c4a014edb765a410e4a7b528928f32fedbca2e40aa0d2da80ccebaadada67c1b746a70b6e7910d71503cc6097
EBUILD gcc-14.0.0_pre20231001.ebuild 1642 BLAKE2B 04874e9c2ede537422ae1bb8d8b122fefeb4d3812ec9e85b6ffb8e2a457a5806e8c7dc55b7f7422d3bcd641778c0b0c211d872e374c7c8d6725c2513fb228f36 SHA512 c8cb5389164bd64b9b43545143dfe59cef4cb693e44ac1b49ab6635119b2dc09e84ed92614f9e5b9176645759b20af9d0599319c2cbc5b79ea11a7370f3dec83
EBUILD gcc-14.0.0_pre20231008.ebuild 1595 BLAKE2B 3d806ab58dc813a0a0f5e69ccfccab32f9b84d205d0283ff7b8b67abf2524aaeb931109f20ee4aa0b739537ee45289328f18521f1a177aaee81416e156975cfa SHA512 fc1b571afaac02359352b633986d0f60fa5108c367c6faab8814f34faefda6eab735599788a13e8448cdddf4d22a803fbef962c50de6442294ca01dd1cfff09f
+EBUILD gcc-14.0.0_pre20231015-r1.ebuild 1645 BLAKE2B 5c415060b0f52dced66e063f6042e957cc224a02155f9137ffc4c3ca9d08506e05a167900b515e4c4cf672345cfd0b841eac8cfe228c3d216a8be208d909a351 SHA512 1916ee3a7b10a7451db8e32e45aac2f134eceb8128ee98f50d59682fc4a652d58e15b8330fa9ed2cb1c50fcafd39775bb05e7cfb23b826cc1c1b91f64cb60ae9
EBUILD gcc-14.0.0_pre20231015.ebuild 1595 BLAKE2B f9c2f4064261aef1eb00db9cecb1741e97a1ccb4fe120a2e219eb81cd78ca59ea5e5cfb250079adff07a377044f9edb8de9a514fa1a3bde333e25339756223c8 SHA512 6a338c67a9637d294f551f300317c2caf54cd740858de5b51327b07b4e2aff12d7ec04eecff53be35e33a2f5d8d8cb74c381441f1e12c3d3da0a8ae1ef9c70a6
EBUILD gcc-8.5.0-r1.ebuild 498 BLAKE2B e24f62fdb50bf2e9957cbb85c72adc96d369938a7f552735772de964f7023b8b34bd11e7e544d268cc308e25272084a728bd061f37c568d42ea65d55bb2a2e93 SHA512 f35b353e9f54eb3e1c6f8e0ea262458b41da9bddb993793aff79f765c4d93811744979d34e50c6470a9b2cfb63b7006bd284d819b7a98e56a8b3a34ae570ae76
EBUILD gcc-9.5.0.ebuild 1206 BLAKE2B 262931215488db54cab2141549f997a48e22d0a917917eb670d41d5b155c7685e92eb1bc3843d2eca47dd15a450199aea5d99777d2870ff09b1a79ac8a63bcb0 SHA512 3737a70e70e53a581280ff1449d7d92bb9ffba0919b618ea43d4747e09b2803795a05c07c0e3a2ec8982f8d5594be58f9ac549d329b18dc236ad5159e4a47132
diff --git a/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch b/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch
new file mode 100644
index 000000000000..377f68511f78
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-14.0.0_pre20231015-pycryptodome-ice.patch
@@ -0,0 +1,212 @@
+https://gcc.gnu.org/PR111845
+https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f1744dd50bb1661c98b694ff907cb0a1be4f6134
+
+From f1744dd50bb1661c98b694ff907cb0a1be4f6134 Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Wed, 18 Oct 2023 12:37:40 +0200
+Subject: [PATCH] tree-ssa-math-opts: Fix up match_uaddc_usubc [PR111845]
+
+GCC ICEs on the first testcase. Successful match_uaddc_usubc ends up with
+some dead stmts which DCE will remove (hopefully) later all.
+The ICE is because one of the dead stmts refers to a freed SSA_NAME.
+The code already gsi_removes a couple of stmts in the
+ /* Remove some statements which can't be kept in the IL because they
+ use SSA_NAME whose setter is going to be removed too. */
+section for the same reason (the reason for the freed SSA_NAMEs is that
+we don't really have a replacement for those cases - all we have after
+a match is combined overflow from the addition/subtraction of 2 operands + a
+[0, 1] carry in, but not the individual overflows from the former 2
+additions), but for the last (most significant) limb case, where we try
+to match x = op1 + op2 + carry1 + carry2; or
+x = op1 - op2 - carry1 - carry2; we just gsi_replace the final stmt, but
+left around the 2 temporary stmts as dead; if we were unlucky enough that
+those referenced the carry flag that went away, it ICEs.
+
+So, the following patch remembers those temporary statements (rather than
+trying to rediscover them more expensively) and removes them before the
+final one is replaced.
+
+While working on it, I've noticed we didn't support all the reassociated
+possibilities of writing the addition of 4 operands or subtracting 3
+operands from one, we supported e.g.
+x = ((op1 + op2) + op3) + op4;
+x = op1 + ((op2 + op3) + op4);
+but not
+x = (op1 + (op2 + op3)) + op4;
+x = op1 + (op2 + (op3 + op4));
+Fixed by the change to inspect also rhs[2] when rhs[1] didn't yield what
+we were searching for (if non-NULL) - rhs[0] is inspected in the first
+loop and has different handling for the MINUS_EXPR case.
+
+2023-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/111845
+ * tree-ssa-math-opts.cc (match_uaddc_usubc): Remember temporary
+ statements for the 4 operand addition or subtraction of 3 operands
+ from 1 operand cases and remove them when successful. Look for
+ nested additions even from rhs[2], not just rhs[1].
+
+ * gcc.dg/pr111845.c: New test.
+ * gcc.target/i386/pr111845.c: New test.
+---
+ gcc/testsuite/gcc.dg/pr111845.c | 16 ++++++++
+ gcc/testsuite/gcc.target/i386/pr111845.c | 47 +++++++++++++++++++++++
+ gcc/tree-ssa-math-opts.cc | 48 +++++++++++++++---------
+ 3 files changed, 94 insertions(+), 17 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.dg/pr111845.c
+ create mode 100644 gcc/testsuite/gcc.target/i386/pr111845.c
+
+diff --git a/gcc/testsuite/gcc.dg/pr111845.c b/gcc/testsuite/gcc.dg/pr111845.c
+new file mode 100644
+index 000000000000..1bcb4f88e6f1
+--- /dev/null
++++ b/gcc/testsuite/gcc.dg/pr111845.c
+@@ -0,0 +1,16 @@
++/* PR tree-optimization/111845 */
++/* { dg-do compile } */
++/* { dg-options "-O2 --param tree-reassoc-width=2" } */
++
++int a, b;
++unsigned int c, d, e;
++
++void
++foo (int x)
++{
++ b += d;
++ c += b < d;
++ b += e = a < x;
++ c += b;
++ c += b < e;
++}
+diff --git a/gcc/testsuite/gcc.target/i386/pr111845.c b/gcc/testsuite/gcc.target/i386/pr111845.c
+new file mode 100644
+index 000000000000..d52110a40422
+--- /dev/null
++++ b/gcc/testsuite/gcc.target/i386/pr111845.c
+@@ -0,0 +1,47 @@
++/* PR tree-optimization/111845 */
++/* { dg-do compile } */
++/* { dg-options "-O2 -g -masm=att" } */
++/* { dg-final { scan-assembler-times "\tadcq\t" 8 { target lp64 } } } */
++/* { dg-final { scan-assembler-times "\tadcl\t" 8 { target ia32 } } } */
++
++unsigned long l, m;
++
++__attribute__((noipa)) void
++foo (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
++{
++ unsigned long c, d;
++ unsigned long e = __builtin_add_overflow (x, y, &c);
++ unsigned long f = __builtin_add_overflow (c, a < b, &d);
++ m = ((h + i) + e) + f;
++ l = d;
++}
++
++__attribute__((noipa)) void
++bar (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
++{
++ unsigned long c, d;
++ unsigned long e = __builtin_add_overflow (x, y, &c);
++ unsigned long f = __builtin_add_overflow (c, a < b, &d);
++ m = (h + (i + e)) + f;
++ l = d;
++}
++
++__attribute__((noipa)) void
++baz (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
++{
++ unsigned long c, d;
++ unsigned long e = __builtin_add_overflow (x, y, &c);
++ unsigned long f = __builtin_add_overflow (c, a < b, &d);
++ m = h + (i + (e + f));
++ l = d;
++}
++
++__attribute__((noipa)) void
++qux (unsigned long x, unsigned long y, unsigned long h, unsigned long i, int a, int b)
++{
++ unsigned long c, d;
++ unsigned long e = __builtin_add_overflow (x, y, &c);
++ unsigned long f = __builtin_add_overflow (c, a < b, &d);
++ m = h + ((i + e) + f);
++ l = d;
++}
+diff --git a/gcc/tree-ssa-math-opts.cc b/gcc/tree-ssa-math-opts.cc
+index 51c14d6bad9f..363f31646691 100644
+--- a/gcc/tree-ssa-math-opts.cc
++++ b/gcc/tree-ssa-math-opts.cc
+@@ -4581,6 +4581,7 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
+ if (!INTEGRAL_TYPE_P (type) || !TYPE_UNSIGNED (type))
+ return false;
+
++ auto_vec<gimple *, 2> temp_stmts;
+ if (code != BIT_IOR_EXPR && code != BIT_XOR_EXPR)
+ {
+ /* If overflow flag is ignored on the MSB limb, we can end up with
+@@ -4615,26 +4616,29 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
+ rhs[0] = gimple_assign_rhs1 (g);
+ tree &r = rhs[2] ? rhs[3] : rhs[2];
+ r = r2;
++ temp_stmts.quick_push (g);
+ }
+ else
+ break;
+ }
+- while (TREE_CODE (rhs[1]) == SSA_NAME && !rhs[3])
+- {
+- gimple *g = SSA_NAME_DEF_STMT (rhs[1]);
+- if (has_single_use (rhs[1])
+- && is_gimple_assign (g)
+- && gimple_assign_rhs_code (g) == PLUS_EXPR)
+- {
+- rhs[1] = gimple_assign_rhs1 (g);
+- if (rhs[2])
+- rhs[3] = gimple_assign_rhs2 (g);
+- else
+- rhs[2] = gimple_assign_rhs2 (g);
+- }
+- else
+- break;
+- }
++ for (int i = 1; i <= 2; ++i)
++ while (rhs[i] && TREE_CODE (rhs[i]) == SSA_NAME && !rhs[3])
++ {
++ gimple *g = SSA_NAME_DEF_STMT (rhs[i]);
++ if (has_single_use (rhs[i])
++ && is_gimple_assign (g)
++ && gimple_assign_rhs_code (g) == PLUS_EXPR)
++ {
++ rhs[i] = gimple_assign_rhs1 (g);
++ if (rhs[2])
++ rhs[3] = gimple_assign_rhs2 (g);
++ else
++ rhs[2] = gimple_assign_rhs2 (g);
++ temp_stmts.quick_push (g);
++ }
++ else
++ break;
++ }
+ /* If there are just 3 addends or one minuend and two subtrahends,
+ check for UADDC or USUBC being pattern recognized earlier.
+ Say r = op1 + op2 + ovf1 + ovf2; where the (ovf1 + ovf2) part
+@@ -5039,7 +5043,17 @@ match_uaddc_usubc (gimple_stmt_iterator *gsi, gimple *stmt, tree_code code)
+ g = gimple_build_assign (ilhs, IMAGPART_EXPR,
+ build1 (IMAGPART_EXPR, TREE_TYPE (ilhs), nlhs));
+ if (rhs[2])
+- gsi_insert_before (gsi, g, GSI_SAME_STMT);
++ {
++ gsi_insert_before (gsi, g, GSI_SAME_STMT);
++ /* Remove some further statements which can't be kept in the IL because
++ they can use SSA_NAMEs whose setter is going to be removed too. */
++ while (temp_stmts.length ())
++ {
++ g = temp_stmts.pop ();
++ gsi2 = gsi_for_stmt (g);
++ gsi_remove (&gsi2, true);
++ }
++ }
+ else
+ gsi_replace (gsi, g, true);
+ /* Remove some statements which can't be kept in the IL because they
+--
+2.39.3
diff --git a/sys-devel/gcc/gcc-14.0.0_pre20231015-r1.ebuild b/sys-devel/gcc/gcc-14.0.0_pre20231015-r1.ebuild
new file mode 100644
index 000000000000..3e4f9224d3e3
--- /dev/null
+++ b/sys-devel/gcc/gcc-14.0.0_pre20231015-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="14.0.0"
+PATCH_VER="4"
+MUSL_VER="1"
+MUSL_GCC_VER="14.0.0"
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=master
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${P}-pycryptodome-ice.patch
+ eapply_user
+}
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index e263637ac9fa..84573c67e380 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,13 +1,16 @@
AUX mold-2.0.0-DT_RELR-dependency.patch 5826 BLAKE2B f728523f8fe758d5f61768b4466e36a5fe44fc019f5c31fa41bf2310ef83db6c7eebfa585f776f0145d6b5727a68a686c0a624702af8ae54624ad2571472c977 SHA512 8ccca7ce514b2dd75a62613554237ef60cb527e892516aba35a6ac62a1a1851d217c5da98c821480a120d83ce071bf01fab390d0e80860d2d65b9ac54a8f03e3
AUX mold-2.0.0-reloc-test-fix.patch 1468 BLAKE2B 197e9876667f4f066d801ff304216498aa4eb718d98badcb1a2eb951ae70984728171f5d1f9945201d7ca316d65a3ee1e3438b3e397246e0bdbc821f109bae59 SHA512 a912f06938d8acac52b673bad8a02ac70f13b47db232a51713d80e33dde93c45c7519b6db24451a072b799d6d7a839aabdb577786758d17535284ebe5b7bb055
+AUX mold-2.3.0-no-pch.patch 457 BLAKE2B ac313a6409a2e43b6d26833231cb26c36d3d34f25b25d4217d50fbd1f39eda9d5b42a1939ca8ee48f6dfb73d3c27d7c6111da9beb67a43c72d3c2beb070303b0 SHA512 c79b3e998cbc23ca7069eed95a7d7871371da9c21b6970fe2a1d8dcd1009466e262f63febbc267d364e552b2eb4bebd5d74bc6dc8084d48d4c0e9e02e1d868bc
DIST mold-1.11.0.tar.gz 8210923 BLAKE2B b3854a14a956dd568625fc28c96636e7cadf81b9a93954601b03e249db0aedf726a5a1f24c0758c8189a936501ebb778b472ee6e958fe9f43cb3c3093b2dda2a SHA512 a9068600dd2db757552cce027f358c0b9e6af0941b92f81c1e99e2dde674bd06cc3533d432258e42a2197d9b3f8e7bb263de281928357a79e4fb17fb19719bc0
DIST mold-2.0.0.tar.gz 9205927 BLAKE2B f80c72c58f4618a74390417fdf90f816810350baf1ac74d21294f5ffba7ee263807175be531c9db77209bd05a31ad11fd84d4aeb03fb057cefac7575f71612d6 SHA512 11c3d1e07fe4fcc28cff58b8e432526e4604aa55b49fa47c9495e439206fb9f6a1686b1c5bd2dc907ffd7fe62ac1c72317619fc8a5d7caaa5c327de585f16827
DIST mold-2.1.0.tar.gz 9278811 BLAKE2B b31e13f92177553adf5069cf35c8c75c7bc28f0af4d1726cdc0c6abc1c9d3baaa5be512c3a8fb9bc3c3110096a79e1c6751c701171769595a2234fc1fa8c441a SHA512 f1c98d349b35b4042109d71f7db6eb8d7d089dc3241735bbd7b5402d513dcc85ca17904828779e5fc8234650fa9fb97f47c3a2f3e89cc2fb3cb9e9110439e5a2
DIST mold-2.2.0.tar.gz 9956678 BLAKE2B 495772b5bfd238a6785676d277da87fe4f10b64513f8f0a4961893e4ae8954ad8bda3d09283de14594d7d056d6c1aeed5be591d6a64868a473eb45737d3b9340 SHA512 1692d1ff154335fdff91a4fafebb3514ed6742035c14e74ec7e552b90428a1cd5341baba9183158b44ae221fd19e86da55e7f04bde317b943a24d0afecb41002
+DIST mold-2.3.0.tar.gz 9958893 BLAKE2B 86235731953902a5cd8fdba8b41d456bd60bf53b96a9e1cc89bdf991a75367b95e5522887be8e9c28f3d777b143ef5d693ff50293188ef222fc45257ce990d24 SHA512 7953cff8f2e9f775f0890aedc5f38ef07aac16118310ee9e1a2a82be8abafa1aa05459a136181978c55763737c7ff47815afdd4423e8f96db8f0237fce13e6b4
EBUILD mold-1.11.0.ebuild 2168 BLAKE2B e6da026cd317d9bce59fb0c802f11571107df36310b4c69c9a1e01386bd989c7c0c785b23eaddee62447ac1aa472096b63156e07640ec7f978c49f08b1c8f765 SHA512 ac3d33eaa80eee576bb4151664bad21647d6517f97a30ac3448a4294f1f92b86a48dd82af340d499510dbca9b84d1960874223ce0c3e229c34efdeacfc4659dd
EBUILD mold-2.0.0-r1.ebuild 2216 BLAKE2B 63f97d8f38f04769b66c914addd6bfa42d877fd002008c66df50cd96827cdf467a759c7726c4fbb3355d9dfb52bc924ffa693cc2c2fb49a3de38cb29d6201863 SHA512 bb5538ce441103f9a45d9f6339dffa27d9904b747b835017c0d761a8498a828cab4db14ffba4a5e520a0a2f35e89b8a7f7c428a70c60ff0fef127b3cb464181f
EBUILD mold-2.0.0-r2.ebuild 2262 BLAKE2B 36664776ccff03553da6d71885104666f3b91be07ab8f4f62c96fc7b116d0499172c9cc43f3b05f5fb2bd6b24f80af93ce0e916ceb7ff6dcefb952c4496cfc16 SHA512 48284ddd900756dcf17cb6e8d7729f7fc45a5019d6760522afcfc6c9e6738df37cafd5e68566569f9465e3288de8f6b4854a9d85d2fc48a0b106a4e3a994e5b0
EBUILD mold-2.1.0.ebuild 2169 BLAKE2B b91dec8fb9890052e06cf40124f7647833a6ea786d95d44863848bfff17c0ba335f28aaac08d6971a619dbb845b9091d1134bae47f70bd811d2fde0f9ca11066 SHA512 5d27926e5003e6bd24ee3baf8258ab043aa660b7a36918500283bbec9d991ad8ea6971add52579ba6ee10a7eeeb97a6dff3a7e065c7292ced42d2f0043e33d1e
EBUILD mold-2.2.0.ebuild 2161 BLAKE2B f303042d401a6329e13056f69feea71a34947fc13c1b982246363946b0313f6a7a1cf3f36e4f8fb714df69cec0ae08635a51152fd8c6faa5b5dd5311302d841b SHA512 8b5fef1437459a02bf15a94db2f7b9ca27e436d275741a1da88effb7476188c7aceb61a4b49caa47a90ddff656e2beecebf77056d572d444aba02c3dae165842
-EBUILD mold-9999.ebuild 2142 BLAKE2B 01fa496b41d3f7ffcc30221b9938c423962afc3076a93820192ff240d22a39019f93df31a1ebadc045d40cdcf6add1522db4d651539e9d86fa57102acf515f1b SHA512 110730282da5dc8c90d9913b6a7322dc858b5a4dfd67be98082dc63528def344372e860b45d2604dfd15fc3fa3051a32ff1612751ad9dd65c22c0dff379f6f47
+EBUILD mold-2.3.0.ebuild 2254 BLAKE2B b768d9a6a562fdc8d376570cd30b960d46e946a08d4ee1ca42d30a5afb4c351b8fe25d8fdf3a3c3e82e4cad2b5d11dffbfb77386db8755545e006adb2dc2ced3 SHA512 eef9344f9832767e76ae50536c725647613bfdc62b0e0bfd782a090434ff04226ab91a382e811ae636efaf7be5b9248e874259acfae3597caa511177aaebc2b2
+EBUILD mold-9999.ebuild 2254 BLAKE2B b768d9a6a562fdc8d376570cd30b960d46e946a08d4ee1ca42d30a5afb4c351b8fe25d8fdf3a3c3e82e4cad2b5d11dffbfb77386db8755545e006adb2dc2ced3 SHA512 eef9344f9832767e76ae50536c725647613bfdc62b0e0bfd782a090434ff04226ab91a382e811ae636efaf7be5b9248e874259acfae3597caa511177aaebc2b2
MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
diff --git a/sys-devel/mold/files/mold-2.3.0-no-pch.patch b/sys-devel/mold/files/mold-2.3.0-no-pch.patch
new file mode 100644
index 000000000000..e61b5df01f54
--- /dev/null
+++ b/sys-devel/mold/files/mold-2.3.0-no-pch.patch
@@ -0,0 +1,12 @@
+We generally disable PCH in Gentoo because of how buggy it is.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -400,7 +400,7 @@ endif()
+
+ # Add frequently included header files for pre-compiling.
+ # target_precompile_headers is supported by CMake 3.16.0 or newer.
+-if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0")
++if(FALSE)
+ if(MOLD_IS_SOLD)
+ target_precompile_headers(mold PRIVATE
+ "$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_SOURCE_DIR}/elf/mold.h>"
diff --git a/sys-devel/mold/mold-2.3.0.ebuild b/sys-devel/mold/mold-2.3.0.ebuild
new file mode 100644
index 000000000000..f16aabe0758e
--- /dev/null
+++ b/sys-devel/mold/mold-2.3.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="A Modern Linker"
+HOMEPAGE="https://github.com/rui314/mold"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rui314/mold.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+fi
+
+# mold (MIT)
+# - xxhash (BSD-2)
+LICENSE="MIT BSD-2"
+SLOT="0"
+
+RDEPEND="
+ app-arch/zstd:=
+ >=dev-cpp/tbb-2021.7.0-r1:=
+ dev-libs/blake3:=
+ sys-libs/zlib
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.0-no-pch.patch
+)
+
+pkg_pretend() {
+ # Requires a c++20 compiler, see #831473
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
+ die "${PN} needs at least gcc 10"
+ elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
+ die "${PN} needs at least clang 12"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Needs unpackaged dwarfdump
+ rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+ test/elf/mold-wrapper{,2}.sh || die
+
+ # static-pie tests require glibc built with static-pie support
+ if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
+ rm test/elf/{,ifunc-}static-pie.sh || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+
+ # https://bugs.gentoo.org/872773
+ insinto /usr/$(get_libdir)/mold
+ doins "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym ../../../usr/bin/${PN} /usr/libexec/${PN}/ld
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 42cd25dd9155..f16aabe0758e 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~loong"
+ KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
fi
# mold (MIT)
@@ -31,6 +31,10 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.0-no-pch.patch
+)
+
pkg_pretend() {
# Requires a c++20 compiler, see #831473
if [[ ${MERGE_TYPE} != binary ]]; then
@@ -65,6 +69,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON
-DMOLD_ENABLE_QEMU_TESTS=OFF
-DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
-DMOLD_USE_SYSTEM_MIMALLOC=ON