public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-debug/bpftrace/, dev-debug/bpftrace/files/
@ 2024-01-23 20:51 Patrick McLean
  0 siblings, 0 replies; 3+ messages in thread
From: Patrick McLean @ 2024-01-23 20:51 UTC (permalink / raw
  To: gentoo-commits

commit:     ea3f216953373087585e24acee96b80278d3d4fb
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 23 20:51:37 2024 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Jan 23 20:51:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea3f2169

dev-debug/bpftrace: add 0.20.0

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 dev-debug/bpftrace/Manifest                        |   1 +
 dev-debug/bpftrace/bpftrace-0.20.0.ebuild          |  94 ++++++
 .../files/bpftrace-0.20.0-install-libs.patch       | 320 +++++++++++++++++++++
 3 files changed, 415 insertions(+)

diff --git a/dev-debug/bpftrace/Manifest b/dev-debug/bpftrace/Manifest
index 83127dc3fafe..b16b9efa97c3 100644
--- a/dev-debug/bpftrace/Manifest
+++ b/dev-debug/bpftrace/Manifest
@@ -1 +1,2 @@
 DIST bpftrace-0.19.1.gh.tar.gz 1157777 BLAKE2B 9db6285c7a82110106bd05759a09f16d85c82f2516f0b6ea34044e7389b2d38ed418d0fe5da44c2c9f9e67f72404f104f419ce3316c07ea54e65d4f039188039 SHA512 2f56b8fb7abfa58631ebc93c7a98cc066446808cbc0116902e43ebefa5f9625232da5ee3ede1d14a236296660a2f4c0907fa1ef24d383b4e32c70dcc3988c765
+DIST bpftrace-0.20.0.gh.tar.gz 1233420 BLAKE2B f69a65f33a7c1bd518bccf06e7bb975086deef6b43304285f1ac9e6dc54d92c6d887b194f63f46351d5506a1d40eb3d8a70e79e3f3f00b4bbdd692789caee149 SHA512 4554ba3099af086c7a149b809f4855d913361153b5f0b9552dbfabd360300d4ef841fe743734950d10b93c497e062476766cd0f6569ba2ff01951a4cc3a6cdb8

diff --git a/dev-debug/bpftrace/bpftrace-0.20.0.ebuild b/dev-debug/bpftrace/bpftrace-0.20.0.ebuild
new file mode 100644
index 000000000000..92cd7b068b6c
--- /dev/null
+++ b/dev-debug/bpftrace/bpftrace-0.20.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+
+inherit llvm linux-info cmake
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/iovisor/bpftrace"
+MY_PV="${PV//_/}"
+SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# remove keywords until build works:
+# https://github.com/iovisor/bpftrace/issues/2349
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="fuzzing test"
+
+# lots of fixing needed
+RESTRICT="test"
+
+RDEPEND="
+	>=dev-libs/libbpf-1.1:=
+	>=dev-util/bcc-0.25.0:=
+	>=sys-devel/llvm-10[llvm_targets_BPF(+)]
+	>=sys-devel/clang-10
+	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+	<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
+	sys-libs/binutils-libs:=
+	virtual/libelf:=
+"
+DEPEND="
+	${COMMON_DEPEND}
+	dev-libs/cereal:=
+	test? ( dev-cpp/gtest )
+"
+BDEPEND="
+	app-arch/xz-utils
+	app-alternatives/lex
+	app-alternatives/yacc
+	virtual/pkgconfig
+"
+
+QA_DT_NEEDED="
+	/usr/lib.*/libbpftraceresources.so
+	/usr/lib.*/libcxxdemangler_llvm.so
+"
+
+PATCHES=(
+	"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
+	"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
+	"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
+)
+
+pkg_pretend() {
+	local CONFIG_CHECK="
+		~BPF
+		~BPF_EVENTS
+		~BPF_JIT
+		~BPF_SYSCALL
+		~FTRACE_SYSCALLS
+		~HAVE_EBPF_JIT
+	"
+
+	check_extra_config
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DSTATIC_LINKING:BOOL=OFF
+		# bug 809362, 754648
+		-DBUILD_TESTING:BOOL=$(usex test)
+		-DBUILD_FUZZ:BOOL=$(usex fuzzing)
+		-DENABLE_MAN:BOOL=OFF
+	)
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+	# bug 809362
+	dostrip -x /usr/bin/bpftrace
+	doman man/man8/*.?
+}

diff --git a/dev-debug/bpftrace/files/bpftrace-0.20.0-install-libs.patch b/dev-debug/bpftrace/files/bpftrace-0.20.0-install-libs.patch
new file mode 100644
index 000000000000..7369875ad5ef
--- /dev/null
+++ b/dev-debug/bpftrace/files/bpftrace-0.20.0-install-libs.patch
@@ -0,0 +1,320 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 46a2579e..7fa09199 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -102,9 +102,10 @@ endif()
+ bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc COMPILE_FLAGS ${BISON_FLAGS} VERBOSE)
+ flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
+ add_flex_bison_dependency(flex_lexer bison_parser)
+-add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
+-target_compile_options(parser PRIVATE "-w")
+-target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
++add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
++target_compile_options(bpftraceparser PRIVATE "-w")
++target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
++install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ include(CheckSymbolExists)
+ set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 88f5928c..4dee1ec8 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -13,7 +13,7 @@ else()
+   endif ()
+ endif()
+ 
+-add_library(runtime
++add_library(bpftraceruntime
+   attached_probe.cpp
+   bpffeature.cpp
+   bpftrace.cpp
+@@ -46,7 +46,7 @@ add_library(runtime
+   ${BFD_DISASM_SRC}
+ )
+ # Ensure flex+bison outputs are built first
+-add_dependencies(runtime parser)
++add_dependencies(bpftraceruntime bpftraceparser)
+ 
+ add_library(libbpftrace
+   build_info.cpp
+@@ -63,6 +63,7 @@ add_executable(${BPFTRACE}
+ )
+ 
+ install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
++install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ target_link_libraries(${BPFTRACE} libbpftrace)
+ 
+ if (BUILD_FUZZ)
+@@ -91,7 +92,7 @@ endif()
+ set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
+ if (KERNEL_HEADERS_DIR)
+   MESSAGE(STATUS "Using KERNEL_HEADERS_DIR=${KERNEL_HEADERS_DIR}")
+-  target_compile_definitions(runtime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
++  target_compile_definitions(bpftraceruntime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
+ endif()
+ 
+ execute_process(
+@@ -111,10 +112,10 @@ endif()
+ 
+ add_definitions("-DBPFTRACE_VERSION=\"${BPFTRACE_VERSION}\"")
+ 
+-target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
+-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
+-target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
+-target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_BINARY_DIR})
++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src)
++target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
++target_compile_definitions(bpftraceruntime PRIVATE ${BPFTRACE_FLAGS})
+ target_include_directories(libbpftrace PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+ target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
+ 
+@@ -124,8 +125,9 @@ if(STATIC_LINKING)
+ endif(STATIC_LINKING)
+ 
+ 
+-target_link_libraries(runtime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
+-target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
++target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
++target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
++install(TARGETS bpftraceruntime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ if(LIBPCAP_FOUND)
+   target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
+@@ -135,49 +137,49 @@ if(HAVE_BFD_DISASM)
+   if(STATIC_LINKING OR LIBBFD_STATIC)
+     add_library(LIBBFD STATIC IMPORTED)
+     set_property(TARGET LIBBFD PROPERTY IMPORTED_LOCATION ${LIBBFD_LIBRARIES})
+-    target_link_libraries(runtime LIBBFD)
++    target_link_libraries(bpftraceruntime LIBBFD)
+     add_library(LIBOPCODES STATIC IMPORTED)
+     set_property(TARGET LIBOPCODES PROPERTY IMPORTED_LOCATION ${LIBOPCODES_LIBRARIES})
+-    target_link_libraries(runtime LIBOPCODES)
++    target_link_libraries(bpftraceruntime LIBOPCODES)
+     add_library(LIBIBERTY STATIC IMPORTED)
+     set_property(TARGET LIBIBERTY PROPERTY IMPORTED_LOCATION ${LIBIBERTY_LIBRARIES})
+-    target_link_libraries(runtime LIBIBERTY)
++    target_link_libraries(bpftraceruntime LIBIBERTY)
+ 
+     add_library(LIBZSTD STATIC IMPORTED)
+     if (LIBZSTD_FOUND)
+       set_property(TARGET LIBZSTD PROPERTY IMPORTED_LOCATION ${LIBZSTD_LIBRARIES})
+-      target_link_libraries(runtime LIBZSTD)
++      target_link_libraries(bpftraceruntime LIBZSTD)
+     endif(LIBZSTD_FOUND)
+ 
+     add_library(LIBSFRAME STATIC IMPORTED)
+     if (LIBSFRAME_FOUND)
+       set_property(TARGET LIBSFRAME PROPERTY IMPORTED_LOCATION ${LIBSFRAME_LIBRARIES})
+-      target_link_libraries(runtime LIBSFRAME)
++      target_link_libraries(bpftraceruntime LIBSFRAME)
+     endif()
+   else()
+-    target_link_libraries(runtime ${LIBBFD_LIBRARIES})
+-    target_link_libraries(runtime ${LIBOPCODES_LIBRARIES})
++    target_link_libraries(bpftraceruntime ${LIBBFD_LIBRARIES})
++    target_link_libraries(bpftraceruntime ${LIBOPCODES_LIBRARIES})
+   endif(STATIC_LINKING OR LIBBFD_STATIC)
+ endif(HAVE_BFD_DISASM)
+ 
+ # Link to bcc libraries (without LLVM) if possible
+ if(LIBBCC_BPF_CONTAINS_RUNTIME)
+-  target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
++  target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
+ else()
+-  target_link_libraries(runtime ${LIBBCC_LIBRARIES})
++  target_link_libraries(bpftraceruntime ${LIBBCC_LIBRARIES})
+ endif()
+ 
+ if(STATIC_LINKING)
+   # These are not part of the static libbcc so have to be added separate
+-  target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
+-  target_link_libraries(runtime ${LIBBPF_LIBRARIES})
+-  target_link_libraries(runtime ${LIBBCC_LOADER_LIBRARY_STATIC})
++  target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
++  target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
++  target_link_libraries(bpftraceruntime ${LIBBCC_LOADER_LIBRARY_STATIC})
+ 
+   add_library(LIBELF STATIC IMPORTED)
+   set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBELF_LIBRARIES})
+-  target_link_libraries(runtime LIBELF)
++  target_link_libraries(bpftraceruntime LIBELF)
+ else()
+-  target_link_libraries(runtime ${LIBELF_LIBRARIES})
++  target_link_libraries(bpftraceruntime ${LIBELF_LIBRARIES})
+ endif(STATIC_LINKING)
+ 
+ if (LIBDW_FOUND)
+@@ -206,16 +208,16 @@ if (LIBDW_FOUND)
+ 
+     target_link_libraries(LIBDW INTERFACE ${LIBDW_LIBS})
+ 
+-    target_link_libraries(runtime LIBDW)
++    target_link_libraries(bpftraceruntime LIBDW)
+   else()
+-    target_link_libraries(runtime ${LIBDW_LIBRARIES})
++    target_link_libraries(bpftraceruntime ${LIBDW_LIBRARIES})
+   endif()
+ endif()
+ 
+ # Support for std::filesystem
+ # GCC version <9 and Clang (all versions) require -lstdc++fs
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9")
+-  target_link_libraries(runtime "stdc++fs")
++  target_link_libraries(bpftraceruntime "stdc++fs")
+   target_link_libraries(libbpftrace "stdc++fs")
+ endif()
+ 
+@@ -237,12 +239,12 @@ endif()
+ if (STATIC_LINKING)
+   if(ANDROID)
+     target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
+-    target_link_libraries(runtime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
++    target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
+   else()
+     target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
+     target_link_libraries(libbpftrace "-Wl,-Bstatic" "-lz")
+-    target_link_libraries(runtime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
+-    target_link_libraries(runtime "-Wl,-Bstatic" "-lz")
++    target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
++    target_link_libraries(bpftraceruntime "-Wl,-Bstatic" "-lz")
+   endif()
+ endif()
+ 
+diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
+index 36ffd739..a7989df0 100644
+--- a/src/aot/CMakeLists.txt
++++ b/src/aot/CMakeLists.txt
+@@ -1,8 +1,9 @@
+ add_library(aot aot.cpp)
+-add_dependencies(aot parser)
++add_dependencies(aot bpftraceparser)
+ target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
+ target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
+ target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
++install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ # Only build aotrt if supported bcc is used
+ # (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
+@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
+ endif()
+ 
+ add_executable(bpftrace-aotrt aot_main.cpp)
+-target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
++target_link_libraries(bpftrace-aotrt aot bpftraceruntime bpftracearch ast_defs cxxdemangler_stdlib)
+ install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+ if(LIBPCAP_FOUND)
+diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
+index e6a1d0a0..c53daa19 100644
+--- a/src/arch/CMakeLists.txt
++++ b/src/arch/CMakeLists.txt
+@@ -1,19 +1,20 @@
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch64)")
+-    add_library(arch arm.cpp)
++    add_library(bpftracearch arm.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
+        CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
+-    add_library(arch ppc64.cpp)
++    add_library(bpftracearch ppc64.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
+        CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
+-    add_library(arch s390.cpp)
++    add_library(bpftracearch s390.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+-    add_library(arch x86_64.cpp)
++    add_library(bpftracearch x86_64.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
+-    add_library(arch mips64.cpp)
++    add_library(bpftracearch mips64.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
+-    add_library(arch riscv64.cpp)
++    add_library(bpftracearch riscv64.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "loongarch64")
+-    add_library(arch loongarch64.cpp)
++    add_library(bpftracearch loongarch64.cpp)
+ else()
+   message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
+ endif()
++install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
+index 65eab229..0bf35ec7 100644
+--- a/src/ast/CMakeLists.txt
++++ b/src/ast/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ add_library(ast_defs ast.cpp)
+ 
+-add_library(ast
++add_library(bpftraceast
+   async_event_types.cpp
+   attachpoint_parser.cpp
+   dibuilderbpf.cpp
+@@ -23,11 +23,13 @@ add_library(ast
+ target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
+ target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
+ target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
+-target_link_libraries(ast ast_defs arch parser)
++target_link_libraries(bpftraceast ast_defs bpftracearch bpftraceparser)
++install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+-add_dependencies(ast_defs parser)
++add_dependencies(ast_defs bpftraceparser)
+ 
+-target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
++target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
+ 
+ if(STATIC_LINKING)
+   include(Util)
+@@ -69,23 +71,23 @@ if(STATIC_LINKING)
+   unlink_transitive_dependency("${CLANG_EXPORTED_TARGETS}" "$<LINK_ONLY:clang-cpp>")
+ 
+   if(TARGET libclang_static)
+-    target_link_libraries(ast libclang_static)
++    target_link_libraries(bpftraceast libclang_static)
+   else()
+     # old LLVM versions don't export libclang_static in ClangTargets.cmake; fall back to
+     # libclang.a in that case
+-    target_link_libraries(ast libclang.a)
++    target_link_libraries(bpftraceast libclang.a)
+   endif()
+ 
+-  target_link_libraries(ast ${clang_libs})
+-  target_link_libraries(ast ${llvm_libs})
++  target_link_libraries(bpftraceast ${clang_libs})
++  target_link_libraries(bpftraceast ${llvm_libs})
+ else()
+   find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
+   if(found_LLVM)
+-    target_link_libraries(ast LLVM)
++    target_link_libraries(bpftraceast LLVM)
+   else()
+     llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit)
+     llvm_expand_dependencies(llvm_libs ${_llvm_libs})
+-    target_link_libraries(ast ${llvm_libs})
++    target_link_libraries(bpftraceast ${llvm_libs})
+   endif()
+-  target_link_libraries(ast libclang)
++  target_link_libraries(bpftraceast libclang)
+ endif()
+diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
+index 04cfcdd9..5677aa4b 100644
+--- a/src/cxxdemangler/CMakeLists.txt
++++ b/src/cxxdemangler/CMakeLists.txt
+@@ -1,2 +1,4 @@
+ add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
+ add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
++install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/src/resources/CMakeLists.txt b/src/resources/CMakeLists.txt
+index a7598e93..ff816cba 100644
+--- a/src/resources/CMakeLists.txt
++++ b/src/resources/CMakeLists.txt
+@@ -21,4 +21,5 @@ function(embed_headers output_h output_cpp)
+ endfunction()
+ 
+ embed_headers(${CMAKE_CURRENT_BINARY_DIR}/headers.h ${CMAKE_CURRENT_BINARY_DIR}/headers.cpp)
+-add_library(resources ${CMAKE_CURRENT_BINARY_DIR}/headers.cpp)
++add_library(bpftraceresources ${CMAKE_CURRENT_BINARY_DIR}/headers.cpp)
++install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-debug/bpftrace/, dev-debug/bpftrace/files/
@ 2024-03-02  6:33 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2024-03-02  6:33 UTC (permalink / raw
  To: gentoo-commits

commit:     39340a3d3b3f93f9af613136e874f634305ee356
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  2 06:33:14 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar  2 06:33:19 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39340a3d

dev-debug/bpftrace: fix USE=fuzzing build

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-debug/bpftrace/bpftrace-0.20.1-r1.ebuild       | 95 ++++++++++++++++++++++
 .../bpftrace/files/bpftrace-0.20.1-fuzzer.patch    | 42 ++++++++++
 2 files changed, 137 insertions(+)

diff --git a/dev-debug/bpftrace/bpftrace-0.20.1-r1.ebuild b/dev-debug/bpftrace/bpftrace-0.20.1-r1.ebuild
new file mode 100644
index 000000000000..d4856d58d474
--- /dev/null
+++ b/dev-debug/bpftrace/bpftrace-0.20.1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+
+inherit llvm linux-info cmake
+
+DESCRIPTION="High-level tracing language for eBPF"
+HOMEPAGE="https://github.com/iovisor/bpftrace"
+MY_PV="${PV//_/}"
+SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+# remove keywords until build works:
+# https://github.com/iovisor/bpftrace/issues/2349
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="fuzzing test"
+
+# lots of fixing needed
+RESTRICT="test"
+
+RDEPEND="
+	>=dev-libs/libbpf-1.1:=
+	>=dev-util/bcc-0.25.0:=
+	>=sys-devel/llvm-10[llvm_targets_BPF(+)]
+	>=sys-devel/clang-10
+	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+	<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
+	sys-libs/binutils-libs:=
+	virtual/libelf:=
+"
+DEPEND="
+	${COMMON_DEPEND}
+	dev-libs/cereal:=
+	test? ( dev-cpp/gtest )
+"
+BDEPEND="
+	app-arch/xz-utils
+	app-alternatives/lex
+	app-alternatives/yacc
+	virtual/pkgconfig
+"
+
+QA_DT_NEEDED="
+	usr/lib.*/libbpftraceresources.so
+	usr/lib.*/libcxxdemangler_llvm.so
+"
+
+PATCHES=(
+	"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
+	"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
+	"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
+	"${FILESDIR}/bpftrace-0.20.1-fuzzer.patch"
+)
+
+pkg_pretend() {
+	local CONFIG_CHECK="
+		~BPF
+		~BPF_EVENTS
+		~BPF_JIT
+		~BPF_SYSCALL
+		~FTRACE_SYSCALLS
+		~HAVE_EBPF_JIT
+	"
+
+	check_extra_config
+}
+
+pkg_setup() {
+	llvm_pkg_setup
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DSTATIC_LINKING:BOOL=OFF
+		# bug 809362, 754648
+		-DBUILD_TESTING:BOOL=$(usex test)
+		-DBUILD_FUZZ:BOOL=$(usex fuzzing)
+		-DENABLE_MAN:BOOL=OFF
+	)
+
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+	# bug 809362
+	dostrip -x /usr/bin/bpftrace
+	doman man/man8/*.?
+}

diff --git a/dev-debug/bpftrace/files/bpftrace-0.20.1-fuzzer.patch b/dev-debug/bpftrace/files/bpftrace-0.20.1-fuzzer.patch
new file mode 100644
index 000000000000..a0f54e4962f3
--- /dev/null
+++ b/dev-debug/bpftrace/files/bpftrace-0.20.1-fuzzer.patch
@@ -0,0 +1,42 @@
+https://github.com/bpftrace/bpftrace/commit/fe6362b4e2c1b9d0833c7d3f308c1d4006b54723
+
+From fe6362b4e2c1b9d0833c7d3f308c1d4006b54723 Mon Sep 17 00:00:00 2001
+From: gkamathe <73747618+gkamathe@users.noreply.github.com>
+Date: Fri, 16 Feb 2024 18:19:14 +0530
+Subject: [PATCH] =?UTF-8?q?fix=20bpftrace=5Ffuzz=20error=20for=20call=20to?=
+ =?UTF-8?q?=20'get=5Fkernel=E2=80=A6=5Fcflags'=20(#3007)?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* fix bpftrace_fuzz error: no matching function for call to 'get_kernel_cflags'
+
+When compiling bpftace_fuzz we run into the following issue where 1
+argument is missing, adding the required argument
+
+src/fuzz_main.cpp:140:21: error: no matching function for call to 'get_kernel_cflags'
+      extra_flags = get_kernel_cflags(utsname.machine, ksrc, kobj);
+                    ^~~~~~~~~~~~~~~~~
+src/utils.h:180:26: note: candidate function not viable: requires 4 arguments, but 3 were provided
+std::vector<std::string> get_kernel_cflags(const char *uname_machine,
+                         ^
+Seems fourth argument was added via 4bcee640636e268de4b938a1007fb29a8836f049
+
+Signed-off-by: Gaurav Kamathe <kamathe.gaurav@gmail.com>
+
+---------
+
+Signed-off-by: Gaurav Kamathe <kamathe.gaurav@gmail.com>
+--- a/src/fuzz_main.cpp
++++ b/src/fuzz_main.cpp
+@@ -137,7 +137,8 @@ int fuzz_main(const char* data, size_t sz)
+     kobj = std::get<1>(kdirs);
+ 
+     if (ksrc != "")
+-      extra_flags = get_kernel_cflags(utsname.machine, ksrc, kobj);
++      extra_flags = get_kernel_cflags(
++          utsname.machine, ksrc, kobj, bpftrace.kconfig);
+   }
+   extra_flags.push_back("-include");
+   extra_flags.push_back(CLANG_WORKAROUNDS_H);
+


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-debug/bpftrace/, dev-debug/bpftrace/files/
@ 2024-03-26 18:19 Patrick McLean
  0 siblings, 0 replies; 3+ messages in thread
From: Patrick McLean @ 2024-03-26 18:19 UTC (permalink / raw
  To: gentoo-commits

commit:     80ffa6803e31930893c80678cf001aca9f7351f5
Author:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 26 17:23:49 2024 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Mar 26 18:18:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=80ffa680

dev-debug/bpftrace: drop 0.19.1, 0.20.0, 0.20.1

Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 dev-debug/bpftrace/Manifest                        |   2 -
 dev-debug/bpftrace/bpftrace-0.19.1.ebuild          |  95 ------
 dev-debug/bpftrace/bpftrace-0.20.0.ebuild          |  94 ------
 dev-debug/bpftrace/bpftrace-0.20.1.ebuild          |  94 ------
 .../files/bpftrace-0.19.0-install-libs.patch       | 338 ---------------------
 5 files changed, 623 deletions(-)

diff --git a/dev-debug/bpftrace/Manifest b/dev-debug/bpftrace/Manifest
index 05ac7d1f5a02..cb5f782335bf 100644
--- a/dev-debug/bpftrace/Manifest
+++ b/dev-debug/bpftrace/Manifest
@@ -1,4 +1,2 @@
-DIST bpftrace-0.19.1.gh.tar.gz 1157777 BLAKE2B 9db6285c7a82110106bd05759a09f16d85c82f2516f0b6ea34044e7389b2d38ed418d0fe5da44c2c9f9e67f72404f104f419ce3316c07ea54e65d4f039188039 SHA512 2f56b8fb7abfa58631ebc93c7a98cc066446808cbc0116902e43ebefa5f9625232da5ee3ede1d14a236296660a2f4c0907fa1ef24d383b4e32c70dcc3988c765
-DIST bpftrace-0.20.0.gh.tar.gz 1233420 BLAKE2B f69a65f33a7c1bd518bccf06e7bb975086deef6b43304285f1ac9e6dc54d92c6d887b194f63f46351d5506a1d40eb3d8a70e79e3f3f00b4bbdd692789caee149 SHA512 4554ba3099af086c7a149b809f4855d913361153b5f0b9552dbfabd360300d4ef841fe743734950d10b93c497e062476766cd0f6569ba2ff01951a4cc3a6cdb8
 DIST bpftrace-0.20.1.gh.tar.gz 1233431 BLAKE2B fe9221a94d58b43e0311f8c841df8421c3fe226a3fe61f2ec5cce5de309acdb69a68834e92a2e622a1750975869cbdaa95a90f9afb83989aa61b56b551fa96e3 SHA512 fdcc2b0d091d4ab428207877626b0fb37f3e0778730e6a6db26be869a086264e1f24186857c47597813aacde98621a66301bcf6c8004f77bdf9ebf180f198ba0
 DIST bpftrace-0.20.3.gh.tar.gz 1233923 BLAKE2B c8a280441237d068029bd561a0fa70fd54676625c5bdd7d82a0a219d361cd71a460435ff05c865647d3e5c27d769ec296a47e5e7a3546fc8571af6a16d898300 SHA512 218a1bfac7e1a2b7eef5b0ed3e7403eed4bc932f2aa03c5f4c8924246c09088f5074ab3d54031e582cb4f8e7d0c7df1bb30007c2421c44d2c2506364f0ba5a0e

diff --git a/dev-debug/bpftrace/bpftrace-0.19.1.ebuild b/dev-debug/bpftrace/bpftrace-0.19.1.ebuild
deleted file mode 100644
index 48f68c08a2ec..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.19.1.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace"
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-	>=dev-libs/libbpf-1.1:=
-	>=dev-util/bcc-0.25.0:=
-	>=sys-devel/llvm-10[llvm_targets_BPF(+)]
-	>=sys-devel/clang-10
-	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-	<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-	sys-libs/binutils-libs:=
-	virtual/libelf:=
-"
-DEPEND="
-	${COMMON_DEPEND}
-	dev-libs/cereal:=
-	test? ( dev-cpp/gtest )
-"
-BDEPEND="
-	app-arch/xz-utils
-	app-alternatives/lex
-	app-alternatives/yacc
-	virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-	/usr/lib.*/libbpftraceresources.so
-	/usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-	"${FILESDIR}/bpftrace-0.19.0-install-libs.patch"
-	"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-	"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-)
-
-pkg_pretend() {
-	local CONFIG_CHECK="
-		~BPF
-		~BPF_EVENTS
-		~BPF_JIT
-		~BPF_SYSCALL
-		~FTRACE_SYSCALLS
-		~HAVE_EBPF_JIT
-	"
-
-	check_extra_config
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DSTATIC_LINKING:BOOL=OFF
-		# bug 809362, 754648
-		-DBUILD_TESTING:BOOL=$(usex test)
-		-DBUILD_FUZZ:BOOL=$(usex fuzzing)
-		-DENABLE_MAN:BOOL=OFF
-		-DUSE_SYSTEM_BPF_BCC:BOOL=ON
-	)
-
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-	# bug 809362
-	dostrip -x /usr/bin/bpftrace
-	doman man/man8/*.?
-}

diff --git a/dev-debug/bpftrace/bpftrace-0.20.0.ebuild b/dev-debug/bpftrace/bpftrace-0.20.0.ebuild
deleted file mode 100644
index 92cd7b068b6c..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.20.0.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace"
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-	>=dev-libs/libbpf-1.1:=
-	>=dev-util/bcc-0.25.0:=
-	>=sys-devel/llvm-10[llvm_targets_BPF(+)]
-	>=sys-devel/clang-10
-	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-	<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-	sys-libs/binutils-libs:=
-	virtual/libelf:=
-"
-DEPEND="
-	${COMMON_DEPEND}
-	dev-libs/cereal:=
-	test? ( dev-cpp/gtest )
-"
-BDEPEND="
-	app-arch/xz-utils
-	app-alternatives/lex
-	app-alternatives/yacc
-	virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-	/usr/lib.*/libbpftraceresources.so
-	/usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-	"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
-	"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-	"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-)
-
-pkg_pretend() {
-	local CONFIG_CHECK="
-		~BPF
-		~BPF_EVENTS
-		~BPF_JIT
-		~BPF_SYSCALL
-		~FTRACE_SYSCALLS
-		~HAVE_EBPF_JIT
-	"
-
-	check_extra_config
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DSTATIC_LINKING:BOOL=OFF
-		# bug 809362, 754648
-		-DBUILD_TESTING:BOOL=$(usex test)
-		-DBUILD_FUZZ:BOOL=$(usex fuzzing)
-		-DENABLE_MAN:BOOL=OFF
-	)
-
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-	# bug 809362
-	dostrip -x /usr/bin/bpftrace
-	doman man/man8/*.?
-}

diff --git a/dev-debug/bpftrace/bpftrace-0.20.1.ebuild b/dev-debug/bpftrace/bpftrace-0.20.1.ebuild
deleted file mode 100644
index 92cd7b068b6c..000000000000
--- a/dev-debug/bpftrace/bpftrace-0.20.1.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-
-inherit llvm linux-info cmake
-
-DESCRIPTION="High-level tracing language for eBPF"
-HOMEPAGE="https://github.com/iovisor/bpftrace"
-MY_PV="${PV//_/}"
-SRC_URI="https://github.com/iovisor/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${MY_PV:-${PV}}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-# remove keywords until build works:
-# https://github.com/iovisor/bpftrace/issues/2349
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="fuzzing test"
-
-# lots of fixing needed
-RESTRICT="test"
-
-RDEPEND="
-	>=dev-libs/libbpf-1.1:=
-	>=dev-util/bcc-0.25.0:=
-	>=sys-devel/llvm-10[llvm_targets_BPF(+)]
-	>=sys-devel/clang-10
-	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
-	<sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_BPF(+)]
-	sys-libs/binutils-libs:=
-	virtual/libelf:=
-"
-DEPEND="
-	${COMMON_DEPEND}
-	dev-libs/cereal:=
-	test? ( dev-cpp/gtest )
-"
-BDEPEND="
-	app-arch/xz-utils
-	app-alternatives/lex
-	app-alternatives/yacc
-	virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
-	/usr/lib.*/libbpftraceresources.so
-	/usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
-	"${FILESDIR}/bpftrace-0.20.0-install-libs.patch"
-	"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
-	"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
-)
-
-pkg_pretend() {
-	local CONFIG_CHECK="
-		~BPF
-		~BPF_EVENTS
-		~BPF_JIT
-		~BPF_SYSCALL
-		~FTRACE_SYSCALLS
-		~HAVE_EBPF_JIT
-	"
-
-	check_extra_config
-}
-
-pkg_setup() {
-	llvm_pkg_setup
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DSTATIC_LINKING:BOOL=OFF
-		# bug 809362, 754648
-		-DBUILD_TESTING:BOOL=$(usex test)
-		-DBUILD_FUZZ:BOOL=$(usex fuzzing)
-		-DENABLE_MAN:BOOL=OFF
-	)
-
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-	# bug 809362
-	dostrip -x /usr/bin/bpftrace
-	doman man/man8/*.?
-}

diff --git a/dev-debug/bpftrace/files/bpftrace-0.19.0-install-libs.patch b/dev-debug/bpftrace/files/bpftrace-0.19.0-install-libs.patch
deleted file mode 100644
index 647b0cd4cae5..000000000000
--- a/dev-debug/bpftrace/files/bpftrace-0.19.0-install-libs.patch
+++ /dev/null
@@ -1,338 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a1360a71..24d85abc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -138,9 +138,10 @@ endif()
- bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc COMPILE_FLAGS ${BISON_FLAGS} VERBOSE)
- flex_target(flex_lexer src/lexer.l ${CMAKE_BINARY_DIR}/lex.yy.cc)
- add_flex_bison_dependency(flex_lexer bison_parser)
--add_library(parser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
--target_compile_options(parser PRIVATE "-w")
--target_include_directories(parser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
-+add_library(bpftraceparser ${BISON_bison_parser_OUTPUTS} ${FLEX_flex_lexer_OUTPUTS})
-+target_compile_options(bpftraceparser PRIVATE "-w")
-+target_include_directories(bpftraceparser PUBLIC src src/ast ${CMAKE_BINARY_DIR})
-+install(TARGETS bpftraceparser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- include(CheckSymbolExists)
- set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
-diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
-index c12f9567..0bfec98c 100644
---- a/resources/CMakeLists.txt
-+++ b/resources/CMakeLists.txt
-@@ -1,6 +1,7 @@
--add_library(resources headers.cpp)
-+add_library(bpftraceresources headers.cpp)
- 
--target_include_directories(resources PUBLIC ../src)
-+target_include_directories(bpftraceresources PUBLIC ../src)
-+install(TARGETS bpftraceresources LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- function(embed_headers output)
-   file(WRITE ${output} "#include \"headers.h\"\n\nnamespace bpftrace {\n")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 401ddc0a..05f0f637 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -13,7 +13,7 @@ else()
-   endif ()
- endif()
- 
--add_library(runtime
-+add_library(bpftraceruntime
-   attached_probe.cpp
-   bpffeature.cpp
-   bpftrace.cpp
-@@ -44,7 +44,7 @@ add_library(runtime
-   ${BFD_DISASM_SRC}
- )
- # Ensure flex+bison outputs are built first
--add_dependencies(runtime parser)
-+add_dependencies(bpftraceruntime bpftraceparser)
- 
- add_library(libbpftrace
-   build_info.cpp
-@@ -61,6 +61,7 @@ add_executable(${BPFTRACE}
- )
- 
- install(TARGETS ${BPFTRACE} DESTINATION ${CMAKE_INSTALL_BINDIR})
-+install(TARGETS libbpftrace LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- target_link_libraries(${BPFTRACE} libbpftrace)
- 
- if (BUILD_FUZZ)
-@@ -89,7 +90,7 @@ endif()
- set(KERNEL_HEADERS_DIR "" CACHE PATH "Hard-code kernel headers directory")
- if (KERNEL_HEADERS_DIR)
-   MESSAGE(STATUS "Using KERNEL_HEADERS_DIR=${KERNEL_HEADERS_DIR}")
--  target_compile_definitions(runtime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
-+  target_compile_definitions(bpftraceruntime PUBLIC KERNEL_HEADERS_DIR="${KERNEL_HEADERS_DIR}")
- endif()
- 
- execute_process(
-@@ -109,10 +110,11 @@ endif()
- 
- add_definitions("-DBPFTRACE_VERSION=\"${BPFTRACE_VERSION}\"")
- 
--target_include_directories(runtime PRIVATE ${CMAKE_BINARY_DIR})
--target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src)
--target_include_directories(runtime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
--target_compile_definitions(runtime PRIVATE ${BPFTRACE_FLAGS})
-+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_BINARY_DIR})
-+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src)
-+target_include_directories(bpftraceruntime PRIVATE ${CMAKE_SOURCE_DIR}/src/ast)
-+target_compile_definitions(bpftraceruntime PRIVATE ${BPFTRACE_FLAGS})
-+install(TARGETS bpftraceruntime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
- 
- # Linking
-@@ -125,8 +127,8 @@ if(STATIC_LINKING)
- endif(STATIC_LINKING)
- 
- 
--target_link_libraries(runtime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
--target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
-+target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES} ${ZLIB_LIBRARIES})
-+target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
- 
- if(LIBPCAP_FOUND)
-   target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
-@@ -136,49 +138,49 @@ if(HAVE_BFD_DISASM)
-   if(STATIC_LINKING OR LIBBFD_STATIC)
-     add_library(LIBBFD STATIC IMPORTED)
-     set_property(TARGET LIBBFD PROPERTY IMPORTED_LOCATION ${LIBBFD_LIBRARIES})
--    target_link_libraries(runtime LIBBFD)
-+    target_link_libraries(bpftraceruntime LIBBFD)
-     add_library(LIBOPCODES STATIC IMPORTED)
-     set_property(TARGET LIBOPCODES PROPERTY IMPORTED_LOCATION ${LIBOPCODES_LIBRARIES})
--    target_link_libraries(runtime LIBOPCODES)
-+    target_link_libraries(bpftraceruntime LIBOPCODES)
-     add_library(LIBIBERTY STATIC IMPORTED)
-     set_property(TARGET LIBIBERTY PROPERTY IMPORTED_LOCATION ${LIBIBERTY_LIBRARIES})
--    target_link_libraries(runtime LIBIBERTY)
-+    target_link_libraries(bpftraceruntime LIBIBERTY)
- 
-     add_library(LIBZSTD STATIC IMPORTED)
-     if (LIBZSTD_FOUND)
-       set_property(TARGET LIBZSTD PROPERTY IMPORTED_LOCATION ${LIBZSTD_LIBRARIES})
--      target_link_libraries(runtime LIBZSTD)
-+      target_link_libraries(bpftraceruntime LIBZSTD)
-     endif(LIBZSTD_FOUND)
- 
-     add_library(LIBSFRAME STATIC IMPORTED)
-     if (LIBSFRAME_FOUND)
-       set_property(TARGET LIBSFRAME PROPERTY IMPORTED_LOCATION ${LIBSFRAME_LIBRARIES})
--      target_link_libraries(runtime LIBSFRAME)
-+      target_link_libraries(bpftraceruntime LIBSFRAME)
-     endif()
-   else()
--    target_link_libraries(runtime ${LIBBFD_LIBRARIES})
--    target_link_libraries(runtime ${LIBOPCODES_LIBRARIES})
-+    target_link_libraries(bpftraceruntime ${LIBBFD_LIBRARIES})
-+    target_link_libraries(bpftraceruntime ${LIBOPCODES_LIBRARIES})
-   endif(STATIC_LINKING OR LIBBFD_STATIC)
- endif(HAVE_BFD_DISASM)
- 
- # Link to bcc libraries (without LLVM) if possible
- if(LIBBCC_BPF_CONTAINS_RUNTIME)
--  target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
-+  target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
- else()
--  target_link_libraries(runtime ${LIBBCC_LIBRARIES})
-+  target_link_libraries(bpftraceruntime ${LIBBCC_LIBRARIES})
- endif()
- 
- if(STATIC_BPF_BCC)
-   # These are not part of the static libbcc so have to be added separate
--  target_link_libraries(runtime ${LIBBCC_BPF_LIBRARIES})
--  target_link_libraries(runtime ${LIBBPF_LIBRARIES})
--  target_link_libraries(runtime ${LIBBCC_LOADER_LIBRARY_STATIC})
-+  target_link_libraries(bpftraceruntime ${LIBBCC_BPF_LIBRARIES})
-+  target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
-+  target_link_libraries(bpftraceruntime ${LIBBCC_LOADER_LIBRARY_STATIC})
- 
-   add_library(LIBELF STATIC IMPORTED)
-   set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBELF_LIBRARIES})
--  target_link_libraries(runtime LIBELF)
-+  target_link_libraries(bpftraceruntime LIBELF)
- else()
--  target_link_libraries(runtime ${LIBELF_LIBRARIES})
-+  target_link_libraries(bpftraceruntime ${LIBELF_LIBRARIES})
- endif(STATIC_BPF_BCC)
- 
- if (LIBDW_FOUND)
-@@ -207,16 +209,16 @@ if (LIBDW_FOUND)
- 
-     target_link_libraries(LIBDW INTERFACE ${LIBDW_LIBS})
- 
--    target_link_libraries(runtime LIBDW)
-+    target_link_libraries(bpftraceruntime LIBDW)
-   else()
--    target_link_libraries(runtime ${LIBDW_LIBRARIES})
-+    target_link_libraries(bpftraceruntime ${LIBDW_LIBRARIES})
-   endif()
- endif()
- 
- # Support for std::filesystem
- # GCC version <9 and Clang (all versions) require -lstdc++fs
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9")
--  target_link_libraries(runtime "stdc++fs")
-+  target_link_libraries(bpftraceruntime "stdc++fs")
-   target_link_libraries(libbpftrace "stdc++fs")
- endif()
- 
-@@ -238,16 +240,16 @@ endif()
- if (STATIC_LINKING)
-   if(ANDROID)
-     target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
--    target_link_libraries(runtime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
-+    target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-ldl" "-lm" "-lz")
-   else()
-     target_link_libraries(libbpftrace "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
-     target_link_libraries(libbpftrace "-Wl,-Bstatic" "-lz")
--    target_link_libraries(runtime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
--    target_link_libraries(runtime "-Wl,-Bstatic" "-lz")
-+    target_link_libraries(bpftraceruntime "-Wl,-Bdynamic" "-lrt" "-lpthread" "-ldl" "-lm")
-+    target_link_libraries(bpftraceruntime "-Wl,-Bstatic" "-lz")
-   endif()
- elseif(STATIC_BPF_BCC)
-   # partial static build, libbpf needs zlib, bcc needs liblzma
--  target_link_libraries(runtime "-lz" "-llzma")
-+  target_link_libraries(bpftraceruntime "-lz" "-llzma")
- endif()
- 
- unset(MAIN_SRC)
-diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
-index c776d204..41e84317 100644
---- a/src/aot/CMakeLists.txt
-+++ b/src/aot/CMakeLists.txt
-@@ -1,8 +1,9 @@
- add_library(aot aot.cpp)
--add_dependencies(aot parser)
-+add_dependencies(aot bpftraceparser)
- target_include_directories(aot PUBLIC ${CMAKE_SOURCE_DIR}/src)
- target_include_directories(aot PUBLIC ${CMAKE_BINARY_DIR})
- target_compile_definitions(aot PRIVATE ${BPFTRACE_FLAGS})
-+install(TARGETS aot LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
- # Only build aotrt if supported bcc is used
- # (https://github.com/iovisor/bcc/commit/719191867a25ce07dc96f7faf9b8ccedadc7ec44)
-@@ -11,7 +12,7 @@ if(NOT LIBBCC_BPF_CONTAINS_RUNTIME)
- endif()
- 
- add_executable(bpftrace-aotrt aot_main.cpp)
--target_link_libraries(bpftrace-aotrt aot runtime arch ast_defs cxxdemangler_stdlib)
-+target_link_libraries(bpftrace-aotrt aot bpftraceruntime bpftracearch ast_defs cxxdemangler_stdlib)
- install(TARGETS bpftrace-aotrt DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(LIBPCAP_FOUND)
-diff --git a/src/arch/CMakeLists.txt b/src/arch/CMakeLists.txt
-index e6a1d0a0..c53daa19 100644
---- a/src/arch/CMakeLists.txt
-+++ b/src/arch/CMakeLists.txt
-@@ -1,19 +1,20 @@
- if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|aarch64)")
--    add_library(arch arm.cpp)
-+    add_library(bpftracearch arm.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR
-        CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
--    add_library(arch ppc64.cpp)
-+    add_library(bpftracearch ppc64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "s390" OR
-        CMAKE_SYSTEM_PROCESSOR STREQUAL "s390x")
--    add_library(arch s390.cpp)
-+    add_library(bpftracearch s390.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
--    add_library(arch x86_64.cpp)
-+    add_library(bpftracearch x86_64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips64")
--    add_library(arch mips64.cpp)
-+    add_library(bpftracearch mips64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64")
--    add_library(arch riscv64.cpp)
-+    add_library(bpftracearch riscv64.cpp)
- elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "loongarch64")
--    add_library(arch loongarch64.cpp)
-+    add_library(bpftracearch loongarch64.cpp)
- else()
-   message(FATAL_ERROR "Unsupported architecture: ${CMAKE_SYSTEM_PROCESSOR}")
- endif()
-+install(TARGETS bpftracearch LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/ast/CMakeLists.txt b/src/ast/CMakeLists.txt
-index c390ea6a..37019bd9 100644
---- a/src/ast/CMakeLists.txt
-+++ b/src/ast/CMakeLists.txt
-@@ -1,6 +1,6 @@
- add_library(ast_defs ast.cpp)
- 
--add_library(ast
-+add_library(bpftraceast
-   async_event_types.cpp
-   attachpoint_parser.cpp
-   elf_parser.cpp
-@@ -21,11 +21,13 @@ add_library(ast
- target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src)
- target_include_directories(ast_defs PUBLIC ${CMAKE_SOURCE_DIR}/src/ast)
- target_include_directories(ast_defs PUBLIC ${CMAKE_BINARY_DIR})
--target_link_libraries(ast ast_defs arch parser)
-+target_link_libraries(bpftraceast ast_defs bpftracearch bpftraceparser)
-+install(TARGETS ast_defs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(TARGETS bpftraceast LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- 
--add_dependencies(ast_defs parser)
-+add_dependencies(ast_defs bpftraceparser)
- 
--target_compile_definitions(ast PRIVATE ${BPFTRACE_FLAGS})
-+target_compile_definitions(bpftraceast PRIVATE ${BPFTRACE_FLAGS})
- 
- if (STATIC_LINKING)
-   set(clang_libs
-@@ -58,20 +60,20 @@ if (STATIC_LINKING)
- 
- 
-   if(EMBED_USE_LLVM)
--    target_link_libraries(ast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
-+    target_link_libraries(bpftraceast "-Wl,--start-group" ${CLANG_EMBEDDED_CMAKE_TARGETS} ${LLVM_EMBEDDED_CMAKE_TARGETS} "-Wl,--end-group")
-   else()
-     llvm_map_components_to_libnames(llvm_libs ${llvm_lib_names})
- 
-     if(TARGET libclang_static)
--      target_link_libraries(ast libclang_static)
-+      target_link_libraries(bpftraceast libclang_static)
-     else()
-       # old LLVM versions don't export libclang_static in ClangTargets.cmake; fall back to
-       # libclang.a in that case
--      target_link_libraries(ast libclang.a)    
-+      target_link_libraries(abpftracest libclang.a)
-     endif()
- 
--    target_link_libraries(ast ${clang_libs})
--    target_link_libraries(ast ${llvm_libs})
-+    target_link_libraries(abpftracest ${clang_libs})
-+    target_link_libraries(abpftracest ${llvm_libs})
-   endif()
- 
-   if(STATIC_LIBC)
-@@ -81,11 +83,11 @@ if (STATIC_LINKING)
- else()
-   find_library(found_LLVM LLVM HINTS ${LLVM_LIBRARY_DIRS})
-   if(found_LLVM)
--    target_link_libraries(ast LLVM)
-+    target_link_libraries(bpftraceast LLVM)
-   else()
-     llvm_map_components_to_libnames(_llvm_libs bpfcodegen ipo irreader mcjit orcjit ${LLVM_TARGETS_TO_BUILD})
-     llvm_expand_dependencies(llvm_libs ${_llvm_libs})
--    target_link_libraries(ast ${llvm_libs})
-+    target_link_libraries(bpftraceast ${llvm_libs})
-   endif()
--  target_link_libraries(ast libclang)
-+  target_link_libraries(bpftraceast libclang)
- endif()
-diff --git a/src/cxxdemangler/CMakeLists.txt b/src/cxxdemangler/CMakeLists.txt
-index 04cfcdd9..5677aa4b 100644
---- a/src/cxxdemangler/CMakeLists.txt
-+++ b/src/cxxdemangler/CMakeLists.txt
-@@ -1,2 +1,4 @@
- add_library(cxxdemangler_stdlib cxxdemangler_stdlib.cpp)
- add_library(cxxdemangler_llvm cxxdemangler_llvm.cpp)
-+install(TARGETS cxxdemangler_stdlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(TARGETS cxxdemangler_llvm LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-03-26 18:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-02  6:33 [gentoo-commits] repo/gentoo:master commit in: dev-debug/bpftrace/, dev-debug/bpftrace/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-03-26 18:19 Patrick McLean
2024-01-23 20:51 Patrick McLean

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox