summaryrefslogtreecommitdiffstats
path: root/testing/open-vm-tools/checkvm-pie-safety.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/open-vm-tools/checkvm-pie-safety.patch')
-rw-r--r--testing/open-vm-tools/checkvm-pie-safety.patch67
1 files changed, 0 insertions, 67 deletions
diff --git a/testing/open-vm-tools/checkvm-pie-safety.patch b/testing/open-vm-tools/checkvm-pie-safety.patch
deleted file mode 100644
index 5a879c94b..000000000
--- a/testing/open-vm-tools/checkvm-pie-safety.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From: Gordon Malm <gengor@gentoo.org>
-
-Make inline asm PIC-safe (do not clobber ebx).
-
-Thanks and credit to Anthony Basile for all his help and testing.
-
-Reference: http://bugs.gentoo.org/200376
-
---- a/checkvm/checkvm.c
-+++ b/checkvm/checkvm.c
-@@ -79,8 +79,16 @@
- {
- uint32 eax, ebx, ecx, edx;
-
-- __asm__ volatile("inl (%%dx)" :
-- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+ __asm__ volatile(
-+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
-+ "movl %%ebx, %3 \n\t"
-+ "inl (%%dx) \n\t"
-+ "xchgl %%ebx, %3 \n\t" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
-+#else
-+ "inl (%%dx)" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+#endif
- "0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETVERSION),
- "2"(BDOOR_PORT) : "memory");
- version[0] = eax;
-@@ -96,8 +104,16 @@
- {
- uint32 eax, ebx, ecx, edx;
-
-- __asm__ volatile("inl (%%dx)" :
-- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+ __asm__ volatile(
-+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
-+ "movl %%ebx, %3 \n\t"
-+ "inl (%%dx) \n\t"
-+ "xchgl %%ebx, %3 \n\t" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
-+#else
-+ "inl (%%dx)" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+#endif
- "0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETHWVERSION),
- "2"(BDOOR_PORT) : "memory");
- *hwVersion = eax;
-@@ -112,8 +128,16 @@
- {
- uint32 eax, ebx, ecx, edx;
-
-- __asm__ volatile("inl (%%dx)" :
-- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+ __asm__ volatile(
-+#if defined __PIC__ && !vm_x86_64 // %ebx is reserved by the compiler.
-+ "movl %%ebx, %3 \n\t"
-+ "inl (%%dx) \n\t"
-+ "xchgl %%ebx, %3 \n\t" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=r"(ebx) :
-+#else
-+ "inl (%%dx)" :
-+ "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :
-+#endif
- "0"(BDOOR_MAGIC), "1"(BDOOR_CMD_GETSCREENSIZE),
- "2"(BDOOR_PORT) : "memory");
- *screensize = eax;