+2012-11-20  David S. Miller  <davem@davemloft.net>
+
+       * config/tc-sparc.c (md_parse_option): Only certain arch
+       specifications should override the object to be 32-bit
+       or 64-bit.
+
 2012-11-14  David Holsgrove  <david.holsgrove@xilinx.com>
 
        * config/tc-microblaze.c (md_assemble): Add support for INST_TYPE_IMM5
 
 
     case OPTION_XARCH:
 #ifdef OBJ_ELF
-      if (strncmp (arg, "v9", 2) != 0)
-       md_parse_option (OPTION_32, NULL);
-      else
+      if (!strncmp (arg, "v9", 2))
        md_parse_option (OPTION_64, NULL);
+      else
+       {
+         if (!strncmp (arg, "v8", 2)
+             || !strncmp (arg, "v7", 2)
+             || !strncmp (arg, "v6", 2)
+             || !strcmp (arg, "sparclet")
+             || !strcmp (arg, "sparclite")
+             || !strcmp (arg, "sparc86x"))
+           md_parse_option (OPTION_32, NULL);
+       }
 #endif
       /* Fall through.  */