summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authordeischen <deischen@FreeBSD.org>2001-05-12 03:23:10 +0000
committerdeischen <deischen@FreeBSD.org>2001-05-12 03:23:10 +0000
commitbcca340cba02214e1752e991643a36671bff9cd8 (patch)
tree101adef5d4d5204cfccc171e2b3b88ac3ee0d2e2 /sys/i386
parente1c208bf75057e9ea207600a84143b67977baef4 (diff)
downloadFreeBSD-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.c2
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;
}
OpenPOWER on IntegriCloud