summaryrefslogtreecommitdiff
path: root/media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch')
-rw-r--r--media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch b/media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch
new file mode 100644
index 000000000000..5c014a479745
--- /dev/null
+++ b/media-libs/libgii/files/libgii-1.0.2-configure-cpuid-pic.patch
@@ -0,0 +1,13 @@
+dont clobber ebx as that is the pic register and it doesnt work in many cases
+
+--- libgii-1.0.2/m4/swar.m4
++++ libgii-1.0.2/m4/swar.m4
+@@ -8069,7 +8069,7 @@
+ #ifdef _MSC_VER
+ __asm cpuid
+ #else
+- asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));
++ asm("pushl %%ebx; cpuid; movl %%ebx,%2; popl %%ebx": "=a" (a), "=r" (b), "=c" (c), "=d" (d) : "a" (in));
+ #endif
+ return d;],
+ ggi_cv_cc_can_cpuid="yes", ggi_cv_cc_can_cpuid="no")])