aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-xtensa.c
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2007-06-19 19:08:37 +0000
committerBob Wilson <bob.wilson@acm.org>2007-06-19 19:08:37 +0000
commitc48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a (patch)
treecc4c5196d7efe4aa60bce01d101031ee54c04947 /gas/config/tc-xtensa.c
parent7f5c84d395320e610b6cf45e1adfe97ba3122131 (diff)
downloadfsf-binutils-gdb-c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a.zip
fsf-binutils-gdb-c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a.tar.gz
fsf-binutils-gdb-c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a.tar.bz2
* config/tc-xtensa.h (struct xtensa_frag_type): Update comment about
use of literal_frag field. * config/tc-xtensa.c (xtensa_mark_literal_pool_location): Record frag in the literal_frag field. (xtensa_move_literals): Use it here instead of searching. Update literal_frag field with new value.
Diffstat (limited to 'gas/config/tc-xtensa.c')
-rw-r--r--gas/config/tc-xtensa.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 5ed33a8..7011a17 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -4548,6 +4548,7 @@ xtensa_mark_literal_pool_location (void)
fixes into this frchain's fix list. */
pool_location = frag_now;
frag_now->tc_frag_data.lit_frchain = frchain_now;
+ frag_now->tc_frag_data.literal_frag = frag_now;
frag_variant (rs_machine_dependent, 0, 0,
RELAX_LITERAL_POOL_BEGIN, NULL, 0, NULL);
xtensa_set_frag_assembly_state (frag_now);
@@ -9817,17 +9818,14 @@ xtensa_move_literals (void)
frchain_to = literal_pool->tc_frag_data.lit_frchain;
assert (frchain_to);
}
- insert_after = literal_pool;
-
- while (insert_after->fr_next->fr_subtype != RELAX_LITERAL_POOL_END)
- insert_after = insert_after->fr_next;
-
+ insert_after = literal_pool->tc_frag_data.literal_frag;
dest_seg = insert_after->fr_next->tc_frag_data.lit_seg;
*frag_splice = next_frag;
search_frag->fr_next = insert_after->fr_next;
insert_after->fr_next = search_frag;
search_frag->tc_frag_data.lit_seg = dest_seg;
+ literal_pool->tc_frag_data.literal_frag = search_frag;
/* Now move any fixups associated with this frag to the
right section. */