Releases: Decompollaborate/mapfile_parser
Releases · Decompollaborate/mapfile_parser
2.3.5
[2.3.5] - 2024-02-04
Fixed
- Fix
MapFile.compareFilesAndSymbols
reporting the wrong address as the
expected address.
2.3.4
[2.3.4] - 2024-01-26
Changed
- Frontend scripts now give a better error if the mapfile does not exist.
2.3.2
[2.3.2] - 2024-01-17
Added
- Add optional
categoryColumnSize
parameter toProgressStats.getHeaderAsStr
andProgressStats.getEntryAsStr
.- Allows to set the size of the first column.
Fixed
- Fix Rust's implementation of
File
not returning apathlib.Path
object for
thefilepath
member.
2.3.1
[2.3.1] - 2023-12-23
Added
- Add a few utility methods to
ProgressStats
.
Changed
pyo3
is no longer needed to use this crate as Rust-only library.- Updated Rust dependencies.
2.3.0
[2.3.0] - 2023-11-05
Added
- Support for parsing clang lld's map fles.
- New functions:
MapFile.parseMapContents
/MapFile::parse_map_contents
- Parses the map contents passed as the argument, without requiring the map
being on an actual file. - The map format will be guessed on the contents. Currently both the GNU ld
and clang ld.lld map formats are recognized.
- Parses the map contents passed as the argument, without requiring the map
MapFile.parseMapContentsGNU
/MapFile::parse_map_contents_gnu
- Parses the map contents passed as the argument, without requiring the map
being on an actual file. - This function only parses the GNU ld map format.
- Parses the map contents passed as the argument, without requiring the map
MapFile.parseMapContentsLLD
/MapFile::parse_map_contents_lld
- Parses the map contents passed as the argument, without requiring the map
being on an actual file. - This function only parses the clang ld.lld map format.
- Parses the map contents passed as the argument, without requiring the map
- New members:
Symbol.align
/Symbol::align
,File.align
/File::align
and
Segment.align
/Segment::align
: The alignment the given type. This member
will be filled by the parser only if the mapfile provides this information.
Changed
MapFile.readMapFile
/MapFile::read_map_file
can now guess the map format
between any of the known formats.- Some known symbol names will be automatically filtered out during the parsing
step.- Currently only
gcc2_compiled.
is filtered out.
- Currently only
Fixed
- Fix parser not detecting
*fill*
lines on GNU ld maps if they specified the
value that was used for filling/padding. .sbss
,COMMON
and.scommon
sections are now properly considered noload
sections.
2.2.1
[2.2.1] - 2023-10-08
Fixed
- Fix Rust crate size being too big
- crates.io was rejecting the package because of the size
- Cargo was packaging all the map files and test cases, making the package be
15 MiB. Now it is around 16.3 KiB
2.2.0
[2.2.0] - 2023-10-08
Added
- Add new Rust re-implementation (#15)
- Allows using this library in native Rust projects
- It does not replace the Python implementation due to restrictions on how
Rust bindings work. - Python bindings for the Rust implementation exists, but they are not used
or exposed to the user
- Now this library has a Rust crate.
- Check it at https://crates.io/crates/mapfile_parser
Changed
- Speed-up the actual parsing of a mapfile by using the native Rust implementation
- Up to 10 times faster parsing has been registered
- Change build system from
hatchling
tomaturin
2.1.5
[2.1.5] - 2023-10-02
Added
- Add
CHANGELOG.md
- Add markdown linter to CI
Changed
- Cleanup the
README.md
a bit - Update Github Action's dependencies
Deprecated
- Deprecate
File.getName
- The method itself doesn't make sense, instead operate on
File.filepath
directly
- The method itself doesn't make sense, instead operate on
- Deprecate
MapFile.debugging
- Deprecate
progress
frontend's--debugging
flag
2.1.4
- Fix vrom calculation if the first symbol of a file is not available in the map file
1.3.2
- Add version info to the cli
- Add small testing suite
- Allow csv conversion to be written to a file instead of only printing to stdout
- Output
none
instead of"None"
for symbols with no vrom when generating json output. - Add machine-friendly/non-human-readable option for json generation.
- Numbers are outputted as real numbers instead of prettified strings
- Fix vrom calculation if the first symbol of a file is not available in the map file
Full changes: 702a734...ba444b0