Lines Matching full:fixp
65 fixS* fixP;
4113 nds32_elf_save_pseudo_pattern (fixS* fixP, struct nds32_opcode *opcode,
4124 reloc_ptr->fixP = fixP;
4141 fixS *fixP = NULL;
4174 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4228 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4246 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4262 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4282 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4296 fixP = fix_new_exp (fragP, out - fragP->fr_literal, insn->opcode->isize,
4302 return fixP;
4309 nds32_elf_build_relax_relation (fixS *fixP, expressionS *pexp, char* out,
4324 reloc_ptr = nds32_elf_save_pseudo_pattern (fixP, opcode, out, sym,
4342 nds32_elf_save_pseudo_pattern (fixP, opcode, out, sym,
4778 || (hi_pattern->fixP
4779 && hi_pattern->fixP->fx_r_type == map_ptr->hi_type)))
4918 fixS *fixP;
5006 pattern_now->fixP->fx_r_type = fixup_now->r_type ;
5027 fixP =
5030 fixP->fx_addnumber = fixP->fx_offset;
5076 fixP = fix_new_exp (fragP, where - fragP->fr_literal,
5078 fixP->fx_addnumber = fixP->fx_offset;
5138 fixS *fixP;
5293 fixP = fix_new_exp (fragP, 0, 0, &exp, 0, BFD_RELOC_NDS32_LABEL);
5309 fixP = nds32_elf_record_fixup_exp (fragP, str, fld, pexp, out, &insn);
5312 nds32_elf_build_relax_relation (fixP, pexp, out, insn.opcode, fragP, fld);
5731 fixS *fixP;
5885 fixP = fix_new_exp (fragP, fr_where + fixup_info[i].offset,
5887 fixP->fx_addnumber = fixP->fx_offset;
6105 fixS *fixP;
6107 fixS *fixp;
6114 for (fixp = seginfo->fix_root; fixp; fixp = fixp->fx_next)
6115 if (!fixp->fx_done)
6117 if (!fixp && !enable_relax_ex9 && !verbatim)
6146 fixP = fix_new_exp (fragP, 0, 0, &exp, 0, BFD_RELOC_NDS32_RELAX_ENTRY);
6147 fixP->fx_no_overflow = 1;
6216 nds32_pcrel_from_section (fixS *fixP, segT sec ATTRIBUTE_UNUSED)
6218 if (fixP->fx_addsy == NULL || !S_IS_DEFINED (fixP->fx_addsy)
6219 || S_IS_EXTERNAL (fixP->fx_addsy) || S_IS_WEAK (fixP->fx_addsy))
6225 return fixP->fx_frag->fr_address + fixP->fx_where;
6243 nds32_fix_adjustable (fixS *fixP)
6245 switch (fixP->fx_r_type)
6319 nds32_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
6321 char *where = fixP->fx_frag->fr_literal + fixP->fx_where;
6324 if (fixP->fx_r_type < BFD_RELOC_UNUSED
6325 && fixP->fx_r_type > BFD_RELOC_NONE
6326 && fixP->fx_r_type != BFD_RELOC_NDS32_DIFF_ULEB128)
6335 fixP->fx_addnumber = value;
6336 fixP->tc_fix_data = NULL;
6340 switch (fixP->fx_r_type)
6344 fixP->fx_done = 1;
6354 S_SET_THREAD_LOCAL (fixP->fx_addsy);
6362 if (fixP->fx_addsy == (symbolS *) NULL)
6363 fixP->fx_done = 1;
6365 if (fixP->fx_subsy != (symbolS *) NULL)
6435 value -= S_GET_VALUE (fixP->fx_subsy);
6437 fixP->fx_subsy = NULL;
6438 fixP->fx_offset -= value;
6440 switch (fixP->fx_r_type)
6443 fixP->fx_r_type = BFD_RELOC_NDS32_DIFF8;
6447 fixP->fx_r_type = BFD_RELOC_NDS32_DIFF16;
6451 fixP->fx_r_type = BFD_RELOC_NDS32_DIFF32;
6458 as_bad_where (fixP->fx_file, fixP->fx_line,
6463 else if (fixP->fx_done)
6467 switch (fixP->fx_r_type)
6481 as_bad_where (fixP->fx_file, fixP->fx_line,
6483 fixP->fx_r_type,
6484 bfd_get_reloc_code_name (fixP->fx_r_type));
6493 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
6501 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
6502 reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
6504 code = fixP->fx_r_type;
6509 as_bad_where (fixP->fx_file, fixP->fx_line,
6511 fixP->fx_r_type, bfd_get_reloc_code_name (code));
6517 switch (fixP->fx_r_type)
6522 reloc->addend = fixP->fx_offset;
6528 reloc->addend = fixP->fx_size;