aboutsummaryrefslogtreecommitdiff
path: root/gold
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 /gold
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 'gold')
-rw-r--r--gold/ChangeLog10
-rw-r--r--gold/compressed_output.cc7
-rw-r--r--gold/testsuite/Makefile.am4
-rw-r--r--gold/testsuite/Makefile.in4
4 files changed, 17 insertions, 8 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index a8c2507..309b4753 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,13 @@
+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
diff --git a/gold/compressed_output.cc b/gold/compressed_output.cc
index 2630330..77679fe 100644
--- a/gold/compressed_output.cc
+++ b/gold/compressed_output.cc
@@ -233,11 +233,10 @@ Output_compressed_section::set_final_data_size()
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)
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index d2f4668..41186c6 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -1353,9 +1353,9 @@ flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
$(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.
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index 1c336c6..563f598 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -5618,9 +5618,9 @@ uninstall-am:
@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.