int ret; int st = fragP->fr_subtype; unsigned int opcode_address; if ((st >> 2) == BRANCH && fragP->fr_pcrel_adjust == 0) { unsigned int offset; opcode_frag = ((struct opcode_location *) fragP->fr_opcode)->fragP; offset = ((struct opcode_location *) fragP->fr_opcode)->offset; opcode_address = offset + opcode_frag->fr_address; ret = fragP->fr_address - opcode_address; } else ret = fragP->fr_pcrel_adjust; return ret;
addressT opcode_address; unsigned int offset; opcode_frag = frag_opcode_frag(fragP); if (opcode_frag == 0) return 0; offset = frag_opcode_offset(fragP); opcode_address = offset + opcode_frag->fr_address; return fragP->fr_address + fragP->fr_fix - opcode_address;
int md_pcrel_adjust (fragS *fragP){  fragS *opcode_frag;  int ret;  int st = fragP->fr_subtype;  unsigned int opcode_address;  if ((st >> 2) == BRANCH && fragP->fr_pcrel_adjust == 0) {    unsigned int offset;    opcode_frag = ((struct opcode_location *) fragP->fr_opcode)->fragP;    offset = ((struct opcode_location *) fragP->fr_opcode)->offset;    opcode_address = offset + opcode_frag->fr_address;    ret = fragP->fr_address - opcode_address;  }  else    ret = fragP->fr_pcrel_adjust;  return ret;}