From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67336 invoked by alias); 23 Jan 2018 21:51:40 -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 67313 invoked by uid 89); 23 Jan 2018 21:51:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.2 spammy=ericsson.com, UD:ericsson.com, ericssoncom X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 23 Jan 2018 21:51:38 +0000 Received: from ESESSHC017.ericsson.se (Unknown_Domain [153.88.183.69]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id F0.0E.13339.76EA76A5; Tue, 23 Jan 2018 22:51:35 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.69) with Microsoft SMTP Server (TLS) id 14.3.352.0; Tue, 23 Jan 2018 22:51:34 +0100 Received: from [10.0.0.110] (192.222.251.162) by AMSPR07MB311.eurprd07.prod.outlook.com (2a01:111:e400:802f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.5; Tue, 23 Jan 2018 21:51:31 +0000 Subject: Re: [PATCH 08/15] class regcache_read and Pass regcache_read to gdbarch methods To: Yao Qi , References: <1512125286-29788-1-git-send-email-yao.qi@linaro.org> <1512125286-29788-9-git-send-email-yao.qi@linaro.org> From: Simon Marchi Message-ID: <94ef6e4d-50bd-9e17-e143-fe304ea829ee@ericsson.com> Date: Tue, 23 Jan 2018 21:51:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <1512125286-29788-9-git-send-email-yao.qi@linaro.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR1101CA0012.namprd11.prod.outlook.com (2603:10b6:405:4a::22) To AMSPR07MB311.eurprd07.prod.outlook.com (2a01:111:e400:802f::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c3b4394f-ea84-483b-f39b-08d562ab772b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020);SRVR:AMSPR07MB311; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB311;3:g8Vncocaq3s3JHlhzDmXhrOuCqCpjH/yYZLht8atYh4RiCH8EK+YVuQ8k06kM1qggruciCxTC6B6St4XKA4m6/5ETTG5hRe+eWONuOUh7NKgoJdW5vL7c2t9VJL8/l+SGJuozPKLzz1ZUbbzUPfMzXpSmCCm+A0Wk5YAMxV77xzES2Yo7exKcUf+ncAMe8HuB2L436ScKIvJvOWh+UeP/wD7t46xN1eJO0NuNJ1mhVL8y9OlgNK6B9DhOg8H32Kg;25:rvAXl6nfTYSX19ATf3nVIsbTkxlXxco3/g+HdbU0rOzlwpPI1uXXe6cLDACRE6F1VLuv++O7YKa2nHdsoKZ92njrGFYI8HLikO+jn9D9iolpQFQs9k4w4CCddzaa89BOvFGC9vZtYymVvpCtiWVZQfDoDZ6PwN8KwMUgcjRzf37ju6HWjAcKA3hi+23RS32MBbougpbJEJ0xkgWIXMmZ1O3Sw/1yADaC9XzIRaS3K78CR3eFWJMACPaoSbtyw+y2ZH9aSoeGTW+Czt94y4xjuNxaGCv+CwnFuKGdgGB6wjXIKOLl955RO6Kd51cHUb4Myot4KOj5V84Jb7R3EBF5sg==;31:wn9Z5myQPPQ8toTJTF797P2lzJ5kYRyMSXGdHap2bFAEf0VvGfYUa7K2v7ggFvajLg+Ug2IRaj2h5d/yUcmGY3EtjgAkIBBlHE0830VDZDJ20XvFeSOb2I7tHshrHKiWSmCf2DHysfse8ixr9gt2XgwEPzxooYMXNTR/SlewI5YiMV9UCgSmceBvm6MGnauc6jht7sMl7aE/9MtHkQYEeZb8yE/41zxh8hj2OY2z2MI= X-MS-TrafficTypeDiagnostic: AMSPR07MB311: X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB311;20:zpBSqu/SVpOhmQ1FhtMNxx1cnyu6XNVzd4e4B2+YI5ae7doN3fVzFNQqss7wfAai8PDKo+c/61fjWHZzcTDIWV5tasxsXpZgyxfxRoyGuTVM49vsw4bK5us4a2LkvylXGqgSbukLhD7EoNcLPgnEPWraeEWB2vyYrLROCqQ3T0RrWEtajqgd76VBl+KsSKn2w5GZwwsAEuYvHj4wFNOm6dpioFWBqurZg8bc2/loUwJKoVyfE+xtNn2+RBpHwChX5o8U7uJO0lSALGGihXxVbRS1szlOAd0owCJ3Pil6gt7cY8cuS7LambVy8tN3eZcNqv2b+Zh3afy8sj0+/dKPyqkthFRrrNbFwrorlIAfzUdG4Uf3ylL3tNxUI+t66ZOirw2gSAa2N62bnmfwuk7qV/bt8xhGiXLoaV2LKhkiNU7Nxwt7llI7Yu7jY0cs5RVzdRb2HWcSGOjqa6oymdRUKVtW2osWCGrvKjqNk9+PDvsTuI97PnNx+KoAU6Qvzb8+;4:tpXhoozy7qHmZOXQaqx2xa7hQ5KStu2BL6z58jf6FlkdEunMqU43VY5u4QRFc0t+Y5qsZUW+FHYMcFsnf4drAk9fNtDp3cKBQjr7Exq/K6u3LmrrGl4BLaLodOdSA1q1FV8pPkjz6d/uQzSB8RpypbzZLgKY2Pm2BD06Es7jqUvZF0OC4bDyaDI26GYToMiJBd/ndrjsqnLSIZSl1sbePB9NALvmE9a2S8QqmScKAir4l9yLKVxxGjD087vniq3QpMWpaOuof3sfD9CToLkv6Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(10201501046)(3231046)(2400081)(944501161)(3002001)(93006095)(93001095)(6041288)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:AMSPR07MB311;BCL:0;PCL:0;RULEID:;SRVR:AMSPR07MB311; X-Forefront-PRVS: 05610E64EE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(346002)(39860400002)(376002)(396003)(366004)(39380400002)(51444003)(189003)(199004)(377424004)(65956001)(66066001)(81166006)(6666003)(26005)(230700001)(6486002)(53936002)(8676002)(97736004)(83506002)(31696002)(8936002)(81156014)(86362001)(53546011)(316002)(16576012)(2950100002)(386003)(5660300001)(31686004)(68736007)(229853002)(2906002)(6116002)(65826007)(76176011)(52116002)(77096007)(25786009)(6346003)(305945005)(52146003)(2486003)(105586002)(23676004)(59450400001)(7736002)(50466002)(106356001)(478600001)(36756003)(16526018)(3846002)(65806001)(6246003)(58126008)(47776003)(39060400002)(64126003);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR07MB311;H:[10.0.0.110];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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUIzMTE7MjM6UnZXN2o0Tkd3TGZGN1Rwa3g1c3VKSmIxY0Fu?= =?utf-8?B?YVh6TlRjNXFqdzJ6clhDekdoSTV0SGVsYXZDZDdscWZsTzljV2xGWnN2MEVJ?= =?utf-8?B?cEw2NEppL1VqNzR3VFU5b0Mzb0x5azQ1TDh6USt6Z3ZXSEJ0R2QzREsrVy9Y?= =?utf-8?B?d1JKdnJUdm5ZZ21XUjduSGk4OUZLdUt1WmRvaGRERURKby9OdzBMQjBQMCtS?= =?utf-8?B?UlRDWUVFbmtYQmI1eStyTGxjMElLcWRzZzRTTkV0QzRIK3VXVW01cUhzcUFI?= =?utf-8?B?cDB1czRNeEt6VDh0eWYvUjBuOHROSU5RL0FtV2RHM2tZSXNTQ3pYOWZaYVkx?= =?utf-8?B?OXJYemQwOGhjaEF6Qkdmbm9kL2Z5UnNDclJFV2QwQ25FdWVUdC9NcUhEMUVI?= =?utf-8?B?dytkRm1aRUhWZWhjTm5Qbjlrd1JvNDZsRHdtbkRYdzRqUS94L0hKdnlMblJ0?= =?utf-8?B?R2xvYWRmUmdqejR1TzlRaVdOVyt3V0N2dTF5RURLdmJtSmVMK1k2V3Jmd0sr?= =?utf-8?B?Z1JqUTlJUVd6ZkhOYXFoTFRpZEc2dGZsWHl3MVNFc0lGWmR3SVE2c2tDK2VV?= =?utf-8?B?UkJOQ2pWTU1oMnlMR3pyVTRZS2pqUVhTMU5rUm45MXJlK0NOamNwdjlTenFp?= =?utf-8?B?ZFRMOWd0MXkvNW9qK001ZU0yZlBmV2M1S0diZEN5dENmWjd1QXg2WVdMRCs1?= =?utf-8?B?OG9EaHFMTzU4ZG5iZGZUL0Y3M2dMdm4rdEQyNXpwWTFJejRjSnpkd1JSa0Ji?= =?utf-8?B?TUVuY2hwc09GdlVCeERkNURPYTRMeVUyLzVaZ3FWYm9iZEcwWk1FZHMrVUl3?= =?utf-8?B?bWFGTGRBRlRic2dNN2NmV2tuNU9talEyOFFweUo1dUt0ajFHZk9xNktUSFVN?= =?utf-8?B?VmVJR3p5TmpjQWV0b0ZhY2dFb3hZakp0TXFodHlhZEtxazBZdlY1TFJ3a25M?= =?utf-8?B?bTF5SmFEaUdWTXM0Zm4wMXBIbXdBYmZzclRjVU9ETlV5aSt2bkRCK1R4bHdU?= =?utf-8?B?cTFRdTRVZk1YVkFXTE9aMThGUlZzVmlSNGlBNk9SdloyZ3V2TzQ0RDNFZjZt?= =?utf-8?B?WDBJb2NZdFdzVC80ZlY0dFlKcnMyZXFHSm00djJHeTJnSy91bUQ5c0MrVVha?= =?utf-8?B?cjQwRkl2UHM0d1RGSDhPanpZbTBkcmtZdHVYa0JIWkpycGtkanF4T2orcEVI?= =?utf-8?B?aVkzbjc5eS8rTjBlTnM1SkZTU2U4WDJPZzNLRkNXbWhMQStVMVFCYTI2a2tl?= =?utf-8?B?dy9pQjFmclRlTHRwTXJpTTM4dGpZQmFFWHQ3eXdBdXNXM1ZmaVo3S01RQzRs?= =?utf-8?B?c05adFVEb1MyZFBNRVM1ZzB4V1RYb3pKYnljNzUya0lWUWJFU3J6S0t4ak5v?= =?utf-8?B?SUk2Y3ltdUNINjF0RTZVbU1KWVdMU05NVzVIUDZrL3R0TzE4aHJrOWYwS3Ja?= =?utf-8?B?MFJmTmVTUitjRWQrNlV3Z3MyNm5VVklMYktlK01DbmVhdW5qWVZSd043UVE4?= =?utf-8?B?OHExK1VWZUR2UG1IVnBNTlVRZERNWkdPdTZlcm4wSkxlZlpIYlloZUFVNDhD?= =?utf-8?B?R2hyVTF4NFNoeEZ0Vithb3RldHp3NnNFbjAwdldwbXlSVEo0ZWw2NmkyTm5V?= =?utf-8?B?NE92ZFZhV3JBNTR3ZmN0aFBBb3F0alhheEZUMGR3RkJHcmxBVS9uVXhCak04?= =?utf-8?B?T1Zxc3JsT0FYN1RpOVdSMHl5RFV1cjBIY25HWEFpWWVieFlMTTVpbmtDTEVy?= =?utf-8?B?Z0x0M0FiKzU4U1BLUGkvN2ZQYy9lZyswL2VKemx1YzdKb2ZKaHAvWkZwcWl0?= =?utf-8?B?Q1RXVFQwQ0hyQ1JjckV4RklqcGRYSDRxRUxybjVjNUtzVTlLSXZ1eEFZQ3ZU?= =?utf-8?B?ZGt1cFA2TXN6NG55NXlxVS8ySGtEZHh2Z2R6bnlYRHJCdXpMMGJZUXBRLzNw?= =?utf-8?B?RnBRc3VOb3c9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB311;6:utGVIkYvnLysrXZa9Nis7fibSG1qEzWlHBB8n+ypvqBHP+c+MJQbYvTV3EUjIwIL/ApWGwUn80Y0ehuINMO9HJdlfODEwLjxd/DlfEj8OgsURmrRPQ6ZXJSGjzbSZHNg9uYs9KO2BpT0yVMqqbVwLrcglCiBGgZE3VB+oP/8tIT26ASZpdLLtWhAjxrSKh0doTIGcdBxgTMlH1TOf4RDy9hOVVBg2EZo7JviO4fAklW9jug6mCrvsYGL+xJZ2pUKADXWrMbVuygTpdPA5hL4R4VMjkLi5E5q5EsLQMnIqgaXnYNsgUe5zRYNNujYBohC7tqXHEn/8mjqLrL0/EmLDmfIxkmG3qcENKStAJu1/Ug=;5:28y4bXXJT6NGguO399l8ITu8iYnovQ32pVuUY73Ka64LBFFBbvpGqsR6VC36cEYLDdM5VyJTOJO//EKBjwfWxf/vNgy03woraLzJaMe2TGpIhWtKaU817URflukj1wmMbiT0meXqBGIPHhk+tYQ667cMcKnSqlZKmwSx87VY+LY=;24:WNIKk7Bt7hHEhksRWvxDex8Cd87+baUGuVbh5ArwQGZ0p5Ji1kKWacHLXpLVm4as7zaBPs353uE8ArLDU12oYnZSNtNY5wRlh5mtGpaZgV0=;7:qyNm7SF1WWt04POJPfVaYfdon5CX/YnptPrFmi/EbqnZtfv9tlgTheB5KaSKlt5KTDQiyEqqhQm8TIGNbx8ywq6MJTrMfXn8E+prqx6iHX2WxraE+JXZpuZo6XXdDIPElbmyFKtjdSFoKuV8xIXe6gmj/K9m7p+6O98rNUkh22RMF9BTKw83ylh/xUDttgOCSUv/ZD9K+m+kj41n3+VMDuJvTkeYiK5a0b7BwuixOS26QgBKisWT4KmJXeUZLmBo SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 21:51:31.5154 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c3b4394f-ea84-483b-f39b-08d562ab772b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB311 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00456.txt.bz2 Hi Yao, On 2017-12-01 05:47 AM, Yao Qi wrote: > pseudo registers are either from raw registers or memory, so > gdbarch methods pseudo_register_read and pseudo_register_read_value > should have regcache object which only have read methods. In other > words, we should disallow writing to regcache in these two gdbarch > methods. In order to apply this restriction, this patch adds a new > class regcache_read, derived from reg_buffer, and it only has > raw_read and cooked_read methods. regcache is derived from > regcache_read. This patch also passes regcache_read instead of > regcache to gdbarch methods pseudo_register_read and > pseudo_register_read_value. Did you consider changing other gdbarch methods that only need to read the registers? read_pc comes to mind, but there are perhaps others. > This patch moves raw_read* and cooked_read* methods to regcache_read, > which is straightforward. One thing not straightforward is that I split > regcache::xfer_part to regcache_read::read_part and regcache::write_part, > because regcache_read can only have methods to read. That is fine with me. > regcache_read is an abstract base class, and it has a pure virtual > function raw_update, because I don't want regcache_read know where these > raw registers are from. They can be from either the target (readwrite > regcache) or the regcache itself (readonly regcache). About the naming, I think that readcache_read sounds like a function (it sounds like an action). Instinctively, I would call it readable_regcache. Simon