https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=74ae5afa8650a1af7251d0c50757d1335a4ce0b9
commit 74ae5afa8650a1af7251d0c50757d1335a4ce0b9
Author: Paul Floyd <pj...@wa...>
Date: Sat Nov 23 08:13:05 2024 +0100
FreeBSD: fix a few warnings when building with GCC
Diff:
---
coregrind/m_sigframe/sigframe-amd64-freebsd.c | 2 +-
coregrind/m_sigframe/sigframe-x86-freebsd.c | 2 +-
coregrind/m_syswrap/syswrap-x86-freebsd.c | 8 ++++----
coregrind/pub_core_trampoline.h | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/coregrind/m_sigframe/sigframe-amd64-freebsd.c b/coregrind/m_sigframe/sigframe-amd64-freebsd.c
index f7ee95d3fc..1377c2baeb 100644
--- a/coregrind/m_sigframe/sigframe-amd64-freebsd.c
+++ b/coregrind/m_sigframe/sigframe-amd64-freebsd.c
@@ -258,7 +258,7 @@ static Addr build_sigframe(ThreadState *tst,
VG_TRACK( pre_mem_write, Vg_CoreSignal, tst->tid, "signal handler frame",
rsp, offsetof(struct sigframe, vg) );
- frame->retaddr = (Addr)&VG_(amd64_freebsd_SUBST_FOR_sigreturn);
+ frame->retaddr = (Addr)VG_(amd64_freebsd_SUBST_FOR_sigreturn);
if (siguc) {
trapno = siguc->uc_mcontext.trapno;
diff --git a/coregrind/m_sigframe/sigframe-x86-freebsd.c b/coregrind/m_sigframe/sigframe-x86-freebsd.c
index eaa4df264a..f631ad6f95 100644
--- a/coregrind/m_sigframe/sigframe-x86-freebsd.c
+++ b/coregrind/m_sigframe/sigframe-x86-freebsd.c
@@ -289,7 +289,7 @@ static Addr build_sigframe(ThreadState *tst,
esp, offsetof(struct sigframe, vg) );
frame->sigNo = sigNo;
- frame->retaddr = (Addr)&VG_(x86_freebsd_SUBST_FOR_sigreturn);
+ frame->retaddr = (Addr)VG_(x86_freebsd_SUBST_FOR_sigreturn);
if ((flags & VKI_SA_SIGINFO) == 0)
frame->psigInfo = (Addr)siginfo->si_code;
else
diff --git a/coregrind/m_syswrap/syswrap-x86-freebsd.c b/coregrind/m_syswrap/syswrap-x86-freebsd.c
index 102a7a0779..0ad3dda264 100644
--- a/coregrind/m_syswrap/syswrap-x86-freebsd.c
+++ b/coregrind/m_syswrap/syswrap-x86-freebsd.c
@@ -402,12 +402,12 @@ static void deallocate_LGDTs_for_thread ( VexGuestX86State* vex )
}
if (vex->guest_LDT != (HWord)NULL) {
- free_LDT_or_GDT( (VexGuestX86SegDescr*)vex->guest_LDT );
+ free_LDT_or_GDT( (VexGuestX86SegDescr*)(HWord)vex->guest_LDT );
vex->guest_LDT = (HWord)NULL;
}
if (vex->guest_GDT != (HWord)NULL) {
- free_LDT_or_GDT( (VexGuestX86SegDescr*)vex->guest_GDT );
+ free_LDT_or_GDT( (VexGuestX86SegDescr*)(HWord)vex->guest_GDT );
vex->guest_GDT = (HWord)NULL;
}
}
@@ -420,7 +420,7 @@ static SysRes sys_set_thread_area ( ThreadId tid, Int *idxptr, void *base)
vg_assert(8 == sizeof(VexGuestX86SegDescr));
vg_assert(sizeof(HWord) == sizeof(VexGuestX86SegDescr*));
- gdt = (VexGuestX86SegDescr*)VG_(threads)[tid].arch.vex.guest_GDT;
+ gdt = (VexGuestX86SegDescr*)(HWord)VG_(threads)[tid].arch.vex.guest_GDT;
/* If the thread doesn't have a GDT, allocate it now. */
if (!gdt) {
@@ -463,7 +463,7 @@ static SysRes sys_get_thread_area ( ThreadId tid, Int idx, void ** basep )
vg_assert(sizeof(HWord) == sizeof(VexGuestX86SegDescr*));
vg_assert(8 == sizeof(VexGuestX86SegDescr));
- gdt = (VexGuestX86SegDescr*)VG_(threads)[tid].arch.vex.guest_GDT;
+ gdt = (VexGuestX86SegDescr*)(HWord)VG_(threads)[tid].arch.vex.guest_GDT;
/* If the thread doesn't have a GDT, allocate it now. */
if (!gdt) {
diff --git a/coregrind/pub_core_trampoline.h b/coregrind/pub_core_trampoline.h
index d0bd6b8597..f92b6ab450 100644
--- a/coregrind/pub_core_trampoline.h
+++ b/coregrind/pub_core_trampoline.h
@@ -57,11 +57,11 @@ extern Addr VG_(trampoline_stuff_start);
extern Addr VG_(trampoline_stuff_end);
#if defined(VGP_x86_freebsd)
-extern void VG_(x86_freebsd_SUBST_FOR_sigreturn);
+extern void VG_(x86_freebsd_SUBST_FOR_sigreturn)(void);
#endif
#if defined(VGP_amd64_freebsd)
-extern void VG_(amd64_freebsd_SUBST_FOR_sigreturn);
+extern void VG_(amd64_freebsd_SUBST_FOR_sigreturn)(void);
#endif
#if defined(VGP_arm64_freebsd)
|