aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2007-12-20 17:21:07 +0000
committerBob Wilson <bob.wilson@acm.org>2007-12-20 17:21:07 +0000
commit1f7efbae406ff9f2e8967d508bfae665501dc8ae (patch)
tree6b5853975ffa4265a57a337d7e15471f71df8ae7
parent213e4dc22e5075dce6c0254ec4f4b6a34a2b77a1 (diff)
downloadgdb-1f7efbae406ff9f2e8967d508bfae665501dc8ae.zip
gdb-1f7efbae406ff9f2e8967d508bfae665501dc8ae.tar.gz
gdb-1f7efbae406ff9f2e8967d508bfae665501dc8ae.tar.bz2
* config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
expressions without suffixes. (get_frag_property_flags): Preserve is_no_transform flag for frags not marked as either instructions or literals.
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-xtensa.c11
2 files changed, 16 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6a6fa5e..fbcce02 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-20 Bob Wilson <bob.wilson@acm.org>
+
+ * config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
+ expressions without suffixes.
+ (get_frag_property_flags): Preserve is_no_transform flag for frags
+ not marked as either instructions or literals.
+
2007-12-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (output_insn): Use ARRAY_SIZE.
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index e632ef3..ab4578b 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -1558,7 +1558,10 @@ xtensa_elf_cons (int nbytes)
}
}
else
- emit_expr (&exp, (unsigned int) nbytes);
+ {
+ xtensa_set_frag_assembly_state (frag_now);
+ emit_expr (&exp, (unsigned int) nbytes);
+ }
}
while (*input_line_pointer++ == ',');
@@ -10670,7 +10673,11 @@ get_frag_property_flags (const fragS *fragP, frag_flags *prop_flags)
prop_flags->is_literal = TRUE;
if (fragP->tc_frag_data.is_specific_opcode
|| fragP->tc_frag_data.is_no_transform)
- prop_flags->is_no_transform = TRUE;
+ {
+ prop_flags->is_no_transform = TRUE;
+ if (xtensa_frag_flags_is_empty (prop_flags))
+ prop_flags->is_data = TRUE;
+ }
if (fragP->tc_frag_data.is_unreachable)
prop_flags->is_unreachable = TRUE;
else if (fragP->tc_frag_data.is_insn)