diff --git a/CMakeLists.txt b/CMakeLists.txt index 9dd662d69b..307950ccec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1275,6 +1275,7 @@ endif() # installs file(INSTALL ${NativeAssets} DESTINATION assets) +file(INSTALL flash0 lang DESTINATION .) # Fix CMake some Xcode settings. if(APPLE) diff --git a/Common/ArmEmitter.cpp b/Common/ArmEmitter.cpp index 15d4572d23..dfecfc0587 100644 --- a/Common/ArmEmitter.cpp +++ b/Common/ArmEmitter.cpp @@ -20,6 +20,7 @@ #include #include +#include // For cache flushing on Symbian/iOS/Blackberry #ifdef __SYMBIAN32__ diff --git a/Common/CPUDetect.cpp b/Common/CPUDetect.cpp index 0aec27a983..19e557f9ea 100644 --- a/Common/CPUDetect.cpp +++ b/Common/CPUDetect.cpp @@ -57,13 +57,18 @@ void __cpuidex(int regs[4], int cpuid_leaf, int ecxval) } else { ELOG("CPUID %08x failed!", cpuid_leaf); } +#elif defined(__i386__) && defined(__PIC__) + asm ( + "xchgl %%ebx, %1;\n\t" + "cpuid;\n\t" + "xchgl %%ebx, %1;\n\t" + :"=a" (regs[0]), "=r" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) + :"a" (cpuid_leaf), "c" (ecxval)); #else asm ( "cpuid;\n\t" - "movl %%ebx, %1;\n\t" - :"=a" (regs[0]), "=m" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) - :"a" (cpuid_leaf), "c" (ecxval) - :"%ebx"); + :"=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) + :"a" (cpuid_leaf), "c" (ecxval)); #endif } void __cpuid(int regs[4], int cpuid_leaf)