[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:08:02 UTC 2019


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>
-Chris


More information about the igt-dev mailing list