bfd/
[deliverable/binutils-gdb.git] / bfd / elf32-ppc.c
index c6f01a8ff172ef3d32a559c14a663cc969b99e1e..0605da64f943a87e0a59f77b2e539a5a80bb3d3a 100644 (file)
@@ -2759,15 +2759,6 @@ ppc_elf_additional_program_headers (bfd *abfd)
 
   return ret;
 }
-
-/* Modify the segment map if needed.  */
-
-static bfd_boolean
-ppc_elf_modify_segment_map (bfd *abfd ATTRIBUTE_UNUSED,
-                           struct bfd_link_info *info ATTRIBUTE_UNUSED)
-{
-  return TRUE;
-}
 \f
 /* The powerpc .got has a blrl instruction in it.  Mark it executable.  */
 
@@ -2874,7 +2865,7 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
   htab = ppc_elf_hash_table (info);
   BFD_ASSERT (htab->elf.dynobj != NULL
              && (h->needs_plt
-                 || h->weakdef != NULL
+                 || h->u.weakdef != NULL
                  || (h->def_dynamic
                      && h->ref_regular
                      && !h->def_regular)));
@@ -2911,14 +2902,14 @@ ppc_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
   /* If this is a weak symbol, and there is a real definition, the
      processor independent code will have arranged for us to see the
      real definition first, and we can just use the same value.  */
-  if (h->weakdef != NULL)
+  if (h->u.weakdef != NULL)
     {
-      BFD_ASSERT (h->weakdef->root.type == bfd_link_hash_defined
-                 || h->weakdef->root.type == bfd_link_hash_defweak);
-      h->root.u.def.section = h->weakdef->root.u.def.section;
-      h->root.u.def.value = h->weakdef->root.u.def.value;
+      BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
+                 || h->u.weakdef->root.type == bfd_link_hash_defweak);
+      h->root.u.def.section = h->u.weakdef->root.u.def.section;
+      h->root.u.def.value = h->u.weakdef->root.u.def.value;
       if (ELIMINATE_COPY_RELOCS)
-       h->non_got_ref = h->weakdef->non_got_ref;
+       h->non_got_ref = h->u.weakdef->non_got_ref;
       return TRUE;
     }
 
@@ -5482,7 +5473,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
          BFD_ASSERT (sec != NULL);
          BFD_ASSERT (bfd_is_und_section (sec)
                      || strcmp (bfd_get_section_name (abfd, sec), ".got") == 0
-                     || strcmp (bfd_get_section_name (abfd, sec), ".cgot") == 0)
+                     || strcmp (bfd_get_section_name (abfd, sec), ".cgot") == 0);
 
            addend -= sec->output_section->vma + sec->output_offset + 0x8000;
          break;
@@ -5755,6 +5746,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
                }
 
              if (! (*info->callbacks->reloc_overflow) (info,
+                                                       (h ? &h->root : NULL),
                                                        sym_name,
                                                        howto->name,
                                                        rel->r_addend,
@@ -6223,7 +6215,6 @@ static struct bfd_elf_special_section const ppc_elf_special_sections[]=
 #define elf_backend_finish_dynamic_sections    ppc_elf_finish_dynamic_sections
 #define elf_backend_fake_sections              ppc_elf_fake_sections
 #define elf_backend_additional_program_headers ppc_elf_additional_program_headers
-#define elf_backend_modify_segment_map         ppc_elf_modify_segment_map
 #define elf_backend_grok_prstatus              ppc_elf_grok_prstatus
 #define elf_backend_grok_psinfo                        ppc_elf_grok_psinfo
 #define elf_backend_reloc_type_class           ppc_elf_reloc_type_class
This page took 0.023868 seconds and 4 git commands to generate.