When setting up the frame to invoke a signal handler, preserve the

%fs and %gs registers instead of setting them to known sane values.
%fs is going to be used for thread/KSE specific data by the new
threads library; we'll want it to be valid inside of signal handlers.

According to bde, Linux preserves the state of %fs and %gs when setting
up signal handlers, so there is precedent for doing this.

The same changes should be made in the Linux emulator, but when made,
they seem to break (at least one version of) the IBM JDK for Linux
(reported by drew).

Approved by:	bde
This commit is contained in:
Daniel Eischen 2001-05-06 02:13:12 +00:00
parent c15e7faad5
commit 46022f276b
2 changed files with 0 additions and 4 deletions

View File

@ -745,8 +745,6 @@ sendsig(catcher, sig, mask, code)
regs->tf_cs = _ucodesel;
regs->tf_ds = _udatasel;
regs->tf_es = _udatasel;
regs->tf_fs = _udatasel;
load_gs(_udatasel);
regs->tf_ss = _udatasel;
}

View File

@ -745,8 +745,6 @@ sendsig(catcher, sig, mask, code)
regs->tf_cs = _ucodesel;
regs->tf_ds = _udatasel;
regs->tf_es = _udatasel;
regs->tf_fs = _udatasel;
load_gs(_udatasel);
regs->tf_ss = _udatasel;
}