if (address > input_section->_cooked_size)
if (address > input_section->_raw_size)
_bfd_final_link_relocate (howto, input_bfd, input_section, contents, address,			  value, addend)     reloc_howto_type *howto;     bfd *input_bfd;     asection *input_section;     bfd_byte *contents;     bfd_vma address;     bfd_vma value;     bfd_vma addend;{  bfd_vma relocation;  /* Sanity check the address.  */  if (address > input_section->_cooked_size)    return bfd_reloc_outofrange;  /* This function assumes that we are dealing with a basic relocation     against a symbol.  We want to compute the value of the symbol to     relocate to.  This is just VALUE, the value of the symbol, plus     ADDEND, any addend associated with the reloc.  */  relocation = value + addend;  /* If the relocation is PC relative, we want to set RELOCATION to     the distance between the symbol (currently in RELOCATION) and the     location we are relocating.  Some targets (e.g., i386-aout)     arrange for the contents of the section to be the negative of the     offset of the location within the section; for such targets     pcrel_offset is false.  Other targets (e.g., m88kbcs or ELF)     simply leave the contents of the section as zero; for such     targets pcrel_offset is true.  If pcrel_offset is false we do not     need to subtract out the offset of the location within the     section (which is just ADDRESS).  */  if (howto->pc_relative)    {      relocation -= (input_section->output_section->vma		     + input_section->output_offset);      if (howto->pcrel_offset)	relocation -= address;    }  return _bfd_relocate_contents (howto, input_bfd, relocation,				 contents + address);}