Xfail the compressed debug sections

There is no need to generate compressed debug section if compressed
section size is the same as before compression.  We should xfail the
compressed debug section test if there are no compressed sections

binutils/testsuite/

	* binutils-all/compress.exp (compression_used): New.
	Xfail test if compression didn't make the section smaller.

gas/

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.
This commit is contained in:
H.J. Lu 2015-04-05 08:11:11 -07:00
parent 20cc975360
commit 317974f683
4 changed files with 23 additions and 1 deletions

View File

@ -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.

View File

@ -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 {

View File

@ -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

View File

@ -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);