From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67155 invoked by alias); 9 Jan 2018 19:29:34 -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 67144 invoked by uid 89); 9 Jan 2018 19:29:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2708 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; Tue, 09 Jan 2018 19:29:31 +0000 Received: from ESESSHC007.ericsson.se (Unknown_Domain [153.88.183.39]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id 43.0E.31026.818155A5; Tue, 9 Jan 2018 20:29:29 +0100 (CET) Received: from EUR02-AM5-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.352.0; Tue, 9 Jan 2018 20:29:28 +0100 Received: from [142.133.60.216] (192.75.88.130) by AMSPR07MB309.eurprd07.prod.outlook.com (2a01:111:e400:802f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.1; Tue, 9 Jan 2018 19:29:25 +0000 Subject: Re: [PATCH v2 1/5] Support 'info proc' for FreeBSD process core dumps. To: John Baldwin , Simon Marchi CC: References: <20180104014923.11899-1-jhb@FreeBSD.org> <20180104014923.11899-2-jhb@FreeBSD.org> <8ce6ffcf-cf4c-9855-5d37-4d8db4e33803@simark.ca> <1752022.FNtOcQG6Rg@ralph.baldwin.cx> From: Simon Marchi Message-ID: <3f3d8fd5-3106-3c1b-5a60-80ed82d65a24@ericsson.com> Date: Tue, 09 Jan 2018 19:29: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: <1752022.FNtOcQG6Rg@ralph.baldwin.cx> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BN6PR13CA0006.namprd13.prod.outlook.com (2603:10b6:404:10a::16) To AMSPR07MB309.eurprd07.prod.outlook.com (2a01:111:e400:802f::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cb9175ac-1a24-487a-26cb-08d557974bb3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020040)(4652020)(4534070)(4602075)(4627166)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:AMSPR07MB309; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;3:5WHSVYHMNu9PjdNhI9wCJfSLDnZM5f4yB/4NzDSx+ZPPPoQSzCEfYxeUcB80V+h5DpSf55PGjG1kfdmcB864I69kgH7Sx7WkycbZkv+zvIihCr7eknCLdBou0jcdZE85w8D/ZllyUdB0hYF4suIQny0a3R5NvM89kKyBHbu2aBupszsM1YkEloRCPTtk0uDgLxZhM2mc0pbNo8nJaN/ncjsuw+W9I/XzpDyIJUuZjmfbKswDGmLXZcwSJTmY36W7;25:9aTSgaJb7Y4d94FTqJH4vzdkMA4M4ALTYSMwrFEqLcaWNweFuazf78Iic+j/lk+HWdizlVd9x3Uo0a89XXMnoEmqzsLa7JfnCrkJ/Ggo2K6jKO2Y6H5a1XH7lN63YiNPoxjN5U8HEd/lwRob031Q0rKDijGo4OIeXTh2+HbIX77AmsUQHX5U9mjcpUtQQM7i9oWXDlJwtVorSfwLF9wSnx8Qlw1gYD/w/etwb8hIoPYhmChv/oTYVlDwBSrs6S2o0EfZlIEXYISgU/+qMb7CfCc5D2DgYZfmFEG/+8iD4BSpKBoigo6wCcAG3d5DUqaLRA90eHHfHkr++ZjmGomA3Q==;31:s+XPSayKx+cUPaTqFrVl2N01bAkRSxeCVZqt/6Sjs/tmvAZC3W1QLyBBA20RWMu1wWJr61LphZ11ROVicp7TrtnQtlpANEInxtv2vl1M8BxAXlgvTbuJC1KtSVSB+BkNX7w8yGOP6sIbh2mTZc7Dnmx87KLMWfLyok9ioudnH26XNFjRI3QyWypCqLxJi3UCZVcmRkcTS5/xvDNnIpTDhmetJ/aMInO0l035CMdigWo= X-MS-TrafficTypeDiagnostic: AMSPR07MB309: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;20:SBCHnIj6fmQNrq320TyOyvLFWM2ShMG0oV4QM65xAsTkEmgYDyaIQhvaxPxutNuPNkDdU/6M+kRiTzBEi+d2Zys5OB5NziGFpg78JetgACYU9D4yGD5GhyVvTMl3Y0v7WZXycCyB6p9Fwo9KU234vaoFq8Rp1mVHJGsGL/LYVhdBiQLa3INpC+hN1fWUrkAqgNAzn8Fz9Bv2B6qUX9bt7Gro3kYtZNR1Vf3X90kO0kv2nxkWjJfGE8km4/YNRBLugWIgcb8/h1DToX2I4m8cO/shCBQ0w6n1sc6/OBJEYQgiOO0WaQHj6rHA761GxVo61lnaztXZFB3oie8hhwt+8xrRxPRgX9zYYaEi2/SlivkqYmP9Lw19GsnW9qK1nq0L4pOCnfYjfGGT4XA55pxztjENJ/O9vw2XbmBerTrzi0BzDOOXrQr4PDSHnn/cq1N14TN2AC+8fEHk0z4LUaNKtxen7wDaC+JHELGNmecO47Fg4jXyE+nEEDoguSPep3Zm;4:RyrmsSCxid96F7EePOtr8r4vnSVLIdB1cixneL6aYj8kdQp0kr/IG6XyEr5OALaLYBz728aAXPKP/zBa03izZf/vxJjr+Ri0v66ewCePf8Bn1FBJYGx7dmWDkjkQIPAfMcOD1i7tMaSL7H6Yem0AVbpu+ITxOTlFMYxWCJBzAAxa159pMwn7lAnjl0XXOLhS4twikF4SEqmVJhrqIR+YsmAhhcwzSNS+ldNsdy8ZhU80BPjdqqH+WzO81RCa/kjxXg6Pod1X8DJ4ahm+IbvaHQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501110)(10201501046)(3002001)(93006095)(93001095)(6041268)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011);SRVR:AMSPR07MB309;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:AMSPR07MB309; X-Forefront-PRVS: 0547116B72 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(396003)(376002)(366004)(39860400002)(39380400002)(346002)(377424004)(199004)(189003)(24454002)(23676004)(31686004)(97736004)(4326008)(2486003)(93886005)(6246003)(52116002)(59450400001)(386003)(53546011)(53936002)(50466002)(25786009)(76176011)(6116002)(478600001)(52146003)(2906002)(65806001)(106356001)(47776003)(64126003)(65956001)(3846002)(66066001)(105586002)(6666003)(36756003)(2870700001)(229853002)(110136005)(81156014)(305945005)(8936002)(86362001)(5660300001)(6486002)(2950100002)(316002)(16526018)(83506002)(31696002)(68736007)(7736002)(16576012)(65826007)(49976009)(8676002)(58126008)(81166006)(78286006);DIR:OUT;SFP:1101;SCL:1;SRVR:AMSPR07MB309;H:[142.133.60.216];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUIzMDk7MjM6U1ZrZjhvekZkVm1IVGh4V20zUURkai9DN0Jr?= =?utf-8?B?UUFrTEI1TWUzSXRGZ21kRGRVYk1mZzZTTEVNbThvelVnQ3BMTTJHTnd5N0F3?= =?utf-8?B?dGM1QkdUL2NScVNFVmtRZXlqckFCYW1oZW1Mb3lJQ1JIZytvTGFSWlZ6ck5i?= =?utf-8?B?b2pXMVNWcFJBbm5vTllQbXd3VHE4WDZ3QlVnR2VPdFdhYnZ2eGltTHc0aWlP?= =?utf-8?B?VUVFTTNYbnFYZktjdXlLTTk5NTRrKzY0NU5Dby9Gd2orSnNaN0x2OUxPTDhs?= =?utf-8?B?RkhJWit6MmNpdlhIRi9DdUc2VHArVmdPVkVPamJuQWtJM0FZWDZlb3AxRDlE?= =?utf-8?B?YUVLcWgyWHBwYkxDck8rUHRZVTU5cTBvUGIvVHN6Q2JWcEtZTjM5Nnh3TmpS?= =?utf-8?B?bm5IMzFsUHBZRWFsNnQ3Ym15dmE2MU9LSndlUUdPa2VuWkRkS3pvOU1HMTlh?= =?utf-8?B?NkRkYjUzS1hLYVdPdHJnY3ZtbXEySzFPNndod2J3bm1SL1lrWWJRL1ZLZEY1?= =?utf-8?B?VDBwY1djMkhzemFJTVZHd3RJL2NtajRVb2VFTUlaVnlacjlUQytWb0h0c08r?= =?utf-8?B?UTRSSWdlL3lNaE9KL3QwcGVlWXg1cjYyK2gremxhRG9UMnFIVjBkWUZDUE4x?= =?utf-8?B?SllZUXM1LytMYXdZQmhRRGxubitNUGFCVmhpWEhYY0tkaU1MVVlwMXJhQTFH?= =?utf-8?B?eml5bnoraVMrTkc4bDhvM3dnVU5PNTNKbzRVT05HWms5NDE2T3NIYmJWMW1H?= =?utf-8?B?dFNMSzJibWZVbWMvSnBYYkpRYzQ3MFFlWEx1R2JVV25GazNxZFI5OFpDRVNJ?= =?utf-8?B?RHJBVDJjaXordjZlOVM5MnVGL0xnbVRJR1NQZ01zTFhld3Z1cHU1RmMxeG1x?= =?utf-8?B?b05BdzViYjY2TDFPb3FJZTVRS1h6SWltVjl0Mk1uTkdNRG9rbUlrbS84NGww?= =?utf-8?B?SGtHYjNaeGF3ZlJKaDMwZ0x4QXJtYjJ6dE1Rcy8rems5bEtNQ05LYWNZc3Vz?= =?utf-8?B?WlJLVm9uQmVqWnd4eVhGOExwSXpRbDc1QndDemFBU3FPNERpUUdsY3V3QXgy?= =?utf-8?B?cDRxY1lqeW1iNjI5RVMrSTdJdXRhWXJPcGErb2RnMFAvZXBQWUVFc0VtcmQ4?= =?utf-8?B?V01hTkxnOGRNTWYwVlp5aWx6VHlQTUZCS1N0N0lKNlEzckhNWUh3SE5FeHo0?= =?utf-8?B?ZVpVbkpDU0FmaitSV0luUENyeXlJRFc4SWFJdTF5YmZwL0o0cmEvWVY1ekMv?= =?utf-8?B?TFhlbGliWGtJTmRDaDJwbDRrSGgxVC9wOXloc3dCU2hpU3hYSm5FaHF6dG5y?= =?utf-8?B?dTB5YkViYlJVUFA2TzFsVDVtcWJvbXVUcDNiSnRrejdqczg5U3ZzUXVyMzBS?= =?utf-8?B?TUZSOU9KKzQrb2t3b0tZSmNIaEVLSk1MWkZWLzNiQkRJNHhUNGVSUnkzYkdW?= =?utf-8?B?WWxVL3hZYnJmaEhvc2UzT3Bzb0p4L0trMlRaMlVtOXI3Tnh6bmtQckkyWVM1?= =?utf-8?B?QWRIWVVkTjYxK2JqcTdJYVkwZzA4Yk1JQjNEV1o4aDZOeGhhdmxXLzR4dFJm?= =?utf-8?B?THF4Tnk2V2Y1Zk52SFYwZSt2amlNVTNHMFY1R1Y4dzJhb0ZiZk1QL1hpZkJ5?= =?utf-8?B?MnJPZkd2VmVWQ0NjL293NTIxRDViWEE0dElrNHk3aWJwQzFTTWRLZk44ZkRS?= =?utf-8?B?TEVtaGMwcTBoeDBUYzIzZjJLcC9BNFpOYWhBMmhlWVdNMkZiQzFZaWxLVUZQ?= =?utf-8?B?OG1IZHhpSnJ6RXpqWHFQaDh1SGh1MnZhODRmMm9rc2RpTGthTDEzYmxRZzlr?= =?utf-8?B?TkVaUC9OS0tWdThORGRCQVprUGVncWhJWXltUlJGUjl0RkNWY3VXdmROQ2VD?= =?utf-8?B?SlRRUVpSZWFrdjcvakk1MGwxM0xFSU9wWGtPdHJTaStRUUxsQ2ZnUU1vakFz?= =?utf-8?Q?vP/S982kkq1BB8GNGRbMYx6hfTalE=3D?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR07MB309;6:NNCvEKF7+igkiMf5wHP0VpBErArVthTS02SU5L1YEImHTIwbf1s4SecFLq+16++Kblr0vhs3Hzc9fsqsd8dqNvDtepIVKScuNMUGhGFrN5pKcZ6xMfBV9+AgfSTwW8U+3S79kjDPS18Wvm+t0t7RFJH4s5l6LQAa6R6re5C2B2bd7FiswolBzC6UajI/J8OrPbirNal9gOojdqCX9VSje9nfoC2JtnK/89KDXnOM5FE+wYP4f25spWqlSeo3TVrvvz1QlgBFRUKHxx3xdCq5s4J/XyNb5zeslqYrfddUMcKBdB34hjT5ZXpJ91KUc6MDPytj5mXXw1gwcpRXS8dPVCQ9FnUIH3mgNsZeopdPA5Q=;5:zf8Lh3wEIoloNafzLc3rl/7AWX8YqmLGUsG0x4vS2S1eJbwYXD/njV9bFsIMfJ5SmFAKXCmhenxKjMJYDNAmmBUzSoF3z9MT6St+/3L66O7ONYGbA6XaWTwsAizifMDSdoLOdCXtBd5FWw0iD/ZgbTczUq5atlRU6kAGQxjIPWI=;24:bWEQL3YnHCZvvu4Pyr2u+s9VOOGMFCwofUNaZiVxpqZ2TbyuJZD+9R0QljNSu1piMqB/PHlfPeo+dDXKDx6UpiHWYhn6vw7Jqdk5CUWxJ2Y=;7:9kqG5anTqeJCDto0qjLuE5St304oreXhqkoYCBQ57EyU6G7rZouGJ4iJktb8r5sS0vNPhF9cLe0EJT4Pgqi3hX0Tzci5knsXqQVUnacNzxtKzon+4EFq1HSPohaZpKYRPAwjtP8RxaRDnD8vo2C+dwWFQRLeKNsepin40H4+Qoam3VFqI3Jc3akLXGjrSVQN+7E7rCkE+cOcmiXwvOFRkOWRK/0IhWMbXUJ5GEDNkO0MkA7MTYD4akoBA4BpPbaY SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2018 19:29:25.7784 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb9175ac-1a24-487a-26cb-08d557974bb3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB309 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2018-01/txt/msg00191.txt.bz2 On 2018-01-05 02:21 PM, John Baldwin wrote: > On Thursday, January 04, 2018 09:53:47 PM Simon Marchi wrote: >> Hi John, >> >> I have two little comments, but otherwise it LGTM. >> >> On 2018-01-03 08:49 PM, John Baldwin wrote: >>> +/* Implement "info proc status" for a corefile. */ >>> + >>> +static void >>> +fbsd_core_info_proc_status (struct gdbarch *gdbarch) >>> +{ >>> + const struct kinfo_proc_layout *kp; >>> + asection *section; >>> + const char *state; >>> + unsigned char *descdata, *descend; >> >> I get this: >> >> /home/simark/src/binutils-gdb/gdb/fbsd-tdep.c: In function ‘void fbsd_core_info_proc_status(gdbarch*)’: >> /home/simark/src/binutils-gdb/gdb/fbsd-tdep.c:791:29: error: variable ‘descend’ set but not used [-Werror=unused-but-set-variable] >> unsigned char *descdata, *descend; >> ^~~~~~~ > > Oops, too much copy and paste (and I've only been building with clang so far). > >>> + int addr_bit, long_bit; >>> + size_t note_size; >>> + ULONGEST value; >>> + LONGEST sec; >>> + >>> + section = bfd_get_section_by_name (core_bfd, ".note.freebsdcore.proc"); >>> + if (section == NULL) >>> + { >>> + warning (_("unable to find process info in core file")); >>> + return; >>> + } >>> + >>> + addr_bit = gdbarch_addr_bit (gdbarch); >>> + if (addr_bit == 64) >>> + kp = &kinfo_proc_layout_64; >>> + else if (bfd_get_arch (core_bfd) == bfd_arch_i386) >>> + kp = &kinfo_proc_layout_i386; >>> + else >>> + kp = &kinfo_proc_layout_32; >>> + >>> + note_size = bfd_get_section_size (section); >>> + if (note_size < 4 + kp->ki_rusage_ch + kp->ru_majflt + addr_bit) >> >> What's the rationale behind that computation? The field ru_majflt in kp->ki_rusage_ch >> is the furthest field we'll actually need in this function? And addr_bit is the size of >> that field? And 4 is because there's a field at the beginning containing the size of >> the structure that comes after? > > Correct. This is the bounds check to avoid overflowing the note buffer, > but it does warrany a comment to explain what it is doing. And actually, > writing that comment made me realize a bug. It should be 'addr_bit / > TARGET_CHAR_BIT', not addr_bit directly. Also, I noticed that the > 'long_bit' variable at the start of the quoted section above also isn't > used, but it's probably cleaner to be explicit and assign it to > gdbarch_long_bit() and use it in place of addr_bit for structure members > that are of type long rather than assuming addr_bit == long_bit (even > though that is true on all of the architectures FreeBSD supports or is > likely to support). > > Ends up like this: That LGTM, the comment you added is clear. Simon