]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Bug 480488 - Add support for FreeBSD 13.3
authorPaul Floyd <pjfloyd@wanadoo.fr>
Tue, 30 Jan 2024 20:23:48 +0000 (21:23 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Tue, 30 Jan 2024 20:23:48 +0000 (21:23 +0100)
NEWS
configure.ac
coregrind/m_syswrap/priv_syswrap-freebsd.h
coregrind/m_syswrap/syswrap-freebsd.c
include/vki/vki-freebsd.h
include/vki/vki-scnums-freebsd.h

diff --git a/NEWS b/NEWS
index 5f1f2f5d959e27e19cdf23df161b8eb6e45d0bef..d03bd777e376bcd4f054dd5adaec9acd884ed861 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -53,6 +53,7 @@ are not entered into bugzilla tend to get forgotten about or ignored.
 479041  Executables without RW sections do not trigger debuginfo reading
 480052  WARNING: unhandled amd64-freebsd syscall: 580
 480126  Build failure on Raspberry Pi 5 / OS 6.1.0-rpi7-rpi-v8
+480488  Add support for FreeBSD 13.3
 n-i-bz  Add redirect for memccpy
 
 To see details of a given bug, visit
index 8561ea9acce94e2574d3486db5a6e46f8b20c394..95f9ed4482e9ae02c93f0d01af02f59dfbbf0541 100755 (executable)
@@ -413,6 +413,8 @@ case "${host_os}" in
         freebsd_13_1=1310
         AC_DEFINE([FREEBSD_13_2], 1320, [FREEBSD_VERS value for FreeBSD 13.2])
         freebsd_13_2=1320
+        AC_DEFINE([FREEBSD_13_3], 1330, [FREEBSD_VERS value for FreeBSD 13.3])
+        freebsd_13_3=1330
         AC_DEFINE([FREEBSD_14], 1400, [FREEBSD_VERS value for FreeBSD 14.x])
         freebsd_14=1400
         AC_DEFINE([FREEBSD_15], 1500, [FREEBSD_VERS value for FreeBSD 15.x])
@@ -463,6 +465,11 @@ case "${host_os}" in
               AC_DEFINE([FREEBSD_VERS], FREEBSD_13_2, [FreeBSD version])
               freebsd_vers=$freebsd_13_2
               ;;
+           13.3-*)
+              AC_MSG_RESULT([FreeBSD 13.3 (${kernel})])
+              AC_DEFINE([FREEBSD_VERS], FREEBSD_13_3, [FreeBSD version])
+              freebsd_vers=$freebsd_13_3
+              ;;
            *)
               AC_MSG_RESULT([unsupported (${kernel})])
               AC_MSG_ERROR([Valgrind works on FreeBSD 10.x to 15.x])
index f40e3c7d2fed57aaca707dc7a5adb47502066a25..7e8924d889bf40f8ab9744594b0fa53bdf8ff144 100644 (file)
@@ -564,9 +564,12 @@ DECL_TEMPLATE(freebsd, sys_fspacectl) // 580
 DECL_TEMPLATE(freebsd, sys_swapoff) // 582
 #endif
 
-#if (FREEBSD_VERS >= FREEBSD_15)
+#if (FREEBSD_VERS >= FREEBSD_15) || (FREEBSD_VERS >= FREEBSD_13_3)
 DECL_TEMPLATE(freebsd, sys_kqueuex) // 583
 DECL_TEMPLATE(freebsd, sys_membarrier) // 584
+#endif
+
+#if (FREEBSD_VERS >= FREEBSD_15)
 DECL_TEMPLATE(freebsd, sys_timerfd_create) // 585
 DECL_TEMPLATE(freebsd, sys_timerfd_gettime) // 586
 DECL_TEMPLATE(freebsd, sys_timerfd_settime) // 587
index d7e63ef4bbff7978ea869b0048e9f42a9824b7d3..18717a89724a444487b65eeb48c9e9edd0b2362d 100644 (file)
@@ -4706,7 +4706,7 @@ PRE(sys__umtx_op)
                     struct umtx_robust_lists_params *, obj, int, op, unsigned long, flags);
       PRE_MEM_READ( "_umtx_op_robust_lists(mutex)", ARG3, sizeof(struct vki_umtx_robust_lists_params) );
       break;
