Releases: DanielT/a2ltool
Releases · DanielT/a2ltool
Version v3.2.2
Fix: Preserve top level comments during all operations
Version v3.2.1
- Fix: repeatedly resolve type references until an actual type is found. This fixed nested type references in PDB debug info (by Louis Caron)
- Fix new clippy warnings
- update to a2lfile 3.3.2
- Fix: Allow fallback parser to skip comments in unknown IF_DATA blocks (Akhil T Thomas)
- Fix: Non-strict parsing should not fail if a string was expected, but comment + identifier was found. Previously the comment prevented the error recovery, where an identifier is accepted in place of a string. (Louis Caron)
Version v3.2.0
- Fix: creating new
TYPEDEF_CHARACTERISTICs from the command line was broken - Fix: Handle of the offset value in
SYMBOL_LINKs correctly. - DWARF type reader: get names from
DebugLineStrReftoo - estimate sizes for structures created using
--from-source
Version v3.1.0
- Add the
--old-arraysoption. It allows the use of old array notation (e.g. "._3_") to be forced,
even if the file version is 1.7.0 or 1.7.1 where new array notation (e.g. [2]) is possible. - Add the
--insert-a2mloption. When this option is set, a2ltool's built-in A2ML defintion is inserted into the a2l file if it doesn't contain an one already. - Bugfix: In some cases, depending on the debug info generated by the compiler, integer types were treated as bitfields
- Bugfix: The upper limit of bitfield values is no longer off by one
- Bugfix: prevent infinite recursion in the DWARF debug data reader if the element type of an array is the array itself
- Workaround: Some compilers claim that an enum is unsigned even if it contains enumerators with negative values. In this case the datatype is switched to a signed type.
- ignore case in parameters of command line options. For example
--update ADDRESSEScan also be written as--update addressesnow. - Correctly support the combination of
--enable-structureswith--from-source - Stop with an error message if there are problems while processing definitions in source files
Version v3.0.0
- Implement compatibility with Vector's ASAP2 Creator and allow creation of a2l elements using the same special comment syntax
- Implement additional modes for file merges.
The standard so far was to keep both conflicting elements. Now the--merge-preferenceoption can be used to always use the existing version or the new version instead. - Add a manual for a2ltool.
- Support non-standard
SYMBOL-LINKnotation, where the compile unit name is used as a prefix of the real symbol name - Implement the ability to update
VAR_ADDRESSinfo ofVAR_CHARACTERISTIC - Handle negative bit-offsets in DWARF2 debug info correctly instead of panicing
- Increase the size of the containing type for bitfields that extend past the end of their nominal containig type.
- Add more plausibility checks to
--check
Version v2.7.0
- support C++ references in the DWARF debug data reader
- update to a2lfile 3.0.0
- Comments are now preserved in some cases. Specifically, any comment that occurs in a position where a block is permitted
can be can be represented in the data, and is written to the output file. Sorting a2l files erases comments. - The values of BIT_MASK and error mask are u64 instead of u32, and parsing no longer fails for values that don't fit in u32.
- Allow multiple CALIBRATION_HANDLEs inside of CALIBRATION_METHOD (by Rainer Zaiser)
- Comments are now preserved in some cases. Specifically, any comment that occurs in a position where a block is permitted
Version v2.6.0
- handle offset values other than zero in SYMBOL_LINK
Offset values are still restricted to only point to the beginning of values, and cannot refer to e.g. the second byte of a 32-bit value. - update to a2lfile 2.5.0, which brings some bug fixes:
- improvements for the merge function:
- TYPEDEF_CHARACTERISTIC may reference a MEASUREMENT, but this reference was not updated during merges
- USER_RIGHTS can no longer get duplicate user entries as a result of the merge
- all items are merged in the order in which they appear in the merge file. Previously they were merged in reverse order
- During checking, accept referneces from an AXIS_PRS_REF or CURVE_AXIS_REF of a TYPEDEF_CHARACTERISTIC
to a structure component of the containing structure using the notation THIS.component_name.
- improvements for the merge function:
Version 2.5.0
- Support program information in PDB format
The new option--pdbfilecan be used instead of--elffilein order to read address and data type information from a PDB file. This supports the "virtual ECU" use case, where some parts of a microcontroller application are built on Windows and run inside a simulation environment. - Improve the limit adjustment logic
If an object with a 64-bit float data type had a compu-method, the limit calculation could produce +-INF.
This has been prevented. - Update to a2lfile 2.4.0, which brings the following improvements:
- The handling of /include normlizes the path separators, so that Windows paths work on Linux (by @AkhilTThomas)
- a2l checker improvements:
- The RECORD_LAYOUT used by a CHARACTERISTIC must contain FNC_VALUES
- A RECORD_LAYOUT must contain an AXIS_PTS_X/Y/Z for each internal axis
- There should be a specific number of AXIS_DESCR depending on the type of RECORD_LAYOUT
- The lower and upper limits of CHARACTERISTICs, MEASUREMENTs and AXIS_PTS
are checked for plausibility based on the data type of the item and its COMPU_METHOD.
- Bugfix: in some cases IF_DATA of newly merged files was not updated
- Bugfix: For both DWARF and PDB input the signedness of enums is now read and used.
Previously all enums were treated as unsigned. - Expanded and improved unit tests
- a new relase workflow automatically builds binaries for Windows and Linux
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 theobjectcrate transparently supports getting sections from exe files. - Allow greater control over the a2l update process
- The option
--updatecan now take an argumentFULLorADDRESSES(if the argument is not provided it defaults toFULL)
ModeFULLupdates addresses, datatypes, upper and lower limits, etc. It is a comprehensive update of all information in the a2l file.
The modeADDRESSESonly updates the addresses, leaving everything else untouched. - The option
--upate-preservehas been removed. Instead there is not--update-mode, which works in combination with--update
Update modeSTRICTverifies all information in the al2 file. If anything other than the addresses would be modified, then a2lfile reports an error.
Update modePRESERVEPRESERVE behaves like --update-preserve, and keeps unknown objects.
Update modeDEFAULT(or omitting the option entirely) allows incorrect information, and discards invalid blocks.
- The option
- 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
C allows incomplete type declarations. For example "struct foo;" without a definition only tells the compiler that his type exists, and results in a stub type entry with the attribute DW_AT_declaration in the DWARF data. - upgrade to a2lfile 2.3.1
- change the behavior of merge for GROUPS and FUNCTION
Previously, if two GROUPS in a merge had the same name, then the incoming group was renamed with the suffix ".MERGE".
Now the content for GROUPs/FUNCTIONs with the same name is combined. - a2l checker improvements: fix several bugs, and handle some additional cases
- change the behavior of merge for GROUPS and FUNCTION
- In strict mode, any problems detected by
--checknow cause a2ltool to exit with an error code.
Outside of strict mode,--checkremains informational.