Home | History | Annotate | Download | only in gas

Lines Matching defs:fragp

433 cvt_frag_to_fill (segT sec ATTRIBUTE_UNUSED, fragS *fragP)
435 switch (fragP->fr_type)
443 HANDLE_ALIGN (fragP);
445 know (fragP->fr_next != NULL);
446 fragP->fr_offset = (fragP->fr_next->fr_address
447 - fragP->fr_address
448 - fragP->fr_fix) / fragP->fr_var;
449 if (fragP->fr_offset < 0)
451 as_bad_where (fragP->fr_file, fragP->fr_line,
453 (long) fragP->fr_offset);
454 fragP->fr_offset = 0;
456 fragP->fr_type = rs_fill;
464 valueT value = S_GET_VALUE (fragP->fr_symbol);
467 size = output_leb128 (fragP->fr_literal + fragP->fr_fix, value,
468 fragP->fr_subtype);
470 fragP->fr_fix += size;
471 fragP->fr_type = rs_fill;
472 fragP->fr_var = 0;
473 fragP->fr_offset = 0;
474 fragP->fr_symbol = NULL;
479 eh_frame_convert_frag (fragP);
483 dwarf2dbg_convert_frag (fragP);
487 md_convert_frag (stdoutput, sec, fragP);
489 gas_assert (fragP->fr_next == NULL
490 || ((offsetT) (fragP->fr_next->fr_address - fragP->fr_address)
491 == fragP->fr_fix));
496 frag_wane (fragP);
504 if (fragP->fr_subtype)
506 fragP->fr_fix += md_short_jump_size;
507 for (lie = (struct broken_word *) (fragP->fr_symbol);
508 lie && lie->dispfrag == fragP;
511 fragP->fr_fix += md_long_jump_size;
513 frag_wane (fragP);
519 BAD_CASE (fragP->fr_type);
523 md_frag_check (fragP);
548 fragS *fragp;
558 for (fragp = seginfo->frchainP->frch_root; fragp; fragp = fragp->fr_next)
559 cvt_frag_to_fill (sec, fragp);
560 for (fragp = seginfo->frchainP->frch_root;
561 fragp->fr_next;
562 fragp = fragp->fr_next)
565 size = fragp->fr_address + fragp->fr_fix;
592 fragp = seginfo->frchainP->frch_root;
593 while (fragp->fr_next != last)
594 fragp = fragp->fr_next;
596 if ((newsize - size) % fragp->fr_var == 0)
597 fragp->fr_offset += (newsize - size) / fragp->fr_var;
900 fragS *fragP;
939 fragP = fixP->fx_frag;
940 know (fragP);
1090 sprint_value (buf, fragP->fr_address + fixP->fx_where);
1110 (long) (fragP->fr_address + fixP->fx_where));
1136 install_reloc (asection *sec, arelent *reloc, fragS *fragp,
1152 fragp->fr_literal, fragp->fr_address,
1797 fragS *fragP; /* Track along all frags. */
1926 fragP = lie->dispfrag;
1931 untruth && untruth->dispfrag == fragP;
1949 lie && lie->dispfrag == fragP;
1955 for (untruth = (struct broken_word *) (fragP->fr_symbol);
1956 untruth && untruth->dispfrag == fragP;
2198 relax_frag (segT segment, fragS *fragP, long stretch)
2211 target = fragP->fr_offset;
2212 address = fragP->fr_address;
2214 this_state = fragP->fr_subtype;
2216 symbolP = fragP->fr_symbol;
2240 && sym_frag->relax_marker != fragP->relax_marker
2244 || sym_frag->region == fragP->region)
2252 target = fragP->fr_next->fr_address + stretch;
2256 aim = target - address - fragP->fr_fix;
2259 aim += TC_PCREL_ADJUST (fragP);
2264 md_prepare_relax_scan (fragP, address, aim, this_state, this_type);
2298 fragP->fr_subtype = this_state;
2338 struct frag *fragP;
2350 for (frag_count = 0, fragP = segment_frag_root;
2351 fragP;
2352 fragP = fragP->fr_next, frag_count ++)
2354 fragP->region = region;
2355 fragP->relax_marker = 0;
2356 fragP->fr_address = address;
2357 address += fragP->fr_fix;
2359 switch (fragP->fr_type)
2362 address += fragP->fr_offset * fragP->fr_var;
2369 addressT offset = relax_align (address, (int) fragP->fr_offset);
2371 if (fragP->fr_subtype != 0 && offset > fragP->fr_subtype)
2374 if (offset % fragP->fr_var != 0)
2376 as_bad_where (fragP->fr_file, fragP->fr_line,
2378 (unsigned long) offset, (long) fragP->fr_var);
2379 offset -= (offset % fragP->fr_var);
2399 if (fragP->fr_symbol)
2400 resolve_symbol_value (fragP->fr_symbol);
2402 address += md_estimate_size_before_relax (fragP
2414 address += fragP->fr_offset = 1;
2418 address += eh_frame_estimate_size_before_relax (fragP);
2422 address += dwarf2dbg_estimate_size_before_relax (fragP);
2426 BAD_CASE (fragP->fr_type);
2487 for (fragP = segment_frag_root; fragP; fragP = fragP->fr_next)
2494 fragP->relax_marker ^= 1;
2495 was_address = fragP->fr_address;
2496 address = fragP->fr_address += stretch;
2497 symbolP = fragP->fr_symbol;
2498 offset = fragP->fr_offset;
2500 switch (fragP->fr_type)
2521 for (lie = (struct broken_word *) (fragP->fr_symbol);
2522 lie && lie->dispfrag == fragP;
2538 as_warn_where (fragP->fr_file, fragP->fr_line,
2544 if (fragP->fr_subtype == 0)
2546 fragP->fr_subtype++;
2554 for (untruth = (struct broken_word *) (fragP->fr_symbol);
2580 oldoff = relax_align (was_address + fragP->fr_fix,
2582 newoff = relax_align (address + fragP->fr_fix,
2585 if (fragP->fr_subtype != 0)
2587 if (oldoff > fragP->fr_subtype)
2589 if (newoff > fragP->fr_subtype)
2608 obstack_blank_fast (ob, fragP->fr_var);
2610 memcpy (newf, fragP, SIZEOF_STRUCT_FRAG);
2612 fragP->fr_literal + fragP->fr_fix,
2613 fragP->fr_var);
2615 newf->fr_address = address + fragP->fr_fix + newoff;
2617 newf->fr_offset = (((offsetT) 1 << fragP->fr_offset)
2618 / fragP->fr_var);
2620 != (offsetT) 1 << fragP->fr_offset)
2622 newf->fr_offset = (offsetT) 1 << fragP->fr_offset;
2631 fragP->fr_next = newf;
2654 know (fragP->fr_next);
2655 after = fragP->fr_next->fr_address + stretch;
2682 as_bad_where (fragP->fr_file, fragP->fr_line,
2687 fragP->fr_type = rs_align;
2688 fragP->fr_subtype = 0;
2689 fragP->fr_offset = 0;
2690 fragP->fr_fix = after - address;
2706 as_bad_where (fragP->fr_file, fragP->fr_line,
2709 fragP->fr_symbol = 0;
2721 as_warn_where (fragP->fr_file, fragP->fr_line,
2723 fragP->fr_symbol = 0;
2726 growth = (was_address + fragP->fr_fix + amount
2727 - fragP->fr_next->fr_address);
2733 growth = md_relax_frag (segment, fragP, stretch);
2738 growth = relax_frag (segment, fragP, stretch);
2748 value = resolve_symbol_value (fragP->fr_symbol);
2749 size = sizeof_leb128 (value, fragP->fr_subtype);
2750 growth = size - fragP->fr_offset;
2751 fragP->fr_offset = size;
2756 growth = eh_frame_relax_frag (fragP);
2760 growth = dwarf2dbg_relax_frag (fragP);
2764 BAD_CASE (fragP->fr_type);
2771 if (fragP->fr_type == rs_leb128)
2773 else if (fragP->fr_type == rs_align
2797 for (fragP = segment_frag_root; fragP; fragP = fragP->fr_next)
2798 if (fragP->last_fr_address != fragP->fr_address)
2800 fragP->last_fr_address = fragP->fr_address;