aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/testsuite/ChangeLog5
-rw-r--r--binutils/testsuite/binutils-all/compress.exp12
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/write.c2
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);