aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/lib/gdb.exp12
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 9c36efb..bf2c0ff 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index fcaaf3c..2604b9f 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -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