Lines Matching full:fixp
2423 md_apply_fix (fixS *fixP, valueT *valP, segT segment)
2425 char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
2429 = (fixP->fx_addsy == NULL
2430 ? absolute_section : S_GET_SEGMENT (fixP->fx_addsy));
2435 if (fixP->fx_addsy != NULL
2436 && (! S_IS_DEFINED (fixP->fx_addsy)
2437 || S_IS_WEAK (fixP->fx_addsy)
2438 || (fixP->fx_pcrel && symsec != segment)
2439 || (! fixP->fx_pcrel
2441 && ((fixP->fx_r_type != BFD_RELOC_MMIX_REG
2442 && fixP->fx_r_type != BFD_RELOC_MMIX_REG_OR_BYTE)
2445 fixP->fx_done = 0;
2448 else if (fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL
2449 || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
2450 || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
2453 fixP->fx_done = 0;
2458 fixP->fx_done = 1;
2460 switch (fixP->fx_r_type)
2472 md_number_to_chars (buf, val, fixP->fx_size);
2479 BAD_CASE (fixP->fx_r_type);
2494 as_warn_where (fixP->fx_file, fixP->fx_line,
2496 fixP->fx_done = 0;
2506 BAD_CASE (fixP->fx_r_type);
2518 as_warn_where (fixP->fx_file, fixP->fx_line,
2520 fixP->fx_done = 0;
2527 if (fixP->fx_addsy != NULL
2528 && (S_GET_SEGMENT (fixP->fx_addsy) != reg_section
2529 || S_GET_VALUE (fixP->fx_addsy) > 255)
2530 && S_GET_SEGMENT (fixP->fx_addsy) != absolute_section)
2532 as_bad_where (fixP->fx_file, fixP->fx_line,
2536 fixP->fx_done = 1;
2545 if ((fixP->fx_where & 3) == 3
2546 && (fixP->fx_addsy == NULL
2547 || S_GET_SEGMENT (fixP->fx_addsy) == absolute_section))
2552 if (fixP->fx_addsy == NULL
2553 || S_GET_SEGMENT (fixP->fx_addsy) != reg_section
2554 || S_GET_VALUE (fixP->fx_addsy) > 255)
2556 as_bad_where (fixP->fx_file, fixP->fx_line,
2558 fixP->fx_done = 1;
2566 fixP->fx_done = 0;
2583 BAD_CASE (fixP->fx_r_type);
2587 if (fixP->fx_done)
2590 fixP->fx_offset = val;
2614 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
2617 = fixP->fx_offset
2618 + (fixP->fx_addsy != NULL
2619 && !S_IS_WEAK (fixP->fx_addsy)
2620 && !S_IS_COMMON (fixP->fx_addsy)
2621 ? S_GET_VALUE (fixP->fx_addsy) : 0);
2624 char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
2625 symbolS *addsy = fixP->fx_addsy;
2643 (fixP->fx_file, fixP->fx_line,
2644 fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL
2651 switch (fixP->fx_r_type)
2658 code = fixP->fx_r_type;
2669 md_number_to_chars (buf, val, fixP->fx_size);
2702 code = fixP->fx_r_type;
2714 code = fixP->fx_r_type;
2729 if ((fixP->fx_where & 3) == 3
2805 code = fixP->fx_r_type;
2809 as_bad_where (fixP->fx_file, fixP->fx_line,
2829 as_bad_where (fixP->fx_file, fixP->fx_line,
2844 code = fixP->fx_r_type;
2868 (fixP->fx_file, fixP->fx_line,
2873 fixP->fx_addsy = NULL;
2881 relP->address = fixP->fx_frag->fr_address + fixP->fx_where;
3268 mmix_force_relocation (fixS *fixP)
3270 if (fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL
3271 || fixP->fx_r_type == BFD_RELOC_MMIX_BASE_PLUS_OFFSET)
3281 if (fixP->fx_pcrel)
3284 return generic_force_reloc (fixP);
3291 md_pcrel_from_section (fixS *fixP, segT sec)
3293 if (fixP->fx_addsy != (symbolS *) NULL
3294 && (! S_IS_DEFINED (fixP->fx_addsy)
3295 || S_GET_SEGMENT (fixP->fx_addsy) != sec))
3302 return (fixP->fx_frag->fr_address + fixP->fx_where);
3725 fixS *fixP;
3727 fixP = mmix_gregs[i];
3728 know (fixP->fx_r_type == BFD_RELOC_64);
3731 if (fixP->fx_subsy != NULL)
3733 as_bad_where (fixP->fx_file, fixP->fx_line,
3738 sym = fixP->fx_addsy;
3739 offs = (offsetT) fixP->fx_offset;
3784 gregs->greg_fixes[gregs->n_gregs].fix = fixP;