From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16846 invoked by alias); 22 May 2012 19:35:48 -0000 Received: (qmail 16755 invoked by uid 22791); 22 May 2012 19:35:47 -0000 X-SWARE-Spam-Status: No, hits=-6.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,TW_CP,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 May 2012 19:35:29 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q4MJZQVN003273 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 22 May 2012 15:35:26 -0400 Received: from host2.jankratochvil.net (ovpn-116-78.ams2.redhat.com [10.36.116.78]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q4MJZMae023504 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 22 May 2012 15:35:24 -0400 Date: Tue, 22 May 2012 19:35:00 -0000 From: Jan Kratochvil To: "Maciej W. Rozycki" Cc: Pedro Alves , gdb-patches@sourceware.org Subject: [patch] Re: Regression for gdbserver [Re: [PATCH] Linux/gdbserver: Fix memory read ptrace fallback issues] Message-ID: <20120522193521.GA26213@host2.jankratochvil.net> References: <4FB67E6D.2040406@redhat.com> <4FB6ACEF.2030600@redhat.com> <20120522080321.GA18378@host2.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-05/txt/msg00847.txt.bz2 On Tue, 22 May 2012 14:43:21 +0200, Maciej W. Rozycki wrote: > I don't have these failures in my test run, which target is that? Normal Fedora 17 x86_64 with: --with-system-zlib --enable-64-bit-bfd --enable-targets=all --enable-static --disable-shared --enable-debug --disable-sim --enable-gold --enable-plugins --with-separate-debug-dir=/usr/lib/debug --disable-option-checking --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu CFLAGS="-m64 -g3 -pipe -Wall -fexceptions -fstack-protector --param=ssp-buffer-size=4" LDFLAGS="-lmcheck" that is from my http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;f=bin/errs12;hb=master > Can you check that these are not intermittent failures It was very 0% vs. 100% reproducible and for the single testcase. No regressions on {x86_64,x86_64-m32,i686}-fedora17-linux-gnu for gdbserver mode. I will check it in yet today as the HEAD is broken now. Regards, Jan gdb/gdbserver/ 2012-05-22 Jan Kratochvil * linux-low.c (linux_read_memory): Fix final memcpy size. diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 19f7be6..c33c976 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -4450,10 +4450,12 @@ linux_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len) /* Copy appropriate bytes out of the buffer. */ i *= sizeof (PTRACE_XFER_TYPE); - i -= memaddr & (sizeof (PTRACE_XFER_TYPE) - 1); - memcpy (myaddr, - (char *) buffer + (memaddr & (sizeof (PTRACE_XFER_TYPE) - 1)), - i < len ? i : len); + if (i > 0) + memcpy (myaddr, + (char *) buffer + (memaddr & (sizeof (PTRACE_XFER_TYPE) - 1)), + (MIN ((memaddr & -(CORE_ADDR) sizeof (PTRACE_XFER_TYPE)) + i, + memaddr + len) + - memaddr)); return ret; }