Home | History | Annotate | Download | only in config

Lines Matching refs:fragP

277    fragP->tc_frag_data shows what state the frag is in: tc_frag_data
2200 /* Set fragP->fr_var to the initial guess of the size of a relaxable insn
2205 md_estimate_size_before_relax (fragS *fragP, segT segment)
2211 if (fragP->fr_symbol != NULL \
2212 && S_GET_SEGMENT (fragP->fr_symbol) == segment \
2213 && !S_IS_WEAK (fragP->fr_symbol)) \
2216 fragP->fr_subtype \
2221 switch (fragP->fr_subtype)
2228 if (fragP->fr_symbol != NULL
2229 && S_GET_SEGMENT (fragP->fr_symbol) == segment
2230 && !S_IS_WEAK (fragP->fr_symbol))
2232 fragP->fr_subtype = ENCODE_RELAX (STATE_PUSHJ, STATE_ZERO);
2236 fragP->fr_subtype = ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO);
2241 seg_info (segment)->tc_segment_info_data.last_stubfrag = fragP;
2252 length = fragP->tc_frag_data != NULL ? 0 : 8;
2253 fragP->fr_var = length;
2261 BAD_CASE (fragP->fr_subtype);
2264 length = mmix_relax_table[fragP->fr_subtype].rlx_length;
2265 fragP->fr_var = length;
2292 fragS *fragP)
2303 /* This is part of *fragP. It contains all information about addresses
2308 /* This is the frag for the opcode. It, rather than fragP, must be used
2310 fragS *opc_fragP = fragP->tc_frag_data;
2317 know (fragP->fr_type == rs_machine_dependent);
2319 var_part_offset = fragP->fr_fix;
2320 var_partp = fragP->fr_literal + var_part_offset;
2321 opcodep = fragP->fr_opcode;
2323 symbolP = fragP->fr_symbol;
2326 = ((symbolP ? S_GET_VALUE (symbolP) : 0) + fragP->fr_offset);
2329 opcode_address = fragP->fr_address + fragP->fr_fix - 4;
2331 switch (fragP->fr_subtype)
2337 fragP->fr_symbol, fragP->fr_offset, 1,
2339 COPY_FR_WHERE_TO_FX (fragP, tmpfixP);
2351 fragP->fr_symbol, fragP->fr_offset, 1,
2353 COPY_FR_WHERE_TO_FX (fragP, tmpfixP);
2364 fragP->fr_symbol, fragP->fr_offset, 1,
2366 COPY_FR_WHERE_TO_FX (fragP, tmpfixP);
2372 if (fragP->tc_frag_data == NULL)
2379 = fix_new (fragP, var_partp - fragP->fr_literal, 8,
2380 fragP->fr_symbol, fragP->fr_offset, 0, BFD_RELOC_64);
2381 COPY_FR_WHERE_TO_FX (fragP, tmpfixP);
2395 as_warn_where (fragP->fr_file, fragP->fr_line, \
2397 tmpfixP = fix_new (fragP, var_partp - fragP->fr_literal - 4, 8, \
2398 fragP->fr_symbol, fragP->fr_offset, 1, reloc); \
2399 COPY_FR_WHERE_TO_FX (fragP, tmpfixP); \
2408 BAD_CASE (fragP->fr_subtype);
2412 fragP->fr_fix += var_part_size;
2413 fragP->fr_var = 0;
3355 mmix_md_relax_frag (segT seg, fragS *fragP, long stretch)
3357 switch (fragP->fr_subtype)
3375 target = fragP->fr_offset;
3376 address = fragP->fr_address;
3377 symbolP = fragP->fr_symbol;
3394 && sym_frag->relax_marker != fragP->relax_marker
3399 aim = target - address - fragP->fr_fix;
3407 if (fragP == seginfo->tc_segment_info_data.last_stubfrag)
3413 fragP->fr_subtype = ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO);
3422 relax_substateT prev_type = fragP->fr_subtype;
3436 - (fragP->fr_address + fragP->fr_fix)
3439 fragP->fr_subtype = mmix_relax_table[prev_type].rlx_more;
3445 if (fragP == seginfo->tc_segment_info_data.last_stubfrag)
3449 (mmix_relax_table[fragP->fr_subtype].rlx_length
3460 if (fragP == seginfo->tc_segment_info_data.last_stubfrag)
3467 return relax_frag (seg, fragP, stretch);
3470 BAD_CASE (fragP->fr_subtype);
3474 fragP->fr_type, fragP->fr_subtype);
3483 fragS *fragP;
3568 fragP = loc_assert->frag;
3569 fragP->fr_type = rs_align;
3570 fragP->fr_subtype = 0;
3571 fragP->fr_offset = 0;
3572 fragP->fr_fix = 0;
3622 for (fragP = mmix_reg_contents_frags; fragP != NULL; fragP = fragP->fr_next)
3629 symbolS *symbolP = fragP->fr_symbol;
3631 if (fragP->fr_type != rs_machine_dependent
3632 || fragP->fr_subtype != STATE_GREG_UNDF)
3638 fragP->fr_subtype = STATE_GREG_DEF;
3654 oexpP = symbol_get_value_expression (fragP->fr_symbol);
3663 for (fpp = &fragP->fr_next; *fpp != NULL; fpp = &fpp[0]->fr_next)
3678 sometimes fpp == &fragP->fr_next and the moves must be a
3681 fp->fr_next = fragP->fr_next;
3682 fragP->fr_next = fp;
3688 fragP->tc_frag_data = fp;