Published April 24, 2024.
Compiler workaround for a security weakness in PCS (Procedure Call Standard) for CMSE (Cortex-M security extensions).
The weakness in the PCS is that the 32-bit AEABI specifies that it is the callers responsibility to extend small arguments to register width, and that it is the callees responsibility to extend small return values to register width for CMSE this is handled as follows:
-
small arguments are extended in prolog of non-secure entry functions
-
small return values are extended at call-site after return from non-secure call
"small" in this context are values of `char` or `short` type, or enum or wide-characters if they are represented in either 8 bits or 16 bits.
Patch archive (
13.1 MB)
A valid Support and Update Agreement is required for this download.
How to Install
1. Exit IAR Embedded Workbench.
2. Unzip the downloaded archive in the directory IAR Embedded Workbench for Arm installation directory