From 8e0fe39248dd6a0a632d98426c8041b1a2b145ee Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Fri, 24 Jan 2025 15:39:37 +0100 Subject: [PATCH] libdrm: explicitly convert values to __u64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevent errors like follows. error: invalid cast from type ‘size_t’ {aka ‘long unsigned int’} to type ‘__u64’ {aka ‘long long unsigned int’} Issue #5431 --- repos/libports/src/lib/libdrm/ioctl_etnaviv.cc | 8 ++++---- repos/libports/src/lib/libdrm/ioctl_lima.cc | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/repos/libports/src/lib/libdrm/ioctl_etnaviv.cc b/repos/libports/src/lib/libdrm/ioctl_etnaviv.cc index df7bca20f0..11b2269e38 100644 --- a/repos/libports/src/lib/libdrm/ioctl_etnaviv.cc +++ b/repos/libports/src/lib/libdrm/ioctl_etnaviv.cc @@ -163,7 +163,7 @@ void Etnaviv::serialize(drm_etnaviv_gem_submit *submit, char *content) }; for_each_object((drm_etnaviv_gem_submit_bo*)submit->bos, submit->nr_bos, copy_bos); - submit->bos = reinterpret_cast<__u64>(new_start); + submit->bos = __u64(new_start); } /* next are the relocs */ @@ -177,7 +177,7 @@ void Etnaviv::serialize(drm_etnaviv_gem_submit *submit, char *content) }; for_each_object((drm_etnaviv_gem_submit_reloc*)submit->relocs, submit->nr_relocs, copy_relocs); - submit->relocs = reinterpret_cast<__u64>(new_start); + submit->relocs = __u64(new_start); } /* next are the pmrs */ @@ -190,7 +190,7 @@ void Etnaviv::serialize(drm_etnaviv_gem_submit *submit, char *content) }; for_each_object((drm_etnaviv_gem_submit_pmr*)submit->pmrs, submit->nr_pmrs, copy_pmrs); - submit->pmrs = reinterpret_cast<__u64>(new_start); + submit->pmrs = __u64(new_start); } /* next is the cmd stream */ @@ -200,7 +200,7 @@ void Etnaviv::serialize(drm_etnaviv_gem_submit *submit, char *content) char * const dst = content + offset; Genode::memcpy(dst, reinterpret_cast(submit->stream), submit->stream_size); offset += submit->stream_size; - submit->stream = reinterpret_cast<__u64>(new_start); + submit->stream = __u64(new_start); } /* copy submit object last but into the front */ diff --git a/repos/libports/src/lib/libdrm/ioctl_lima.cc b/repos/libports/src/lib/libdrm/ioctl_lima.cc index 28fa91da53..b71203d833 100644 --- a/repos/libports/src/lib/libdrm/ioctl_lima.cc +++ b/repos/libports/src/lib/libdrm/ioctl_lima.cc @@ -166,7 +166,7 @@ void Lima::serialize(drm_lima_gem_submit *submit, char *content) }; for_each_object((drm_lima_gem_submit_bo*)submit->bos, submit->nr_bos, copy_bos); - submit->bos = reinterpret_cast<__u64>(new_start); + submit->bos = __u64(new_start); } /* next is the frame */ @@ -176,7 +176,7 @@ void Lima::serialize(drm_lima_gem_submit *submit, char *content) char * const dst = content + offset; Genode::memcpy(dst, reinterpret_cast(submit->frame), submit->frame_size); offset += submit->frame_size; - submit->frame = reinterpret_cast<__u64>(new_start); + submit->frame = __u64(new_start); } /* copy submit object last but into the front */ @@ -730,7 +730,7 @@ class Lima::Call (void)_apply_handle(arg.handle, [&] (Vram &b) { if (!b.mmap(_env)) return; - arg.offset = reinterpret_cast<::uint64_t>(b.mmap_addr()); + arg.offset = __u64(b.mmap_addr()); Gpu::Virtual_address const va = b.va; if (va.value == (Gpu::addr_t)-1)