{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":146842101,"defaultBranch":"master","name":"bpftrace","ownerLogin":"bpftrace","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-08-31T04:34:44.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/157605399?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716275700.0","currentOid":""},"activityList":{"items":[{"before":"9a395e17a3795eda3d62f533290f819bf6deb27b","after":"bbaae3e304c342bc1d5b9af75f266d6d03a42563","ref":"refs/heads/master","pushedAt":"2024-06-03T15:46:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"aot: Fix return code to enable aot runtime tests\n\nCurrently, the build_binary function returns true (1) in the successful\npath, and false (0) on any errors. However, it should be the other way\naround, so let's fix that. This enables the --run-aot-tests flag (and\nany other command that generates an aot binary on the left side of &&)\nto work properly. While I'm at it, let's also fix the runtime test\ncommand to not need the runtime shim anymore, as the generated binaries\ncan now run on their own.","shortMessageHtmlLink":"aot: Fix return code to enable aot runtime tests"}},{"before":"19c829cbf85b9a1abf3d2b380f4520999a556e07","after":"9a395e17a3795eda3d62f533290f819bf6deb27b","ref":"refs/heads/master","pushedAt":"2024-06-02T19:07:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"cmake: libbpf: Require at least v1.0\n\nbpftrace relies on libbpf 1.0 b/c the 1.0 release contained major API\nbreaks. Going forward from 1.0, we can feature detect and expect\nbackwards compat.\n\nThis commit makes it so the error is more apparent on older systems.\nOtherwise you just get confusing build failures. Now you get:\n\n```\n0.763 -- Found LibBpf: /usr/lib/x86_64-linux-gnu/libbpf.so\n0.763 CMake Error at cmake/FindLibBpf.cmake:48 (message):\n0.763 Libbpf version too old to have libbpf_version.h\n0.763 Call Stack (most recent call first):\n0.763 CMakeLists.txt:84 (find_package)\n0.763\n0.763\n0.763 -- Performing Test HAVE_LIBBPF_UPROBE_MULTI\n0.791 -- Performing Test HAVE_LIBBPF_UPROBE_MULTI - Failed\n0.791 CMake Error at CMakeLists.txt:87 (message):\n0.791 bpftrace requires libbpf 1.0 or greater\n```\n\nThis closes #3210.","shortMessageHtmlLink":"cmake: libbpf: Require at least v1.0"}},{"before":"70452af2c8dd07b261b41715cc82e88ac5198d56","after":"19c829cbf85b9a1abf3d2b380f4520999a556e07","ref":"refs/heads/master","pushedAt":"2024-05-31T21:54:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"tools/swapin: Support swap_read_folio() (#3209)\n\nkernel commit c9bdf768dd93(\"mm: convert swap_readpage() to swap_read_folio()\")\r\nconvert swap_readpage() to swap_read_folio(), try attaching two kprobes, one\r\nwill trigger a warning and the other will be attached successfully.\r\n\r\nkernel version:\r\n\r\n $ git describe c9bdf768dd93\r\n v6.7-rc4-290-gc9bdf768dd93\r\n\r\nFor example, on fedora 40:\r\n\r\n $ uname -r\r\n 6.8.10-300.fc40.x86_64\r\n $ sudo ./swapin.bt\r\n ./swapin.bt:1-22: WARNING: swap_readpage is not traceable (either non-\r\n existing, inlined, or marked as \"notrace\"); attaching to it will likely fail\r\n Attaching 3 probes...\r\n cannot attach kprobe, probe entry may not exist\r\n WARNING: could not attach probe kprobe:swap_readpage, skipping.\r\n\r\nAs we could see above, kprobe:swap_readpage trigger a warning, and\r\nkprobe:swap_read_folio be attached.\r\n\r\nSigned-off-by: Rong Tao ","shortMessageHtmlLink":"tools/swapin: Support swap_read_folio() (#3209)"}},{"before":"bed4d2edff9e672cdcdca4dab8b4b87b108b94c0","after":"70452af2c8dd07b261b41715cc82e88ac5198d56","ref":"refs/heads/master","pushedAt":"2024-05-30T22:23:44.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"ci: Use latest nix installer/cache actions\n\nWe're seeing some flakiness in installer action. Maybe upgrading to\nlatest releases will help.","shortMessageHtmlLink":"ci: Use latest nix installer/cache actions"}},{"before":"c532239f4b42eda260fcc8aa9ece56fecc1d083e","after":"bed4d2edff9e672cdcdca4dab8b4b87b108b94c0","ref":"refs/heads/master","pushedAt":"2024-05-30T16:30:00.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"ci: Add LLVM 18 job\n\nStart testing against LLVM 18.","shortMessageHtmlLink":"ci: Add LLVM 18 job"}},{"before":"a11b9d8940e31bbab4aa9e1c7cd04c9bc16bd403","after":"c532239f4b42eda260fcc8aa9ece56fecc1d083e","ref":"refs/heads/master","pushedAt":"2024-05-28T14:04:38.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Drop debug prints of ClangParser input\n\nThe input never changes, it always has the form:\n\n #include \n ... definitions from the script ...\n\nso it doesn't make much sense to print it.","shortMessageHtmlLink":"Drop debug prints of ClangParser input"}},{"before":"12e43c56a283bd19d5610745b8e5f9ada653f8d2","after":"a11b9d8940e31bbab4aa9e1c7cd04c9bc16bd403","ref":"refs/heads/master","pushedAt":"2024-05-27T14:37:25.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"aot: Give preference to local build shim\n\nThis helps with development such that we don't need to mess with $PATH\nwhen running --aot commands. Now we can just run it like a prod\ninvocation and it will \"just work\".","shortMessageHtmlLink":"aot: Give preference to local build shim"}},{"before":"d44a6bfbc357b63d630ec2c185efb0afb1a88256","after":"12e43c56a283bd19d5610745b8e5f9ada653f8d2","ref":"refs/heads/master","pushedAt":"2024-05-27T03:31:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"aot: Fix distro builds\n\nWe need to link aot.o against libelf if aot.cpp wants to actually use\nthe dependency.","shortMessageHtmlLink":"aot: Fix distro builds"}},{"before":"ccc6a9bae04deb62b35e450c93afb77de6bf156a","after":"d44a6bfbc357b63d630ec2c185efb0afb1a88256","ref":"refs/heads/master","pushedAt":"2024-05-26T15:11:18.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"Codegen: Don't emit lifetime.end for variables used as map keys\n\nPreviously a lifetime.end was always inserted for expressions used as\nmap keys. This is not correct if the expression is a variable which is\nused again later in the program.\n\n$blah should not be marked as dead after line 4, it should persist at\nleast until after line 5:\n 1 BEGIN\n 2 {\n 3 $blah = \"abc\";\n 4 @x[$blah] = 1;\n 5 @y[$blah] = 1;\n 6 }","shortMessageHtmlLink":"Codegen: Don't emit lifetime.end for variables used as map keys"}},{"before":"fc21380cc7f276138d475de78a8ac6737ab8cf91","after":"ccc6a9bae04deb62b35e450c93afb77de6bf156a","ref":"refs/heads/master","pushedAt":"2024-05-26T15:06:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"aot: Allow running aot binaries directly without calling runtime shim\n\nCurrently, even though we make a copy of the runtime shim and then\nembed the necessary metadata + bytecode into the binary, you still need\nto pass that binary as an argument to the runtime shim in order to run\nit (i.e. you need to do 'bpftrace-aotrt '). Since the binary\ncan fully function on its own, we don't need to do this anymore.\n\nThis commit makes the executable just look inside itself for the\nmetadata and bytecode, skipping the need to call bpftrace-aotrt. (i.e.\nyou can now run the binary with just ./.)","shortMessageHtmlLink":"aot: Allow running aot binaries directly without calling runtime shim"}},{"before":"c3169049b6cf96f6994a5e437cb14bafdb05e4bf","after":"fc21380cc7f276138d475de78a8ac6737ab8cf91","ref":"refs/heads/master","pushedAt":"2024-05-24T08:02:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"CMake: Re-generate codegen_includes.cpp when test files are added or removed\n\n- CONFIGURE_DEPENDS triggers re-generation of the list of source files\n as necessary\n- Pass list of source files through to the sub command so we only have a\n single glob to deal with\n- Correctly set up the custom command's OUTPUT parameter so that\n codegen_includes.cpp is re-generated before it is compiled into\n bpftrace_test","shortMessageHtmlLink":"CMake: Re-generate codegen_includes.cpp when test files are added or …"}},{"before":"faff4d87aa01acb5b6fc250181447948abd348c5","after":"c3169049b6cf96f6994a5e437cb14bafdb05e4bf","ref":"refs/heads/master","pushedAt":"2024-05-23T14:01:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Remove LOG(FATAL) (#3164)\n\nReplace these with either LOG(BUG),\r\nLOG(ERROR) and exit(1) in main.cpp, or\r\n`throw FatalUserException`.\r\n\r\nThis is to avoid calling `abort` for user\r\nerrors and removes the confusion between\r\n`LOG(ERROR)` and `LOG(FATAL)`.\r\n\r\nIssue: https://github.com/bpftrace/bpftrace/issues/3163\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Remove LOG(FATAL) (#3164)"}},{"before":"4c8b262aed6399a04126d2f5199d0d588924e6d2","after":"faff4d87aa01acb5b6fc250181447948abd348c5","ref":"refs/heads/master","pushedAt":"2024-05-23T07:13:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Refactor BPF load retry loop: Add logging and add: no BTF, no func_infos\n\nAlso handle the case where EM_BPF may not be defined on older systems.\n\nCo-authored-by: Viktor Malik \nSigned-off-by: Bernhard Kaindl ","shortMessageHtmlLink":"Refactor BPF load retry loop: Add logging and add: no BTF, no func_infos"}},{"before":"7041eaa912b0bf417f5a31ec4107eced31f58178","after":"093855092c5fe2c4099759da2ce85afb3187c049","ref":"refs/heads/release/0.20.x","pushedAt":"2024-05-21T07:06:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"v0.20.4 release\n\nFix CVE-2024-2313 by removing unpacking kernel headers or looking in tmp","shortMessageHtmlLink":"v0.20.4 release"}},{"before":"67629c1927f411758fe4da546eb57840d972b6e9","after":"4c8b262aed6399a04126d2f5199d0d588924e6d2","ref":"refs/heads/master","pushedAt":"2024-05-21T07:05:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"ClangParser: fix builtin includes\n\nCommit 14cb69defa added the \"/bpftrace/include\" prefix to headers\ngenerated by bpftrace (__btf_generated_header.h, clang_workarounds.h),\nhowever, commit bc73244963 (\"Don't unpack kernel headers or look in tmp\n(#3156)\") broke the latter when moving code around in main.cpp.\n\nReintroduce the prefix.","shortMessageHtmlLink":"ClangParser: fix builtin includes"}},{"before":"6d260edbec86a6ef58a118fdf0c936f90d79a84c","after":"67629c1927f411758fe4da546eb57840d972b6e9","ref":"refs/heads/master","pushedAt":"2024-05-20T11:16:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Fix error in dereferencing kernel double pointers\n\nBPF verifier can detect safety of pointer accesses for BTF-based probes\n(k(ret)func, iter) and therefore it is not necessary to use\nbpf_probe_read_kernel inside such probes. This feature was enabled in\nbpftrace by commit c2c3ab96 (\"Support identifying btf type\").\n\nUnfortunately, the verifier is not able to track BTF information for\ndereferences and array accesses on double pointers so, e.g. the\nfollowing script fails to load:\n\n # bpftrace -e 'kfunc:__module_get { print(args.module->trace_events[0]->flags);' } -v\n INFO: node count: 13\n Attaching 1 probe...\n\n Error log:\n reg type unsupported for arg#0 function kfunc_vmlinux___module_get#22\n 0: R1=ctx(off=0,imm=0) R10=fp0\n 0: (79) r1 = *(u64 *)(r1 +0)\n func '__module_get' arg0 has btf_id 250 type STRUCT 'module'\n 1: R1_w=ptr_module(off=0,imm=0)\n 1: (79) r1 = *(u64 *)(r1 +1128) ; R1_w=scalar()\n 2: (79) r1 = *(u64 *)(r1 +0)\n R1 invalid mem access 'scalar'\n processed 3 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0\n\n ERROR: Error loading program: kfunc:vmlinux:__module_get\n\nA similar error happens when dereferencing the double pointer with `*`\n\n # bpftrace -e 'kfunc:__module_get { print((*args.module->trace_events)->flags);' } -v\n\nAn analogous program fails to load even when written using libbpf.\n\nWe need to use bpf_probe_read_kernel for such cases so do not propagate\nthe SizedType::is_btftype flag when observing a dereference or array\naccess of a double pointer in semantic analyser.","shortMessageHtmlLink":"Fix error in dereferencing kernel double pointers"}},{"before":"668174cc0ca0b68285b433b9b0f0e4523bcc933c","after":"6d260edbec86a6ef58a118fdf0c936f90d79a84c","ref":"refs/heads/master","pushedAt":"2024-05-18T19:02:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"man: Clarify ++/-- operators can lose updates\n\nWe already call this out in count() docs. Let's do it for ++/-- as well.","shortMessageHtmlLink":"man: Clarify ++/-- operators can lose updates"}},{"before":"0d06553e98833fa014b514bd620701623ea65607","after":"668174cc0ca0b68285b433b9b0f0e4523bcc933c","ref":"refs/heads/master","pushedAt":"2024-05-18T17:53:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Fix build on aarch64 (#3184)\n\nThis fixes this error: \"impossible constraint in ‘asm’\"\r\nby removing the raw asm assembly call in inline_function.c.\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Fix build on aarch64 (#3184)"}},{"before":"e1e20b1dd5f62399ac85f16e5b4f0ba8afec5bc0","after":"0d06553e98833fa014b514bd620701623ea65607","ref":"refs/heads/master","pushedAt":"2024-05-18T13:45:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"config: Specify the type of str_trunc_trailer explicitly (#3183)\n\nBuilt bpftrace with LLVM/clang 16 and ran some random scripts,\r\nI got the following error:\r\n\r\n $ sudo bpftrace -e '...'\r\n Attaching 1 probe...\r\n terminate called after throwing an instance of 'std::runtime_error'\r\n what(): Type mismatch for config key\r\n [1] 1297304 abort sudo ./bpftrace -e\r\n\r\nThe coredump reveals a failed type deduction:\r\n\r\n (gdb) p config_map_\r\n ...\r\n [std::variant [index 2] = {bpftrace::ConfigKeyString::str_trunc_trailer}] = {source = bpftrace::ConfigSource::default_,\r\n value = std::variant [index 0] = {true}},\r\n ...\r\n\r\nLet's specify the type of str_trunc_trailer to avoid such error.\r\n\r\nSigned-off-by: Hengqi Chen ","shortMessageHtmlLink":"config: Specify the type of str_trunc_trailer explicitly (#3183)"}},{"before":"deee77a8804fee18374acf301dab096a75751fb1","after":"e1e20b1dd5f62399ac85f16e5b4f0ba8afec5bc0","ref":"refs/heads/master","pushedAt":"2024-05-17T16:17:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"viktormalik","name":"Viktor Malík","path":"/viktormalik","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7603704?s=80&v=4"},"commit":{"message":"Runtime tests: fix DWARF ustack test\n\nThe \"dwarf.uprobe inlined function - ustack\" runtime test seems to\nexpect ustacks of the following form:\n\n main+21\n 0x7fdff76fb14a\n\nHowever, on my local setup, I'm getting:\n\n main+21\n 0x7fdff76fb14a\n 0x7fdff76fb20b\n _start+37\n\nIMHO, the most important part is to check that the \"main+21\" call occurs\nat the top of the stack and everything below is not that important.\n\nUpdate the test accordingly.","shortMessageHtmlLink":"Runtime tests: fix DWARF ustack test"}},{"before":"47a5a30ca2bc490d291fef9c0d7711b757171c43","after":"deee77a8804fee18374acf301dab096a75751fb1","ref":"refs/heads/master","pushedAt":"2024-05-17T12:13:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"CollectNodes: Recurse into children of the target type\n\nThe test case `CollectNodes.nested` would have failed before this patch,\nwith `visitor.nodes()` returning an empty list.","shortMessageHtmlLink":"CollectNodes: Recurse into children of the target type"}},{"before":"d592be8fe65d7b49aa183eb1a05625df1743ed0c","after":"47a5a30ca2bc490d291fef9c0d7711b757171c43","ref":"refs/heads/master","pushedAt":"2024-05-17T09:01:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Codegen: Memset(0) memory of variables if the data to be written is not full-size\n\n BEGIN\n {\n $x = \"xxxxx\";\n $x = \"a\";\n }\n\nThe value stored in $x at the end of the above script should be\n\"a\\0\\0\\0\\0\\0\". Previously $x would have held \"a\\0xxx\" as the second\nassignment did not overwrite all the data from the first.","shortMessageHtmlLink":"Codegen: Memset(0) memory of variables if the data to be written is n…"}},{"before":"d45aa54634731579efb514020be54c98fe5ce14d","after":"d592be8fe65d7b49aa183eb1a05625df1743ed0c","ref":"refs/heads/master","pushedAt":"2024-05-16T13:40:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Fix intptrcast runtime tests\n\nExplicitly put numbers into an array on the stack instead of relying on\narchitecture-specific calling conventions for stack-passed parameters.\n\nThis removes the dependency on the stack pointer's value (which changed\nas of #3095) and makes the tests architecture independent.","shortMessageHtmlLink":"Fix intptrcast runtime tests"}},{"before":"bc73244963f206814ae45ec78ebe52cd389f6381","after":"d45aa54634731579efb514020be54c98fe5ce14d","ref":"refs/heads/master","pushedAt":"2024-05-15T18:27:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Align detect_helper with log message change (#3114)\n\n\"unknown func \" log message may change in future to \"program of this\r\ntype cannot use helper \". Corresponding kernel change:\r\n https://lore.kernel.org/all/20240325152210.377548-1-yatsenko@meta.com/","shortMessageHtmlLink":"Align detect_helper with log message change (#3114)"}},{"before":"742f0cf180904db85b111cea5b01fbe14e6a4c09","after":"bc73244963f206814ae45ec78ebe52cd389f6381","ref":"refs/heads/master","pushedAt":"2024-05-15T16:21:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jordalgo","name":"Jordan Rome","path":"/jordalgo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1537292?s=80&v=4"},"commit":{"message":"Don't unpack kernel headers or look in tmp (#3156)\n\nLooking in shared writeable locations for kernel\r\nheaders is inherently risky even bpftrace does\r\nthe unpacking. Remove this functionality and let\r\nthe user specify the path to these headers if\r\nwe can't find them in known locations.\r\n\r\nReferences:\r\nhttps://github.com/bpftrace/bpftrace/pull/3033\r\nhttps://github.com/bpftrace/bpftrace/pull/3154\r\n\r\nCo-authored-by: Jordan Rome ","shortMessageHtmlLink":"Don't unpack kernel headers or look in tmp (#3156)"}},{"before":"6a1f3f0444cb17f5bb50fbc3623a1026d7d4bf37","after":"742f0cf180904db85b111cea5b01fbe14e6a4c09","ref":"refs/heads/master","pushedAt":"2024-05-14T13:49:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Probe inlined function call\n\nUse the DebugInfo (DWARF) to locate every inlined instances of a\nuprobe function and attach to all of them.\nThis behaviour is controled by the `probe_inline` config key.\nNote that using this config disables access to the arguments, because we\ncannot guarantee inlined function instances follow the System V ABI.\n\nAlso attach to uprobe functions after their prologue, once the stack\nframe has been set, which makes collecting stack traces more reliable.\nThis behaviour is the new default for all binaries with DWARF.","shortMessageHtmlLink":"Probe inlined function call"}},{"before":"5d861ee046c62d5e73906c8f13caa7ad06d521a9","after":"6a1f3f0444cb17f5bb50fbc3623a1026d7d4bf37","ref":"refs/heads/master","pushedAt":"2024-05-13T16:41:26.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"danobi","name":"Daniel Xu","path":"/danobi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/824615?s=80&v=4"},"commit":{"message":"Runtime tests: fix creating tests in CMake build\n\nDuring CMake, all runtime test files are copied into the CMake build\ndirectory using add_custom_command which issues 'cmake -E copy ...'.\nFor some reason, the last file in the tests/runtime directory\n(tests/runtime/watchpoint) is never copied which causes two issues:\n- the watchpoint tests are never run in CI,\n- even if the local setup already has tests/runtime/watchpoint in the\n build directory (it seems to have been working in the past), it is\n never updated.\n\nI'm not sure if this is caused by our change or a CMake update, however,\nour approach is IMHO not correct as it makes the runtime_tests target\ndepend on the runtime tests files from the source directory. Changing it\nto depend on the (newly copied) files from the build directory\neliminates the above issue.","shortMessageHtmlLink":"Runtime tests: fix creating tests in CMake build"}},{"before":"14cb69defaaf047f63c9c5fa21be27cd446f9315","after":"5d861ee046c62d5e73906c8f13caa7ad06d521a9","ref":"refs/heads/master","pushedAt":"2024-05-13T11:22:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ajor","name":"Alastair Robertson","path":"/ajor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1007446?s=80&v=4"},"commit":{"message":"Add optional support for sending systemd readiness notifications (#3158)\n\nWhen ENABLE_SYSTEMD is enabled, we'll link against libsystemd and\r\nsend readiness notifications using sd_notify() as documented in\r\nhttps://www.freedesktop.org/software/systemd/man/latest/sd_notify.html.\r\n\r\nThese will only be sent if the NOTIFY_$SOCKET environment variable\r\nis set to a unix socket where systemd expects to receive readiness\r\nnotifications.\r\n\r\nThis allows running bpftrace in a systemd service which will only\r\nbe considered started once bpftrace has finished allocation its probes.\r\nThis allows starting bpftrace from scripts and ensuring that its probes\r\nare registered before continuing.\r\n\r\nFor example, currently one has to do something like this:\r\n\r\n\"\"\"\r\nbpftrace