Lines Matching defs:fixP

517 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS * fixP)
523 *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
524 reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;
525 reloc->addend = fixP->fx_offset;
527 if (fixP->fx_subsy != NULL)
529 if (SWITCH_TABLE (fixP))
532 reloc->addend = (S_GET_VALUE (fixP->fx_addsy)
533 - S_GET_VALUE (fixP->fx_subsy) + fixP->fx_offset);
535 switch (fixP->fx_r_type)
538 fixP->fx_r_type = BFD_RELOC_CR16_NUM8;
541 fixP->fx_r_type = BFD_RELOC_CR16_NUM16;
544 fixP->fx_r_type = BFD_RELOC_CR16_NUM32;
547 fixP->fx_r_type = BFD_RELOC_CR16_NUM32a;
557 as_bad_where (fixP->fx_file, fixP->fx_line,
559 fixP->fx_addsy ? S_GET_NAME (fixP->fx_addsy) : "0",
560 segment_name (fixP->fx_addsy
561 ? S_GET_SEGMENT (fixP->fx_addsy)
563 S_GET_NAME (fixP->fx_subsy),
564 segment_name (S_GET_SEGMENT (fixP->fx_addsy)));
568 assert ((int) fixP->fx_r_type > 0);
569 reloc->howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type);
573 as_bad_where (fixP->fx_file, fixP->fx_line,
575 fixP->fx_r_type,
576 bfd_get_reloc_code_name (fixP->fx_r_type));
579 assert (!fixP->fx_pcrel == !reloc->howto->pc_relative);
706 md_apply_fix (fixS *fixP, valueT *valP, segT seg)
709 char *buf = fixP->fx_frag->fr_literal + fixP->fx_where;
710 fixP->fx_offset = 0;
712 switch (fixP->fx_r_type)
732 fixP->fx_done = 0;
734 if (fixP->fx_addsy == NULL
735 && fixP->fx_pcrel == 0)
736 fixP->fx_done = 1;
738 if (fixP->fx_pcrel == 1
739 && fixP->fx_addsy != NULL
740 && S_GET_SEGMENT (fixP->fx_addsy) == seg)
741 fixP->fx_done = 1;