commit: 2176c84971534872e4208debeb0e5944c139256a
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 16:44:55 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 16:47:26 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2176c849
dev-util/valgrind: improve -fno-control-flow-hardening filtering
Pass -fno-* if supported.
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-util/valgrind/valgrind-3.22.0_rc1.ebuild | 5 +++--
dev-util/valgrind/valgrind-3.22.0_rc2.ebuild | 1 +
dev-util/valgrind/valgrind-9999.ebuild | 1 +
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dev-util/valgrind/valgrind-3.22.0_rc1.ebuild
b/dev-util/valgrind/valgrind-3.22.0_rc1.ebuild
index 26eb51e592fd..88c666067ac9 100644
--- a/dev-util/valgrind/valgrind-3.22.0_rc1.ebuild
+++ b/dev-util/valgrind/valgrind-3.22.0_rc1.ebuild
@@ -85,7 +85,7 @@ src_configure() {
# Note: -fstack-protector-explicit is a no-op
for Valgrind, no need to strip it
# -fstack-protector-strong See -fstack-protector (bug #620402)
# -m64 -mx32 for multilib-portage, bug #398825
- # -ggdb3 segmentation fault on startup
+ # -fharden-control-flow-redundancy: breaks runtime ('jump to the
invalid address stated on the next line')
# -flto* fails to build, bug #858509
filter-flags -fomit-frame-pointer
filter-flags -fstack-protector
@@ -93,7 +93,8 @@ src_configure() {
filter-flags -fstack-protector-strong
filter-flags -m64 -mx32
filter-flags -fsanitize -fsanitize=*
- replace-flags -ggdb3 -ggdb2
+ filter-flags -fharden-control-flow-redundancy
+ append-cflags $(test-flags-CC -fno-harden-control-flow-redundancy)
filter-lto
if use amd64 || use ppc64; then
diff --git a/dev-util/valgrind/valgrind-3.22.0_rc2.ebuild
b/dev-util/valgrind/valgrind-3.22.0_rc2.ebuild
index 7f177d462ac7..88c666067ac9 100644
--- a/dev-util/valgrind/valgrind-3.22.0_rc2.ebuild
+++ b/dev-util/valgrind/valgrind-3.22.0_rc2.ebuild
@@ -94,6 +94,7 @@ src_configure() {
filter-flags -m64 -mx32
filter-flags -fsanitize -fsanitize=*
filter-flags -fharden-control-flow-redundancy
+ append-cflags $(test-flags-CC -fno-harden-control-flow-redundancy)
filter-lto
if use amd64 || use ppc64; then
diff --git a/dev-util/valgrind/valgrind-9999.ebuild
b/dev-util/valgrind/valgrind-9999.ebuild
index 7f177d462ac7..88c666067ac9 100644
--- a/dev-util/valgrind/valgrind-9999.ebuild
+++ b/dev-util/valgrind/valgrind-9999.ebuild
@@ -94,6 +94,7 @@ src_configure() {
filter-flags -m64 -mx32
filter-flags -fsanitize -fsanitize=*
filter-flags -fharden-control-flow-redundancy
+ append-cflags $(test-flags-CC -fno-harden-control-flow-redundancy)
filter-lto
if use amd64 || use ppc64; then