[rtems commit] cpukit/aarch64: Resolve warnings with ILP32 ABI
Joel Sherrill
joel at rtems.org
Tue Sep 26 13:37:54 UTC 2023
Module: rtems
Branch: master
Commit: f3f8aa5b9bc4da82a71fc4c12a35a67838a13e1b
Changeset: http://git.rtems.org/rtems/commit/?id=f3f8aa5b9bc4da82a71fc4c12a35a67838a13e1b
Author: Kinsey Moore <kinsey.moore at oarcorp.com>
Date: Mon Sep 25 15:32:23 2023 -0500
cpukit/aarch64: Resolve warnings with ILP32 ABI
Casts from uint64_t to void* must go through a uintptr_t cast to avoid
warnings when building with the ILP32 ABI since this is otherwise an
implicit truncation to 32bits for a pointer.
---
cpukit/libdl/rtl-mdreloc-aarch64.c | 7 +++++--
cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/cpukit/libdl/rtl-mdreloc-aarch64.c b/cpukit/libdl/rtl-mdreloc-aarch64.c
index 792dc91b2e..1eb1d1e87d 100644
--- a/cpukit/libdl/rtl-mdreloc-aarch64.c
+++ b/cpukit/libdl/rtl-mdreloc-aarch64.c
@@ -424,8 +424,11 @@ rtems_rtl_elf_reloc_rela (rtems_rtl_obj* obj,
}
if (rtems_rtl_trace (RTEMS_RTL_TRACE_RELOC))
- printf ("rtl: JUMP26/PC26/CALL: insn=%p where=%p target=%p raddr=%p parsing=%d\n",
- insn, (void*) where, (void*) target, (void*) raddr, parsing);
+ printf (
+ "rtl: JUMP26/PC26/CALL: insn=%p where=%p target=%p raddr=%p parsing=%d\n",
+ insn, (void*) where, (void*)(uintptr_t) target, (void*)(uintptr_t) raddr,
+ parsing
+ );
target = (intptr_t)target >> 2;
diff --git a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
index 095c5db5b9..8a0e476899 100644
--- a/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/aarch64/include/rtems/score/cpuimpl.h
@@ -178,7 +178,7 @@ static inline void *_CPU_Get_TLS_thread_pointer(
const Context_Control *context
)
{
- return (void *) context->thread_id;
+ return (void *)(uintptr_t) context->thread_id;
}
#ifdef __cplusplus
More information about the vc
mailing list