Home | History | Annotate | Download | only in gas

Lines Matching full:fixp

260   fixS *fixP;
264 fixP = fix_new (frag, where, length / 8, symbol, offset,
269 fixP->fx_cgen.insn = insn;
270 fixP->fx_cgen.opinfo = opinfo;
271 fixP->fx_cgen.field = NULL;
272 fixP->fx_cgen.msb_field_p = 0;
274 return fixP;
300 fixS *fixP;
304 fixP = fix_new_exp (frag, where, length / 8, exp,
309 fixP->fx_cgen.insn = insn;
310 fixP->fx_cgen.opinfo = opinfo;
311 fixP->fx_cgen.field = NULL;
312 fixP->fx_cgen.msb_field_p = 0;
314 return fixP;
663 fixS *fixP;
679 fixP = md_cgen_record_fixup_exp (frag_now, f - frag_now->fr_literal,
683 fixP->fx_cgen.field = fixups[i].field;
684 fixP->fx_cgen.msb_field_p = fixups[i].msb_field_p;
686 result->fixups[i] = fixP;
871 gas_cgen_md_apply_fix (fixP, valP, seg)
872 fixS * fixP;
876 char *where = fixP->fx_frag->fr_literal + fixP->fx_where;
881 if (fixP->fx_addsy == (symbolS *) NULL)
882 fixP->fx_done = 1;
885 if (fixP->fx_subsy != (symbolS *) NULL)
886 as_bad_where (fixP->fx_file, fixP->fx_line, _("expression too complex"));
888 if ((int) fixP->fx_r_type >= (int) BFD_RELOC_UNUSED)
890 int opindex = (int) fixP->fx_r_type - (int) BFD_RELOC_UNUSED;
895 const CGEN_INSN *insn = fixP->fx_cgen.insn;
901 if (fixP->fx_cgen.field)
905 start = fixP->fx_cgen.field->val.leaf->start;
906 length = fixP->fx_cgen.field->val.leaf->length;
925 if (fixP->fx_done
928 || fixP->fx_pcrel)
952 as_bad_where (fixP->fx_file, fixP->fx_line, "%s", errmsg);
955 if (fixP->fx_done)
963 reloc_type = md_cgen_lookup_reloc (insn, operand, fixP);
970 length, fixP->fx_size,
973 ! (fixP->fx_cgen.msb_field_p));
978 fixP->fx_r_type = reloc_type;
981 as_bad_where (fixP->fx_file, fixP->fx_line,
983 fixP->fx_done = 1;
987 else if (fixP->fx_done)
991 switch (fixP->fx_r_type)
1006 as_bad_where (fixP->fx_file, fixP->fx_line,
1008 fixP->fx_r_type, bfd_get_reloc_code_name (fixP->fx_r_type));
1018 fixP->fx_addnumber = value;
1042 gas_cgen_tc_gen_reloc (section, fixP)
1044 fixS * fixP;
1046 bfd_reloc_code_real_type r_type = fixP->fx_r_type;
1052 if (fixP->fx_pcrel)
1059 as_bad_where (fixP->fx_file, fixP->fx_line,
1064 gas_assert (!fixP->fx_pcrel == !reloc->howto->pc_relative);
1067 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
1070 if (fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY
1071 || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT)
1072 reloc->addend = fixP->fx_offset;
1074 reloc->addend = fixP->fx_addnumber;
1076 reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;