1 From 3a8a0475861a443f02e3a9b57d044fe2a0a99291 Mon Sep 17 00:00:00 2001
2 From: Arnaldo Carvalho de Melo <acme@redhat.com>
3 Date: Thu, 7 Apr 2022 11:04:20 -0300
4 Subject: perf build: Don't use -ffat-lto-objects in the python feature test when building with clang-13
6 From: Arnaldo Carvalho de Melo <acme@redhat.com>
8 commit 3a8a0475861a443f02e3a9b57d044fe2a0a99291 upstream.
10 Using -ffat-lto-objects in the python feature test when building with
13 clang-13: error: optimization flag '-ffat-lto-objects' is not supported [-Werror,-Wignored-optimization-argument]
14 error: command '/usr/sbin/clang' failed with exit code 1
15 cp: cannot stat '/tmp/build/perf/python_ext_build/lib/perf*.so': No such file or directory
16 make[2]: *** [Makefile.perf:639: /tmp/build/perf/python/perf.so] Error 1
18 Noticed when building on a docker.io/library/archlinux:base container.
20 Cc: Adrian Hunter <adrian.hunter@intel.com>
21 Cc: Fangrui Song <maskray@google.com>
22 Cc: Florian Fainelli <f.fainelli@gmail.com>
23 Cc: Ian Rogers <irogers@google.com>
24 Cc: Jiri Olsa <jolsa@kernel.org>
25 Cc: John Keeping <john@metanate.com>
26 Cc: Leo Yan <leo.yan@linaro.org>
27 Cc: Michael Petlan <mpetlan@redhat.com>
28 Cc: Namhyung Kim <namhyung@kernel.org>
29 Cc: Nathan Chancellor <nathan@kernel.org>
30 Cc: Nick Desaulniers <ndesaulniers@google.com>
31 Cc: Sedat Dilek <sedat.dilek@gmail.com>
32 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
33 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
35 tools/perf/Makefile.config | 3 +++
36 tools/perf/util/setup.py | 2 ++
37 2 files changed, 5 insertions(+)
39 --- a/tools/perf/Makefile.config
40 +++ b/tools/perf/Makefile.config
41 @@ -270,6 +270,9 @@ ifdef PYTHON_CONFIG
42 PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
43 PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --includes 2>/dev/null)
44 FLAGS_PYTHON_EMBED := $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
45 + ifeq ($(CC_NO_CLANG), 0)
46 + PYTHON_EMBED_CCOPTS := $(filter-out -ffat-lto-objects, $(PYTHON_EMBED_CCOPTS))
50 FEATURE_CHECK_CFLAGS-libpython := $(PYTHON_EMBED_CCOPTS)
51 --- a/tools/perf/util/setup.py
52 +++ b/tools/perf/util/setup.py
53 @@ -23,6 +23,8 @@ if cc_is_clang:
54 vars[var] = sub("-fstack-protector-strong", "", vars[var])
55 if not clang_has_option("-fno-semantic-interposition"):
56 vars[var] = sub("-fno-semantic-interposition", "", vars[var])
57 + if not clang_has_option("-ffat-lto-objects"):
58 + vars[var] = sub("-ffat-lto-objects", "", vars[var])
60 from distutils.core import setup, Extension