+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * objcopy.c (copy_file): Set BFD_COMPRESS_GABI if not
+ zlib-gnu.
+ * doc/binutils.texi: Change --compress-debug-sections and
+ --compress-debug-sections=zlib to zlib-gabi.
+
2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/18656
linker input file.
@item --compress-debug-sections
-Compress DWARF debug sections using zlib. The debug sections are
-renamed to begin with @samp{.zdebug} instead of @samp{.debug}. Note -
-if compression would actually make a section @emph{larger} then it is
-not compressed or renamed.
+Compress DWARF debug sections using zlib with SHF_COMPRESSED from the
+ELF ABI. Note - if compression would actually make a section
+@emph{larger}, then it is not compressed.
@item --compress-debug-sections=none
@itemx --compress-debug-sections=zlib
compressed. @option{--compress-debug-sections=none} is equivalent
to @option{--nocompress-debug-sections}.
@option{--compress-debug-sections=zlib} and
-@option{--compress-debug-sections=zlib-gnu} are equivalent to
+@option{--compress-debug-sections=zlib-gabi} are equivalent to
@option{--compress-debug-sections}.
-@option{--compress-debug-sections=zlib-gabi} compresses
-DWARF debug sections with SHF_COMPRESSED from the ELF ABI.
+@option{--compress-debug-sections=zlib-gnu} compresses DWARF debug
+sections using zlib. The debug sections are renamed to begin with
+@samp{.zdebug} instead of @samp{.debug}. Note - if compression would
+actually make a section @emph{larger}, then it is not compressed nor
+renamed.
@item --decompress-debug-sections
Decompress DWARF debug sections using zlib. The original section
ibfd->flags |= BFD_COMPRESS;
/* Don't check if input is ELF here since this information is
only available after bfd_check_format_matches is called. */
- if (do_debug_sections == compress_gabi_zlib)
+ if (do_debug_sections != compress_gnu_zlib)
ibfd->flags |= BFD_COMPRESS_GABI;
break;
case decompress:
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * binutils-all/compress.exp: Update.
+
2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/18656
return
}
-set got [remote_exec host "cmp ${testfile}.o ${compressedfile}.o"]
+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-1.S ${compressedfile}gnu.o --compress-debug-sections=zlib-gnu] } then {
+ unsupported "compressed debug sections with zlib-gnu"
+ return
+}
+
+set got [remote_exec host "cmp ${testfile}.o ${compressedfile}gnu.o"]
# Use it to set up xfail.
set exec_output [lindex $got 1]
if [string match "" $exec_output] 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"]
+set testname "objcopy compress debug sections in archive with zlib-gnu"
+set got [binutils_run $OBJCOPY "--compress-debug-sections=zlib-gnu ${copyfile}.a ${compressedcopyfile}.a"]
if ![string match "" $got] then {
fail "objcopy ($testname)"
} else {
return
}
-set src1 ${compressedfile}gnu.o
+set src1 ${compressedfile}gabi.o
set src2 ${compressedfile}.o
set status [remote_exec build cmp "${src1} ${src2}"]
set exec_output [lindex $status 1]
set exec_output [prune_warnings $exec_output]
if ![string match "" $exec_output] then {
- fail "compressed debug sections with zlib-gnu"
+ fail "compressed debug sections with zlib-gabi"
return
}
return
}
-set src1 ${compressedfile2}gnu.o
+set src1 ${compressedfile2}gabi.o
set src2 ${compressedfile2}.o
set status [remote_exec build cmp "${src1} ${src2}"]
set exec_output [lindex $status 1]
set exec_output [prune_warnings $exec_output]
if ![string match "" $exec_output] then {
- fail "compressed debug sections with zlib-gnu"
+ fail "compressed debug sections with zlib-gabi"
return
}
return
}
-set src1 ${compressedfile3}gnu.o
+set src1 ${compressedfile3}gabi.o
set src2 ${compressedfile3}.o
set status [remote_exec build cmp "${src1} ${src2}"]
set exec_output [lindex $status 1]
set exec_output [prune_warnings $exec_output]
if ![string match "" $exec_output] then {
- fail "compressed debug sections with zlib-gnu"
+ fail "compressed debug sections with zlib-gabi"
return
}
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * as.c (parse_args): Make --compress-debug-sections and
+ --compress-debug-sections=zlib the same as
+ --compress-debug-sections=zlib-gabi.
+ * doc/as.texinfo: Change --compress-debug-sections and
+ --compress-debug-sections=zlib to zlib-gabi.
+
2015-07-09 Catherine Moore <clm@codesourcery.com>
* config/tc-mips.c (check_fpabi): Handle
if (strcasecmp (optarg, "none") == 0)
flag_compress_debug = COMPRESS_DEBUG_NONE;
else if (strcasecmp (optarg, "zlib") == 0)
- flag_compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
+ flag_compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
else if (strcasecmp (optarg, "zlib-gnu") == 0)
flag_compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gabi") == 0)
#endif
}
else
- flag_compress_debug = COMPRESS_DEBUG;
+ flag_compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
break;
case OPTION_NOCOMPRESS_DEBUG:
@end ifclear
@item --compress-debug-sections
-Compress DWARF debug sections using zlib. The debug sections are renamed
-to begin with @samp{.zdebug}, and the resulting object file may not be
-compatible with older linkers and object file utilities. Note if compression
-would make a given section @emph{larger} then it is not compressed or renamed.
+Compress DWARF debug sections using zlib with SHF_COMPRESSED from the
+ELF ABI. The resulting object file may not be compatible with older
+linkers and object file utilities. Note if compression would make a
+given section @emph{larger} then it is not compressed.
@ifset ELF
@cindex @samp{--compress-debug-sections=} option
@option{--compress-debug-sections=none} is equivalent to
@option{--nocompress-debug-sections}.
@option{--compress-debug-sections=zlib} and
-@option{--compress-debug-sections=zlib-gnu} are equivalent to
+@option{--compress-debug-sections=zlib-gabi} are equivalent to
@option{--compress-debug-sections}.
-@option{--compress-debug-sections=zlib-gabi} compresses
-DWARF debug sections with SHF_COMPRESSED from the ELF ABI.
+@option{--compress-debug-sections=zlib-gnu} compresses DWARF debug
+sections using zlib. The debug sections are renamed to begin with
+@samp{.zdebug}. Note if compression would make a given section
+@emph{larger} then it is not compressed nor renamed.
+
@end ifset
@item --nocompress-debug-sections
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * compressed_output.cc (Output_compressed_section::set_final_data_size):
+ Make --compress-debug-sections=zlib the same as
+ --compress-debug-sections=zlib-gabi.
+ * testsuite/Makefile.am (flagstest_compress_debug_sections.check):
+ Expect ".debug_.*" with the SHF_COMPRESSED bit, instead of
+ ".zdebug_".
+ * testsuite/Makefile.in: Regenerated.
+
2015-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR gold/18322
enum { none, gnu_zlib, gabi_zlib } compress;
int compression_header_size = 12;
const int size = parameters->target().get_size();
- if (strcmp(this->options_->compress_debug_sections(), "zlib") == 0)
+ if (strcmp(this->options_->compress_debug_sections(), "zlib-gnu") == 0)
compress = gnu_zlib;
- else if (strcmp(this->options_->compress_debug_sections(), "zlib-gnu") == 0)
- compress = gnu_zlib;
- else if (strcmp(this->options_->compress_debug_sections(), "zlib-gabi") == 0)
+ else if (strcmp(this->options_->compress_debug_sections(), "zlib-gabi") == 0
+ || strcmp(this->options_->compress_debug_sections(), "zlib") == 0)
{
compress = gabi_zlib;
if (size == 32)
$(TEST_READELF) -w $< | sed -e "s/.zdebug_/.debug_/" > $@.tmp
mv -f $@.tmp $@
-# Check there are compressed DWARF .zdebug_* sections.
+# Check there are compressed DWARF .debug_* sections.
flagstest_compress_debug_sections.check: flagstest_compress_debug_sections
- $(TEST_READELF) -SW $< | grep ".zdebug_" > $@.tmp
+ $(TEST_READELF) -SW $< | egrep ".debug_.* C *" > $@.tmp
mv -f $@.tmp $@
# Compare DWARF debug info.
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -w $< | sed -e "s/.zdebug_/.debug_/" > $@.tmp
@GCC_TRUE@@NATIVE_LINKER_TRUE@ mv -f $@.tmp $@
-# Check there are compressed DWARF .zdebug_* sections.
+# Check there are compressed DWARF .debug_* sections.
@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections.check: flagstest_compress_debug_sections
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SW $< | grep ".zdebug_" > $@.tmp
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -SW $< | egrep ".debug_.* C *" > $@.tmp
@GCC_TRUE@@NATIVE_LINKER_TRUE@ mv -f $@.tmp $@
# Compare DWARF debug info.
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Make
+ --compress-debug-sections=zlib the same as
+ --compress-debug-sections=zlib-gabi.
+ * ld.texinfo: Change --compress-debug-sections=zlib to zlib-gabi.
+
2015-07-14 Nick Clifton <nickc@redhat.com>
* ld.texinfo (Options): Add missing period after @xref.
if (strcasecmp (optarg, "none") == 0)
link_info.compress_debug = COMPRESS_DEBUG_NONE;
else if (strcasecmp (optarg, "zlib") == 0)
- link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
+ link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
else if (strcasecmp (optarg, "zlib-gnu") == 0)
link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gabi") == 0)
@itemx --compress-debug-sections=zlib-gabi
On ELF platforms , these options control how DWARF debug sections are
compressed using zlib. @option{--compress-debug-sections=none} doesn't
-compress DWARF debug sections. @option{--compress-debug-sections=zlib}
-and @option{--compress-debug-sections=zlib-gnu} compress DWARF debug
+compress DWARF debug sections.
+@option{--compress-debug-sections=zlib-gnu} compresses DWARF debug
sections and rename debug section names to begin with @samp{.zdebug}
-instead of @samp{.debug}. @option{--compress-debug-sections=zlib-gabi}
-compresses DWARF debug sections with SHF_COMPRESSED from the ELF ABI.
+instead of @samp{.debug}. @option{--compress-debug-sections=zlib}
+and @option{--compress-debug-sections=zlib-gabi}
+compress DWARF debug sections with SHF_COMPRESSED from the ELF ABI.
@kindex --reduce-memory-overheads
@item --reduce-memory-overheads
+2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/zlibbegin.rS: Updated to .debug_.* with the
+ SHF_COMPRESSED bit.
+ * ld-elf/zlibnormal.rS: Likewise.
+
2015-07-09 Catherine Moore <clm@codesourcery.com>
* ld-mips-elf/attr-gnu-4-08.d: Update expected output.
#...
- +\[[ 0-9]+\] .zdebug_.* +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +0 +0 +1
+ +\[[ 0-9]+\] .debug_.* +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1
#pass
#...
- +\[[ 0-9]+\] .zdebug_.* +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +0 +0 +1
+ +\[[ 0-9]+\] .debug_.* +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1
#pass