bfd/
[deliverable/binutils-gdb.git] / bfd / elf32-i860.c
index f156bc51e1ab81511a5870b1be5bac985ad4a70d..863d7aecbe1e8078df8e30a4f2a94ab18d983b37 100644 (file)
@@ -38,6 +38,7 @@ i860_howto_pc26_reloc (bfd *abfd ATTRIBUTE_UNUSED,
 {
   bfd_vma insn;
   bfd_vma relocation;
+  bfd_size_type sz;
   bfd_byte *addr;
 
   if (output_bfd != NULL
@@ -63,7 +64,8 @@ i860_howto_pc26_reloc (bfd *abfd ATTRIBUTE_UNUSED,
   relocation += symbol->section->output_offset;
   relocation += reloc_entry->addend;
 
-  if (reloc_entry->address > input_section->_cooked_size)
+  sz = input_section->rawsize ? input_section->rawsize : input_section->size;
+  if (reloc_entry->address > sz)
     return bfd_reloc_outofrange;
 
   /* Adjust for PC-relative relocation.  */
@@ -101,6 +103,7 @@ i860_howto_pc16_reloc (bfd *abfd,
 {
   bfd_vma insn;
   bfd_vma relocation;
+  bfd_size_type sz;
   bfd_byte *addr;
 
   if (output_bfd != NULL
@@ -126,7 +129,8 @@ i860_howto_pc16_reloc (bfd *abfd,
   relocation += symbol->section->output_offset;
   relocation += reloc_entry->addend;
 
-  if (reloc_entry->address > input_section->_cooked_size)
+  sz = input_section->rawsize ? input_section->rawsize : input_section->size;
+  if (reloc_entry->address > sz)
     return bfd_reloc_outofrange;
 
   /* Adjust for PC-relative relocation.  */
@@ -165,6 +169,7 @@ i860_howto_highadj_reloc (bfd *abfd,
 {
   bfd_vma insn;
   bfd_vma relocation;
+  bfd_size_type sz;
   bfd_byte *addr;
 
   if (output_bfd != NULL
@@ -191,7 +196,8 @@ i860_howto_highadj_reloc (bfd *abfd,
   relocation += reloc_entry->addend;
   relocation += 0x8000;
 
-  if (reloc_entry->address > input_section->_cooked_size)
+  sz = input_section->rawsize ? input_section->rawsize : input_section->size;
+  if (reloc_entry->address > sz)
     return bfd_reloc_outofrange;
 
   addr = (bfd_byte *) data + reloc_entry->address;
@@ -218,6 +224,7 @@ i860_howto_splitn_reloc (bfd *abfd,
 {
   bfd_vma insn;
   bfd_vma relocation;
+  bfd_size_type sz;
   bfd_byte *addr;
 
   if (output_bfd != NULL
@@ -243,7 +250,8 @@ i860_howto_splitn_reloc (bfd *abfd,
   relocation += symbol->section->output_offset;
   relocation += reloc_entry->addend;
 
-  if (reloc_entry->address > input_section->_cooked_size)
+  sz = input_section->rawsize ? input_section->rawsize : input_section->size;
+  if (reloc_entry->address > sz)
     return bfd_reloc_outofrange;
 
   addr = (bfd_byte *) data + reloc_entry->address;
This page took 0.030928 seconds and 4 git commands to generate.