You copied the Doc URL to your clipboard.

About reordering of tail calling sections

A tail calling section is a section that contains a branch instruction at the end of the section. If the branch instruction has a relocation that targets a function at the start of another section, the linker can place the tail calling section immediately before the called section. The linker can then optimize the branch instruction at the end of the tail calling section to a NOP instruction.

You can take advantage of this behavior by using the command-line option --tailreorder to move tail calling sections immediately before their target.

Use the --info=tailreorder command-line option to display information about any tail call optimizations performed by the linker.


The linker does not reorder tail calling functions in AArch64 state.