[PATCH xserver 1/1] xfree86: Fix powerpc build with -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
Jeremy Huddleston
jeremyhu at apple.com
Wed Nov 2 09:52:24 PDT 2011
memType is a uint64_t on powerpc. Using memType only really makes
sense for *physical* addresses, which can be 64-bit for 32-bit
systems running on 64-bit hardware.
However, unmapVidMem() only deals with *virtual* addresses, which
are guaranteed to fit into an uintptr_t.
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
---
hw/xfree86/os-support/linux/lnx_video.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index 3d45511..d71d634 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -469,11 +469,11 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
static void
unmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
{
- memType alignOff = (memType)Base
- - ((memType)Base & ~(getpagesize() - 1));
+ uintptr_t alignOff = (uintptr_t)Base
+ - ((uintptr_t)Base & ~(getpagesize() - 1));
- DebugF("alignment offset: %lx\n",alignOff);
- munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
+ DebugF("alignment offset: %lx\n", (unsigned long)alignOff);
+ munmap((void *)((uintptr_t)Base - alignOff), (Size + alignOff));
}
--
1.7.7
More information about the xorg-devel
mailing list