Lines Matching full:fixp
370 fixS *fixP;
378 fixP = fix_new_exp (frag_now,
384 fixP->tc_fix_data.arg_format = insn.reloc_arg[i];
385 fixP->tc_fix_data.insn_tag = insn.tag;
865 tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
870 if (fixp->fx_addsy)
871 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
872 else if (fixp->fx_subsy)
873 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_subsy);
876 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
877 reloc->howto = bfd_reloc_type_lookup (stdoutput, fixp->fx_r_type);
880 as_bad_where (fixp->fx_file, fixp->fx_line,
882 (int) fixp->fx_r_type);
885 reloc->addend = fixp->fx_addnumber;
904 md_pcrel_from (fixS *fixp)
906 return fixp->fx_frag->fr_address + fixp->fx_where;
949 md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
954 char *place = fixP->fx_where + fixP->fx_frag->fr_literal;
956 if (fixP->fx_subsy != (symbolS *) NULL)
959 as_bad_where (fixP->fx_file, fixP->fx_line, _("expression too complex"));
962 if (fixP->fx_addsy != NULL)
964 if (fixP->fx_pcrel)
967 val += fixP->fx_frag->fr_address + fixP->fx_where;
969 switch (fixP->fx_r_type)
972 fixP->fx_r_type = BFD_RELOC_32_PCREL;
982 as_bad_where (fixP->fx_file, fixP->fx_line,
989 fixP->fx_addnumber = val;
991 if (fixP->fx_r_type == BFD_RELOC_SPU_PPU32
992 || fixP->fx_r_type == BFD_RELOC_SPU_PPU64
993 || fixP->fx_r_type == BFD_RELOC_SPU_ADD_PIC)
996 if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
998 fixP->fx_done = 1;
1001 if (fixP->tc_fix_data.arg_format > A_P)
1003 int hi = arg_encode[fixP->tc_fix_data.arg_format].hi;
1004 int lo = arg_encode[fixP->tc_fix_data.arg_format].lo;
1006 as_bad_where (fixP->fx_file, fixP->fx_line,
1011 switch (fixP->fx_r_type)
1091 as_bad_where (fixP->fx_file, fixP->fx_line,
1093 (int) fixP->fx_r_type);