https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79181
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Now what collect2 does: #ifdef SIGQUIT if (signal (SIGQUIT, SIG_IGN) != SIG_IGN) signal (SIGQUIT, handler); #endif if (signal (SIGINT, SIG_IGN) != SIG_IGN) signal (SIGINT, handler); #ifdef SIGALRM if (signal (SIGALRM, SIG_IGN) != SIG_IGN) signal (SIGALRM, handler); #endif #ifdef SIGHUP if (signal (SIGHUP, SIG_IGN) != SIG_IGN) signal (SIGHUP, handler); #endif if (signal (SIGSEGV, SIG_IGN) != SIG_IGN) signal (SIGSEGV, handler); #ifdef SIGBUS if (signal (SIGBUS, SIG_IGN) != SIG_IGN) signal (SIGBUS, handler); #endif I guess SIGQUIT and SIGSEGV and SIGBUS should be added too. Also collect2.c should move over to fatal_signal instead of its own handler too ...