From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2022.outbound.protection.outlook.com [40.92.42.22]) by sourceware.org (Postfix) with ESMTPS id 3D639385843B for ; Fri, 12 Apr 2024 18:45:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3D639385843B 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 3D639385843B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.42.22 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712947507; cv=pass; b=pvkNkh/Go/pgdPJOdUFcK9npjKWBYcRsXRub42RfIxv6w1Gv2wkUUr+LdPM9rcZfqOPUYcuXHsQ7YUcz+2AGLa/IAVDzqPHKKS4MnAUbxWUQY1j1/3EbBoHekMOS0kMMa/bE5AkQ0a4k1hHM4BJdq55a+qY310vc1VBlqFjjKOo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712947507; c=relaxed/simple; bh=tuqEA79WgKWOzj0sa0YkxfsuYJKdXduNID/4LmgBCPI=; h=From:Date:Message-ID:Subject:To:MIME-Version; b=mCRnpCrsZzfdTtS4jrN/PVyyUHuNj79oMH4hAyOczonfCeGOs7cfOwvY6uskxascSGv/LW/VG5tpzQx0PfispLo+82T7C4CrQjNSVRZ+iVI4ggdXUWN0DV3D/gkQCHdE/87ozqeW/4IKVi1r7sX8UURQqMHFHOoXlkJhKDAxhzk= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IWEeCdAW7XlUcj4FxCgRO+kwmthf1doQqc0+372kmJdUZL59X+2CxPr7L79r2E4FTxMO4O4SOJORdV028JymrmP78c9fHh+qLievcna2bAQf6r7Wrg6Ab2KNiYtYA5eUqrZFuwcwwb9EYSf54bYBpAcp8D8EDGdtXysWz57o/3O+Qh/eJibqN3DsbkZI40KAHiqyWU5IP0y6iYXscKRFYNelZ7WlB5VPpSiNiGqvscH7Vh7hDOQvpPAD9lKowd5/ocf3rAFT1wseOmeCsKZD0RJZG9FHOlUGyJ4yT0S4yUMHOJvv9bl2GeVMG2D2VR80mrL5GJiXQZpxLPpJWYjJyA== 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=lRFsLg1ENhYDRYzRvBz6eP0GCXi8ueJ/Gs43UoB+6ks=; b=fbywFOlCeBJ/LlHoDZWkbmQC/fGruUf8cKHyPhCw4i1UdkDvQ9O4g3a66cL5xPXPAQz+ssTe/Wjrlmec7cFgF8QMs08pm4r+5A/3bUBtReLAAE5ETH+I7DJwoUMhCiy5vy77aArFOrXv25KfOKAWB13hcSoGlX1/RRfRtm0SQSXf5rr754z2WAULRjd2k6gixNrut2DKkqEZXCnxDdWm72rzgvn1Noxo75JdZ/FQQz7lU03vxAvrnvjHzLcP3sFE6BYXS9jLpDSaFSkSRHgIN4IaJ26Moir5AKcK7jzHrtyV+0YdE9ylEB3gzKAcH9IFTc2KDrgjuQGjx9WHHGeSiQ== 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 CH3PR12MB8582.namprd12.prod.outlook.com (2603:10b6:610:163::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 18:45:03 +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.7409.053; Fri, 12 Apr 2024 18:45:03 +0000 X-Gm-Message-State: AOJu0YxyjcdoH0H+u+1Vpy1OW7SyCXJnhLB33gUhQWCpM7YNrPumMmCk nDLG6NGLmtln/yOXDqN+5P91evmPzeV6l+/FfScThqUFw9rf7iEWgePkKxxE+CQgUIv5FylRHHk DVyw+x8zrlGLRNXWkqhzsb0Q/Wvk= X-Google-Smtp-Source: AGHT+IH+8hJtkpneWnwXnq2qdIrfTyr/R0hX/rT5MsyCGbNW1rHuMQSPmg5TXUgwRbQaBzckljQ1XsJxLLFDjv09zQY= X-Received: by 2002:a05:6122:1a83:b0:4dc:a65c:2f1 with SMTP id dy3-20020a0561221a8300b004dca65c02f1mr1771574vkb.0.1712947501277; Fri, 12 Apr 2024 11:45:01 -0700 (PDT) References: <87edbb99kx.fsf@redhat.com> In-Reply-To: <87edbb99kx.fsf@redhat.com> From: Fangrui Song Date: Fri, 12 Apr 2024 11:44:50 -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: [DBXjsX+xUby2uSjIPNODRyILtw3Q4IFF] X-ClientProxiedBy: BN8PR16CA0009.namprd16.prod.outlook.com (2603:10b6:408:4c::22) 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_|CH3PR12MB8582:EE_ X-MS-Office365-Filtering-Correlation-Id: a3214085-18e0-427b-6c2a-08dc5b20a9d4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n1zvpFmyXHryG8dzqY6UwJ3TlLzqkykOAZaHPwCsP9ABO7WBQ0JtMXVUawnDb1q9ruF6yfLjqtmSraUDNTkoaftLkcixsHavCRvItSiHlLg5Fn355l5X1z0bjd5try56r8fN6LkX4MO8QWaSEz5ervUSNynugEpdMu9xAgBktKdwZRFSJ3jhtV2Qi2/0MEvrPkPrw/bjUp6MzVShm2AmXi/iSog1fShD/ZetHhruBoS3ErAuVJBvwhW/hjMUUV5Iog4n1iQrxRxfEKdvAULxwOUik5N2Yu/ZvZbZUb+ZXgWfM4SqLm9fp03cfO7JhnrTxbr5jJRuSnMU+JFdagUbVXzoRhG15JprsF97h2MrkA+fPa1jfGEX69HUN7ybbSnQMj4XD+ZCuFqkoLBQ5c0/iOCK/sEZowXyEBVBJyxpZVM5PLrRaNpcIwqBndA0TQTweTkd4SsLSQtdyOFOd/tkLjKHyNMt89KEDWdA1fo84hM60bzaXo+b0TKgaXZFVAS4TC4jRdrNilpU7fNtEBOsV0Cu5GpgT4Gvso7rNv5WK8jWbRrFbnIQqjmpQ97//11s X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VlVOaHFCTnBJNStFM3lkazY3Z3NsTi9ZcW9TWlZiL3dPVWpXOUJLSXdWS2ds?= =?utf-8?B?MVQ4ajFGak5OQUNabE5YYklKUjI4dy9qN0ZLSTFKcmxnNTRXNE56TmZpQlJK?= =?utf-8?B?dHQxeno2UGxOaWpML0tqYmNEMTg1ckVrY3VwSW5TbzNna3pUNGNTT0VlVFN3?= =?utf-8?B?RFMxVHY5NlZjcFQ1NW5ad0I5Ti9Lc3YrMURtVlE4TzBSbFJUeWV0a0NYYTNm?= =?utf-8?B?Snlia3FQY0w1ZVJKU0dHdVFRRkVZckxsMG5neUtOa0ZzbVZSRytRbDNWbytk?= =?utf-8?B?dk8vMEF1V2lkWkt1aXNSdlltVk5oU1BiMVdRUVNqU0dtaS9tNnpwcjZGbXFH?= =?utf-8?B?ZHhZdzVwTG1ENG9LMVpaNlpTbU1YaTcxU2ppRS9WaFpTMi9jMHczcVdEckxQ?= =?utf-8?B?QVUzT2FqYjB4UytBRjhsam9SZUx0cVFudWdLajErODZRbnZCdUhObUFQU2o4?= =?utf-8?B?OU5TQ0xmZEZEbW8zTlFkTVZpWkJnVXNGT0JsODE2S2ViMUVNK0o4d3ZpOW00?= =?utf-8?B?MmJkeFNSdEdjdGJ1eGVYd3Y0eXVwSjFzZGFIdzBPMHloa1VoOVRiV0cxU21j?= =?utf-8?B?eUI0bkVmdG1QOHRWQkNTTHd2ZGJKbEV5c1Bvd3lQRXM5S1Iza1FLQkJQVlZG?= =?utf-8?B?a1dZclE2NXI3Vm5SeFdrbVM0dUxxNXU1eWMvTmtFRGU5ZGxHZHA0RThkSExs?= =?utf-8?B?THNqZENja0dUb3RSakRQb1hNcFlveHJma3hMN3VWb1IxanFNdHljSElCVFVK?= =?utf-8?B?TU45dXlORVNlbGdKeFY2cktEcmNXeWhodFowVUFHcE55Z2VvQnU0VDhhNENV?= =?utf-8?B?KzlVODJxOTBWbDM3MVB3SHp3Q0NWcTRSUGdCWkNWRkEvdEc3VlhRUjM3ZmlB?= =?utf-8?B?b0xjZ21ON1BOMXBvc1RFU3V2OUI2TTc5NTZLS0NHMkFwYUx4TGgzSGhCUldP?= =?utf-8?B?RDR1d1AySmFMK0pEMjY4aitmRUFOWWF6Z2Z3NWo2aGFMRGw2cDdTamdCQzA4?= =?utf-8?B?ZTZMNGFTUHl2RVNuZXZHbG1lb0dHdzZXeHlEM3NtMlVqVStESlhSbW90YkQz?= =?utf-8?B?eHNkNGZqeUFvOGp6MC9aY3FUQVZJV0VLblMzTUVLSDcvSVNLUDdoSU05L1VG?= =?utf-8?B?UFhmQk5iaURCN0g0VmZTVUJEK21ydm94Q2d4QTJla1VPcUFzb1ozWkVkTDJk?= =?utf-8?B?MXlDcTZkTWFuTEM0aU1oSHliYjg0MDVrbCtmaVBsWkc2WXZ3MWhWc0doeTA3?= =?utf-8?B?QjFwa2JVaFFxcy9HUEtEbEZubTFkRzYxT1JiMW92Y0lMWXZqN3JBZlR4b2cr?= =?utf-8?B?bkNVaVhCc21Lb0ROMTRSSVdpTzJZZjc5S2NpODlHaUxNZmVSc1NUN0k0a2Jk?= =?utf-8?B?V2d6TTRzemh0V1JIL25NZUxEb052dk9CK3NXNklPOUtUeUQ4RVI0M0tWaWF1?= =?utf-8?B?QTg5Tkc0SjhjYi9RL3BhYnhObE90NHBJZDJpcUVDdk01T0k1OTRCbitBdEto?= =?utf-8?B?UHBCTHg5S0NVWFpvaDBVQmV2NndlS29rdW5rM21JODRZREt2R1JNRVRoRVQz?= =?utf-8?B?MmxoNTFrRnhCOFNPSkJPQXlmSHBONTUwOEpDS1BiSkFvQTBlVnJhS2duRXMx?= =?utf-8?B?UDMrVThyeS9LMEtwRm1PZzEzK2lwSXc9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-71ea3.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a3214085-18e0-427b-6c2a-08dc5b20a9d4 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5765.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 18:45:02.9354 (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: CH3PR12MB8582 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 Thu, Apr 11, 2024 at 8:56=E2=80=AFAM Nick Clifton wro= te: > > Hi Guys, > > Currently readelf's display of RELR relocations is woefully lacking in > information. So I am going to apply the attached patch in order to > improve this. For example: > > readelf -r /lib64/libc.so.6 > > Before patch: > > Relocation section '.relr.dyn' at offset 0x259c0 contains 32 entries: > 1067 offsets > 00000000001d4ca0 > 00000000001d4cb0 > 00000000001d4cb8 > 00000000001d4cc0 > 00000000001d4ce0 > 00000000001d4d00 > ... Hi Nick, Thanks for the improvement! > After patch: > > Relocation section '.relr.dyn' at offset 0x259c0 contains 32 entries: > Index: Entry: Address relocated Symbolic Address > 0000: 00000000001d4ca0 00000000001d4ca0 __FRAME_END__ + 0x1ddc > 0001: ffffdff8ee15911d 00000000001d4cb0 __FRAME_END__ + 0x1dec > 00000000001d4cb8 __FRAME_END__ + 0x1df4 > 00000000001d4cc0 __dso_handle > 00000000001d4ce0 _nl_C_LC_CTYPE > 00000000001d4d00 _nl_C_LC_CTYPE + 0x20 > ... > In particular this new format shows the actual values held in the RELR > section - allowing a user to potentially spot problems - as well as > providing an address to symbol mapping for ease in understanding what > is being relocated. > > The patch also checks for malformed RELR entries (such as an entry > with a value of just 1). > > The patch includes a new binutils test and updates to linker tests > that were checking the RELR relocations. > > Cheers > Nick > I have some minor suggestions. * Do we need the ":" in "Entry:"? I presume not because the strings don't end with ":". * "Address relocated" feels verbose. Would a simple "Address" be acceptable? That aligns with "Offset" (instead of "Offset relocated") for REL/RELA output. * Do we need the "Notes" column (new starting address, start of bitmap)? The start of a new address/bitmap can be inferred from the presence of the "Index" or "Entry" column string. The user needs to look at the odd/even bit to figure out whether it is a start address or a bitmap, but this information seems straightforward. Omitting the column might make parsing slightly easier. Relocation section '.relr.dyn' at offset 0x7ae8 contains 6372 entries: Index: Entry: Address relocated Symbolic Address Notes 0000: 00000000042c0350 00000000042c0350 __do_global_dtors_aux_fini_array_entry (new starting address) 0001: ffffffffffffffff 00000000042c0358 __frame_dummy_init_array_entry (start of bitmap) #### (start of bitmap) makes it slightly awkward to parse the symbolic address 00000000042c0360 __frame_dummy_init_array_entry + = 0x8 00000000042c0368 __frame_dummy_init_array_entry + = 0x10 00000000042c0370 __frame_dummy_init_array_entry + = 0x18 00000000042c0378 __frame_dummy_init_array_entry + = 0x20 The implementation modifies symtab in place