Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / elf32-xc16x.c
index 66fe33dcb5138b91993d86461235f17bf3151e0a..5b9c1fdbcfac7c74c0667ec76fcf1ac31a0782c3 100644 (file)
@@ -1,5 +1,5 @@
 /* Infineon XC16X-specific support for 16-bit ELF.
 /* Infineon XC16X-specific support for 16-bit ELF.
-   Copyright (C) 2006-2018 Free Software Foundation, Inc.
+   Copyright (C) 2006-2020 Free Software Foundation, Inc.
    Contributed by KPIT Cummins Infosystems
 
    This file is part of BFD, the Binary File Descriptor library.
    Contributed by KPIT Cummins Infosystems
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -220,6 +220,15 @@ xc16x_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
   return NULL;
 }
 
   return NULL;
 }
 
+static reloc_howto_type *
+elf32_xc16x_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED, unsigned r_type)
+{
+  if (r_type < ARRAY_SIZE (xc16x_elf_howto_table))
+    return & xc16x_elf_howto_table[r_type];
+
+  return NULL;
+}
+
 /* For a particular operand this function is
    called to finalise the type of relocation.  */
 
 /* For a particular operand this function is
    called to finalise the type of relocation.  */
 
@@ -388,7 +397,7 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
             or sections discarded by a linker script, we just want the
             section contents cleared.  Avoid any special processing.  */
          reloc_howto_type *howto;
             or sections discarded by a linker script, we just want the
             section contents cleared.  Avoid any special processing.  */
          reloc_howto_type *howto;
-         howto = xc16x_reloc_type_lookup (input_bfd, r_type);
+         howto = elf32_xc16x_rtype_to_howto (input_bfd, r_type);
          RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
                                           rel, 1, relend, howto, 0, contents);
        }
          RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
                                           rel, 1, relend, howto, 0, contents);
        }
@@ -407,9 +416,8 @@ elf32_xc16x_relocate_section (bfd *output_bfd,
 }
 
 
 }
 
 
-static void
-elf32_xc16x_final_write_processing (bfd *abfd,
-                                   bfd_boolean linker ATTRIBUTE_UNUSED)
+static bfd_boolean
+elf32_xc16x_final_write_processing (bfd *abfd)
 {
   unsigned long val;
 
 {
   unsigned long val;
 
@@ -430,6 +438,7 @@ elf32_xc16x_final_write_processing (bfd *abfd,
     }
 
   elf_elfheader (abfd)->e_flags |= val;
     }
 
   elf_elfheader (abfd)->e_flags |= val;
+  return _bfd_elf_final_write_processing (abfd);
 }
 
 static unsigned long
 }
 
 static unsigned long
This page took 0.027426 seconds and 4 git commands to generate.