From b850275d129b38ab65f879a91eda31dd2a49fdf50b11359c6d79f1b3bc29495a Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 10 Jul 2007 13:05:42 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xen?expand=0&rev=21 --- xen-warnings.diff | 131 ++++++++++++++++++++++++++++++++++++++++++++++ xen.changes | 6 +++ xen.spec | 5 +- 3 files changed, 141 insertions(+), 1 deletion(-) diff --git a/xen-warnings.diff b/xen-warnings.diff index ef85db1..540a3ea 100644 --- a/xen-warnings.diff +++ b/xen-warnings.diff @@ -417,6 +417,16 @@ Index: xen-3.1-testing/tools/libxc/xc_core.c static struct xc_core_section_headers* xc_core_shdr_init(void) +@@ -786,7 +786,8 @@ struct dump_args { + static int local_file_dump(void *args, char *buffer, unsigned int length) + { + struct dump_args *da = args; +- int bytes, offset; ++ int bytes; ++ unsigned int offset; + + for ( offset = 0; offset < length; offset += bytes ) + { Index: xen-3.1-testing/tools/libxc/xc_dom_elfloader.c =================================================================== --- xen-3.1-testing.orig/tools/libxc/xc_dom_elfloader.c @@ -432,3 +442,124 @@ Index: xen-3.1-testing/tools/libxc/xc_dom_elfloader.c elf_section_start(elf, shdr2), size); } +Index: xen-3.1-testing/tools/xenstore/Makefile +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/Makefile ++++ xen-3.1-testing/tools/xenstore/Makefile +@@ -6,7 +6,7 @@ MAJOR = 3.0 + MINOR = 0 + + PROFILE=#-pg +-BASECFLAGS=-Werror ++BASECFLAGS=-Werror -fno-strict-aliasing + # Make gcc generate dependencies. + BASECFLAGS += -Wp,-MD,.$(@F).d + PROG_DEP = .*.d +Index: xen-3.1-testing/tools/xenstore/xenstored_core.c +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/xenstored_core.c ++++ xen-3.1-testing/tools/xenstore/xenstored_core.c +@@ -79,8 +79,8 @@ static void check_store(void); + + int quota_nb_entry_per_domain = 1000; + int quota_nb_watch_per_domain = 128; +-int quota_max_entry_size = 2048; /* 2K */ +-int quota_max_transaction = 10; ++unsigned int quota_max_entry_size = 2048; /* 2K */ ++unsigned int quota_max_transaction = 10; + + #ifdef TESTING + static bool failtest = false; +@@ -1833,10 +1833,10 @@ int main(int argc, char *argv[]) + remove_local = false; + break; + case 'S': +- quota_max_entry_size = strtol(optarg, NULL, 10); ++ quota_max_entry_size = strtoul(optarg, NULL, 10); + break; + case 't': +- quota_max_transaction = strtol(optarg, NULL, 10); ++ quota_max_transaction = strtoul(optarg, NULL, 10); + break; + case 'T': + tracefile = optarg; +Index: xen-3.1-testing/tools/xenstore/xenstored_domain.c +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/xenstored_domain.c ++++ xen-3.1-testing/tools/xenstore/xenstored_domain.c +@@ -211,7 +211,7 @@ void handle_event(void) + { + evtchn_port_t port; + +- if ((port = xc_evtchn_pending(xce_handle)) == -1) ++ if ((port = xc_evtchn_pending(xce_handle)) == (evtchn_port_t)-1) + barf_perror("Failed to read from event fd"); + + if (port == virq_port) +@@ -520,7 +520,7 @@ static int dom0_init(void) + struct domain *dom0; + + port = xenbus_evtchn(); +- if (port == -1) ++ if (port == (evtchn_port_t)-1) + return -1; + + dom0 = new_domain(NULL, 0, port); +Index: xen-3.1-testing/tools/xenstore/xenstored_transaction.c +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/xenstored_transaction.c ++++ xen-3.1-testing/tools/xenstore/xenstored_transaction.c +@@ -67,7 +67,7 @@ struct transaction + struct list_head changes; + }; + +-extern int quota_max_transaction; ++extern unsigned int quota_max_transaction; + static unsigned int generation; + + /* Return tdb context to use for this connection. */ +Index: xen-3.1-testing/tools/xenstore/xenstore_client.c +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/xenstore_client.c ++++ xen-3.1-testing/tools/xenstore/xenstore_client.c +@@ -119,7 +119,7 @@ do_chmod(char *path, struct xs_permissio + char **xsval = xs_directory(xsh, xth, path, &xsval_n); + + if (xsval) { +- int i; ++ unsigned int i; + for (i = 0; i < xsval_n; i++) { + snprintf(buf, MAX_PATH_LEN, "%s/%s", path, xsval[i]); + +Index: xen-3.1-testing/tools/xenstore/xsls.c +=================================================================== +--- xen-3.1-testing.orig/tools/xenstore/xsls.c ++++ xen-3.1-testing/tools/xenstore/xsls.c +@@ -20,8 +20,7 @@ void print_dir(struct xs_handle *h, char + { + char **e; + char newpath[512], *val; +- int i; +- unsigned int num, len; ++ unsigned int i, num, len; + + e = xs_directory(h, XBT_NULL, path, &num); + if (e == NULL) +@@ -44,7 +43,7 @@ void print_dir(struct xs_handle *h, char + printf(":\n"); + } + else { +- if (max_width < (linewid + len + TAG_LEN)) { ++ if (max_width < (int)(linewid + len + TAG_LEN)) { + printf(" = \"%.*s...\"", + (int)(max_width - TAG_LEN - linewid), val); + } +@@ -67,7 +66,7 @@ void print_dir(struct xs_handle *h, char + warn("\ncould not access permissions for %s", e[i]); + } + else { +- int i; ++ unsigned int i; + fputs(" (", stdout); + for (i = 0; i < nperms; i++) { + if (i) diff --git a/xen.changes b/xen.changes index 3953fc2..1f5bfff 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jul 6 14:34:20 MDT 2007 - ccoffing@novell.com + +- xensource bug #858: Disable strict aliasing for xenstore, to + avoid domU hangs. + ------------------------------------------------------------------- Tue Jul 3 15:15:28 MDT 2007 - ccoffing@novell.com diff --git a/xen.spec b/xen.spec index d1b62a2..a1f8264 100644 --- a/xen.spec +++ b/xen.spec @@ -34,7 +34,7 @@ BuildRequires: glibc-32bit glibc-devel-32bit BuildRequires: kernel-source kernel-syms xorg-x11 %endif Version: 3.1.0_15042 -Release: 7 +Release: 9 License: GPL v2 or later Group: System/Kernel Autoreqprov: on @@ -929,6 +929,9 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info /sbin/ldconfig %changelog +* Fri Jul 06 2007 - ccoffing@novell.com +- xensource bug #858: Disable strict aliasing for xenstore, to + avoid domU hangs. * Tue Jul 03 2007 - ccoffing@novell.com - #285929: Bad "xendomains status" output w/ empty XENDOMAINS_SAVE * Tue Jul 03 2007 - carnold@novell.com