diff options
author | Bob Wilson <bob.wilson@acm.org> | 2007-06-19 19:08:37 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@acm.org> | 2007-06-19 19:08:37 +0000 |
commit | c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a (patch) | |
tree | cc4c5196d7efe4aa60bce01d101031ee54c04947 /gas/config/tc-xtensa.c | |
parent | 7f5c84d395320e610b6cf45e1adfe97ba3122131 (diff) | |
download | gdb-c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a.zip gdb-c48aaca0bad0a8f61e46ff5c81045d5f6e79bb5a.tar.gz 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.c | 8 |
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. */ |