|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] xen: correct definition of uintptr_t on 32-bit platforms.
Currently uintptr_t is unsigned long for both 32- and 64- bit platforms but
__PRIPTR_PREFIX is just "" on 32-bit leading to:
error: format '%u' expects argument of type 'unsigned int', but argument 2
has type 'long unsigned int' [-Werror=format]
It was a bit of a tossup between changing __PREPTR_PREFIX and changing the
definition of uintptr_t. I went with the latter since it is consistent with
glibc.
Tested with:
printk("uintptr %"PRIuPTR"\n", (uintptr_t)a_convenient_local_var);
in a conveniently built place on unstable (x86_64, arm32, arm64) and Xen 4.2
(x86_32p & x86_64).
This error will be exposed by the fixes for XSA55 and therefore will need to
be backported along with those.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: ian.jackson@xxxxxxxxxxxxx
Cc: keir@xxxxxxx
Cc: jbeulich@xxxxxxxx
---
xen/include/xen/types.h | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 8596ded..641e1d1 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -57,6 +57,10 @@ typedef __u32 __be32;
typedef __u64 __le64;
typedef __u64 __be64;
+#if BITS_PER_LONG == 64
typedef unsigned long uintptr_t;
+#else
+typedef unsigned int uintptr_t;
+#endif
#endif /* __TYPES_H__ */
--
1.7.2.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |