projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.44.19: NEWS: Updates for changes starting at 1.0.44.6.
[sbcl.git]
/
src
/
runtime
/
sparc-arch.c
diff --git
a/src/runtime/sparc-arch.c
b/src/runtime/sparc-arch.c
index
f32c06d
..
3ff810e
100644
(file)
--- a/
src/runtime/sparc-arch.c
+++ b/
src/runtime/sparc-arch.c
@@
-251,14
+251,9
@@
arch_handle_single_step_trap(os_context_t *context, int trap)
arch_skip_instruction(context);
}
arch_skip_instruction(context);
}
-static void sigill_handler(int signal, siginfo_t *siginfo, void *void_context)
+static void sigill_handler(int signal, siginfo_t *siginfo,
+ os_context_t *context)
{
{
- os_context_t *context = arch_os_get_context(&void_context);
-#ifdef LISP_FEATURE_LINUX
- /* FIXME: Check that this is necessary -- CSR, 2002-07-15 */
- os_restore_fp_control(context);
-#endif
-
if ((siginfo->si_code) == ILL_ILLOPC
#ifdef LISP_FEATURE_LINUX
|| (linux_sparc_siginfo_bug && (siginfo->si_code == 2))
if ((siginfo->si_code) == ILL_ILLOPC
#ifdef LISP_FEATURE_LINUX
|| (linux_sparc_siginfo_bug && (siginfo->si_code == 2))
@@
-295,15
+290,12
@@
static void sigill_handler(int signal, siginfo_t *siginfo, void *void_context)
}
}
}
}
-static void sigemt_handler(int signal, siginfo_t *siginfo, void *void_context)
+static void sigemt_handler(int signal, siginfo_t *siginfo,
+ os_context_t *context)
{
unsigned int badinst;
boolean subtract, immed;
int rd, rs1, op1, rs2, op2, result;
{
unsigned int badinst;
boolean subtract, immed;
int rd, rs1, op1, rs2, op2, result;
- os_context_t *context = arch_os_get_context(&void_context);
-#ifdef LISP_FEATURE_LINUX
- os_restore_fp_control(context);
-#endif
badinst = *(unsigned int *)os_context_pc_addr(context);
if ((badinst >> 30) != 2 || ((badinst >> 20) & 0x1f) != 0x11) {
badinst = *(unsigned int *)os_context_pc_addr(context);
if ((badinst >> 30) != 2 || ((badinst >> 20) & 0x1f) != 0x11) {