You copied the Doc URL to your clipboard.

Linker reordering of execution regions containing Thumb code

The linker reorders execution regions containing Thumb code only if the size of the Thumb code exceeds the branch range.

If the code size of an execution region exceeds the maximum branch range of a Thumb instruction, then armlink reorders the input sections using a different sorting algorithm. This sorting algorithm attempts to minimize the amount of veneers generated.

The Thumb branch instructions that can be veneered are always encoded as a pair of 16-bit instructions. Processors that support Thumb2 have a range of 16MB. Processors that do not support Thumb2 have a range of 4MB.

To disable section reordering, use the --no_largeregions command-line option.

Related concepts

Was this page helpful? Yes No