You copied the Doc URL to your clipboard.

--strict_preserve8_require8

Enables the generation of the armlink diagnostic L6238E when a function that is not tagged as preserving eight-byte alignment of the stack calls a function that is tagged as requiring eight-byte alignment of the stack.

Note

This option controls only the instances of error L6283E that relate to the preserve eight-byte stack alignment and require eight-byte stack alignment relationship, not any other instances of that error.

When a function is known to preserve eight-byte alignment of the stack, armclang assigns the build attribute Tag_ABI_align_preserved to that function. However, the armclang integrated assembler does not automatically assign this attribute to assembly code.

By default, armlink does not check for the build attribute Tag_ABI_align_preserved. Therefore, when you specify --strict_preserve8_require8, and armlink generates error L6238E, then you must check that your assembly code preserves eight-byte stack alignment. If it does, then add the following directive to your assembly code:

.eabi_attribute Tag_ABI_align_preserved, 1
Was this page helpful? Yes No