aboutsummaryrefslogtreecommitdiff
path: root/debug/catchsegv.sh
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-09-24 18:06:23 +0000
committerUlrich Drepper <drepper@redhat.com>1998-09-24 18:06:23 +0000
commite503270ca511dd3092c953fe5f9a178f0d04b1ad (patch)
tree6aad2eb1bbbfe632bd3db496e614e7314537764e /debug/catchsegv.sh
parent3465c0ce37f534b4b1b9fa6cfd07fb3e88e2dcc0 (diff)
downloadglibc-e503270ca511dd3092c953fe5f9a178f0d04b1ad.tar
glibc-e503270ca511dd3092c953fe5f9a178f0d04b1ad.tar.gz
glibc-e503270ca511dd3092c953fe5f9a178f0d04b1ad.tar.bz2
glibc-e503270ca511dd3092c953fe5f9a178f0d04b1ad.zip
Update.
1998-09-24 Ulrich Drepper <drepper@cygnus.com> * debug/catchsegv.sh: Also produce output if cloned process died. 1998-09-24 Paul Eggert <eggert@twinsun.com> * strftime.c (f_wkday): Remove duplicate definition. (f_wkday, f_month, a_wkday, a_month, ampm): Define as macros when !defined _NL_CURRENT && !HAVE_STRFTIME; this propagates the 1998-09-11 fix to this case. (wkday_len, month_len): Remove these macros; they're no longer needed. 1998-09-24 Paul Eggert <eggert@twinsun.com> * strftime.c (my_strftime): Don't store past the end of a zero-sized buffer. * time/strftime.c (underlying_strftime): * time/strftime.c (INT_STRLEN_BOUND): Fix typo by changing 100 to 1000.
Diffstat (limited to 'debug/catchsegv.sh')
-rwxr-xr-xdebug/catchsegv.sh8
1 files changed, 6 insertions, 2 deletions
diff --git a/debug/catchsegv.sh b/debug/catchsegv.sh
index 6ca404da08..3af6570b10 100755
--- a/debug/catchsegv.sh
+++ b/debug/catchsegv.sh
@@ -51,6 +51,8 @@ Written by Ulrich Drepper.'
fi
segv_output=`basename "$prog"`.segv.$$
+# Make sure this output file does not exist.
+rm -f "$segv_output"
# Redirect stderr to avoid termination message from shell.
(exec 3>&2 2>/dev/null
@@ -60,8 +62,10 @@ SEGFAULT_OUTPUT_NAME=$segv_output \
"$prog" ${1+"$@"} 2>&3 3>&-)
exval=$?
-# Check for signal termination.
-if test $exval -gt 128 && test -f "$segv_output"; then
+# Check for output. Even if the program terminated correctly it might
+# be that a inor process (clone) failed. Therefore we do not check the
+# exit code.
+if 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