aboutsummaryrefslogtreecommitdiffstats
path: root/main/xen
diff options
context:
space:
mode:
Diffstat (limited to 'main/xen')
-rw-r--r--main/xen/APKBUILD9
-rw-r--r--main/xen/xen-gcc-4.6-Werror-fix.patch36
-rw-r--r--main/xen/xen-x86-pic.patch19
3 files changed, 62 insertions, 2 deletions
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD
index 4df5c517e2..ef53c5ccbc 100644
--- a/main/xen/APKBUILD
+++ b/main/xen/APKBUILD
@@ -17,9 +17,11 @@ source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.g
xen-dont-use-lib64.patch
xen-sed-is-broken-hack.patch
blktap-write.patch
+ xen-x86-pic.patch
+ xen-gcc-4.6-Werror-fix.patch
xend.initd
xendomains.initd"
-arch="x86_64"
+arch="x86 x86_64"
_builddir="$srcdir"/$pkgname-$pkgver
@@ -75,7 +77,8 @@ package() {
unset CFLAGS
unset LDFLAGS
- make DESTDIR="$pkgdir" install-xen install-tools install-stubdom
+ make -j1 DESTDIR="$pkgdir" install-xen install-tools install-stubdom \
+ || return 1
install -m755 -D "$srcdir"/xend.initd "$pkgdir"/etc/init.d/xend
install -m755 -D "$srcdir"/xendomains.initd "$pkgdir"/etc/init.d/xendomains
@@ -88,5 +91,7 @@ a569f16a7e3c832ba3fab6154f657244 xen-disable-firmware.patch
20ce621f3a2fc8ae78e74b9b72da775c xen-dont-use-lib64.patch
0cec6a97de9e4bc178f3e71190495cc3 xen-sed-is-broken-hack.patch
56af00443c8d40944082e26304452a5e blktap-write.patch
+c4fc42b11c5917a93f66acf0f83a8747 xen-x86-pic.patch
+faafc199fa8cf33aac44e41c9e1659ea xen-gcc-4.6-Werror-fix.patch
1d81b04f8c8b919879a73f0e3d2fe80f xend.initd
a2b5234483f1b5892d22e9315d9c307f xendomains.initd"
diff --git a/main/xen/xen-gcc-4.6-Werror-fix.patch b/main/xen/xen-gcc-4.6-Werror-fix.patch
new file mode 100644
index 0000000000..b04ae9cae8
--- /dev/null
+++ b/main/xen/xen-gcc-4.6-Werror-fix.patch
@@ -0,0 +1,36 @@
+--- ./tools/python/xen/lowlevel/checkpoint/libcheckpoint.c.orig
++++ ./tools/python/xen/lowlevel/checkpoint/libcheckpoint.c
+@@ -820,12 +820,10 @@
+
+ static void stop_suspend_thread(checkpoint_state* s)
+ {
+- int err;
+-
+ s->done = 1;
+
+- err = sem_post(&s->resumed_sem);
++ (void)sem_post(&s->resumed_sem);
+
+- err = pthread_join(s->suspend_thr, NULL);
++ (void)pthread_join(s->suspend_thr, NULL);
+ s->suspend_thr = 0;
+ }
+--- ./tools/python/xen/lowlevel/netlink/libnetlink.c.orig
++++ ./tools/python/xen/lowlevel/netlink/libnetlink.c
+@@ -433,7 +433,7 @@
+ nladdr.nl_groups = 0;
+
+ while (1) {
+- int err, len, type;
++ int err, len;
+ int l;
+
+ status = fread(&buf, 1, sizeof(*h), rtnl);
+@@ -448,7 +448,6 @@
+ return 0;
+
+ len = h->nlmsg_len;
+- type= h->nlmsg_type;
+ l = len - sizeof(*h);
+
+ if (l<0 || len>sizeof(buf)) {
diff --git a/main/xen/xen-x86-pic.patch b/main/xen/xen-x86-pic.patch
new file mode 100644
index 0000000000..dcb4d0d817
--- /dev/null
+++ b/main/xen/xen-x86-pic.patch
@@ -0,0 +1,19 @@
+--- ./tools/misc/xen-detect.c.orig
++++ ./tools/misc/xen-detect.c
+@@ -41,8 +41,16 @@
+ int pv_context)
+ {
+ asm volatile (
++#if defined(__PIC__) && defined(__i386__)
++ "movl %%ebx, %%edi ;"
++ "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ;"
++ "1: cpuid ; "
++ "xchg %%ebx, %%edi"
++ : "=a" (*eax), "=D" (*ebx), "=c" (*ecx), "=d" (*edx)
++#else
+ "test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid"
+ : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
++#endif
+ : "0" (idx), "1" (pv_context) );
+ }
+