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.
-   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.
@@ -220,6 +220,15 @@ xc16x_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
   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.  */
 
@@ -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;
-         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);
        }
@@ -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;
 
@@ -430,6 +438,7 @@ elf32_xc16x_final_write_processing (bfd *abfd,
     }
 
   elf_elfheader (abfd)->e_flags |= val;
+  return _bfd_elf_final_write_processing (abfd);
 }
 
 static unsigned long
This page took 0.02547 seconds and 4 git commands to generate.