https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119430
--- Comment #15 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- -mlong-calls isn't enough, because with !flag_reorder_blocks_and_partition arm_long_call_p overrides it to false when functions share the same section. But with -ffunction-sections I got all the gnat1 sources to build, but lto linking fails with some LRA too-many-iterations failures, at least one of which due to a sibcall requiring a reload for the (long) call target, but with all call-clobbered registered already used. arm_function_ok_for_sibcall deals with that case for indirect calls with non-trampoline descriptors, but not for long calls.