[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] ARM32 - build-issues with xen/arm: vpl011: Add a new vuart node in the xenstore
On 5 October 2017 at 15:07, Wei Liu <wei.liu2@xxxxxxxxxx> wrote: > On Wed, Oct 04, 2017 at 09:58:32PM -0400, Konrad Rzeszutek Wilk wrote: >> I get this when compiling under ARM32 (Ubuntu 15.04, >> gcc (Ubuntu/Linaro 4.9.2-10ubuntu13) 4.9.2): >> >> libxl_console.c: In function ‘libxl__device_vuart_add’: >> libxl_console.c:379:5: error: format ‘%lu’ expects argument of type ‘long >> unsigned int’, but argument 3 has type ‘xen_pfn_t’ [-Werror=format=] >> flexarray_append(ro_front, GCSPRINTF("%lu", state->vuart_gfn)); >> ^ >> ; > > My Wheezy 32bit chroot didn't catch this, sigh. > > Does the following patch work? > > From ae531197382bf0bc003606a9712075bdd22cfc24 Mon Sep 17 00:00:00 2001 > From: Wei Liu <wei.liu2@xxxxxxxxxx> > Date: Thu, 5 Oct 2017 10:35:28 +0100 > Subject: [PATCH] libxl: use correct type modifier for vuart_gfn > MIME-Version: 1.0 > Content-Type: text/plain; charset=UTF-8 > Content-Transfer-Encoding: 8bit > > Fixes compilation error like: > > libxl_console.c: In function ‘libxl__device_vuart_add’: > libxl_console.c:379:5: error: format ‘%lu’ expects argument of type ‘long > unsigned int’, but argument 3 has type ‘xen_pfn_t’ [-Werror=format=] > flexarray_append(ro_front, GCSPRINTF("%lu", state->vuart_gfn)); > > Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> > --- > tools/libxl/libxl_console.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/libxl/libxl_console.c b/tools/libxl/libxl_console.c > index 13ecf128e2..c05dc28b99 100644 > --- a/tools/libxl/libxl_console.c > +++ b/tools/libxl/libxl_console.c > @@ -376,7 +376,7 @@ int libxl__device_vuart_add(libxl__gc *gc, uint32_t domid, > flexarray_append(ro_front, "port"); > flexarray_append(ro_front, GCSPRINTF("%"PRIu32, state->vuart_port)); > flexarray_append(ro_front, "ring-ref"); > - flexarray_append(ro_front, GCSPRINTF("%lu", state->vuart_gfn)); > + flexarray_append(ro_front, GCSPRINTF("%"PRI_xen_pfn, state->vuart_gfn)); Unfortunately, this is causing an issue as PRI_xen_pfn formats the value as a hexadecimal value but xenconsole later reads it as a decimal value and tries to map it, which fails and therefore vuart console initialization fails. Earlier, I verified only 32-bit compilation but did not test the change. It was a miss from my side. I have tested now with the format string changed to PRIu64 and the vuart console is working fine. Regards, Bhupinder _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |