diff options
Diffstat (limited to 'gas/config/tc-h8500.c')
-rw-r--r-- | gas/config/tc-h8500.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gas/config/tc-h8500.c b/gas/config/tc-h8500.c index 7cffd83..3157e0b 100644 --- a/gas/config/tc-h8500.c +++ b/gas/config/tc-h8500.c @@ -1372,20 +1372,19 @@ md_section_align (seg, size) } void -md_apply_fix (fixP, val) +md_apply_fix3 (fixP, valP, seg) fixS *fixP; - long val; + valueT * valP; + segT seg ATTRIBUTE_UNUSED; { + long val = * (long *) valP; char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; if (fixP->fx_r_type == 0) - { - fixP->fx_r_type = fixP->fx_size == 4 ? R_H8500_IMM32 : R_H8500_IMM16; - } + fixP->fx_r_type = fixP->fx_size == 4 ? R_H8500_IMM32 : R_H8500_IMM16; switch (fixP->fx_r_type) { - case R_H8500_IMM8: case R_H8500_PCREL8: *buf++ = val; @@ -1416,14 +1415,15 @@ md_apply_fix (fixP, val) break; default: abort (); - } + + if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0) + fixP->fx_done = 1; } -/* -called just before address relaxation, return the length -by which a fragment must grow to reach it's destination -*/ +/* Called just before address relaxation, return the length + by which a fragment must grow to reach it's destination. */ + int md_estimate_size_before_relax (fragP, segment_type) register fragS *fragP; |