This is the mail archive of the mailing list for the Archer 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: change for gdb index

Roland> So one approach would be to replace the debugedit invocation
Roland> with the use of another shell script.

Here is a patch to just do the work directly in  This
seemed simpler to me, but if you and Panu want a new script, I will do

It would perhaps have been cleaner to make the gdb command simply
rewrite the objfile directly.  However, this turns out to be relatively
hairy with BFD.  So again, for simplicity I just stuck with invoking
objcopy directly.  I also verified that objcopy will preserve hard


---	2010-06-29 16:19:42.000000000 -0600
+++	2010-07-08 09:36:03.000000000 -0600
@@ -96,6 +96,15 @@
   chmod 444 "$1" || exit
+# Create a .gdb-index file for $1.
+  local f="$1"
+  local d="${f%/*}"
+  # We don't care if gdb gives an error.
+  gdb --batch-silent -ex "file $f" -ex "maintenance save-gdb-index $d" > /dev/null 2>&1
 # Make a relative symlink to $1 called $3$2
 shopt -s extglob
@@ -207,6 +216,12 @@
     $strict && exit 2
+  make_gdb_index "$f"
+  if [ -f "${f}.gdb-index" ]; then
+    objcopy --add-section .gdb_index="${f}.gdb-index" --set-section-flags .gdb_index=readonly "$f" "$f"
+    rm -f "${f}.gdb-index"
+  fi
   # A binary already copied into /usr/lib/debug doesn't get stripped,
   # just has its file names collected and adjusted.
   case "$dn" in

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