summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2006-08-10 21:29:01 +0000
committerSven Wegener <swegener@gentoo.org>2006-08-10 21:29:01 +0000
commit1b2c0eeba25dadf468a4a932d60aab3ef5cd99cf (patch)
tree1e984bcbca5bfe1522db5c9b5df30eb820ea285b
parentreplace postgresql dep with libpq, up dep on psycopg-2 to libpq-7.4 (#143444) (diff)
downloadgentoo-2-1b2c0eeba25dadf468a4a932d60aab3ef5cd99cf.tar.gz
gentoo-2-1b2c0eeba25dadf468a4a932d60aab3ef5cd99cf.tar.bz2
gentoo-2-1b2c0eeba25dadf468a4a932d60aab3ef5cd99cf.zip
Fix push and pop usage for amd64, bug #142682. Disable the 32bit-only vmxassist, if we can't compile x86 32bit code, bug #138314.
(Portage version: 2.1.1_pre4-r4)
-rw-r--r--app-emulation/xen-tools/ChangeLog9
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.0.2-bxclobber.patch26
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch32
-rw-r--r--app-emulation/xen-tools/metadata.xml4
-rw-r--r--app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild18
5 files changed, 83 insertions, 6 deletions
diff --git a/app-emulation/xen-tools/ChangeLog b/app-emulation/xen-tools/ChangeLog
index a42dbdee3550..b8929c8cc98a 100644
--- a/app-emulation/xen-tools/ChangeLog
+++ b/app-emulation/xen-tools/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for app-emulation/xen-tools
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.15 2006/08/09 09:51:44 aross Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.16 2006/08/10 21:29:01 swegener Exp $
+
+ 10 Aug 2006; Sven Wegener <swegener@gentoo.org>
+ +files/xen-tools-3.0.2-bxclobber.patch,
+ +files/xen-tools-3.0.2-pushpop.patch, -files/hardened-bx-clobber.patch,
+ metadata.xml, xen-tools-3.0.2-r2.ebuild:
+ Fix push and pop usage for amd64, bug #142682. Disable the 32bit-only
+ vmxassist, if we can't compile x86 32bit code, bug #138314.
10 Aug 2006; Andrew Ross <aross@gentoo.org> xen-tools-3.0.2-r2.ebuild:
Fix minor bug (debug USE flag ignored) introduced by the fix for bug #124361
diff --git a/app-emulation/xen-tools/files/xen-tools-3.0.2-bxclobber.patch b/app-emulation/xen-tools/files/xen-tools-3.0.2-bxclobber.patch
new file mode 100644
index 000000000000..8f0b5611f526
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.0.2-bxclobber.patch
@@ -0,0 +1,26 @@
+# HG changeset patch
+# User vhanquez@kneesa.uk.xensource.com
+# Date Mon Apr 10 14:51:10 2006 +0000
+# Node ID bdec77028194e6f51872b66b0575ed86ad542333
+# parent: 07af1b34d4c49ac52faaff6cb315231655212316
+fix bug #609 - error: PIC register `bx' clobbered in `asm'
+
+Signed-off-by: Vincent Hanquez <vincent@xensource.com>
+
+
+--- a/tools/ioemu/hw/vga.c Mon Apr 10 14:47:51 2006 +0100
++++ b/tools/ioemu/hw/vga.c Mon Apr 10 14:51:10 2006 +0000
+@@ -1369,10 +1369,10 @@ static inline unsigned int cpuid_edx(uns
+ {
+ unsigned int eax, edx;
+
+- __asm__("cpuid"
++ __asm__("pushl %%ebx; cpuid; popl %%ebx"
+ : "=a" (eax), "=d" (edx)
+ : "0" (op)
+- : "bx", "cx");
++ : "cx");
+
+ return edx;
+ }
+
diff --git a/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch b/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch
new file mode 100644
index 000000000000..807e007a6aa8
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch
@@ -0,0 +1,32 @@
+# HG changeset patch
+# User kaf24@firebug.cl.cam.ac.uk
+# Date Mon Apr 10 17:25:42 2006 +0100
+# Node ID c89d62e7015a25a48225daa929616a5ed44205b4
+# parent: 4088dd0856a9cbc7ef050d7272e81666b7dfbcc7
+Fix push/pop usage in tools/ioemu for x86/64.
+
+Signed-off-by: Keir Fraser <keir@xensource.com>
+
+
+
+--- a/tools/ioemu/hw/vga.c Mon Apr 10 17:16:25 2006 +0100
++++ b/tools/ioemu/hw/vga.c Mon Apr 10 17:25:42 2006 +0100
+@@ -1369,10 +1369,16 @@ static inline unsigned int cpuid_edx(uns
+ {
+ unsigned int eax, edx;
+
+- __asm__("pushl %%ebx; cpuid; popl %%ebx"
++#ifdef __x86_64__
++#define __bx "rbx"
++#else
++#define __bx "ebx"
++#endif
++ __asm__("push %%"__bx"; cpuid; pop %%"__bx
+ : "=a" (eax), "=d" (edx)
+ : "0" (op)
+ : "cx");
++#undef __ebx
+
+ return edx;
+ }
+
diff --git a/app-emulation/xen-tools/metadata.xml b/app-emulation/xen-tools/metadata.xml
index 4b5f7ad49065..be674b7e1ac6 100644
--- a/app-emulation/xen-tools/metadata.xml
+++ b/app-emulation/xen-tools/metadata.xml
@@ -14,4 +14,8 @@
<email>aross@gentoo.org</email>
<name>Andrew Ross</name>
</maintainer>
+<maintainer>
+ <email>swegener@gentoo.org</email>
+ <name>Sven Wegener</name>
+</maintainer>
</pkgmetadata>
diff --git a/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild b/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild
index ded1599e82f7..c66b82c52f9c 100644
--- a/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild
+++ b/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild,v 1.3 2006/08/09 09:51:44 aross Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.0.2-r2.ebuild,v 1.4 2006/08/10 21:29:01 swegener Exp $
-inherit mount-boot flag-o-matic distutils eutils
+inherit mount-boot flag-o-matic distutils eutils multilib
DESCRIPTION="Xend daemon and tools"
HOMEPAGE="http://xen.sourceforge.net"
@@ -57,6 +57,8 @@ pkg_setup() {
src_unpack() {
unpack ${A}
+ cd "${S}"
+
# if the user *really* wants to use their own custom-cflags, let them
if use custom-cflags; then
einfo "User wants their own CFLAGS - removing defaults"
@@ -75,15 +77,21 @@ src_unpack() {
sed -e "s/CFLAGS :=/CFLAGS := ${HARDFLAGS}/" \
-i "${S}"/tools/firmware/hvmloader/Makefile \
"${S}"/tools/firmware/vmxassist/Makefile
- cd "${S}"
- epatch "${FILESDIR}"/hardened-bx-clobber.patch
fi
+ # Disable the 32bit-only vmxassist, if we are not on x86 and we don't support the x86 ABI
+ if ! use x86 && ! has x86 $(get_all_abis); then
+ sed -i -e "/SUBDIRS += vmxassist/d" "${S}"tools/firmware/Makefile
+ fi
+
+ # Fixes for hardened and amd64
+ epatch "${FILESDIR}"/${P}-bxclobber.patch
+ epatch "${FILESDIR}"/${P}-pushpop.patch
+
# Allow --as-needed LDFLAGS
epatch "${FILESDIR}/${P}"--as-needed.patch
# Fix upstream's broken test cases (bug #141233)
- cd "${S}"
epatch "${FILESDIR}/${P}"-test-uuid.patch
epatch "${FILESDIR}/${P}"-test-xauthority.patch
}