diff options
Diffstat (limited to 'bfd/elflink.c')
-rw-r--r-- | bfd/elflink.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bfd/elflink.c b/bfd/elflink.c index 387c6fd..71da4c9 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -12961,7 +12961,9 @@ _bfd_elf_gc_mark_extra_sections (struct bfd_link_info *info, { if ((isec->flags & SEC_LINKER_CREATED) != 0) isec->gc_mark = 1; - else if (isec->gc_mark) + else if (isec->gc_mark + && (isec->flags & SEC_ALLOC) != 0 + && elf_section_type (isec) != SHT_NOTE) some_kept = TRUE; if (!debug_frag_seen @@ -12970,8 +12972,8 @@ _bfd_elf_gc_mark_extra_sections (struct bfd_link_info *info, debug_frag_seen = TRUE; } - /* If no section in this file will be kept, then we can - toss out the debug and special sections. */ + /* If no non-note alloc section in this file will be kept, then + we can toss out the debug and special sections. */ if (!some_kept) continue; |