From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 126983 invoked by alias); 10 Mar 2017 16:06:28 -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 125891 invoked by uid 89); 10 Mar 2017 16:06:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 spammy= X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 10 Mar 2017 16:06:25 +0000 Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.183.39]) by (Symantec Mail Security) with SMTP id 9E.0F.21407.DFEC2C85; Fri, 10 Mar 2017 17:06:23 +0100 (CET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.39) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 10 Mar 2017 17:06:21 +0100 Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=ericsson.com; Received: from [10.0.0.109] (173.246.11.162) by DB5PR07MB1717.eurprd07.prod.outlook.com (2603:10a6:0:12::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.961.8; Fri, 10 Mar 2017 16:06:19 +0000 Subject: Re: [PATCH 0/7] Pass ptid to target_ops register methods To: Pedro Alves , References: <20170308164140.7281-1-simon.marchi@ericsson.com> <706d8cd5-f3a2-c9dc-9d87-3cf171b3d012@redhat.com> From: Simon Marchi Message-ID: <402e87d0-f05a-07dc-fb3f-0c0bbc5eef28@ericsson.com> Date: Fri, 10 Mar 2017 16:06:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <706d8cd5-f3a2-c9dc-9d87-3cf171b3d012@redhat.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CY4PR09CA0046.namprd09.prod.outlook.com (2603:10b6:903:c0::32) To DB5PR07MB1717.eurprd07.prod.outlook.com (2603:10a6:0:12::22) X-MS-Office365-Filtering-Correlation-Id: 527a8e0e-a5da-46a2-f3d4-08d467cf63f9 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DB5PR07MB1717; X-Microsoft-Exchange-Diagnostics: 1;DB5PR07MB1717;3:uz5SAMTRSjVOYLziQqFvnRS8zxbGDqfRHO26DMVNtLLm/Rrb/lAQHgLkGT1Y2BT17oBBe27QTk4cPmIlMshX3AYpcn0nTH0hgQTXgJJUY/Adxg3ydGZ0wxoJSICCf1aj5rL+2Cx0ybmvfkqGvvEg8I0YPfAPbTiIFA938DHDjZV3TMnprqWH3j8ZXF8DCl56D8VaIBmsMLZUYgWc9bASbSdDJq3JkAjES2cwF2b3ydt4grpt5qhq4U62YSiJJFlpp2ctmWNScbiNNogY34rl6Q==;25:gUXvfAlLpfZL1gfzMdJs8LU+sw3yqFDCHoLOxBTHaZp5GJkOKiIBHAf0IG7gsOyefaxVNs6/i6EbRArpEgnzyT04nrc4owgkxJZKq9bgC1ihdI5JPa0N7md27ZqCEoAk3+NNYfe6mx84fCJ6QnIY7ra7d7zQoTQTGendtmFRUoEtBE51VZN9yQJ7U/w0WK++SZk35IjL7YzOHySSNPqdmXxRg8JmMyppXkYj9Z7vae1n9mlyxKD/kwZOQ+lWpGqt02dBNzDH9Gs2bMIjgyC8QzjzcXz1cfVeEejTdvzVoV/s58oh5rI+gFvxnptBs9fxGy0VOmV+vnL+6G5CDGMfF631L0OqOWI9xndQq4CdvusL0RfQh5LCHzzqyBks8YVL16nDcXKXr4d1eGxDVvsLhTudVp0WXdKx04PdlanHDBZD7ieJzLi6XQoRpnW7CU9gUMnDZtC/GkE1FE3kjuD6Sg== X-Microsoft-Exchange-Diagnostics: 1;DB5PR07MB1717;31:S08BqiYdEazkih8RZivbhR/wWnB7UfW8Aikl8LBEtv5+HcB6zj/5lp+4Ijx3He8Ptt6ZgEH3g7ARUlDUrLrFUyGEEJnXT7MiDmfFPMr8kdbNInMpe5IaCbZYK+2s3Vi2jS2qmuCvOYX21R0wso3uVcQzPdXucKYjpm1JaCRTwx2fryDpmKzfue5haCFEz9+O9ba9n1sJnOKtaWxiBZjI9/8Fz722N6cm4vzbArr+5Y9qFlFPhIB4icDCfTZ7EddWYA8kuJQSGqUqNlumo8rGsw==;20:+7MIlP6GXpArgJh0N9n2FOdXLpd3bYXiYveM/wnLNZ1QFP0zVPTMFvUenx5q/LNFo1xbzn09ITAFLUXOhSePt0hBvBf3skmowUkxA+T1BuDsKLC8ATXHvCp5BsrVohlQt1wQ3br72WbgU1BpkSSZ/z+UZQshqmos5ycojC3zwYr8JO+OVZhC66WhIB/gpiSnIRLe/WccQi5DGJJBVJCSOFUDfcxCSc3aPgt7wOJYng/Y2b1OP1o76gwxfiV2xmYeb0GO7M2IzqU1HQpnEVgBLJIMabx+oQGD9mg1S6dbuiD6Ov9psQ+2R++933BA2YRjMLIehZ50OdeAqLFra8s6/N0vF1xZdxlwtKj01Z7LnmniRrN8rFEfdb6W/EP2RIRH00CU6uyOzfdaOSXM7T+kFtd0XftcCTjinH7IsqK0ABrZXUSrlDi9zE42LWrjwPnPsZ1DiMARnueO8ugJ4M7bBwJm7WynYB319Ra4nRM9VsLYVnJP0rzzWv6nWJmbOzvm X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123558025)(20161123562025)(20161123560025)(20161123564025)(6072148);SRVR:DB5PR07MB1717;BCL:0;PCL:0;RULEID:;SRVR:DB5PR07MB1717; X-Microsoft-Exchange-Diagnostics: 1;DB5PR07MB1717;4:kDGhuxgdIIoEHGVg4Md3TLvpyvhm7y5/krQWzfAcrn1TSFYJ7zTZ7P0oK1J7DVlvCR4rV2l0m9HIjoK6t/sMBHg49lID7IWbsABjRNle6vc3CYSiD1bDIrRphm5r3uUP9j4UHb6YRm9yft0JFH1T8mM92F8Ses7gZv052MrE6xWLa4mDc8zkzaeYJh13HtX0F2cKTymNaNGRVgOMKJeDLPKCeBdkNNkR81Hiz1m/OIWuPMHU7pkiIAa1udVdGG7c1SVCHmaMTE5g5Z6dDhvTx73URDQNsngz0au4cuwtmYzUWPGCxtqSk/7+seJ1bHNai8Xu12YAB6R6vK1d9oZZku2c1MGUpI+KUDpZIhfVZCpWBR9BysgAHYd6qIhzxMA5Xwa6QBJezu0wVZnlog6VT90AMlF9n4QgzbFb54Jmw8FgDNDQPbXhYD4+Z49ZsV8OP2BGnKGBp3NnjXOaJ8Xwz5IOpojwlrcesG6Jg9nxSxENP7Q9AwTJgFfBQRyAcV1T8U3tkYTvYJBvdWENcWWRCOhZxkrXLaTQUoexk5r4LZqJkdaoD7ZYwIVoa3BtK9LgHcTC+k2fJvwEGYNHrI3XCIIQbU3tJTu3qlWjBtXxQBc= X-Forefront-PRVS: 02426D11FE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39450400003)(377454003)(377424004)(24454002)(305945005)(42186005)(31686004)(229853002)(7736002)(86362001)(2906002)(4001350100001)(23746002)(47776003)(36756003)(189998001)(65956001)(66066001)(6486002)(77096006)(31696002)(83506001)(65806001)(33646002)(81166006)(3846002)(5660300001)(6666003)(50466002)(53936002)(6116002)(65826007)(38730400002)(76176999)(6246003)(64126003)(54356999)(8676002)(53546006)(230700001)(50986999)(2950100002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB5PR07MB1717;H:[10.0.0.109];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DB5PR07MB1717;23:vBXB61Dpr8bGWs42UZR4E+1dhgdCU0+w3goU3?= =?Windows-1252?Q?lAJa9UJfMERUeaK/qKgBg2o9inBcCKOKZP65/LL/dUflw0q6UmN9cJZ8?= =?Windows-1252?Q?ua5xa+wRRlJYDuhpGVN247Q4P0qvOZp/ImVJrQHo+ACzaflgJCUv34Hg?= =?Windows-1252?Q?PSr7so1PIAA7RzCL3Tml8e/g+EwSqaSe35nVT+gCqkbmjYw9hHpO9kjB?= =?Windows-1252?Q?ev/CYoHtjL/JLnsNboLVw1gxsVTvtenRVszG6ZspcW/VMbT0trJ1IFXR?= =?Windows-1252?Q?LNHP1QQDlEG/e0zIFvNHs1lNUrLkBmVCs/FKsP3gZyT8GhXEAvvkWi3s?= =?Windows-1252?Q?gcnCab6/UOWrNcVpUzwMfMhG/6Y4p/iXsHfA8biRWv7hgOTkwlPXeWsA?= =?Windows-1252?Q?Q77ge8GHwOVs09vaN1sw52syJLYKey0oR65t3TygsR1+QpsDOEwv+JVX?= =?Windows-1252?Q?yf8NLm1E21SPdiw4G63PEhVpFiwXKHVrtheQlKou/3RuvAMhHaJ0JMo+?= =?Windows-1252?Q?4jRoli+C/gxAybZ+2E/NbtLync3E7E3R/rmoksOg09K8ZdLo7EVeY7FO?= =?Windows-1252?Q?fPsepk1hTxZK4G7KKQQ5kAvcqv85p8UraND2Ije6+E+pVn7smpNK4fUI?= =?Windows-1252?Q?rwn8PMbQqG/7gECfuCNPEJV/IQiPwhYatdMF3AHsYFdRQ9uyjzEpMY/o?= =?Windows-1252?Q?9leYOCvB+85tmHLVNSeG+g+wCvM2ANA/9bxribOwUjbsNhfrmPU7Mve+?= =?Windows-1252?Q?00SqsVirtzB8r7aqSLdX17WiZLSqwI6zfNYiA36d8mSmlJ3BXA/NsBP2?= =?Windows-1252?Q?0TBAM5IT/QW3cd9vXDdfIV57jb99468HOhd7XzuDzuVsVvAl5Q/JXEmH?= =?Windows-1252?Q?uV9Hv3M5wo+1k1pH1v98ZllcuylBJknUd4h9zBCVDekC2NWlvYQCnR6K?= =?Windows-1252?Q?7RsQ6hkHZpbZ8eRQLnMRD9l6gxAQkmIM3VlTPYAl+y4t2jBS2xn9f2SM?= =?Windows-1252?Q?wVjxA3GvQdAKX4tQicrcy4Oz+jWLtvoLj50LEmGiwVF8Vd6iGPWT+2tc?= =?Windows-1252?Q?yvuRJ5DCpAa8fTXdC9Jq9pLK4+rztgedNvXU9XHT66uUDCsNfBDgNdtL?= =?Windows-1252?Q?vQHc2PEHj/iScKOCwcCTalLQnZfI3SCeIeBevECM0l++3O9I8e5roqsi?= =?Windows-1252?Q?JQN3y3oN8cTsST0z2tLHWuOA4Z682Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR07MB1717;6:ktwLWatVvrXG2fSiQyVle6Js8uqVivwkucobQNkjhoD8Rco70DxRjxGNtCCyv6cUb1zSidmbo9it6P75aHEQgvy94KJ2wEEdGx8I4sMO0B8SY6qz7KLdrL8cUpnRRVtsfuAOYlZzBcvLel9hME73l17pVxEb024mSiXLEVUdDeMBsI0kpbMJ9k7S9ngFngxoFlpgpEjA+V98GNVyuDmNqUekmkOxqHXxoORAnvtS2XNLotHQDPyXvW6A4KPvSzgYLu4xcSpImTe03S4HcemiYrkj4UyRSXruPwbG/xhkxPFnWE13TjRKWeDf4JhCk0dgzxh2XjydBhbP7lgSZjQYUSJstg9ZHMYPVvjf9a7dW62ARom2L/SkRkfKAccFpCYHT/NQHGcFAhklS5rK4w5H4w==;5:POfcVtXjoOMKq60VtgjDFyZeCR98vT7mwaTAh3Gb306GW9q2f07uNNHnqSfFqHLqH6hnTuXKBxtcZ2uNy2NF33rGYmRfD70YF4rg7iPJFpUG2Enbe0OQ3LQzbXjYZLa43ZcNxtvR2eizGtU+c21ss0XNosvDN13tfnv4jUgby8c=;24:PmSTHzKUkLuivJC/JqpSSs8glKZV/hAZecku/EHKy0Yqhmub8UV3zSQfFxoi4Jy5mmJZlV8rT98os1b0QbdQSGOzM92uG6Er3x6llR4bKjE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB5PR07MB1717;7:2zaJtTv6y6dKoYyLqBuppflRaGeHAapqNTb9ottgOx3GpMK4UTayQPCTkq2WXIdEz8V6jpeiInJMJ/SKBFStejnOFPwBOadEqRO9F0jN3TvL0GG/l7iFUxALVmKTCXqUaggxF/AJL/EQ1AVVz4VVqk1hoGmUSv/H/v2gzfrANSVjcC0MGYuO/Mkapu4DrGPJDe6WNVCHve5M4AmVi1nk7+sAJBxrkZ+z6HkFRU6mn9ArEOY2eFFsTSIkotJk215azfu7UkEuFX/n4J09HG2Hq6oUlSpxkQFK0ErOzNFR0yveoHbF+CpoKCdEOZtbciaK5b0mGcAgm8af82eIuI9dSQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2017 16:06:19.2267 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR07MB1717 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg00134.txt.bz2 On 17-03-08 06:31 PM, Pedro Alves wrote: > A question that I think needs answering is: > > A regcache stores the ptid it is connected to as a field. > We rely on it for get_thread_regcache for example. > > So, couldn't we instead just use that ptid? > > Thanks, > Pedro Alves Huh, good point. At first I wasn't sure I liked it, because I thought the method interfaces would clearer with the ptid as its own parameter. However, it would probably be more error-prone, because it would make it possible to call to_fetch/store_register with a regcache that doesn't match the provided ptid. Actually, in the current state, I guess it's also possible to call to_fetch/store_register with a regcache that doesn't match inferior_ptid. In that regard, using the ptid from the regcache is probably the safest thing to do. I'll try that. Looking at the comments in regcache: /* Is this a read-only cache? A read-only cache is used for saving the target's register state (e.g, across an inferior function call or just before forcing a function return). A read-only cache can only be updated via the methods regcache_dup() and regcache_cpy(). The actual contents are determined by the reggroup_save and reggroup_restore methods. */ int readonly_p; /* If this is a read-write cache, which thread's registers is it connected to? */ ptid_t ptid; I understand that in some situations, a regcache can have a minus_one ptid. However, it looks like a regcache with an invalid ptid is never used to directly fetch and store registers. Instead, it is used as a "backup", the content being copied from and to a regcache connected to a thread. Does that sound right?