-#if (FREEBSD_VERS >= FREEBSD_14)
+#if (FREEBSD_VERS >= FREEBSD_13_3)
    case VKI_UMTX_OP_GET_MIN_TIMEOUT:
       PRINT( "sys__umtx_op ( GET_MIN_TIMEOUT, %#" FMT_REGWORD "x)", ARG4);
       // bit of a pain just reads args 2 and 4
@@ -4794,7 +4794,7 @@ POST(sys__umtx_op)
    case VKI_UMTX_OP_SHM:
    case VKI_UMTX_OP_ROBUST_LISTS:
       break;
-#if (FREEBSD_VERS >= FREEBSD_14)
+#if (FREEBSD_VERS >= FREEBSD_13_3)
    case VKI_UMTX_OP_GET_MIN_TIMEOUT:
       POST_MEM_WRITE( ARG4, sizeof(long int) );
       break;
@@ -6991,7 +6991,7 @@ PRE(sys_swapoff)
 
 #endif
 
-#if (FREEBSD_VERS >= FREEBSD_15)
+#if (FREEBSD_VERS >= FREEBSD_15) || (FREEBSD_VERS >= FREEBSD_13_3)
 
 // SYS_kqueuex 583
 // int kqueuex(u_int flags);
@@ -7025,6 +7025,10 @@ PRE(sys_membarrier)
    PRE_REG_READ3(int, "membarrier", int, cmd, unsigned, flags, int, cpu_id);
 }
 
+#endif
+
+#if (FREEBSD_VERS >= FREEBSD_15)
+
 // SYS_timerfd_create 585
 // int timerfd_create(int clockid, int flags);
 PRE(sys_timerfd_create)
@@ -7820,9 +7824,11 @@ const SyscallTableEntry ML_(syscall_table)[] = {
    BSDX_(__NR_swapoff,          sys_swapoff),           // 582
 #endif
 
-#if (FREEBSD_VERS >= FREEBSD_15)
+#if (FREEBSD_VERS >= FREEBSD_15) || (FREEBSD_VERS >= FREEBSD_13_3)
    BSDXY(__NR_kqueuex,          sys_kqueuex),           // 583
    BSDX_(__NR_membarrier,       sys_membarrier),        // 584
+#endif
+#if (FREEBSD_VERS >= FREEBSD_15)
    BSDXY(__NR_timerfd_create,   sys_timerfd_create),    // 585
    BSDXY(__NR_timerfd_settime,  sys_timerfd_settime),   // 586
    BSDXY(__NR_timerfd_gettime,  sys_timerfd_gettime),   // 587
index abbdf49c276057f025a2978d7d647fa601c39b8d..bd4f099765bc8ddec1d46ccff7bf205f6a017774 100644 (file)
@@ -2084,7 +2084,7 @@ struct vki_umtx_robust_lists_params {
 #define VKI_UMTX_OP_SEM2_WAKE       24
 #define VKI_UMTX_OP_SHM             25
 #define VKI_UMTX_OP_ROBUST_LISTS    26
-#if (FREEBSD_VERS >= FREEBSD_14)
+#if (FREEBSD_VERS >= FREEBSD_13_3)
 #define VKI_UMTX_OP_GET_MIN_TIMEOUT 27
 #define VKI_UMTX_OP_SET_MIN_TIMEOUT 28
 #endif
index 1be22fa5016a571d2b37d2d30cf1a26f3c24cd10..344b932fa73fc0bcd6f821020d8fa6757bacd2b2 100644 (file)
 
 #endif
 
-#if (FREEBSD_VERS >= FREEBSD_15)
+#if (FREEBSD_VERS >= FREEBSD_15) || (FREEBSD_VERS >= FREEBSD_13_3)
 
 #define __NR_kqueuex             583
 #define __NR_membarrier          584
+
+#endif
+
+#if (FREEBSD_VERS >= FREEBSD_15)
 #define __NR_timerfd_create      585
 #define __NR_timerfd_gettime     586
 #define __NR_timerfd_settime     587