if (-120 < (long)gap && (long)gap < 120 ) {   reloc->howto = reloc->howto + 1;
h8300_reloc16_estimate(abfd, input_section, reloc, shrink, link_info)     bfd *abfd;     asection *input_section;     arelent *reloc;     unsigned int shrink;     struct bfd_link_info *link_info;{  bfd_vma value;    bfd_vma dot;  bfd_vma gap;  /* The address of the thing to be relocated will have moved back by    the size of the shrink  - but we don't change reloc->address here,   since we need it to know where the relocation lives in the source   uncooked section */  /*  reloc->address -= shrink;   conceptual */  bfd_vma address = reloc->address - shrink;    switch (reloc->howto->type)    {         case R_MOVB2:    case R_JMP2:      shrink+=2;      break;      /* Thing is a move one byte */    case R_MOVB1:      value = bfd_coff_reloc16_get_value(reloc, link_info, input_section);      if (value >= 0xff00)	{ 	  /* Change the reloc type from 16bit, possible 8 to 8bit	     possible 16 */	  reloc->howto = reloc->howto + 1;	  	  /* The place to relc moves back by one */	  /* This will be two bytes smaller in the long run */	  shrink +=2 ;	  bfd_perform_slip(abfd, 2, input_section, address);	}            break;      /* This is the 24 bit branch which could become an 8 bitter,        the relocation points to the first byte of the insn, not the       actual data */    case R_JMPL1:      value = bfd_coff_reloc16_get_value(reloc, link_info, input_section);	      dot = input_section->output_section->vma +	input_section->output_offset + address;        /* See if the address we're looking at within 127 bytes of where	 we are, if so then we can use a small branch rather than the	 jump we were going to */      gap = value - dot ;        if (-120 < (long)gap && (long)gap < 120 )	{ 	  /* Change the reloc type from 24bit, possible 8 to 8bit	     possible 32 */	  reloc->howto = reloc->howto + 1;	  	  /* This will be two bytes smaller in the long run */	  shrink +=2 ;	  bfd_perform_slip(abfd, 2, input_section, address);	}      break;    case R_JMP1:      value = bfd_coff_reloc16_get_value(reloc, link_info, input_section);	      dot = input_section->output_section->vma +	input_section->output_offset + address;        /* See if the address we're looking at within 127 bytes of where	 we are, if so then we can use a small branch rather than the	 jump we were going to */      gap = value - (dot - shrink);        if (-120 < (long)gap && (long)gap < 120 )	{ 	  /* Change the reloc type from 16bit, possible 8 to 8bit	     possible 16 */	  reloc->howto = reloc->howto + 1;	  	  /* The place to relc moves back by one */	  /* This will be two bytes smaller in the long run */	  shrink +=2 ;	  bfd_perform_slip(abfd, 2, input_section, address);	}      break;    }    return shrink;}