summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10632 -> 10634 bytes
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/metadata.xml84
-rw-r--r--sys-devel/mold/Manifest4
-rw-r--r--sys-devel/mold/mold-1.10.1.ebuild2
-rw-r--r--sys-devel/mold/mold-9999.ebuild2
6 files changed, 81 insertions, 13 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index dcf43bf977e3..540724971ade 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 130e29a76ce3..1659daeacee3 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -42,4 +42,4 @@ EBUILD gcc-13.0.1.9999.ebuild 1252 BLAKE2B e8feaecedb676e0ddce69ec0e7fc5e944d8df
EBUILD gcc-13.0.1_pre20230122.ebuild 1286 BLAKE2B 613958f9d883c696a477fe6d25782dfc6ae9c37af2169c370912eed43e7f21fd33ac2b5640b5cac0cf5ec964efca42ef3d0d1d36c3a372296f45e88c79a51bf5 SHA512 c7e0a73749cc56c95d60d8ed9326cb48d968e1ecb0905b3af6c0024d75e0ee8cbefc5c5ab2fbae6aac32348c51d41cfcaf470180b05243e3a55dd0c46f58f0ab
EBUILD gcc-8.5.0-r1.ebuild 473 BLAKE2B 40d3b651d0aed62ceb1df973f1f7e2b6ce419df22da63e49d335fcd0bf7b349d1e7be40dc16e80fe143222d48ac6139d35bf47558d83c30aab4b25dba6fcf6cb SHA512 b88761a3495a1eab0de5321c9230c77cd621ae545d3be49a13273cfcd8e94cc21dbb062bfdebb64dc5bfe1ddd600ee8fb60df6fd7709a7be90915b7e99a8db29
EBUILD gcc-9.5.0.ebuild 844 BLAKE2B 7bee440ddb624d5489ebaa9be899c530bdf7d9563453a9abf45e60d1f3ed66a78535cb9227e66e93524071fbca447786e2133ea316b5b2b55366e2599c587be6 SHA512 4b578a481eb06ff5b445bbd81cf18d4d63ec2d65230e33f95377f270b391bde02c2083a1b46b43838bd115be7d75c3957258f72fb5e7d89ba79185d08195b9ec
-MISC metadata.xml 2675 BLAKE2B 71118d3d0fa3110e555c735d0e98a7790fd70b47fce637ef5e550b7e2e9eff24b008f758dcd2af5503113a44639461ad33ac7004b64fdb30d2ba1014a031d586 SHA512 0e5724c9e90e53859992ab17f4fa202d027f620015c15c1560fb2069d6c75b1ee9405358308e6df0aa5f0da21aded5fb74e79ba18ed803a39fbb3922f6664505
+MISC metadata.xml 4885 BLAKE2B 2029ff68e73fa6d97abb5d03df8efbfd03b2145ad6ced9ca7a048d48d16e5f50e12448b9d0343f8d22262dccdf4c7c4fb2554b1894a13eddc502924f9ad70220 SHA512 9c22fba4bcdb7ac3f1e8a6a36903e940f9b53c284b446e240cf3bf51590efe8af0b9219688693dad233bf8593dd306b85af9c18fb9ef253a8e3413e3b926fd9e
diff --git a/sys-devel/gcc/metadata.xml b/sys-devel/gcc/metadata.xml
index 4d9f63a02b27..d1c5c038131d 100644
--- a/sys-devel/gcc/metadata.xml
+++ b/sys-devel/gcc/metadata.xml
@@ -7,29 +7,97 @@
</maintainer>
<use>
<flag name="ada">Build the ADA language (GNAT) frontend</flag>
- <flag name="cet" restrict="&gt;=sys-devel/gcc-10">Enable support for Intel Control Flow Enforcement Technology (CET)</flag>
+ <flag name="cet" restrict="&gt;=sys-devel/gcc-10">
+ Enable support for Intel Control Flow Enforcement Technology (CET).
+
+ Only effective on amd64/x86.
+
+ Only provides benefits on newer CPUs. For Intel, the CPU
+ must be at least as new as Tiger Lake. For AMD, it must be
+ at least as new as Zen 3. This is harmless on older CPUs,
+ but provides no benefit either.
+
+ When combined with USE=hardened, GCC will set -fcf-protection
+ by default when building software. The effect is minimal
+ on systems which do not support it, other than a possible
+ small increase in codesize for the NOPs. The generated
+ code is therefore compatible with i686 at the earliest.
+ </flag>
<flag name="d">Enable support for the D programming language</flag>
- <flag name="default-stack-clash-protection">Build packages with stack clash protection on by default</flag>
- <flag name="default-znow">Request full relocation on start from ld.so by default</flag>
+ <flag name="default-stack-clash-protection">
+ Build packages with stack clash protection on by default as
+ a hardening measure.
+
+ This enables -fstack-clash-protection by default which protects against
+ large memory allocations allowing stack smashing.
+
+ May cause slightly increased codesize, but modern compilers
+ have been adapted to optimize well for this case, as
+ this mitigation is now quite common.
+
+ See https://developers.redhat.com/blog/2020/05/22/stack-clash-mitigation-in-gcc-part-3
+ and https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt.
+ </flag>
+ <flag name="default-znow">
+ Request full relocation on start from ld.so by default.
+
+ This sets the -z,now (BIND_NOW) flag by default on all linker invocations. By
+ resolving all dynamic symbols at application startup, parts of the program
+ can be made read-only as a hardening measure.
+
+ This is closely related to RELRO which is also separately
+ enabled by default.
+
+ In some applications with many unresolved symbols (heavily plugin based,
+ for example), startup time may be impacted.
+ </flag>
<flag name="fixed-point">Enable fixed-point arithmetic support for MIPS targets in gcc (Warning: significantly increases compile time!)</flag>
<flag name="go">Build the GCC Go language frontend.</flag>
<flag name="graphite">Add support for the framework for loop optimizations based on a polyhedral intermediate representation</flag>
<flag name="ieee-long-double">Use accelerated 128-bit IEEE long double ABI (ppc64le only)</flag>
<flag name="jit">Enable libgccjit so other applications can embed gcc for Just-In-Time compilation.</flag>
<flag name="libssp">Build SSP support into a dedicated library rather than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT IT DOES)</flag>
- <flag name="lto">Build using Link Time Optimizations (LTO)</flag>
+ <flag name="lto">
+ Build using Link Time Optimizations (LTO).
+
+ Note that GCC is always built with support for building
+ other programs with LTO. This USE flag is for whether
+ GCC itself is built and optimized with LTO.
+ </flag>
<flag name="mpx">Enable support for Intel Memory Protection Extensions (MPX)</flag>
<flag name="nptl">Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)</flag>
<flag name="objc">Build support for the Objective C code language</flag>
<flag name="objc++">Build support for the Objective C++ language</flag>
<flag name="objc-gc">Build support for the Objective C code language Garbage Collector</flag>
- <flag name="pgo">Build GCC using Profile Guided Optimization (PGO)</flag>
+ <flag name="pgo">
+ Build GCC using Profile Guided Optimization (PGO).
+
+ GCC will build itself and then analyze the just-built
+ binary and then rebuild itself using the data obtained
+ from analysis of codepaths taken.
+
+ It does not affect whether GCC itself supports PGO
+ when building other software.
+
+ This substantially increases the build time needed for
+ building GCC itself.
+ </flag>
<flag name="rust">Build support for the Rust language, installs gccrs.</flag>
- <flag name="sanitize">Build support for various sanitizer functions (ASAN/TSAN/etc...)</flag>
- <flag name="ssp">Build packages with stack smashing protector on by default</flag>
+ <flag name="sanitize">
+ Build support for various sanitizer functions (ASAN/TSAN/etc...)
+ to find runtime problems in applications.
+ </flag>
+ <flag name="ssp">Build packages with stack smashing protection on by default</flag>
<flag name="systemtap">enable systemtap static probe points</flag>
<flag name="valgrind">Enable valgrind annotations for gcc internals (useful for gcc debugging).</flag>
- <flag name="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
+ <flag name="vtv">
+ Build support for virtual table verification (a C++ hardening feature).
+
+ This does not control whether GCC defaults to using VTV>
+
+ Note that actually using VTV breaks ABI and hence the whole
+ system must be built with -fvtable-verify.
+ </flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:gnu:gcc</remote-id>
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index eb70f75b6296..ca893c7704c0 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,8 +1,8 @@
DIST mold-1.10.1.tar.gz 8173701 BLAKE2B 142b4ec6297f1d4eb7576d16603a214244216592df7320639da3fce32890fc3d13e681dcb79ed23e4c0c7dba1f97eb10c622052c67787b6699925ae67ddb1d15 SHA512 b9df5ddc3a3a022523506638309373c3440128f3c702a7db69c44c180177148e92fbf73347be0c4e0e890395cfb2a5b12d2650ee267f9f58212ccfa981519bbf
DIST mold-1.8.0.tar.gz 8155820 BLAKE2B cd4285953ec56fa437d32c74b928617a50508c0b947dd0c0a3fac6813d7b929d9499f24aa2641faab78d5e81fbced48d734389c61313d752f509d25d2e1f9c61 SHA512 923158563c7abd39c7111e3871a90c7f6f17e0b2412c5de0c9924f3fb55d7fe57db4a83d8a20c3d4966b7b117d1c95cf4a59f63d5076db422b9aa5c3485fd7f8
DIST mold-1.9.0.tar.gz 8163212 BLAKE2B 09ce66e4214c184ea2f36720bc0f839f77ff2a708d56a5767d29758d62310eaf1193394d581c4352404958052c29c0cbc55a4826d10285beda50afb20bd51c80 SHA512 c1c45bced963d4f7c9b67905177157d6f76c518b234fe3eefa2a9ba6c35a08dd6659e64b7939744355ebcd72ae343ef0249ef6a0c80b4d77b1e69e327eb3ba19
-EBUILD mold-1.10.1.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72
+EBUILD mold-1.10.1.ebuild 2162 BLAKE2B 79d8291fbbc5375c36533f89721acce29bdda4c3502ce9fa5202defb1c6134c605995b471014831d7f13824eafcc446f75ee8a50c6a0f161899c08af8e307bc9 SHA512 281278811781fb9342d171a716d14cfdbd84e3b2172563daf126ac8da1bd89dbedd536e4bde9f2801a8656f34ca72147a7be0e0336e23ea1892d137f3452958f
EBUILD mold-1.8.0-r1.ebuild 2154 BLAKE2B ac12a67360e593048accf196631d268fe808f46689e5dda5f27d9caefa6f28f35db45c41283bbdf40b2ef1becac6fe0e9102a2dd70c1208e5a45ab573d75f5f3 SHA512 5ade48864229c969e4eaf7362dc18ae69284031f88a4ddf8dbd63c7230ec0274e0ad07d55df281c71c25f3329ba438ca2b51c10fee7680511e7685343e81594e
EBUILD mold-1.9.0.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72
-EBUILD mold-9999.ebuild 2155 BLAKE2B 9f586543589a88bfb8d865cba4b05e439936208f728f81da755adffa292190680f1a7e4a13f18cc73c161f70c3854b944796778c21109ca9231f1ad06edbff69 SHA512 0fd9723aa2a0e01881d2a8bc91c3d771ac973f1a2aa7f13689450a6ade2f352f5c79791e8d4456aa637f7c4afa1620b60d03f76bd3fafeaee418aceb86f66d72
+EBUILD mold-9999.ebuild 2162 BLAKE2B 79d8291fbbc5375c36533f89721acce29bdda4c3502ce9fa5202defb1c6134c605995b471014831d7f13824eafcc446f75ee8a50c6a0f161899c08af8e307bc9 SHA512 281278811781fb9342d171a716d14cfdbd84e3b2172563daf126ac8da1bd89dbedd536e4bde9f2801a8656f34ca72147a7be0e0336e23ea1892d137f3452958f
MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
diff --git a/sys-devel/mold/mold-1.10.1.ebuild b/sys-devel/mold/mold-1.10.1.ebuild
index 8063ade34f39..ea88934048d6 100644
--- a/sys-devel/mold/mold-1.10.1.ebuild
+++ b/sys-devel/mold/mold-1.10.1.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 ~riscv ~x86"
+ KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
fi
# mold (AGPL-3)
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 8063ade34f39..ea88934048d6 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 ~riscv ~x86"
+ KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
fi
# mold (AGPL-3)