PowerPC fix for ifunc broken by d1eca1e4
[deliverable/binutils-gdb.git] / bfd / elf32-m68hc11.c
index 0fee7dff05eb361da166cf09890b65651c605d4c..2101bdf827fd564441854b8b62ff2703b062550e 100644 (file)
@@ -1,6 +1,5 @@
 /* Motorola 68HC11-specific support for 32-bit ELF
-   Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1999-2014 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
    (Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
 
@@ -409,6 +408,8 @@ m68hc11_elf_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
   info = (struct bfd_link_info *) in_arg;
 
   htab = m68hc11_elf_hash_table (info);
+  if (htab == NULL)
+    return FALSE;
 
   stub_sec = stub_entry->stub_sec;
 
@@ -674,7 +675,6 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
                            struct bfd_link_info *link_info, bfd_boolean *again)
 {
   Elf_Internal_Shdr *symtab_hdr;
-  Elf_Internal_Shdr *shndx_hdr;
   Elf_Internal_Rela *internal_relocs;
   Elf_Internal_Rela *free_relocs = NULL;
   Elf_Internal_Rela *irel, *irelend;
@@ -699,11 +699,10 @@ m68hc11_elf_relax_section (bfd *abfd, asection *sec,
     return TRUE;
 
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
-  shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
 
   /* Get a copy of the native relocations.  */
   internal_relocs = (_bfd_elf_link_read_relocs
-                    (abfd, sec, (PTR) NULL, (Elf_Internal_Rela *) NULL,
+                    (abfd, sec, NULL, (Elf_Internal_Rela *) NULL,
                      link_info->keep_memory));
   if (internal_relocs == NULL)
     goto error_return;
@@ -1285,10 +1284,11 @@ static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
 };
 \f
 #define ELF_ARCH               bfd_arch_m68hc11
+#define ELF_TARGET_ID          M68HC11_ELF_DATA
 #define ELF_MACHINE_CODE       EM_68HC11
 #define ELF_MAXPAGESIZE                0x1000
 
-#define TARGET_BIG_SYM          bfd_elf32_m68hc11_vec
+#define TARGET_BIG_SYM          m68hc11_elf32_vec
 #define TARGET_BIG_NAME                "elf32-m68hc11"
 
 #define elf_info_to_howto      0
@@ -1301,11 +1301,10 @@ static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
 #define elf_backend_final_write_processing     0
 #define elf_backend_can_gc_sections            1
 #define elf_backend_special_sections  elf32_m68hc11_special_sections
+#define elf_backend_merge_symbol_attribute elf32_m68hc11_merge_symbol_attribute
 
 #define bfd_elf32_bfd_link_hash_table_create \
                                 m68hc11_elf_bfd_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
-                               m68hc11_elf_bfd_link_hash_table_free
 #define bfd_elf32_bfd_merge_private_bfd_data \
                                        _bfd_m68hc11_elf_merge_private_bfd_data
 #define bfd_elf32_bfd_set_private_flags        _bfd_m68hc11_elf_set_private_flags
This page took 0.0247 seconds and 4 git commands to generate.