Support relocs for sh-coff targets as well as sh-pe.
authorNick Clifton <nickc@redhat.com>
Tue, 7 Aug 2001 18:32:07 +0000 (18:32 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 7 Aug 2001 18:32:07 +0000 (18:32 +0000)
bfd/ChangeLog
bfd/coff-sh.c

index 4408a8c289403ea68656e0b23b3c9657cfa73bc0..a15c488a8b4d1187e583411caa47e6712d413408 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff
+       targets as well as sh-pe.
+
 2001-08-03  Ben Harris <bjh21@netbsd.org>
 
        * elf32-arm.h (elf32_arm_final_link_relocate): Include offset of
index c96d05e25c053d7b3fc4f8c45c5a348f8165cfb4..3f41a2d8ee65c6a16d9dae7cb29cf19f64a0d434 100644 (file)
@@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #include "bfd.h"
 #include "sysdep.h"
+#include "libiberty.h"
 #include "libbfd.h"
 #include "bfdlink.h"
 #include "coff/sh.h"
@@ -460,6 +461,8 @@ coff_sh_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
   return howto;
 }
 
+#endif /* COFF_WITH_PE */
+
 /* This structure is used to map BFD reloc codes to SH PE relocs.  */
 struct shcoff_reloc_map
 {
@@ -486,16 +489,13 @@ sh_coff_reloc_type_lookup (abfd, code)
 {
   unsigned int i;
 
-  for (i = 0; i < sizeof (sh_reloc_map) / sizeof (struct shcoff_reloc_map); i++)
-    {
-      if (sh_reloc_map[i].bfd_reloc_val == code)
-       return &sh_coff_howtos[(int) sh_reloc_map[i].shcoff_reloc_val];
-    }
+  for (i = ARRAY_SIZE (sh_reloc_map); i--;)
+    if (sh_reloc_map[i].bfd_reloc_val == code)
+      return &sh_coff_howtos[(int) sh_reloc_map[i].shcoff_reloc_val];
 
   fprintf (stderr, "SH Error: unknown reloc type %d\n", code);
   return NULL;
 }
-#endif /* COFF_WITH_PE */
 
 /* This macro is used in coffcode.h to get the howto corresponding to
    an internal reloc.  */