Backport:
	2006-03-09  Paul Brook  <paul@codesourcery.com>
	* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
	mapping symbols.
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 0d1484b..482adb0 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,10 @@
+2006-04-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	Backport:
+	2006-03-09  Paul Brook  <paul@codesourcery.com>
+	* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional
+	mapping symbols.
+
 2006-04-02  Daniel Jacobowitz  <dan@codesourcery.com>
 
 	* Makefile.def (host_modules, dependencies): Add expat.
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 3f56e8f..a28a1f9 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -404,9 +404,12 @@
 bfd_boolean
 bfd_is_arm_mapping_symbol_name (const char * name)
 {
+  /* The ARM compiler outputs several obsolete forms.  Recognize them
+     in addition to the standard $a, $t and $d.  */
   return (name != NULL)
     && (name[0] == '$')
-    && ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd'))
-    && (name[2] == 0);
+    && ((name[1] == 'a') || (name[1] == 't') || (name[1] == 'd')
+	|| (name[1] == 'm') || (name[1] == 'f') || (name[1] == 'p'))
+    && (name[2] == 0 || name[2] == '.');
 }