From: H.J. Lu Date: Tue, 18 Jan 2011 18:55:59 +0000 (+0000) Subject: Don't compress empty debug sections. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=24a2d04da085e1e795c6e271ae43235383b53a04;p=binutils-gdb.git Don't compress empty debug sections. gas/ 2011-01-18 H.J. Lu PR gas/12409 * write.c (compress_debug): Return if section size is 0. gas/testsuite/ 2011-01-18 H.J. Lu PR gas/12409 * gas/elf/dwarf2-4.d: New. * gas/elf/dwarf2-4.s: Likewise. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 30d7609c722..bb47e720f82 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2011-01-18 H.J. Lu + + PR gas/12409 + * write.c (compress_debug): Return if section size is 0. + 2011-01-18 Mingfeng Wu * config/tc-arm.c (arm_cpus): Add Faraday ARMv5TE compatible diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 26a1addbbc2..2fc1b36bc74 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2011-01-18 H.J. Lu + + PR gas/12409 + * gas/elf/dwarf2-4.d: New. + * gas/elf/dwarf2-4.s: Likewise. + + * gas/elf/elf.exp: Run dwarf2-4. + 2011-01-18 H.J. Lu * gas/i386/intel.d: Updated. diff --git a/gas/testsuite/gas/elf/dwarf2-4.d b/gas/testsuite/gas/elf/dwarf2-4.d new file mode 100644 index 00000000000..39e0326bc68 --- /dev/null +++ b/gas/testsuite/gas/elf/dwarf2-4.d @@ -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. diff --git a/gas/testsuite/gas/elf/dwarf2-4.s b/gas/testsuite/gas/elf/dwarf2-4.s new file mode 100644 index 00000000000..eeb4aceaa42 --- /dev/null +++ b/gas/testsuite/gas/elf/dwarf2-4.s @@ -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 diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index 7f86266e11c..38281512472 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 018800e0750..aabb96d236c 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;