Index: xen-3.2-testing/tools/misc/miniterm/miniterm.c =================================================================== --- xen-3.2-testing.orig/tools/misc/miniterm/miniterm.c +++ xen-3.2-testing/tools/misc/miniterm/miniterm.c @@ -157,7 +157,7 @@ int main(int argc, char **argv) case 0: close(1); /* stdout not needed */ for ( c = (char)getchar(); c != ENDMINITERM; c = (char)getchar() ) - write(fd,&c,1); + if (write(fd,&c,1)) ; tcsetattr(fd,TCSANOW,&oldsertio); tcsetattr(0,TCSANOW,&oldstdtio); close(fd); @@ -169,19 +169,19 @@ int main(int argc, char **argv) close(fd); exit(-1); default: - write(1, start_str, strlen(start_str)); + if (write(1, start_str, strlen(start_str))) ; close(0); /* stdin not needed */ sa.sa_handler = child_handler; sa.sa_flags = 0; sigaction(SIGCHLD,&sa,NULL); /* handle dying child */ while ( !stop ) { - read(fd,&c,1); /* modem */ + if (read(fd,&c,1)) ; /* modem */ c = (char)c; - write(1,&c,1); /* stdout */ + if (write(1,&c,1)) ; /* stdout */ } wait(NULL); /* wait for child to die or it will become a zombie */ - write(1, end_str, strlen(end_str)); + if (write(1, end_str, strlen(end_str))) ; break; } Index: xen-3.2-testing/xen/tools/symbols.c =================================================================== --- xen-3.2-testing.orig/xen/tools/symbols.c +++ xen-3.2-testing/xen/tools/symbols.c @@ -81,7 +81,8 @@ static int read_symbol(FILE *in, struct if (rc != 3) { if (rc != EOF) { /* skip line */ - fgets(str, 500, in); + if (fgets(str, sizeof(str), in) == NULL) + ; /* don't care */ } return -1; } Index: xen-3.2-testing/tools/libxc/xc_dom_elfloader.c =================================================================== --- xen-3.2-testing.orig/tools/libxc/xc_dom_elfloader.c +++ xen-3.2-testing/tools/libxc/xc_dom_elfloader.c @@ -195,8 +195,9 @@ static int xc_dom_load_elf_symtab(struct if ( load ) { + void * dst = (void*)elf_section_start(&syms, shdr); shdr2 = elf_shdr_by_index(elf, h); - memcpy((void*)elf_section_start(&syms, shdr), + memcpy(dst, elf_section_start(elf, shdr2), size); } Index: xen-3.2-testing/tools/xenstore/Makefile =================================================================== --- xen-3.2-testing.orig/tools/xenstore/Makefile +++ xen-3.2-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.2-testing/tools/xenstore/xenstored_core.c =================================================================== --- xen-3.2-testing.orig/tools/xenstore/xenstored_core.c +++ xen-3.2-testing/tools/xenstore/xenstored_core.c @@ -77,8 +77,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; TDB_CONTEXT *tdb_context(struct connection *conn) { @@ -1789,10 +1789,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.2-testing/tools/xenstore/xenstored_domain.c =================================================================== --- xen-3.2-testing.orig/tools/xenstore/xenstored_domain.c +++ xen-3.2-testing/tools/xenstore/xenstored_domain.c @@ -212,7 +212,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) @@ -516,7 +516,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.2-testing/tools/xenstore/xenstored_transaction.c =================================================================== --- xen-3.2-testing.orig/tools/xenstore/xenstored_transaction.c +++ xen-3.2-testing/tools/xenstore/xenstored_transaction.c @@ -82,7 +82,7 @@ struct transaction struct list_head changed_domains; }; -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.2-testing/tools/xenstore/xenstore_client.c =================================================================== --- xen-3.2-testing.orig/tools/xenstore/xenstore_client.c +++ xen-3.2-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.2-testing/tools/xenstore/xsls.c =================================================================== --- xen-3.2-testing.orig/tools/xenstore/xsls.c +++ xen-3.2-testing/tools/xenstore/xsls.c @@ -24,8 +24,7 @@ void print_dir(struct xs_handle *h, char char **e; char newpath[STRING_MAX], *val; int newpath_len; - int i; - unsigned int num, len; + unsigned int i, num, len; e = xs_directory(h, XBT_NULL, path, &num); if (e == NULL) @@ -69,7 +68,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), sanitise_value(&ebuf, val, len)); @@ -94,7 +93,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) Index: xen-3.2-testing/xen/arch/x86/x86_emulate.c =================================================================== --- xen-3.2-testing.orig/xen/arch/x86/x86_emulate.c +++ xen-3.2-testing/xen/arch/x86/x86_emulate.c @@ -31,7 +31,9 @@ #include #include #undef cmpxchg +#undef cpuid #endif +#undef wbinvd /* Macro'ed in include/asm-x86/system.h */ #include /* Operand sizes: 8-bit operands or specified/overridden size. */ Index: xen-3.2-testing/tools/libxen/src/xen_common.c =================================================================== --- xen-3.2-testing.orig/tools/libxen/src/xen_common.c +++ xen-3.2-testing/tools/libxen/src/xen_common.c @@ -1051,6 +1051,8 @@ static size_t size_of_member(const abstr default: assert(false); } + + return 0; /* prevents a compiler warning */ } @@ -1550,6 +1552,8 @@ get_val_as_string(const struct abstract_ default: assert(false); } + + return NULL; /* prevents a compiler warning */ }