74 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
092e77574c chore(safe_main): compatibility with cpptrace-1 2025-07-18 17:55:19 +02:00
Marcus Holland-Moritz
7b0b1cdc0c refactor: introduce and use safe_localtime() 2025-05-14 06:47:32 +02:00
Marcus Holland-Moritz
843c75ae69 chore(safe_main): work around Windows-specific issue in cpptrace 2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
1fec8314da refactor: make proper use of cpptrace with ENABLE_STACKTRACE 2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
24f87bbeaa chore: drop DWARFSEXTRACT_MINIMAL completely
Extracting by pattern is a mandatory feature for the `fuse-extract` use
case, so no point in being able to disable this.
2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
7b78074ce7 fix: *really* disable the performance monitor if requested 2025-04-13 22:27:19 +02:00
Marcus Holland-Moritz
e6ae08475a feat: allow disabling advanced features in dwarfs-fuse-extract 2025-04-13 22:14:57 +02:00
Marcus Holland-Moritz
7de8cf9344 feat: use an optimized memcpy if possible 2025-04-10 18:45:15 +02:00
Marcus Holland-Moritz
89c895f6bf feat(mkdwarfs): add --memory-limit=auto 2025-04-09 10:55:02 +02:00
Marcus Holland-Moritz
084176d5fd feat: try supporting mimalloc 2025-04-09 06:57:13 +02:00
Marcus Holland-Moritz
179948e0cc refactor: use file_access for fragment order parser 2025-04-08 13:12:12 +02:00
Marcus Holland-Moritz
ceb6786fbe fix(dwarfs_main): make analysis option work with high-level interface 2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
ca5c1bba0b refactor: use file_access abstraction in hotness categorizer 2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
a622d89f9c fix: compatibility with boost process v2 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
e71cc49353 feat(dwarfs): add block_allocator option to FUSE driver 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
ae1358e978 fix(dwarfs_main): don't throw in dtor 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
440868b7bd refactor(dwarfsextract): use filesystem_v2_lite 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
7978d31b67 refactor: use filesystem_v2_lite in FUSE driver 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
36845df2b2 feat(dwarfs): add preload_all option 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
5717afa562 feat(dwarfs): add analysis_file option for profiling 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
c061a5253d feat(dwarfs): add preload_category option 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
d84d7535c7 refactor(categorizer): allow access to root and relative paths 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
290d701318 feat(dwarfs): show libfuse version in dependencies 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
d786083d3d chore: move everything but the writer code from GPLv3 to MIT license 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
2f053d89a7 build: add dwarfs-fuse-extract semi-universal binary 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
4e0ea2c165 refactor: separate compression / decompression 2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
b4d42df539 refactor(dwarfs_main): modernize away memset and strncmp 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
7aded55c09 refactor(universal): simplify looks_like_executable 2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
402bb48e19 chore(pxattr): no need to show header with dependencies 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
4b9974c76f fix(dwarfs_main): Boost.Process v2 lacks close_range() on alpine 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
0f0249b1ee fix(scanner): handle absolute paths in --input-list (fixes gh #259) 2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
fb159a0317 refactor(universal): factor out looks-like-executable check 2025-03-19 22:31:37 +01:00
Marcus Holland-Moritz
542a84ddf3 fix(universal): use tool_header_nodeps 2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
f3300c4cbd refactor: simplify a few places with string_view / ranges 2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
1b1e5fc3c5 fix: tool header was incorrectly formatted for universal binary 2025-03-17 15:34:03 +01:00
Marcus Holland-Moritz
6b17f3d31f refactor: only link jemalloc against executables, not libraries
Linking `jemalloc` against executables is enough to replace *all* malloc
functionality with `jemalloc`. Linking it against a library will cause
issues for example with Python bindings. The downside is that Python
won't be using `jemalloc` by default, but likely malloc won't be the
bottleneck when using Python.
2025-03-17 09:42:52 +01:00
Marcus Holland-Moritz
38ef05cde2 refactor: include library dependencies in tool header 2025-03-17 08:39:42 +01:00
Marcus Holland-Moritz
8e32e33b96 refactor: apply clang-tidy readability-* fixes 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
45098e7913 chore: reformat code using new .clang-format 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
d5df4f9deb refactor: use const refs where pass-by-value is unnecessary 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
ba0bdbdc91 refactor(safe_main): use const ref for std::function 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
a50ba46fab refactor(dwarfs_main): use std::array for dwarfs_opts 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
40e8ffc5a3 refactor(mkdwarfs_main): hide members in categorize_optval 2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
e8874aae1f refactor(mkdwarfs_main): copy optional as-is 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
2e4f6d2208 fix(dwarfs_main): capture function name for logging in lambda 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
8f9e3cde23 chore: add more clang-tidy diagnostic suppressions 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
3c5ed07b73 fix(mkdwarfs_main): remove unused variable 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
14b69032fd fix: move iolayer predeclaration to the right namespace 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
f1f57e9bc2 refactor(dwarfs_main): replace maps with sorted_array_map 2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
830bed5d39 refactor(mkdwarfs_main): avoid potentially throwing globals 2025-03-17 07:15:54 +01:00