This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Doug> IWBN to add to the comment about exiting without creating an index not
Doug> being an error, e.g. provide an example.
Doug> Is it because the file could be stripped?  [If it is stripped, should
Doug> the script fail or pass?  Dunno.]

I don't want to do this, because the reasons may change.

Doug> IWBN to put "${file}.gdb-index" in its own variable so that there's
Doug> just one instance.

Ok.

Doug> LGTM with the above nits.

I don't know what LGTM means.

How about this?

Tom

2010-08-05  Tom Tromey  <tromey@redhat.com>

	* gdb-add-index.sh: Add error checking.

Index: gdb-add-index.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdb-add-index.sh,v
retrieving revision 1.1
diff -u -r1.1 gdb-add-index.sh
--- gdb-add-index.sh	30 Jul 2010 20:46:34 -0000	1.1
+++ gdb-add-index.sh	6 Aug 2010 17:39:20 -0000
@@ -16,14 +16,29 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+if test $# -ne 1; then
+   echo "Usage: gdb-add-index FILE" 1>&2
+   exit 1
+fi
+
 file="$1"
 dir="${file%/*}"
+index="${file}.gdb-index"
 
-gdb --batch-silent -ex "file $file" -ex "save gdb-index $dir"
+gdb --batch-silent -ex "file $file" -ex "save gdb-index $dir" || {
+   status=$?
+   # Just in case.
+   rm -f "$index"
+   exit $status
+}
 
-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"
+# In some situation gdb can exit without creating an index.  This is
+# not an error.
+status=0
+if test -f "${index}"; then
+   objcopy --add-section .gdb_index="${index}" --set-section-flags .gdb_index=readonly "$file" "$file"
+   status=$?
+   rm -f "${index}"
 fi
 
-exit 0
+exit $status


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]