Fix seg-fault in linker parsing a corrupt input file.
[deliverable/binutils-gdb.git] / bfd / nlm32-sparc.c
index b818cfd0481dc66c6c0e98c258b2bc36b45a8ba5..9fec5ae8bd2e5439e37ea45c5e592be6924e0281 100644 (file)
@@ -1,6 +1,5 @@
 /* Support for 32-bit SPARC NLM (NetWare Loadable Module)
-   Copyright 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-   2007 Free Software Foundation, Inc.
+   Copyright (C) 1993-2016 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -50,7 +49,7 @@ enum reloc_type
 
 static reloc_howto_type nlm32_sparc_howto_table[] =
 {
-  HOWTO (R_SPARC_NONE,    0,0, 0,FALSE,0,complain_overflow_dont,    0,"R_SPARC_NONE",    FALSE,0,0x00000000,TRUE),
+  HOWTO (R_SPARC_NONE,    0,3, 0,FALSE,0,complain_overflow_dont,    0,"R_SPARC_NONE",    FALSE,0,0x00000000,TRUE),
   HOWTO (R_SPARC_8,       0,0, 8,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_8",       FALSE,0,0x000000ff,TRUE),
   HOWTO (R_SPARC_16,      0,1,16,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_16",      FALSE,0,0x0000ffff,TRUE),
   HOWTO (R_SPARC_32,      0,2,32,FALSE,0,complain_overflow_bitfield,0,"R_SPARC_32",      FALSE,0,0xffffffff,TRUE),
@@ -93,17 +92,15 @@ nlm_sparc_read_reloc (bfd *abfd,
                      arelent *rel)
 {
   bfd_vma val, addend;
-  unsigned int index;
+  unsigned int howto_index;
   unsigned int type;
   struct nlm32_sparc_reloc_ext tmp_reloc;
-  asection *code_sec, *data_sec;
+  asection *code_sec;
 
   if (bfd_bread (&tmp_reloc, (bfd_size_type) 12, abfd) != 12)
     return FALSE;
 
   code_sec = bfd_get_section_by_name (abfd, NLM_CODE_NAME);
-  data_sec = bfd_get_section_by_name (abfd, NLM_INITIALIZED_DATA_NAME);
-
   *secp = code_sec;
 
   val = bfd_get_32 (abfd, tmp_reloc.offset);
@@ -114,12 +111,12 @@ nlm_sparc_read_reloc (bfd *abfd,
   rel->addend = addend;
   rel->howto = NULL;
 
-  for (index = 0;
-       index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
-       index++)
-    if (nlm32_sparc_howto_table[index].type == type)
+  for (howto_index = 0;
+       howto_index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
+       howto_index++)
+    if (nlm32_sparc_howto_table[howto_index].type == type)
       {
-       rel->howto = &nlm32_sparc_howto_table[index];
+       rel->howto = &nlm32_sparc_howto_table[howto_index];
        break;
       }
 
@@ -139,15 +136,15 @@ nlm_sparc_write_reloc (bfd * abfd, asection * sec, arelent * rel)
 {
   bfd_vma val;
   struct nlm32_sparc_reloc_ext tmp_reloc;
-  unsigned int index;
+  unsigned int howto_index;
   int type = -1;
   reloc_howto_type *tmp;
 
-  for (index = 0;
-       index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
-       index++)
+  for (howto_index = 0;
+       howto_index < sizeof (nlm32_sparc_howto_table) / sizeof (reloc_howto_type);
+       howto_index++)
     {
-      tmp = &nlm32_sparc_howto_table[index];
+      tmp = &nlm32_sparc_howto_table[howto_index];
 
       if (tmp->rightshift == rel->howto->rightshift
          && tmp->size == rel->howto->size
@@ -375,7 +372,7 @@ static const struct nlm_backend_data nlm32_sparc_backend =
 };
 
 #define TARGET_BIG_NAME                "nlm32-sparc"
-#define TARGET_BIG_SYM         nlmNAME (sparc_vec)
+#define TARGET_BIG_SYM         sparc_nlm32_vec
 #define TARGET_BACKEND_DATA    & nlm32_sparc_backend
 
 #include "nlm-target.h"
This page took 0.038252 seconds and 4 git commands to generate.