/* Intel i860 specific support for 32-bit ELF.
- Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright 1993, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Full i860 support contributed by Jason Eckhardt <jle@cygnus.com>.
{
bfd_vma insn;
bfd_vma relocation;
- bfd_size_type sz;
bfd_byte *addr;
if (output_bfd != NULL
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;
/* Adjust for PC-relative relocation. */
{
bfd_vma insn;
bfd_vma relocation;
- bfd_size_type sz;
bfd_byte *addr;
if (output_bfd != NULL
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;
/* Adjust for PC-relative relocation. */
{
bfd_vma insn;
bfd_vma relocation;
- bfd_size_type sz;
bfd_byte *addr;
if (output_bfd != NULL
relocation += reloc_entry->addend;
relocation += 0x8000;
- 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;
addr = (bfd_byte *) data + reloc_entry->address;
{
bfd_vma insn;
bfd_vma relocation;
- bfd_size_type sz;
bfd_byte *addr;
if (output_bfd != NULL
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;
addr = (bfd_byte *) data + reloc_entry->address;
int r_type;
r_type = ELF32_R_TYPE (rel->r_info);
-
-#if 0
- if ( r_type == R_860_GNU_VTINHERIT
- || r_type == R_860_GNU_VTENTRY)
- continue;
-#endif
-
r_symndx = ELF32_R_SYM (rel->r_info);
howto = lookup_howto ((unsigned) ELF32_R_TYPE (rel->r_info));
{
case bfd_reloc_overflow:
r = info->callbacks->reloc_overflow
- (info, name, howto->name, (bfd_vma) 0,
- input_bfd, input_section, rel->r_offset);
+ (info, (h ? &h->root : NULL), name, howto->name,
+ (bfd_vma) 0, input_bfd, input_section, rel->r_offset);
break;
case bfd_reloc_undefined: