Commit 33631793 authored by Brendan Higgins's avatar Brendan Higgins Committed by Richard Weinberger
Browse files

um: Make CONFIG_STATIC_LINK actually static

Currently, CONFIG_STATIC_LINK can be enabled with options which cannot
be statically linked, namely UML_NET_VECTOR, UML_NET_VDE, and
UML_NET_PCAP; this is because glibc tries to load NSS which does not
support being statically linked. So make CONFIG_STATIC_LINK depend on
!UML_NET_VECTOR && !UML_NET_VDE && !UML_NET_PCAP.

Link: https://lore.kernel.org/lkml/f658f317-be54-ed75-8296-c373c2dcc697@cambridgegreys.com/#t


Signed-off-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 5bef0a15
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -62,9 +62,12 @@ config NR_CPUS

source "arch/$(HEADER_ARCH)/um/Kconfig"

config FORBID_STATIC_LINK
	bool

config STATIC_LINK
	bool "Force a static link"
	default n
	depends on !FORBID_STATIC_LINK
	help
	  This option gives you the ability to force a static link of UML.
	  Normally, UML is linked as a shared binary.  This is inconvenient for
@@ -73,6 +76,9 @@ config STATIC_LINK
	  Additionally, this option enables using higher memory spaces (up to
	  2.75G) for UML.

	  NOTE: This option is incompatible with some networking features which
	  depend on features that require being dynamically loaded (like NSS).

config LD_SCRIPT_STATIC
	bool
	default y
+3 −0
Original line number Diff line number Diff line
@@ -234,6 +234,7 @@ config UML_NET_DAEMON
config UML_NET_VECTOR
	bool "Vector I/O high performance network devices"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	This User-Mode Linux network driver uses multi-message send
	and receive functions. The host running the UML guest must have
@@ -245,6 +246,7 @@ config UML_NET_VECTOR
config UML_NET_VDE
	bool "VDE transport (obsolete)"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	This User-Mode Linux network transport allows one or more running
	UMLs on a single host to communicate with each other and also
@@ -292,6 +294,7 @@ config UML_NET_MCAST
config UML_NET_PCAP
	bool "pcap transport (obsolete)"
	depends on UML_NET
	select FORBID_STATIC_LINK
	help
	The pcap transport makes a pcap packet stream on the host look
	like an ethernet device inside UML.  This is useful for making