Handle the TIOCMGET ioctl.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4291 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
index 94b5c71..a60f618 100644
--- a/coregrind/m_syswrap/syswrap-generic.c
+++ b/coregrind/m_syswrap/syswrap-generic.c
@@ -3096,6 +3096,9 @@
case VKI_TIOCMSET:
PRE_MEM_READ( "ioctl(TIOCMSET)", ARG3, sizeof(unsigned int) );
break;
+ case VKI_TIOCMGET:
+ PRE_MEM_WRITE( "ioctl(TIOCMGET)", ARG3, sizeof(unsigned int) );
+ break;
case VKI_TIOCLINUX:
PRE_MEM_READ( "ioctl(TIOCLINUX)", ARG3, sizeof(char *) );
if (*(char *)ARG3 == 11) {
@@ -3888,6 +3891,9 @@
case VKI_TIOCMBIC:
case VKI_TIOCMSET:
break;
+ case VKI_TIOCMGET:
+ POST_MEM_WRITE( ARG3, sizeof(unsigned int) );
+ break;
case VKI_TIOCLINUX:
POST_MEM_WRITE( ARG3, sizeof(char *) );
break;
diff --git a/include/vki-amd64-linux.h b/include/vki-amd64-linux.h
index 934a276..d1c2876 100644
--- a/include/vki-amd64-linux.h
+++ b/include/vki-amd64-linux.h
@@ -417,6 +417,7 @@
#define VKI_TIOCOUTQ 0x5411
#define VKI_TIOCGWINSZ 0x5413
#define VKI_TIOCSWINSZ 0x5414
+#define VKI_TIOCMGET 0x5415
#define VKI_TIOCMBIS 0x5416
#define VKI_TIOCMBIC 0x5417
#define VKI_TIOCMSET 0x5418
diff --git a/include/vki-ppc32-linux.h b/include/vki-ppc32-linux.h
index 85940d0..647254a 100644
--- a/include/vki-ppc32-linux.h
+++ b/include/vki-ppc32-linux.h
@@ -524,7 +524,7 @@
#define VKI_TIOCSCTTY 0x540E
//#define VKI_TIOCSTI 0x5412
-//#define VKI_TIOCMGET 0x5415
+#define VKI_TIOCMGET 0x5415
#define VKI_TIOCMBIS 0x5416
#define VKI_TIOCMBIC 0x5417
#define VKI_TIOCMSET 0x5418
diff --git a/include/vki-x86-linux.h b/include/vki-x86-linux.h
index 990c71c..550402a 100644
--- a/include/vki-x86-linux.h
+++ b/include/vki-x86-linux.h
@@ -520,6 +520,7 @@
#define VKI_TIOCOUTQ 0x5411
#define VKI_TIOCGWINSZ 0x5413
#define VKI_TIOCSWINSZ 0x5414
+#define VKI_TIOCMGET 0x5415
#define VKI_TIOCMBIS 0x5416
#define VKI_TIOCMBIC 0x5417
#define VKI_TIOCMSET 0x5418