about summary refs log tree commit diff
path: root/sysdeps/generic/segfault.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-08-28 09:29:49 +0000
committerUlrich Drepper <drepper@redhat.com>1998-08-28 09:29:49 +0000
commit997a416551a7d5ceb91978674cb8c70b443329d0 (patch)
tree06eeaeff7d435927b4ccac073613683a90a71116 /sysdeps/generic/segfault.c
parent0b49f866c517f5098e0ee705a15d5ad50f378779 (diff)
downloadglibc-997a416551a7d5ceb91978674cb8c70b443329d0.tar.gz
glibc-997a416551a7d5ceb91978674cb8c70b443329d0.tar.xz
glibc-997a416551a7d5ceb91978674cb8c70b443329d0.zip
Update.
1998-08-28 09:22  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c (process_envvars): Fix copy&paste error.

	* malloc/malloc.c (malloc_hook_ini): Don't overwrite realloc and
	memalign hook.
	(realloc_hook_ini): Don't overwrite memalign hook.
	(memalign_hook_ini): Don't overwrite malloc and memalign hooks.
	Reported by Philippe Troin <phil@fifi.org>.

	* malloc/mcheck.c (mprobe): Call checkhdr with adjusted pointer.
	Patch by Philippe Troin <phil@fifi.org>.

1998-08-26  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/segfault.c (install_handler): Protect the
	non-POSIX signals with #ifdef.
	(catch_segfault): Add missing mode parameter for open.
	* debug/catchsegv.sh: Avoid termination message from shell.  Allow
	other termination signals.

1998-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* debug/Makefile (distribute): Add register-dump.h.

1998-08-28 10:41  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
Diffstat (limited to 'sysdeps/generic/segfault.c')
-rw-r--r--sysdeps/generic/segfault.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/generic/segfault.c b/sysdeps/generic/segfault.c
index 0d4be93837..5a9e64a105 100644
--- a/sysdeps/generic/segfault.c
+++ b/sysdeps/generic/segfault.c
@@ -90,7 +90,7 @@ catch_segfault (int signal, SIGCONTEXT ctx)
   fname = getenv ("SEGFAULT_OUTPUT_NAME");
   if (fname != NULL && fname[0] != '\0')
     {
-      fd = open (fname, O_TRUNC | O_WRONLY | O_CREAT);
+      fd = open (fname, O_TRUNC | O_WRONLY | O_CREAT, 0666);
       if (fd == -1)
 	fd = 2;
     }
@@ -182,8 +182,12 @@ install_handler (void)
 
       INSTALL_FOR_SIG (SIGSEGV, "segv");
       INSTALL_FOR_SIG (SIGILL, "ill");
+#ifdef SIGBUS
       INSTALL_FOR_SIG (SIGBUS, "bus");
+#endif
+#ifdef SIGSTKFLT
       INSTALL_FOR_SIG (SIGSTKFLT, "stkflt");
+#endif
       INSTALL_FOR_SIG (SIGABRT, "abrt");
       INSTALL_FOR_SIG (SIGFPE, "fpe");
     }