diff --git a/NEWS b/NEWS index 9bd99a1f2..c692214a0 100644 --- a/NEWS +++ b/NEWS @@ -172,6 +172,7 @@ where XXXXXX is the bug number as listed below. 335441 unhandled ioctl 0x8905 (SIOCATMARK) when running wine under valgrind 335496 arm64: sbc/abc instructions are not implemented 336772 Make moans about unknown ioctls more informative +337285 fcntl commands F_OFD_SETLK, F_OFD_SETLKW, and F_OFD_GETLK not supported n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling n-i-bz s390x: Fix memory corruption for multithreaded applications n-i-bz vex arm->IR: allow PC as basereg in some LDRD cases diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index c195ca2d9..1b784f20d 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -5205,6 +5205,9 @@ PRE(sys_fcntl) case VKI_F_SETLK64: case VKI_F_SETLKW64: # endif + case VKI_F_OFD_GETLK: + case VKI_F_OFD_SETLK: + case VKI_F_OFD_SETLKW: PRINT("sys_fcntl[ARG3=='lock'] ( %ld, %ld, %#lx )", ARG1,ARG2,ARG3); PRE_REG_READ3(long, "fcntl", unsigned int, fd, unsigned int, cmd, diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h index fb65e03a8..ed6d56455 100644 --- a/include/vki/vki-amd64-linux.h +++ b/include/vki/vki-amd64-linux.h @@ -273,6 +273,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h index eb12f2dbf..39fa6a9f1 100644 --- a/include/vki/vki-arm-linux.h +++ b/include/vki/vki-arm-linux.h @@ -274,6 +274,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-arm64-linux.h b/include/vki/vki-arm64-linux.h index 4a16704d2..690505f14 100644 --- a/include/vki/vki-arm64-linux.h +++ b/include/vki/vki-arm64-linux.h @@ -246,6 +246,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-mips32-linux.h b/include/vki/vki-mips32-linux.h index a0aaea80f..d694f1de0 100644 --- a/include/vki/vki-mips32-linux.h +++ b/include/vki/vki-mips32-linux.h @@ -343,6 +343,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_GETLK64 33 /* using 'struct flock64' */ #define VKI_F_SETLK64 34 #define VKI_F_SETLKW64 35 diff --git a/include/vki/vki-mips64-linux.h b/include/vki/vki-mips64-linux.h index bf49bb327..c95146e93 100644 --- a/include/vki/vki-mips64-linux.h +++ b/include/vki/vki-mips64-linux.h @@ -348,6 +348,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_GETLK64 33 /* using 'struct flock64' */ #define VKI_F_SETLK64 34 #define VKI_F_SETLKW64 35 diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h index f71dae59c..6aea179c8 100644 --- a/include/vki/vki-ppc32-linux.h +++ b/include/vki/vki-ppc32-linux.h @@ -341,6 +341,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h index d239cab6f..7f7455802 100644 --- a/include/vki/vki-ppc64-linux.h +++ b/include/vki/vki-ppc64-linux.h @@ -390,6 +390,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h index b87894985..c380ec4ab 100644 --- a/include/vki/vki-s390x-linux.h +++ b/include/vki/vki-s390x-linux.h @@ -335,6 +335,10 @@ typedef struct vki_sigaltstack { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2 diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h index 8f080389d..c34e02740 100644 --- a/include/vki/vki-x86-linux.h +++ b/include/vki/vki-x86-linux.h @@ -312,6 +312,10 @@ struct vki_sigcontext { #define VKI_F_SETOWN_EX 15 #define VKI_F_GETOWN_EX 16 +#define VKI_F_OFD_GETLK 36 +#define VKI_F_OFD_SETLK 37 +#define VKI_F_OFD_SETLKW 38 + #define VKI_F_OWNER_TID 0 #define VKI_F_OWNER_PID 1 #define VKI_F_OWNER_PGRP 2