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.