* Makefile.in (install-only): Install gdb-add-index.
	* gdb-add-index.sh: New file.
gdb/doc
	* gdb.texinfo (Index Files): Mention gdb-add-index.
This commit is contained in:
Tom Tromey 2010-07-30 20:46:34 +00:00
parent c98ee71b7c
commit c2bbed2a5a
5 changed files with 57 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2010-07-30 Tom Tromey <tromey@redhat.com>
* Makefile.in (install-only): Install gdb-add-index.
* gdb-add-index.sh: New file.
2010-07-31 Renquan Cheng <crq@gcc.gnu.org> 2010-07-31 Renquan Cheng <crq@gcc.gnu.org>
* MAINTAINERS: Add myself for write after approval privileges. * MAINTAINERS: Add myself for write after approval privileges.

View file

@ -1018,7 +1018,16 @@ install-only: $(CONFIG_INSTALL) xml-syscall-install
$(SHELL) $(srcdir)/../mkinstalldirs \ $(SHELL) $(srcdir)/../mkinstalldirs \
$(DESTDIR)$(man1dir) ; \ $(DESTDIR)$(man1dir) ; \
$(INSTALL_DATA) $(srcdir)/gdb.1 \ $(INSTALL_DATA) $(srcdir)/gdb.1 \
$(DESTDIR)$(man1dir)/$$transformed_name.1 $(DESTDIR)$(man1dir)/$$transformed_name.1; \
transformed_name=`t='$(program_transform_name)'; \
echo gdb-add-index | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \
transformed_name=gdb-add-index ; \
else \
true ; \
fi ; \
$(INSTALL_PROGRAM) $(srcdir)/gdb-add-index.sh \
$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT)
@$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
.PHONY: install-tui .PHONY: install-tui
install-tui: install-tui:

View file

@ -1,3 +1,7 @@
2010-07-30 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Index Files): Mention gdb-add-index.
2010-07-30 Hui Zhu <teawater@gmail.com> 2010-07-30 Hui Zhu <teawater@gmail.com>
* gdb.texinfo (Inferiors and Programs): Update the introduce of * gdb.texinfo (Inferiors and Programs): Update the introduce of

View file

@ -15244,6 +15244,15 @@ There are currently some limitation on indices. They only work when
for DWARF debugging information, not stabs. And, they do not for DWARF debugging information, not stabs. And, they do not
currently work for programs using Ada. currently work for programs using Ada.
@pindex gdb-add-index
@value{GDBN} comes with a program, @command{gdb-add-index}, which can
be used to add the index to a symbol file. It takes the symbol file
as its only argument:
@smallexample
$ gdb-add-index symfile
@end smallexample
@node Symbol Errors @node Symbol Errors
@section Errors Reading Symbol Files @section Errors Reading Symbol Files

29
gdb/gdb-add-index.sh Executable file
View file

@ -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