The future of static dlopen
Florian Weimer
fweimer@redhat.com
Wed Dec 20 17:03:00 GMT 2017
On 12/20/2017 05:36 PM, Zack Weinberg wrote:
> On Tue, Dec 19, 2017 at 11:24 PM, Florian Weimer <fweimer@redhat.com> wrote:
>> On 12/20/2017 08:03 AM, Carlos O'Donell wrote:
>>> It would be easiest to have a proxy process to handle these requests
>>> for you... such a proxy process could be a proxy thread instead?
>>> As you suggest earlier have the kernel start a new tid, and map into
>>> your VMA a new dynamic executable that you can access and call into
>>> for services?
>>
>> I would just add an option to /usr/bin/getent which causes it to enter
>> co-process mode. It's not going to be extremely efficient (especially if we
>> don't use a persistent subprocess, but it would be quite reliable, unlike
>> what we have to day).
>
> This seems like another case where making nscd less of an afterthought
> would be a win. It already does this job, after all.
I don't think nscd takes care of everything. Enumeration is missing, I
think, and so are some databases (aliasent, etherent).
> In principle,
> static binaries could just omit the no-nscd fallback path. (In
> practice, falling back to "files [dns]" might be the right thing,
> since static binaries tend to get used for recovery.)
I thought about that as well, but I'm really not sure if using nscd
brings a benefit. From a distribution perspective, if you have to
install nscd to run certain satic libraries, that might also enable it
for dynamically-linked binaries, and many users may not want that.
Thanks,
Florian
More information about the Libc-alpha
mailing list