Lines Matching full:fixp
869 tc_microblaze_fix_adjustable (struct fix *fixP)
871 if (GOT_symbol && fixP->fx_subsy == GOT_symbol)
874 if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GOTOFF
875 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_32_GOTOFF
876 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GOT
877 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PLT
878 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_TLSGD
879 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_TLSLD
880 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_32_TLSDTPMOD
881 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_32_TLSDTPREL
882 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_TLSDTPREL
883 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL
884 || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_TLSTPREL)
1869 fixS *fixP;
1920 fixP = fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
1922 /* fixP->fx_plt = 1; */
1923 (void) fixP;
1960 md_apply_fix (fixS * fixP,
1964 char * buf = fixP->fx_where + fixP->fx_frag->fr_literal;
1965 const char * file = fixP->fx_file ? fixP->fx_file : _("unknown");
1973 symname = fixP->fx_addsy ? S_GET_NAME (fixP->fx_addsy) : _("<unknown>");
1975 /* fixP->fx_offset is supposed to be set up correctly for all
1977 if (fixP->fx_addsy == NULL)
1979 if (!fixP->fx_pcrel)
1980 fixP->fx_offset = val; /* Absolute relocation. */
1983 (unsigned int) fixP->fx_offset, (unsigned int) val);
1988 if (fixP->fx_addsy != NULL)
1990 if (S_IS_WEAK (fixP->fx_addsy)
1991 || (symbol_used_in_reloc_p (fixP->fx_addsy)
1993 S_GET_SEGMENT (fixP->fx_addsy))
1995 || !strncmp (segment_name (S_GET_SEGMENT (fixP->fx_addsy)),
1999 val -= S_GET_VALUE (fixP->fx_addsy);
2000 if (val != 0 && ! fixP->fx_pcrel)
2006 val -= S_GET_VALUE (fixP->fx_addsy);
2013 /* fixP->fx_addsy is NULL if valp contains the entire relocation. */
2014 if (fixP->fx_addsy != NULL
2015 && (!S_IS_DEFINED (fixP->fx_addsy)
2016 || (S_GET_SEGMENT (fixP->fx_addsy) != segment)))
2018 fixP->fx_done = 0;
2028 fixP->fx_done = 0;
2029 else if (!fixP->fx_pcrel && fixP->fx_addsy != NULL)
2030 fixP->fx_done = 0;
2032 fixP->fx_done = 1;
2034 switch (fixP->fx_r_type)
2052 if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
2055 as_bad_where (file, fixP->fx_line,
2075 if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
2108 if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
2117 if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
2135 S_SET_THREAD_LOCAL (fixP->fx_addsy);
2167 if (fixP->fx_addsy == NULL)
2171 if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
2172 fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
2174 fixP->fx_r_type = BFD_RELOC_NONE;
2175 fixP->fx_addsy = section_symbol (absolute_section);
2358 md_pcrel_from_section (fixS * fixp, segT sec ATTRIBUTE_UNUSED)
2365 if (fixp->fx_addsy != (symbolS *) NULL
2366 && (!S_IS_DEFINED (fixp->fx_addsy)
2367 || (S_GET_SEGMENT (fixp->fx_addsy) != sec)))
2372 if (fixp->fx_r_type == BFD_RELOC_64_PCREL)
2373 return fixp->fx_where + fixp->fx_frag->fr_address + INST_WORD_SIZE;
2375 return fixp->fx_where + fixp->fx_frag->fr_address;
2385 tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
2390 switch (fixp->fx_r_type)
2415 code = fixp->fx_r_type;
2419 switch (F (fixp->fx_size, fixp->fx_pcrel))
2428 code = fixp->fx_r_type;
2430 fixp->fx_size,
2431 fixp->fx_pcrel ? _("pc-relative") : "");
2440 *rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_subsy);
2442 *rel->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
2444 rel->address = fixp->fx_frag->fr_address + fixp->fx_where;
2446 rel->addend = fixp->fx_offset;
2451 as_bad_where (fixp->fx_file, fixp->fx_line,