diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-xtensa.c | 11 |
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) |