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 */