aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Blandy1993-03-11 07:13:06 +0000
committerJim Blandy1993-03-11 07:13:06 +0000
commita90538cbb5cbd3d79d608d5e360055a7279cbdf6 (patch)
tree2186502bcec135c4f19afa9f14333496789573b6
parentd6717cdb6db06dea89feaa5cd92e2de2fda1ed0f (diff)
downloademacs-a90538cbb5cbd3d79d608d5e360055a7279cbdf6.tar.gz
emacs-a90538cbb5cbd3d79d608d5e360055a7279cbdf6.zip
* 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.
-rw-r--r--src/emacs.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/emacs.c b/src/emacs.c
index b33bb7fa447..25edb3fc659 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -140,7 +140,7 @@ fatal_error_signal (sig)
140 Remember that since we're in a signal handler, the signal we're 140 Remember that since we're in a signal handler, the signal we're
141 going to send is probably blocked, so we have to unblock it if we 141 going to send is probably blocked, so we have to unblock it if we
142 want to really receive it. */ 142 want to really receive it. */
143 sigblock(SIGEMPTYMASK); 143 sigunblock (sigmask (fatal_error_code));
144 kill (getpid (), fatal_error_code); 144 kill (getpid (), fatal_error_code);
145#endif /* not VMS */ 145#endif /* not VMS */
146} 146}
@@ -173,6 +173,7 @@ extern noshare char **environ;
173#endif /* LINK_CRTL_SHARE */ 173#endif /* LINK_CRTL_SHARE */
174#endif /* VMS */ 174#endif /* VMS */
175 175
176#ifndef ORDINARY_LINK
176/* We don't include crtbegin.o and crtend.o in the link, 177/* We don't include crtbegin.o and crtend.o in the link,
177 so these functions and variables might be missed. 178 so these functions and variables might be missed.
178 Provide dummy definitions to avoid error. 179 Provide dummy definitions to avoid error.
@@ -189,6 +190,7 @@ char * __DTOR_LIST__[2] = { (char *) (-1), 0 };
189__main () 190__main ()
190{} 191{}
191#endif /* __GNUC__ */ 192#endif /* __GNUC__ */
193#endif /* ORDINARY_LINK */
192 194
193/* ARGSUSED */ 195/* ARGSUSED */
194main (argc, argv, envp) 196main (argc, argv, envp)
@@ -375,7 +377,10 @@ main (argc, argv, envp)
375 signal (SIGQUIT, fatal_error_signal); 377 signal (SIGQUIT, fatal_error_signal);
376 signal (SIGILL, fatal_error_signal); 378 signal (SIGILL, fatal_error_signal);
377 signal (SIGTRAP, fatal_error_signal); 379 signal (SIGTRAP, fatal_error_signal);
380#ifdef SIGIOT
381 /* This is missing on some systems - OS/2, for example. */
378 signal (SIGIOT, fatal_error_signal); 382 signal (SIGIOT, fatal_error_signal);
383#endif
379#ifdef SIGEMT 384#ifdef SIGEMT
380 signal (SIGEMT, fatal_error_signal); 385 signal (SIGEMT, fatal_error_signal);
381#endif 386#endif