summaryrefslogtreecommitdiff
path: root/debug
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-04-04 05:10:14 +0000
committerUlrich Drepper <drepper@redhat.com>2002-04-04 05:10:14 +0000
commit4a10c7fec7babe4b74d070c1d5ff575ca8abe31b (patch)
tree34675dfc790492933ec70351e75438fbdd6279a8 /debug
parent87c9379402f3d91373438919f77f693f59ceafe1 (diff)
downloadglibc-4a10c7fec7babe4b74d070c1d5ff575ca8abe31b.tar.gz
Update.
2002-04-03 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_read): If the charmap doesn't define a code_set_name provide one based on the filename. * malloc/hooks.c: Define weak_variable correctly for _LIBC. 2001-12-28 Andreas Jaeger <aj@suse.de> * time/mktime.c (__mktime_internal): Check for year < 70 [PR libc/2738]. * sysdeps/generic/w_lgamma.c: Initialized local_signgam. * sysdeps/generic/w_lgammaf.c: Likewise. * sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854]. * debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902]. Adjust for new output format of the backtrace functions. * misc/syslog.c (vsyslog): Only use cleanup handler if _LIBC_REENTRANT is defined [PR libc/2924]. * sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757].
Diffstat (limited to 'debug')
-rwxr-xr-xdebug/catchsegv.sh23
1 files changed, 12 insertions, 11 deletions
diff --git a/debug/catchsegv.sh b/debug/catchsegv.sh
index 8e32ed4423..6781ac1aab 100755
--- a/debug/catchsegv.sh
+++ b/debug/catchsegv.sh
@@ -38,7 +38,7 @@ if test $# -eq 0; then
;;
--v | --ve | --ver | --vers | --versi | --versio | --version)
echo 'catchsegv (GNU libc) @VERSION@'
- echo 'Copyright (C) 2001 Free Software Foundation, Inc.
+ echo 'Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.'
@@ -87,17 +87,18 @@ if test -f "$segv_output"; then
sed '/Backtrace/q' "$segv_output"
sed '1,/Backtrace/d' "$segv_output" |
(while read line; do
+ line=`echo $line | sed "s@^$prog\\(\\[.*\\)@\1@"`
case "$line" in
- [*) addr=`echo "$line" | sed 's/^\[\(.*\)\]$/\1/'`
- complete=`addr2line -f -e "$prog" $addr 2>/dev/null`
- if test $? -eq 0; then
- echo "`echo "$complete"|sed 'N;s/\(.*\)\n\(.*\)/\2(\1)/;'`$line"
- else
- echo "$line"
- fi
- ;;
- *) echo "$line"
- ;;
+ \[*) addr=`echo "$line" | sed 's/^\[\(.*\)\]$/\1/'`
+ complete=`addr2line -f -e "$prog" $addr 2>/dev/null`
+ if test $? -eq 0; then
+ echo "`echo "$complete"|sed 'N;s/\(.*\)\n\(.*\)/\2(\1)/;'`$line"
+ else
+ echo "$line"
+ fi
+ ;;
+ *) echo "$line"
+ ;;
esac
done)
rm -f "$segv_output"