summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-15 22:05:15 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-15 22:05:15 +0100
commitaffa75f527bf2512b296482bd14bade15f820d6a (patch)
treeccad15ef56fd6e66c5f1a0af604048c4a3728828 /dev-util
parentbbeceee79ae8bdf53d0a494f86896a356e1cfe5f (diff)
gentoo auto-resync : 15:05:2023 - 22:05:14
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/Manifest.gzbin68457 -> 68458 bytes
-rw-r--r--dev-util/bpftrace/Manifest11
-rw-r--r--dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild92
-rw-r--r--dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild93
-rw-r--r--dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild97
-rw-r--r--dev-util/bpftrace/bpftrace-0.18.0.ebuild (renamed from dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild)4
-rw-r--r--dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch210
-rw-r--r--dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch450
-rw-r--r--dev-util/bpftrace/files/bpftrace-0.18.0-install-libs.patch329
9 files changed, 333 insertions, 953 deletions
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 13854d191194..af13f2965187 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/bpftrace/Manifest b/dev-util/bpftrace/Manifest
index dd5dd158da75..ef04aa4538fb 100644
--- a/dev-util/bpftrace/Manifest
+++ b/dev-util/bpftrace/Manifest
@@ -1,16 +1,11 @@
AUX bpftrace-0.11.4-old-kernels.patch 563 BLAKE2B 3b2afb997119188e7095b24ec459f4b5ae28626f6905c45f6510f84b7c6f28aa3b5174f1f48a30763990b2a3cc50c6336249fe1dc4cf31656871a8adce43c8d7 SHA512 332e6cc4d1c21e917451c9aa6028b082f53dde8221419ba45ad7ae6321e444b3f67ec8366cbd56638d8f8b68a3be06af892eba765c810744951af1de9b994113
AUX bpftrace-0.15.0-dont-compress-man.patch 1885 BLAKE2B 89a327cef68fa838d5c04b37e7bf72e6b03b54c244889706ba3c5156e2355d00cf395d14a6e8a7fe622e002acf9bab06dbc1427f6b637f0c59db86af08f05d51 SHA512 b591a73b0bbdd0105e6b87fb264ca4345e200ab58754d09a87dec79e60044eab165f2b34fe5ddc904cd877a460d5f41eef8b4d59eac255ea4f4e0fae37cf3511
-AUX bpftrace-0.16.0-install-libs.patch 8507 BLAKE2B 84842c5c400e2921d40f32ccd27ec06174c517e35b3a413907231e128d636e7c4711d131682d3fbc75a861bf3cd0cf83de2ca1c4bfbf2606e69d32f898fbd3a4 SHA512 93341eca7566d1328cbd670685859803cc76869be2eb3d52d38e3956f30d28f63d73ba32ae7f111dfd01ccb95899be6e1834fe7e1f1ee3794a0b796b8f52574e
-AUX bpftrace-0.16.0-opaquepointer.patch 20038 BLAKE2B beeda98ded230a8bb22d2a32dd0e839f138ca9c9fec10402d039f4385016b4330ce94756641e4f24a5a1e294ce08d282cbf4f7e01ef0c817dda21d2324f7cf60 SHA512 4b61fe7d21a42493590e5e6bc7507852d6a1f0d685d78958d6aa2c1602211d99bbccced25a2c118ecdedd802ccfdd009b940ccb81573b28b010a476952bd1da7
AUX bpftrace-0.17.0-install-libs.patch 13720 BLAKE2B dd9e6c2fbd7e9b9d968d392d0585a612c0cd3d06bcdb2a8a58123742603e16001b4c946b83cd3ae4234eb18f547b0a4e28fd123f4ad63382ce35ec054afe8c96 SHA512 bff931ecd358237976fbfd7f2a966d9b734f96b4458b85fe1348de51993bc0ec976a2f88919a1c1eaa8844028b6cd963eaad6ff698498febf24d2418b415760b
AUX bpftrace-0.17.0-llvm-16.patch 852 BLAKE2B f429d6b0f80e96ed51813ac257fe6b3b7154c6a81d3480905593f4e8726e4f48cbb366500038119208eb6dee8dbd8a255ee67690be02e67db55a662fcb2732b1 SHA512 64ab918984b8451c01806f4cb9e076a9c5cbcaf8209c8547f94c590fa37f843a6aab52344a782ed083ff5ddeb08eb2650039643db515fbf5c0ee433096d97ed3
AUX bpftrace-0.17.0-use-std-optional.patch 1832 BLAKE2B fbe955e32135192b9e058f5b6fbea1b43608ac4eb7f8e30d157e8679350040b3919ac96a5d74b86ffddb5ce2e39d52bc1feece2a77b101b4b8eef6093e85ea49 SHA512 0325101a220996090e60b1681f97ac6587babf559b6cd814c8ebbcfe144ed9af9f9e3eace179e0a3f399e862392c8bbf6a344fa80006137717a8bdc0d3a2dfa5
-DIST bpftrace-0.16.0.gh.tar.gz 1023480 BLAKE2B 20fa877adeaada655462004142a80f107f82a3fa73fd7a7675a477d45ecd3a28115af5d612da2b06e2d760cfa3e574583e4cc4d62f4175c49ecc9d9b3fcceb6e SHA512 52ca4fea4e2f8d2cbf0f9f1bc69af0ee3408201f019006dd2e838b9458cfc01761eba3df24c39e05cf93220d85d0cecc69bb44ec72f9f44cec0eb94479bff734
-DIST bpftrace-0.17.0.gh.tar.gz 1033934 BLAKE2B 960582096fcf1652a65c4f8e18dcc5e17792c3b5c048dff59465fc1fc43d39e033c06ebc5c9bc88310b429a81fac5a8cfcdc261e7f0dcdcba4823b518f74fa3e SHA512 b1c8fc81b23f38bc45b4e73edd29c4cd0775e703b368612f00902fbda39dc3758038cd7afa351c1711cec467efd2a199a6b8b933b03aebd591d230d533e190d3
+AUX bpftrace-0.18.0-install-libs.patch 13680 BLAKE2B e86511999075c124647424f1589485e4efed63ffda30dc42a94cdd613ab408add4c08955127c2226d6128ab6885fa9f7af544e2dba897eaee611aa2f83ff282f SHA512 073a6bee013572aafd4d4ec0f45a5a8717dd9dbe5c1202884a9443d96104dcc013a3704a00b5c791643cf27a9812a57c1205bf8f96e2ec3140d9e53ac4dc0188
DIST bpftrace-0.17.1.gh.tar.gz 1035345 BLAKE2B 5dca6f3fc49458b4b2ed3068e3f99f1156067c430af36b53949e469a870101d2da6aba6c4d18bfaf173cc45eab18e3c316966a5e222a4b4cea98363a9afd90ce SHA512 57f00a0b209d745efe5ce39d0e8efb90a21b5c499b41385814378d828ef507dc2c6d9497f9d23dbb610fcff21f077cba9f7481e7a6a6465825065743289ef4ad
-EBUILD bpftrace-0.16.0-r1.ebuild 1740 BLAKE2B b798c92e0e80396c069d83b1f9d55d019382a4f3615c4a064d9b0c196c010c4399d488c41ef403702a5e3ccdff14d1cd4466a8b0d6cdb25902b48498197120b7 SHA512 0b252876bcd309520eb3daa4216cf21e1d8b1eb2ea0e33f5abe3b5d48cf32e8c5e5739f46c395f4678c64e39841e87093b829269563eadd51bdb10acf0b51d3c
-EBUILD bpftrace-0.16.0-r2.ebuild 1791 BLAKE2B bd0db18452f6d36ea37658b477219fc10edb329b17aa0fb6f26bce4578c9ddba88915e0a026fd190fcb5eba8bf005d930d6fcda590da623725a8254e8f224f30 SHA512 569974b254bd1ffc50018bc66edac49bb0f2c07a8990caded28fdf24f5728b16df08cc20157f07e248eb960291ecf9c8f5782bc4e1701ce2e8631f0abcbd8164
-EBUILD bpftrace-0.17.0-r3.ebuild 1938 BLAKE2B b4849d7b719f8f95a77bbfe58ec2a17cf1d2e8e8460f14a2dd24a3a075a90760300aa4e898319ce101d4953ed3c7e08711839b125d11f59d1090c97a48c8410e SHA512 72e87b86b90dced3a5904bd56415390763dfe7e47f1bd4a933d193a48c6e8e9ae144e6172fd1546ce9c28f9e1388c7c6e297e468f339fe00322bb34aa936c2c1
-EBUILD bpftrace-0.17.0-r4.ebuild 1934 BLAKE2B 97786852a27191f1d21618033a15c0a0da7a043cb6abc71f15240f7de4720a77139f4ace5d5f049f987ba60b7fb59eb8719b2b837b7d1cce7e98c72793f8eda0 SHA512 89e195cd57c499738f5e27137f3f0c640c1230a739fe6d4ccd264587eecd4a9ef3ba88aab67644c30cfe3e3456ea8114d8fa1eae9628fe8498bd51c8c3516fa5
+DIST bpftrace-0.18.0.gh.tar.gz 1046210 BLAKE2B 921fdd56cff48e7b8fc2b8164839393f2759218accaa58412fdf80b2df4474067c3c660da09e3ee808d258c1f19b0534fa81462cbea5ce3e814bdbeaa7dce5aa SHA512 b7da273d251f03a81b3a7097407352e7ad1d023972852bdb883176e97bab7046f9f327bd03bca51fe853ecaab5f60adc6994e75cb450a033a5b91118f719c36d
EBUILD bpftrace-0.17.1.ebuild 1934 BLAKE2B 97786852a27191f1d21618033a15c0a0da7a043cb6abc71f15240f7de4720a77139f4ace5d5f049f987ba60b7fb59eb8719b2b837b7d1cce7e98c72793f8eda0 SHA512 89e195cd57c499738f5e27137f3f0c640c1230a739fe6d4ccd264587eecd4a9ef3ba88aab67644c30cfe3e3456ea8114d8fa1eae9628fe8498bd51c8c3516fa5
+EBUILD bpftrace-0.18.0.ebuild 1835 BLAKE2B edcacb13d714cb04c2e749bbf3cbdd49f790a41f50a10aa4b12efd30875bbaacdc6b7f4a29aff8d9e9df482e6aae376abce85a6d651b4bbdb72004cd6f78e4f1 SHA512 dcf7c7a09aad14258d9868d221a5750309edebbb74c820631feb79bf8ab8cb2f0184010d8993675b0482cedf47fb08ed2fdcfb1613616ab74d38ab033b3d589e
MISC metadata.xml 499 BLAKE2B ce7c46f4c5e49f2f779ff6584053f7fc78dffaeee432ac46a8881b3d49dc569e309af95aaf9d6e77a36ebc87be0cd2f86a5db7b733463e4252d3a242d914f293 SHA512 dfb827afd47feb8204ef40c940ebcc7d1b3217cdf0f24425e4ab32195309d727225e942d777871565e47a2c02244d053f46ed25165e9728c94e0683ff61bf4ce
diff --git a/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild b/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild
deleted file mode 100644
index 3f624490bfe6..000000000000
--- a/dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-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.0:=
- >=dev-util/bcc-0.25.0:=
- <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
- sys-devel/flex
- sys-devel/bison
- virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
- /usr/lib.*/libbpftraceresources.so
- /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.16.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-util/bpftrace/bpftrace-0.16.0-r2.ebuild b/dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild
deleted file mode 100644
index dca9044e1ff0..000000000000
--- a/dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-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.0:=
- >=dev-util/bcc-0.25.0:=
- <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
- sys-devel/flex
- sys-devel/bison
- virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
- /usr/lib.*/libbpftraceresources.so
- /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.16.0-install-libs.patch"
- "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.16.0-opaquepointer.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-util/bpftrace/bpftrace-0.17.0-r3.ebuild b/dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild
deleted file mode 100644
index 161c441420f7..000000000000
--- a/dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=16
-
-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
- sys-devel/flex
- sys-devel/bison
- virtual/pkgconfig
-"
-
-QA_DT_NEEDED="
- /usr/lib.*/libbpftraceresources.so
- /usr/lib.*/libcxxdemangler_llvm.so
-"
-
-PATCHES=(
- "${FILESDIR}/bpftrace-0.17.0-install-libs.patch"
- "${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
- "${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.17.0-llvm-16.patch"
- "${FILESDIR}/bpftrace-0.17.0-use-std-optional.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-util/bpftrace/bpftrace-0.17.0-r4.ebuild b/dev-util/bpftrace/bpftrace-0.18.0.ebuild
index 21b7e21bf0fd..b71d49f48399 100644
--- a/dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild
+++ b/dev-util/bpftrace/bpftrace-0.18.0.ebuild
@@ -52,11 +52,9 @@ QA_DT_NEEDED="
"
PATCHES=(
- "${FILESDIR}/bpftrace-0.17.0-install-libs.patch"
+ "${FILESDIR}/bpftrace-0.18.0-install-libs.patch"
"${FILESDIR}/bpftrace-0.15.0-dont-compress-man.patch"
"${FILESDIR}/bpftrace-0.11.4-old-kernels.patch"
- "${FILESDIR}/bpftrace-0.17.0-llvm-16.patch"
- "${FILESDIR}/bpftrace-0.17.0-use-std-optional.patch"
)
pkg_pretend() {
diff --git a/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch
deleted file mode 100644
index 290c1065b2ce..000000000000
--- a/dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e63bc83c..ada1d370 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,9 +114,10 @@ find_package(FLEX REQUIRED)
- bison_target(bison_parser src/parser.yy ${CMAKE_BINARY_DIR}/parser.tab.cc 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 a95c60a1..f5c4d676 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 09b8c1e0..b9e9ac44 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -42,7 +42,7 @@ add_library(runtime
- ${BFD_DISASM_SRC}
- )
- # Ensure flex+bison outputs are built first
--add_dependencies(runtime parser)
-+add_dependencies(runtime bpftraceparser)
-
- add_library(libbpftrace
- build_info.cpp
-@@ -59,6 +59,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)
-@@ -111,6 +112,7 @@ 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})
-+install(TARGETS runtime LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- target_compile_definitions(libbpftrace PRIVATE ${BPFTRACE_FLAGS})
-
- # Linking
-@@ -123,7 +125,8 @@ if(STATIC_LINKING)
- endif(STATIC_LINKING)
-
-
--target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
-+target_link_libraries(libbpftrace bpftraceparser bpftraceresources
-+ runtime aot bpftraceast bpftracearch cxxdemangler_llvm)
-
- if (LIBBPF_BTF_DUMP_FOUND)
- target_link_libraries(runtime ${LIBBPF_LIBRARIES})
-@@ -168,6 +171,7 @@ if(STATIC_LINKING)
- target_link_libraries(runtime LIBELF)
- else()
- target_link_libraries(runtime ${LIBELF_LIBRARIES})
-+ target_link_libraries(runtime ${LIBBPF_LIBRARIES})
- endif(STATIC_LINKING)
-
- if (LIBDW_FOUND)
-diff --git a/src/aot/CMakeLists.txt b/src/aot/CMakeLists.txt
-index c776d204..a1d0d75e 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 runtime 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 127c3528..4e05d40a 100644
---- a/src/arch/CMakeLists.txt
-+++ b/src/arch/CMakeLists.txt
-@@ -1,17 +1,19 @@
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
-- add_library(arch aarch64.cpp)
-+ add_library(bpftracearch aarch64.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)
- 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 014295cd..c35f6ac6 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
- int_parser.cpp
-@@ -20,11 +20,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 bpforc parser)
-+target_link_libraries(bpftraceast ast_defs bpftracearch bpforc 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
-@@ -55,11 +57,11 @@ 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})
-- target_link_libraries(ast ${clang_libs})
-- target_link_libraries(ast ${llvm_libs})
-+ target_link_libraries(bpftraceast ${clang_libs})
-+ target_link_libraries(bpftraceast ${llvm_libs})
- endif()
-
- if(STATIC_LIBC)
-@@ -69,13 +71,13 @@ 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()
-
- add_subdirectory(bpforc)
-diff --git a/src/ast/bpforc/CMakeLists.txt b/src/ast/bpforc/CMakeLists.txt
-index 3f6dbefa..8ccfbb2b 100644
---- a/src/ast/bpforc/CMakeLists.txt
-+++ b/src/ast/bpforc/CMakeLists.txt
-@@ -1 +1,2 @@
- add_library(bpforc bpforc.cpp)
-+install(TARGETS bpforc LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-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/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch b/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch
deleted file mode 100644
index 656bf0f6a639..000000000000
--- a/dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch
+++ /dev/null
@@ -1,450 +0,0 @@
-commit a8665b2ef3199e82fd2ad076c1f07f1af2ec9272
-Author: Viktor Malik <viktor.malik@gmail.com>
-Date: Mon Oct 10 14:26:38 2022 +0200
-
- IR builder: get rid of getPointerElementType calls
-
- Usage of Value::getPointerElementType is deprecated and will be dropped
- in LLVM 16 [1].
-
- There are several places where we use this method:
- - function (value) calls - the called function type is usually
- available, so just pass it to createCall, the only exception is
- CreateProbeReadStr which must have been refactored
- - getting the type of alloca instruction - there is a dedicated
- AllocaInst::getAllocatedType method that can be used instead
- - strncmp - pass sizes of the strings to CreateStrncmp to be able to get
- the correct string type (which is array of uint8)
-
- [1] https://llvm.org/docs/OpaquePointers.html
-
-diff --git a/src/ast/irbuilderbpf.cpp b/src/ast/irbuilderbpf.cpp
-index 09ae1c5e..da120ba1 100644
---- a/src/ast/irbuilderbpf.cpp
-+++ b/src/ast/irbuilderbpf.cpp
-@@ -291,17 +291,16 @@ CallInst *IRBuilderBPF::CreateHelperCall(libbpf::bpf_func_id func_id,
- Constant *helper_func = ConstantExpr::getCast(Instruction::IntToPtr,
- getInt64(func_id),
- helper_ptr_type);
-- return createCall(helper_func, args, Name);
-+ return createCall(helper_type, helper_func, args, Name);
- }
-
--CallInst *IRBuilderBPF::createCall(Value *callee,
-+CallInst *IRBuilderBPF::createCall(FunctionType *callee_type,
-+ Value *callee,
- ArrayRef<Value *> args,
- const Twine &Name)
- {
- #if LLVM_VERSION_MAJOR >= 11
-- auto *calleePtrType = cast<PointerType>(callee->getType());
-- auto *calleeType = cast<FunctionType>(calleePtrType->getPointerElementType());
-- return CreateCall(calleeType, callee, args, Name);
-+ return CreateCall(callee_type, callee, args, Name);
- #else
- return CreateCall(callee, args, Name);
- #endif
-@@ -310,7 +309,7 @@ CallInst *IRBuilderBPF::createCall(Value *callee,
- CallInst *IRBuilderBPF::CreateBpfPseudoCallId(int mapid)
- {
- Function *pseudo_func = module_.getFunction("llvm.bpf.pseudo");
-- return createCall(pseudo_func,
-+ return CreateCall(pseudo_func,
- { getInt64(BPF_PSEUDO_MAP_FD), getInt64(mapid) },
- "pseudo");
- }
-@@ -349,7 +348,8 @@ CallInst *IRBuilderBPF::createMapLookup(int mapid, Value *key)
- Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_map_lookup_elem),
- lookup_func_ptr_type);
-- return createCall(lookup_func, { map_ptr, key }, "lookup_elem");
-+ return createCall(
-+ lookup_func_type, lookup_func, { map_ptr, key }, "lookup_elem");
- }
-
- CallInst *IRBuilderBPF::CreateGetJoinMap(Value *ctx, const location &loc)
-@@ -400,8 +400,7 @@ Value *IRBuilderBPF::CreateMapLookupElem(Value *ctx,
- CREATE_MEMCPY(value, call, type.GetSize(), 1);
- else
- {
-- assert(value->getType()->isPointerTy() &&
-- (value->getType()->getPointerElementType() == getInt64Ty()));
-+ assert(value->getAllocatedType() == getInt64Ty());
- // createMapLookup returns an u8*
- auto *cast = CreatePointerCast(call, value->getType(), "cast");
- CreateStore(CreateLoad(getInt64Ty(), cast), value);
-@@ -451,7 +450,8 @@ void IRBuilderBPF::CreateMapUpdateElem(Value *ctx,
- Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_map_update_elem),
- update_func_ptr_type);
-- CallInst *call = createCall(update_func,
-+ CallInst *call = createCall(update_func_type,
-+ update_func,
- { map_ptr, key, val, flags },
- "update_elem");
- CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_map_update_elem, loc);
-@@ -475,7 +475,8 @@ void IRBuilderBPF::CreateMapDeleteElem(Value *ctx,
- Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_map_delete_elem),
- delete_func_ptr_type);
-- CallInst *call = createCall(delete_func, { map_ptr, key }, "delete_elem");
-+ CallInst *call = createCall(
-+ delete_func_type, delete_func, { map_ptr, key }, "delete_elem");
- CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_map_delete_elem, loc);
- }
-
-@@ -501,72 +502,53 @@ void IRBuilderBPF::CreateProbeRead(Value *ctx,
- Constant *proberead_func = ConstantExpr::getCast(Instruction::IntToPtr,
- getInt64(read_fn),
- proberead_func_ptr_type);
-- CallInst *call = createCall(proberead_func,
-+ CallInst *call = createCall(proberead_func_type,
-+ proberead_func,
- { dst, size, src },
- probeReadHelperName(read_fn));
- CreateHelperErrorCond(ctx, call, read_fn, loc);
- }
-
--Constant *IRBuilderBPF::createProbeReadStrFn(llvm::Type *dst,
-- llvm::Type *src,
-- AddrSpace as)
--{
-- assert(src && (src->isIntegerTy() || src->isPointerTy()));
-- // int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
-- FunctionType *probereadstr_func_type = FunctionType::get(
-- getInt64Ty(), { dst, getInt32Ty(), src }, false);
-- PointerType *probereadstr_func_ptr_type = PointerType::get(
-- probereadstr_func_type, 0);
-- return ConstantExpr::getCast(Instruction::IntToPtr,
-- getInt64(selectProbeReadHelper(as, true)),
-- probereadstr_func_ptr_type);
--}
--
- CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
-- AllocaInst *dst,
-+ Value *dst,
- size_t size,
- Value *src,
- AddrSpace as,
- const location &loc)
- {
-- assert(ctx && ctx->getType() == getInt8PtrTy());
- return CreateProbeReadStr(ctx, dst, getInt32(size), src, as, loc);
- }
-
- CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
- Value *dst,
-- size_t size,
-- Value *src,
-- AddrSpace as,
-- const location &loc)
--{
-- assert(ctx && ctx->getType() == getInt8PtrTy());
-- Constant *fn = createProbeReadStrFn(dst->getType(), src->getType(), as);
-- auto read_fn = selectProbeReadHelper(as, true);
-- CallInst *call = createCall(fn,
-- { dst, getInt32(size), src },
-- probeReadHelperName(read_fn));
-- CreateHelperErrorCond(ctx, call, read_fn, loc);
-- return call;
--}
--
--CallInst *IRBuilderBPF::CreateProbeReadStr(Value *ctx,
-- AllocaInst *dst,
- llvm::Value *size,
- Value *src,
- AddrSpace as,
- const location &loc)
- {
- assert(ctx && ctx->getType() == getInt8PtrTy());
-- assert(dst && dst->getAllocatedType()->isArrayTy() &&
-- dst->getAllocatedType()->getArrayElementType() == getInt8Ty());
- assert(size && size->getType()->isIntegerTy());
-+ if (auto *dst_alloca = dyn_cast<AllocaInst>(dst))
-+ {
-+ assert(dst_alloca->getAllocatedType()->isArrayTy() &&
-+ dst_alloca->getAllocatedType()->getArrayElementType() ==
-+ getInt8Ty());
-+ }
-
-- auto *size_i32 = CreateIntCast(size, getInt32Ty(), false);
-+ auto *size_i32 = size;
-+ if (size_i32->getType()->getScalarSizeInBits() != 32)
-+ size_i32 = CreateIntCast(size_i32, getInt32Ty(), false);
-
-- Constant *fn = createProbeReadStrFn(dst->getType(), src->getType(), as);
- auto read_fn = selectProbeReadHelper(as, true);
-- CallInst *call = createCall(fn,
-+ // int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
-+ FunctionType *probereadstr_func_type = FunctionType::get(
-+ getInt64Ty(), { dst->getType(), getInt32Ty(), src->getType() }, false);
-+ PointerType *probereadstr_func_ptr_type = PointerType::get(
-+ probereadstr_func_type, 0);
-+ Constant *probereadstr_callee = ConstantExpr::getCast(
-+ Instruction::IntToPtr, getInt64(read_fn), probereadstr_func_ptr_type);
-+ CallInst *call = createCall(probereadstr_func_type,
-+ probereadstr_callee,
- { dst, size_i32, src },
- probeReadHelperName(read_fn));
- CreateHelperErrorCond(ctx, call, read_fn, loc);
-@@ -725,8 +707,10 @@ Value *IRBuilderBPF::CreateUSDTReadArgument(Value *ctx,
- return result;
- }
-
--Value *IRBuilderBPF::CreateStrncmp(Value *val1,
-- Value *val2,
-+Value *IRBuilderBPF::CreateStrncmp(Value *str1,
-+ uint64_t str1_size,
-+ Value *str2,
-+ uint64_t str2_size,
- uint64_t n,
- bool inverse)
- {
-@@ -755,40 +739,21 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
- // Check if the compared strings are literals.
- // If so, we can avoid storing the literal in memory.
- std::optional<std::string> literal1;
-- if (auto constString1 = dyn_cast<ConstantDataArray>(val1))
-+ if (auto constString1 = dyn_cast<ConstantDataArray>(str1))
- literal1 = constString1->getAsString();
-- else if (isa<ConstantAggregateZero>(val1))
-+ else if (isa<ConstantAggregateZero>(str1))
- literal1 = "";
- else
- literal1 = std::nullopt;
-
- std::optional<std::string> literal2;
-- if (auto constString2 = dyn_cast<ConstantDataArray>(val2))
-+ if (auto constString2 = dyn_cast<ConstantDataArray>(str2))
- literal2 = constString2->getAsString();
-- else if (isa<ConstantAggregateZero>(val2))
-+ else if (isa<ConstantAggregateZero>(str2))
- literal2 = "";
- else
- literal2 = std::nullopt;
-
-- auto *val1p = dyn_cast<PointerType>(val1->getType());
-- auto *val2p = dyn_cast<PointerType>(val2->getType());
--#ifndef NDEBUG
-- if (!literal1)
-- {
-- assert(val1p);
-- assert(val1p->getPointerElementType()->isArrayTy() &&
-- val1p->getPointerElementType()->getArrayElementType() ==
-- getInt8Ty());
-- }
-- if (!literal2)
-- {
-- assert(val2p);
-- assert(val2p->getPointerElementType()->isArrayTy() &&
-- val2p->getPointerElementType()->getArrayElementType() ==
-- getInt8Ty());
-- }
--#endif
--
- Function *parent = GetInsertBlock()->getParent();
- AllocaInst *store = CreateAllocaBPF(getInt1Ty(), "strcmp.result");
- BasicBlock *str_ne = BasicBlock::Create(module_.getContext(),
-@@ -815,8 +780,8 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
- l = getInt8(literal1->c_str()[i]);
- else
- {
-- auto *ptr_l = CreateGEP(val1p->getPointerElementType(),
-- val1,
-+ auto *ptr_l = CreateGEP(ArrayType::get(getInt8Ty(), str1_size),
-+ str1,
- { getInt32(0), getInt32(i) });
- l = CreateLoad(getInt8Ty(), ptr_l);
- }
-@@ -826,8 +791,8 @@ Value *IRBuilderBPF::CreateStrncmp(Value *val1,
- r = getInt8(literal2->c_str()[i]);
- else
- {
-- auto *ptr_r = CreateGEP(val2p->getPointerElementType(),
-- val2,
-+ auto *ptr_r = CreateGEP(ArrayType::get(getInt8Ty(), str2_size),
-+ str2,
- { getInt32(0), getInt32(i) });
- r = CreateLoad(getInt8Ty(), ptr_r);
- }
-@@ -987,11 +952,9 @@ void IRBuilderBPF::CreateGetCurrentComm(Value *ctx,
- size_t size,
- const location &loc)
- {
-- assert(buf->getType()->getPointerElementType()->isArrayTy() &&
-- buf->getType()->getPointerElementType()->getArrayNumElements() >=
-- size &&
-- buf->getType()->getPointerElementType()->getArrayElementType() ==
-- getInt8Ty());
-+ assert(buf->getAllocatedType()->isArrayTy() &&
-+ buf->getAllocatedType()->getArrayNumElements() >= size &&
-+ buf->getAllocatedType()->getArrayElementType() == getInt8Ty());
-
- // long bpf_get_current_comm(char *buf, int size_of_buf)
- // Return: 0 on success or negative error
-@@ -1070,7 +1033,7 @@ void IRBuilderBPF::CreateSignal(Value *ctx, Value *sig, const location &loc)
- Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_send_signal),
- signal_func_ptr_type);
-- CallInst *call = createCall(signal_func, { sig }, "signal");
-+ CallInst *call = createCall(signal_func_type, signal_func, { sig }, "signal");
- CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_send_signal, loc);
- }
-
-@@ -1084,7 +1047,7 @@ void IRBuilderBPF::CreateOverrideReturn(Value *ctx, Value *rc)
- Constant *override_func = ConstantExpr::getCast(Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_override_return),
- override_func_ptr_type);
-- createCall(override_func, { ctx, rc }, "override");
-+ createCall(override_func_type, override_func, { ctx, rc }, "override");
- }
-
- CallInst *IRBuilderBPF::CreateSkbOutput(Value *skb,
-@@ -1119,7 +1082,8 @@ CallInst *IRBuilderBPF::CreateSkbOutput(Value *skb,
- Instruction::IntToPtr,
- getInt64(libbpf::BPF_FUNC_skb_output),
- skb_output_func_ptr_type);
-- CallInst *call = createCall(skb_output_func,
-+ CallInst *call = createCall(skb_output_func_type,
-+ skb_output_func,
- { skb, map_ptr, flags, data, size_val },
- "skb_output");
- return call;
-@@ -1328,7 +1292,8 @@ void IRBuilderBPF::CreateSeqPrintf(Value *ctx,
- CreateGEP(getInt64Ty(), meta, getInt64(0)),
- "seq");
-
-- CallInst *call = createCall(seq_printf_func,
-+ CallInst *call = createCall(seq_printf_func_type,
-+ seq_printf_func,
- { seq, fmt, fmt_size, data, data_len },
- "seq_printf");
- CreateHelperErrorCond(ctx, call, libbpf::BPF_FUNC_seq_printf, loc);
-diff --git a/src/ast/irbuilderbpf.h b/src/ast/irbuilderbpf.h
-index b6a06778..19b28180 100644
---- a/src/ast/irbuilderbpf.h
-+++ b/src/ast/irbuilderbpf.h
-@@ -106,17 +106,11 @@ public:
- bool isVolatile = false,
- std::optional<AddrSpace> addrSpace = std::nullopt);
- CallInst *CreateProbeReadStr(Value *ctx,
-- AllocaInst *dst,
-+ Value *dst,
- llvm::Value *size,
- Value *src,
- AddrSpace as,
- const location &loc);
-- CallInst *CreateProbeReadStr(Value *ctx,
-- AllocaInst *dst,
-- size_t size,
-- Value *src,
-- AddrSpace as,
-- const location &loc);
- CallInst *CreateProbeReadStr(Value *ctx,
- Value *dst,
- size_t size,
-@@ -131,7 +125,12 @@ public:
- pid_t pid,
- AddrSpace as,
- const location &loc);
-- Value *CreateStrncmp(Value *val1, Value *val2, uint64_t n, bool inverse);
-+ Value *CreateStrncmp(Value *str1,
-+ uint64_t str1_size,
-+ Value *str2,
-+ uint64_t str2_size,
-+ uint64_t n,
-+ bool inverse);
- CallInst *CreateGetNs(bool boot_time, const location &loc);
- CallInst *CreateGetPidTgid(const location &loc);
- CallInst *CreateGetCurrentCgroupId(const location &loc);
-@@ -147,7 +146,10 @@ public:
- ArrayRef<Value *> args,
- const Twine &Name,
- const location *loc = nullptr);
-- CallInst *createCall(Value *callee, ArrayRef<Value *> args, const Twine &Name);
-+ CallInst *createCall(FunctionType *callee_type,
-+ Value *callee,
-+ ArrayRef<Value *> args,
-+ const Twine &Name);
- void CreateGetCurrentComm(Value *ctx, AllocaInst *buf, size_t size, const location& loc);
- void CreatePerfEventOutput(Value *ctx,
- Value *data,
-@@ -205,9 +207,6 @@ private:
- AddrSpace as,
- const location &loc);
- CallInst *createMapLookup(int mapid, Value *key);
-- Constant *createProbeReadStrFn(llvm::Type *dst,
-- llvm::Type *src,
-- AddrSpace as);
- libbpf::bpf_func_id selectProbeReadHelper(AddrSpace as, bool str);
-
- llvm::Type *getKernelPointerStorageTy();
-diff --git a/src/ast/passes/codegen_llvm.cpp b/src/ast/passes/codegen_llvm.cpp
-index d4a5e1c7..0703d196 100644
---- a/src/ast/passes/codegen_llvm.cpp
-+++ b/src/ast/passes/codegen_llvm.cpp
-@@ -1152,8 +1152,12 @@ void CodegenLLVM::visit(Call &call)
- auto left_string = getString(left_arg);
- auto right_string = getString(right_arg);
-
-- expr_ = b_.CreateStrncmp(
-- left_string.first, right_string.first, size, false);
-+ expr_ = b_.CreateStrncmp(left_string.first,
-+ left_string.second,
-+ right_string.first,
-+ right_string.second,
-+ size,
-+ false);
- }
- else if (call.func == "override")
- {
-@@ -1284,8 +1288,7 @@ void CodegenLLVM::visit(Variable &var)
- else
- {
- auto *var_alloca = variables_[var.ident];
-- expr_ = b_.CreateLoad(var_alloca->getType()->getPointerElementType(),
-- var_alloca);
-+ expr_ = b_.CreateLoad(var_alloca->getAllocatedType(), var_alloca);
- }
- }
-
-@@ -1325,7 +1328,12 @@ void CodegenLLVM::binop_string(Binop &binop)
- auto right_string = getString(binop.right);
-
- size_t len = std::min(left_string.second, right_string.second);
-- expr_ = b_.CreateStrncmp(left_string.first, right_string.first, len, inverse);
-+ expr_ = b_.CreateStrncmp(left_string.first,
-+ left_string.second,
-+ right_string.first,
-+ right_string.second,
-+ len,
-+ inverse);
- }
-
- void CodegenLLVM::binop_buf(Binop &binop)
-@@ -1349,7 +1357,12 @@ void CodegenLLVM::binop_buf(Binop &binop)
-
- size_t len = std::min(binop.left->type.GetSize(),
- binop.right->type.GetSize());
-- expr_ = b_.CreateStrncmp(left_string, right_string, len, inverse);
-+ expr_ = b_.CreateStrncmp(left_string,
-+ binop.left->type.GetSize(),
-+ right_string,
-+ binop.right->type.GetSize(),
-+ len,
-+ inverse);
- }
-
- void CodegenLLVM::binop_int(Binop &binop)
-@@ -3498,9 +3511,8 @@ void CodegenLLVM::createIncDec(Unop &unop)
- else if (unop.expr->is_variable)
- {
- Variable &var = static_cast<Variable &>(*unop.expr);
-- Value *oldval = b_.CreateLoad(
-- variables_[var.ident]->getType()->getPointerElementType(),
-- variables_[var.ident]);
-+ Value *oldval = b_.CreateLoad(variables_[var.ident]->getAllocatedType(),
-+ variables_[var.ident]);
- Value *newval;
- if (is_increment)
- newval = b_.CreateAdd(oldval, b_.GetIntSameSize(step, oldval));
diff --git a/dev-util/bpftrace/files/bpftrace-0.18.0-install-libs.patch b/dev-util/bpftrace/files/bpftrace-0.18.0-install-libs.patch
new file mode 100644
index 000000000000..17a07bc6ea02
--- /dev/null
+++ b/dev-util/bpftrace/files/bpftrace-0.18.0-install-libs.patch
@@ -0,0 +1,329 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4c573207..ab376c3e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -135,9 +135,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 a95c60a1..f5c4d676 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 708c8bf3..7be92f63 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})
+-target_link_libraries(libbpftrace parser resources runtime aot ast arch cxxdemangler_llvm)
++target_link_libraries(bpftraceruntime ${LIBBPF_LIBRARIES})
++target_link_libraries(libbpftrace bpftraceparser bpftraceresources bpftraceruntime aot bpftraceast bpftracearch cxxdemangler_llvm)
+
+ if(LIBPCAP_FOUND)
+ target_link_libraries(libbpftrace ${LIBPCAP_LIBRARIES})
+@@ -136,37 +138,38 @@ if(HAVE_BFD_DISASM)
+ if(STATIC_LINKING)
+ 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)
+ 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)
+ 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)
++ set_property(TARGET LIBELF PROPERTY IMPORTED_LOCATION ${LIBBPF_LIBRARIES})
++ 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)
+@@ -195,16 +198,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()
+
+@@ -226,16 +229,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 d01d1ea3..82bfeccc 100644
+--- a/src/arch/CMakeLists.txt
++++ b/src/arch/CMakeLists.txt
+@@ -1,21 +1,23 @@
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+- add_library(arch aarch64.cpp)
++ add_library(bpftracearch aarch64.cpp)
+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7-a")
+- 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})