From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77080 invoked by alias); 19 Feb 2017 19:40:35 -0000 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 Received: (qmail 77064 invoked by uid 89); 19 Feb 2017 19:40:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy=170217, resumed, H*f:sk:wwokh93, H*i:sk:b8Sz9um X-HELO: sessmg23.ericsson.net Received: from sessmg23.ericsson.net (HELO sessmg23.ericsson.net) (193.180.251.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 19 Feb 2017 19:40:32 +0000 Received: from ESESSHC002.ericsson.se (Unknown_Domain [153.88.183.24]) by (Symantec Mail Security) with SMTP id FE.54.20754.DA4F9A85; Sun, 19 Feb 2017 20:40:29 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.24) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 19 Feb 2017 20:40:05 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=antoine.tremblay@ericsson.com; Received: from elxa4wqvvz1 (67.71.111.110) by HE1PR0701MB1883.eurprd07.prod.outlook.com (10.167.247.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.10; Sun, 19 Feb 2017 19:40:01 +0000 References: <20161129120702.9490-1-antoine.tremblay@ericsson.com> <20170127150139.GB24676@E107787-LIN> <2255ed6f-a146-026c-f871-00e9a33dfcf0@redhat.com> User-agent: mu4e 0.9.19; emacs 25.1.1 From: Antoine Tremblay To: Yao Qi CC: Antoine Tremblay , Pedro Alves , "gdb-patches@sourceware.org" Subject: Re: [PATCH 1/2] This patch fixes GDBServer's run control for single stepping In-Reply-To: Date: Sun, 19 Feb 2017 19:40:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MWHPR15CA0038.namprd15.prod.outlook.com (10.173.226.152) To HE1PR0701MB1883.eurprd07.prod.outlook.com (10.167.247.23) X-MS-Office365-Filtering-Correlation-Id: ad651460-a996-4a54-1000-08d458ff199e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:HE1PR0701MB1883; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1883;3:YdYpcvpk3u0US2PEsLrmc/AvXvYqB3pGZ72S0WGahDWhh0ginBf7UgmXGZzLSVwzYK3xo4V27fW/GSDic4Av4q0uEUApcO+qqThGJvGtjgicDepm1ksajl8zCNZfvZxmp1sLS4D5hmhbzhDN4OGSn0kJc+VH1GoSDN20W2s2yvr52h34b0FGW9iLJNfD0ecsagYpeLB3bsC+YJ+s4DcqTkuaHBY3TwKz7MAbOFDrBlKnsZfktgkSLXDB36opbqDGzBySPwcd4y7A8QFC8qcjxw==;25:QiVf+bMK+EZdfpKWNJxcv2YxgeXmzyeB4OMPgXpSxZnVaOAs4UT4uETy2ptqj6KVFBNXkIxNFBLMbFJobgf46y5yv62keUGs9HaYoJ4QqspUMuevh4UPXoP3nsjSCsgGPC5dNZ96wnWHT00It81mp+wESI2Cf914fJeZRut+cj6f7x/K6VDViV/6dYkUjmX8Vd9kkWqbGxpwfEtOhHCtGyLiVf4VCHQRiD4W7c7/T/h8Ys0ZYMJtmlOdaE/cWLVNO9+U6BdOTlT0sdfHOljf6x4ig2vNDC09U2/3e7oPHBWI4M4TrN4zbu7Pa16XFNPmW/CdR6tdTEvFz4c23xNCbHn2sILppf17M0t2Vd3SYbZpTvpFRcdF1WxslSh35aoxNexT1K6LjoUBBm1M0IfSAWLKysY+KejdzrvnsLjUeKdjmaLkU8eE2UpFjv+Q379lkq85tPLrFFoYsIVSHIIy4Q== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1883;31:U4z05WrVVpV2MxYGp7tEqXVggkTqls/ZgmEU+9QPjJMaui60GFv+jCdTWs7TB2HUDTl8LOe/n88xPreuPNr2zYfzQCtHFjnnKJfdd6MD0iXVBOMuBmSOHslijJPmzkMoMh1mO6Rko54Ti/N1ipRUl3F5bHZR2Pj0VUuZ70Z2LC1jX6bO5a7v3uCMqMKxLmL7jJOWi8y3RhTqoWrnfNo65CUwu9fiKVRnX+/beR9UU1Ligdi4br+2ztd4/0FbrIH0;20:iLissxjaC9/JgPk19AEmwFKYzkicAbm8oamNI+IIDVTCM/uxaIv+ztbRnzVjU1VdeYME8g2kyFKf5CLbAldL8sS5LiSSZcNounM+vZeUC2VCvnIOHhtPLTSyQDVFRKZm4viiQovmGOTgOXiveBRvMIR6B/5FkzMIL4bFNYTECSK8oSQk1WYDCgLYIPAcCK/N9xRJSB3W7OrAsf1MqYXuHLoGKSe14eIcTjec4OaPJPR5dQwRAJryka3xJ1AhdOn4k6F5L9KXoDxO5o+nIv0DD/TAsRI0u9tNMNId/8tQlpoT3JQA9NgMCC9qlSBRjJCrVdr/UaQ7vNTXc32jeZxcA/tFpn2qenp635rRzlfzDSxTgOzYGXQoHQuPA2+BFHnJ8llzsPMI0kmk/ufHKaPrnOsMMn6oINqGw6n10k4vfwiNVaNGTPaSF296T3bFu5ncCUklJiS5up0gDV4B+RT9CmAGZ+i4KQ5kK80q6D08pLoDIFEzc28v3jASq65C6O6D X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211171220733660); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123558025)(20161123555025)(20161123562025)(20161123564025)(6042181)(6072148);SRVR:HE1PR0701MB1883;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0701MB1883; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1883;4:WYkDl1iYRJ7nZnyxe2sJ/CKxT65XBrG+NDKbhwSKF84xQ6vcEjztGW6NgHCUAA/4w0Bw5WeFo9vgI9UED0tEJoDQF5UI3n/1N1/y3p8xu1AJh0K6GAMoZB6NJSAbkZi5itT1Jh/STzCUMqQGBPdP1inxYmUq2b1M6/UnLtNSnb7CqhiwaZvx7+5P9jduPLZpa2iV8sLACqVIvjHYI2uvpHEHNrw3MAVQ9XZGWp6blfstuNGsOSl87dKhmLwwQfxw1ccus+xrshGQi+uSLPOote8ylwgliD6Lk/VKqkEneRK2uNmUFGZVMmpk5KR8d4fL/jaZS5Ri1PXF7KTGf5DQaJVfFBi8Hm5aK0hxEVfTnHYQQS0BsLzGVj6MdMQffE+YmN63I4VrNWa2+4o/cvWs10bsA+TljjUyRdeA9oDDlby5OkrPbfmZ3ETTanbD7cxs9PlM4dPDBpWiEJ3gG+WuJmeZlyNU+XV/GCLCAKSux1UwVViknMxQNoVmfsxwrQFYUTeNAIfj7vEK+pCk7MU8g/g6c3jZkv07V0+NVv4W6uS2jAkOeD+1dMhg7c/7mhFsq66N3o5VISE3JFEvZ01iugdhTGYXZbmTZ693Uixrh1R0A2BAAsqb4WHig7heDiIZ1FS9JCMLLLYoMob4gceRuwsJ/u7zRuhkYZcc0vijXcI= X-Forefront-PRVS: 02234DBFF6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(24454002)(377424004)(189002)(199003)(97736004)(2906002)(53546006)(2950100002)(6486002)(83506001)(101416001)(5660300001)(1411001)(54906002)(25786008)(2870700001)(33646002)(76176999)(189998001)(6246003)(86362001)(6306002)(4001350100001)(6496005)(38730400002)(4326007)(53936002)(110136004)(47776003)(66066001)(54356999)(93886004)(6666003)(92566002)(81166006)(68736007)(229853002)(81156014)(50986999)(42186005)(8676002)(6916009)(7736002)(6116002)(106356001)(305945005)(3846002)(36756003)(50466002)(23676002)(105586002);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR0701MB1883;H:elxa4wqvvz1;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA3MDFNQjE4ODM7MjM6by9jaVM3eVpHZ2RTVjhUdUlOYld0VVN6?= =?utf-8?B?ZE9MTksya0hLQWVTajBSTTM4VzdIVHQ0NVpFaVQ2RCtDQ0xnd3JrSzdmWS9J?= =?utf-8?B?S0M5UWpKZ2RzQVdNRUJuSzVtdU1CYldlb0h4Q2pLcTRYYXo4RFhUMlowd3ZB?= =?utf-8?B?bUh3emxHVGd0bkU0aXMvbVpra216VUR3aTEwbndOaDNabk93QnRHK1UxUWxD?= =?utf-8?B?ZURmYjZLSUprYldYNDFNMzFkQk45RnZ2ckhNT2wzVW1zN2tZNXJCZzh2Y053?= =?utf-8?B?dDA0R1QzYWFSdWc4eHpyYmJvdFpvcWhUNGZzY1I1ZHhlemxTVHExNXdoUzVF?= =?utf-8?B?ZFdFMzUzUjE1RDE5ejJFM2Jyd0dsWm1hTTU3ckd2ZldDK0RuZFQrK0c1elNB?= =?utf-8?B?Y0hESzgycS9lUnYwZjdwb1JVdTIzeUxJL2JvZ2lnbUJTd0JSeXYySnJsZ2hW?= =?utf-8?B?NEdUU2wrNXBscVhwOFVUR2JTMWZBUlhkR3lvU2prOXljN1U1WWNNOWNSRTNV?= =?utf-8?B?UVY1b21BTE5hWWlPeEp4SmdYOEJLV3lMME9YS2RUNkZmV1gyNjM3NDFpQSta?= =?utf-8?B?OGU0Wk1JOWVhY1AveVlTYjhWL3ZPMUczSmV6blVQcnFIQzNXNmU2VDh0MHdG?= =?utf-8?B?ZzBJRURJaG5QTWtueWtTK2VLb2pLKyt5RmM2RHFRNjRFcjVFZVJGanJ2RXJW?= =?utf-8?B?YndtR1FhdHVsZHJTRGxLWVpUbTR4bnpJbmk0TWdDWG85YlB0YXNnNHVxT3FD?= =?utf-8?B?WXJORkRnakRnekw5Mml4MWMrc0JWZWNzSTdwSHRwckhKR1J3Z29OSHZDY1k4?= =?utf-8?B?eWEwaDVBVHhLQjF1RmRlR1hSR3dVY2JGdkpPdFY2cm1MczJDM2FTQlVwVXlD?= =?utf-8?B?VlJaWk5kVGpOOFhEQ0ZlT3VIZmRHeVhOZEpJSlhFa2JQc0R6S040RXl0QXJK?= =?utf-8?B?N0NjMjZ6NEdjY3o5NUpEdmIxdGkzOVhxcTdLTmlpSDRidTB2RG9mWmErVlkr?= =?utf-8?B?MGZFallQNzhCQzJZelUrbmZEMFIzNDYrRlE2SXkxWnJvKzVuZW1NdWVzNmdk?= =?utf-8?B?cTFwUXFxMzZDRE1YNzUrcks5aW1RbG4rWVd3WDlFYUVoaUZGSEQ5TFNGOFdr?= =?utf-8?B?NmVuQTl3RW5DejNWRmN3dGo5eHh4VkkzT3R6ZHQ3Kzh2SDJnM0dmSWZMdkRw?= =?utf-8?B?MGJkbVVjcFBIbTdIMUNIem05MjJXdVdmVWRFK2ljdU80c1hBRVNwYXo5UVZJ?= =?utf-8?B?bEJhd21tMUZyOHM2QlJkZzAzOVVUSTU1L3dnZmdPbEtYQVdvdlJFeHBYcWcw?= =?utf-8?B?M29ZZzRoWWxQQ3o1MXhvakY4bmRIMGdQVmZDZXNGVjVIWnMwYW1ZUUJKMGt5?= =?utf-8?B?dHRMT2dKM1N4Mlozd05GYjZjQ0ZYMDJzbEYvZERkWXhJV01yMWtBVmxHaWtB?= =?utf-8?B?dDBWZjl2VCtwQ2paQmh5U1ZVTjJaUU5ZenJYSER3ZHNDaUhLRTVNNGpsZjI5?= =?utf-8?B?L1IySzhENzlFQkM0bEttMk5wRW0zTDhRZkhxWkpnL1gzNjd0dndLcS9wK1FL?= =?utf-8?B?Q2J2U2hHejQzZXJmSmg3QUpsbWJmV3dJWnpUSEluUDZBMHhkNmN6Q0ZSazEv?= =?utf-8?B?b2xldS9DZ1gvNHc5ZXNTck1sQVN1cmhiV1puZ3Azejc4R0hEbTZEc3RDQVdR?= =?utf-8?B?aGNDcGxISzVuK3lYaHdDYnN5UlpJWjB4S2hTNHI4VThkV3pOK3B1RHhFejJj?= =?utf-8?B?ZjFSTW1FamdpQlpIQWRZQ1R3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1883;6:nQax4E6f1cDcyKSb8eHtjbFX+ZzVBT6jo/26D5ABLdFEuLq45sAyZrsJnteKqILtq+G5NUs5Na0CkOlcp6DMV+lAVt57dnWE7jdU8gxNirJSmlkyO+NzXEj8V/ZvOcNXbtHx91673jho/6X66iRaeWIDtYTlxpRSB8sG63OuIRz7GeYrT9wdE4U0DxFDfjnspbIYVfXOGR/0Ss4gvCchDcMJfZCz7wjMKarrOy/0milJZ0MjA2RrTKvghU0rBH/94HRbix/XAOmOijgOKZttrBtsbNZnlnOO6u0tJ10TIltOaul8fRCcYYMjgu1xj62mZHs/Tyh5dq4YcwHpKk9prAFz1Y7t2kkzL/tt4M/6OboqYBGIUNeWU/tYc+fKEY5WJDhNojuv0xqcxxWMsZdTXA==;5:uLALoGMhF7lweNQcXEQfR6YKFvl2fPkTq0yZLZXTJEnYP0cT2iWLb8zB7yj8EgSMe3EOi3dWmL88ennc0vKeOrbrAdLSV1bNm+gLSBvdhzDDoSYB8wb0JWrECX6qYR7FWxa4y53j4cqckHqv47/5zOZDgh4nYbO4VWob+jDYA9Y=;24:dh+QiguYv4FYA3WRH87nuif3Wi1lvyjWS9bFcFLWyU1mV+4P+ClE+fu7umYeyBeyzjQCrlzIAX3DVUZCWNglOE8oufImgk7JA1NpOJCVr/0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0701MB1883;7:vOW6I7PMic0RIzgcs/KkVukB0F/pPucBQwPRSZbzyMQjbtfjIbFz25LIvv8GMxso7elpYKYsz3uPOMpVTUVRKEODLKI36pYkVlwzT8aSqeZT6o3BiXEE7ZcqCWC3IfilTXx1hf9k1Q1eGHR14kDWQtGS2vz6soBJvs9oeRFz0EzbeyZKiC54nCHLjQDN13+u1LZmWeVFAaiO/l6N4/YXXrzpzwCH5z2BkCdlzsXmdZjQZM+ucq5Y/VsI8gN8xvozEDFR0m4AGrnNqJSFDw3ZGMxnTtfR6XYHDbmd6RiR9ePJ8M0RN8ks8aDsrB4G63YxpO7f/MTkSoIIIMTzzQFyIA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2017 19:40:01.8202 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB1883 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00513.txt.bz2 Yao Qi writes: > On 17-02-17 19:17:56, Antoine Tremblay wrote: >> > In ARM ARM, we have the pseudo code, >> > >> > boolean InITBlock() >> > return (ITSTATE.IT<3:0> != ‘0000’); >> > >> > ITSTATE can be got from CPSR. >> >> Yes that's good if you're inserting a breakpoint at current PC but >> otherwise you will need something else... > > In software single step, we calculate the next pcs, and select > breakpoint kinds of them, according to current pc. If current > pc is not within IT block (!InITBlock ()) or the last instruction > in IT block (LastInITBlock ()), we can safely use 16-bit thumb > breakpoint for any thumb instruction. That is, in > gdbserver/linux-aarch32-low.c:arm_breakpoint_kind_from_current_state, > we can return ARM_BP_KIND_THUMB if (!InITBlock () || LastInITBlock ()). > > Then, in some level, when installing software single step breakpoints, > if one breakpoint type is ARM_BP_KIND_THUMB2 and installed > address is 2-byte aligned, stop all threads. Yes that would make sense but I think we can be calling get_next_pc to insert a software single step breakpoint at an address different then the current PCs next address. See: https://sourceware.org/ml/gdb-patches/2016-06/msg00268.html "> If we only remove before reporting an event to gdb, then I don't > understand this. We already insert single-step breakpoints when > we process the resume request from gdb, no? We insert single-step breakpoints when we process the resume requests and threads are about to be resumed. If threads still have pending status, single-step breakpoints are not installed, so we need to install them in proceed_all_lwps." This is still true AFAIK so GDBServer may be at any PC stopped on a pending event and need to insert a single step breakpoint at an address unrelated to that event so in that case CPSR can't be used... Thanks, Antoine