[backport]Fix compilation error when build with llvm17

Reference:594ab9a9b0
This commit is contained in:
zhoujing 2023-12-06 15:51:10 +08:00
parent 84e19b45e6
commit 9fd2791c35
2 changed files with 54 additions and 1 deletions

View File

@ -0,0 +1,48 @@
From 2c200877c9325dee722f362cf97938a02e8b92e8 Mon Sep 17 00:00:00 2001
From: Yonghong Song <yhs@fb.com>
Date: Sun, 26 Mar 2023 13:10:49 -0700
Subject: [PATCH] Fix compilation error when built with llvm17
With llvm17, building bcc hits the following compilation errors:
...
/home/yhs/work/bcc/src/cc/bpf_module.cc:21:10: fatal error: llvm-c/Transforms/IPO.h: No such file or directory
21 | #include <llvm-c/Transforms/IPO.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/yhs/work/bcc/src/cc/bpf_module.cc:48:10: fatal error: llvm/Transforms/IPO/PassManagerBuilder.h: No such file or directory
48 | #include <llvm/Transforms/IPO/PassManagerBuilder.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The above two files are removed by https://reviews.llvm.org/D144970 and https://reviews.llvm.org/D145835
Signed-off-by: Yonghong Song <yhs@fb.com>
---
src/cc/bpf_module.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/cc/bpf_module.cc b/src/cc/bpf_module.cc
index 7b6f1af9..ffa703ca 100644
--- a/src/cc/bpf_module.cc
+++ b/src/cc/bpf_module.cc
@@ -17,7 +17,9 @@
#include <fcntl.h>
#include <linux/bpf.h>
+#if LLVM_MAJOR_VERSION <= 16
#include <llvm-c/Transforms/IPO.h>
+#endif
#include <llvm/ExecutionEngine/MCJIT.h>
#include <llvm/ExecutionEngine/SectionMemoryManager.h>
#if LLVM_MAJOR_VERSION >= 16
@@ -43,7 +45,9 @@
#include <llvm/Object/SymbolSize.h>
#include <llvm/Support/TargetSelect.h>
#include <llvm/Transforms/IPO.h>
+#if LLVM_MAJOR_VERSION <= 16
#include <llvm/Transforms/IPO/PassManagerBuilder.h>
+#endif
#include <net/if.h>
#include <sys/stat.h>
#include <unistd.h>
--
2.27.0

View File

@ -2,13 +2,15 @@
Name: bcc
Version: 0.26.0
Release: 2
Release: 3
Summary: BPF Compiler Collection (BCC)
License: ASL 2.0
URL: https://github.com/iovisor/bcc
# Upstream now provides a release with the git submodule embedded in it
Source0: %{url}/releases/download/v%{version}/%{name}-src-with-submodule.tar.gz
Patch0: backport-Fix-compilation-error-when-built-with-llvm17.patch
# Arches will be included as upstream support is added and dependencies are
# satisfied in the respective arches
@ -162,6 +164,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%changelog
* Wed Dec 6 2023 zhoujing <zhoujing106@huawei.com> - 0.26.0-3
- Fix build error with llvm17.
* Sat Jul 15 2023 cf-zhao <zhaochuanfeng@huawei.com> - 0.26.0-2
- Fix issue after clang and llvm upgrade.