3.2.4. Ordering execution regions containing Thumb code
The Thumb branch range is 4MB. When an execution region contains Thumb code that exceeds 4MB, armlink attempts to order sections that are at a similar average call depth and to place the most commonly called sections centrally. This helps to minimize the number of veneers generated. See Veneer generation for more information.
The Thumb-2 branch range is 16MB. Section re-ordering is only required if that limit is exceeded.