public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* PATCH: PR gas/12409: --compress-debug-sections doesn't work on empty DWARF sections
@ 2011-01-18 18:57 H.J. Lu
  2011-01-18 23:54 ` H.J. Lu
  2011-02-10  5:06 ` Alan Modra
  0 siblings, 2 replies; 7+ messages in thread
From: H.J. Lu @ 2011-01-18 18:57 UTC (permalink / raw)
  To: binutils; +Cc: Cary Coutant

Hi,

We shouldn't compress empty DWARF sections.  I checked in this patch as
an obvious fix.


H.J.
---
gas/

2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/12409
	* write.c (compress_debug): Return if section size is 0.

gas/testsuite/

2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/12409
	* gas/elf/dwarf2-4.d: New.
	* gas/elf/dwarf2-4.s: Likewise.

diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index 7f86266..3828151 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -178,5 +178,6 @@ if { ([istarget "*-*-*elf*"]
     run_dump_test "dwarf2-1"
     run_dump_test "dwarf2-2"
     run_dump_test "dwarf2-3"
+    run_dump_test "dwarf2-4"
     run_dump_test "bad-section-flag"
 }
diff --git a/gas/write.c b/gas/write.c
index 018800e..aabb96d 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -1359,6 +1359,7 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
   flagword flags = bfd_get_section_flags (abfd, sec);
 
   if (seginfo == NULL
+      || sec->size == 0
       || (flags & (SEC_ALLOC | SEC_HAS_CONTENTS)) == SEC_ALLOC)
     return;
 
--- /dev/null	2011-01-10 09:06:52.507000001 -0800
+++ binutils/gas/testsuite/gas/elf/dwarf2-4.d	2011-01-18 10:45:40.219381036 -0800
@@ -0,0 +1,12 @@
+#as:  --compress-debug-sections
+#readelf: -w
+#name: DWARF2 4
+#not-target: ia64-*-*
+
+Contents of the .[z]?debug_abbrev section:
+
+
+
+Section '.debug_info' has no debugging data.
+
+Section '.debug_line' has no debugging data.
--- /dev/null	2011-01-10 09:06:52.507000001 -0800
+++ binutils/gas/testsuite/gas/elf/dwarf2-4.s	2011-01-18 10:43:23.829263858 -0800
@@ -0,0 +1,12 @@
+	.file	"__dn_comp.c"
+	.section	.debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+	.section	.debug_info,"",@progbits
+.Ldebug_info0:
+	.section	.debug_line,"",@progbits
+.Ldebug_line0:
+	.text
+.Ltext0:
+.Letext0:
+	.section	.debug_abbrev
+	.byte	0x0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-02-10  5:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-18 18:57 PATCH: PR gas/12409: --compress-debug-sections doesn't work on empty DWARF sections H.J. Lu
2011-01-18 23:54 ` H.J. Lu
2011-01-19  0:00   ` Cary Coutant
2011-01-19  0:09   ` Alan Modra
2011-01-19  0:13     ` H.J. Lu
2011-01-19  0:22       ` H.J. Lu
2011-02-10  5:06 ` Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).