#include #include #include int * __sigaction14(int sig, const struct sigaction * restrict act, struct sigaction * restrict oact) { int *(*original)(int sig, const struct sigaction * restrict act, struct sigaction * restrict oact); if (sig == SIGSEGV) { sig = SIGTRAP; printf("Fake SIGSEGV signal handler with a SIGTRAP one act=%p " "oact=%p\n", act, oact); } original = dlsym(RTLD_NEXT, "__sigaction14"); return (*original)(sig, act, oact); }