Generation of secure gateway veneers
armlink can generate secure gateway veneers for symbols that are present in a Secure image. It can also output symbols to a specified output import library, when necessary.
armlink generates a secure gateway veneer when
it finds in the Secure image an entry function that has both symbols
<entry> pointing to the same offset in the same section.
The secure gateway veneer is a sequence of two instructions:
<entry>: SG B.W __acle_se_<entry>
The original symbol
<entry> is changed to point to the
SG instruction of the secure gateway veneer.
You can specify an input import library and output import library with the following command-line options:
Placement of secure gateway veneers is controlled by an input import library and by a scatter file selection. The linker can also output addresses of secure gateways to an output import library.
The following example shows the generation of a secure gateway veneer:
.text entry: __acle_se_entry: [entry's code] BXNS lr
Output code produced by armlink:
.text __acle_se_entry: [entry's code] BXNS lr .section Veneer$$CMSE, "ax" entry: SG B.W __acle_se_entry