Home | History | Annotate | Download | only in config

Lines Matching full:fixp

571   fixS *fixP;			/* Structure describing needed address fix.  */
574 fixP = NULL;
598 fixP = fix_new (frag_now,
606 fixP->fx_tcbit = callj;
612 fixP->fx_bit_fixP = (bit_fixS *) (size_t) numbits;
1072 fixS *fixP;
1147 fixP = fix_new_exp (frag_now,
1153 fixP->fx_bsr = callx;
1939 fixS *fixP; /* Relocation that can be done at assembly time. */
1960 fixP = fix_new (fragP,
1968 fixP->fx_bit_fixP = (bit_fixS *) 24; /* Store size of bit field. */
1992 fixS *fixP;
1998 fixP = fix_new (fragP,
2006 fixP->fx_bit_fixP = (bit_fixS *) 13; /* Size of bit field. */
2294 reloc_callj (fixS *fixP) /* Relocation that can be done at assembly time. */
2299 if (!fixP->fx_tcbit)
2303 where = fixP->fx_frag->fr_literal + fixP->fx_where;
2305 if (TC_S_IS_SYSPROC (fixP->fx_addsy))
2309 md_number_to_chars (where, CALLS | TC_S_GET_SYSPROC (fixP->fx_addsy), 4);
2313 fixP->fx_bit_fixP = (bit_fixS *) 1;
2315 else if (TC_S_IS_CALLNAME (fixP->fx_addsy))
2318 fixP->fx_addsy));
2320 else if (TC_S_IS_BALNAME (fixP->fx_addsy))
2327 else if (TC_S_IS_BADPROC (fixP->fx_addsy))
2367 md_pcrel_from (fixS *fixP)
2369 return fixP->fx_where + fixP->fx_frag->fr_address;
2373 md_apply_fix (fixS *fixP,
2378 char *place = fixP->fx_where + fixP->fx_frag->fr_literal;
2380 if (!fixP->fx_bit_fixP)
2382 md_number_to_imm (place, val, fixP->fx_size);
2384 else if ((int) (size_t) fixP->fx_bit_fixP == 13
2385 && fixP->fx_addsy != NULL
2386 && S_GET_SEGMENT (fixP->fx_addsy) == undefined_section)
2392 as_bad_where (fixP->fx_file, fixP->fx_line,
2394 fixP->fx_addsy = NULL;
2397 md_number_to_field (place, val, fixP->fx_bit_fixP);
2399 if (fixP->fx_addsy == NULL)
2400 fixP->fx_done = 1;
2406 fixS *fixP,
2414 symbolP = fixP->fx_addsy;
2415 know (symbolP != 0 || fixP->fx_r_type != NO_RELOC);
2416 ri.r_bsr = fixP->fx_bsr; /*SAC LD RELAX HACK */
2418 ri.r_callj = fixP->fx_tcbit;
2419 if (fixP->fx_bit_fixP)
2422 ri.r_length = nbytes_r_length[fixP->fx_size];
2423 ri.r_pcrel = fixP->fx_pcrel;
2424 ri.r_address = fixP->fx_frag->fr_address + fixP->fx_where - segment_address_in_file;
2426 if (fixP->fx_r_type != NO_RELOC)
2428 switch (fixP->fx_r_type)
2433 ri.r_length = fixP->fx_size - 1;
2447 else if (linkrelax || !S_IS_DEFINED (symbolP) || fixP->fx_bsr)
2586 i960_validate_fix (fixS *fixP, segT this_segment_type ATTRIBUTE_UNUSED)
2588 if (fixP->fx_tcbit && TC_S_IS_CALLNAME (fixP->fx_addsy))
2592 if (!TC_S_IS_BALNAME (tc_get_bal_of_call (fixP->fx_addsy)))
2594 as_bad_where (fixP->fx_file, fixP->fx_line,
2596 S_GET_NAME (fixP->fx_addsy));
2599 fixP->fx_addsy = tc_get_bal_of_call (fixP->fx_addsy);
2608 tc_bfd_fix2rtype (fixS *fixP)
2610 if (fixP->fx_pcrel == 0 && fixP->fx_size == 4)
2613 if (fixP->fx_pcrel != 0 && fixP->fx_size == 4)
2626 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
2633 fixP->fx_r_type = tc_bfd_fix2rtype (fixP);
2635 reloc->howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type);
2638 as_bad_where (fixP->fx_file, fixP->fx_line,
2640 fixP->fx_r_type,
2641 bfd_get_reloc_code_name (fixP->fx_r_type));
2645 gas_assert (!fixP->fx_pcrel == !reloc->howto->pc_relative);
2648 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
2649 reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
2650 reloc->addend = fixP->fx_addnumber;