[PATCH v2 3/4] perf python: don't run the linker for clang feature tests

From: Ahelenia Ziemiańska
Date: Tue Dec 27 2022 - 20:58:54 EST


This, for me, slightly-more-than-halves the time it takes to run
for a in "-mcet" "-fcf-protection" "-fstack-clash-protection" \
"-fstack-protector-strong" "-fno-semantic-interposition" \
"-ffat-lto-objects"; do
sh -c '$CC "$@"' '' "$a" -o /dev/null ../build/feature/test-hello.c; done
from just over 600ms.

Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx>
---
tools/perf/util/setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index ba0b1e078855..0a557f2bf357 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -6,7 +6,7 @@ cc_is_clang = b"clang version" in Popen(["/bin/sh", "-c", "$CC -v"], stderr=PIPE
src_feature_tests = getenv('srctree') + '/tools/build/feature'

def clang_has_option(option):
- cc_output = Popen(["/bin/sh", "-c", '$CC "$@"', "", option, "-o", "/dev/null", path.join(src_feature_tests, "test-hello.c")], stderr=PIPE).stderr.readlines()
+ cc_output = Popen(["/bin/sh", "-c", '$CC "$@"', "", option, "-c", "-o", "/dev/null", path.join(src_feature_tests, "test-hello.c")], stderr=PIPE).stderr.readlines()
return [o for o in cc_output if ((b"unknown argument" in o) or (b"is not supported" in o))] == [ ]

if cc_is_clang:
--
2.30.2

Attachment: signature.asc
Description: PGP signature