aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mn10200.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-03-30 00:06:10 +0000
committerAlan Modra <amodra@gmail.com>2001-03-30 00:06:10 +0000
commit93c2a809afebb143e36fc1e666c5de746e76d741 (patch)
treebcf004bb8591de6c9677974ce8a0a57cd283fd65 /gas/config/tc-mn10200.c
parent23ec5d03124e6105a19f9d6d7d1410f0de589f50 (diff)
downloadgdb-93c2a809afebb143e36fc1e666c5de746e76d741.zip
gdb-93c2a809afebb143e36fc1e666c5de746e76d741.tar.gz
gdb-93c2a809afebb143e36fc1e666c5de746e76d741.tar.bz2
Prepare for multi-pass relaxation.
Diffstat (limited to 'gas/config/tc-mn10200.c')
-rw-r--r--gas/config/tc-mn10200.c39
1 files changed, 15 insertions, 24 deletions
diff --git a/gas/config/tc-mn10200.c b/gas/config/tc-mn10200.c
index 7854508..dd3f9e5 100644
--- a/gas/config/tc-mn10200.c
+++ b/gas/config/tc-mn10200.c
@@ -1,5 +1,6 @@
/* tc-mn10200.c -- Assembler code for the Matsushita 10200
- Copyright 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -1284,29 +1285,19 @@ 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 5;
- }
- return 3;
- }
- if (fragp->fr_subtype == 8)
- {
- if (!S_IS_DEFINED (fragp->fr_symbol))
- {
- fragp->fr_subtype = 10;
- return 5;
- }
- return 2;
- }
+ 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 = 10;
+
+ if (fragp->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0]))
+ abort ();
+
+ return md_relax_table[fragp->fr_subtype].rlx_length;
}
long