From a90538cbb5cbd3d79d608d5e360055a7279cbdf6 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Thu, 11 Mar 1993 07:13:06 +0000 Subject: [PATCH] * emacs.c (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __CTOR_LIST__, __DTOR_LIST__, __main): Don't define these if ORDINARY_LINK is #defined; in that case, the standard linking procedure will find definitions for these. * emacs.c (main): SIGIOT isn't defined on all systems; don't set its signal handler unless it is. --- src/emacs.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/emacs.c b/src/emacs.c index b33bb7fa44..25edb3fc65 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -140,7 +140,7 @@ fatal_error_signal (sig) Remember that since we're in a signal handler, the signal we're going to send is probably blocked, so we have to unblock it if we want to really receive it. */ - sigblock(SIGEMPTYMASK); + sigunblock (sigmask (fatal_error_code)); kill (getpid (), fatal_error_code); #endif /* not VMS */ } @@ -173,6 +173,7 @@ extern noshare char **environ; #endif /* LINK_CRTL_SHARE */ #endif /* VMS */ +#ifndef ORDINARY_LINK /* We don't include crtbegin.o and crtend.o in the link, so these functions and variables might be missed. Provide dummy definitions to avoid error. @@ -189,6 +190,7 @@ char * __DTOR_LIST__[2] = { (char *) (-1), 0 }; __main () {} #endif /* __GNUC__ */ +#endif /* ORDINARY_LINK */ /* ARGSUSED */ main (argc, argv, envp) @@ -375,7 +377,10 @@ main (argc, argv, envp) signal (SIGQUIT, fatal_error_signal); signal (SIGILL, fatal_error_signal); signal (SIGTRAP, fatal_error_signal); +#ifdef SIGIOT + /* This is missing on some systems - OS/2, for example. */ signal (SIGIOT, fatal_error_signal); +#endif #ifdef SIGEMT signal (SIGEMT, fatal_error_signal); #endif -- 2.20.1