diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf-m10300.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bd3fc78..9b9cbac 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-02-12 Alexandre Oliva <aoliva@redhat.com> + + * elf-m10300.c (mn10300_elf_relax_section): Skip section before + loading its contents if there's nothing to do in it. + 2002-02-12 Alan Modra <amodra@bigpond.net.au> * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index fb94c51..e006ac2 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -1,5 +1,5 @@ /* Matsushita 10300 specific support for 32-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -874,6 +874,12 @@ mn10300_elf_relax_section (abfd, sec, link_info, again) const char *sym_name; char *new_name; + /* If there's nothing to do in this section, skip it. */ + if (! (((section->flags & SEC_RELOC) != 0 + && section->reloc_count != 0) + || (section->flags & SEC_CODE) != 0)) + continue; + /* Get cached copy of section contents if it exists. */ if (elf_section_data (section)->this_hdr.contents != NULL) contents = elf_section_data (section)->this_hdr.contents; |