From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2059.outbound.protection.outlook.com [40.107.249.59]) by sourceware.org (Postfix) with ESMTPS id CDF813858D37 for ; Wed, 24 May 2023 06:29:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CDF813858D37 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=MsgtmvnhKhy87LXlJXjkOribqifOpENnfPreQNifusemnDw0RwlPKdWICxdkc8y8gCavctIvihSoqGYCmJ6F5G2rNoRIShZWt98LjmVdehr5yonJJRbi6eZt/IASi53VEApNJXSSK07ooERK42zZqriRdk36R6manA8en4HW4vCeoD7GGGivqWAHnyFXI1QRyEdPw2o3wpdGkyhZ89DcjG6JdjD4yLPK2CkvZ58nasLR4F7pMfcdbJh1oczNiP7hKpFdy9biTr++mtX843yH8Adu8nI567JhnkBVw05e0VW01sL1L8BWIsTqO/fPLnm0lu6z3T2Mi4ldUc+/e7B0GA== 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=6CKpATnnmPkqkH7hWlr19gbeoexRcvtAyQywiItRSmU=; b=n78jyGwAWXEfgHGgD5IZyXBgTSQ+QeTWXt4ih5j0M+ey3ZK90THkuBt21iSnf3Frj8KeGA4lAj8C4TivNisQNk7HiauqQipKI0jdgyV9HACiyyKCyhg/ZseMGZ7/pqBaJ9nK31B7Woi3u0HjmEg8SXIfUaMd/YZAAw8lRt/8NtMy8p3C6owPwirYxe7s2QDRxX+ErBTOlUqy6Zwjh+6zG4Vq7slY9NZ5C9XziisrnrOMa3kpso9GrmIMKKljSraNSMXtOBTJcqPhveC1kijmdjru8deJX9d0lNWggdOILtKQ9Myz7AsZZgmV+GebpxDFP3k1Pe+lpVqiPhPGztFORg== 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=6CKpATnnmPkqkH7hWlr19gbeoexRcvtAyQywiItRSmU=; b=SbGI0/LZS9XVUS3P0kDzDvDJ0/lo56YHg4ycsJ47c4JBa4o8v8aKlgoFjszn6Jy8F9OtN+QO1UdZxspuVHqE3Mw2zxB7WcSCnuuty5aULkXyMKcATq4deAY8OYelRWNe3GyBCws4/xp8g34+VOAHss9du514bsUi4YcsimO5UQ6QjJnVSwZcKmL4m5oxfMPU2feVwDqoIFAYhN212fcIYS62fE3Q/EErIZbP2xZmVMolkcU1ID3wC/qjHGfb0EjjtvEi54pYLtvgYNxEcSEQURnYidLVQ6hDWa7l7rINK/HXUdlJLVEZe6P56v1muf4l6y6BAx6m0fmF7ldJTr/j2A== 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 AS8PR04MB8056.eurprd04.prod.outlook.com (2603:10a6:20b:288::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.29; Wed, 24 May 2023 06:29:27 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e442:306f:7711:e24c%5]) with mapi id 15.20.6411.029; Wed, 24 May 2023 06:29:27 +0000 Message-ID: Date: Wed, 24 May 2023 08:29:25 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v2] pe/coff - add support for base64 encoded long section names Content-Language: en-US To: Tristan Gingold References: <871qj7wgn5.fsf@oracle.com> <16e8afe2-80cd-b87e-35f5-8eb8daa8239a@free.fr> Cc: "Jose E. Marchesi" , Tristan Gingold via Binutils From: Jan Beulich In-Reply-To: <16e8afe2-80cd-b87e-35f5-8eb8daa8239a@free.fr> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8056:EE_ X-MS-Office365-Filtering-Correlation-Id: b652c686-593f-481a-9388-08db5c203902 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h03DVWWflEi004m9aYNyH5KWjQiPE22sNzFzeOKlEEWyigRai4kFF8dBi9fUBt4RqLwa17syk98609Rx0ft9niuEfD/BEHg5JavCA5KAajj1rTBPjRsj8lDWfgODl8AGxNJXB9fFL1EqnB7WjIrk9cc21G37gVNamoLpJLU74/kfdoz33pxg5msQr/7u6NyNKyqjVLTrWYYOUZ0r1nn7EgvL8y1dgoLF/XykplamKWnMw6iiftTnj6t9u+RjPy8Gs6De5kuSlVV4JqDxuq1wap7TC9eFwD/N+2R5yrZhJ3t2t38lvsOcsbhWhbOzV4IQjEOEyhPe4lcW27AL1uttsxS7Cm6/dezLmnoAt5dcKUzNLRyjyVI81Cr39YkuIGb+bDWcAMSUJ+78RDbchw93ZUHqiw1PkrLa8ElkylJpp3+bDyD9XSH6wB4YpbMmN3snDXwORKJKfaTdOV8br8uO/n4MsXH7iI4/eQQKsWemaKFWhCrmk6ES1KlaGSPHwI/EsWLeHdpzjoHgyhP0NWxygsGB3IPfbNajH32KM2kWYyxmi9mu+KCHBCpI7F9NLWXcnUhE4HmOXcMTuO/N+YaDOYNltZGVfVCfxWU1CNRBZma9CjYJZMPKECfzt2pq08q0/zA6HaAwQZXlIYAP8YbOhlBgqvUlbi6oKKCB25TKK7kV6GA1opbxnE/vS+PbvIXV 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:(13230028)(366004)(136003)(39860400002)(396003)(346002)(376002)(451199021)(8676002)(8936002)(5660300002)(41300700001)(53546011)(26005)(6506007)(6512007)(186003)(86362001)(54906003)(31696002)(38100700002)(478600001)(6916009)(66476007)(4326008)(66946007)(66556008)(316002)(6486002)(36756003)(2906002)(83380400001)(31686004)(2616005)(41080700001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Vlc0S1pJa2FWcDgxZUhpK1JhUTJGK2JVRzFrN1hPazc4c0EvdExaejFOdnBI?= =?utf-8?B?QWtpOVd0VHg3L0lMd1crcWlNYklEcjdEQmprYnFNbFM0Z2tISGhMbTMzU3NM?= =?utf-8?B?R3B2eTExQ21OWnU5dXdJOGgxRWtlcjNqNU9PQXRvV0tOQ2RrVndNcmdTZFNQ?= =?utf-8?B?OEczMUJ0NksrRm9lbWpYLzVpU05qcjZZWGJ2UDFqWFFRWFJYa3ZNNzlwYXE1?= =?utf-8?B?RmFzd2dIcDFNZHlzZGdaUGpuR09vTkhOcDVLQ1ZGVGxmTzlScGNkWVNyTEVG?= =?utf-8?B?N2hrOExRWkNXV2dtMExBb2ZFRTNoc0hzZG1KQk80ZGxkZi8xRkQ1b0ZjbmR3?= =?utf-8?B?cFRUQkZNR3pHejNkTFJXS3JsQmhIc1UvMHh3cHZ6Yi9sR083VVh4ck9PVjJQ?= =?utf-8?B?ang5RFJCSUs5Q25YOXd1cWhubVhaVEpER1lickVOaGpjUjAvWjQ4bmlsZkVC?= =?utf-8?B?eDIxZE0rUmpDUzlvS0EvU2I1clF0a01MSEpYMkVuWmRWY1FVeURWNFQ3Umho?= =?utf-8?B?UzJwZnhRVmNLLy9qb3NxRUZIVnlqQnFYUmFhRG9GcFpnd050UkhmOTJaVHFC?= =?utf-8?B?UGoxd1AvZnZXWU1lRzZZM3hBSzgvOUxnSnYzME1jaGt6di8rdVRhelBVLzZ2?= =?utf-8?B?ejJKT0dHNnJTcXh4WWFGTlBiVU1SYmNaK3l6bE5kclIzUnB5S0dxWlMzQmsy?= =?utf-8?B?SUJGOEdwS0UwTWRZajUyTGR3eWl2cVVZYmk1YWQ3cVJjMmlCME5MdC9qVXk0?= =?utf-8?B?YlhJOThVMWhubkgrK1NaNDV6QXdtc3g1WklWRlVvdkgzaXU5U1VhZ3EzY0xF?= =?utf-8?B?eU1WeXNFZXpEWlcraWxESUxUVXRmc2REZHAwYzdTY00zSXk3SmxxRXowWitP?= =?utf-8?B?RXo5QjdLMWJRRkdSanM0UTNLK2haZ2RmeEN1MGVOclg0aFd0WWl1OXYrMWZx?= =?utf-8?B?T2xrcGJwbUFHUEVjODhGbFgwS1JsOUNYMTlRbnlwZlpWY2lNdk1lcDY0VXhv?= =?utf-8?B?anFPUElnbC93bGF0ZUpicytkbkdKV0k4TUQranVSb00rcjZkVFV2ZlNDSDdE?= =?utf-8?B?QzZRazl3UklwSmlIL1dCeU1TMy9mZGxPS3FSWHlCbFF0L0RBSnJhdy84Rk9p?= =?utf-8?B?b1RQWURTRFBVV3JFZWRMNlVnamRxTngrN1FhTG1IcmlEOElXREZ2WWdaVUx4?= =?utf-8?B?a1VXUUZLdDY5di9rOXZzMkgxWnVEdjJBU2lZVzNyQ3RLV3ExMXdnSlk4SXNL?= =?utf-8?B?bkpFY2FwNlpPZElUVUhNeTZNWGR3R0tYbXp4Nm1iampicDVRcGdiRjhnTWJI?= =?utf-8?B?SjJWbkp6MStaN1FTR2JlZUhTNUdOWEUwUFg3QnI2Mmp0UUpSeTYyTnNHT0dx?= =?utf-8?B?WmtxQlRpYkhiZ1ZBYjd1cnNDUHZtSTc2MWYzTmlqMERnSktRMUxHTXBOYkRN?= =?utf-8?B?VE01L2tCM1djRmxQNHN5Rjh6K1lYendtandRc2RaZkZQQWV1cXRoTGxrSU1r?= =?utf-8?B?akZ0dE4wMXhTUkJucFBKMjB1YVdYdnMybXhDMHlmaHo2bGhMaDRCWnM5ZUNK?= =?utf-8?B?MEtQYlZWQXo1aDJ6UHI4SEk1TXA3NW9TTVZtWDVDR3o4ZGI3ckMxUzBEZ0ZY?= =?utf-8?B?MlptTUQvbWI1dGNsM2lsRW9XRjdKMW43NDJwbEhtQWFaZ2wxR2twbjNSZGxI?= =?utf-8?B?Zk5NSGhNUU8yblRCVE9CbkJ6TzNrMnRRTjNqcnJDV1hjSEd3L2dWS1FjdXYr?= =?utf-8?B?eGR2SWtJMDM2eGJHNHgwdXhKR2ExVWF4ZFh4K3JvZjBGMG9nUHJLWVdvZHBl?= =?utf-8?B?YUZyZ2Q3Q21EdG85U2hqcDBxb3FpZGhMRWlNclNPN3R6bUhBb0hDWThWZWFZ?= =?utf-8?B?cjRBcjMvRk9CSjRRcHd2VTVCalAzZGFBWXFSQjdPTFZDdDhURDBXOXpGZDlG?= =?utf-8?B?a1RNTTdsYkptT3FiUDZGTm0zbUtsbVF6Sk9QWENqc25iRXVybk40V0NXcnFz?= =?utf-8?B?bTNjWTQ4RnR5OVFmcjNsNGtWSlBZeGM5NjlBS3Rkc3BPbVFqUGc3Sit5eG5K?= =?utf-8?B?NGFpeVkwY1BIU3g4SDJrUzMrKzQwUm9uaTJOVTh5UVNLVVkzUHpTdCtoNlNz?= =?utf-8?Q?cyCN/xtBMbUbDiNg2944gSvwS?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b652c686-593f-481a-9388-08db5c203902 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2023 06:29:27.1167 (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: JjuJL3/gv+vIsQtLPDIiTfOwRwUWCVSTO47yyeKRu9S9JvLfafUijvchLjNMNJBq0vWBwb/wrZXDfL+IAzRvFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8056 X-Spam-Status: No, score=-3027.8 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,T_SCC_BODY_TEXT_LINE 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 24.05.2023 07:48, Tristan Gingold via Binutils wrote: > I have adjusted the comments to clarify. Is it OK ? With the earlier nit addressed (I'll repeat it below), yes. But please allow a little bit of time for in particular Nick to raise last minute comments, as he had looked at the earlier version of the patch. Plus ... > Tristan. > > 2023-05-22 Tristan Gingold ... I notice that in at least one case there was a similar email address you used in a ChangeLog entry (gingold@gingold-Precision-7510), but neither that nor the one here look like valid email addresses to me. Yet aiui these email addresses are expected to be real ones. > --- a/bfd/coffcode.h > +++ b/bfd/coffcode.h > @@ -3625,18 +3625,55 @@ coff_write_object_contents (bfd * abfd) > len = strlen (current->name); > if (len > SCNNMLEN) > { > - /* The s_name field is defined to be NUL-padded but need not be > - NUL-terminated. We use a temporary buffer so that we can still > - sprintf all eight chars without splatting a terminating NUL > - over the first byte of the following member (s_paddr). */ > - /* PR 21096: The +20 is to stop a bogus warning from gcc7 about > - a possible buffer overflow. */ > - char s_name_buf[SCNNMLEN + 1 + 20]; > > /* An inherent limitation of the /nnnnnnn notation used to indicate > the offset of the long name in the string table is that we > cannot address entries beyone the ten million byte boundary. */ > - if (string_size >= 10000000) > + if (string_size < 10000000) > + { > + /* The s_name field is defined to be NUL-padded but need not > + be NUL-terminated. We use a temporary buffer so that we > + can still sprintf all eight chars without splatting a > + terminating NUL over the first byte of the following > + member (s_paddr). */ > + /* PR 21096: The +20 is to stop a bogus warning from gcc7 > + about a possible buffer overflow. */ > + char s_name_buf[SCNNMLEN + 1 + 20]; > + > + /* We do not need to use snprintf here as we have already > + verified that string_size is not too big, plus we have > + an overlarge buffer, just in case. */ > + sprintf (s_name_buf, "/%lu", (unsigned long) string_size); > + /* Then strncpy takes care of any padding for us. */ > + strncpy (section.s_name, s_name_buf, SCNNMLEN); > + } > + else > +#ifdef COFF_WITH_PE > + { > + /* PE use a base 64 encoding for long section names whose > + index is very large. But contrary to RFC 4648, there is > + no padding: 6 characters must be generated. */ > + static const char base64[] = > + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" > + "abcdefghijklmnopqrstuvwxyz" > + "0123456789+/"; > + unsigned long off = string_size; > + unsigned i; > + > + section.s_name[0] = '/'; > + section.s_name[1] = '/'; > + for (i = SCNNMLEN - 1; i >=2; i--) Repeat of earlier nit: Please insert a blank between >= and 2. Jan