* elfcode.h (elf_write_relocs): Do nothing if there are no
authorDaniel Jacobowitz <drow@false.org>
Fri, 10 Jun 2005 20:22:23 +0000 (20:22 +0000)
committerDaniel Jacobowitz <drow@false.org>
Fri, 10 Jun 2005 20:22:23 +0000 (20:22 +0000)
relocations.

bfd/ChangeLog
bfd/elfcode.h

index 407820a..9124020 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-10  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elfcode.h (elf_write_relocs): Do nothing if there are no
+       relocations.
+
 2005-06-10  Alan Modra  <amodra@bigpond.net.au>
 
        * dwarf2.c (decode_line_info): Revert last change.  Instead set
index 6cb3ca2..ed0da32 100644 (file)
@@ -875,6 +875,12 @@ elf_write_relocs (bfd *abfd, asection *sec, void *data)
   if (sec->reloc_count == 0)
     return;
 
+  /* If we have opened an existing file for update, reloc_count may be
+     set even though we are not linking.  In that case we have nothing
+     to do.  */
+  if (sec->orelocation == NULL)
+    return;
+
   rela_hdr = &elf_section_data (sec)->rel_hdr;
 
   rela_hdr->sh_size = rela_hdr->sh_entsize * sec->reloc_count;