]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
FreeBSD mknodat syscall dev arg is 64bits so the syscall needs splitting into amd64...
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 25 Feb 2023 15:09:41 +0000 (16:09 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 25 Feb 2023 15:09:41 +0000 (16:09 +0100)
coregrind/m_syswrap/syswrap-amd64-freebsd.c
coregrind/m_syswrap/syswrap-freebsd.c
coregrind/m_syswrap/syswrap-x86-freebsd.c

index 4372e6b7190461d43f783d79d8a601087e83566e..e54b157dd7662c29390d5b28daba72a5cd67eb87 100644 (file)
@@ -1043,6 +1043,16 @@ POST(sys_procctl)
    }
 }
 
+// SYS_mknodat 559
+// int mknodat(int fd, const char *path, mode_t mode, dev_t dev);
+PRE(sys_mknodat)
+{
+   PRINT("sys_mknodat ( %" FMT_REGWORD "u, %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", ARG1,ARG2,(char*)ARG2,ARG3,ARG4 );
+   PRE_REG_READ4(long, "mknodat",
+                 int, fd, const char *, path, vki_mode_t, mode, vki_dev_t, dev);
+   PRE_MEM_RASCIIZ( "mknodat(pathname)", ARG2 );
+}
+
 #if (FREEBSD_VERS >= FREEBSD_12)
 
 // SYS_cpuset_getdomain 561
index 1ab63ba491e23de03045519a55ff8441064a446a..0d64d5760578961a76f4163ab3ad283ce0d4ab10 100644 (file)
@@ -6310,14 +6310,7 @@ POST(sys_fhstatfs)
 }
 
 // SYS_mknodat 559
-// int mknodat(int fd, const char *path, mode_t mode, dev_t dev);
-PRE(sys_mknodat)
-{
-   PRINT("sys_mknodat ( %" FMT_REGWORD "u, %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", ARG1,ARG2,(char*)ARG2,ARG3,ARG4 );
-   PRE_REG_READ4(long, "mknodat",
-                 int, fd, const char *, path, vki_mode_t, mode, vki_dev_t, dev);
-   PRE_MEM_RASCIIZ( "mknodat(pathname)", ARG2 );
-}
+// x86 / amd64
 
 // SYS_kevent  560
 // int kevent(int kq, const struct kevent *changelist, int nchanges,
index e8e5a2f89d97703a20445d6fc8c5ebb7ceeadb23..61803a37b8e9d684e26ae0b1088ce71f81f39786 100644 (file)
@@ -1471,6 +1471,16 @@ POST(sys_procctl)
    }
 }
 
+// SYS_mknodat 559
+// int mknodat(int fd, const char *path, mode_t mode, dev_t dev);
+PRE(sys_mknodat)
+{
+   PRINT("sys_mknodat ( %" FMT_REGWORD "u, %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x, 0x%" FMT_REGWORD "x )", ARG1,ARG2,(char*)ARG2,ARG3,ARG4 );
+   PRE_REG_READ5(long, "mknodat",
+                 int, fd, const char *, path, vki_mode_t, mode, vki_uint32_t, MERGE64_FIRST(dev), vki_uint32_t, MERGE64_SECOND(idev))
+   PRE_MEM_RASCIIZ( "mknodat(pathname)", ARG2 );
+}
+
 #if (FREEBSD_VERS >= FREEBSD_12)
 
 // SYS_cpuset_getdomain 561