{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":473324595,"defaultBranch":"main","name":"blazesym","ownerLogin":"libbpf","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-03-23T19:09:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/44008517?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716907021.0","currentOid":""},"activityList":{"items":[{"before":"a4d623ba2a73f38c8c7f4192a79aaa29c0a08ade","after":"f134f6ed78e0d1ad6137f05e0eea38f1098a60a7","ref":"refs/heads/main","pushedAt":"2024-06-07T22:50:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Be more forgiving when attempting to calculate file offset\n\nWe may not be able to determine a file offset for each symbol in an ELF\nfile. For example, when using version scripts many linkers emit zero\nsized symbols such as GLIBC_2.2.5 as version markers into a binary.\nThose are marked as type \"absolute\" and have a value (\"address\") of\nzero.\nCurrently we bail out hard when attempting to calculate the file offset\nfor such a symbol: the section index would be SHN_ABS (0xfff1) and such\na section will not be found.\nLogically, the address zero cannot be a valid file offset, because\nthat's where the ELF header resides, so we need to build in optionality\ninto the file offset retrieval. With this change we do just that, and\nbulk ignore symbols with any reserved section indices, including\nSHN_ABS.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Be more forgiving when attempting to calculate file offset"}},{"before":"730bd3644aef0a91ad9302d9bda7fad440884e64","after":"a4d623ba2a73f38c8c7f4192a79aaa29c0a08ade","ref":"refs/heads/main","pushedAt":"2024-06-07T16:54:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Add test for address normalization in deleted shared object\n\nAdd a test checking that we can successfully normalize addresses even if\nthe still mapped shared object has been deleted. Do in in various\nnormalization configurations and ensure that the build ID is always\nfound as expected.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Add test for address normalization in deleted shared object"}},{"before":"08270df4c21ce38f47eefc378407378b6a672a86","after":"730bd3644aef0a91ad9302d9bda7fad440884e64","ref":"refs/heads/main","pushedAt":"2024-06-07T16:34:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Partially revert a12675902d7d\n\nWith commit a12675902d7d (\"capi: Onboard yet more tests to Miri\") we\nremoved the usage of the elf_conversion() test function in some of the\nnormalization tests, because the test-tag::tag attribute didn't make the\nfunction accessible under at the top level.\nVersion 0.1.3 of the crate rectified this short coming and with this\nchange we update to it and revert the relevant changes of the commit.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Partially revert a126759"}},{"before":"7961f175f7d5fa398a6f154308370ff56b64b7e6","after":"08270df4c21ce38f47eefc378407378b6a672a86","ref":"refs/heads/main","pushedAt":"2024-06-05T22:34:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Reuse find_the_answer_fn() logic more\n\nSplit the find_the_answer_fn() function into a zip variant and a\n\"regular\" ELF one. Then use the ELF variant in tests that copied the\nsame logic in-line.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Reuse find_the_answer_fn() logic more"}},{"before":"72419e0f0bf815295bcf001112b51738f9a62d9a","after":"7961f175f7d5fa398a6f154308370ff56b64b7e6","ref":"refs/heads/main","pushedAt":"2024-06-05T22:09:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Factor out test_helper module\n\nFactor out a new test-only module containing helper functionality,\ntest_helper, and move the find_the_answer_fn() function into it. This\nway, we will be able to reuse it from various tests instead of\nduplicating the logic all over the place.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Factor out test_helper module"}},{"before":"228ead0c9fd427619451e0dfe72206e261cba92a","after":"72419e0f0bf815295bcf001112b51738f9a62d9a","ref":"refs/heads/main","pushedAt":"2024-06-05T21:17:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Optimize LEB128 data reading\n\nAs it turns out, the Rust compiler uses variable length LEB128 encoded\nintegers internally. It so happens that they spent a fair amount of\neffort micro-optimizing the decoding functionality [0] [1], as it's in\nthe hot path.\nWith this change we replace our decoding routines with these optimized\nones. To make that happen more easily (and to gain some base line speed\nup), also remove the \"shift\" return from the respective methods. As a\nresult of these changes, we see a respectable speed up:\n\nBefore:\n test util::tests::bench_u64_leb128_reading ... bench: 128 ns/iter (+/- 10)\n\nAfter:\n test util::tests::bench_u64_leb128_reading ... bench: 103 ns/iter (+/- 5)\n\nGsym decoding, which uses these routines, improved as follows:\n main/symbolize_gsym_multi_no_setup\n time: [146.26 µs 146.69 µs 147.18 µs]\n change: [−7.2075% −5.7106% −4.4870%] (p = 0.00 < 0.02)\n Performance has improved.\n\n[0] https://github.com/rust-lang/rust/pull/69050\n[1] https://github.com/rust-lang/rust/pull/69157\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Optimize LEB128 data reading"}},{"before":"8943f02dccf811d062d0ef8a6c79f6fef3e10eba","after":"228ead0c9fd427619451e0dfe72206e261cba92a","ref":"refs/heads/main","pushedAt":"2024-06-05T18:31:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Add blaze_symbolization_reason enum\n\nThis change introduces the blaze_symbolization_reason enumeration to\nblazesym-c and adjusts the blaze_sym type to carry such a reason. We\nalso introduce the blaze_symbolization_reason_str() helper function\nthat can be used to retrieve a textual representation of a reason for a\nsymbolization failure.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Add blaze_symbolization_reason enum"}},{"before":"a12675902d7dc641bda9c405156e8ed5859826cc","after":"8943f02dccf811d062d0ef8a6c79f6fef3e10eba","ref":"refs/heads/main","pushedAt":"2024-06-05T18:15:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Shorten normalization reason code/tests a bit\n\nShorten the normalization reason code & tests a bit by glob importing\nthe blaze_normalize_reason variants.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Shorten normalization reason code/tests a bit"}},{"before":"68f96d7bc891ffeb26a39c3a9b381ee41d0f2544","after":"a12675902d7dc641bda9c405156e8ed5859826cc","ref":"refs/heads/main","pushedAt":"2024-06-05T18:14:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Onboard yet more tests to Miri\n\nWe missed checking the normalization test suite for Miri eligible\ncandidates. There are a few. Tag them accordingly.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Onboard yet more tests to Miri"}},{"before":"45533d3d4dd2631fd7b545279bc498b98dc06bfb","after":"68f96d7bc891ffeb26a39c3a9b381ee41d0f2544","ref":"refs/heads/main","pushedAt":"2024-06-05T17:24:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Run more tests in Miri\n\nNow that we are tagging tests eligible for running under Miri it is much\neasier to onboard new ones. Add a bunch.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Run more tests in Miri"}},{"before":"f3576dec169f1fb12c350141bd5486f2386afa84","after":"45533d3d4dd2631fd7b545279bc498b98dc06bfb","ref":"refs/heads/main","pushedAt":"2024-06-05T17:24:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Add section about Miri invocation to README-devel\n\nAdd a section about how to invoke/use Miri to README-devel.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Add section about Miri invocation to README-devel"}},{"before":"e0cffec07aa443f670efff72857248875d7d5900","after":"f3576dec169f1fb12c350141bd5486f2386afa84","ref":"refs/heads/main","pushedAt":"2024-06-05T17:01:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Run more tests in Miri\n\nNow that we are tagging tests eligible for running under Miri it is much\neasier to onboard new ones. Add a bunch.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Run more tests in Miri"}},{"before":"1f34797873062603b23e026534e2be3178e50b8d","after":"e0cffec07aa443f670efff72857248875d7d5900","ref":"refs/heads/main","pushedAt":"2024-06-05T16:54:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Reword documentation of blaze_symbolize_*()\n\nThe blaze_symbolize_*() functions don't really return an array of\nblaze_result objects. Reword the documentation accordingly.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Reword documentation of blaze_symbolize_*()"}},{"before":"49b67f590723aa538dd259b1db5f24f931ecf5a7","after":"1f34797873062603b23e026534e2be3178e50b8d","ref":"refs/heads/main","pushedAt":"2024-06-05T15:06:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Use test-tag crate for tagging Miri tests\n\nThe way we specify the tests to run under Miri is error-prone at best.\nBasically, we roughly group eligible tests into modules or hard code\nfunction names of suitable functions inside the CI configuration. This\nis prone to result in missed tests (if somebody renames a test and\nforgets to adjust the CI script). It is also non-obvious from the code\nwhat is happening and that makes it much less likely that new tests are\nonboarded to run there. Lastly, because we establish a grouping by\nmodule (to minimize maintenance burden of naming dozens of tests in the\nCI configuration), we end up with attributes such as #[cfg_attr(miri,\nignore)] for opting out.\nWith this change we switch over to using the test-tag crate for tagging\nMiri tests as such, which will make it much easier to onboard new tests\nand reduces the maintenance burden down the line, because the source of\ntruth is a single declarative attribute on the eligible tests.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Use test-tag crate for tagging Miri tests"}},{"before":"baf25d4f698676b07d9f6470eea577d92b591bdd","after":"49b67f590723aa538dd259b1db5f24f931ecf5a7","ref":"refs/heads/main","pushedAt":"2024-06-03T23:41:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Make debug directories to search configurable\n\nMake the list of debug directories configurable, similar to what commit\ne62caa983763 (\"Make debug directories to search configurable\") did for\nthe Rust crate.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Make debug directories to search configurable"}},{"before":"9b330e86d506c8b84369288a1e5c66fac020bf08","after":"baf25d4f698676b07d9f6470eea577d92b591bdd","ref":"refs/heads/main","pushedAt":"2024-06-03T22:34:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"cli: Add --debug-dirs option to symbolize elf sub-command\n\nIntroduce the --debug-dirs option to the 'symbolize elf' sub-command.\nThis option can be used to adjust the directories being used when\nsearching for target files of debug links.\n\n $ cargo run -p blazecli -- symbolize elf --path /tmp/test-stable-addrs-stripped-with-link.bin 0x2000100\n > 2024-06-03T22:27:33.408437Z WARN debug link references destination `test-stable-addrs-dwarf-only.dbg` which was not found in any known location\n > 0x00000002000100: \n $ cargo run -p blazecli -- symbolize elf --path /tmp/test-stable-addrs-stripped-with-link.bin 0x2000100 --debug-dirs data/\n > 0x00000002000100: factorial @ 0x2000100+0x0 data/test-stable-addrs.c:10:27\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"cli: Add --debug-dirs option to symbolize elf sub-command"}},{"before":"4df3b651e44bf58b3e6a53608123b12dd2beccda","after":"9b330e86d506c8b84369288a1e5c66fac020bf08","ref":"refs/heads/main","pushedAt":"2024-06-03T20:14:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Add normalize::NormalizerOpts::map_files flag\n\nPart of the result of address normalization is the path to the binary an\naddress falls into. There is, however, not just *one* path to such a\nbinary. Rather, similar to the trade-offs encountered during address\nsymbolization, it may make sense to refer to the binary either by its\nsymbolic (as it is mentioned inside /proc//maps) or via the\ncorresponding /proc//map_files/ entry. The former is generally\nstill meaningful after the process died, whereas the latter has the\nadvantage that as long as the process is still alive, even deleted files\nwill still be accessible.\nBecause of the inherent trade-off between these two \"kinds\" of paths and\nbecause only the library user can decide with one is better, this change\nintroduces the map_files flag to the NormalizerOpts type to control\nwhich one is being used.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Add normalize::NormalizerOpts::map_files flag"}},{"before":"aadcd17cc0354ecb9bdf273df9f01e1e41b27c95","after":"4df3b651e44bf58b3e6a53608123b12dd2beccda","ref":"refs/heads/main","pushedAt":"2024-06-03T18:22:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Add test checking BLAZE_ERR_NOT_FOUND last error\n\nAdd a test checking that we correctly return the BLAZE_ERR_NOT_FOUND\nerror when a symbolization source was not found.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Add test checking BLAZE_ERR_NOT_FOUND last error"}},{"before":"9b9682044427e79eb452d9f9935c11d2b3d83bc6","after":"aadcd17cc0354ecb9bdf273df9f01e1e41b27c95","ref":"refs/heads/main","pushedAt":"2024-06-01T19:35:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Enable clippy::clone_on_ref_ptr lint\n\nEnable the 'clone_on_ref_ptr' Clippy lint, which flags the usage of\n.clone() syntax on reference counted pointers. The more explicit\nRc::clone() syntax is preferable in many cases, because it will\ninvalidate the code should the Rc be removed, instead of unintentionally\ncausing creation of a potentially expensive deep clone.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Enable clippy::clone_on_ref_ptr lint"}},{"before":"e30027e979e5454b841a953f1de08635306e93bd","after":"9b9682044427e79eb452d9f9935c11d2b3d83bc6","ref":"refs/heads/main","pushedAt":"2024-05-31T22:08:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"capi: Factor out util module\n\nMove a bunch of utility functionality into the newly introduced util\nmodule. In so doing we make CI test everything in this module under\nMiri.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Factor out util module"}},{"before":"7839d67b22471d2562e6da32e76eb208bd43f6f7","after":"e30027e979e5454b841a953f1de08635306e93bd","ref":"refs/heads/main","pushedAt":"2024-05-31T20:56:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Fix typo normalizing -> symbolizing\n\nThe Sym/blaze_sym types are used in symbolization contexts, not\nnormalization. Adjust the documentation comment accordingly.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Fix typo normalizing -> symbolizing"}},{"before":"991ae6a22e3827aafc46758fb07e3c21e56c8367","after":"7839d67b22471d2562e6da32e76eb208bd43f6f7","ref":"refs/heads/main","pushedAt":"2024-05-31T20:35:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Fix blazesym-c publish workflow\n\nThe publish workflow for the blazesym-c crate was changing to the wrong\ndirectory when attempting to retrieve the crate version. Fix up the path\nto make tag creation work as it should.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Fix blazesym-c publish workflow"}},{"before":"20c93cc6525d243ce5e155c302624bd284bff564","after":"991ae6a22e3827aafc46758fb07e3c21e56c8367","ref":"refs/heads/main","pushedAt":"2024-05-31T18:13:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Introduce normalize::NormalizerOpts\n\nWe may reasonably want to make normalization more customizable in the\nfuture. To make that possible without an exponential explosion of new\nvariant methods on the normalizer, this change introduces an option type\nthat is to be passed to the method used for address normalization.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Introduce normalize::NormalizerOpts"}},{"before":"247c4c512ac784a99fbffde6ce07e85db9e15991","after":"20c93cc6525d243ce5e155c302624bd284bff564","ref":"refs/heads/main","pushedAt":"2024-05-31T16:43:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"d-e-s-o","name":"Daniel Müller","path":"/d-e-s-o","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6610056?s=80&v=4"},"commit":{"message":"Make more APK related paths conditional on 'apk' feature\n\nExclude some more APK specific code from being included in the crate if\nthe 'apk' feature is disabled. This mirrors similar conditionals that we\nhave on the symbolization path.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Make more APK related paths conditional on 'apk' feature"}},{"before":"36c11fca514abcf996f599bd34a2787000f8cb00","after":"247c4c512ac784a99fbffde6ce07e85db9e15991","ref":"refs/heads/main","pushedAt":"2024-05-30T20:34:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"capi: Support working with potentially unaligned input arrays\n\nAs it turns out, C does not necessarily require natural alignment for\nprimitive data types [0]. It is certainly more relaxed than Rust [1] in\nthis respect, and that can be a source of problem when it comes to\ninteroperability.\nWith this change we add support for working with potentially unaligned\ninput addresses. We do so by taking necessary steps to read unaligned\ndata into a temporary buffer and working on said temporary buffer.\n\n[0] https://en.wikipedia.org/w/index.php?title=Data_structure_alignment&oldid=1209741102#Typical_alignment_of_C_structs_on_x86\n[1] https://doc.rust-lang.org/reference/type-layout.html#primitive-data-layout\n\nCloses: #678\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"capi: Support working with potentially unaligned input arrays"}},{"before":"ccbbb02a00838b8920b12355861f475b7c4058fe","after":"36c11fca514abcf996f599bd34a2787000f8cb00","ref":"refs/heads/main","pushedAt":"2024-05-30T16:56:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"Adjust symbolize::Builder::set_debug_dirs() to accept Option\n\nAll our Builder methods allow for resetting a previously set value, but\nthe recently introduced set_debug_dirs() does not currently. Adjust the\nmethod's signature to accept an Option to make such resetting possible.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Adjust symbolize::Builder::set_debug_dirs() to accept Option"}},{"before":"2fc08fa3dcb5b9061842034b7ff1d97922b44822","after":"ccbbb02a00838b8920b12355861f475b7c4058fe","ref":"refs/heads/main","pushedAt":"2024-05-30T16:42:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"Use Hexify helper in Normalizer traces\n\nUse the Hexify helper in the Normalizer traces and use the same \"opt-in\"\nscheme for fields to report as we do in the Symbolizer.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Use Hexify helper in Normalizer traces"}},{"before":"ccbbb02a00838b8920b12355861f475b7c4058fe","after":"2fc08fa3dcb5b9061842034b7ff1d97922b44822","ref":"refs/heads/main","pushedAt":"2024-05-30T16:40:43.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"Add normalize::NormalizerOpts::map_files flag\n\nPart of the result of address normalization is the path to the binary an\naddress falls into. There is, however, not just *one* path to such a\nbinary. Rather, similar to the trade-offs encountered during address\nsymbolization, it may make sense to refer to the binary either by its\nsymbolic (as it is mentioned inside /proc//maps) or via the\ncorresponding /proc//map_files/ entry. The former is generally\nstill meaningful after the process died, whereas the latter has the\nadvantage that as long as the process is still alive, even deleted files\nwill still be accessible.\nBecause of the inherent trade-off between these two \"kinds\" of paths and\nbecause only the library user can decide with one is better, this change\nintroduces the map_files flag to the NormalizerOpts type to control\nwhich one is being used.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Add normalize::NormalizerOpts::map_files flag"}},{"before":"30e26ed3fc670cdd55a445e9bb5c58d3a6e5f58e","after":"ccbbb02a00838b8920b12355861f475b7c4058fe","ref":"refs/heads/main","pushedAt":"2024-05-29T22:32:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"Use Hexify helper in Normalizer traces\n\nUse the Hexify helper in the Normalizer traces and use the same \"opt-in\"\nscheme for fields to report as we do in the Symbolizer.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Use Hexify helper in Normalizer traces"}},{"before":"feeefa325f588f9f093b01166278ac0081323b79","after":"30e26ed3fc670cdd55a445e9bb5c58d3a6e5f58e","ref":"refs/heads/main","pushedAt":"2024-05-29T22:21:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"danielocfb","name":null,"path":"/danielocfb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77694251?s=80&v=4"},"commit":{"message":"Move Hexify type into util module\n\nMove the Hexify helper type into the util module -- as less opinionated\nlocation for this reusable functionality.\n\nSigned-off-by: Daniel Müller ","shortMessageHtmlLink":"Move Hexify type into util module"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEX6Wv0AA","startCursor":null,"endCursor":null}},"title":"Activity · libbpf/blazesym"}