diff --git a/gas/ChangeLog b/gas/ChangeLog index 1c2ea9eb96..3842614b4e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2010-02-11 Sterling Augustine + + * config/tc-xtensa.c (cache_literal_section): Handle prefixes as + well as suffixes. + +2010-02-10 Sterling Augustine + + * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite. + 2010-02-11 H.J. Lu * config/tc-i386.c (build_modrm_byte): Reformat. @@ -21,6 +30,7 @@ * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x, -mpwr6 and -mpwr7. +>>>>>>> 1.4086 2010-02-09 Sterling Augustine * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New. diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index 8345ecbdd9..f8a81128bc 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -10423,15 +10423,25 @@ cache_literal_section (bfd_boolean use_abs_literals) } else { - /* If the section name ends with ".text", then replace that suffix - instead of appending an additional suffix. */ + /* If the section name begins or ends with ".text", then replace + that portion instead of appending an additional suffix. */ size_t len = strlen (text_name); - if (len >= 5 && strcmp (text_name + len - 5, ".text") == 0) + if (len >= 5 + && (strcmp (text_name + len - 5, ".text") == 0 + || strncmp (text_name, ".text", 5) == 0)) len -= 5; name = xmalloc (len + strlen (base_name) + 1); - strcpy (name, text_name); - strcpy (name + len, base_name); + if (strncmp (text_name, ".text", 5) == 0) + { + strcpy (name, base_name); + strcat (name, text_name + 5); + } + else + { + strcpy (name, text_name); + strcpy (name + len, base_name); + } } /* Canonicalize section names to allow renaming literal sections.