> From: Tormod Volden <lists.tor...@gmail.com> > Date: Sun, 23 Jan 2011 12:47:04 +0100 > > From: Tormod Volden <debian.tor...@gmail.com> > > savage_dga.c: In function âSavage_OpenFramebufferâ: > savage_dga.c:393: warning: cast to pointer from integer of different size > > savage_dri.c: In function âSAVAGEDRIScreenInitâ: > savage_dri.c:924: warning: cast to pointer from integer of different size > --- > > Not sure if this is really the way to go, but I have seen similar > commits and it works for me.
This isn't really the right way to fix things. At least the casts should use uintptr_t instead of int. That way you won't truncate addresses on true 64-bit architectures. Or just leave these warnings there as a reminder of the misdesigned DGA and DRI APIs. They really should not try to store a "physical" address into a C pointer. > The remaining warnings that I see are more tricky, since the drm_handle_t > type in question is different on Linux and BSD: > > savage_dri.c:490: warning: format â%08lxâ expects type âlong unsigned > intâ, > but argument 5 has type âdrm_handle_tâ > > I guess we just have to live with those? > > Best regards, > Tormod > > src/savage_dga.c | 2 +- > src/savage_dri.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/savage_dga.c b/src/savage_dga.c > index 7a9e22c..92a179e 100644 > --- a/src/savage_dga.c > +++ b/src/savage_dga.c > @@ -390,7 +390,7 @@ Savage_OpenFramebuffer( > SavagePtr psav = SAVPTR(pScrn); > > *name = NULL; /* no special device */ > - *mem = (unsigned char*)psav->FbRegion.base; > + *mem = (unsigned char*)(int) psav->FbRegion.base; > *size = psav->videoRambytes; > *offset = 0; > *flags = DGA_NEED_ROOT; > diff --git a/src/savage_dri.c b/src/savage_dri.c > index e4ebf84..90d3442 100644 > --- a/src/savage_dri.c > +++ b/src/savage_dri.c > @@ -921,7 +921,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen ) > pDRIInfo->ddxDriverMinorVersion = SAVAGE_VERSION_MINOR; > pDRIInfo->ddxDriverPatchVersion = SAVAGE_PATCHLEVEL; > > - pDRIInfo->frameBufferPhysicalAddress = (pointer) psav->FbRegion.base; > + pDRIInfo->frameBufferPhysicalAddress = (pointer)(int) psav->FbRegion.base; > pDRIInfo->frameBufferSize = psav->videoRambytes; > pDRIInfo->frameBufferStride = pScrn->displayWidth*(pScrn->bitsPerPixel/8); > pDRIInfo->ddxDrawableTableEntry = SAVAGE_MAX_DRAWABLES; > -- > 1.7.0.4 > > _______________________________________________ > xorg-devel@lists.x.org: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > >
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel