Instructs the linker to perform additional conformance checks, such as reporting conditions that might result in failures.
--strict causes the linker to check for
taking the address of:
- A non-interworking location from a non-interworking location in a different state.
- A RW location from a location that uses the static base register R9.
- A STKCKD function in an image that contains USESV7 functions.
- A ~STKCKD function in an image that contains STKCKD functions.
NoteSTKCKD functions reserve register r10 for Stack Checking, ~STKCKD functions use register r10 as variable register v7 and USESV7 functions use register r10 as v7. See the Procedure Call Standard for the Arm® Architecture (AAPCS) for more information about v7.
An example of a condition that might result in failure is taking the address of an interworking function from a non-interworking function.