diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2014-09-05 13:20:22 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2014-09-05 13:20:22 +0000 |
commit | 5c9361edbc5562dd8b89df4dc861fdcb7d7a7cf6 (patch) | |
tree | 4c5bec7655a79021347cc887ec13d9db8892d984 /sys-apps/util-linux/files | |
parent | ppc/ppc64 stable wrt bug #518014 (diff) | |
download | gentoo-2-5c9361edbc5562dd8b89df4dc861fdcb7d7a7cf6.tar.gz gentoo-2-5c9361edbc5562dd8b89df4dc861fdcb7d7a7cf6.tar.bz2 gentoo-2-5c9361edbc5562dd8b89df4dc861fdcb7d7a7cf6.zip |
Version bump. Removed old
(Portage version: 2.2.12/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
Diffstat (limited to 'sys-apps/util-linux/files')
-rw-r--r-- | sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch b/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch deleted file mode 100644 index f66ffa707ae0..000000000000 --- a/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch +++ /dev/null @@ -1,81 +0,0 @@ -From f86d649d5f2522c61b791366a96e9f00cd255668 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Tue, 5 Aug 2014 18:58:52 -0400 -Subject: [PATCH] lscpu: clean up vmware inline asm - -This code is not PIC clean which means it fails to build on hardened -32bit x86 systems (i.e. building as PIE). - -While here, optimize the existing cpuid logic slightly. - -URL: https://bugs.gentoo.org/518936 -Signed-off-by: Mike Frysinger <vapier@gentoo.org> ---- - sys-utils/lscpu.c | 36 ++++++++++++++++++++++++++---------- - 1 file changed, 26 insertions(+), 10 deletions(-) - -diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c -index 062dff5..9965eeb 100644 ---- a/sys-utils/lscpu.c -+++ b/sys-utils/lscpu.c -@@ -546,10 +546,9 @@ cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx, - __asm__( - #if defined(__PIC__) && defined(__i386__) - /* x86 PIC cannot clobber ebx -- gcc bitches */ -- "pushl %%ebx;" -+ "xchg %%ebx, %%esi;" - "cpuid;" -- "movl %%ebx, %%esi;" -- "popl %%ebx;" -+ "xchg %%esi, %%ebx;" - : "=S" (*ebx), - #else - "cpuid;" -@@ -656,12 +655,29 @@ read_hypervisor_powerpc(struct lscpu_desc *desc) - #define VMWARE_BDOOR_PORT 0x5658 - #define VMWARE_BDOOR_CMD_GETVERSION 10 - --#define VMWARE_BDOOR(eax, ebx, ecx, edx) \ -- __asm__("inl (%%dx), %%eax" : \ -- "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) : \ -- "0"(VMWARE_BDOOR_MAGIC), "1"(VMWARE_BDOOR_CMD_GETVERSION), \ -- "2"(VMWARE_BDOOR_PORT), "3"(0) : \ -- "memory"); -+static inline -+void vmware_bdoor(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) -+{ -+ __asm__( -+#if defined(__PIC__) && defined(__i386__) -+ /* x86 PIC cannot clobber ebx -- gcc bitches */ -+ "xchg %%ebx, %%esi;" -+ "inl (%%dx), %%eax;" -+ "xchg %%esi, %%ebx;" -+ : "=S" (*ebx), -+#else -+ "inl (%%dx), %%eax;" -+ : "=b" (*ebx), -+#endif -+ "=a" (*eax), -+ "=c" (*ecx), -+ "=d" (*edx) -+ : "0" (VMWARE_BDOOR_MAGIC), -+ "1" (VMWARE_BDOOR_CMD_GETVERSION), -+ "2" (VMWARE_BDOOR_PORT), -+ "3" (0) -+ : "memory"); -+} - - static jmp_buf segv_handler_env; - -@@ -697,7 +713,7 @@ is_vmware_platform(void) - if (sigaction(SIGSEGV, &act, &oact)) - err(EXIT_FAILURE, _("error: can not set signal handler")); - -- VMWARE_BDOOR(eax, ebx, ecx, edx); -+ vmware_bdoor(&eax, &ebx, &ecx, &edx); - - if (sigaction(SIGSEGV, &oact, NULL)) - err(EXIT_FAILURE, _("error: can not restore signal handler")); --- -2.0.0 - |