Releases: libbpf/blazesym
Releases · libbpf/blazesym
v0.2.0-alpha.12
What's Changed
- Added support for advanced symbolization workflows involving containers (process or APKs) via configurable dispatch functions
- Added
cache_maps
andcache_build_ids
properties tonormalize::Normalizer
type- Adjusted normalization logic to return references to cached build IDs if
cache_build_ids
istrue
- Adjusted normalization logic to return references to cached build IDs if
- Added support for compressed debug information
- Added
zlib
(default enabled) andzstd
(default disabled) features
- Added
- Adjusted
Inspector::for_each
signature to no longer carry explicit state around - Introduced
normalize::Reason
enum to provide best guess at why normalization was not successful as part of thenormalize::UserMeta::Unknown
variant - Added
From<Box<dyn std::error::Error>>
conversion toError
- Added
Display
impl toErrorKind
- Added
read_elf_build_id_from_mmap
function tohelper
module - Reduced number of allocations performed on address normalization and process symbolization paths
- Improved symbolization performance on certain unoptimized DWARF data
- Fixed potential numeric overflow when parsing non-UTF-8 (invalid) Breakpad files
- Removed
Clone
impl ofsymbolize::Builder
type
New Contributors
- @operasfantomfb made their first contribution in #569
Full Changelog: v0.2.0-alpha.11...v0.2.0-alpha.12
cli-v0.1.4
cli: Bump version to 0.1.4 This change bumps blazecli's version to 0.1.4. The following notable changes have been made since 0.1.3: - Added 'inspect' command - Bumped blazesym dependency to 0.2.0-alpha.12 Signed-off-by: Daniel Müller <deso@posteo.net>
v0.2.0-alpha.11
What's Changed
- Added support for Breakpad format behind
breakpad
feature (disabled by default) - Added support for usage of perf map files as part of process symbolization
- Added
perf_map
attribute tosymbolize::Process
type
- Added
- Added
map_files
attribute tosymbolize::Process
type - Added support for symbolizing addresses mapping to ELF variables and for looking them up using
inspect
APIs - Added support for GNU indirect functions to ELF logic
- Overhauled
SymType
enum:- Made it non-exhaustive
- Moved it out of
inspect
module - Renamed
Unknown
variant toUndefined
- Made auto reloading of symbolization sources on change configurable
- Fixed DWARF symbolization in the presence of cross compilation unit references
New Contributors
- @r1viollet made their first contribution in #498
Full Changelog: cli-v0.1.2...v0.2.0-alpha.11
cli-v0.1.3
cli: Bump version to 0.1.3 This change bumps blazecli's version to 0.1.3. The following notable changes have been made since 0.1.2: - Added support for symbolization using Breakpad (*.sym) files - Added --no-debug-syms option to symbolize elf sub-command - Added --no-build-ids option to normalize user sub-command - Bumped blazesym dependency to 0.2.0-alpha.11 Signed-off-by: Daniel Müller <deso@posteo.net>
v0.2.0-alpha.10
What's Changed
- Introduced
symbolize::Reason
enum to provide best guess at why symbolization was not successful as part of thesymbolize::Symbolized::Unknown
variant - Introduced
apk
andgsym
compile-time features (disabled by default) - Improved handling of dynamic ELF symbols for symbolization and inspection
- Fixed Gsym symbolization issue for "large" addresses
- Reordered
pid
argument to normalization functions before addresses - Reordered
src
argument to inspection functions before names
Full Changelog: v0.2.0-alpha.9...v0.2.0-alpha.10
cli-v0.1.2
cli: Bump version to 0.1.2 This change bumps blazecli's version to 0.1.2. The following notable changes have been made since 0.1.1: - Bumped blazesym dependency to 0.2.0-alpha.10 Signed-off-by: Daniel Müller <deso@posteo.net>
v0.2.0-alpha.9
What's Changed
- Added caching logic for Gsym resolvers to
symbolize::Symbolizer
- Adjusted various symbolization related types to contain
Cow
objects to facilitate hand out of memory mapped data without unnecessary allocations- Adjusted various symbolization code paths to stop heap-allocating
- Adjusted normalization logic to honor executable and readable proc maps entries
- Changed
debug_syms
to be a symbolization source property instead of asymbolize::Symbolizer
attribute - Renamed
inspect::Elf::debug_info
todebug_syms
- Handled potential numeric overflow in Gsym inlined function parser more gracefully
- Moved C API definitions into
blazesym-c
crate - Fixed build for some Android flavors
Full Changelog: v0.2.0-alpha.8...v0.2.0-alpha.9
v0.2.0-alpha.8
What's Changed
- Fixed build failure when
dwarf
feature is not enabled - Changed
Addr
to map to 64 bit integer - Reworked normalization APIs to produce file offsets instead of virtual offsets
- Introduced
symbolize::Input
enum and made it part of symbolization APIs to distinguish between and support different input types- Added support for ELF symbolization using file offsets instead of addresses
- Added
symbolize::Source::Apk
variant - Made symbolization source caching unconditional and removed least-recently-used semantics in favor of full user control
- Added caching for APK related symbolization data structures
- Added caching logic to
inspect::Inspector
- Adjusted
inspect::SymInfo
type to optionally just reference cached data as opposed to having to heap-allocate copies of it - Added support for iterating over all symbols in a source to
inspect::Inspector
- Made
inspect::SymInfo::file_offset
member optional - Added ability to contain backtraces in
Error
objects - Added support for symbolizing Gsym addresses to
blazecli
- Fixed bogus inlined function reporting for Gsym
- Bumped minimum supported Rust version to
1.65
Full Changelog: v0.2.0-alpha.7...v0.2.0-alpha.8
v0.2.0-alpha.7
What's Changed
- "Flattened" return type of
symbolize::Symbolizer::symbolize
method from nestedVec
to a single levelVec
of newly introducedsymbolize::Symbolized
enum - Further changes to
symbolize::Sym
:- Added
size
member andto_path
helper method - Factored out
CodeInfo
type capturing all source code location information - Included optional inlined function information via
inlined
attribute
- Added
- Added support for reporting inlined functions for DWARF and Gsym formats
- Introduced
symbolize::Symbolizer::symbolize_single
for more convenient symbolization of a single address - Introduced
normalize::Builder
type for customization of anormalize::Normalizer
instance and made reading of build IDs configurable - Adjusted ELF symbolization code to honor symbol sizes
- Renamed
symbolize::Builder::enable_src_location
toenable_code_info
- Bumped minimum supported Rust version to
1.64
New Contributors
- @dependabot made their first contribution in #339
Full Changelog: v0.2.0-alpha.6...v0.2.0-alpha.7
v0.2.0-alpha.6
What's Changed
- Fixed potential panic when normalizing an APK ELF file using the C APIs
Full Changelog: v0.2.0-alpha.5...v0.2.0-alpha.6