The 16-bit 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.
The 32-bit Thumb branch range is 16MB. Section re-ordering is only required if that limit is exceeded.
To disable section re-ordering, use the