diff options
Diffstat (limited to 'bfd/elf32-sh.c')
-rw-r--r-- | bfd/elf32-sh.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 8a3b80aaf1a..b62881ce537 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -4354,7 +4354,8 @@ sh_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, if (s == htab->splt || s == htab->sgot - || s == htab->sgotplt) + || s == htab->sgotplt + || s == htab->sdynbss) { /* Strip this section if we don't need it; see the comment below. */ @@ -4390,6 +4391,9 @@ sh_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED, continue; } + if ((s->flags & SEC_HAS_CONTENTS) == 0) + continue; + /* Allocate memory for the section contents. We use bfd_zalloc here in case unused entries are not reclaimed before the section's contents are written out. This should not happen, |