Preserve the state of the %gs register when setting up the signal
handler in Linux emulation. According to bde, this is what Linux does. Recent versions of linuxthreads use %gs for thread-specific data, while FreeBSD uses %fs (mostly because WINE uses %gs). Tested by: drew
This commit is contained in:
parent
b41b0b6e38
commit
6cced3caf8
@ -339,7 +339,6 @@ linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
|
||||
regs->tf_ds = _udatasel;
|
||||
regs->tf_es = _udatasel;
|
||||
regs->tf_fs = _udatasel;
|
||||
load_gs(_udatasel);
|
||||
regs->tf_ss = _udatasel;
|
||||
}
|
||||
|
||||
@ -473,7 +472,6 @@ linux_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
|
||||
regs->tf_ds = _udatasel;
|
||||
regs->tf_es = _udatasel;
|
||||
regs->tf_fs = _udatasel;
|
||||
load_gs(_udatasel);
|
||||
regs->tf_ss = _udatasel;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user