Home | History | Annotate | Download | only in config

Lines Matching full:fixp

3214       fixS *fixP =  fix_new_exp (frag_now,	/* Which frag.  */
3224 fixP->fx_no_overflow = 1;
3226 fixP->tc_fix_data = theinsn->exp2.X_add_number;
3266 md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
3268 char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
3272 gas_assert (fixP->fx_r_type < BFD_RELOC_UNUSED);
3274 fixP->fx_addnumber = val; /* Remember value for emit_reloc. */
3278 if (fixP->fx_addsy != NULL)
3280 switch (fixP->fx_r_type)
3306 S_SET_THREAD_LOCAL (fixP->fx_addsy);
3319 if (fixP->fx_r_type == BFD_RELOC_32_PCREL_S2 && fixP->fx_addsy)
3320 val += fixP->fx_where + fixP->fx_frag->fr_address;
3330 if (fixP->fx_addsy != NULL
3331 && fixP->fx_r_type != BFD_RELOC_32_PCREL_S2)
3339 && fixP->fx_r_type != BFD_RELOC_32_PCREL_S2
3340 && fixP->fx_addsy != NULL
3341 && ! S_IS_COMMON (fixP->fx_addsy)
3342 && symbol_section_p (fixP->fx_addsy))
3343 fixP->fx_addnumber -= 2 * S_GET_VALUE (fixP->fx_addsy);
3349 && fixP->fx_r_type == BFD_RELOC_32_PCREL_S2
3350 && fixP->fx_addsy != NULL
3351 && (S_IS_EXTERNAL (fixP->fx_addsy)
3352 || S_IS_WEAK (fixP->fx_addsy))
3353 && S_IS_DEFINED (fixP->fx_addsy)
3354 && ! S_IS_COMMON (fixP->fx_addsy))
3357 fixP->fx_addnumber -= 2 * S_GET_VALUE (fixP->fx_addsy);
3363 if (fixP->fx_r_type == BFD_RELOC_8)
3367 else if (fixP->fx_r_type == BFD_RELOC_16
3368 || fixP->fx_r_type == BFD_RELOC_SPARC_UA16)
3372 else if (fixP->fx_r_type == BFD_RELOC_32
3373 || fixP->fx_r_type == BFD_RELOC_SPARC_UA32
3374 || fixP->fx_r_type == BFD_RELOC_SPARC_REV32)
3378 else if (fixP->fx_r_type == BFD_RELOC_64
3379 || fixP->fx_r_type == BFD_RELOC_SPARC_UA64)
3383 else if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
3384 || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
3386 fixP->fx_done = 0;
3398 switch (fixP->fx_r_type)
3405 || fixP->fx_addsy == NULL
3406 || symbol_section_p (fixP->fx_addsy))
3412 if (sparc_relax && fixP->fx_where + 8 <= fixP->fx_frag->fr_fix)
3461 if (fixP->fx_where >= 4
3497 as_bad_where (fixP->fx_file, fixP->fx_line,
3504 as_bad_where (fixP->fx_file, fixP->fx_line,
3511 as_bad_where (fixP->fx_file, fixP->fx_line,
3518 as_bad_where (fixP->fx_file, fixP->fx_line,
3525 as_bad_where (fixP->fx_file, fixP->fx_line,
3534 as_bad_where (fixP->fx_file, fixP->fx_line,
3546 as_bad_where (fixP->fx_file, fixP->fx_line,
3557 as_bad_where (fixP->fx_file, fixP->fx_line,
3570 if (!fixP->fx_addsy)
3579 as_bad_where (fixP->fx_file, fixP->fx_line,
3589 if (!fixP->fx_addsy)
3598 val += fixP->tc_fix_data;
3603 as_bad_where (fixP->fx_file, fixP->fx_line,
3616 if (!fixP->fx_addsy)
3625 if (!fixP->fx_addsy)
3634 if (!fixP->fx_addsy)
3639 if (!fixP->fx_addsy)
3644 if (!fixP->fx_addsy)
3652 if (!fixP->fx_addsy)
3658 as_bad_where (fixP->fx_file, fixP->fx_line,
3660 fixP->fx_r_type);
3671 if (fixP->fx_addsy == 0 && !fixP->fx_pcrel)
3672 fixP->fx_done = 1;
3679 tc_gen_reloc (asection *section, fixS *fixp)
3689 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
3690 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
3692 switch (fixp->fx_r_type)
3762 code = fixp->fx_r_type;
3790 if (generic_force_reloc (fixp))
3795 if (fixp->fx_addsy != NULL)
3797 if (strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0)
3800 if (strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_BASE) == 0
3801 || strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_INDEX) == 0)
3808 if (fixp->fx_addsy != NULL)
3810 if (strcmp (S_GET_NAME (fixp->fx_addsy), GOT_NAME) == 0)
3813 if (strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_BASE) == 0
3814 || strcmp (S_GET_NAME (fixp->fx_addsy), GOTT_INDEX) == 0)
3844 as_bad_where (fixp->fx_file, fixp->fx_line,
3846 fixp->fx_r_type, bfd_get_reloc_code_name (code));
3858 reloc->addend = fixp->fx_addnumber;
3860 && fixp->fx_r_type == BFD_RELOC_32_PCREL_S2
3861 && fixp->fx_addsy != NULL
3862 && (S_IS_EXTERNAL (fixp->fx_addsy)
3863 || S_IS_WEAK (fixp->fx_addsy))
3864 && S_IS_DEFINED (fixp->fx_addsy)
3865 && ! S_IS_COMMON (fixp->fx_addsy))
3866 reloc->addend = fixp->fx_addnumber;
3868 reloc->addend = fixp->fx_offset - reloc->address;
3880 reloc->addend = fixp->fx_addnumber;
3881 else if (symbol_section_p (fixp->fx_addsy))
3883 + fixp->fx_addnumber
3884 + md_pcrel_from (fixp));
3886 reloc->addend = fixp->fx_offset;
3899 reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
3901 reloc->addend = fixp->tc_fix_data;
3942 md_pcrel_from (fixS *fixP)
3946 ret = fixP->fx_where + fixP->fx_frag->fr_address;
3948 || fixP->fx_addsy == NULL
3949 || symbol_section_p (fixP->fx_addsy))
3950 ret += fixP->fx_size;