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

@ -1,3 +1,10 @@
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.

View File

@ -2223,7 +2223,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
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)

View File

@ -2228,11 +2228,12 @@ hash tables. The default is @code{sysv}.
@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

View File

@ -1,3 +1,9 @@
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.

View File

@ -1,3 +1,3 @@
#...
+\[[ 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

View File

@ -1,3 +1,3 @@
#...
+\[[ 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