3.6.4 Generation of position independent to absolute veneers

Calling from position independent (PI) code to absolute code requires a veneer.

The normal call instruction encodes the address of the target as an offset from the calling address. When calling from PI code to absolute code the offset cannot be calculated at link time, so the linker must insert a long-branch veneer.

The generation of PI to absolute veneers can be controlled using the --piveneer option, that is set by default. When this option is turned off using --no_piveneer, the linker generates an error when a call from PI code to absolute code is detected.


Not supported for AArch64 state.
Non-ConfidentialPDF file icon PDF versionDUI0803J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.