- // Save flags and general-purpose registers.
- stp x16, x17, [sp, #8*16]
+ // Save flags and general-purpose registers. The PLT linkage code
+ // makes free with x8--x17, so we must save those here.
+ mrs x30, nzcv
+ str x30, [sp, #8*REGIX_NZCV]
+ stp x8, x9, [sp, #64]
+ stp x10, x11, [sp, #80]
+ stp x12, x13, [sp, #96]
+ stp x14, x15, [sp, #112]
+ stp x16, x17, [sp, #128]