summary refs log tree commit diff
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.gz
glibc-e503270ca511dd3092c953fe5f9a178f0d04b1ad.tar.xz
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