Add support for TIOCNOTTY ioctl. BZ#331476.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14104 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 9df51e9..142638e 100644
--- a/NEWS
+++ b/NEWS
@@ -133,6 +133,7 @@
331305 configure uses bash specific syntax
331337 s390x WARNING: unhandled syscall: 326 (dup3)
331380 Syscall param timer_create(evp) points to uninitialised byte(s)
+331476 Patch to handle ioctl 0x5422 on Linux (x86 and amd64)
331830 ppc64: WARNING: unhandled syscall: 96/97
331839 drd/tests/sem_open specifies invalid semaphore name
331847 outcome of drd/tests/thread_name is nondeterministic
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index 1b1e65e..dfbe260 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -5519,6 +5519,7 @@
/* asm-generic/ioctls.h */
case VKI_FIOCLEX:
case VKI_FIONCLEX:
+ case VKI_TIOCNOTTY:
/* linux/soundcard interface (ALSA) */
case VKI_SNDRV_PCM_IOCTL_HW_FREE:
@@ -7164,6 +7165,8 @@
break;
case VKI_FIOCLEX:
break;
+ case VKI_TIOCNOTTY:
+ break;
case VKI_FIOASYNC:
break;
case VKI_FIONREAD: /* identical to SIOCINQ */
diff --git a/docs/internals/3_9_BUGSTATUS.txt b/docs/internals/3_9_BUGSTATUS.txt
index a3da971..0d551db 100644
--- a/docs/internals/3_9_BUGSTATUS.txt
+++ b/docs/internals/3_9_BUGSTATUS.txt
@@ -56,7 +56,6 @@
Probable wontfix
333434 In some weird corner case Valgrind cannot execute
executable files symlinked by /proc/self/fd (related to 331311?)
-331476 Patch to handle ioctl 0x5422 on Linux (x86 and amd64) (landable?)
331829 Unexpected ioctl opcode sign extension
333051 handling hugepages (is largely broken)
333788 Valgrind does not support the CDROM_DISC_STATUS ioctl (has patch)
diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h
index 3930148..273b8b5 100644
--- a/include/vki/vki-amd64-linux.h
+++ b/include/vki/vki-amd64-linux.h
@@ -461,6 +461,7 @@
#define VKI_FIONREAD 0x541B
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO 0x5421
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h
index 3ad6725..84e3a2c 100644
--- a/include/vki/vki-arm-linux.h
+++ b/include/vki/vki-arm-linux.h
@@ -502,6 +502,7 @@
#define VKI_FIONREAD 0x541B
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO 0x5421
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
diff --git a/include/vki/vki-arm64-linux.h b/include/vki/vki-arm64-linux.h
index 9a5afbf..1c13105 100644
--- a/include/vki/vki-arm64-linux.h
+++ b/include/vki/vki-arm64-linux.h
@@ -434,6 +434,7 @@
#define VKI_FIONREAD 0x541B
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO 0x5421
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425
#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int)
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int)
diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h
index 056fad2..8eed637 100644
--- a/include/vki/vki-ppc32-linux.h
+++ b/include/vki/vki-ppc32-linux.h
@@ -632,7 +632,7 @@
//# define VKI_TIOCPKT_NOSTOP 16
//# define VKI_TIOCPKT_DOSTOP 32
-//#define VKI_TIOCNOTTY 0x5422
+#define VKI_TIOCNOTTY 0x5422
//#define VKI_TIOCSETD 0x5423
//#define VKI_TIOCGETD 0x5424
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h
index dca1c24..8db1e4c 100644
--- a/include/vki/vki-ppc64-linux.h
+++ b/include/vki/vki-ppc64-linux.h
@@ -631,6 +631,7 @@
#define VKI_FIONREAD _VKI_IOR('f', 127, int)
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO _VKI_IOW('f', 126, int)
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int)
/* Get Pty Number (of pty-mux device) */
diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h
index dcb82a1..53c46f6 100644
--- a/include/vki/vki-s390x-linux.h
+++ b/include/vki/vki-s390x-linux.h
@@ -597,6 +597,7 @@
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO 0x5421
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h
index b368093..f23f3e4 100644
--- a/include/vki/vki-x86-linux.h
+++ b/include/vki/vki-x86-linux.h
@@ -540,6 +540,7 @@
#define VKI_FIONREAD 0x541B
#define VKI_TIOCLINUX 0x541C
#define VKI_FIONBIO 0x5421
+#define VKI_TIOCNOTTY 0x5422
#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */