From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29212 invoked from network); 28 Nov 2023 05:17:35 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 28 Nov 2023 05:17:35 -0000 Received: (qmail 8184 invoked by uid 550); 28 Nov 2023 05:17:31 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 8114 invoked from network); 28 Nov 2023 05:17:30 -0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mev+5HDapgKUJU7/spiv9mNf85mqar55l5fIgt3EfQoUVFO7EK38jXQu8ayNp/7PecMM+80hq5wX47W+ZWXq0safPUl/mp+DrbkKNNqwTWXKPI1pKu5kKlD3XyDGr/n9XOVAb2nRVs5AMyyDD9uYRg06eIPJ6ELjxfR1k+W91hsyOIVHDbEb8kckkeWnSQm5CXZVHAFSK/Fw+2Rn6GFJ+b5S3UIgoJBgYqy6U88VoTpjeTL9Xltn50xfmWTKntq7UZPKHawlIBdI0TwCZ+EqQmEZlMBfOTv9XOxVaZJuWDe0Jl3l68BwSlAqHLV7QPJ3U3ccqnAsF/PQ+kwWofDw2A== 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=D0+Hbz/p5Q0Dl+t80802JU6ssZQVQYEk+mqStDipQ2E=; b=MjSihMDxeT50iLv1SdfiNgsLPmcYz3ThaeaXwzC3PWXD+sVhvaLnwWsZ4mdry6Umi88Vn+OhyoQxgGdfUCJl7GHGnEt8AdC+cONro+uvmdDo9BnR7MAC8w2s/5paODKm5suJdRu82EUThBcBmZM/Zyu9wRg35XiShl/cF57QLZYP2Wy00bT03dLGbEzIdOwWnXnPzasmp9sZdlFCC5ig3QlEJNePei2iA32y9w0gybfVzdJ4nbWohL1zPR4iP94Rfhry8yFsJGFUkeQklWxjaA9q0ZJBTlDeNoTunc8i5oEVpe70Sj0yPId1qeJc0sKR8yEVK5MwcxlRFGnLYMIAQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none X-Gm-Message-State: AOJu0YwEg0E7LWlqnWO5KNqGHt5pEyuEEafIAkBPFP22Hbr8hAnRNzYu xgyNORW8kqFVqv7gtN4mbZzUgvbYADgT3EyVGrk= X-Google-Smtp-Source: AGHT+IH4ql3kYqZZPZs7eMv6JXO3awlEZ7IVr+IcjFr5zs+oRuP5vFOnHXe5rvuk/xhdEfAJzmq6ST2W1m22QNiN3vQ= X-Received: by 2002:a1f:f4c4:0:b0:49a:b737:4df7 with SMTP id s187-20020a1ff4c4000000b0049ab7374df7mr5922142vkh.5.1701148635367; Mon, 27 Nov 2023 21:17:15 -0800 (PST) References: <946a873e-9c02-4cd2-9460-f6dfa3aa5028@app.fastmail.com> <20231114031026.GV4163@brightrain.aerifal.cx> <5926c9d9-083e-4ee4-8c87-3f58aca2f428@app.fastmail.com> <20231115152042.GX4163@brightrain.aerifal.cx> In-Reply-To: <20231115152042.GX4163@brightrain.aerifal.cx> From: Fangrui Song Date: Mon, 27 Nov 2023 21:17:04 -0800 X-Gmail-Original-Message-ID: Message-ID: To: Eleanor Bartle Cc: musl@lists.openwall.com, Markus Wichmann Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-TMN: [RYmrHyaUpcp4/Q9v92x3nxdksK/EGZo5] X-ClientProxiedBy: BL1PR13CA0289.namprd13.prod.outlook.com (2603:10b6:208:2bc::24) 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_|SN7PR12MB8433:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ffce624-356b-4763-e928-08dbefd1499a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eUcBIhPQylqii5P1IshS/IznSActb8Ni7vOkQu3yg7Z3XjrtS7iQjLtPRAYCOnwyJDDPPlmD9ixPyWUzxwJxjv/j5b+KUS+YHWtA4NXiPQGSJcENJEUm9TGOzEIjNPkK9iDfeIWB/XEn9WfPsSI7adk1mVupHs0Uc+fjwVfrP6rksZgtsUn1gAd5Ru16wK8L2+Rt8idftshV2dln1+3H2S7bn0J7peLRpx2l+6Wyjqpa3zmj+/NFtJGgRExxXJ15U3NteHCHb/IS0R3N188R0Z7NAvBYWqcu2OJr1klXhtAlo9Y+oDDkGuhoeexhnQjS7EwEe5XL9N8GBiryL5vB55XqTys8FLk/ekxEUpVvvgWUfAW//kqhmmT5WTM34hAbohRYA9me2ADPl9pKa40QBAG0vx3nIqVRQ8yZr1yWvm6tKzp9FNZ1dYv9Da6Exv3O8YPcs0BvZVCBSxvYKCPEG+fTiOzRR0bNH2rgjm4Vk2YSM5ligrds3a+gwdv2GTidKfXQaCv5yXdfyHflHoliqoE/q9TDyxTK0pVJU277clf4OMblxwuFkuP/sm3vQY6yKDZY48xfpNqBu2uniMO3RINKmAo9huq8J3tsmnoedmQ= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dTU5dGg3dGxWZDM4Q1B3QjFYSytEbjdxQmFYb29vUEgxelBmelo3eFg5TGk3?= =?utf-8?B?NFhoSCtwRmlXbVBralVVNmxNL2FiaTYwMnBacUpmSmFXVExBSjUrdnl1Z2gy?= =?utf-8?B?RHpjREE1Q2NVNkdRMDB1QU5jRzNvSmRmSjVMZ283MHpXSVVTMS9HTUM0cThV?= =?utf-8?B?QkgyTFM5OTRDTlV0YmppbkROK05lbkNFK2JFc2NmZmh2eVNCamxLblVxaVdw?= =?utf-8?B?Y1h0NUFldWZiMDl5aEl5KzZXM0ZuVUs4NVhTZXFmbDFYWHpxaVRnUURtS3hH?= =?utf-8?B?NGUvVVhJY1hXeFNWRlRpaGFGOUlxNFdCOVlIK0JESHptMnBSbnpDa0hxMDhS?= =?utf-8?B?RU45ZmZwZ2lxMGt5dVM3OWZXZ2N0aXBqZWNnalBZV3RobEVNTnlxZ1pWYUJE?= =?utf-8?B?dldwVnNOeVkwWE5OaVNNQUp6cXRYOWtsL0I2VWRQYWE1YWR0S2FMMnhCUzBO?= =?utf-8?B?NS9wQlZWc053SCszU1U3UHowWWQzQUtKUndRVlFnaE5JL0lpcDBnZE9sdUFi?= =?utf-8?B?OW1lVXIzSU9OUXBOS0hvM2M3WjFNNFJhcElHei8ybWJDRCtxTXYwMjBNakhI?= =?utf-8?B?Q3RNT0dnbDU5dXpjaThmUGV6YVEzZkRzbkR3ZFJ6VWRKRDlzQmliU2taYlBM?= =?utf-8?B?MlB3d2JZZW1FWUZsTzN2V3Y5WGpTbjc5cTJNbjViM0tvZ2NiWWZrZnpCL3gv?= =?utf-8?B?anlaQkVnYSs5bjk3c1g1MlZvenRtVy9yTEx0b2tJNHo1bHpGTEJYb1hQNXk2?= =?utf-8?B?Ynd2eXpMbXJNa1dYLzVoTm83T1lPOU1UOENOSVVqTVVHZ3NUcStDbHpwMjd0?= =?utf-8?B?WTMzRnVJNDZDM2dUQWxtSXNEdXdYY2JscWc0MjdVWHRPRjZRdHBLaTJObGtF?= =?utf-8?B?V2FycVltT3RVWlYwK21nb2k2U0M4Yi9JRE9Gckh4ZEtKNHFvbkRYOCtwS0ZW?= =?utf-8?B?NG82UFZ2QUg2akxKdmNNNGZ4MDcyUGswZmtMWnA4Mno3c1hvR0FvWVA4OHM4?= =?utf-8?B?SUx1K0dpbjd1RmYwUlRxTGVuZnpielFPVThLRnlHWXVxTUhmOWZlK0pPQTlL?= =?utf-8?B?ZTYwWStGcGdmMS92b3JHVGVjZ2xBZkJNQkhjd3U4L3V3WTUxZ1gvSkQ4MVZM?= =?utf-8?B?cm1rd1dTRHdGdFZQZFptdW93bjlxWm81R1JKUERSV3hteW9EOWJ2VmtSazBy?= =?utf-8?B?Q0VGOUl3Kys5QmxjWTVvazRpUEVzU21oMWYrdUs3b1RWZDJvZy96QTVieTkw?= =?utf-8?B?di8yM3B2VG0yQkw2N3JNQUYyNVRqM3ZzRmVia0xkbCsrR001YmoxOHhEUi9Q?= =?utf-8?B?UUpvRTdhdDNzT3pUeVVLMDVFYVo4SHZKbjRESUx6dlJJdE5meG0wdVlINEwv?= =?utf-8?B?TWZQMFdWRjFMTHBybVk2UG1HVHVJUTFKY0pscmpzb0pKZElXL0lRVXZoaWM3?= =?utf-8?B?QzhhUFZkOXdxNVhFZlJHOU5jT20weXNUTldoNmIxK25HdHpsbHdlQkxpT0p6?= =?utf-8?B?aHNqcGpuTzAzL2VUTjZhY3dPNkpKZFd6ZnlXU3laazNBOHByYTZtZ3V5Wnd4?= =?utf-8?Q?iQAr7bww3YLozwiafLXnZZ02ifRBBW6PRuNSsmHUDFjP1C?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-5183d.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 8ffce624-356b-4763-e928-08dbefd1499a X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5765.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 05:17:17.0442 (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: SN7PR12MB8433 Subject: Re: [musl] Care about Symbol Namespacing? On Mon, Nov 13, 2023 at 7:02=E2=80=AFPM Eleanor Bartle wrote: > > [please cc] > > ELF doesn't have a standard equivalent of Mach-O's Two-Level Namespace, b= ut one can be grafted on, as Solaris does with Direct Binding. I've inquire= d about this on IRC and the objections raised against it concern moving sym= bols between or coalescing shared objects without breaking dependent binari= es. What I'm wondering is, is it worth thinking about a symbol namespacing = system that accounts for this? Would the robustness benefits of such a syst= em be worth the specification complexity? I would be very interested in knowing the speedup of such a system. Solaris folks can share performance numbers when direct bindings are disabled, to give us some idea about how much we could expect. I am also curious how much we can achieve by utilizing -Bsymbolic family linker options: https://maskray.me/blog/2021-05-16-elf-interposition-and-bsymbolic On Wed, Nov 15, 2023 at 7:20=E2=80=AFAM Rich Felker wrote= : > > On Wed, Nov 15, 2023 at 05:11:02PM +1100, Eleanor Bartle wrote: > > That's about it, yes. Though I will point out that Solaris supports > > LD_PRELOAD just fine -- the preloads just need to be marked as such. > > For calls between components there's really no way to structurally > > prevent interposition. > > > > The benefit is faster inter-component symbol lookup, as well as > > sanity in the face of an _accidental_ name collision. The tradeoff > > is complexity of specification to support all existing use cases. If > > the standard were being designed from scratch it might not be too > > hard to accomplish cleanly; to graft on to an existing model is a > > nightmare. > > If your intent is just to check for accidental name collision, you can > do this with diagnostic tooling not runtime semantic changes. And this > is what you want to know, and what I mean by static linking being > first-class. Making accidental name collisions transparently work > would make it so things break horribly when someone decides they want > to static link, and you as the author don't realize this because you > never tried static linking. What's better would be running a tool that > basically just does ldd and looks for multiple definitions of the same > symbol, and tells you "you've got something wrong! you need to fix > that!" > > Rich For name collision issues, I am thinking of an one-definition-rule violation checking feature https://maskray.me/blog/2022-11-13-odr-violation-detection#future-direction --- Mach-O's Two-Level Namespace introduced several linker options to enable symbol moving from one library to another. https://blog.darlinghq.org/2018/07/mach-o-linking-and-loading-tricks.html "To make that possible, Mach-O, ld, and dyld provide a few additional features, namely, sub-libraries, reexporting symbols, and meta-symbols." GNU symbol versioning is actually a system that provides the import file information: vn_file. However, glibc rtld does not utilize vn_file to speed up symbol searches. In addition, > https://maskray.me/blog/2020-11-26-all-about-symbol-versioning#version-sc= ript vn_file is essentially ignored for symbol search since glibc 2.30 htt= ps://sourceware.org/bugzilla/show_bug.cgi?id=3D24741 . Previously during re= location resolving, after an object failed to provide a match, if it matche= d vn_file, rtld would report an error `symbol %s version %s not defined in = file %s with link time reference`.