diff options
-rw-r--r-- | binutils/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/compress.exp | 12 | ||||
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/write.c | 2 |
4 files changed, 23 insertions, 1 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 827e836..ff77d51 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-04-05 H.J. Lu <hongjiu.lu@intel.com> + + * binutils-all/compress.exp (compression_used): New. + Xfail test if compression didn't make the section smaller. + 2015-04-04 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/compress.exp (testfile): Remove suffix. diff --git a/binutils/testsuite/binutils-all/compress.exp b/binutils/testsuite/binutils-all/compress.exp index 02111f1..f170aea 100644 --- a/binutils/testsuite/binutils-all/compress.exp +++ b/binutils/testsuite/binutils-all/compress.exp @@ -39,6 +39,15 @@ if { ![binutils_assemble_flags $srcdir/$subdir/dw2-1.S ${compressedfile}.o --com return } +set got [remote_exec host "cmp ${testfile}.o ${compressedfile}.o" "" "/dev/null"] +# Use it to set up xfail. +set exec_output [lindex $got 1] +if [string match "" $exec_output] then { + set compression_used "" +} else { + set compression_used "yes" +} + if { ![binutils_assemble_flags $srcdir/$subdir/dw2-2.S ${compressedfile2}.o --compress-debug-sections] } then { unsupported "compressed debug sections" return @@ -125,6 +134,8 @@ if ![string match "" $got] then { } } +# Xfail this test if there are no compressed sections. +setup_xfail "$compression_used$target_triplet" set testname "objcopy compress debug sections in archive" set got [binutils_run $OBJCOPY "--compress-debug-sections ${copyfile}.a ${compressedcopyfile}.a"] if ![string match "" $got] then { @@ -138,6 +149,7 @@ if ![string match "" $got] then { send_log "\n" } + setup_xfail "$compression_used$target_triplet" if { [regexp_diff tmpdir/libdw2-compressed.out $srcdir/$subdir/libdw2-compressed.out] } then { fail "$testname" } else { diff --git a/gas/ChangeLog b/gas/ChangeLog index a2383a9..f2a1bf2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-04-05 H.J. Lu <hongjiu.lu@intel.com> + + * write.c (compress_debug): Don't write the zlib header if + compressed section size is the same as before compression. + 2015-04-02 Nick Clifton <nickc@redhat.com> PR gas/18189 diff --git a/gas/write.c b/gas/write.c index 6a781ea..248255b 100644 --- a/gas/write.c +++ b/gas/write.c @@ -1519,7 +1519,7 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) /* PR binutils/18087: If compression didn't make the section smaller, just keep it uncompressed. */ - if (compressed_size > uncompressed_size) + if (compressed_size >= uncompressed_size) return; memcpy (header, "ZLIB", 4); |