X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcoff-mips.c;h=34b072c4138e1a66c20576097efab91f807b08d5;hb=0bf60745767d2465c81ee57ae7705a62d6d8fafe;hp=ca3376d9fa05c791ae6dfc50636dc72994b454f2;hpb=eea6121ac0cb22524c627017191ca09825e3d702;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/coff-mips.c b/bfd/coff-mips.c index ca3376d9fa..34b072c413 100644 --- a/bfd/coff-mips.c +++ b/bfd/coff-mips.c @@ -19,7 +19,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #include "bfd.h" #include "sysdep.h" @@ -473,7 +473,6 @@ mips_refhi_reloc (abfd, { bfd_reloc_status_type ret; bfd_vma relocation; - bfd_size_type sz; struct mips_hi *n; /* If we're relocating, and this an external symbol, we don't want @@ -500,8 +499,7 @@ mips_refhi_reloc (abfd, relocation += symbol->section->output_offset; relocation += reloc_entry->addend; - sz = input_section->rawsize ? input_section->rawsize : input_section->size; - if (reloc_entry->address > sz) + if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) return bfd_reloc_outofrange; /* Save the information, and let REFLO do the actual relocation. */ @@ -610,7 +608,6 @@ mips_gprel_reloc (abfd, bfd_boolean relocatable; bfd_vma gp; bfd_vma relocation; - bfd_size_type sz; unsigned long val; unsigned long insn; @@ -700,8 +697,7 @@ mips_gprel_reloc (abfd, relocation += symbol->section->output_section->vma; relocation += symbol->section->output_offset; - sz = input_section->rawsize ? input_section->rawsize : input_section->size; - if (reloc_entry->address > sz) + if (reloc_entry->address > bfd_get_section_limit (abfd, input_section)) return bfd_reloc_outofrange; insn = bfd_get_32 (abfd, (bfd_byte *) data + reloc_entry->address); @@ -1265,12 +1261,12 @@ mips_relocate_section (output_bfd, info, input_bfd, input_section, const char *name; if (int_rel.r_extern) - name = h->root.root.string; + name = NULL; else name = bfd_section_name (input_bfd, s); if (! ((*info->callbacks->reloc_overflow) - (info, name, howto->name, (bfd_vma) 0, - input_bfd, input_section, + (info, (h ? &h->root : NULL), name, howto->name, + (bfd_vma) 0, input_bfd, input_section, int_rel.r_vaddr - input_section->vma))) return FALSE; } @@ -1399,6 +1395,8 @@ static const struct ecoff_backend_data mips_ecoff_backend_data = #define _bfd_ecoff_bfd_is_group_section bfd_generic_is_group_section #define _bfd_ecoff_bfd_discard_group bfd_generic_discard_group +#define _bfd_ecoff_section_already_linked \ + _bfd_generic_section_already_linked extern const bfd_target ecoff_big_vec;