diff options
Diffstat (limited to 'testing/openblas/00-cpuid.patch')
-rw-r--r-- | testing/openblas/00-cpuid.patch | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/testing/openblas/00-cpuid.patch b/testing/openblas/00-cpuid.patch deleted file mode 100644 index 7758b4691a..0000000000 --- a/testing/openblas/00-cpuid.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit db7e6366cd86b57cd0712293968938058288bde0 -Author: Isaac Dunham <ibid.ag@gmail.com> -Date: Thu Aug 28 13:05:07 2014 -0700 - - Workaround PIC limitations in cpuid. - - cpuid uses register ebx, but ebx is reserved in PIC. - So save ebx, swap ebx & edi, and return edi. - - Copied from Igor Pavlov's equivalent fix for 7zip (in CpuArch.c), - which is public domain and thus OK license-wise. - -diff --git a/cpuid_x86.c b/cpuid_x86.c -index 53016e1..f9df722 100644 ---- a/cpuid_x86.c -+++ b/cpuid_x86.c -@@ -59,9 +59,16 @@ - void cpuid(int op, int *eax, int *ebx, int *ecx, int *edx); - #else - static inline void cpuid(int op, int *eax, int *ebx, int *ecx, int *edx){ -+#if defined(__i386__) && defined(__PIC__) -+ __asm__ __volatile__ -+ ("mov %%ebx, %%edi;" -+ "cpuid;" -+ "xchgl %%ebx, %%edi;" -+ : "=a" (*eax), "=D" (*ebx), "=c" (*ecx), "=d" (*edx) : "a" (op) : "cc"); -+#else - __asm__ __volatile__ - ("cpuid": "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx) : "a" (op) : "cc"); -- -+#endif - } - #endif - |