From: Tom Hughes Date: Wed, 10 Aug 2011 14:25:06 +0000 (+0000) Subject: Add support for the FIOQSIZE ioctl. Fixes #270320. X-Git-Tag: svn/VALGRIND_3_7_0~274 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a7707d8be19c5fbccc513af712c9ee822fa407b;p=thirdparty%2Fvalgrind.git Add support for the FIOQSIZE ioctl. Fixes #270320. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11963 --- diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 7add3ee8c5..5cfa0180d7 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -4007,6 +4007,9 @@ PRE(sys_ioctl) case VKI_FIONREAD: /* identical to SIOCINQ */ PRE_MEM_WRITE( "ioctl(FIONREAD)", ARG3, sizeof(int) ); break; + case VKI_FIOQSIZE: + PRE_MEM_WRITE( "ioctl(FIOQSIZE)", ARG3, sizeof(vki_loff_t) ); + break; case VKI_TIOCSERGETLSR: PRE_MEM_WRITE( "ioctl(TIOCSERGETLSR)", ARG3, sizeof(int) ); @@ -5102,6 +5105,9 @@ POST(sys_ioctl) case VKI_FIONREAD: /* identical to SIOCINQ */ POST_MEM_WRITE( ARG3, sizeof(int) ); break; + case VKI_FIOQSIZE: + POST_MEM_WRITE( ARG3, sizeof(vki_loff_t) ); + break; case VKI_TIOCSERGETLSR: POST_MEM_WRITE( ARG3, sizeof(int) ); diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h index 21ed427393..4087f5e504 100644 --- a/include/vki/vki-arm-linux.h +++ b/include/vki/vki-arm-linux.h @@ -496,6 +496,12 @@ struct vki_termios { #define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ +//---------------------------------------------------------------------- +// From linux-2.6.39-rc2/arch/arm/include/asm/ioctls.h +//---------------------------------------------------------------------- + +#define VKI_FIOQSIZE 0x545E + //---------------------------------------------------------------------- // From asm-generic/poll.h //---------------------------------------------------------------------- diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index 13f1ffcb4f..7aec781d88 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -2751,6 +2751,14 @@ struct vki_getcpu_cache { #define VKI_EV_MAX 0x1f #define VKI_EV_CNT (VKI_EV_MAX+1) +//---------------------------------------------------------------------- +// From linux-2.6.39-rc2/include/asm_generic/ioctls.h +//---------------------------------------------------------------------- + +#ifndef VKI_FIOQSIZE +#define VKI_FIOQSIZE 0x5460 /* Value differs on some platforms */ +#endif + #endif // __VKI_LINUX_H /*--------------------------------------------------------------------*/ diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h index 6b44386073..7ab8ff7713 100644 --- a/include/vki/vki-ppc32-linux.h +++ b/include/vki/vki-ppc32-linux.h @@ -637,6 +637,12 @@ struct vki_termios { //#define VKI_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ #define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ +//---------------------------------------------------------------------- +// From linux-2.6.39-rc2/arch/powerpc/include/asm/ioctls.h +//---------------------------------------------------------------------- + +#define VKI_FIOQSIZE VKI_IOR('f', 128, vki_loff_t) + //---------------------------------------------------------------------- // From linux-2.6.9/include/asm-ppc/poll.h //---------------------------------------------------------------------- diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h index 5af8470f4f..f813c34f8f 100644 --- a/include/vki/vki-ppc64-linux.h +++ b/include/vki/vki-ppc64-linux.h @@ -621,6 +621,12 @@ struct vki_termios { #define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */ #define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ +//---------------------------------------------------------------------- +// From linux-2.6.39-rc2/arch/powerpc/include/asm/ioctls.h +//---------------------------------------------------------------------- + +#define VKI_FIOQSIZE VKI_IOR('f', 128, vki_loff_t) + //---------------------------------------------------------------------- // From linux-2.6.13/include/asm-ppc64/poll.h //---------------------------------------------------------------------- diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h index ccc73a4c43..2b5b8615be 100644 --- a/include/vki/vki-s390x-linux.h +++ b/include/vki/vki-s390x-linux.h @@ -596,6 +596,11 @@ struct vki_termios { #define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ +//---------------------------------------------------------------------- +// From linux-2.6.39-rc2/arch/s390/include/asm/ioctls.h +//---------------------------------------------------------------------- + +#define VKI_FIOQSIZE 0x545E //---------------------------------------------------------------------- // From linux-2.6.16.60/include/asm-s390/poll.h