Lines Matching full:fixp
226 md_pcrel_from_section (fixS * fixP, segT sec)
228 if (fixP->fx_addsy != (symbolS *) NULL
229 && (! S_IS_DEFINED (fixP->fx_addsy)
230 || (S_GET_SEGMENT (fixP->fx_addsy) != sec)
231 || S_IS_EXTERNAL (fixP->fx_addsy)
232 || S_IS_WEAK (fixP->fx_addsy)))
239 return fixP->fx_frag->fr_address + fixP->fx_where;
243 /* Return the bfd reloc type for OPERAND of INSN at fixup FIXP.
245 *FIXP may be modified if desired. */
250 fixS * fixP)
252 if (fixP->fx_cgen.opinfo)
253 return fixP->fx_cgen.opinfo;
258 fixP->fx_pcrel = 1;
288 or1k_fix_adjustable (fixS * fixP)
291 if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
292 || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
301 tc_gen_reloc (asection * section, fixS * fixp)
309 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
310 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
312 if (fixp->fx_pcrel)
315 fixp->fx_offset -= md_pcrel_from_section (fixp, section);
317 fixp->fx_offset = reloc->address;
319 reloc->addend = fixp->fx_offset;
321 code = fixp->fx_r_type;
325 if (fixp->fx_pcrel)
330 if (fixp->fx_pcrel)
335 if (fixp->fx_pcrel)
346 as_bad_where (fixp->fx_file, fixp->fx_line,