Make default compression gABI compliant

All programs in binutils+gdb git repo now support gABI compression
with the SHF_COMPRESSED bit.  This patch makes the zlib-gabi option
as compression default for gas, gold, ld and objcopy, instead of the
zlib-gnu option whose outputs are incompatible with gABI.

binutils/

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

binutils/testsuite/

	* binutils-all/compress.exp: Update.

gas/

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

gold/

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

ld/

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

ld/testsuite/

	* ld-elf/zlibbegin.rS: Updated to .debug_.* with the
	SHF_COMPRESSED bit.
	* ld-elf/zlibnormal.rS: Likewise.
This commit is contained in:
H.J. Lu 2015-07-14 10:25:52 -07:00
parent 22121df01f
commit 19a7fe52ae
18 changed files with 93 additions and 41 deletions

View file

@ -1844,10 +1844,9 @@ It can also be a useful way of reducing the size of a @option{--just-symbols}
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
@ -1857,10 +1856,13 @@ For ELF files, these options control how DWARF debug sections are
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