lex.c: Disable init_vectorized_lexer etc.
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Tue, 24 Aug 2010 17:23:35 +0000 (17:23 +0000)
* lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
etc. on Solaris 2/x86.

From-SVN: r163522

libcpp/ChangeLog
libcpp/lex.c

index 25706ef..b2237e6 100644 (file)
@@ -1,3 +1,8 @@
+2010-08-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * lex.c [__sun__ && __svr4__]: Disable init_vectorized_lexer
+       etc. on Solaris 2/x86.
+
 2010-08-21  Richard Henderson  <rth@redhat.com>
            Andi Kleen <ak@linux.intel.com>
            David S. Miller  <davem@davemloft.net>
index bc0086d..a94e572 100644 (file)
@@ -264,7 +264,17 @@ search_line_acc_char (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
     }
 }
 
-#if (GCC_VERSION >= 4005) && (defined(__i386__) || defined(__x86_64__))
+/* Disable on Solaris 2/x86 until the following problems can be properly
+   autoconfed:
+
+   The Solaris 8 assembler cannot assemble SSE2/SSE4.2 insns.
+   The Solaris 9 assembler cannot assemble SSE4.2 insns.
+   Before Solaris 9 Update 6, SSE insns cannot be executed.
+   The Solaris 10+ assembler tags objects with the instruction set
+   extensions used, so SSE4.2 executables cannot run on machines that
+   don't support that extension.  */
+
+#if (GCC_VERSION >= 4005) && (defined(__i386__) || defined(__x86_64__)) && !(defined(__sun__) && defined(__svr4__))
 
 /* Replicated character data to be shared between implementations.
    Recall that outside of a context with vector support we can't