Hello! libcpp/lex.c includes "../gcc/config/i386/cpuid.h", and is picked up by the system compiler during stage1. Recently, cpuid.h was changed to account for %ebx changes and now uses "b" asm constraint for i686 even with __PIC__.
Attached patch solves this issue by including system <cpuid.h> for GCC < 5.0. 2014-11-19 Uros Bizjak <ubiz...@gmail.com> PR target/63966 * lex.c [__i386__ || __x86_64__]: Include system <cpuid.h> for GCC_VERSION < 5000. Patch was bootstrapped on x86_64-linux-gnu, Fedora 20. Patch will be committed to mainline in a day or two, preferably after someone tests it on Darwin. Uros.
Index: lex.c =================================================================== --- lex.c (revision 217789) +++ lex.c (working copy) @@ -471,7 +471,11 @@ search_line_sse42 (const uchar *s, const uchar *en /* 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;