From acb02403a2f9aac89fb70672b76731786dd08bdb Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 22 Feb 2007 22:34:16 +0000 Subject: [PATCH] * config/tc-mn10300.c (md_convert_frag): Correct fixup size. (md_assemble): Likewise. --- gas/ChangeLog | 5 +++++ gas/config/tc-mn10300.c | 13 ++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index d41a0942ef..108e8d9189 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2007-02-23 Alan Modra + + * config/tc-mn10300.c (md_convert_frag): Correct fixup size. + (md_assemble): Likewise. + 2007-02-22 Alan Modra * write.c (size_seg): Always clear SEC_RELOC here. diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index fb7dc58aec..306e90c12e 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -1019,7 +1019,7 @@ md_convert_frag (abfd, sec, fragP) int offset = fragP->fr_fix; fragP->fr_literal[offset] = 0xcc; - fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol, + fix_new (fragP, fragP->fr_fix + 1, 2, fragP->fr_symbol, fragP->fr_offset + 1, 1, BFD_RELOC_16_PCREL); fragP->fr_var = 0; fragP->fr_fix += 3; @@ -2280,17 +2280,8 @@ keep_going: abort (); } - /* Convert the size of the reloc into what fix_new_exp wants. */ - reloc_size = reloc_size / 8; - if (reloc_size == 8) - reloc_size = 0; - else if (reloc_size == 16) - reloc_size = 1; - else if (reloc_size == 32) - reloc_size = 2; - fixP = fix_new_exp (frag_now, f - frag_now->fr_literal + offset, - reloc_size, &fixups[i].exp, pcrel, + reloc_size / 8, &fixups[i].exp, pcrel, ((bfd_reloc_code_real_type) reloc)); if (pcrel)