From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 258033858D32 for ; Mon, 20 Mar 2023 23:21:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 258033858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=us.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=us.ibm.com Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32KMnp4v004558; Mon, 20 Mar 2023 23:21:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : from : to : cc : date : in-reply-to : references : content-type : mime-version : content-transfer-encoding : subject; s=pp1; bh=4xR6IFHl1aTEQUpzwDzyCnJzSZr0rHLkrOxQ+O6hcqc=; b=spAI8sjxMD1Lx0CSeQkCMgHfeT1aMdMPa/Dzl3cBJcIcHugw7wJ/YX8zJHsi1GlDMiJ+ 5jlDvcpgqWjS6dXGs90n1zv8AJZit0MvWHx40KT2GnZkc9MdeNwPUcKtEE+ChJPiByLN qpqQj0UuE8T7jK4PcokC2MqZaktYAilHS99kNdsS15AjfpDx4+5SKsID918MA4voST9t b4BgL/VjPm4NmSwkZ2JdDa4MLh3BLmh5zSGtRl3hI812I/Zd38+4ejWrw6N7nufI8/TB Su1Yn4TwDketvknPIuM0WJ2xl9ZL1nOuJkK/vEIjYOKrEIeNEF2/RMSYxJYcM6cQxO7S 6A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pf0mh8fek-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 20 Mar 2023 23:21:51 +0000 Received: from m0098410.ppops.net (m0098410.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 32KNGrDv021353; Mon, 20 Mar 2023 23:21:51 GMT Received: from ppma03wdc.us.ibm.com (ba.79.3fa9.ip4.static.sl-reverse.com [169.63.121.186]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pf0mh8fe8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 20 Mar 2023 23:21:51 +0000 Received: from pps.filterd (ppma03wdc.us.ibm.com [127.0.0.1]) by ppma03wdc.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 32KMqHcO022620; Mon, 20 Mar 2023 23:21:49 GMT Received: from smtprelay02.dal12v.mail.ibm.com ([9.208.130.97]) by ppma03wdc.us.ibm.com (PPS) with ESMTPS id 3pd4x6qeen-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 20 Mar 2023 23:21:49 +0000 Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay02.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 32KNLmqW41550542 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 20 Mar 2023 23:21:48 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 15A4858067; Mon, 20 Mar 2023 23:21:48 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45F3558043; Mon, 20 Mar 2023 23:21:47 +0000 (GMT) Received: from li-e362e14c-2378-11b2-a85c-87d605f3c641.ibm.com (unknown [9.211.103.7]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Mon, 20 Mar 2023 23:21:47 +0000 (GMT) Message-ID: <4725509beea4800de5e7d657e585d09137e9ee74.camel@us.ibm.com> From: Carl Love To: Tom de Vries , Ulrich Weigand , "gdb-patches@sourceware.org" , Bruno Larsen , "pedro@palves.net" Cc: cel@us.ibm.com, luis.machado@arm.com Date: Mon, 20 Mar 2023 16:21:46 -0700 In-Reply-To: References: <7a494157-494f-6adf-d533-bf373b0f054f@redhat.com> <71aa635593df0677811afb85409aa190bcfa4f6a.camel@us.ibm.com> <15864a6b87b25c93e99a28149f23138267735f2a.camel@us.ibm.com> <041f62e9f26fd4a536bc90c34f072985582e6237.camel@de.ibm.com> <46c2c756475ba5923d7eed97996632a08285dd42.camel@us.ibm.com> <65861786-069e-53a1-ca17-a525b6629c95@suse.de> <5be0c849abeef84d34a6ff255fb2705ca5dcb035.camel@us.ibm.com> <27caff18b9e133583ba147a21cdd997a0a580828.camel@de.ibm.com> <4195b7b1fe6120e71310a1036841f141b9d1199e.camel@us.ibm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5 (3.28.5-18.el8) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 2cIrGrvs6sivWyxL7GUxouLyLjexTW0N X-Proofpoint-ORIG-GUID: yPr7stO4ChkQ_e3NZogYjAolmROZmiTc Subject: RE: [PATCH 2/2 ver2] PowerPC: fix for gdb.reverse/finish-precsave.exp and gdb.reverse/finish-reverse.exp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-20_16,2023-03-20_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 malwarescore=0 mlxlogscore=905 impostorscore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303150002 definitions=main-2303200196 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Tom, Luis: On Sat, 2023-03-18 at 00:05 +0100, Tom de Vries wrote: > On 3/17/23 18:19, Ulrich Weigand wrote: > > Carl Love wrote: > > > > > I have updated gdb/infrun.c per the comments from Ulrich to > > > remove > > > "unnecessary" code and format changes to make the diff as minimal > > > as I > > > can. There are no functional changes in these changes. > > > > > > The patch has been retested on PowerPC to make sure there are no > > > regressions. > > > > > > Please let me know if this version of this patch (second in the > > > series) > > > is acceptable. Thanks. > > > > This version is OK. > > I'm running into these regressions on x86_64-linux: > ... > Running > /data/vries/gdb/src/gdb/testsuite/gdb.reverse/finish-precsave.exp ... > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from > long_long_func > FAIL: gdb.reverse/finish-precsave.exp: continue to breakpoint: > long_func > backward > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from long_func > FAIL: gdb.reverse/finish-precsave.exp: continue to breakpoint: > int_func > backward > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from int_func > FAIL: gdb.reverse/finish-precsave.exp: continue to breakpoint: > short_func backward > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from short_func > FAIL: gdb.reverse/finish-precsave.exp: continue to breakpoint: > char_func > backward > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from char_func > FAIL: gdb.reverse/finish-precsave.exp: continue to breakpoint: > void_func > backward > FAIL: gdb.reverse/finish-precsave.exp: reverse finish from void_func > Running /data/vries/gdb/src/gdb/testsuite/gdb.btrace/tailcall.exp ... > FAIL: gdb.btrace/tailcall.exp: reverse-finish.1 > FAIL: gdb.btrace/tailcall.exp: reverse-step.2 > FAIL: gdb.btrace/tailcall.exp: next.1 > FAIL: gdb.btrace/tailcall.exp: reverse-next.1 > FAIL: gdb.btrace/tailcall.exp: step.1 > FAIL: gdb.btrace/tailcall.exp: finish.2 > FAIL: gdb.btrace/tailcall.exp: reverse-step.3 > FAIL: gdb.btrace/tailcall.exp: finish.3 > Running /data/vries/gdb/src/gdb/testsuite/gdb.mi/mi-reverse.exp ... > FAIL: gdb.mi/mi-reverse.exp: reverse finish from callme (unknown > output > after running) > FAIL: gdb.mi/mi-reverse.exp: reverse next to get over the call to > do_nothing (unknown output after running) > FAIL: gdb.mi/mi-reverse.exp: reverse step to callee1 (unknown output > after running) > FAIL: gdb.mi/mi-reverse.exp: reverse step to callee2 (unknown output > after running) > FAIL: gdb.mi/mi-reverse.exp: reverse step to callee3 (unknown output > after running) > FAIL: gdb.mi/mi-reverse.exp: reverse step to callee4 (unknown output > after running) > FAIL: gdb.mi/mi-reverse.exp: reverse-step-instruction at callee4 > (unknown output after running) > FAIL: gdb.mi/mi-reverse.exp: reverse-next-instruction at callee4 > (unknown output after running) > FAIL: gdb.mi/mi-reverse.exp: reverse-continue at callee3 (unknown > output > after running) > Running /data/vries/gdb/src/gdb/testsuite/gdb.btrace/step.exp ... > FAIL: gdb.btrace/step.exp: replay: reverse-finish.1 > FAIL: gdb.btrace/step.exp: replay: reverse-next.2 > FAIL: gdb.btrace/step.exp: replay: reverse-finish.2 (GDB internal > error) > Running /data/vries/gdb/src/gdb/testsuite/gdb.reverse/until- > precsave.exp ... > FAIL: gdb.reverse/until-precsave.exp: reverse-finish from marker2 > FAIL: gdb.reverse/until-precsave.exp: reverse-advance to final return > of > factorial > FAIL: gdb.reverse/until-precsave.exp: reverse-until to entry of > factorial > Running /data/vries/gdb/src/gdb/testsuite/gdb.reverse/finish- > reverse.exp ... > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from > long_long_func > FAIL: gdb.reverse/finish-reverse.exp: continue to breakpoint: > long_func > backward > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from long_func > FAIL: gdb.reverse/finish-reverse.exp: continue to breakpoint: > int_func > backward > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from int_func > FAIL: gdb.reverse/finish-reverse.exp: continue to breakpoint: > short_func > backward > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from short_func > FAIL: gdb.reverse/finish-reverse.exp: continue to breakpoint: > char_func > backward > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from char_func > FAIL: gdb.reverse/finish-reverse.exp: continue to breakpoint: > void_func > backward > FAIL: gdb.reverse/finish-reverse.exp: reverse finish from void_func > Running > /data/vries/gdb/src/gdb/testsuite/gdb.reverse/finish-reverse-next.exp > ... > FAIL: gdb.reverse/finish-reverse-next.exp: reverse-finish function1 > LEP > call from LEP > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 LEP entry > point function call from LEP > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2, at b = 5, > call from LEP > FAIL: gdb.reverse/finish-reverse-next.exp: reverse-finish function1 > LEP > call from function body > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 LEP from > function body > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 5, > from > function body > FAIL: gdb.reverse/finish-reverse-next.exp: function1 GEP call call > from GEP > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 GEP entry > point function call from GEP > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 50, > call from GEP > FAIL: gdb.reverse/finish-reverse-next.exp: function1 GEP call call > from > GEP again > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 GEP entry > point function call from GEP again > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 50, > call from GEP again > FAIL: gdb.reverse/finish-reverse-next.exp: reverse-finish function1 > GEP > call, from function body > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 1 GEP call > from > function body > FAIL: gdb.reverse/finish-reverse-next.exp: reverse next 2 at b = 50 > from > function body > Running /data/vries/gdb/src/gdb/testsuite/gdb.btrace/tailcall- > only.exp ... > FAIL: gdb.btrace/tailcall-only.exp: reverse-step > FAIL: gdb.btrace/tailcall-only.exp: up I believe I have found the issue. Somewhere along the line, probably in the code cleanup, the initialization of the new variables in gdb/infcmd.c got out of order. Basically, alt_entry_point and entry_point are initialized to sal.pc. However, sal has been declared but not initialized so alt_entry_point and entry_point are always equal to zero. That doesn't work so well. The fix is simple, just need to move the initialization of the two variables after sal has been initialized. I am still running some tests to make sure everything is OK. But so far it looks like the fix works on PowerPC and on one of the X86 boxes I am testing on. I am double checking the results on the other X86 box. I hope to post a fix soon. This should fix the errors on X86 and Arm. Sorry for the regression. Carl