From: Jakub Jelinek Date: Thu, 12 Jul 2007 14:55:40 +0000 (+0000) Subject: 2007-02-17 Ulrich Drepper X-Git-Tag: cvs/fedora-glibc-2_5-20070712T1701~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80b5697ff16113b03a5241604cce89e1a9f2eade;p=thirdparty%2Fglibc.git 2007-02-17 Ulrich Drepper [BZ #3348] * malloc/memusage.sh: Cleanups. * debug/xtrace.sh: Quoting and trap changes. --- diff --git a/ChangeLog b/ChangeLog index 3f480904af7..f121f4ff468 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-02-17 Ulrich Drepper + + [BZ #3348] + * malloc/memusage.sh: Cleanups. + * debug/xtrace.sh: Quoting and trap changes. + 2007-02-16 Ulrich Drepper * locale/iso-3166.def: Add entry for Serbia. diff --git a/debug/xtrace.sh b/debug/xtrace.sh index 082db3f349e..f34ac5c646e 100755 --- a/debug/xtrace.sh +++ b/debug/xtrace.sh @@ -161,32 +161,32 @@ if test -n "$data"; then while read fct; do read file if test "$fct" != '??' -a "$file" != '??:0'; then - format_line $fct $file + format_line "$fct" "$file" fi done else - fifo=$(mktemp -u ${TMPDIR:-/tmp}/xtrace.XXXXXX) + fifo=$(mktemp -ut xtrace.XXXXXX) || exit + trap 'rm -f "$fifo"; exit 1' HUP INT QUIT TERM PIPE mkfifo -m 0600 $fifo || exit 1 - trap 'rm $fifo; exit 1' SIGINT SIGTERM SIGPIPE # Now start the program and let it write to the FIFO. $TERMINAL_PROG -T "xtrace - $program $*" -e /bin/sh -c "LD_PRELOAD=$pcprofileso PCPROFILE_OUTPUT=$fifo $program $*; read < $fifo" & termpid=$! - $pcprofiledump -u $fifo | + $pcprofiledump -u "$fifo" | while read line; do - echo $line | + echo "$line" | sed 's/this = \([^,]*\).*/\1/' | - addr2line -fC -e $program + addr2line -fC -e "$program" done | while read fct; do read file if test "$fct" != '??' -a "$file" != '??:0'; then - format_line $fct $file + format_line "$fct" "$file" fi done read -p "Press return here to close $TERMINAL_PROG($program)." - echo > $fifo - rm $fifo + echo > "$fifo" + rm "$fifo" fi exit 0 diff --git a/malloc/memusage.sh b/malloc/memusage.sh index ecc935d0376..c767b030c4e 100755 --- a/malloc/memusage.sh +++ b/malloc/memusage.sh @@ -77,6 +77,15 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. exit 0 } +# These variables are local +buffer= +data= +memusagestat_args= +notimer= +png= +progname= +tracemmap= + # Process arguments. But stop as soon as the program name is found. while test $# -gt 0; do case "$1" in @@ -213,15 +222,8 @@ datafile= if test -n "$data"; then datafile="$data" elif test -n "$png"; then - datafile=$(mktemp ${TMPDIR:-/tmp}/memusage.XXXXXX 2> /dev/null) - if test $? -ne 0; then - # Lame, but if there is no `mktemp' program the user cannot expect more. - if test "$RANDOM" != "$RANDOM"; then - datafile=${TMPDIR:-/tmp}/memusage.$RANDOM - else - datafile=${TMPDIR:-/tmp}/memusage.$$ - fi - fi + datafile=$(mktemp -t memusage.XXXXXX) || exit + trap 'rm -f "$datafile"; exit 1' HUP INT QUIT TERM PIPE fi if test -n "$datafile"; then add_env="$add_env MEMUSAGE_OUTPUT=$datafile"