Use sa_sigaction signal handlers on Linux. The glibc definition of
sigset_t is different from the one used in the Linux kernel. This means that we cannot make assignments of sigset_t objects without corrupting memory. To work around this problem we update uc_sigmask differently on Linux than on other systems. Also, remove x87 control word updates since the x87 is setup correctly inside call_into_lisp.
Showing
- lisp/Config.linux_gencgc 1 addition, 1 deletionlisp/Config.linux_gencgc
- lisp/Linux-os.c 21 additions, 30 deletionslisp/Linux-os.c
- lisp/Linux-os.h 5 additions, 40 deletionslisp/Linux-os.h
- lisp/interrupt.c 16 additions, 135 deletionslisp/interrupt.c
- lisp/lisp.c 2 additions, 5 deletionslisp/lisp.c
- lisp/x86-arch.c 7 additions, 27 deletionslisp/x86-arch.c
- lisp/x86-lispregs.h 2 additions, 2 deletionslisp/x86-lispregs.h
Loading
Please register or sign in to comment