[igt-dev] [PATCH i-g-t] i915/gem_ctx_sseu: Fix 32-bit build
Guillaume Tucker
guillaume.tucker at collabora.com
Wed Feb 13 09:31:37 UTC 2019
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>
---
tests/i915/gem_ctx_sseu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/i915/gem_ctx_sseu.c b/tests/i915/gem_ctx_sseu.c
index 16609bee61c8..3afa5c152939 100644
--- a/tests/i915/gem_ctx_sseu.c
+++ b/tests/i915/gem_ctx_sseu.c
@@ -381,7 +381,7 @@ test_ggtt_args(int fd)
igt_assert_eq(__gem_context_get_param(fd, &arg), 0);
igt_assert_eq(__gem_context_set_param(fd, &arg), 0);
- munmap((void *)arg.value, 4096);
+ munmap((void *)(uintptr_t)arg.value, 4096);
gem_close(fd, bo);
gem_context_destroy(fd, arg.ctx_id);
}
--
2.11.0
More information about the igt-dev
mailing list