aboutsummaryrefslogtreecommitdiff
path: root/gas
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 /gas
parent22121df01ff9247b3cb272f52632848f9631f80f (diff)
downloadgdb-19a7fe52ae3d0971e67a134bcb1648899e21ae1c.zip
gdb-19a7fe52ae3d0971e67a134bcb1648899e21ae1c.tar.gz
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 'gas')
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/as.c4
-rw-r--r--gas/doc/as.texinfo17
3 files changed, 20 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5374c5e..8d84bab 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+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
diff --git a/gas/as.c b/gas/as.c
index b8a5be4..6fb28e9 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -665,7 +665,7 @@ This program has absolutely no warranty.\n"));
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)
@@ -679,7 +679,7 @@ This program has absolutely no warranty.\n"));
#endif
}
else
- flag_compress_debug = COMPRESS_DEBUG;
+ flag_compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
break;
case OPTION_NOCOMPRESS_DEBUG:
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 950bf28..70f1b96 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -625,10 +625,10 @@ Begin in alternate macro mode.
@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
@@ -640,10 +640,13 @@ 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}. Note if compression would make a given section
+@emph{larger} then it is not compressed nor renamed.
+
@end ifset
@item --nocompress-debug-sections