From: Jan Kratochvil Date: Fri, 8 Jan 2010 22:59:47 +0000 (+0000) Subject: gdb/testsuite/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d521f563333718f9dad11ab206d81989c9a8c1e8;p=binutils-gdb.git gdb/testsuite/ Workaround PR binutils/10802. * lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes (twice). --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9c36efb7d2d..bf2c0ff4f1c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2010-01-08 Jan Kratochvil + + Workaround PR binutils/10802. + * lib/gdb.exp (gdb_gnu_strip_debug): Preserve the file attributes + (twice). + 2010-01-08 Daniel Jacobowitz * gdb.cp/gdb2495.exp: Skip if gdb,nosignals. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index fcaaf3cd8b1..2604b9fb120 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