* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
authorAlan Modra <amodra@gmail.com>
Wed, 22 May 2002 00:04:40 +0000 (00:04 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 22 May 2002 00:04:40 +0000 (00:04 +0000)
unresolved relocs.
(ppc64_elf_size_dynamic_sections): Check for splt NULL.

bfd/ChangeLog
bfd/elf64-ppc.c

index db0f945fff219e11404c0f6e7451a30d6b297169..e4e026b6cb189cff2b01bbfa3c6f13402993580b 100644 (file)
@@ -1,3 +1,9 @@
+2002-05-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+       unresolved relocs.
+       (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
 2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
 
        * bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
index 65ef4535ef925c6cb09535b9de3721ba2d954b1b..a304090685e1d2f4637f9989e4fb7ed52769860d 100644 (file)
@@ -3897,7 +3897,7 @@ ppc64_elf_size_dynamic_sections (output_bfd, info)
            return false;
        }
 
-      if (htab->splt->_raw_size != 0)
+      if (htab->splt != NULL && htab->splt->_raw_size != 0)
        {
          if (!add_dynamic_entry (DT_PLTGOT, 0)
              || !add_dynamic_entry (DT_PLTRELSZ, 0)
@@ -5716,12 +5716,15 @@ ppc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
          && !(info->shared
               && (input_section->flags & SEC_DEBUGGING) != 0
               && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
-       (*_bfd_error_handler)
-         (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
-          bfd_archive_filename (input_bfd),
-          bfd_get_section_name (input_bfd, input_section),
-          (long) rel->r_offset,
-          h->root.root.string);
+       {
+         (*_bfd_error_handler)
+           (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
+            bfd_archive_filename (input_bfd),
+            bfd_get_section_name (input_bfd, input_section),
+            (long) rel->r_offset,
+            h->root.root.string);
+         ret = false;
+       }
 
       r = _bfd_final_link_relocate (ppc64_elf_howto_table[(int) r_type],
                                    input_bfd,