* [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
@ 2014-01-22 17:41 xenmail43267
2014-01-22 17:57 ` Samuel Thibault
2014-01-23 11:06 ` Ian Campbell
0 siblings, 2 replies; 6+ messages in thread
From: xenmail43267 @ 2014-01-22 17:41 UTC (permalink / raw)
To: xen-devel
Cc: Ian.Campbell, andrew.cooper3, Mike Neilsen, stefano.stabellini,
samuel.thibault, alex.sharp
From: Mike Neilsen <mneilsen@acm.org>
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 the following modifications:
* Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
avoid stack corruption
* Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
unsigned long in pcifront_physical_to_virtual and related functions
(extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
Signed-off-by: Mike Neilsen <mneilsen@acm.org>
---
Changed since v1:
* Change "fun" arguments into unsigned ints
---
| 4 ++--
| 12 ++++++------
| 14 +++++++-------
| 5 +++--
4 files changed, 18 insertions(+), 17 deletions(-)
--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;
--git a/extras/mini-os/include/pcifront.h b/extras/mini-os/include/pcifront.h
index 0a6be8e..1b05963 100644
--- a/extras/mini-os/include/pcifront.h
+++ b/extras/mini-os/include/pcifront.h
@@ -7,23 +7,23 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op);
void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun));
int pcifront_conf_read(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
unsigned int off, unsigned int size, unsigned int *val);
int pcifront_conf_write(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
unsigned int off, unsigned int size, unsigned int val);
int pcifront_enable_msi(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun);
+ unsigned int bus, unsigned int slot, unsigned int fun);
int pcifront_disable_msi(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun);
+ unsigned int bus, unsigned int slot, unsigned int fun);
int pcifront_enable_msix(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
struct xen_msix_entry *entries, int n);
int pcifront_disable_msix(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun);
+ unsigned int bus, unsigned int slot, unsigned int fun);
void shutdown_pcifront(struct pcifront_dev *dev);
--git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
index 16a4b49..0fc5b30 100644
--- a/extras/mini-os/pcifront.c
+++ b/extras/mini-os/pcifront.c
@@ -384,7 +384,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
unsigned int *dom,
unsigned int *bus,
unsigned int *slot,
- unsigned long *fun)
+ unsigned int *fun)
{
/* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
should be enough to hold the paths we need to construct, even
@@ -456,7 +456,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
int pcifront_conf_read(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
unsigned int off, unsigned int size, unsigned int *val)
{
struct xen_pci_op op;
@@ -486,7 +486,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
int pcifront_conf_write(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
unsigned int off, unsigned int size, unsigned int val)
{
struct xen_pci_op op;
@@ -513,7 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
int pcifront_enable_msi(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun)
+ unsigned int bus, unsigned int slot, unsigned int fun)
{
struct xen_pci_op op;
@@ -538,7 +538,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
int pcifront_disable_msi(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun)
+ unsigned int bus, unsigned int slot, unsigned int fun)
{
struct xen_pci_op op;
@@ -560,7 +560,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
int pcifront_enable_msix(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun,
+ unsigned int bus, unsigned int slot, unsigned int fun,
struct xen_msix_entry *entries, int n)
{
struct xen_pci_op op;
@@ -595,7 +595,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
int pcifront_disable_msix(struct pcifront_dev *dev,
unsigned int dom,
- unsigned int bus, unsigned int slot, unsigned long fun)
+ unsigned int bus, unsigned int slot, unsigned int fun)
{
struct xen_pci_op op;
--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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
2014-01-22 17:41 [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8 xenmail43267
@ 2014-01-22 17:57 ` Samuel Thibault
2014-01-22 18:47 ` Andrew Cooper
2014-01-23 11:06 ` Ian Campbell
1 sibling, 1 reply; 6+ messages in thread
From: Samuel Thibault @ 2014-01-22 17:57 UTC (permalink / raw)
To: xenmail43267
Cc: Ian.Campbell, andrew.cooper3, xen-devel, Mike Neilsen,
stefano.stabellini, alex.sharp
xenmail43267@gmail.com, le Wed 22 Jan 2014 11:41:11 -0600, a écrit :
> From: Mike Neilsen <mneilsen@acm.org>
>
> 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 the following modifications:
>
> * Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
> avoid stack corruption
> * Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
> unsigned long in pcifront_physical_to_virtual and related functions
> (extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
>
> Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
>
> Signed-off-by: Mike Neilsen <mneilsen@acm.org>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> Changed since v1:
> * Change "fun" arguments into unsigned ints
> ---
> extras/mini-os/fbfront.c | 4 ++--
> extras/mini-os/include/pcifront.h | 12 ++++++------
> extras/mini-os/pcifront.c | 14 +++++++-------
> extras/mini-os/xenbus/xenbus.c | 5 +++--
> 4 files changed, 18 insertions(+), 17 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/include/pcifront.h b/extras/mini-os/include/pcifront.h
> index 0a6be8e..1b05963 100644
> --- a/extras/mini-os/include/pcifront.h
> +++ b/extras/mini-os/include/pcifront.h
> @@ -7,23 +7,23 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op);
> void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun));
> int pcifront_conf_read(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int *val);
> int pcifront_conf_write(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int val);
> int pcifront_enable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> int pcifront_disable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> int pcifront_enable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> struct xen_msix_entry *entries, int n);
> int pcifront_disable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> void shutdown_pcifront(struct pcifront_dev *dev);
> diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
> index 16a4b49..0fc5b30 100644
> --- a/extras/mini-os/pcifront.c
> +++ b/extras/mini-os/pcifront.c
> @@ -384,7 +384,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
> unsigned int *dom,
> unsigned int *bus,
> unsigned int *slot,
> - unsigned long *fun)
> + unsigned int *fun)
> {
> /* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
> should be enough to hold the paths we need to construct, even
> @@ -456,7 +456,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
>
> int pcifront_conf_read(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int *val)
> {
> struct xen_pci_op op;
> @@ -486,7 +486,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
>
> int pcifront_conf_write(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int val)
> {
> struct xen_pci_op op;
> @@ -513,7 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
>
> int pcifront_enable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> @@ -538,7 +538,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
>
> int pcifront_disable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> @@ -560,7 +560,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
>
> int pcifront_enable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> struct xen_msix_entry *entries, int n)
> {
> struct xen_pci_op op;
> @@ -595,7 +595,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
>
> int pcifront_disable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> 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
>
--
Samuel
Client: "This program has been successfully installed."
Vendeur (surpris): "Et où voyez-vous une erreur ?"
Client: "C'est << HAS BEEN >> !"
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
2014-01-22 17:57 ` Samuel Thibault
@ 2014-01-22 18:47 ` Andrew Cooper
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Cooper @ 2014-01-22 18:47 UTC (permalink / raw)
To: Samuel Thibault, xenmail43267, xen-devel, alex.sharp,
Ian.Campbell, stefano.stabellini, Mike Neilsen
Cc: George Dunlap
On 22/01/14 17:57, Samuel Thibault wrote:
> xenmail43267@gmail.com, le Wed 22 Jan 2014 11:41:11 -0600, a écrit :
>> From: Mike Neilsen <mneilsen@acm.org>
>>
>> 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 the following modifications:
>>
>> * Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
>> avoid stack corruption
>> * Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
>> unsigned long in pcifront_physical_to_virtual and related functions
>> (extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
>>
>> Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
>>
>> Signed-off-by: Mike Neilsen <mneilsen@acm.org>
> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
And after peeking at the Coverity database,
Coverity-IDs: 1055807 1055808 10558091055810
As this relates to build issues, it should probably be considered for
inclusion in 4.4
~Andrew
>
>> ---
>> Changed since v1:
>> * Change "fun" arguments into unsigned ints
>> ---
>> extras/mini-os/fbfront.c | 4 ++--
>> extras/mini-os/include/pcifront.h | 12 ++++++------
>> extras/mini-os/pcifront.c | 14 +++++++-------
>> extras/mini-os/xenbus/xenbus.c | 5 +++--
>> 4 files changed, 18 insertions(+), 17 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/include/pcifront.h b/extras/mini-os/include/pcifront.h
>> index 0a6be8e..1b05963 100644
>> --- a/extras/mini-os/include/pcifront.h
>> +++ b/extras/mini-os/include/pcifront.h
>> @@ -7,23 +7,23 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op);
>> void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun));
>> int pcifront_conf_read(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int *val);
>> int pcifront_conf_write(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int val);
>> int pcifront_enable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> int pcifront_disable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> int pcifront_enable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> struct xen_msix_entry *entries, int n);
>> int pcifront_disable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> void shutdown_pcifront(struct pcifront_dev *dev);
>> diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
>> index 16a4b49..0fc5b30 100644
>> --- a/extras/mini-os/pcifront.c
>> +++ b/extras/mini-os/pcifront.c
>> @@ -384,7 +384,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
>> unsigned int *dom,
>> unsigned int *bus,
>> unsigned int *slot,
>> - unsigned long *fun)
>> + unsigned int *fun)
>> {
>> /* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
>> should be enough to hold the paths we need to construct, even
>> @@ -456,7 +456,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
>>
>> int pcifront_conf_read(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int *val)
>> {
>> struct xen_pci_op op;
>> @@ -486,7 +486,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
>>
>> int pcifront_conf_write(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int val)
>> {
>> struct xen_pci_op op;
>> @@ -513,7 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
>>
>> int pcifront_enable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> @@ -538,7 +538,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
>>
>> int pcifront_disable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> @@ -560,7 +560,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
>>
>> int pcifront_enable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> struct xen_msix_entry *entries, int n)
>> {
>> struct xen_pci_op op;
>> @@ -595,7 +595,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
>>
>> int pcifront_disable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> 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
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
2014-01-22 17:41 [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8 xenmail43267
2014-01-22 17:57 ` Samuel Thibault
@ 2014-01-23 11:06 ` Ian Campbell
2014-01-23 11:23 ` George Dunlap
1 sibling, 1 reply; 6+ messages in thread
From: Ian Campbell @ 2014-01-23 11:06 UTC (permalink / raw)
To: xenmail43267
Cc: George Dunlap, andrew.cooper3, xen-devel, Mike Neilsen,
stefano.stabellini, samuel.thibault, alex.sharp
On Wed, 2014-01-22 at 11:41 -0600, xenmail43267@gmail.com wrote:
> From: Mike Neilsen <mneilsen@acm.org>
>
> 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 the following modifications:
>
> * Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
> avoid stack corruption
> * Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
> unsigned long in pcifront_physical_to_virtual and related functions
> (extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
>
> Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
>
> Signed-off-by: Mike Neilsen <mneilsen@acm.org>
>
> ---
> Changed since v1:
> * Change "fun" arguments into unsigned ints
Thanks for shaving that yakk! Since you've done it I obviously rescind
my previous comments ;-) (I should have read all my mail first).
Acked-by: Ian Campbell <ian,campbell@citrix.com>
George -- as a build fix for a compiler which is now in the wild I think
this should go in for 4.4.
> ---
> extras/mini-os/fbfront.c | 4 ++--
> extras/mini-os/include/pcifront.h | 12 ++++++------
> extras/mini-os/pcifront.c | 14 +++++++-------
> extras/mini-os/xenbus/xenbus.c | 5 +++--
> 4 files changed, 18 insertions(+), 17 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/include/pcifront.h b/extras/mini-os/include/pcifront.h
> index 0a6be8e..1b05963 100644
> --- a/extras/mini-os/include/pcifront.h
> +++ b/extras/mini-os/include/pcifront.h
> @@ -7,23 +7,23 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op);
> void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun));
> int pcifront_conf_read(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int *val);
> int pcifront_conf_write(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int val);
> int pcifront_enable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> int pcifront_disable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> int pcifront_enable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> struct xen_msix_entry *entries, int n);
> int pcifront_disable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun);
> + unsigned int bus, unsigned int slot, unsigned int fun);
> void shutdown_pcifront(struct pcifront_dev *dev);
> diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
> index 16a4b49..0fc5b30 100644
> --- a/extras/mini-os/pcifront.c
> +++ b/extras/mini-os/pcifront.c
> @@ -384,7 +384,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
> unsigned int *dom,
> unsigned int *bus,
> unsigned int *slot,
> - unsigned long *fun)
> + unsigned int *fun)
> {
> /* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
> should be enough to hold the paths we need to construct, even
> @@ -456,7 +456,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
>
> int pcifront_conf_read(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int *val)
> {
> struct xen_pci_op op;
> @@ -486,7 +486,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
>
> int pcifront_conf_write(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> unsigned int off, unsigned int size, unsigned int val)
> {
> struct xen_pci_op op;
> @@ -513,7 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
>
> int pcifront_enable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> @@ -538,7 +538,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
>
> int pcifront_disable_msi(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> @@ -560,7 +560,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
>
> int pcifront_enable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun,
> + unsigned int bus, unsigned int slot, unsigned int fun,
> struct xen_msix_entry *entries, int n)
> {
> struct xen_pci_op op;
> @@ -595,7 +595,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
>
> int pcifront_disable_msix(struct pcifront_dev *dev,
> unsigned int dom,
> - unsigned int bus, unsigned int slot, unsigned long fun)
> + unsigned int bus, unsigned int slot, unsigned int fun)
> {
> struct xen_pci_op op;
>
> 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;
> }
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
2014-01-23 11:06 ` Ian Campbell
@ 2014-01-23 11:23 ` George Dunlap
2014-01-28 11:50 ` Ian Campbell
0 siblings, 1 reply; 6+ messages in thread
From: George Dunlap @ 2014-01-23 11:23 UTC (permalink / raw)
To: Ian Campbell, xenmail43267
Cc: andrew.cooper3, xen-devel, Mike Neilsen, stefano.stabellini,
samuel.thibault, alex.sharp
On 01/23/2014 11:06 AM, Ian Campbell wrote:
> On Wed, 2014-01-22 at 11:41 -0600, xenmail43267@gmail.com wrote:
>> From: Mike Neilsen <mneilsen@acm.org>
>>
>> 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 the following modifications:
>>
>> * Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
>> avoid stack corruption
>> * Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
>> unsigned long in pcifront_physical_to_virtual and related functions
>> (extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
>>
>> Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
>>
>> Signed-off-by: Mike Neilsen <mneilsen@acm.org>
>>
>> ---
>> Changed since v1:
>> * Change "fun" arguments into unsigned ints
>
> Thanks for shaving that yakk! Since you've done it I obviously rescind
> my previous comments ;-) (I should have read all my mail first).
>
> Acked-by: Ian Campbell <ian,campbell@citrix.com>
>
> George -- as a build fix for a compiler which is now in the wild I think
> this should go in for 4.4.
I agree.
Release-acked-by: George Dunlap <george.dunlap@eu.citrix.com>
>
>> ---
>> extras/mini-os/fbfront.c | 4 ++--
>> extras/mini-os/include/pcifront.h | 12 ++++++------
>> extras/mini-os/pcifront.c | 14 +++++++-------
>> extras/mini-os/xenbus/xenbus.c | 5 +++--
>> 4 files changed, 18 insertions(+), 17 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/include/pcifront.h b/extras/mini-os/include/pcifront.h
>> index 0a6be8e..1b05963 100644
>> --- a/extras/mini-os/include/pcifront.h
>> +++ b/extras/mini-os/include/pcifront.h
>> @@ -7,23 +7,23 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op);
>> void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun));
>> int pcifront_conf_read(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int *val);
>> int pcifront_conf_write(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int val);
>> int pcifront_enable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> int pcifront_disable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> int pcifront_enable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> struct xen_msix_entry *entries, int n);
>> int pcifront_disable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun);
>> + unsigned int bus, unsigned int slot, unsigned int fun);
>> void shutdown_pcifront(struct pcifront_dev *dev);
>> diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
>> index 16a4b49..0fc5b30 100644
>> --- a/extras/mini-os/pcifront.c
>> +++ b/extras/mini-os/pcifront.c
>> @@ -384,7 +384,7 @@ int pcifront_physical_to_virtual (struct pcifront_dev *dev,
>> unsigned int *dom,
>> unsigned int *bus,
>> unsigned int *slot,
>> - unsigned long *fun)
>> + unsigned int *fun)
>> {
>> /* FIXME: the buffer sizing is a little lazy here. 10 extra bytes
>> should be enough to hold the paths we need to construct, even
>> @@ -456,7 +456,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
>>
>> int pcifront_conf_read(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int *val)
>> {
>> struct xen_pci_op op;
>> @@ -486,7 +486,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
>>
>> int pcifront_conf_write(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> unsigned int off, unsigned int size, unsigned int val)
>> {
>> struct xen_pci_op op;
>> @@ -513,7 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
>>
>> int pcifront_enable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> @@ -538,7 +538,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
>>
>> int pcifront_disable_msi(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> @@ -560,7 +560,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
>>
>> int pcifront_enable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun,
>> + unsigned int bus, unsigned int slot, unsigned int fun,
>> struct xen_msix_entry *entries, int n)
>> {
>> struct xen_pci_op op;
>> @@ -595,7 +595,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
>>
>> int pcifront_disable_msix(struct pcifront_dev *dev,
>> unsigned int dom,
>> - unsigned int bus, unsigned int slot, unsigned long fun)
>> + unsigned int bus, unsigned int slot, unsigned int fun)
>> {
>> struct xen_pci_op op;
>>
>> 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;
>> }
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8
2014-01-23 11:23 ` George Dunlap
@ 2014-01-28 11:50 ` Ian Campbell
0 siblings, 0 replies; 6+ messages in thread
From: Ian Campbell @ 2014-01-28 11:50 UTC (permalink / raw)
To: George Dunlap
Cc: andrew.cooper3, xen-devel, Mike Neilsen, stefano.stabellini,
samuel.thibault, alex.sharp, xenmail43267
On Thu, 2014-01-23 at 11:23 +0000, George Dunlap wrote:
> On 01/23/2014 11:06 AM, Ian Campbell wrote:
> > On Wed, 2014-01-22 at 11:41 -0600, xenmail43267@gmail.com wrote:
> >> From: Mike Neilsen <mneilsen@acm.org>
> >>
> >> 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 the following modifications:
> >>
> >> * Andrew Cooper's recommendation applied to extras/mini-os/xenbus/xenbus.c to
> >> avoid stack corruption
> >> * Samuel Thibault's recommendation to make "fun" an unsigned int rather than an
> >> unsigned long in pcifront_physical_to_virtual and related functions
> >> (extras/mini-os/include/pcifront.h and extras/mini-os/pcifront.c)
> >>
> >> Tested on x86_64 gcc Ubuntu/Linaro 4.8.1-10ubuntu9.
> >>
> >> Signed-off-by: Mike Neilsen <mneilsen@acm.org>
> >>
> >> ---
> >> Changed since v1:
> >> * Change "fun" arguments into unsigned ints
> >
> > Thanks for shaving that yakk! Since you've done it I obviously rescind
> > my previous comments ;-) (I should have read all my mail first).
> >
> > Acked-by: Ian Campbell <ian,campbell@citrix.com>
> >
> > George -- as a build fix for a compiler which is now in the wild I think
> > this should go in for 4.4.
>
> I agree.
>
> Release-acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Applied, thanks everyone.
Ian.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-01-28 11:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-22 17:41 [PATCH v2] mini-os: Fix stubdom build failures on gcc 4.8 xenmail43267
2014-01-22 17:57 ` Samuel Thibault
2014-01-22 18:47 ` Andrew Cooper
2014-01-23 11:06 ` Ian Campbell
2014-01-23 11:23 ` George Dunlap
2014-01-28 11:50 ` Ian Campbell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.