diff options
Diffstat (limited to 'binutils-2.25/bfd/pe-mips.c')
-rw-r--r-- | binutils-2.25/bfd/pe-mips.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/binutils-2.25/bfd/pe-mips.c b/binutils-2.25/bfd/pe-mips.c index 2025e7df..57ec51fe 100644 --- a/binutils-2.25/bfd/pe-mips.c +++ b/binutils-2.25/bfd/pe-mips.c @@ -1,7 +1,5 @@ /* BFD back-end for MIPS PE COFF files. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 1990-2014 Free Software Foundation, Inc. Modified from coff-i386.c by DJ Delorie, dj@cygnus.com This file is part of BFD, the Binary File Descriptor library. @@ -341,6 +339,8 @@ static reloc_howto_type howto_table[] = FALSE), /* Pcrel_offset. */ }; +#define NUM_HOWTOS (sizeof (howto_table) / sizeof (howto_table[0])) + /* Turn a howto into a reloc nunmber. */ #define SELECT_RELOC(x, howto) { x.r_type = howto->type; } @@ -381,7 +381,8 @@ static reloc_howto_type howto_table[] = cache_ptr->addend = - (ptr->section->vma + ptr->value); \ else \ cache_ptr->addend = 0; \ - if (ptr && howto_table[reloc.r_type].pc_relative) \ + if (ptr && reloc.r_type < NUM_HOWTOS \ + && howto_table[reloc.r_type].pc_relative) \ cache_ptr->addend += asect->vma; \ } @@ -511,9 +512,7 @@ coff_mips_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, { unsigned int i; - for (i = 0; - i < sizeof (howto_table) / sizeof (howto_table[0]); - i++) + for (i = 0; i < NUM_HOWTOS; i++) if (howto_table[i].name != NULL && strcasecmp (howto_table[i].name, r_name) == 0) return &howto_table[i]; @@ -858,7 +857,7 @@ const bfd_target #ifdef TARGET_SYM TARGET_SYM = #else - mipslpe_vec = + mips_pe_le_vec = #endif { #ifdef TARGET_NAME |