Re: [PATCH v1] uml: remove support for CONFIG_STATIC_LINK

From: Anton Ivanov
Date: Tue Dec 10 2019 - 03:54:51 EST




On 10/12/2019 08:28, Johannes Berg wrote:
On Tue, 2019-12-10 at 07:34 +0000, Anton Ivanov wrote:

Further to this - any properly written piece of networking code which
uses the newer functions for name/service resolution will have the same
problem. You can be static only if you do everything "manually" the old
way.

The offending piece of code is the glibc implementation of getaddrinfo().

If you use it and link static the resulting binary is not really static.

However, this (getaddrinfo) really only applies if you use the vector
network driver, if you e.g. use only virtio then this particular problem
isn't present.

Note sure if we implicitly call getaddrinfo from libpcap, but again,
that's just a single driver.

IOW, we could just make CONFIG_STATIC_LINK depend on !VECTOR && !PCAP?

+1

We also need to add VDE (wonder if anyone still uses that).

We will need to add XDP when I finish it. If memory servces me right, libelf or libbpf has the same lovely features as NSS.

This is not just NSS - it is creeping in with a lot of new libraries. Sometimes the libc guys fix that. For example, librt was like that when I started working on epoll and vector IO.

Sometimes (as in the NSS case) they don't. So the static build containing those will be broken and we are better off making it conflict for those options.


johannes


_______________________________________________
linux-um mailing list
linux-um@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-um


--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/