From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AUS01-SY4-obe.outbound.protection.outlook.com (mail-sy4aus01olkn20826.outbound.protection.outlook.com [IPv6:2a01:111:f403:7005::826]) by sourceware.org (Postfix) with ESMTPS id ABAC93858D28 for ; Wed, 12 Apr 2023 15:51:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ABAC93858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=outlook.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DYru63Ga83Mo3WXY+NfEC/072xMUetBsxw04AAz/ADZITBeDZMKy7ul+ZHzmfTu+dFllOtU6jAP5wHLRLPajeflPr7qYQ9Qu++j1P8dCfv95BfjxjF3rpFpHCGwcM3E/9BC0JfcKznqq59aTnj90PQZw4otjHsLZhui02U2iZFtZ8ZhcwNtkZZg59OZjopa7/lQh6Tbk5xUhdaXWeZLIgUmwz6Iy6SKsK/cDMnlOgfCcUzNEPv6viVsmB9S2LNGWzoxok61LcCmCfpaMY2IxiOaodSgYFkPcUS5ZzUoCzvftiBCCuKi4wtqPjgRxdV2MfwZIt2giLbUpNquKotFkhw== 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=TgG57fpupmRH021gt5erUkn9BGE6kpn95HH01TEnTtQ=; b=Kq585CYn3XEkOmu4aOgVgQbv0kz7G7b4jfY2T2E20IYXo0C1HsF7D88NAroVa5ylujk2kpznMbqbvNLj7Wh0GdsQ09CxkIQv9Cx0tKYwWyHH7kcTkCdO8vKh32BO3WuoE8aeI87hKQCx8kKVcOPPBxCpTXSc69orLkzYfR5E+D2AlVhQEHGz41J6Af3ud6lpbcGVEWRrUePXzCr0Fv1VYAz4VfogbdWzKZMs/L6jGw9W1zr9ysLx/khsdCTvSuugIpqXWNHL/+0wYzgyoVSgUGEcTxMeM2DgT40M9QsLD+0hVUPaUsBGdiY8pxEQmNroXcFmIF9mH9+7s4XVzNWMGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TgG57fpupmRH021gt5erUkn9BGE6kpn95HH01TEnTtQ=; b=Ir+G2I0BWvPLxd7O9+SVoiZMAruhIAH4PXg+hU9RmeSWvERQSAABHyrhJWOUyL7lFZdZ0RZjaPQ7FSJEvCaYxcLs50EJBtErB6h1ghqxZMBuEBXDTkytQg5c6xQhPG3spCJeCxzRUApjnN3W1hYFgI8lvHSThwCsTsRb595aiosN1Er+SQYFxAvRjgm1NVuMEa9Nte5ywrtIjROITpSHa7awZIDZjWIhBsKR7Ama4dQWLSE1SILoKpzQAcJlm8tnSqAP86iGqg1OpskwHozjv//bepHeYyrmmrZuF6SrKZN1BMsbj2mdbVTR96KmGCmhwihzKiugea2GJ0cZ+dLIpQ== Received: from ME2P282MB2242.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:eb::14) by ME3P282MB2215.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:e2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Wed, 12 Apr 2023 15:50:59 +0000 Received: from ME2P282MB2242.AUSP282.PROD.OUTLOOK.COM ([fe80::e7b2:ce6a:695e:ef76]) by ME2P282MB2242.AUSP282.PROD.OUTLOOK.COM ([fe80::e7b2:ce6a:695e:ef76%6]) with mapi id 15.20.6298.030; Wed, 12 Apr 2023 15:50:59 +0000 From: Qixing Xue To: "libc-help@sourceware.org" Subject: Asking for consideration behind making RTLD_DI_SERINFOSIZE request twice Thread-Topic: Asking for consideration behind making RTLD_DI_SERINFOSIZE request twice Thread-Index: AQHZbVXQPZ/WSqyL6ECtGCPgaHPzjA== Date: Wed, 12 Apr 2023 15:50:59 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [TbT2ivAMuBEtllaWLO0oe/t7MVJLdf8aAoQYvXTWZcs=] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ME2P282MB2242:EE_|ME3P282MB2215:EE_ x-ms-office365-filtering-correlation-id: a6927c7a-9f6a-476d-d58b-08db3b6db60b x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WU4GISY+A/jWuqi8kYypgAazOvGaN0kabHZCeKEDRN/WsFPZzMUhVYtxBeFCooTPLX4dOKx8OYckIp+7KjtX2d+Q0NNIx6PxYj7PBdh91crXVq1Qs974MiSv2NaTDwxQi0sergHV0J/eqGVuK70vZWhhy3daq0F1xeWQ0ZoIDduajTa9PIdmnioPJAIJtveBd/UsN12+d09rIgpNnbZVeCULOuBRvsX1g9NVVMKVyqunr+1a3TtsfNQkhuG0kjd8+/KSPiRhxdWSeOf6SxlIGpViyq9pvSk4XQuVrRBMQivJF7RgiYz5zKz/yCKMHt3D7nsVUj3P6xKCxa9EdhNu1h8OiGxMBEKmrmKQyI4OUkD2t/NLg0JGwWSc8IdhJXJHA4ESZGAN3WjM3cwbQwmOpSzunLRYGH30ux7rHXxPxKW8owUfBbUpqO10bzTZhCcaXZN2L+yercZxL9b/EpbD3lxZdZwaRzAokinq3vSMDtjk1e3dA1K7CaLQIpJ5fyU3e47Z3Jcr0BpcmwhFxX6AKNxLwgv8fb5wLiW7MtujZhU= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?7pA0Rw/T/5Crosq7mcvBn9+OwrrI+JtJSgiblCwBR2W0HpiBlRV0dqei?= =?Windows-1252?Q?8yAVzZHvyd6CeUgXa8Iu7Jud1u04Dr4CK5umHyHNIg2kTfOWL2oTF3uU?= =?Windows-1252?Q?lFDSGoRX0abGSFVLv6WwpjojX9OoYjvNQwsw2YHV1Vzqfk6nUoukwGHi?= =?Windows-1252?Q?q9boZuEFb33VGYtWT3vHAyv8KF0qWzmXL3MQlGnKe/XWWrd7BErhnX1G?= =?Windows-1252?Q?kzeA3ApBf5EddLReyprG0o4W2U9GJi7vo7BC/iD1i1EGxCFIeQwI56KH?= =?Windows-1252?Q?gwhmSskYIp4knWV4bk3dFHtfSL6SffGFV+LOfxXl9H7Qf3g4Gx69N3hp?= =?Windows-1252?Q?RJNx/wlUWa9lcu/fC8yHzngBLcBvAN+igm5mda3FUqWmPmyQTFcFIpV8?= =?Windows-1252?Q?NgWVrCPp+zFKSYzRzE8ONBD25FPTy3TP8vPsx+y9eBoXbqOtQYTXirDh?= =?Windows-1252?Q?6paOK0yKBCcpbFHbxOfEDayb9rQuL0rxYoRfr9gy1thlbOs9CGupY+et?= =?Windows-1252?Q?bYr2U+bL8akb75wF4n9Fk4pileZA1FuHAlbORc/txNrZxaWpFCSyBVby?= =?Windows-1252?Q?UPfr9p9VJIi95gKo5NPmbmEmF1epG5A8cjgZ9bFX8NWGww4g1d4WGzqX?= =?Windows-1252?Q?H6OjcKx98AfPmuyFIsAuzMRkMIxnv9nmkx+FPZ4Mj4r8mzjdqYujKBiS?= =?Windows-1252?Q?U0Lgs09Ycsd4XpCYBHNQ1fNwOkkWH3J4Jp01uTscz2qwDyupLVydMgC5?= =?Windows-1252?Q?XcKSkj9CZgBZZR9vcDpdMKyG/RZA1YNUe2M8ph1/sbF1vAH8aDieNjD8?= =?Windows-1252?Q?JUdYuG5A+Q8/yv3AOqkQPO/XlaWftJHA9E8hZPICMzzuwCyCyE7mNIyQ?= =?Windows-1252?Q?zOy56bz42I9Z1iBkig9wW+UNzlww2tREOeSfAtSebszZe/hNHB2ibDDw?= =?Windows-1252?Q?lTqQJDMx9Tjj4Q2CLF/drmnnJ7Ax3zhKubLvQP41TnGmvWyyT2ncHjd4?= =?Windows-1252?Q?tT+/5LbS74VvHZ0s8QHmA4YrNDnRTlg7MHH6bd86IV2yF91afFgUV+u4?= =?Windows-1252?Q?J/3+rZw61DYprhx4yHeq0ffIgcfrn8pDX0IW0WgYYEnJJsiGQJmNGes1?= =?Windows-1252?Q?v0O768LvWNW7HTp1xRhsmCnMcOuGZNm+vSsCK9zjhy2KIofQbzUvRDgK?= =?Windows-1252?Q?7rh+N8t9idQrpRCViwN4IvgEfoLhitOtJzo9L17xW9QspiEYRnI2fH5K?= =?Windows-1252?Q?/s7TqNEmbbVITSpXvUBGwozqV1cL6LLQEVqXGgrlDUJpWx9R8M15pngu?= =?Windows-1252?Q?8vW7bDxsFTPM23Jb7N43cMTS7ao=3D?= Content-Type: multipart/alternative; boundary="_000_ME2P282MB2242B7D274B3A0D943AF552FB49B9ME2P282MB2242AUSP_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ME2P282MB2242.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a6927c7a-9f6a-476d-d58b-08db3b6db60b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2023 15:50:59.4726 (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: ME3P282MB2215 X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_SHORT,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: --_000_ME2P282MB2242B7D274B3A0D943AF552FB49B9ME2P282MB2242AUSP_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi, Recently I am working with dlinfo and from my understanding of the use of R= TLD_DI_SERINFO in [dlinfo](https://man7.org/linux/man-pages/man3/dlinfo.3.h= tml), the first call gives dls_size value that helps ensure the struct is l= arge enough, but the second call is seemly doing nothing new but repeating = computation of first call to fill out the two fields dls_size and dls_cnt. = Besides, from the [code called](https://elixir.bootlin.com/glibc/glibc-2.37= .9000/source/elf/dl-load.c#L2298) by the dlopen [interface](https://elixir.= bootlin.com/glibc/glibc-2.37.9000/source/dlfcn/dlinfo.c#L63), I am unable t= o locate some code distinguishing the two calls and therefore my question i= s whether this two-step call sequence is something really necessary, or is = it already enough to just copy over the stats like cnt and size, through, f= or example, having a new request item called RTLD_DI_SERINFOSIZE_COPY to pr= ovide some forward compatibility from library authors=92 viewpoint. As a ru= nning example, the following code prints two exact same line on my machine. ```c Dl_serinfo dl_search_size; if (dlinfo(dl_handle, RTLD_DI_SERINFOSIZE, &dl_search_size)) { printf("dlinfo: %s while populating search info size", dlerror()); return; } printf("%d %ld\n", dl_search_size.dls_cnt, dl_search_size.dls_size); Dl_serinfo *dl_search_info =3D (Dl_serinfo *)malloc(dl_search_size.dls_si= ze); if (!dl_search_info) { perror("malloc"); return; } if (dlinfo(dl_handle, RTLD_DI_SERINFOSIZE, dl_search_info)) { printf("dlinfo: %s while ", dlerror()); return; } printf("%d %ld\n", dl_search_info->dls_cnt, dl_search_info->dls_size); ``` Thanks a lot for your attention and hope you a great day. Best, Qixing --_000_ME2P282MB2242B7D274B3A0D943AF552FB49B9ME2P282MB2242AUSP_--