* elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
authorAlan Modra <amodra@gmail.com>
Mon, 12 Feb 2007 11:18:11 +0000 (11:18 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 12 Feb 2007 11:18:11 +0000 (11:18 +0000)
with a zero symbol index.

bfd/ChangeLog
bfd/elflink.c

index 5dcf47be3432e51c1f3bbd6a30053b8d9f04bcf7..605c795e15777e3b3a5e6b2d2a01445d25fac267 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
+       with a zero symbol index.
+
 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
 
        * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
index 0b4064189fbe42fb80787ac588b1384f05686038..d76faae7e95b5f7981f935f78cba80dc6ad74228 100644 (file)
@@ -6769,7 +6769,10 @@ evaluate_complex_relocation_symbols (bfd * input_bfd,
          index = ELF32_R_SYM (rel->r_info);
          if (bed->s->arch_size == 64)
            index >>= 24;
+
+         if (index == STN_UNDEF)
+           continue;
+
          if (index < locsymcount)
            {
              /* The symbol is local.  */