Skip to content
  • Peter Wemm's avatar
    Fix 32 bit signals on amd64. It turns out that I was sign extending · 50860ac0
    Peter Wemm authored
    the register values coming back from sigreturn(2).  Normally this wouldn't
    matter because the 32 bit environment would truncate the upper 32 bits
    and re-save the truncated values at the next trap.  However, if we got
    a fast second signal and it was pending while we were returning from
    sigreturn(2) in the signal trampoline, we'd never have had a chance to
    truncate the bogus values in 32 bit mode, and the new sendsig would get
    an EFAULT when trying to write to the bogus user stack address.
    50860ac0