You copied the Doc URL to your clipboard.

Arm Compiler armlink User Guide : --strict


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.


STKCKD 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.