Lines Matching refs:fragP

363 md_estimate_size_before_relax (fragS *fragP, segT segment)  in md_estimate_size_before_relax()  argument
365 if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) in md_estimate_size_before_relax()
367 if (S_GET_SEGMENT (fragP->fr_symbol) != segment in md_estimate_size_before_relax()
369 || S_IS_WEAK (fragP->fr_symbol) in md_estimate_size_before_relax()
370 || S_IS_EXTERNAL (fragP->fr_symbol) in md_estimate_size_before_relax()
379 old_fr_fix = fragP->fr_fix; in md_estimate_size_before_relax()
380 p = fragP->fr_literal + old_fr_fix; in md_estimate_size_before_relax()
391 if ((GOT_symbol == NULL || fragP->fr_symbol != GOT_symbol) in md_estimate_size_before_relax()
392 && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol) in md_estimate_size_before_relax()
393 && fragP->fr_symbol != NULL in md_estimate_size_before_relax()
395 && (!S_IS_DEFINED (fragP->fr_symbol) in md_estimate_size_before_relax()
396 || S_IS_WEAK (fragP->fr_symbol) in md_estimate_size_before_relax()
397 || S_IS_EXTERNAL (fragP->fr_symbol))) in md_estimate_size_before_relax()
403 S_GET_NAME (fragP->fr_symbol)); in md_estimate_size_before_relax()
407 if (((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLS in md_estimate_size_before_relax()
408 || ((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLG in md_estimate_size_before_relax()
409 || ((unsigned char *) fragP->fr_opcode)[0] == VAX_JSB in md_estimate_size_before_relax()
410 || ((unsigned char *) fragP->fr_opcode)[0] == VAX_JMP in md_estimate_size_before_relax()
411 || S_IS_FUNCTION (fragP->fr_symbol)) in md_estimate_size_before_relax()
418 switch (RELAX_STATE (fragP->fr_subtype)) in md_estimate_size_before_relax()
422 fragP->fr_fix += 1 + 4; in md_estimate_size_before_relax()
423 fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, in md_estimate_size_before_relax()
424 fragP->fr_offset, 1, reloc_type); in md_estimate_size_before_relax()
428 *fragP->fr_opcode ^= 1; /* Reverse sense of branch. */ in md_estimate_size_before_relax()
432 fragP->fr_fix += 1 + 1 + 1 + 4; in md_estimate_size_before_relax()
433 fix_new (fragP, old_fr_fix + 3, 4, fragP->fr_symbol, in md_estimate_size_before_relax()
434 fragP->fr_offset, 1, NO_RELOC); in md_estimate_size_before_relax()
444 fragP->fr_fix += 2 + 2 + 1 + 1 + 4; in md_estimate_size_before_relax()
445 fix_new (fragP, old_fr_fix + 6, 4, fragP->fr_symbol, in md_estimate_size_before_relax()
446 fragP->fr_offset, 1, NO_RELOC); in md_estimate_size_before_relax()
455 fragP->fr_fix += 1 + 2 + 1 + 1 + 4; in md_estimate_size_before_relax()
456 fix_new (fragP, old_fr_fix + 5, 4, fragP->fr_symbol, in md_estimate_size_before_relax()
457 fragP->fr_offset, 1, NO_RELOC); in md_estimate_size_before_relax()
461 *fragP->fr_opcode += VAX_WIDEN_LONG; in md_estimate_size_before_relax()
463 fragP->fr_fix += 1 + 4; in md_estimate_size_before_relax()
464 fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, in md_estimate_size_before_relax()
465 fragP->fr_offset, 1, NO_RELOC); in md_estimate_size_before_relax()
471 frag_wane (fragP); in md_estimate_size_before_relax()
474 return fragP->fr_fix - old_fr_fix; in md_estimate_size_before_relax()
479 switch (RELAX_STATE (fragP->fr_subtype)) in md_estimate_size_before_relax()
482 fragP->fr_subtype = ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE); in md_estimate_size_before_relax()
485 fragP->fr_subtype = ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE); in md_estimate_size_before_relax()
488 fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_BRANCH, STATE_WORD); in md_estimate_size_before_relax()
491 fragP->fr_subtype = ENCODE_RELAX (STATE_COMPLEX_HOP, STATE_BYTE); in md_estimate_size_before_relax()
494 fragP->fr_subtype = ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_BYTE); in md_estimate_size_before_relax()
499 if (fragP->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) in md_estimate_size_before_relax()
503 return md_relax_table[fragP->fr_subtype].rlx_length; in md_estimate_size_before_relax()
516 fragS *fragP) in md_convert_frag() argument
525 know (fragP->fr_type == rs_machine_dependent); in md_convert_frag()
526 where = fragP->fr_fix; in md_convert_frag()
527 addressP = fragP->fr_literal + where; in md_convert_frag()
528 opcodeP = fragP->fr_opcode; in md_convert_frag()
529 symbolP = fragP->fr_symbol; in md_convert_frag()
532 switch (fragP->fr_subtype) in md_convert_frag()
537 fix_new (fragP, fragP->fr_fix + 1, 1, fragP->fr_symbol, in md_convert_frag()
538 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
545 fix_new (fragP, fragP->fr_fix + 1, 2, fragP->fr_symbol, in md_convert_frag()
546 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
553 fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol, in md_convert_frag()
554 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
559 fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, in md_convert_frag()
560 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
568 fix_new (fragP, fragP->fr_fix + 2, 2, fragP->fr_symbol, in md_convert_frag()
569 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
578 fix_new (fragP, fragP->fr_fix + 3, 4, fragP->fr_symbol, in md_convert_frag()
579 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
584 fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, in md_convert_frag()
585 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
591 fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, fragP->fr_offset, in md_convert_frag()
599 fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol, in md_convert_frag()
600 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
605 fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, in md_convert_frag()
606 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
617 fix_new (fragP, fragP->fr_fix + 6, 4, fragP->fr_symbol, in md_convert_frag()
618 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
623 fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, in md_convert_frag()
624 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
633 fix_new (fragP, fragP->fr_fix + 4, 2, fragP->fr_symbol, in md_convert_frag()
634 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
644 fix_new (fragP, fragP->fr_fix + 5, 4, fragP->fr_symbol, in md_convert_frag()
645 fragP->fr_offset, 1, NO_RELOC); in md_convert_frag()
650 BAD_CASE (fragP->fr_subtype); in md_convert_frag()
653 fragP->fr_fix += extension; in md_convert_frag()