This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: is there plan to support 'linker namespace' in glib?
- From: Florian Weimer <fweimer at redhat dot com>
- To: zhuao <zhuao at ustc dot edu>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Mon, 11 Mar 2019 13:50:39 +0100
- Subject: Re: is there plan to support 'linker namespace' in glib?
- References: <AHcAmAAJBzshW53NResIkqqz.1.1552302786642.Hmail.zhuao@ustc.edu>
* zhuao:
> I notice that android bionic support 'linker namespace': https://source.android.com/devices/architecture/vndk/linker-namespace
> it provides additional isolation among software components.
> it may also benefit some usage:
> - isolation prebuilt binaries with different toolchain (versioned glibc)
> - it may also give us opportunity to use android binary (HAL) with glibc, by isolating glib and bionic world in different namespace
>
>
> do you think the above approach is possible?
> if yes, is it possible to add such feature to glibc?
There have been many discussions over the year. The requirements are
quite diverse: some people want group support as in the Solaris linker.
Others want dlmopen with a shared malloc (and perhaps shared other
libraries; our implementation currently shares only the dynamic linker
and nothing else). Again others want to load the same library multiple
times, disregarding its soname. Then there is a desire to have some
sort of firewall between different linker namespaces, as a general
framework, so that you can load the same soname multiple times, and
still achieving consistent execution.
I think that anything that is fairly general and actually works is still
a major research effort, in addition to the work that would be needed to
implement it in the current dynamic linker. While a lot of research has
been done on modules and how to compose them in the 80s, a lot of that
knowledge seems to have been lost or is simply not available to people
working on C/C++ implementations today.
Thanks,
Florian