From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54]) by sourceware.org (Postfix) with ESMTPS id 238153959C6E for ; Wed, 16 Nov 2022 10:46:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 238153959C6E 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=ch0jQw1jrulqYrbhZniKRGHXDtGnGD0FJcQienKXbjbFJ6i2ZH2KCmf6++h+ElczWf64uJzeLYYJaVsDm+PE1qbXTuWz+UYGOZDV1S67MCwnLdAZ2ysNqsfaE1qU6IkSuRbgsXY6hmXaA0eFMZM0QrTffC2ganBoNBOG7LE9l9nOqpMzcOmkEu3ZRqSZlwBOKtV3NHyy94vFtDaZU2bslsw0NAmlxeCKlACkS5HlwxVjsv+0XnXAActT/LZOTTuJPqstq5oENIrnFDVhgtnxfBxGf/GT8gCcixd7XihW+EAty1yQgKaiZG4ipgN8kzX8MLweruaWFU6+4qcUDrI3tg== 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=R8Tql0o96SLBnuFNzEWF/srnyLhpmW08e2lYov2lpss=; b=PBgbFYyMg5ANVsIdHmLwxu+HzabZKtd01qN7B8uMmyFOp5LMdJgwIITKTqlQRkc/eSdhNaEcp0/A8dKrBmFF4ookJYSjTNTdvmCCL0jsDDt8rnWOMsJVQCKmD8mKyP8vsys7AWxvkPE7xzy463Yi7temjSfdGOpehs7HYbQdrGy9zN6F9uerdAJboiMthmRJNB7wEEHSIBBRJB45pqH3Rzof/R6R1SOGmBWwMLQItjf+YXAqiIrxHRRyWHgVZgyXgeEdjNKBrNikjchgSxGgSqqljI0Vtw7tjlaLhJwMDzYsZ+LhE1x9itcggohvoGMKu+7VbNuHW1rGxK/buwiYdg== 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=R8Tql0o96SLBnuFNzEWF/srnyLhpmW08e2lYov2lpss=; b=4JCWj0qiY2a0V3qBdAAlCUhogA9/zoRxX35KsfiNWVhjMBCRyXUnceLUo4/h1Kzkv+1knModou84koOig0GUtyqBKXUgRBaw6nFCUItsQijRRnNFybDRgpIo4G7Xo6WorR8LMM53PPOMv0+/d1pRXvR38rlUsMqWdClxa/LbHyIf9nDD1uC3qveekdRy7MuNZH1e4WqoLO0QHhDos0IOb/SUpIxTIRT4PudiPsGYb7HM8Pn76EP+z7P3ypKDGv9hsxcnOKTzH+UhPdI6xHbtSH7ZzUvyeDwWuaBeA3g/QHKI3OdaOuFFIEZXc6IQOGoPq6T/SskmZ7sPAQf/pA3D7g== 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 PAXPR04MB9328.eurprd04.prod.outlook.com (2603:10a6:102:2b6::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.16; Wed, 16 Nov 2022 10:46:18 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5813.018; Wed, 16 Nov 2022 10:46:18 +0000 Message-ID: Date: Wed, 16 Nov 2022 11:46:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH] readelf: use fseeko for elf files >= 2 GiB on x86_64-mingw32 Content-Language: en-US To: Mike Frysinger References: <20221114150348.112815-1-bwerl.dev@gmail.com> <8c1844c9-4b04-0200-c24e-c33009562477@suse.com> Cc: Alan Modra , Brett Werling , binutils@sourceware.org From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM6PR0502CA0067.eurprd05.prod.outlook.com (2603:10a6:20b:56::44) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9328:EE_ X-MS-Office365-Filtering-Correlation-Id: 66266d31-b5b9-44c1-cc5a-08dac7bfcab6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YUS3DRf+5AM5c9T/gfCHUTe8pqa2EI0AXLpWX8U+ApVc0P9kFyxhIg14B3jRYhQ6QB5Z8EPsl8U0OjDeh2MmZQ3wjiLKMmZ/mi5viO1y8+bkbW37xVjSxGCBNDY+CLVXC39XUQRiakkFheczPyVxjU07ROl3ZQVRWW54YkRA0yrSwHxwuD6ny3xjhChN1/pl8wbFOmlnEgCAM30zOkEcqjEqmzBRnOQkUcA/mkUGjykVPO5MSCDCXUa9EjGsghmYTj0I6Iix+iyEpqm2avvT9KYcwISUZxUH4/Noy/WU5+PCHC4heeX/MJWUgSFZp9yDqVJL47gsAijdz9RFs/Dq/P4zAdTPMdJ3RbKkq1FudcmqzmM4PyIDzTX+fA+Gs94DnY++WI7/Mjc6t+w99/FdXxRGJpTVkVr1YER0BN35QTLlIiBQmnuGsoyTcrOUstnUWk/OaHVTwNRR+SSlaypqfH/NGtIkqNxMNPJBJe0iP0ZsY7q2JC9R5ZTn5IsDcrQzidR2e1wisJp2qH5LvNi+mGSZGwXjwYoWn2UJRTDxCqQ5fPikhloSNQ/2K+WDCslzwWdXkrgJ5AtMPzCkqlZJoNRUZvk0iI87I6LTTxubeBoAQisSlXg69KiX2jPCXXZOEMBJBnhNqK+/qLXPL2QV5JFyLKUeLCHfB2+ER2gNjaJAXFTp/yHgVSYeNY52Aed9zVHLrL2Hth70qO5qySpR0nNTM/QwFUg8CS52kzstp49u7qkmsoU0M0Th9/LwugNnbUenGCD4xK93B2rDfcfNj2LTWBDyrirOWlvF/nTdqpY= 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:(13230022)(396003)(376002)(346002)(366004)(39860400002)(136003)(451199015)(31686004)(36756003)(478600001)(86362001)(38100700002)(31696002)(6506007)(6512007)(6666004)(2616005)(2906002)(53546011)(26005)(66476007)(6916009)(5660300002)(8936002)(316002)(186003)(54906003)(66556008)(6486002)(66946007)(4326008)(41300700001)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VzExWFEyUGpGZXpiVGZ3MWM1am5hQTNkTG9XZjhSSThlTnhpU242Ly9KTndE?= =?utf-8?B?S0VDOHZWNmZPaDNwQmZDQkcyckZSUDlQR1FIcm5oSTAvVVJFWFViR2JPZGpG?= =?utf-8?B?T29wcjRqQWFwempvcnFiT2hvaWltUDZrY3Vyd25DbXo4MXF3bVpSN0tnNnJ5?= =?utf-8?B?RFoxZWZLQkorNnIwcmdFdWV4eGwxeGJjV2JVU0w3OFRPRUJLcHdhSHVpWTdU?= =?utf-8?B?NXpGbERmZ3o5SVp4YTZEM0tDV3hjMFdmK0lKaFVJZ3BQZkZ0bEs2OHF0TlRP?= =?utf-8?B?NXlGTDBaU1JubkNsOEdyNWdjUk1HNjlIMUdSTnNPNnhmR2FvKzdrTVlMUVFk?= =?utf-8?B?WGNTYWczQ29WUVpocDVoNlpOQ0pNa1BxMzhXVFBId3ZkY3ZKSnZYYTVqaWd1?= =?utf-8?B?ME9VNUJocnpMM3AvRjZORTRoamhxVHlBZi8zcmFPbHBoVlhhRFNMT0xZUFBZ?= =?utf-8?B?QjRhMGpYeXpNeHdUeFdJWEJyMEVPcm00SzZVekd1d3JKYVBlWFBLeUNJT2lR?= =?utf-8?B?aGhDUUM0cVpZM0doUDdYd015LzgyT28valJWandZZzhHL2tvTXlOc25aUXJv?= =?utf-8?B?NkxTQUpXRUZONlBVTFl1WWxuMzdUdFNXWk9DVU5OSFA0UzlMMWJKYldQSEpG?= =?utf-8?B?N01oSElSS293anFCZFYvNmh6Y3JkUmV4WjJydkxJKzUvM1g2YWlsUVNTOVp0?= =?utf-8?B?SDdRTnR6R1AwdUgzLzErbFVaUHZGWVZubzZLRHlhTXA5OVB4ZFhSaC83WTdI?= =?utf-8?B?akFVOVY0clFJT1lab3h6UENvcWxyalFwSGhudzhiclYzNXB2TEx3bzFubjdD?= =?utf-8?B?VHNuckJ4TVRZNmYvMEExNGd5VWlnZVlpZFdhN3hVS09Mbnhrc0lGUEJKMldr?= =?utf-8?B?Y1BwSjc3U1NOMGlCeENWRFNTaGpmc3NVSll6K3RJZE9sNDl4SFVER25rdWJq?= =?utf-8?B?YkxRWnFsa1hTVFh4M2xhRVBqUDZNK3RXLzRId1F1RkdUUzlYSDNIeW1wTlFH?= =?utf-8?B?RlNvTExZKy9Lb0t2ZUgzZUtMWWVEanE2eFlKT3Z1SXBYalk1ZTA5YTdHdjBK?= =?utf-8?B?T24rdlU0WHpmZmZtano0N0MrOXZYOUg2MHUxRDQrZ0RrQWFmaDEwOUhwZnkv?= =?utf-8?B?Q2JZVzljMEJsNnhWQlVCMVl4TGE0YXdXaG83eW5uRlJpbDBWQWpkVzZEOE11?= =?utf-8?B?SXdHOUo0MnJRbTE2SS9zekM5a2JJcElGOVU1SkFuN1hMK3hoZlFyNWZxYlZ4?= =?utf-8?B?SDZGb3Q1NlNzTGpCWG9ZV2o0amtIQndGOUU4LzN2NFNVWCtxZ1BxbzRVUm1y?= =?utf-8?B?V29SdXA1ako2WDBuQ3gwYzdmUW5EWjlLZll6Vkc2eTNhQUs1VjdNbkYvTXFW?= =?utf-8?B?M2QzUnROcTVpOElKQ1lKanlzdk14czVLdUxiNlR4NEVLQ1MxdzdNNFQ5UE9o?= =?utf-8?B?YUFIR2FaZzduSnN4WGJQaDlHdmJRelkwczg2QXZHN3k3WUpzR2FHQ3hrSy80?= =?utf-8?B?OEVNL1ZNUkcxQ0tBdjBiRkl0YmFVakUyM294Y0Z2VEVQdG1JMEI3RDZnRnF1?= =?utf-8?B?WUdiUHd6dytObmEwNVRCV3hIZ1dqQ0hBc2ZrRk5qdEZONHRNWUFkdFFaZVlo?= =?utf-8?B?VVFYRHI3azc0MkpMMW1IU1JZVDdLamhIVjZlQmFYT2RzWkdCOHVqaGhFeTVo?= =?utf-8?B?TDQvbFdJcW5RekI0NTdjVEZ4cUI0Vy9vTUhDdzZyWnlWWlZweThwdGlXYzk2?= =?utf-8?B?RUlXL0dpTUpEbHczdFo5VmJXVW5xMk9ycEFoelo3Z2ZKK1UwS2R4cTM0S2pP?= =?utf-8?B?dlRwbTVJc0lzcVd4Mm1WOFpPNG1BNXlPY1BlbXFralNjMjlaWEU2WXQ3anlT?= =?utf-8?B?S3lZUndneGdMV1hQTllYNU9aeHQ3N0Z6U0R6dHdBSEcwcUkyMzBYWjNVZkxG?= =?utf-8?B?eUpzOExESkZNM0FSNmpQa3liNzM3L1Nybm5JSm5DaDdIZ2JlMW5pem5kbFdC?= =?utf-8?B?aHVSWWtvdEJDMGtIb0hRZTNkT1R0QXpoZXJvTmRpUDgwTFBwaVVxWU9rTkRz?= =?utf-8?B?czA4b0VOa1Yrc1g3UXNVN1A3NEgzVVlYSlNHQUM3NmVVaHJ3dXFObGVWbXIz?= =?utf-8?Q?MQ7TzpIaMx9mtBPCY4G0gAVYd?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66266d31-b5b9-44c1-cc5a-08dac7bfcab6 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2022 10:46:18.1411 (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: DTMgy+CBS58QOEa12Gce4tIvSGjY3Z1/hSGRJiZrxAd9kSo5/ckbGz3XJ2ZzqJeJHr8t0xylCBvzlsOGK+9Axg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9328 X-Spam-Status: No, score=-3029.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no 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 16.11.2022 11:09, Mike Frysinger wrote: > On 15 Nov 2022 08:12, Alan Modra via Binutils wrote: >> On Mon, Nov 14, 2022 at 09:52:30AM -0600, Brett Werling via Binutils wrote: >>> On Mon, Nov 14, 2022 at 9:30 AM Jan Beulich wrote: >>>> On 14.11.2022 16:03, Brett Werling via Binutils wrote: >>>>> Switch all fseek calls to fseeko and cast the given offset as an off_t >>>>> accordingly. When building readelf for x86_64-mingw32, a long will only >>>>> be 32 bits wide. If the elf file in question is >= 2 GiB, that is >>>>> greater than the max long value, and therefore fseek will fail >>>>> indicating that the offset is negative. >>>>> >>>>> To work around this and support up to 4 GiB, we switch to using fseeko >>>>> and cast the unsigned long offsets as off_t values because the size of >>>>> off_t is 64 bits on x86_64-mingw32. >>>> >>>> Is fseeko() uniformly available on all platforms binutils can be built >>>> for? I'm afraid the answer is no, so at least you'd need to introduce >>>> some configure logic for this plus some abstraction. >>> >>> I think you are correct, this will need some conditional logic to be "safe" >>> to >>> include, and even then the casting to off_t would become a little more >>> complicated. I will look deeper into what can be done here. >> >> See bfd/bfdio.c and bfd/configure.ac > > should we look at bfd using gnulib ? growing our own portability layer sounds > like a lot of dupicative effort ... Right now binutils can be built and run on pretty old distros. Unless a pretty old gnulib would be taken as the baseline, this property would be lost with the introduction of such a dependency. Jan