Message ID | 20210929162642.21985-1-vivek@collabora.com |
---|---|
Headers | show |
Series | Implementation of RTLD_SHARED for dlmopen | expand |
On Wed, 29 Sep 2021, Vivek Das Mohapatra via Libc-alpha wrote: > - The following DSOs no longer have the new flag since they are stubs: > {htl,nptl}/libpthread, dlfcn/libdl, login/libutil, resolv/libanl The HTL libpthread implementation hasn't been merged into libc, unlike NPTL. Probably it *should* be, but it hasn't happened yet. (And, thus, on Hurd, libanl hasn't been merged into libc because it depends on libpthread.) On the other hand, librt has been merged into libc on Linux (not Hurd, for the same reason of dependency on libpthread), despite that not being mentioned in the NEWS entry for 2.34.
On Wed, 29 Sep 2021, Joseph Myers wrote: > On Wed, 29 Sep 2021, Vivek Das Mohapatra via Libc-alpha wrote: > >> - The following DSOs no longer have the new flag since they are stubs: >> {htl,nptl}/libpthread, dlfcn/libdl, login/libutil, resolv/libanl > > The HTL libpthread implementation hasn't been merged into libc, unlike > NPTL. Probably it *should* be, but it hasn't happened yet. (And, thus, > on Hurd, libanl hasn't been merged into libc because it depends on > libpthread.) Hm. Ok. Thanks for the heads up. I can restore the flag for htl/pthread easily enough. I'm less certain how to do this properly conditionaly for anl but I'll look into it. Possibly I'll just restore the flag for libanl (see below). > On the other hand, librt has been merged into libc on Linux (not Hurd, for > the same reason of dependency on libpthread), despite that not being > mentioned in the NEWS entry for 2.34. It's harmless for a stub library to have the flag if it doesn't need it, so I'll probably leave librt tagged until it's fully merged (unless it's easy to to do conditionally given the current setup). Not worth introducing a ton of complexity into the build system for imo.
On 29/09/2021 13:26, Vivek Das Mohapatra via Libc-alpha wrote: > This is a revision of a previous patchset that I posted here > regarding https://sourceware.org/bugzilla/show_bug.cgi?id=22745 > > Introduction: > > ======================================================================= > As discussed in the URL above dlmopen requires a mechanism for > [optionally] sharing some objects between more than one namespace. > > The following patchset provides an implementation for this: If an > object is loaded with the new RTLD_SHARED flag we instead ensure > that a "master" copy exists (and is flagged as no-delete) in the > main namespace and a thin wrapper or clone is placed in the target > namespace. > > In addition a new ELF dynamic section and flag are introduced which > indicate that the DSO in question should be shared between namespaces > by default, and the core libc DSOs are tagged as such by default. > > This patch series should address all the comments received on the > earlier (v1-v12) series. > > ======================================================================= > > Changes from v12: > > - Added NEWS entry. > > - Updated patch series to glibc 2.35 as a base. > > - The following DSOs no longer have the new flag since they are stubs: > {htl,nptl}/libpthread, dlfcn/libdl, login/libutil, resolv/libanl You seemed to have completely ignored my last review (for instance https://sourceware.org/pipermail/libc-alpha/2021-August/129961.html), so I won't bother to spent time checking on this version. All of them were done on August [1] and I have even sent a message added that I fixed fixed the issues I found [2] (I also sent a private email about it). Anyway, if someone else want to review this version fell free. [1] https://sourceware.org/pipermail/libc-alpha/2021-August/thread.html [2] https://sourceware.org/pipermail/libc-alpha/2021-August/129982.html
> You seemed to have completely ignored my last review (for instance > https://sourceware.org/pipermail/libc-alpha/2021-August/129961.html), > so I won't bother to spent time checking on this version. I do apologise, I was busy with other work and I must have missed those. I'll go through them.