This release adds support for compressed .debug_line
sections, improved
variable extraction accuracy, new unwinding heuristics for corrupt callstacks,
and improves performance for targets with thousands of threads. All users are
recommended to upgrade.
Performance Improvements
Internal data structures have been improved to support efficient thread identifier look-up that was a measurable bottleneck for programs with many tens of thousands of threads.
Unwinding and Variable Resolution Accuracy
If a program crashes after dispatch due to, for example, jumping to an invalid page new unwinding heuristics are used to attempt to recover the corrupt callstack.
In addition to this, subroutine-level abstract_origin
is now respected consistently
rather than just for inlined functions. This improves extraction of variables that
are only defined in the abstract origin. Newer compilers more aggressively
make use of this pattern.
Debug Line Compression
Previously, compressed .debug_line
sections were unsupported, unlike other debug
sections. This is now supported.