diff options
author | Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | 2015-03-24 19:18:04 +0530 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-03-25 20:42:00 +1030 |
commit | d422d1c433073ba412287334a7ec3aa95e03c5e9 (patch) | |
tree | d2eef2aaca76a0e8f91d1ae04bae511d4380da08 /ld/testsuite/ld-gc/gc.exp | |
parent | b422eb499be2858969fb7723b4e4e08cab20fcdc (diff) | |
download | gdb-d422d1c433073ba412287334a7ec3aa95e03c5e9.zip gdb-d422d1c433073ba412287334a7ec3aa95e03c5e9.tar.gz gdb-d422d1c433073ba412287334a7ec3aa95e03c5e9.tar.bz2 |
Garbage collecting debug sections
I noticed that _bfd_elf_gc_mark_extra_sections attempts to unmark
related debug sections when it finds an unmarked code section.
When it finds .text.foo is unmarked, for example, it removes
.debug_line.text.foo as well (using the section name as a suffix
match check.
However, it bails out after finding one such section.
bfd/
* elflink.c (_bfd_elf_gc_mark_extra_sections): Don't break on
first matching debug section.
ld/testsuite/
* ld-gc/all-debug-sections.d: New file.
* ld-gc/all-debug-sections.s: Likewise.
* ld-gc/gc.exp: Execute new testcase.
Diffstat (limited to 'ld/testsuite/ld-gc/gc.exp')
-rw-r--r-- | ld/testsuite/ld-gc/gc.exp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index 5ff6485..58f3a2a 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -101,6 +101,9 @@ test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func" run_dump_test "noent" run_dump_test "abi-note" run_dump_test "start" +if { [is_elf_format] } then { + run_dump_test "all-debug-sections" +} if { [is_elf_format] && [check_shared_lib_support] } then { set gasopt "" |