From affa75f527bf2512b296482bd14bade15f820d6a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 15 May 2023 22:05:15 +0100 Subject: gentoo auto-resync : 15:05:2023 - 22:05:14 --- dev-util/Manifest.gz | Bin 68457 -> 68458 bytes dev-util/bpftrace/Manifest | 11 +- dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild | 92 ----- dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild | 93 ----- dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild | 97 ----- dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild | 97 ----- dev-util/bpftrace/bpftrace-0.18.0.ebuild | 95 +++++ .../files/bpftrace-0.16.0-install-libs.patch | 210 ---------- .../files/bpftrace-0.16.0-opaquepointer.patch | 450 --------------------- .../files/bpftrace-0.18.0-install-libs.patch | 329 +++++++++++++++ 10 files changed, 427 insertions(+), 1047 deletions(-) delete mode 100644 dev-util/bpftrace/bpftrace-0.16.0-r1.ebuild delete mode 100644 dev-util/bpftrace/bpftrace-0.16.0-r2.ebuild delete mode 100644 dev-util/bpftrace/bpftrace-0.17.0-r3.ebuild delete mode 100644 dev-util/bpftrace/bpftrace-0.17.0-r4.ebuild create mode 100644 dev-util/bpftrace/bpftrace-0.18.0.ebuild delete mode 100644 dev-util/bpftrace/files/bpftrace-0.16.0-install-libs.patch delete mode 100644 dev-util/bpftrace/files/bpftrace-0.16.0-opaquepointer.patch create mode 100644 dev-util/bpftrace/files/bpftrace-0.18.0-install-libs.patch (limited to 'dev-util') diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz index 13854d191194..af13f2965187 100644 Binary files a/dev-util/Manifest.gz and b/dev-util/Manifest.gz 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:= - -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 args, - const Twine &Name) - { - #if LLVM_VERSION_MAJOR >= 11 -- auto *calleePtrType = cast(callee->getType()); -- auto *calleeType = cast(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(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 literal1; -- if (auto constString1 = dyn_cast(val1)) -+ if (auto constString1 = dyn_cast(str1)) - literal1 = constString1->getAsString(); -- else if (isa(val1)) -+ else if (isa(str1)) - literal1 = ""; - else - literal1 = std::nullopt; - - std::optional literal2; -- if (auto constString2 = dyn_cast(val2)) -+ if (auto constString2 = dyn_cast(str2)) - literal2 = constString2->getAsString(); -- else if (isa(val2)) -+ else if (isa(str2)) - literal2 = ""; - else - literal2 = std::nullopt; - -- auto *val1p = dyn_cast(val1->getType()); -- auto *val2p = dyn_cast(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 = 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 args, - const Twine &Name, - const location *loc = nullptr); -- CallInst *createCall(Value *callee, ArrayRef args, const Twine &Name); -+ CallInst *createCall(FunctionType *callee_type, -+ Value *callee, -+ ArrayRef 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(*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}) -- cgit v1.2.3