Home | History | Annotate | Download | only in config

Lines Matching full:fixp

823   fixS *fixP
831 fixP->fx_subsy = lab;
2609 md_pcrel_from_section (fixS *fixP,
2612 offsetT base = fixP->fx_where + fixP->fx_frag->fr_address;
2614 pr_debug ("pcrel_from_section, fx_offset = %d\n", (int) fixP->fx_offset);
2616 if (fixP->fx_addsy != (symbolS *) NULL
2617 && (!S_IS_DEFINED (fixP->fx_addsy)
2618 || S_GET_SEGMENT (fixP->fx_addsy) != sec))
2620 pr_debug ("Unknown pcrel symbol: %s\n", S_GET_NAME (fixP->fx_addsy));
2627 if ((int) fixP->fx_r_type < 0)
2635 switch (fixP->fx_r_type)
2659 as_bad_where (fixP->fx_file, fixP->fx_line,
2661 bfd_get_reloc_code_name (fixP->fx_r_type));
2668 fixP->fx_frag->fr_address, fixP->fx_where, base,
2669 fixP->fx_addsy ? S_GET_NAME (fixP->fx_addsy) : "(null)",
2670 fixP->fx_addsy ? S_GET_VALUE (fixP->fx_addsy) : 0);
2758 eliminated, set fixP->fx_done. */
2761 md_apply_fix (fixS *fixP,
2765 char * const fixpos = fixP->fx_frag->fr_literal + fixP->fx_where;
2776 fixP->fx_file, fixP->fx_line, fixP->fx_r_type,
2777 ((int) fixP->fx_r_type < 0) ? "Internal":
2778 bfd_get_reloc_code_name (fixP->fx_r_type), value,
2779 fixP->fx_offset);
2781 fx_addsy = fixP->fx_addsy;
2782 fx_subsy = fixP->fx_subsy;
2791 && fixP->fx_r_type != BFD_RELOC_ARC_TLS_DTPOFF
2792 && fixP->fx_r_type != BFD_RELOC_ARC_TLS_DTPOFF_S9
2793 && fixP->fx_r_type != BFD_RELOC_ARC_TLS_GD_LD)
2806 as_bad_where (fixP->fx_file, fixP->fx_line,
2820 && fixP->fx_pcrel)
2823 value -= md_pcrel_from_section (fixP, seg);
2825 fixP->fx_pcrel = FALSE;
2829 value = fixP->fx_offset;
2830 fx_offset += S_GET_VALUE (fixP->fx_addsy);
2832 fixP->fx_pcrel = FALSE;
2837 fixP->fx_done = TRUE;
2839 if (fixP->fx_pcrel)
2845 value += md_pcrel_from_section (fixP, seg);
2847 switch (fixP->fx_r_type)
2855 fixP->fx_offset += fixP->fx_frag->fr_address;
2858 fixP->fx_r_type = BFD_RELOC_ARC_PC32;
2861 /* fixP->fx_offset += fixP->fx_where - fixP->fx_dot_value; */
2864 if ((int) fixP->fx_r_type < 0)
2866 fixP->fx_r_type);
2872 fixP->fx_file, fixP->fx_line, fixP->fx_r_type,
2873 ((int) fixP->fx_r_type < 0) ? "Internal":
2874 bfd_get_reloc_code_name (fixP->fx_r_type), value,
2875 fixP->fx_offset);
2879 reloc = fixP->fx_r_type;
2884 if (fixP->fx_done)
2889 S_SET_THREAD_LOCAL (fixP->fx_addsy);
2893 gas_assert (!fixP->fx_offset);
2894 if (fixP->fx_subsy)
2895 fixP->fx_offset
2896 = (S_GET_VALUE (fixP->fx_subsy)
2897 - fixP->fx_frag->fr_address- fixP->fx_where);
2898 fixP->fx_subsy = NULL;
2904 S_SET_THREAD_LOCAL (fixP->fx_addsy);
2916 if (!fixP->fx_done)
2930 reloc = fixP->fx_r_type;
2939 md_number_to_chars (fixpos, value, fixP->fx_size);
2950 gas_assert (!fixP->fx_addsy);
2951 gas_assert (!fixP->fx_subsy);
2956 md_number_to_chars_midend (fixpos, value, fixP->fx_size);
2960 md_number_to_chars_midend (fixpos, value, fixP->fx_size);
2990 if ((int) fixP->fx_r_type >= 0)
2992 bfd_get_reloc_code_name (fixP->fx_r_type));
2996 if (fixP->fx_addsy != 0
2997 && S_GET_SEGMENT (fixP->fx_addsy) != absolute_section)
2998 as_bad_where (fixP->fx_file, fixP->fx_line,
3001 gas_assert (-(int) fixP->fx_r_type < (int) arc_num_operands);
3002 operand = &arc_operands[-(int) fixP->fx_r_type];
3009 switch (fixP->fx_size)
3018 as_bad_where (fixP->fx_file, fixP->fx_line,
3025 switch (fixP->fx_size)
3034 as_bad_where (fixP->fx_file, fixP->fx_line,
3040 fixP->fx_file, fixP->fx_line);
3042 md_number_to_chars_midend (fixpos, insn, fixP->fx_size);
3095 fixS *fixP)
3102 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
3103 reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
3107 gas_assert ((int) fixP->fx_r_type > 0);
3109 code = fixP->fx_r_type;
3115 && fixP->fx_addsy == GOT_symbol)
3121 as_bad_where (fixP->fx_file, fixP->fx_line,
3127 if (!fixP->fx_pcrel != !reloc->howto->pc_relative)
3131 gas_assert (!fixP->fx_pcrel == !reloc->howto->pc_relative);
3137 = fixP->fx_subsy ? symbol_get_bfdsym (fixP->fx_subsy) : NULL;
3154 reloc->addend = fixP->fx_offset;
4012 tc_arc_fix_adjustable (fixS *fixP)
4016 if (S_IS_EXTERNAL (fixP->fx_addsy))
4018 if (S_IS_WEAK (fixP->fx_addsy))
4022 switch (fixP->fx_r_type)