This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [0/4] RFC: add DWARF index support
- From: Doug Evans <dje at google dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Mon, 2 Aug 2010 11:10:00 -0700
- Subject: Re: [0/4] RFC: add DWARF index support
- References: <m3aaqcqhgn.fsf@fleche.redhat.com> <m339vs36lj.fsf@fleche.redhat.com> <m3r5ik4s15.fsf@fleche.redhat.com>
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?