diff options
author | Sterling Augustine <saugustine@google.com> | 2010-02-11 19:00:21 +0000 |
---|---|---|
committer | Sterling Augustine <saugustine@google.com> | 2010-02-11 19:00:21 +0000 |
commit | a89c407e4bd3e184672287b6bb57a19fccbfb463 (patch) | |
tree | 1d3f6677a5381ed79534b03cd29d37db95934181 | |
parent | b1028c8e8f281d1072e1fd89d8083cb960598a1a (diff) | |
download | gdb-a89c407e4bd3e184672287b6bb57a19fccbfb463.zip gdb-a89c407e4bd3e184672287b6bb57a19fccbfb463.tar.gz gdb-a89c407e4bd3e184672287b6bb57a19fccbfb463.tar.bz2 |
2010-02-11 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (cache_literal_section): Handle prefixes as
well as suffixes.
-rw-r--r-- | gas/ChangeLog | 10 | ||||
-rw-r--r-- | gas/config/tc-xtensa.c | 20 |
2 files changed, 25 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 1c2ea9e..3842614 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2010-02-11 Sterling Augustine <sterling@tensilica.com> + + * config/tc-xtensa.c (cache_literal_section): Handle prefixes as + well as suffixes. + +2010-02-10 Sterling Augustine <sterling@tensilica.com> + + * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite. + 2010-02-11 H.J. Lu <hongjiu.lu@intel.com> * 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 <sterling@tensilica.com> * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New. diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index 8345ecb..f8a8112 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. |