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