diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/xen/APKBUILD | 15 | ||||
-rw-r--r-- | main/xen/fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch | 131 | ||||
-rw-r--r-- | main/xen/tools-update-ipxe-changeset.patch | 27 | ||||
-rw-r--r-- | main/xen/xenstore_client_transaction_fix.patch | 144 |
4 files changed, 4 insertions, 313 deletions
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD index d5554e3e0c..9fe120f685 100644 --- a/main/xen/APKBUILD +++ b/main/xen/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Roger Pau Monne <roger.pau@entel.upc.edu> # Maintainer: pkgname=xen -pkgver=4.11.1 -pkgrel=1 +pkgver=4.12.0 +pkgrel=0 pkgdesc="Xen hypervisor" url="https://www.xenproject.org/" arch="x86_64 armhf aarch64" # enable armv7 when builds with gcc8 @@ -186,8 +186,6 @@ source="https://downloads.xenproject.org/release/$pkgname/$pkgver/$pkgname-$pkgv https://xenbits.xen.org/xen-extfiles/zlib-$_ZLIB_VERSION.tar.gz https://xenbits.xen.org/xen-extfiles/ipxe-git-$_IPXE_GIT_TAG.tar.gz - fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch - tools-update-ipxe-changeset.patch mini-os-__divmoddi4.patch qemu-xen_paths.patch @@ -200,8 +198,6 @@ source="https://downloads.xenproject.org/release/$pkgname/$pkgver/$pkgname-$pkgv xen-hotplug-lockfd.patch xen-fd-is-file.c - xenstore_client_transaction_fix.patch - xenqemu-xattr-size-max.patch hotplug-Linux-iscsi-block-handle-lun-1.patch @@ -404,7 +400,7 @@ libs() { depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*.so.* \ - "$pkgdir"/usr/lib/fs \ + "$pkgdir"/usr/lib/xenfsimage \ "$subpkgdir"/usr/lib/ } @@ -439,7 +435,7 @@ EOF } -sha512sums="c1655c5decdaed95a2b9a99652318cfc72f6cfdae957cfe60d635f7787e8850f33e8fafc4c4b8d61fb579c9b9d93028a6382903e71808a0418b931e76d72a649 xen-4.11.1.tar.gz +sha512sums="0ce366dcac607c9b592c5e9c0f40652eef743913b246bed4b0c380b8d59ac23a6adcd05befec37fc799a61476f47df76d4911cbf1da6ceb51441c546bf2464de xen-4.12.0.tar.gz 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf gmp-4.3.2.tar.bz2 c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a3628bd00ba4d14a54742bc04848110eb3ae8ca25dbfbaabadb grub-0.97.tar.gz 1465b58279af1647f909450e394fe002ca165f0ff4a0254bfa9fe0e64316f50facdde2729d79a4e632565b4500cf4d6c74192ac0dd3bc9fe09129bbd67ba089d lwip-1.3.0.tar.gz @@ -449,8 +445,6 @@ c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a36 4928b5b82f57645be9408362706ff2c4d9baa635b21b0d41b1c82930e8c60a759b1ea4fa74d7e6c7cae1b7692d006aa5cb72df0c3b88bf049779aa2b566f9d35 tpm_emulator-0.7.4.tar.gz 021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e zlib-1.2.3.tar.gz 2b4ae8e65cd678dbb376f24001294eb54aead8d66456e06fc270dec178d90b282c1eb19731234d8b458054e49c5b8b8c4a89345c63ed0a4dafaf205e642b00b7 ipxe-git-d2063b7693e0e35db97b2264aa987eb6341ae779.tar.gz -2d5a2fa1eec7f666db1b1748570076c252bf03023f354b46c12d9acfc796778f0bdb6ee2fe57ffd4b617283ae53005372c65d2762b759dd3749567dc6a0621dd fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch -df51f4d90b9ff0bf52506270ca9acfb51320de45a64714d03adf8f370ab070a5d9e458f21c93cac563d3d046afddd732c33252a6a1c7423093ec29843cf50255 tools-update-ipxe-changeset.patch b9c754220187955d01ffbb6e030dace9d9aaae755db1765d07e407858c71a2cb0de04e0ab2099cd121d9e1bc1978af06c7dbd2fd805e06eca12ac5d527f15a52 mini-os-__divmoddi4.patch 1936ab39a1867957fa640eb81c4070214ca4856a2743ba7e49c0cd017917071a9680d015f002c57fa7b9600dbadd29dcea5887f50e6c133305df2669a7a933f3 qemu-xen_paths.patch f095ea373f36381491ad36f0662fb4f53665031973721256b23166e596318581da7cbb0146d0beb2446729adfdb321e01468e377793f6563a67d68b8b0f7ffe3 hotplug-vif-vtrill.patch @@ -459,7 +453,6 @@ f095ea373f36381491ad36f0662fb4f53665031973721256b23166e596318581da7cbb0146d0beb2 853467a2d055c5bfbdc7bdca175a334241be44a7c5ac3c0a84a4bc5463b5c070b66d37e2a557429ef860727a6b7350683af758cc2494d85b6be4d883143a2c0d elf_local.h 79cb1b6b81b17cb87a064dfe3548949dfb80f64f203cac11ef327102b7a25794549ce2d9c019ebf05f752214da8e05065e9219d069e679c0ae5bee3d090c685e xen-hotplug-lockfd.patch e76816c6ad0e91dc5f81947f266da3429b20e6d976c3e8c41202c6179532eec878a3f0913921ef3ac853c5dbad8082da3c9cd53b65081910516feb492577b7fc xen-fd-is-file.c -69dfa60628ca838678862383528654ecbdf4269cbb5c9cfb6b84d976202a8dea85d711aa65a52fa1b477fb0b30604ca70cf1337192d6fb9388a08bbe7fe56077 xenstore_client_transaction_fix.patch 2094ea964fa610b2bf72fd2c7ede7e954899a75c0f5b08030cf1d74460fb759ade84866176e32f8fe29c921dfdc6dafd2b31e23ab9b0a3874d3dceeabdd1913b xenqemu-xattr-size-max.patch 8c9cfc6afca325df1d8026e21ed03fa8cd2c7e1a21a56cc1968301c5ab634bfe849951899e75d328951d7a41273d1e49a2448edbadec0029ed410c43c0549812 hotplug-Linux-iscsi-block-handle-lun-1.patch 52c43beb2596d645934d0f909f2d21f7587b6898ed5e5e7046799a8ed6d58f7a09c5809e1634fa26152f3fd4f3e7cfa07da7076f01b4a20cc8f5df8b9cb77e50 xenstored.initd diff --git a/main/xen/fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch b/main/xen/fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch deleted file mode 100644 index 95dfbe80f8..0000000000 --- a/main/xen/fuzz-test-x86_emulator_disable_sse_before_including_always_inline.patch +++ /dev/null @@ -1,131 +0,0 @@ -From e8dfbc2962365ffa3d7ddcacaa5baaf4ed24b2af Mon Sep 17 00:00:00 2001 -From: Christopher Clark <christopher.clark6@baesystems.com> -Date: Tue, 25 Sep 2018 16:30:32 +0200 -Subject: [PATCH] fuzz, test x86_emulator: disable sse before including - always_inline fns - -Workaround for compiler rejection of SSE-using always_inlines defined before -SSE is disabled. - -Compiling with _FORTIFY_SOURCE or higher levels of optimization enabled -will always_inline several library fns (memset, memcpy, ...) -(with gcc 8.2.0 and glibc 2.28). - -In fuzz and x86_emulator test, the compiler is instructed not -to generate SSE instructions via: #pragma GCC target("no-sse") -because those registers are needed for use by the workload. - -The combination above causes compilation failure as the inline functions -use those instructions. This is resolved by reordering the inclusion of -<stdio.h> and <string.h> to after the pragma disabling SSE generation. - -It would be preferable to locate the no-sse pragma within x86-emulate.h at the -top of the file, prior to including any other headers; unfortunately doing so -before <stdlib.h> causes compilation failure due to declaration of 'atof' with: - "SSE register return with SSE disabled". -Fortunately there is no (known) current dependency on any always_inline -SSE-inclined function declared in <stdlib.h> or any of its dependencies, so the -pragma is therefore issued immediately after inclusion of <stdlib.h> with a -comment introduced to explain its location there. - -Add compile-time checks for unwanted prior inclusion of <string.h> and -<stdio.h>, which are the two headers that provide the library functions that -are handled with wrappers and listed within "x86-emulate.h" as ones "we think -might access any of the FPU state". -* Use standard-defined "EOF" macro to detect prior <stdio.h> inclusion. -* Use "_STRING_H" (non-standardized guard macro) as best-effort - for detection of prior <string.h> inclusion. This is non-universally - viable but will provide error output on common GLIBC systems, so - provides some defensive coverage. - -Adds conditional #include <stdio.h> to x86-emulate.h because fwrite, printf, -etc. are referenced when WRAP has been defined. - -Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> -Reviewed-by: Jan Beulich <jbeulich@suse.com> ---- - .../fuzz/x86_instruction_emulator/fuzz-emul.c | 10 +++++-- - tools/tests/x86_emulator/wrappers.c | 1 - - tools/tests/x86_emulator/x86-emulate.h | 28 +++++++++++++++++-- - 3 files changed, 34 insertions(+), 5 deletions(-) - -diff --git a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c -index 03a2473cdb3..0ffd0fbfe1c 100644 ---- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c -+++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c -@@ -6,9 +6,7 @@ - #include <stdbool.h> - #include <stddef.h> - #include <stdint.h> --#include <stdio.h> - #include <stdlib.h> --#include <string.h> - #include <sys/types.h> - #include <sys/stat.h> - #include <sys/mman.h> -@@ -16,6 +14,14 @@ - #include <xen/xen.h> - - #include "x86-emulate.h" -+/* -+ * include "x86-emulate.h" prior to <stdio.h> and <string.h>: -+ * x86-emulate.h disables use of SSE registers, while <stdio.h> and <string.h> -+ * declare functions that may be always_inline and use those registers -+ * unless they have been disabled earlier, which can fail to compile. -+ */ -+#include <stdio.h> -+#include <string.h> - #include "fuzz-emul.h" - - #define MSR_INDEX_MAX 16 -diff --git a/tools/tests/x86_emulator/wrappers.c b/tools/tests/x86_emulator/wrappers.c -index d02013c4b1d..eba7cc93c51 100644 ---- a/tools/tests/x86_emulator/wrappers.c -+++ b/tools/tests/x86_emulator/wrappers.c -@@ -1,5 +1,4 @@ - #include <stdarg.h> --#include <stdio.h> - - #define WRAP(x) typeof(x) emul_##x - #include "x86-emulate.h" -diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h -index b249e4673c3..08dead32fd7 100644 ---- a/tools/tests/x86_emulator/x86-emulate.h -+++ b/tools/tests/x86_emulator/x86-emulate.h -@@ -3,10 +3,34 @@ - #include <stddef.h> - #include <stdint.h> - #include <stdlib.h> -+/* -+ * Use of sse registers must be disabled prior to the definition of -+ * always_inline functions that would use them (memcpy, memset, etc), -+ * so do this as early as possible, aiming to be before any always_inline -+ * functions that are used are declared. -+ * Unfortunately, this cannot be done prior to inclusion of <stdlib.h> -+ * due to functions such as 'atof' that have SSE register return declared, -+ * so do so here, immediately after that. -+ */ -+#if __GNUC__ >= 6 -+# pragma GCC target("no-sse") -+#endif -+ /* -+ * Attempt detection of unwanted prior inclusion of some headers known to use -+ * always_inline with SSE registers in some library / compiler / optimization -+ * combinations. -+ */ -+#ifdef _STRING_H -+# error "Must not include <string.h> before x86-emulate.h" -+#endif - #include <string.h> - --#if __GNUC__ >= 6 --#pragma GCC target("no-sse") -+/* EOF is a standard macro defined in <stdio.h> so use it for detection */ -+#ifdef EOF -+# error "Must not include <stdio.h> before x86-emulate.h" -+#endif -+#ifdef WRAP -+# include <stdio.h> - #endif - - #include <xen/xen.h> diff --git a/main/xen/tools-update-ipxe-changeset.patch b/main/xen/tools-update-ipxe-changeset.patch deleted file mode 100644 index 4941ca0865..0000000000 --- a/main/xen/tools-update-ipxe-changeset.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9bf0dc74377bb2813a794e8080acf869ed9e0dc1 Mon Sep 17 00:00:00 2001 -From: Wei Liu <wei.liu2@citrix.com> -Date: Thu, 26 Jul 2018 15:58:53 +0100 -Subject: [PATCH] tools: update ipxe changeset - -This placates gcc 8.1. The commit comes from ipxe master branch as of -July 25, 2018. - -Signed-off-by: Wei Liu <wei.liu2@citrix.com> -Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> ---- - tools/firmware/etherboot/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile -index 4de6d24a13e..3868f876ea3 100644 ---- a/tools/firmware/etherboot/Makefile -+++ b/tools/firmware/etherboot/Makefile -@@ -10,7 +10,7 @@ else - IPXE_GIT_URL ?= git://git.ipxe.org/ipxe.git - endif - --IPXE_GIT_TAG := 356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d -+IPXE_GIT_TAG := d2063b7693e0e35db97b2264aa987eb6341ae779 - - IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz - diff --git a/main/xen/xenstore_client_transaction_fix.patch b/main/xen/xenstore_client_transaction_fix.patch deleted file mode 100644 index 134fc7fa66..0000000000 --- a/main/xen/xenstore_client_transaction_fix.patch +++ /dev/null @@ -1,144 +0,0 @@ ---- xen-4.7.0-orig/tools/xenstore/xenstore_client.c 2016-06-20 12:38:15.000000000 +0200 -+++ xen-4.7.0/tools/xenstore/xenstore_client.c 2016-10-05 03:16:39.372927512 +0200 -@@ -126,7 +126,7 @@ - - #define MIN(a, b) (((a) < (b))? (a) : (b)) - --static void do_ls(struct xs_handle *h, char *path, int cur_depth, int show_perms) -+static void do_ls(struct xs_handle *h, xs_transaction_t xth, char *path, int cur_depth, int show_perms) - { - char **e; - char *newpath, *val; -@@ -135,12 +135,14 @@ - unsigned int num, len; - - newpath = malloc(STRING_MAX); -- if (!newpath) -+ if (!newpath) { - err(1, "malloc in do_ls"); -+ } - -- e = xs_directory(h, XBT_NULL, path, &num); -- if (e == NULL) -+ e = xs_directory(h, xth, path, &num); -+ if (e == NULL) { - err(1, "xs_directory (%s)", path); -+ } - - for (i = 0; i<num; i++) { - char buf[MAX_STRLEN(unsigned int)+1]; -@@ -167,7 +169,7 @@ - - /* Fetch value */ - if ( newpath_len < STRING_MAX ) { -- val = xs_read(h, XBT_NULL, newpath, &len); -+ val = xs_read(h, xth, newpath, &len); - } - else { - /* Path was truncated and thus invalid */ -@@ -200,7 +202,7 @@ - free(val); - - if (show_perms) { -- perms = xs_get_permissions(h, XBT_NULL, newpath, &nperms); -+ perms = xs_get_permissions(h, xth, newpath, &nperms); - if (perms == NULL) { - warn("\ncould not access permissions for %s", e[i]); - } -@@ -219,7 +221,7 @@ - - putchar('\n'); - -- do_ls(h, newpath, cur_depth+1, show_perms); -+ do_ls(h, xth, newpath, cur_depth+1, show_perms); - } - free(e); - free(newpath); -@@ -417,7 +419,7 @@ - break; - } - case MODE_ls: { -- do_ls(xsh, argv[optind], 0, prefix); -+ do_ls(xsh, xth, argv[optind], 0, prefix); - optind++; - break; - } -@@ -505,7 +507,6 @@ - int upto = 0; - int recurse = 0; - int nr_watches = -1; -- int transaction; - struct winsize ws; - enum mode mode; - -@@ -612,43 +613,28 @@ - } - } - -- switch (mode) { -- case MODE_read: -- transaction = (argc - switch_argv - optind) > 1; -- break; -- case MODE_write: -- transaction = (argc - switch_argv - optind) > 2; -- break; -- case MODE_ls: -- case MODE_watch: -- transaction = 0; -- break; -- default: -- transaction = 1; -- break; -- } -- -- if ( mode == MODE_ls ) -- { -+ if ( mode == MODE_ls ) { - memset(&ws, 0, sizeof(ws)); - ret = ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws); -- if (!ret) -+ if (!ret) { - max_width = ws.ws_col - 2; - } -+ } - - xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : 0); -- if (xsh == NULL) err(1, "xs_open"); -+ if (xsh == NULL) { -+ err(1, "xs_open"); -+ } - - again: -- if (transaction) { - xth = xs_transaction_start(xsh); -- if (xth == XBT_NULL) -+ if (xth == XBT_NULL) { - errx(1, "couldn't start transaction"); - } - - ret = perform(mode, optind, argc - switch_argv, argv + switch_argv, xsh, xth, prefix, tidy, upto, recurse, nr_watches); - -- if (transaction && !xs_transaction_end(xsh, xth, ret)) { -+ if (!xs_transaction_end(xsh, xth, ret)) { - if (ret == 0 && errno == EAGAIN) { - output_pos = 0; - goto again; -@@ -656,14 +642,16 @@ - errx(1, "couldn't end transaction"); - } - -- if (output_pos) -+ if (output_pos) { - printf("%s", output_buf); -+ } - - free(output_buf); - free(ebuf.buf); - -- if (xsh) -+ if (xsh) { - xs_close(xsh); -+ } - - return ret; - } |