diff options
author | Alan Modra <amodra@gmail.com> | 2001-03-30 00:06:10 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-03-30 00:06:10 +0000 |
commit | 93c2a809afebb143e36fc1e666c5de746e76d741 (patch) | |
tree | bcf004bb8591de6c9677974ce8a0a57cd283fd65 /gas/config/tc-mn10300.c | |
parent | 23ec5d03124e6105a19f9d6d7d1410f0de589f50 (diff) | |
download | gdb-93c2a809afebb143e36fc1e666c5de746e76d741.zip gdb-93c2a809afebb143e36fc1e666c5de746e76d741.tar.gz gdb-93c2a809afebb143e36fc1e666c5de746e76d741.tar.bz2 |
Prepare for multi-pass relaxation.
Diffstat (limited to 'gas/config/tc-mn10300.c')
-rw-r--r-- | gas/config/tc-mn10300.c | 55 |
1 files changed, 17 insertions, 38 deletions
diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index 8504e84..ba93b41 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -1843,44 +1843,23 @@ md_estimate_size_before_relax (fragp, seg) fragS *fragp; asection *seg; { - if (fragp->fr_subtype == 0) - return 2; - if (fragp->fr_subtype == 3) - return 3; - if (fragp->fr_subtype == 6) - { - if (!S_IS_DEFINED (fragp->fr_symbol) - || seg != S_GET_SEGMENT (fragp->fr_symbol)) - { - fragp->fr_subtype = 7; - return 7; - } - else - return 5; - } - if (fragp->fr_subtype == 8) - { - if (!S_IS_DEFINED (fragp->fr_symbol) - || seg != S_GET_SEGMENT (fragp->fr_symbol)) - { - fragp->fr_subtype = 9; - return 6; - } - else - return 4; - } - if (fragp->fr_subtype == 10) - { - if (!S_IS_DEFINED (fragp->fr_symbol) - || seg != S_GET_SEGMENT (fragp->fr_symbol)) - { - fragp->fr_subtype = 12; - return 5; - } - else - return 2; - } - abort (); + if (fragp->fr_subtype == 6 + && (!S_IS_DEFINED (fragp->fr_symbol) + || seg != S_GET_SEGMENT (fragp->fr_symbol))) + fragp->fr_subtype = 7; + else if (fragp->fr_subtype == 8 + && (!S_IS_DEFINED (fragp->fr_symbol) + || seg != S_GET_SEGMENT (fragp->fr_symbol))) + fragp->fr_subtype = 9; + else if (fragp->fr_subtype == 10 + && (!S_IS_DEFINED (fragp->fr_symbol) + || seg != S_GET_SEGMENT (fragp->fr_symbol))) + fragp->fr_subtype = 12; + + if (fragp->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0])) + abort (); + + return md_relax_table[fragp->fr_subtype].rlx_length; } long |