Update year range in copyright notice of all files.
[deliverable/binutils-gdb.git] / bfd / coff-mcore.c
index 7dad44fdcec6c8e9ba8b18532f98cd44508322a8..4d4bcbc6250d1c3839f0ac7f1d2604b3e9a0b773 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD back-end for Motorola MCore COFF/PE
-   Copyright (C) 1999-2014 Free Software Foundation, Inc.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -241,6 +241,7 @@ mcore_coff_unsupported_reloc (bfd * abfd,
 {
   BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);
 
+  /* xgettext: c-format */
   _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
                      abfd,
                      reloc_entry->howto->name,
@@ -273,16 +274,15 @@ mcore_coff_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
 }
 #undef HOW2MAP
 
+#define NUM_HOWTOS NUM_ELEM (mcore_coff_howto_table)
+
 static reloc_howto_type *
 mcore_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
                              const char *r_name)
 {
   unsigned int i;
 
-  for (i = 0;
-       i < (sizeof (mcore_coff_howto_table)
-           / sizeof (mcore_coff_howto_table[0]));
-       i++)
+  for (i = 0; i < NUM_HOWTOS; i++)
     if (mcore_coff_howto_table[i].name != NULL
        && strcasecmp (mcore_coff_howto_table[i].name, r_name) == 0)
       return &mcore_coff_howto_table[i];
@@ -290,8 +290,11 @@ mcore_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
   return NULL;
 }
 
-#define RTYPE2HOWTO(cache_ptr, dst) \
-  (cache_ptr)->howto = mcore_coff_howto_table + (dst)->r_type;
+#define RTYPE2HOWTO(cache_ptr, dst)                            \
+  ((cache_ptr)->howto =                                                \
+   ((dst)->r_type < NUM_HOWTOS                                 \
+    ? mcore_coff_howto_table + (dst)->r_type                   \
+    : NULL))
 
 static reloc_howto_type *
 coff_mcore_rtype_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
@@ -303,7 +306,7 @@ coff_mcore_rtype_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
 {
   reloc_howto_type * howto;
 
-  if (rel->r_type >= NUM_ELEM (mcore_coff_howto_table))
+  if (rel->r_type >= NUM_HOWTOS)
     return NULL;
 
   howto = mcore_coff_howto_table + rel->r_type;
@@ -356,14 +359,15 @@ coff_mcore_relocate_section (bfd * output_bfd,
   /* If we are performing a relocatable link, we don't need to do a
      thing.  The caller will take care of adjusting the reloc
      addresses and symbol indices.  */
-  if (info->relocatable)
+  if (bfd_link_relocatable (info))
     return TRUE;
 
   /* Check if we have the same endianness */
   if (   input_bfd->xvec->byteorder != output_bfd->xvec->byteorder
       && output_bfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)
     {
-      (*_bfd_error_handler)
+      _bfd_error_handler
+       /* xgettext: c-format */
        (_("%B: compiled for a %s system and target is %s.\n"),
         input_bfd,
          bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"),
@@ -452,12 +456,9 @@ coff_mcore_relocate_section (bfd * output_bfd,
                     + sec->output_offset);
            }
          else
-           {
-             if (! ((*info->callbacks->undefined_symbol)
-                    (info, h->root.root.string, input_bfd, input_section,
-                     rel->r_vaddr - input_section->vma, TRUE)))
-               return FALSE;
-           }
+           (*info->callbacks->undefined_symbol)
+             (info, h->root.root.string, input_bfd, input_section,
+              rel->r_vaddr - input_section->vma, TRUE);
 
          my_name = h->root.root.string;
        }
@@ -468,6 +469,7 @@ coff_mcore_relocate_section (bfd * output_bfd,
       switch (r_type)
        {
        default:
+         /* xgettext: c-format */
          _bfd_error_handler (_("%B: unsupported relocation type 0x%02x"),
                              input_bfd, r_type);
          bfd_set_error (bfd_error_bad_value);
@@ -475,6 +477,7 @@ coff_mcore_relocate_section (bfd * output_bfd,
 
        case IMAGE_REL_MCORE_ABSOLUTE:
          _bfd_error_handler
+           /* xgettext: c-format */
            (_("Warning: unsupported reloc %s <file %B, section %A>\n"
               "sym %ld (%s), r_vaddr %ld (%lx)"),
             input_bfd, input_section, howto->name,
@@ -517,11 +520,10 @@ coff_mcore_relocate_section (bfd * output_bfd,
          break;
 
        case bfd_reloc_overflow:
-         if (! ((*info->callbacks->reloc_overflow)
-                (info, (h ? &h->root : NULL), my_name, howto->name,
-                 (bfd_vma) 0, input_bfd,
-                 input_section, rel->r_vaddr - input_section->vma)))
-           return FALSE;
+         (*info->callbacks->reloc_overflow)
+           (info, (h ? &h->root : NULL), my_name, howto->name,
+            (bfd_vma) 0, input_bfd,
+            input_section, rel->r_vaddr - input_section->vma);
        }
     }
 
This page took 0.026035 seconds and 4 git commands to generate.