From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31526 invoked by alias); 9 May 2007 18:05:34 -0000 Received: (qmail 31518 invoked by uid 22791); 9 May 2007 18:05:33 -0000 X-Spam-Check-By: sourceware.org Received: from igw1.br.ibm.com (HELO igw1.br.ibm.com) (32.104.18.24) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 09 May 2007 18:05:30 +0000 Received: from mailhub1.br.ibm.com (mailhub1 [9.18.232.109]) by igw1.br.ibm.com (Postfix) with ESMTP id C6578148170 for ; Wed, 9 May 2007 14:54:07 -0300 (BRT) Received: from d24av02.br.ibm.com (d24av02.br.ibm.com [9.18.232.47]) by mailhub1.br.ibm.com (8.13.8/8.13.8/NCO v8.3) with ESMTP id l49I5Raj1564914 for ; Wed, 9 May 2007 15:05:27 -0300 Received: from d24av02.br.ibm.com (loopback [127.0.0.1]) by d24av02.br.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l49I4LWB005702 for ; Wed, 9 May 2007 15:04:21 -0300 Received: from dyn531804.br.ibm.com (dyn531804.br.ibm.com [9.18.238.71]) by d24av02.br.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l49I4LSY005695; Wed, 9 May 2007 15:04:21 -0300 Subject: Re: [RFC] "single step" atomic instruction sequences as a whole on PPC From: Luis Machado Reply-To: luisgpm@linux.vnet.ibm.com To: Ulrich Weigand Cc: gdb-patches@sourceware.org In-Reply-To: <200705091433.l49EXOfG024847@d12av02.megacenter.de.ibm.com> References: <200705091433.l49EXOfG024847@d12av02.megacenter.de.ibm.com> Content-Type: text/plain Date: Wed, 09 May 2007 18:05:00 -0000 Message-Id: <1178733926.4754.1.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 7bit 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: 2007-05/txt/msg00132.txt.bz2 > Actually, I think there's still a problem with the patch. Sorry for > not noticing earlier. You call: > > > +#define BC_INSTRUCTION 0x40000000 > > + const int opcode = BC_INSTRUCTION; /* Branch instruction's OPcode. */ > > + branch_bp = branch_dest (opcode, insn, pc, breaks[0]); > > branch_dest with 0x40000000 as opcode -- however, it appears the > routine expects to be called with just the opcode bits, i.e. 16 > in the case of a conditional branch. > > See the call in rs6000_software_single_step: > > opcode = insn >> 26; > > breaks[1] = branch_dest (opcode, insn, loc, breaks[0]); > > Could you implement and test a patch to fix this, please? Sure, no problem. I will update the patch, test and re-subtmit when it's ready. Regards, Luis