diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 25706ef3cd1612c22cb1288aff715a63552bb9a5..b2237e6d48f4cd13553407d6092f94766e6cc719 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -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> diff --git a/libcpp/lex.c b/libcpp/lex.c index bc0086df1d5e82b05ac7271a30c967144cc39b06..a94e57282d8f2f2cd2afd08be49fd25018053ef5 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -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