aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorSterling Augustine <saugustine@google.com>2010-02-11 19:00:21 +0000
committerSterling Augustine <saugustine@google.com>2010-02-11 19:00:21 +0000
commita89c407e4bd3e184672287b6bb57a19fccbfb463 (patch)
tree1d3f6677a5381ed79534b03cd29d37db95934181 /gas
parentb1028c8e8f281d1072e1fd89d8083cb960598a1a (diff)
downloadgdb-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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/config/tc-xtensa.c20
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.