diff options
author | deischen <deischen@FreeBSD.org> | 2001-05-12 03:23:10 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2001-05-12 03:23:10 +0000 |
commit | bcca340cba02214e1752e991643a36671bff9cd8 (patch) | |
tree | 101adef5d4d5204cfccc171e2b3b88ac3ee0d2e2 /sys/i386 | |
parent | e1c208bf75057e9ea207600a84143b67977baef4 (diff) | |
download | FreeBSD-src-bcca340cba02214e1752e991643a36671bff9cd8.zip FreeBSD-src-bcca340cba02214e1752e991643a36671bff9cd8.tar.gz |
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
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/linux/linux_sysvec.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index e461eab..13c29f8 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -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; } |