On Thu, Dec 10, 2015 at 04:43:29PM +0000, Tvrtko Ursulin wrote: > > Hi, > > On 10/12/15 14:58, Mika Kuoppala wrote: > >We get build error as we try to cast from ptr to integer > >of different size on 32 bit platforms. Use unsigned long > >as the cast, it will work with both 32 and 64 bit > >systems. > > > >Cc: Vinay Belgaumkar <vinay.belgaumkar@xxxxxxxxx> > >Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > >--- > > tests/gem_softpin.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > >diff --git a/tests/gem_softpin.c b/tests/gem_softpin.c > >index 7bee16b..0919716 100644 > >--- a/tests/gem_softpin.c > >+++ b/tests/gem_softpin.c > >@@ -155,7 +155,7 @@ static uint32_t init_userptr(int fd, i915_gem_userptr *userptr, void *ptr, > > > > memset((void*)userptr, 0, sizeof(i915_gem_userptr)); > > > >- userptr->user_ptr = (uint64_t)ptr; /* Need the cast to overcome compiler warning */ > >+ userptr->user_ptr = (unsigned long)ptr; /* Need the cast to overcome compiler warning */ > > userptr->user_size = size; > > userptr->flags = 0; /* use synchronized operation */ > > > >@@ -270,7 +270,7 @@ static void setup_execbuffer(struct drm_i915_gem_execbuffer2 *execbuf, > > struct drm_i915_gem_exec_object2 *exec_object, > > int ring, int buffer_count, int batch_length) > > { > >- execbuf->buffers_ptr = (uint64_t)exec_object; > >+ execbuf->buffers_ptr = (unsigned long)exec_object; > > execbuf->buffer_count = buffer_count; > > execbuf->batch_start_offset = 0; > > execbuf->batch_len = batch_length; > >@@ -417,7 +417,7 @@ static void gem_pin_bo_test(void) > > EXEC_OBJECT_PINNED, pinning_offset); > > setup_exec_obj(&exec_object2[1], batch_buf_handle, 0, 0); > > exec_object2[1].relocation_count = 1; > >- exec_object2[1].relocs_ptr = (uint64_t)reloc; > >+ exec_object2[1].relocs_ptr = (unsigned long)reloc; > > > > ring = I915_EXEC_RENDER; > > > > > > I had to try it to believe it and indeed gcc complains with > "warning: cast from pointer to integer of different size > [-Wpointer-to-int-cast]", which I don't really understand since cast > is to a wider or equally wide data type. > > Vinay had uintptr_t there originally which does not suffer from this > warning so this one is my fault. I don't get the gcc logic but > whatever. > > Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > Regards, > > Tvrtko > > Should have tested the build on 32-bit system as well. Thanks for the > fix. > Reviewed-by: Vinay Belgaumkar <vinay.belgaumkar@xxxxxxxxx> _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx