[patch 07/15] PIE: PIEs +x mode - PR binutils/10802 workaround
Jan Kratochvil
jan.kratochvil@redhat.com
Mon Nov 9 20:59:00 GMT 2009
Hi,
PIE testcase depends on that gdb_gnu_strip_debug-processed files are still
executable even for the PIE binaries. They were not.
It is a bug already fixed in CVS HEAD of binutils but the system building GDB
CVS HEAD may have older binutils installed so it is being workarounded.
Thanks,
Jan
gdb/testsuite/
Workaround PR binutils/10802.
* lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes
(twice).
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -2780,6 +2780,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]
@@ -2816,7 +2821,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
More information about the Gdb-patches
mailing list