[igt-dev] [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_sseu: Fix 32-bit build

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 13 14:12:16 UTC 2019


Quoting Chris Wilson (2019-02-13 14:08:02)
> Quoting Guillaume Tucker (2019-02-13 09:31:37)
> > This fixes a compiler warning treated as an error when building for
> > 32-bit architectures since their pointer size does not match the size
> > of drm_i915_gem_context_param.value which is 64 bits:
> > 
> >   CC       i915/gem_ctx_sseu.o
> >   i915/gem_ctx_sseu.c: In function ‘test_ggtt_args’:
> >   i915/gem_ctx_sseu.c:384:9: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> >     munmap((void *)arg.value, 4096);
> > 
> > It was found while building for arm with gcc 6.3.0 and I suspect the
> > same problem would arise for i386 or other 32-bit architectures.  The
> > uintptr_t type is by definition an unsigned integer of the same length
> > as a pointer on a given architecture, so this should fix the problem
> > for all architectures up to 64 bits.
> > 
> > Signed-off-by: Guillaume Tucker <guillaume.tucker at collabora.com>
> 
> At some point, we should save our eyesight and do u64_to_pointer().
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

And pushed, having forgotten I wasn't using dim and forgot to auto-sob.
-Chris


More information about the igt-dev mailing list