Incorrect register usage description for the landing pad
There are
The landing pad may receive other arguments, for instance a switch value
indicating the type of the exception. Four scratch registers are reserved
for this use (\RDI, \RSI, \RDX, \RCX).
But GCC has
#define EH_RETURN_DATA_REGNO(N) ((N) <= DX_REG ? (N) : INVALID_REGNUM)
(AX_REG 0)
(DX_REG 1)
RAX and RDX are used to pass arguments to the landing pad.
Edited by H.J. Lu