aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-14 10:25:52 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-07-14 10:26:23 -0700
commit19a7fe52ae3d0971e67a134bcb1648899e21ae1c (patch)
tree08f4f3425d6bed3ed2996c8cdb5b7b93015b77c3 /ld
parent22121df01ff9247b3cb272f52632848f9631f80f (diff)
downloadfsf-binutils-gdb-19a7fe52ae3d0971e67a134bcb1648899e21ae1c.zip
fsf-binutils-gdb-19a7fe52ae3d0971e67a134bcb1648899e21ae1c.tar.gz
fsf-binutils-gdb-19a7fe52ae3d0971e67a134bcb1648899e21ae1c.tar.bz2
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.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emultempl/elf32.em2
-rw-r--r--ld/ld.texinfo9
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-elf/zlibbegin.rS2
-rw-r--r--ld/testsuite/ld-elf/zlibnormal.rS2
6 files changed, 21 insertions, 7 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3035fd7..3dd0a6f 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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.
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 14f7963..8a41347 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -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)
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index e7989b7..b48396d 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -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
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 410359c..c279cbd 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -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.
diff --git a/ld/testsuite/ld-elf/zlibbegin.rS b/ld/testsuite/ld-elf/zlibbegin.rS
index 54de24c..294fdb4 100644
--- a/ld/testsuite/ld-elf/zlibbegin.rS
+++ b/ld/testsuite/ld-elf/zlibbegin.rS
@@ -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
diff --git a/ld/testsuite/ld-elf/zlibnormal.rS b/ld/testsuite/ld-elf/zlibnormal.rS
index 54de24c..294fdb4 100644
--- a/ld/testsuite/ld-elf/zlibnormal.rS
+++ b/ld/testsuite/ld-elf/zlibnormal.rS
@@ -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