https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63966
Bug ID: 63966
Summary: [5 regression] inconsistent operand constraints
compiling build libcpp
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: ubizjak at gmail dot com
Host: i386-apple-darwin14.0.0
Target: i386-apple-darwin14.0.0
Build: i386-apple-darwin14.0.0
Bootstrapping Darwin/i386 (non-default 32-bit configuration) with gcc 4.9.1
FAILs compiling the stage1 build libcpp:
g++ -m32 -I/vol/gcc/src/hg/trunk/local/libcpp -I.
-I/vol/gcc/src/hg/trunk/local/libcpp/../include
-I/vol/gcc/src/hg/trunk/local/libcpp/include -g -O2 -W -Wall -Wno-narrowing
-Wwrite-strings -Wmissing-format-attribute -pedantic -Wno-long-long
-fno-exceptions -fno-rtti -I/vol/gcc/src/hg/trunk/local/libcpp -I.
-I/vol/gcc/src/hg/trunk/local/libcpp/../include
-I/vol/gcc/src/hg/trunk/local/libcpp/include -c -o lex.o -MT lex.o -MMD -MP
-MF .deps/lex.Tpo /vol/gcc/src/hg/trunk/local/libcpp/lex.c
In file included from /vol/gcc/src/hg/trunk/local/libcpp/lex.c:474:0:
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h: In function
'void _cpp_init_lexer()':
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h:209:46: error:
inconsistent operand constraints in an 'asm'
__cpuid (__ext, __eax, __ebx, __ecx, __edx);
^
/vol/gcc/src/hg/trunk/local/libcpp/../gcc/config/i386/cpuid.h:232:52: error:
inconsistent operand constraints in an 'asm'
__cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
^
make: *** [lex.o] Error 1
This was caused by the following patch:
2014-10-17 Uros Bizjak <[email protected]>
* config/i386/cpuid.h (__cpuid): Remove definitions that handle %ebx
register in a special way.
(__cpuid_count): Ditto.
* config/i386/driver-i386.h: Protect with
"#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))".
(host_detect_local_cpu): Mention that GCC with non-fixed %ebx
is required to compile the function.
Darwin/x86_64 isn't affected.
Rainer