- flags related to target cpu are now passed to all the dependencies if specified thanks @zheland
- bump deps in tests
- bump deps
- improve error for mismaching/corrupted rust-src
- support for ARM disassembly thanks @fg-cfh
- bump serde that was pinned due to it shipping binary blobs
- bump deps
-vv
also prints invoked cargo command (#345) thanks @zheland- bump deps
--quiet
option that gets passed to `cargo- Also search for context in
.set
statements - for merged functions this mean that when you are showing the alias with-c 1
- the actual implementation will show up as well (#338)
- make sure not to drop used labels (#318)
- add release-lto profile for slightly smaller/faster version thanks @zamazan4ik for the suggestion
- detect and render merged functions (#310)
- update docs (#320)
- smarter approach for detecting constants (#315)
- smarter CI (#79)
- bump deps
- more consistend behavior when only one item is detected (#312) thanks @zheland
- fixed llvm output for no_mangle functions (#313) thanks @zheland
- bump deps
- support --config KEY=VAL option that is passed directly to cargo
- bump deps
- slightly smarter artifact detection, shouldn't panic with wasm crates
- bump deps
- support combination of --everything and --rust
- bump deps
- even better support for no_mangle names on windows thanks to @evmar
- bump deps
- don't include constants by default
- include local jump labels in disassembly
- include instructions in hex in disassembly
- avoid memory addresses with displacement in disassembly
- bump bpaf
- don't force debuginfo in llvm, fixes #269
-
Experimental support for disassembly,
cargo-show-asm
needs to be compiled with "disasm" feature.With that you can pass
--disasm
flag to disassemble binary artifacts (.rlib
files or executables) created by cargo.To work with PGO, BOLT or other optimizations that require non standard build process you can pass path to binary directly with
--file
.For
cargo-show-asm
to detect symbols in your code you need to disable stripping by adding something like this toCargo.toml
[profile.release] strip = false
At the moment interleaving rust source (
--rust
) is not supported -
bump deps
- include more instructions in
--simplify
- handle combinations like
--mca --intel
in addition to--mca-intel
which is now deprecated - cosmetic improvements in produced output
- a bunch of internal improvements
- drop
once_cell
dependency
- include relevant constants in produced asm output
this can be disabled with
--no-constants
- bump deps
- Add an option
-c
/--context
to recursively include functions called from target as additional context
- fix function selection by index, see #244
-
Add a set of options to limit rust source code to workspace, regular crates or all available code:
--this-workspace Show rust sources from current workspace only --all-crates Show rust sources from current workspace and from rust registry --all-sources Show all the rust sources including stdlib and compiler
- look for rustc source code in the right place, see #238
- avoid using hard to see colors thanks to @epontan
- bump deps
- Improve accuracy of llvm lines, see #229 thanks to @osiewicz
- fix CI
- add an option to keep mangled name, thanks to @osiewicz
- add syntax highlight for mangled names
- bump dependencies
- Add an option to strip blank lines and make it default, original behavior is accessible
with
-B
option
- better support for no_mangle in macOS
- ignore empty source files - seen them on Windows
- bump a bunch of deps
- add license files
- support wonky non-utf8 files produced by rustc/llvm o_O
- workaround for fancier debuginfo not supported by cargo-metadata
- usage in README is now generated in markdown
- bump bpaf to 0.9.1, usage in README is now generated
- bump deps
- you can also specify default profile using
CARGO_SHOW_ASM_PROFILE
env variable - bump bpaf to 0.8.0, add dull colors by default
- look harder for source code, don't panic if it can't be found
- bump deps
- drop some dependencies
- support for strange looking file names in dwarf info
- Override lto configuration to lto=no, #146
- Allow to pass -C flags directly to rustc
- --llvm-input to show llvm-ir before any LLVM passes
- Only generate debug info for LLVM resulting in cleaner Thanks to @jonasmalacofilho
- support cdylib crates
- bump deps
- allow to pass -Z flags directly to cargo
- support for llvm-mca
- fix filtering by index and name at the same time
- --test, --bench, etc. can be used without argument to list available items thanks to @danielparks
- bump deps
- support for nightly -Z asm-comments
- improve error messages
- properly handle exception handling code on Windows thanks to @al13n321
- support --rust on Windows thanks to @al13n321
- bump dependencies
- support mangled names
- fix select-by-index
- use color for cargo diagnostics Thanks to @coolreader18
- support for WASM target Thanks to @coolreader18
- include README.md into docs.rs docs
- dump function by index as well as by name
- improve label colorization and stripping Thanks to @RustyYato
- bump dependencies
--simplify
option - to strip some of the things that are not cpu instructions from the asm output
- support rlib projects + tests
- fix
--color
and--no-color
, regression since 0.2.0
- number of macOS specific bugfixes
- update deps
- more detailed output with verbosity flags
- replaced libcargo with invoking cargo Thanks to @oxalica
- renamed
--feature
->--features
- dropped backward compatibility
-no-defaut-features
- implemented
--everything
to dump the whole file demangled
- support custom profiles
- support reading rust sources from registries
- update dependenies + bpaf
- optional colorful command line parser output
- strip redundant labels by default
- cleaning up
- removing glob in favor of std::fs - windows CI now works
- document completions
- options for vendored libgit2 and openssl
- documentation improvements Thanks to @dtolnay, @matthiasbeyer and @saethlin
- support --native and --target-cpu
- when dumping a function - dump full section
- Update cargo version to 0.65
- Bump bpaf Thanks to @elichai
- detect missing sources and suggest to install them
- bugfix to package selection in non-virtual workspaces
- fix typo in default features Thanks to @mooli
- fix more cross-compilation issues Thanks to @WIgor
- Fix parsing of file directive on nightly
- Bump bpaf Thanks to @yotamofek
- Update bpaf to 0.5.2, should start give more user friendly suggestions
- Also accept target dir from
env:CARGO_TARGET_DIR
- Upgrade cargo dependency
- Dump single match as is
- Improved cross-compilation support
- Upgrade cargo dependency
- Upgrade cargo dependency
- arm asm bugfixes
- Bump the dependencies, mostly cargo to 0.62
- arm asm bugfixes thanks to @RustyYato
- Limited support for MIR
- bump dependencies
- Limited support for LLVM-IR
- Limited support for Windows: Works a bit better thanks to @nico-abram
- Limited support for Windows: showing asm code for function mostly works, adding rust code annotation doesn't.
- First public release