Re: [0/4] RFC: add DWARF index support

Doug Evans
2010-08-02T18:10:15Z

On Fri, Jul 30, 2010 at 1:46 PM, Tom Tromey <tromey@redhat.com> wrote:
> [...]
> Index: gdb-add-index.sh
> ===================================================================
> RCS file: gdb-add-index.sh
> diff -N gdb-add-index.sh
> --- /dev/null   1 Jan 1970 00:00:00 -0000
> +++ gdb-add-index.sh    30 Jul 2010 20:45:30 -0000
> @@ -0,0 +1,29 @@
> +#! /bin/sh
> +
> +# Add a .gdb_index section to a file.
> +
> +# Copyright (C) 2010 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
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +file="$1"
> +dir="${file%/*}"
> +
> +gdb --batch-silent -ex "file $file" -ex "save gdb-index $dir"
> +
> +if test -f "${file}.gdb-index"; then
> +   objcopy --add-section .gdb_index="${file}.gdb-index" --set-section-flags .gdb_index=readonly "$file" "$file"
> +   rm -f "${file}.gdb-index"
> +fi
> +
> +exit 0

Should this script be more robust w.r.t. errors?

e.g.
What happens if gdb exits with a non-zero exit code but still happens
to leave a .gdb-index for the `if' to find?
What happens if objcopy exits with a non-zero exit code?
What happens if the script is invoked with none or too many arguments?