* lib/gdb.exp (build_id_debug_filename_get): Improve check for
authorMark Kettenis <kettenis@gnu.org>
Sun, 9 Sep 2007 22:25:31 +0000 (22:25 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sun, 9 Sep 2007 22:25:31 +0000 (22:25 +0000)
build-id.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/gdb.exp

index a6536acf9ff8275d76d8daabd5b0480c5859a46e..f999c0c64536cf0fac825c7b378d9b13a3fd39a9 100644 (file)
@@ -1,5 +1,8 @@
 2007-09-10  Mark Kettenis  <kettenis@gnu.org>
 
+       * lib/gdb.exp (build_id_debug_filename_get): Improve check for
+       build-id.
+
        * lib/gdb.exp (gdb_compile): OpenBSD doesn't need -dl, and doesn't
        know about $ORIGIN.  Calculate output dir from $dest instead of
        using ${objdir}/{$subdir}.
index 5629762a251b18d9f4aacbc6ee95024f68391759..48b62f45eb7974642f8fe7eab4f674f99dac28dd 100644 (file)
@@ -2491,7 +2491,14 @@ proc separate_debug_filename { exec } {
 # Return "" if no build-id found.
 proc build_id_debug_filename_get { exec } {
     set tmp "${exec}-tmp"
-    exec objcopy -j .note.gnu.build-id -O binary $exec $tmp
+    set objcopy_program [transform objcopy]
+
+    set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $exec $tmp" output]
+    verbose "result is $result"
+    verbose "output is $output"
+    if {$result == 1} {
+       return ""
+    }
     set fi [open $tmp]
     # Skip the NOTE header.
     read $fi 16