All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
v0.5.0 - 2022-07-07
- [breaking-change] changed error handling from
failure
tothiserror
(std::error::Error
)
- [breaking-change] removed the
stack-sizes
andcargo-stack-sizes
tools - [breaking-change] removed the
tools
Cargo feature
v0.4.0 - 2019-03-22
- A
stack_sizes::analyze_object
function has been added. This function is geared towards analyzing relocatable object (.o
) files.
-
[breaking-change]
stack_sizes::analyze
has been renamed tostack_sizes::analyze_executable
and its returns type has changed toFunctions
. -
analyze_executable
no longer includes tags like$a.1
,$d.2
and$t.3
in the list of aliases of a function. -
[breaking-change]
Function
no longer provides anaddress
method and it's no longer a generic struct . -
the
stack-sizes-rustc
binary, which was an implementation detail ofcargo-stack-sizes
, has been removed. -
The
stack-sizes
tool can now analyze relocatable object (.o
) files. -
cargo-stack-sizes
now always forces a rebuild -- the Cargo caching behavior makes it hard to locate the object file that contains the stack usage information.
v0.3.1 - 2019-03-10
Function
now has asize
method to get the size of the subroutine in bytes.
v0.3.0 - 2019-03-03
-
[breaking-change]
Function.address
now returns anOption
. -
stack_sizes::analyze
now detects even more function aliases, specially ones that has been created using linker scripts (seePROVIDE
). -
stack_sizes::analyze
does not error if the.stack_sizes
section is missing. -
stack_sizes::analyze
now also reports undefined symbols (symbols that will be loaded at runtime from a dynamic library); these have an address ofNone
. -
Function
now implements theDebug
trait
analyze
now handles symbol aliases.Function
gained anames
method that returns a list of names (or aliases) associated to an address.
-
[breaking-change]
Function.stack
now returnsOption<u64>
. -
analyze
now returns all the symbols in the ELF; even those for which there is no information about their stack usage.
- [breaking-change]
Function.name
method has been removed.
- Extended the lifetime of the string returned by
Function.name
- Initial release