[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] mini-os: Fix stubdom build failures on gcc 4.8
From: Mike Neilsen <mneilsen@xxxxxxx> This is a fix for bug 35: http://bugs.xenproject.org/xen/bug/35 This bug report describes several format string mismatches which prevent building the stubdom target in Xen 4.3 and Xen 4.4-rc2 on gcc 4.8. This is a copy of Alex Sharp's original patch with Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to avoid stack corruption. Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9. Signed-off-by: Mike Neilsen <mneilsen@xxxxxxx> --- extras/mini-os/fbfront.c | 4 ++-- extras/mini-os/pcifront.c | 2 +- extras/mini-os/xenbus/xenbus.c | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/extras/mini-os/fbfront.c b/extras/mini-os/fbfront.c index 1e01513..9cc07b4 100644 --- a/extras/mini-os/fbfront.c +++ b/extras/mini-os/fbfront.c @@ -105,7 +105,7 @@ again: free(err); } - err = xenbus_printf(xbt, nodename, "page-ref","%u", virt_to_mfn(s)); + err = xenbus_printf(xbt, nodename, "page-ref","%lu", virt_to_mfn(s)); if (err) { message = "writing page-ref"; goto abort_transaction; @@ -468,7 +468,7 @@ again: free(err); } - err = xenbus_printf(xbt, nodename, "page-ref","%u", virt_to_mfn(s)); + err = xenbus_printf(xbt, nodename, "page-ref","%lu", virt_to_mfn(s)); if (err) { message = "writing page-ref"; goto abort_transaction; diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c index 16a4b49..ce5180c 100644 --- a/extras/mini-os/pcifront.c +++ b/extras/mini-os/pcifront.c @@ -424,7 +424,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev, continue; } - if (sscanf(s, "%x:%x:%x.%x", dom, bus, slot, fun) != 4) { + if (sscanf(s, "%x:%x:%x.%lx", dom, bus, slot, fun) != 4) { printk("\"%s\" does not look like a PCI device address\n", s); free(s); continue; diff --git a/extras/mini-os/xenbus/xenbus.c b/extras/mini-os/xenbus/xenbus.c index ee1691b..c5d9b02 100644 --- a/extras/mini-os/xenbus/xenbus.c +++ b/extras/mini-os/xenbus/xenbus.c @@ -15,6 +15,7 @@ * **************************************************************************** **/ +#include <inttypes.h> #include <mini-os/os.h> #include <mini-os/mm.h> #include <mini-os/traps.h> @@ -672,7 +673,7 @@ char *xenbus_transaction_start(xenbus_transaction_t *xbt) err = errmsg(rep); if (err) return err; - sscanf((char *)(rep + 1), "%u", xbt); + sscanf((char *)(rep + 1), "%lu", xbt); free(rep); return NULL; } @@ -769,7 +770,7 @@ domid_t xenbus_get_self_id(void) domid_t ret; BUG_ON(xenbus_read(XBT_NIL, "domid", &dom_id)); - sscanf(dom_id, "%d", &ret); + sscanf(dom_id, "%"SCNd16, &ret); return ret; } -- 1.8.3.2 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |