When trying to build the Windows libraries:
cd w32api-3.11
./configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-mingw32 --prefix=/usr/local/x86_64-unknown-mingw32
make
compiled OK. But;
cd mingw-runtime-3.14
./configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-mingw32 --prefix=/usr/local/x86_64-unknown-mingw32
make
failed to compile, with error message:
x86_64-unknown-mingw32-gcc -c -g -O2 -I./include -I./../include -nostdinc -iwithprefixbefore include -I ./../w32api/include cpu_features.c -o cpu_features.o
/tmp/ccDamrzJ.s: Assembler messages:
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `pushf'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `pushf'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `pop'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `push'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `popf'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `pushf'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `pop'
/tmp/ccDamrzJ.s:22: Error: suffix or operands invalid for `popf'
make: *** [cpu_features.o] Error 1
Looking inside cpu_features.c we have:
Code: Select all
asm volatile ("pushfl; pushfl; popl %0;"
"movl %0,%1; xorl %2,%0;"
"pushl %0; popfl; pushfl; popl %0; popfl"
: "=&r" (eax), "=&r" (ebx)
: "i" (0x00200000));
Someone must have run into this problem before today.
Any answers?