From 647a35af10c628375bfe43fc31479b2856cddca8 Mon Sep 17 00:00:00 2001 From: Daniel Thaler Date: Thu, 31 Oct 2024 21:53:37 +0100 Subject: [PATCH] Version 2.4.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- Changelog.md | 16 ++++++++++++++++ README.md | 10 +++++++--- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1296e2f..5c669b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,7 +24,7 @@ dependencies = [ [[package]] name = "a2ltool" -version = "2.3.0" +version = "2.4.0" dependencies = [ "a2lfile", "argfile", diff --git a/Cargo.toml b/Cargo.toml index e9e277e..b529834 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "a2ltool" -version = "2.3.0" +version = "2.4.0" authors = ["Daniel Thaler "] edition = "2021" license = "MIT OR Apache-2.0" diff --git a/Changelog.md b/Changelog.md index 0630e4c..54f7208 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,21 @@ # Changelog +## Version 2.4.0 + +- Document and validate the ability to use exe/DWARF2+ files, which are produced by MinGW gcc. + In practice support for these files has always existed because the `object` crate transparently supports getting sections from exe files. +- Allow greater control over the a2l update process + - The option `--update` can now take an argument `FULL` or `ADDRESSES` (if the argument is not provided it defaults to `FULL`) + Mode `FULL` updates addresses, datatypes, upper and lower limits, etc. It is a comprehensive update of all information in the a2l file. + The mode `ADDRESSES` only updates the addresses, leaving everything else untouched. + - The option `--upate-preserve` has been removed. Instead there is not `--update-mode`, which works in combination with `--update` + Update mode `STRICT` verifies all information in the al2 file. If anything other than the addresses would be modified, then a2lfile reports an error. + Update mode `PRESERVE` PRESERVE behaves like --update-preserve, and keeps unknown objects. + Update mode `DEFAULT` (or omitting the option entirely) allows incorrect information, and discards invalid blocks. +- Upgrade to a2lfile 2.3.2 + - Bugfix: Escape codes \r, \n and \t in quoted strings were not handled correctly while writing files +- Bugfix: support the case where a compiler omits type information after the volatile tag for "volatile void*" + ## Version 2.3.0 - Bugfix: Handle the case of incomplete DWARF type info diff --git a/README.md b/README.md index 7bb2c94..1cbe7ce 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,17 @@ A tool to edit, merge and update a2l files `a2ltool file1.a2l --merge-includes --output flat.a2l` -### Update the addresses in an a2l file +### Update the addresses and other data in an a2l file `a2ltool input.a2l --elffile input.elf --update --output updated.a2l` -### Update the addresses in an a2l file, while keeping invalid elements +### Update the addresses and other data in an a2l file, while keeping invalid elements -`a2ltool input.a2l --elffile input.elf --update-preserve --output updated.a2l` +`a2ltool input.a2l --elffile input.elf --update --update-mode PRESERVE --output updated.a2l` + +### Update only the addresses in an a2l file, and exit with an error if any other a2l elements are incorrect + +`a2ltool input.a2l --elffile input.elf --update ADDRESSES --update-mode STRICT --output updated.a2l` ### Create a new a2l file and add a characteristic from an elf file to it