[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A fixup is basically anything which can not be resolved in the first pass. Sometimes a fixup can be resolved by the end of the assembly; if not, the fixup becomes a relocation entry in the object file.
A fixup is created by a call to fix_new
or fix_new_exp
. Both
take a frag (see section 2.4 Frags), a position within the frag, a size, an indication
of whether the fixup is PC relative, and a type. In a BFD_ASSEMBLER
GAS, the type is nominally a bfd_reloc_code_real_type
, but several
targets use other type codes to represent fixups that can not be described as
relocations.
The fixS
structure has a number of fields, several of which are obsolete
or are only used by a particular target. The important fields are:
fx_frag
fx_where
fx_addsy
fx_subsy
fx_offset
fx_addnumber
md_apply_fix3
and tc_gen_reloc
. The machine independent code does
not use it.
fx_next
fx_r_type
BFD_ASSEMBLER
, or
if the target defines NEED_FX_R_TYPE
.
fx_size
fx_pcrel
fx_done
fx_file
fx_line
tc_fix_data
TC_FIX_TYPE
, and is only defined if the target defines
that macro.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |