From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04olkn2066.outbound.protection.outlook.com [40.92.47.66]) by sourceware.org (Postfix) with ESMTPS id C63E93858D20 for ; Thu, 18 Apr 2024 02:34:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C63E93858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maskray.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=maskray.me ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C63E93858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.47.66 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713407683; cv=pass; b=QQuyhTskFzF6XZa/ao0Cdkf7IB8FJ7Z6GZ9RkktkVsYCaYOY0te1q7GkwlHWcyFO2EE36nBx0tnI6/Cat3wdeiS6adLUgRMc3mbHGARxxc0J+h+yuEzzbY3ZXtRWccC7yDxvh3GujewCSopLI4wDBnP2Z5EJUfcU6rv9dLhx214= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713407683; c=relaxed/simple; bh=MSD6ZDc7k1gxSQf01EIrmR2fcRnpY33IUQvioS27oFA=; h=From:Date:Message-ID:Subject:To:MIME-Version; b=SA4gUL59F24n1SHs7VyKBh9BcK6O1NWfgzRYbOx2SYyDeabMLPO/+3v2lN4VRyjO2UZzKlaNQ0rDM2faQvNOczsccmki2obO958rcD7yZg9IHlDCGhWwNm1kSseEjLIosH62C1vip9ticbS/1sZFHPb5I2nUgoBRf3XrRHImfJQ= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KKlBFfnzwj4ByCs3oROF8fHxR3F69rU2nLBs/AYYmoTen9NeTXonB+zp4FvhZfJCdyoI03M2gocBWinNHRcGelKg5Z6f+jevB/aJldfFLRGUkiCclI1pJ18VaHlz4JqzuGtLnoXWCjHUfrRddMw3AOLAEVYbOs/gbo3BKvXn17rzXhOA+TUzK86D4vtaGMXbQrchintT+W9NJFlPJ3HhmTnDmZLBBJ8uHAs7QmrJpphddjoKNvpr+YLMXn3q0hFzo5hOAWMDflFM/Kmzv3hufgBVLMbTSXiATevZ8Y5b4Y5reMkGGJ0dvPwAG9X/zGqPNktoAlY2AGFwHN8R1jjnkw== 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=SrYj75ame9Rz3edR/UkrmYnGRj4nJUCHGwOK6DrKxZo=; b=OFCTqJxkRnq1qjwdQtVTgNhq1IIM0jJzU7uBWaFU1g2CHfpf93hX8fH5bi4/OezvGJdT6MW2sZEnQT8AYUts3goe+X8Uaj64X0H0H8drAZG3NpiJpHXs0oIMEvMs4WTjMPngB3/1Ejwxghx6zUSJXns4GsIiZvO51PIjb8EImi2net15D1sUvWEKzzaJZJNO0YVluW3toALf+v7opznwN1GuqBcF4vi26awsRZEzEhWaHigNvW/9ulujCKlv3WF1Z0xnLdgpRPy3ur5z2bXQ0DCZZ1id6DdVtVRMI/n36F91n1p6idEXrujkwlBHFXZX5fQl/9WMFjhWzi2EJP+gZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DS7PR12MB5765.namprd12.prod.outlook.com (2603:10b6:8:74::19) by CY5PR12MB6550.namprd12.prod.outlook.com (2603:10b6:930:42::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Thu, 18 Apr 2024 02:34:39 +0000 Received: from DS7PR12MB5765.namprd12.prod.outlook.com ([fe80::432:c8d:24:ad11]) by DS7PR12MB5765.namprd12.prod.outlook.com ([fe80::432:c8d:24:ad11%4]) with mapi id 15.20.7472.037; Thu, 18 Apr 2024 02:34:39 +0000 X-Gm-Message-State: AOJu0YxONtOjpwrj1TLDwE6OHc/JLgr/6FjBRQjb/aA1ie1sP7yb3Kh0 UXi0lHfuTWXyBLiVJPg7pcEXehQDQ9gcP3lIJ5gapzLjdc/N5uj6mjWMN/TQWBYlchbTtcFYevF I3wHqPgTEoD+0yW/JAdfrZre+SrI= X-Google-Smtp-Source: AGHT+IEPEZV5g2bcSxmzp2KxPYRGudLE/WX+jqANOhEN2UDMEpgwQAMVW5U5BLinLWhh4auEYu6Bn5BmhcKLWLjY92Y= X-Received: by 2002:a05:6122:3116:b0:4d3:39c3:717c with SMTP id cg22-20020a056122311600b004d339c3717cmr1864682vkb.1.1713407304823; Wed, 17 Apr 2024 19:28:24 -0700 (PDT) References: <87edbb99kx.fsf@redhat.com> In-Reply-To: From: Fangrui Song Date: Wed, 17 Apr 2024 19:28:13 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Commit: readelf: Improve display of RELR relocations To: Nick Clifton Cc: binutils@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-TMN: [oWVnukUMZ8b+ZwRXRVtNDZI6zvqX5a/X] X-ClientProxiedBy: DS7PR03CA0312.namprd03.prod.outlook.com (2603:10b6:8:2b::21) To DS7PR12MB5765.namprd12.prod.outlook.com (2603:10b6:8:74::19) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5765:EE_|CY5PR12MB6550:EE_ X-MS-Office365-Filtering-Correlation-Id: 6199f89c-b396-4833-a3f4-08dc5f5018a5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JQJbNmneW0XrJ06ZDEAvkgVZ9UfmNU9HirH9i3/aBjOERgASMEq1t50CgGWHNwzheEo8pYK3ciqcAJua9h5NHxmmL+eCS3KCRT2KFUuOW3SMrESFDf82quDD0zaJZEeBpYcwS8pl8a9KCcxdgDb6D/7JvxOnbeygtKJ0FUb1c9KGllNWniZOHKHhOuiHbx7hp8htSPfqd71JGgSqYc0W2FhpdtC58k91I0yTpc+hG9Vqbbau1dx6/HudINp9MXNkqXCKaHYRkJln53wD8PBgIrhWz7UZEJVkErcyoJFdJ8X2JPb0UdhbBo7qSYfvFZNPZ8R0sby/o43tNpfjUsnSlvqyh3zS69GDaOa3ocRf7PPbDQy9qyknzfMKZTFa6+MpbOzf7qwjprySdnArvRIvsAxYN7GHUAfik4AG3Cnx5sJpGR1eA873sFNs1VSB8mUTNmBbZN/Pd+/ELq8jsMe9LEqwFbF5GMRQ7geOxapxPM/BfqW9BiJTBl88RKYt/gNMImeUfH8A5TpFlxvLDnPgwBT2zmnJK9mjsVLzKbOI/etsNEQS6l9Lr6PsH3WfBJ6xaYi27Tk2mp/ScMT3XczZzw/rwSN76ZV7q6B8Qb8S3iI8yprLJgRnZc9jYwVL4wtKCAHntsfMJ4eolFJ6xz7oBA32ci+SP8MZBv8XhAk3EkA= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OFJ0cjMwcjcyOS9jWGhXeDdkaHQzRGlXODc3aFphbUpnb3pBT295cVV2RzlF?= =?utf-8?B?MTY4MW9CeUNYdGhCelFCNU1YWklKNDd1VG9ybytBQlJ1d252M3BEdWxGQ1Bz?= =?utf-8?B?VVhGY1YxSW1HWVJFeVlubSs3bjdoNmpRUWJYYkYzWG9VWHlKbmpFRU1GSkRh?= =?utf-8?B?dngxbVpxU24zZGZrVDZzMnJ5Y2pyWU90MTdhTkN2MlYrVzhsUTNpNENscW4w?= =?utf-8?B?eGNMMkt5Wkp3RWdFY1Z5cFRPcmVma0JSMTdjNGt3clhsTWJqQVI2cThTNlNH?= =?utf-8?B?MnVhNW1ENzdnTGVRSXlxZ2pjTXo4dWx6dnlqMldrd1lDell0LzB1VzV1ZkNn?= =?utf-8?B?Q20yNXB3Z3pkYkVLUDVyZTVreStSVXZqY09wUnpHc2hpajZ1VDQxNVZNOTVk?= =?utf-8?B?NWh1bjVPNHJESE9JMXdOQVMzUklYR3BidzZOTkdGZk56aDR3dmh3S0pyTWJ0?= =?utf-8?B?b2dKY3NybE4yQW44YkFvMWRaK0JlUkpBMjJmWWszbmtsQ0xTS0ZNVmRuZmll?= =?utf-8?B?N1NTcUpEcjZQQWFVeEdwM1R4UER4bjdPTktieXk0QTZ4VHF6NUNDdXFrTFdM?= =?utf-8?B?QzhFZE9hVWFtR3M2cVcyWFhoTFRLb3dpanhwYjRxajVlMEZtN3h2eHJQdWRE?= =?utf-8?B?UmVzREJxS1JUTWFpUVN1aURBaXdPc2tlT25RRnpSMEpFMytCOVZyS1JYWWNE?= =?utf-8?B?c0xobFFBd0l6SGJGU3crZ2ZaWHRYbG9zdG5WdXI1c1Job0dDOEFVd2xIRkZG?= =?utf-8?B?WjRMa0lMRkZQN2Z0WEppTlRaek8rQzYzV0dobEpxSFJJWUdyLzczOWlnUXVX?= =?utf-8?B?Y0RkejlzVnNreXdNaUFPcURIdmpvK3JzdWNvQ0pXdlQzWS9CVVRKc1dGNFQ3?= =?utf-8?B?NU9UZ3Q2NWp0cEFrS3hPTUxveWRuVGViMHJXMCtMUUdvNk5Eci9BRWtGTjZj?= =?utf-8?B?VzI2YjNtTDJKTE55S3JPSVRXQmZQS1NrbXU2OEdlSzdVakdSSUdWVzQrSm9k?= =?utf-8?B?MmVTcVpFbVljNUNzZCtNNkM5Z0FFRVRUNkFpWmFyeWdHQXRuMTBXUldwTDE0?= =?utf-8?B?bzg4YzlkSkR1NWpJcUF4dWU1S3NRWDNaNTNxQXhaRHlJQVJRbFNsejZGZWVo?= =?utf-8?B?RC9nZnBjOUZVZFNXRGZtbnFUTUxDMHZXeTFXSjNYQ3VtY0VCb3RtdFpBVDFi?= =?utf-8?B?eEprcndISDdFU0Z2YTY4amJ5VlpVZUVac1NTYnBjeUc2aVc1azVSeE9Fd1di?= =?utf-8?B?VU93MjZVNE41SXRNQ0J2M1hIbUZpRDFUTUg2Q2RNSTliWHlIaE1DbUlGRDhN?= =?utf-8?B?dHhrRXJ1T1NIcG1UcjcraWhFaWhmR3drODJTSmdMakladEhzaTl0Wkp3dVV0?= =?utf-8?B?eDRYb0pvRzVYOWJSS2lSVjRadWRtZ0EraTdhbXZkOElBQVgwckM2d2Q3Ukl5?= =?utf-8?B?eXp3dFZjNWJjUnBhRVRMd2w2aUhuY2czdVRHK2QwbTgrS0FkSGZ0dXZUR25K?= =?utf-8?B?TVc2b0ZPYVNIeGdRV293T0ExOGtmVEhGa1pVVGFsODJ3T3dXWnNVcG5XMlZG?= =?utf-8?B?amVwSjdiQTV3dkpOd0JVdE1wNnhjMnBxYTN5NnR6a3pqZVl3S09Fem1PUXk5?= =?utf-8?B?MU1tTElYUWd5ZEtNU1E5WHRqSDFod3c9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-5183d.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 6199f89c-b396-4833-a3f4-08dc5f5018a5 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5765.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 02:34:39.7762 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6550 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,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 Tue, Apr 16, 2024 at 5:22=E2=80=AFAM Nick Clifton wro= te: > > Hi Fangrui, > > >> I have some minor suggestions. > >> > >> * Do we need the ":" in "Entry:"? I presume not because the strings > >> don't end with ":". > > No - it was just a minor formatting thing on my part. > > >> * "Address relocated" feels verbose. Would a simple "Address" be > >> acceptable? That aligns with "Offset" (instead of "Offset relocated") > >> for REL/RELA output. > > Well I wanted to emphasise that the address was for the location to which > the relocation would be applied, rather than the address of the relocatio= n > itself. > > >> * Do we need the "Notes" column (new starting address, start of > >> bitmap)? > > Not really. I confess that I wrote this code as a way of teaching > myself about the RELR format and the notes were there mainly as a > reminder to myself. > > > Let's see if some of the ideas in the attached patch are practical :) > > It is, and I have gone ahead and checked it in on your behalf. :) > > Cheers > Nick Thanks! I just recall another two things. Relocation section '.relr.dyn' at offset 0x1f4 contains 2 entries: Considering REL/RELA output, users might misinterpret "entries" as "relocation entries" instead of referring to RELR words. Overall, the number of relocation entries seems more valuable than the number of RELR words (users can infer the number from the section size, or the new "Index:" column). If we don't want another loop to count the number of relocation entries, we can possibly remove the misleading "X entries"... > The patch also checks for malformed RELR entries (such as an entry > with a value of just 1). Trailing 1 can be utilized by linkers to avoid convergence issues (https://reviews.llvm.org/D67164): // The last RELR entry may or may not reach .data. .relr.dyn .dynamic // end of a PT_LOAD .data // start a new PT_LOAD It is possible for the linker to find that the last entry can cover the relative relocation at .data and decide to shrink .relr.dyn, while in the next iteration, a smaller .relr.dyn causes the last entry to unable to cover the relative relocation at .data, and the linker decide to enlarge .relr.dyn. This would run into an endless iteration situation.