summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/perf/files/perf-5.18-clang.patch')
-rw-r--r--dev-util/perf/files/perf-5.18-clang.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/dev-util/perf/files/perf-5.18-clang.patch b/dev-util/perf/files/perf-5.18-clang.patch
new file mode 100644
index 000000000000..d1c9a48e6848
--- /dev/null
+++ b/dev-util/perf/files/perf-5.18-clang.patch
@@ -0,0 +1,45 @@
+
+Fix building against LLVM/Clang with monolithic libraries.
+
+--- a/tools/build/feature/Makefile
++++ b/tools/build/feature/Makefile
+@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin:
+ $(BUILDXX) -std=gnu++14 \
+ -I$(shell $(LLVM_CONFIG) --includedir) \
+ -L$(shell $(LLVM_CONFIG) --libdir) \
+- $(shell $(LLVM_CONFIG) --libs Core BPF) \
++ $(shell $(LLVM_CONFIG) --libs) \
+ $(shell $(LLVM_CONFIG) --system-libs) \
+ > $(@:.bin=.make.output) 2>&1
+
+@@ -312,10 +312,7 @@ $(OUTPUT)test-clang.bin:
+ $(BUILDXX) -std=gnu++14 \
+ -I$(shell $(LLVM_CONFIG) --includedir) \
+ -L$(shell $(LLVM_CONFIG) --libdir) \
+- -Wl,--start-group -lclangBasic -lclangDriver \
+- -lclangFrontend -lclangEdit -lclangLex \
+- -lclangAST -Wl,--end-group \
+- $(shell $(LLVM_CONFIG) --libs Core option) \
++ -lclang-cpp $(shell $(LLVM_CONFIG) --libs) \
+ $(shell $(LLVM_CONFIG) --system-libs) \
+ > $(@:.bin=.make.output) 2>&1
+
+--- a/tools/perf/Makefile.perf
++++ b/tools/perf/Makefile.perf
+@@ -417,14 +417,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
+ LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
+
+ ifeq ($(USE_CLANG), 1)
+- CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization
+- CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l))
+- LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so))
+- LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group
++ LIBS += -lclang-cpp
+ endif
+
+ ifeq ($(USE_LLVM), 1)
+- LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs)
++ LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs)
+ LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM)
+ endif
+