From 1b6b13f3eeae79e4ba9b0888f623bdf30467ad46 Mon Sep 17 00:00:00 2001
From: Uros Bizjak <ubizjak@gmail.com>
Date: Thu, 20 Nov 2014 13:10:12 +0100
Subject: [PATCH] re PR target/63966 (inconsistent operand constraints
 compiling build libcpp)

	PR target/63966
	* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
	only for (__GNUC__ >= 5 || !defined(__PIC__)).

From-SVN: r217851
---
 libcpp/ChangeLog | 4 ++--
 libcpp/lex.c     | 6 +-----
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 66cc81a377da..49f374de317a 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,8 +1,8 @@
 2014-11-20  Uros Bizjak  <ubizjak@gmail.com>
 
 	PR target/63966
-	* lex.c [__i386__ || __x86_64__]: Include system <cpuid.h> for
-	GCC_VERSION < 5000.
+	* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
+	only for (__GNUC__ >= 5 || !defined(__PIC__)).
 
 2014-11-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
diff --git a/libcpp/lex.c b/libcpp/lex.c
index 298dd7fff3dc..845c1d271058 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -270,7 +270,7 @@ search_line_acc_char (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
    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__))
+#if (GCC_VERSION >= 4005) && (__GNUC__ >= 5 || !defined(__PIC__)) && (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
@@ -471,11 +471,7 @@ search_line_sse42 (const uchar *s, const uchar *end)
 
 /* Check the CPU capabilities.  */
 
-#if (GCC_VERSION >= 5000)
 #include "../gcc/config/i386/cpuid.h"
-#else
-#include <cpuid.h>
-#endif
 
 typedef const uchar * (*search_line_fast_type) (const uchar *, const uchar *);
 static search_line_fast_type search_line_fast;
-- 
GitLab