crt: Move .seh_handlerdata to the end of functions

On aarch64, the length of the enclosing function is part of the .xdata
entry (contrary to x86_64, where there's an EndAddress pointer in the
.pdata), and the .seh_handlerdata directive forces the assembler to
output the main .xdata entry right there. This means that if this is
done early in the function, the .xdata entry ends up with a too short
function length.

Signed-off-by: Martin Storsjö <martin@martin.st>
1 file changed