Patch: fix gdb_gcore.sh failure in ash/dash
Daniel Jacobowitz
drow@false.org
Mon Sep 26 01:52:00 GMT 2005
On Sat, Sep 17, 2005 at 06:26:49PM -0400, Daniel Jacobowitz wrote:
> 2005-09-17 Daniel Jacobowitz <dan@codesourcery.com>
>
> * gdb_gcore.sh: Use a temporary file. Use gdb from $PATH.
Did you have any comments on the revised patch, Mark? Otherwise I'll
check this in.
> Index: gdb_gcore.sh
> ===================================================================
> RCS file: /big/fsf/rsync/src/src/gdb/gdb_gcore.sh,v
> retrieving revision 1.1
> diff -u -p -r1.1 gdb_gcore.sh
> --- gdb_gcore.sh 17 Apr 2003 20:33:09 -0000 1.1
> +++ gdb_gcore.sh 17 Sep 2005 22:26:10 -0000
> @@ -1,6 +1,6 @@
> #!/bin/sh
>
> -# Copyright 2003 Free Software Foundation, Inc.
> +# Copyright 2003, 2005 Free Software Foundation, Inc.
>
> # This program is free software; you can redistribute it and/or modify
> # it under the terms of the GNU General Public License as published by
> @@ -16,9 +16,6 @@
> # along with this program; if not, write to the Free Software
> # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
>
> -# Please email any bugs, comments, and/or additions to this file to:
> -# bug-gdb@prep.ai.mit.edu
> -
> #
> # gcore.sh
> # Script to generate a core file of a running program.
> @@ -48,6 +45,17 @@ then
> shift; shift
> fi
>
> +# Create a temporary file. Use mktemp if available, but cope if it is not.
> +tmpfile=`mktemp ${name}.XXXXXX 2>/dev/null` || {
> + tmpfile=${name}.$$
> + if test -e $tmpfile; then
> + echo "Could not create temporary file $tmpfile"
> + exit 1
> + fi
> + touch $tmpfile
> +}
> +trap "rm -f $tmpfile" EXIT
> +
> # Initialise return code.
> rc=0
>
> @@ -55,17 +63,15 @@ rc=0
> for pid in $*
> do
> # Write gdb script for pid $pid.
> -
> - # Avoid need for temporary files by using funky "here
> - # document" feature of sh.
> -
> - /usr/bin/gdb > /dev/null << EOF
> - attach $pid
> - gcore $name.$pid
> - detach
> - quit
> + cat >>$tmpfile <<EOF
> +attach $pid
> +gcore $name.$pid
> +detach
> +quit
> EOF
>
> + gdb -x $tmpfile -batch
> +
> if [ -r $name.$pid ] ; then
> rc=0
> else
> @@ -78,4 +84,3 @@ EOF
> done
>
> exit $rc
> -
>
--
Daniel Jacobowitz
CodeSourcery, LLC
More information about the Gdb-patches
mailing list