From: Alan Modra Date: Sun, 6 Jan 2002 12:15:45 +0000 (+0000) Subject: * config/tc-m68k.h (md_prepare_relax_scan): Rewrite. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7861ad2a51101a548ed5a8cff4aaa548e0cfaf4;p=binutils-gdb.git * config/tc-m68k.h (md_prepare_relax_scan): Rewrite. * config/tc-m68k.c (md_relax_table): Add md_prepare_relax_scan comment. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index b90a726fcb9..8c29411fe04 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-01-06 Alan Modra + + * config/tc-m68k.h (md_prepare_relax_scan): Rewrite. + * config/tc-m68k.c (md_relax_table): Add md_prepare_relax_scan comment. + 2002-01-05 Daniel Jacobowitz * tc-mips.c (mips_cprestore_valid): New flag. diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c index ff209a942e3..ef5f8450cda 100644 --- a/gas/config/tc-m68k.c +++ b/gas/config/tc-m68k.c @@ -471,7 +471,8 @@ static const int n_archs = sizeof (archs) / sizeof (archs[0]); How far Backward this mode will reach: How many bytes this mode will add to the size of the frag Which mode to go to if the offset won't fit in this one - */ + + Please check tc-m68k.h:md_prepare_relax_scan if changing this table. */ relax_typeS md_relax_table[] = { { 127, -128, 0, TAB (BRANCHBWL, SHORT) }, diff --git a/gas/config/tc-m68k.h b/gas/config/tc-m68k.h index 56879d2b6a8..fb33db4ed52 100644 --- a/gas/config/tc-m68k.h +++ b/gas/config/tc-m68k.h @@ -227,11 +227,14 @@ extern int m68k_parse_long_option PARAMS ((char *)); extern struct relax_type md_relax_table[]; #define TC_GENERIC_RELAX_TABLE md_relax_table -/* Copied from write.c */ -/* This was formerly called M68K_AIM_KLUDGE. */ +/* We can't do a byte jump to the next instruction, so in that case + force word mode by faking AIM. */ #define md_prepare_relax_scan(fragP, address, aim, this_state, this_type) \ - if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \ - aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \ - } + do \ + { \ + if (aim == 0 && this_type->rlx_forward == 127) \ + aim = 128; \ + } \ + while (0) #define DWARF2_LINE_MIN_INSN_LENGTH 2