From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16810 invoked by alias); 30 Apr 2014 16:35:18 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 16754 invoked by uid 89); 30 Apr 2014 16:35:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail.zytor.com Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 30 Apr 2014 16:35:16 +0000 Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr04-ext.jf.intel.com [134.134.137.73]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s3UGZ5p8001040 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 30 Apr 2014 09:35:06 -0700 Message-ID: <53612634.2070802@zytor.com> Date: Wed, 30 Apr 2014 16:35:00 -0000 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Mark Kettenis CC: pinskia@gmail.com, teawater@gmail.com, tglx@linutronix.de, mingo@redhat.com, x86@kernel.org, eparis@redhat.com, ak@linux.intel.com, linux-kernel@vger.kernel.org, gdb@sourceware.org Subject: Re: [PATCH] Fix get ERESTARTSYS with m32 in x86_64 when debug by GDB References: <53554846.3070608@zytor.com> <53608125.2020103@zytor.com> <536085B7.5070002@zytor.com> <201404301335.s3UDZX4J017978@glazunov.sibelius.xs4all.nl> In-Reply-To: <201404301335.s3UDZX4J017978@glazunov.sibelius.xs4all.nl> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-04/txt/msg00098.txt.bz2 On 04/30/2014 06:35 AM, Mark Kettenis wrote: > > If (and only if) the goal of that TS_COMPAT flag solely is to trigger > the error code sign-extension in arch/x86/asm/syscall.h:syscall_get_error(), > we could work around to problem in GDB by checking "orig_ax" to see if > we're continuing an interrupted system call and sign extend the error > code in the real "eax" register if we are. > Well... this "if and only if" clause is false, although it might work specifically in this context. I need to do a writeup about this... I should try to do that today. -hpa