summary refs log tree commit diff
path: root/debug/catchsegv.sh
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 /debug/catchsegv.sh
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 'debug/catchsegv.sh')
-rwxr-xr-xdebug/catchsegv.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/debug/catchsegv.sh b/debug/catchsegv.sh
index b949352eee..a813b6d614 100755
--- a/debug/catchsegv.sh
+++ b/debug/catchsegv.sh
@@ -52,15 +52,17 @@ fi
 
 segv_output=`basename "$prog"`.segv.$$
 
+# Redirect stderr to avoid termination message from shell.
+(exec 3>&2 2>/dev/null
 LD_PRELOAD=${LD_PRELOAD:+${LD_PRELOAD}:}@SLIB@/libSegFault.so \
 SEGFAULT_USE_ALTSTACK=1 \
 SEGFAULT_OUTPUT_NAME=$segv_output \
-"$prog" ${1+"$@"}
+"$prog" ${1+"$@"} 2>&3 3>&-)
 exval=$?
 
-# Check for a segmentation error.
-if test $exval -eq 139 && test -f "$segv_output"; then
-  # We caught a segmentation error.  The output is in the file with the
+# Check for signal termination.
+if test $exval -gt 128 && test -f "$segv_output"; then
+  # The program caught a signal.  The output is in the file with the
   # name we have in SEGFAULT_OUTPUT_NAME.  In the output the names of
   # functions in shared objects are available, but names in the static
   # part of the program are not.  We use addr2line to get this information.