From: Paul Floyd Date: Fri, 13 Sep 2024 07:34:26 +0000 (+0200) Subject: FreeBSD 13.4: change conditional compilation for recent syscalls X-Git-Tag: VALGRIND_3_24_0~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a682c879d059e957c9f7b0419f1eb8bcde6729b0;p=thirdparty%2Fvalgrind.git FreeBSD 13.4: change conditional compilation for recent syscalls --- diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index fc29f1c8a..df049d907 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -573,13 +573,14 @@ DECL_TEMPLATE(freebsd, sys_kqueuex) // 583 DECL_TEMPLATE(freebsd, sys_membarrier) // 584 #endif -#if (FREEBSD_VERS >= FREEBSD_14_0) +#if (FREEBSD_VERS >= FREEBSD_14_0) || (FREEBSD_VERS >= FREEBSD_13_4) DECL_TEMPLATE(freebsd, sys_timerfd_create) // 585 DECL_TEMPLATE(freebsd, sys_timerfd_gettime) // 586 DECL_TEMPLATE(freebsd, sys_timerfd_settime) // 587 -#if (FREEBSD_VERS >= FREEBSD_14_1) -DECL_TEMPLATE(freebsd, sys_kcmp) // 588 #endif + +#if (FREEBSD_VERS >= FREEBSD_14_1) || (FREEBSD_VERS >= FREEBSD_13_4) +DECL_TEMPLATE(freebsd, sys_kcmp) // 588 #endif DECL_TEMPLATE(freebsd, sys_fake_sigreturn) diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index b9532542a..bc792ae51 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -7119,7 +7119,7 @@ PRE(sys_membarrier) #endif -#if (FREEBSD_VERS >= FREEBSD_14_0) +#if (FREEBSD_VERS >= FREEBSD_14_0) || (FREEBSD_VERS >= FREEBSD_13_4) // SYS_timerfd_create 585 // int timerfd_create(int clockid, int flags); @@ -7194,7 +7194,9 @@ POST(sys_timerfd_settime) } } -#if (FREEBSD_VERS >= FREEBSD_14_1) +#endif // FREEBSD_14_0 or FREEDSD_13_4 + +#if (FREEBSD_VERS >= FREEBSD_14_1) || (FREEBSD_VERS >= FREEBSD_13_4) // SYS_kcmp 588 // int kcmp(pid_t pid1, pid_t pid2, int type, uintptr_t idx1, uintptr_t idx2); @@ -7220,9 +7222,7 @@ PRE(sys_kcmp) } } -#endif // FREEBSD_14_1 - -#endif // FREEBSD_14_0 +#endif // FREEBSD_14_1 or FREEDSD_13_4 #undef PRE #undef POST @@ -7957,16 +7957,17 @@ const SyscallTableEntry ML_(syscall_table)[] = { BSDXY(__NR_kqueuex, sys_kqueuex), // 583 BSDX_(__NR_membarrier, sys_membarrier), // 584 #endif -#if (FREEBSD_VERS >= FREEBSD_14_0) +#if (FREEBSD_VERS >= FREEBSD_14_0) || (FREEBSD_VERS >= FREEBSD_13_4) BSDXY(__NR_timerfd_create, sys_timerfd_create), // 585 BSDXY(__NR_timerfd_settime, sys_timerfd_settime), // 586 BSDXY(__NR_timerfd_gettime, sys_timerfd_gettime), // 587 -#if (FREEBSD_VERS >= FREEBSD_14_1) - BSDX_(__NR_kcmp, sys_kcmp), // 588 #endif +#if (FREEBSD_VERS >= FREEBSD_14_1) || (FREEBSD_VERS >= FREEBSD_13_4) + BSDX_(__NR_kcmp, sys_kcmp), // 588 #endif + BSDX_(__NR_fake_sigreturn, sys_fake_sigreturn), // 1000, fake sigreturn }; diff --git a/include/vki/vki-scnums-freebsd.h b/include/vki/vki-scnums-freebsd.h index 66f1a3717..17d8b11df 100644 --- a/include/vki/vki-scnums-freebsd.h +++ b/include/vki/vki-scnums-freebsd.h @@ -683,14 +683,18 @@ #endif -#if (FREEBSD_VERS >= FREEBSD_14_0) +#if (FREEBSD_VERS >= FREEBSD_14_0) || (FREEBSD_VERS >= FREEBSD_13_4) + #define __NR_timerfd_create 585 #define __NR_timerfd_gettime 586 #define __NR_timerfd_settime 587 -#if (FREEBSD_VERS >= FREEBSD_14_1) -#define __NR_kcmp 588 + #endif +#if (FREEBSD_VERS >= FREEBSD_14_1) || (FREEBSD_VERS >= FREEBSD_13_3) + +#define __NR_kcmp 588 + #endif #define __NR_fake_sigreturn 1000