gdb/testsuite/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 8 Jan 2010 22:59:47 +0000 (22:59 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Fri, 8 Jan 2010 22:59:47 +0000 (22:59 +0000)
Workaround PR binutils/10802.
* lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes
(twice).

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

index 9c36efb..bf2c0ff 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Workaround PR binutils/10802.
+       * lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes
+       (twice).
+
 2010-01-08  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.cp/gdb2495.exp: Skip if gdb,nosignals.
index fcaaf3c..2604b9f 100644 (file)
@@ -2845,6 +2845,11 @@ proc gdb_gnu_strip_debug { dest args } {
       return 1
     }
 
+    # Workaround PR binutils/10802:
+    # Preserve the 'x' bit also for PIEs (Position Independent Executables).
+    set perm [file attributes ${dest} -permissions]
+    file attributes ${stripped_file} -permissions $perm
+
     # Get rid of everything but the debug info, and store result in debug_file
     # This will be in the .debug subdirectory, see above.
     set result [catch "exec $strip_to_file_program --only-keep-debug ${dest} -o ${debug_file}" output]
@@ -2881,7 +2886,12 @@ proc gdb_gnu_strip_debug { dest args } {
       return 1
     }
 
-   return 0
+    # Workaround PR binutils/10802:
+    # Preserve the 'x' bit also for PIEs (Position Independent Executables).
+    set perm [file attributes ${stripped_file} -permissions]
+    file attributes ${dest} -permissions $perm
+
+    return 0
 }
 
 # Test the output of GDB_COMMAND matches the pattern obtained