#include #include static void signal_handler (int signo, struct siginfo *pinfo, void *puc) { fprintf (stderr, "si_addr == %p\n", pinfo->si_addr); exit (0); } int main () { struct sigaction sa; memset(&sa, 0, sizeof sa); sa.sa_sigaction = signal_handler; sigemptyset(&sa.sa_mask); sa.sa_flags = SA_SIGINFO; sigaction (SIGSEGV, &sa, NULL); *(int *)32 = 0; return 0; }