From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2051.outbound.protection.outlook.com [40.107.21.51]) by sourceware.org (Postfix) with ESMTPS id B30513858D3C for ; Wed, 22 Feb 2023 07:08:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B30513858D3C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kki8IDLSE8kQLhchkmWuho4It+6ZNnLVr8Bl1PN5vx6vxuF+Pr97N12UoKRk8GCC5HGNdZSNEjnPJmctNpulI3bziMBAiALNSVdjz7cG/y9egq7bQk+QsWFRGp/HFPZt9bgbINRpvEDb6X0gPhRojr5UnEs6BMoUEJvTycALDFojkp1gTVkte1TmeKRMCl9TWfTwWN/B78qHFGMfgqZcT4uqDIKY5aLAzN1fsacVIcV5hpona7K/Y9zxQJD5IXK+BZGrDecfQ+z1wgHq03fFigdfEq6tFmGDCyxBhG4CrRYmLatD0uZQ9t+ye6lFlXt7npkFpTHrLy5UZxJE1tqPJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mmC34E3vAAXFd6fBlNXfca5bv+zocc8O/Rtvi9mDOH4=; b=DAZkbe9U79+N9wFJj5dim0AsmQXfVh2BnGBawTlNCuW87LORvR6Ra811Mmw4Ko5a666/ysZMNKm6K6RncptHTyIXcBND3O5Wjiu/Gu2eJsJfy9yUmvrknCRTL53ClLXPVZFHoXeVqu/ZK/q3ty8VqzigWe1uCsd4zSt3IgE9m7A7x7k2vZbJ3j7BlYIVZiYXJlxV9sCYmc9x1rnMJFrOsOOLqFj4f5pKVuhlW/AVomrAn88s+E+8bu8Lqh9IkiEBVkDmUogT+DWSAALGsAQ/Ml6m6nJ9YfShwTJxNzez+fKeLjBCi1WzMuVliSJEb/CIh3x/AAY7WMNRvCKQD9YONg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mmC34E3vAAXFd6fBlNXfca5bv+zocc8O/Rtvi9mDOH4=; b=l1kTSnuj8P4UOwyck3YLH/c4pBWzvn/xv62g2PJVHYtE/c82zR/4oPyD8idC5rj6bDKlmGiT/ZGqpfci37FqS+PZi3gEoZKdRt5ArCX4yI8FArSrfNKYmZJLyt8f3qUrBmrruC8yDV03CQ/MudjkXx1NE2N1gA2yRxXh8sPi128I8puaoyZyjEEKCwxxKz565ndbRkbMzRnhyv2XawFVYVUGnRwacDRYxNuDDrucixfuqsPZv9sKbq1v199Pgtt6NTgV6K3wGNnD3uzbVj/4f6rVyOH9ivlw0vV5MTQOiag00DZu1ZCXHBQlZAF64Yjm5f151z5VAJ6g7fPNnFYmdQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by GV1PR04MB9103.eurprd04.prod.outlook.com (2603:10a6:150:22::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.18; Wed, 22 Feb 2023 07:08:45 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6134.019; Wed, 22 Feb 2023 07:08:45 +0000 Message-ID: <5176ad2d-747f-71a1-27d1-5e6458402a2d@suse.com> Date: Wed, 22 Feb 2023 08:08:43 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH] ld: Sort section contributions in PDB files Content-Language: en-US To: Alan Modra Cc: Mark Harmstone , Nick Clifton , binutils@sourceware.org References: <20230220141328.20441-1-mark@harmstone.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0086.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9103:EE_ X-MS-Office365-Filtering-Correlation-Id: 2870225e-bbe4-42c9-007c-08db14a3a2f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pHHKW+WHzEZWHUe2UEicNVGM/7PqouxXE54YB0F9EyP0b/cO/OK4sFgHlMuYwUN/1KalE+aAiSpyXiqtDl75kcSugbiH5dk+R5+D7vf2QXVxNE+xgDsxS6wHCzaLbiSyUvWINrgYwqni+9A+9paqx6RHQzKQSBPEUK0zNEl0r4owU18nX5o3UASrEQqdE6O8IMmozeFsirqY6kc2TwVZNeSJCfsTxhKu3idm3W2joV1rEjRJyyorlagon65K4IGeiBZr/aQuzvdJWOUYwfPhDnExfwKIj2WWuARkPPljj+u+SS2uBN4Fcq46KJFwc9Qwhl69AWY88QbgVX5GriUcKoUr5wL/iSQTrTjZbodcZ+ckHHhCOOyHPeYVlvdlbJ7/1PZ5QjlI9epm3upE/1BWFW8KzBtiev/vmkfnQ53s18B+pllrwqNOl+uDQ3oWskzV6H/G7gztiR/V/8r6fiRXNsnWJfZLhjEcw2jxdcmGrL+Oujg1nYlalkaVSnhuI2wW1f44aAgAmbQGHTCZHDhwBfPLQGUuZZTPVtYlP9qWHEyuoHzjIcfi22NetLxrOPYKAtScJ0gOCzf2G2ZORl1x7VKjunPOqo7kXzGFgVnxOv11cngcCKVml8kWi6zmjue6DrlIf5r/pzd4jQHCmIIR1TBEpTPYzzQqHjV2D+wv2kIVifsND1d8JkLhP+5VTFxlVDcNTw1MUaKmGL0AGX9zshqKcoSBbpCtjEk0oKedimc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199018)(31686004)(36756003)(41300700001)(6512007)(5660300002)(2616005)(6506007)(8676002)(186003)(26005)(53546011)(6916009)(4326008)(66476007)(66556008)(66946007)(8936002)(31696002)(86362001)(54906003)(83380400001)(2906002)(6486002)(316002)(478600001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TWF6T25XNFFTWjRkTGQ4d2Rvc0Y0NXQ1dEdHQlF4eFkwMG9JZHZsM1AzSWdR?= =?utf-8?B?dU5lSlVvRm1hWTluRDlGcmFDL3gyeGc5U2dValM3VlFiRk5Pd29SemIxTm1C?= =?utf-8?B?T1BNakw1THFVSXppNWVzdGcwR0wvaU1vbktobm14clV2YjR2MTJ5M3QraGVm?= =?utf-8?B?anpobEd0VFQyNnFxS0Znc05xcS9oQjR5d005N0RqOExVb3RKV2RpRDFlSjZD?= =?utf-8?B?dDQ5VEpIMFM1bDA1L1pUYU4vT29tR21XNC9YaW5UeEdQSy9NVzBIZzVHTGJl?= =?utf-8?B?RmVwK1FoOXgyajZlZTFuU2dRWkhFR2RDRkwzcm51RTg4ODlWS0Z0L1lyb2F6?= =?utf-8?B?VE85NkdyTWtVSnlLQ3hqcGNXYWQ3dDJTZ1FMeExEc1FRV2dwMjNxeWpmbDVz?= =?utf-8?B?d0FtWTVYUEFHQkFNYWxnTUJwc1NhbUFNdHhudE11WFlNOExyWEFTdUVRS3Bp?= =?utf-8?B?eGdCa3Z5SGpTWm41ajFRSzN3d05mQVFsSUJ3YldvUGRHQTBoVlc1V0MxSU9Y?= =?utf-8?B?ZkJRam5jdXJDYnpsZ29jekpaMTZLL004K0xxYkJBdExhOFowbkxjUTVzVGwx?= =?utf-8?B?elBtUGdYK3lrakFZZ1pHS3h6akU5VFhmS05nSVh5c1N1ZWR0Uk9PSXRrNzBI?= =?utf-8?B?aVlUU3duYThjRDROWS9JZDlURGJpM2luVXQ5dlZuR2JGWjBmdndmam9XNjNk?= =?utf-8?B?ZkFzV29OVnJYUU9TbVZsQVdIeldPaUd3Njg3NlZtWWNvaTgxQXdGUlJWSlEv?= =?utf-8?B?cTZPTVV1eGUrU09PY2FBMGRBd1hwaDhVMkw1KzdNQUtPYkVTVlR3aTZaTlhV?= =?utf-8?B?TmJTTFBRWkZvc2tqVWdsb0FPQmRxcTBabjJFNVBiSGwwa0F4R0ljaW1ISG43?= =?utf-8?B?YmovZnFTOTlJaVA0bU5TbGdCS3h2S051OXNRWjBWbXNrNDZYeG5qY00zcktr?= =?utf-8?B?TDJpT1BnV0RFNS9BOFhudGlDM3J6TFB2aU4yQjJmb294bDIwMWZ6dFZlQ2FM?= =?utf-8?B?UWVkaE1yWkVycnZ5cUNLVHpQMWtYZDdSczN1emMwV3BvT3RhMVkxZ3NDU09I?= =?utf-8?B?YkVXb3B6b2FYOFpGOGtRRXNFVE9mdHJRaDZ6dnFqc1NtbCt5dVk3MVYwN081?= =?utf-8?B?S2JNZCs4SmRhRUMvUXpPeHRoNWdoTDdxMmNKUWpCOXViVG5JaFZueDQveWtW?= =?utf-8?B?NkxCRUMzUU1uWGRBNFc4MzJLcVl1LzVoY3BVSmFLQmswdWp2aTdONitIN1ps?= =?utf-8?B?SCtuVlR3UUhCQkFxQUlJMFdyWVB0elJOVGppdFhsaEJrZXFDdUJaTEExQTY2?= =?utf-8?B?TFRxMW9JWU01OVZpMVQ3TFJTcmVBdFN3ZDlXR2k5cXM2UE9meWZqWnV3MEwz?= =?utf-8?B?dUoraVdma1E5YkF2YU9Ka08xNW4xWTJzZWdBbFJ4NHlUZ1JtQW4ya1QveEti?= =?utf-8?B?dFhrTi9IanhKUTlQdGxERHlNY1FLeWl1bnlNV0hXbVNlVUZjNE5QNjJqcGRX?= =?utf-8?B?bHc4akt1Ulp4YkMwWTRCTG81UEo5dTNGS0dJTFNiMThiWU53aXZ1dUsvTXl4?= =?utf-8?B?TnhoUFFQaGRGZ3kwVkkzRFljMmdMZDY4S3VsTEZiWnFNNis5OGJSb1JOaEpV?= =?utf-8?B?a0Q3WDdDZEV5UXZtQVlqRGpJOTVxRUtZUyswU1V3UkNYdzRLdHdYdUxCYVpu?= =?utf-8?B?UGRwTDVjWEh2UisydWJoSitGYmFRQTRtcElmM2R5R3ZoUk9wZ2tqd29FSFh4?= =?utf-8?B?eFRWd3BGVFI4ZUdQcVNvcFJTY1pHZWpnSFprZ1J5V2l2VURrNWU0TUhYbHQ3?= =?utf-8?B?QnJuRkxVaWlCbkVxN1JkWnE3ZkNRZ1N6cFhwTnJkNmV3dGtEV2h6Y092SFZX?= =?utf-8?B?YnBiNTJCbS9vZmxlc3lxdHBoUlgxai9TeU1obVBjY3k3RVdiZjFRbXkwdnph?= =?utf-8?B?d3hlb2FXNlVhdHhzS3VKckxRNTF3blVtWkxZam5lczQvWUhLcktyVnFOc1hE?= =?utf-8?B?K2Ntbkd6aU1wMGNzQkRXNjJsV1g1VG8xVE1KRkpEK2EvOTZ6Q3BJZC9ZdExp?= =?utf-8?B?elMwcy9LOFJNR3plcU5oWWJmWFZTZXhnM0E1UnliSlZPb2lkczV0R0FBYUwx?= =?utf-8?Q?i79adT2n40npVk46HaK75CIPt?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2870225e-bbe4-42c9-007c-08db14a3a2f4 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2023 07:08:45.1525 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pRAKu/hZiV5/rnRgrFIHwgJEIPpWpVFCuqafZDWfjUaJeeWetVcmwZGWWzYYERpmmBH3sR5heXK+gjNqJ+5ruw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9103 X-Spam-Status: No, score=-3028.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,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: On 22.02.2023 06:48, Alan Modra wrote: > On Tue, Feb 21, 2023 at 09:26:33AM +0100, Jan Beulich wrote: >> On 20.02.2023 15:13, Mark Harmstone wrote: >>> +/* Used as parameter to qsort, to sort section contributions by section and >>> + offset. */ >>> +static int >>> +section_contribs_compare (const void *p1, const void *p2) >>> +{ >>> + const struct in_sc *sc1 = (const struct in_sc *) p1; >>> + const struct in_sc *sc2 = (const struct in_sc *) p2; >> >> In ANSI C there's no need for these casts; it may be that they were >> needed in pre-ANSI dialects like K&R. Personally I view _any_ cast >> as latently dangerous, and hence I'd prefer if casts were used only >> if there's no other option. > > I agree that it's fine to write this without the casts, and I've even > used the cast to void* you mention later in your email to shorten > lines myself. I agree that casts are inherently dangerous too, and > that it's a good idea to not use them unless necessary. Also, it's > really, really annoying to need casts because something like > os = &lang_os_list.head->output_section_statement; > gets a ubsan warning when lang_os_list.head is NULL, forcing you to > use a cast or accessor that loses the type checking or to write > horrendous code. There have been bugs in ld list handling due to > casts. > > However, I'm inclined to say that a cast in a qsort comparison > function, or to cast the return of malloc or similar is mostly a > matter of style. If a contributor wants to write it that way, I'm > fine with approving new code with these casts. After all, there is > plenty of such code in binutils already. Now that's an interesting perspective. Depending on feedback on the topic I was meaning to possibly conclude that such unnecessary casts would be ripe for removal. Perhaps not by hunting them down and replacing them in an isolated effort, but as code is being touched anyway. Jan