From 8a08df05966730f4fb2d5d95434e75a09a13f696 Mon Sep 17 00:00:00 2001
From: Frank Mehnert <frank.mehnert@kernkonzept.com>
Date: Mon, 29 Jul 2024 13:55:27 +0200
Subject: libdl: properly cast parameters for %p format string specifier

The "%p" format specifier requires a void pointer. Cast parameters of
type ElfW(Addr) to 'void *'.

This fixes warnings if _dl_if_debug_print() performs parameter type
checking.

Signed-off-by: Marcus Haehnel <marcus.haehnel@kernkonzept.com>
---
 ldso/libdl/libdl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'ldso')

diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
index 37c4a876e..6e50cb087 100644
--- a/ldso/libdl/libdl.c
+++ b/ldso/libdl/libdl.c
@@ -972,11 +972,11 @@ static int do_dlclose(void *vhandle, int need_fini)
 			end = (end + ADDR_ALIGN) & PAGE_ALIGN;
 			start = start & ~ADDR_ALIGN;
 			if (end > start) {
-				_dl_if_debug_print("unmapping: %s at %p with length: '%p' until %p\n", tpnt->libname, tpnt->mapaddr, end - start, tpnt->mapaddr + (end - start));
+				_dl_if_debug_print("unmapping: %s at %p with length: '%p' until %p\n", tpnt->libname, (void *)tpnt->mapaddr, (void *)(end - start), (void *)(tpnt->mapaddr + (end - start)));
 				DL_LIB_UNMAP (tpnt, end - start);
 			}
 			else {
-				_dl_if_debug_print("NOT unmapping: %s at %p. start<end ('%p'<'%p')", tpnt->libname, tpnt->mapaddr, start, end);
+				_dl_if_debug_print("NOT unmapping: %s at %p. start<end ('%p'<'%p')", tpnt->libname, (void *)tpnt->mapaddr, (void *)start, (void *)end);
 			}
 			/* Free elements in RTLD_LOCAL scope list */
 			for (runp = tpnt->rtld_local; runp; runp = tmp) {
-- 
cgit v1.2.3