Lines Matching full:fixp
4220 fixS *fixp = fix_new_aarch64 (frag_now, to - frag_now->fr_literal,
4227 fixp->fx_no_overflow = 1;
4229 fixp->tc_fix_data.inst = new_inst;
4233 fixp->tc_fix_data.opnd = inst.reloc.opnd;
4234 fixp->fx_addnumber = inst.reloc.flags;
5991 md_pcrel_from_section (fixS * fixP, segT seg)
5993 offsetT base = fixP->fx_where + fixP->fx_frag->fr_address;
5998 if (fixP->fx_pcrel
5999 && ((fixP->fx_addsy && S_GET_SEGMENT (fixP->fx_addsy) != seg)
6000 || aarch64_force_relocation (fixP)))
6134 fix_mov_imm_insn (fixS *fixP, char *buf, aarch64_inst *instr, offsetT value)
6181 as_bad_where (fixP->fx_file, fixP->fx_line,
6194 Instruction is fixed up with VALUE using the information in *FIXP plus
6201 fix_insn (fixS *fixP, uint32_t flags, offsetT value)
6205 char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
6206 enum aarch64_opnd opnd = fixP->tc_fix_data.opnd;
6207 aarch64_inst *new_inst = fixP->tc_fix_data.inst;
6224 as_bad_where (fixP->fx_file, fixP->fx_line,
6269 as_bad_where (fixP->fx_file, fixP->fx_line,
6288 as_bad_where (fixP->fx_file, fixP->fx_line,
6295 as_bad_where (fixP->fx_file, fixP->fx_line,
6311 fix_mov_imm_insn (fixP, buf, new_inst, value);
6350 as_bad_where (fixP->fx_file, fixP->fx_line,
6360 /* Apply a fixup (fixP) to segment data, once it has been determined
6366 md_apply_fix (fixS * fixP, valueT * valP, segT seg)
6370 char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
6372 unsigned flags = fixP->fx_addnumber;
6378 gas_assert (fixP->fx_r_type <= BFD_RELOC_UNUSED);
6382 if (fixP->fx_addsy == 0 && !fixP->fx_pcrel)
6383 fixP->fx_done = 1;
6386 switch (fixP->fx_r_type)
6390 fixP->fx_done = 0;
6395 if (fixP->fx_done || !seg->use_rela_p)
6401 if (fixP->fx_done || !seg->use_rela_p)
6407 if (fixP->fx_done || !seg->use_rela_p)
6413 if (fixP->fx_done || !seg->use_rela_p)
6421 fixP->fx_done = 1;
6422 if (fixP->fx_addsy && !S_IS_DEFINED (fixP->fx_addsy))
6424 as_bad_where (fixP->fx_file, fixP->fx_line,
6426 S_GET_NAME (fixP->fx_addsy));
6429 fix_insn (fixP, flags, value);
6433 if (fixP->fx_done || !seg->use_rela_p)
6436 as_bad_where (fixP->fx_file, fixP->fx_line,
6439 as_bad_where (fixP->fx_file, fixP->fx_line,
6448 if (fixP->fx_done || !seg->use_rela_p)
6451 as_bad_where (fixP->fx_file, fixP->fx_line,
6460 if (fixP->fx_done || !seg->use_rela_p)
6463 as_bad_where (fixP->fx_file, fixP->fx_line,
6466 as_bad_where (fixP->fx_file, fixP->fx_line,
6475 if (fixP->fx_done || !seg->use_rela_p)
6478 as_bad_where (fixP->fx_file, fixP->fx_line,
6481 as_bad_where (fixP->fx_file, fixP->fx_line,
6491 if (fixP->fx_done || !seg->use_rela_p)
6494 as_bad_where (fixP->fx_file, fixP->fx_line,
6497 as_bad_where (fixP->fx_file, fixP->fx_line,
6523 if (fixP->fx_done || !seg->use_rela_p)
6527 if (!fixP->fx_done)
6531 as_bad_where (fixP->fx_file, fixP->fx_line,
6537 switch (fixP->fx_r_type)
6544 as_bad_where (fixP->fx_file, fixP->fx_line,
6552 as_bad_where (fixP->fx_file, fixP->fx_line,
6581 fixP->fx_r_type = (ilp32_p
6584 S_SET_THREAD_LOCAL (fixP->fx_addsy);
6587 gas_assert (!fixP->fx_done);
6592 fixP->fx_r_type = (ilp32_p
6595 S_SET_THREAD_LOCAL (fixP->fx_addsy);
6598 gas_assert (!fixP->fx_done);
6619 S_SET_THREAD_LOCAL (fixP->fx_addsy);
6622 gas_assert (!fixP->fx_done);
6629 fixP->fx_r_type = (ilp32_p
6632 gas_assert (!fixP->fx_done);
6650 gas_assert (!fixP->fx_done);
6664 as_bad_where (fixP->fx_file, fixP->fx_line,
6666 bfd_get_reloc_code_name (fixP->fx_r_type));
6674 if (fixP->tc_fix_data.inst != NULL)
6675 free (fixP->tc_fix_data.inst);
6684 tc_gen_reloc (asection * section, fixS * fixp)
6692 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
6693 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
6695 if (fixp->fx_pcrel)
6698 fixp->fx_offset -= md_pcrel_from_section (fixp, section);
6700 fixp->fx_offset = reloc->address;
6702 reloc->addend = fixp->fx_offset;
6704 code = fixp->fx_r_type;
6708 if (fixp->fx_pcrel)
6713 if (fixp->fx_pcrel)
6718 if (fixp->fx_pcrel)
6729 as_bad_where (fixp->fx_file, fixp->fx_line,
6773 aarch64_force_relocation (struct fix *fixp)
6775 switch (fixp->fx_r_type)
6825 return generic_force_reloc (fixp);