30 April 2020. Summary of changes for version 20200430:
This release is available at
https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Cleaned up the coding style of a couple of global variables (AcpiGbl_NextCmdNum and
AcpiProtocolLengths) caught by static analyzers. AcpiProtocolLengths was made static, and
the definition of AcpiGbl_NextCmdNum was moved to acglobal.h.
2) iASL Compiler/Disassembler and ACPICA tools:
iASL DataTable Compiler: Fixed a segfault on errors that aren't directly associated
with a field.
Disassembler: has been made more resilient so that it will continue to parse AML even if
it the AML generates ACPI namespace errors. This enables iASL to disassemble some AML that
may have been compiled using older versions of iASL that no longer compile with newer
versions of iASL.
iASL: Fixed the required parameters for _NIH and _NIG. Previously, there was a mixup where
_NIG required one parameter and _NIH required zero parameters. This change swaps these
parameter requirements. Now it is required that _NIH must be called with one parameter and
_NIG requires zero parameters.
iASL: Allow use of undefined externals as long as they are protected by an if (CondRefOf
(...)) block when compiling multiple definition blocks.
iASL: Fixed the type override behavior of named objects that are declared as External.
External declarations will no longer override the type of the actual definition if it
already exists.
AcpiNames: Added setargv.obj to the MSVC 2017 link sequence to enable command line
wildcard support on Windows. Note: the AcpiNames utility is essentially redundant with the
AcpiExec utility (using the "namespace" command) and is therefore deprecated. It
will be removed in future releases of ACPICA.
Disassembler: ignore AE_ALREADY_EXISTS status when parsing create* operators. The
disassembler is intended to emit existing ASL code as-is. Therefore, error messages
emitted during disassembly should be ignored or handled in a way such that the
disassembler can continue to parse the AML. This change ignores AE_ALREADY_EXISTS errors
during the deferred Op parsing for create operators in order to complete parsing ASL
termlists.
iASL DataTable Compiler: IVRS table: fix potentially uninitialized variable warning. Some
compilers catch potential uninitialized variables. This is done by examining branches of
if/else statements. This change replaces an "else if" with an "else"
to fix the uninitialized variable warning.