Messages in this thread |  | | Date | Mon, 29 Oct 2001 19:00:27 +0000 | Subject | SPARC and SA_SIGINFO signal handling | From | Christophe Rhodes <> |
| |
Dear all,
I'm having trouble on SPARC/Linux (of both the 32 and 64 varieties) getting at the third argument of POSIX sa_sigaction signal handlers.
Consider the following code (a simplified version of what I'm actually trying to do): --- Cut here --- #include <stdlib.h> #include <sys/ucontext.h> #include <signal.h>
void sigsegv_handler (int signo, siginfo_t *info, void *data) { return; }
int main () { int *foo; struct sigaction sa;
sa.sa_sigaction = sigsegv_handler; sa.sa_flags = SA_SIGINFO | SA_RESTART; sigaction(SIGSEGV, &sa, NULL);
foo = NULL; *foo = 3; return 0; } --- Cut here --- Running under gdb reveals that, whereas on alpha, x86 and ppc the third argument to sigsegv_handler is a pointer to a ucontext structure, on sparc and sparc64 I get NULL.
Am I doing something wrong, or is the ucontext argument simply not yet implemented on the sparc architecture?
Many thanks,
Christophe -- Jesus College, Cambridge, CB5 8BL +44 1223 510 299 http://www-jcsu.jesus.cam.ac.uk/~csr21/ (defun pling-dollar (str schar arg) (first (last +))) (make-dispatch-macro-character #\! t) (set-dispatch-macro-character #\! #\$ #'pling-dollar) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |