From: Mark Wielaard Date: Wed, 22 May 2013 10:21:08 +0000 (+0000) Subject: Support PTRACE_GET/SET_THREAD_AREA on x86. X-Git-Tag: svn/VALGRIND_3_9_0~281 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d4513c94f0039aed0d62714985feebc49297f9d8;p=thirdparty%2Fvalgrind.git Support PTRACE_GET/SET_THREAD_AREA on x86. BZ#320063. (Josh Stone, jistone@redhat.com) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13403 --- diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index 7e7589930f..ed60a151de 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -1118,6 +1118,10 @@ PRE(sys_ptrace) PRE_MEM_WRITE( "ptrace(getfpxregs)", ARG4, sizeof(struct vki_user_fxsr_struct) ); break; + case VKI_PTRACE_GET_THREAD_AREA: + PRE_MEM_WRITE( "ptrace(get_thread_area)", ARG4, + sizeof(struct vki_user_desc) ); + break; case VKI_PTRACE_SETREGS: PRE_MEM_READ( "ptrace(setregs)", ARG4, sizeof (struct vki_user_regs_struct)); @@ -1130,6 +1134,10 @@ PRE(sys_ptrace) PRE_MEM_READ( "ptrace(setfpxregs)", ARG4, sizeof(struct vki_user_fxsr_struct) ); break; + case VKI_PTRACE_SET_THREAD_AREA: + PRE_MEM_READ( "ptrace(set_thread_area)", ARG4, + sizeof(struct vki_user_desc) ); + break; case VKI_PTRACE_GETEVENTMSG: PRE_MEM_WRITE( "ptrace(geteventmsg)", ARG4, sizeof(unsigned long)); break; @@ -1167,6 +1175,9 @@ POST(sys_ptrace) case VKI_PTRACE_GETFPXREGS: POST_MEM_WRITE( ARG4, sizeof(struct vki_user_fxsr_struct) ); break; + case VKI_PTRACE_GET_THREAD_AREA: + POST_MEM_WRITE( ARG4, sizeof(struct vki_user_desc) ); + break; case VKI_PTRACE_GETEVENTMSG: POST_MEM_WRITE( ARG4, sizeof(unsigned long)); break; diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h index 7c072d6617..adfcb08ccc 100644 --- a/include/vki/vki-x86-linux.h +++ b/include/vki/vki-x86-linux.h @@ -812,6 +812,8 @@ struct vki_shminfo64 { #define VKI_PTRACE_SETFPREGS 15 #define VKI_PTRACE_GETFPXREGS 18 #define VKI_PTRACE_SETFPXREGS 19 +#define VKI_PTRACE_GET_THREAD_AREA 25 +#define VKI_PTRACE_SET_THREAD_AREA 26 //---------------------------------------------------------------------- // From linux-2.6.15.4/include/asm-i386/vm86.h