Messages in this thread Patch in this message | | | Date | Thu, 23 Jan 2020 15:59:14 -0800 | Subject | [PATCH v2] uml: make CONFIG_STATIC_LINK actually static | From | Brendan Higgins <> |
| |
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: Brendan Higgins <brendanhiggins@google.com> --- Changes since last revision:
Incorporated Geert Uytterhoeven's suggestion of using a separate FORBID_STATIC_LINK config option that each driver incompatible with static linking selects. --- arch/um/Kconfig | 7 +++++++ arch/um/drivers/Kconfig | 3 +++ 2 files changed, 10 insertions(+)
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 0917f8443c285..27a51e7dd59c6 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -62,8 +62,12 @@ config NR_CPUS source "arch/$(HEADER_ARCH)/um/Kconfig" +config FORBID_STATIC_LINK + def_bool n + config STATIC_LINK bool "Force a static link" + depends on !FORBID_STATIC_LINK default n help This option gives you the ability to force a static link of UML. @@ -73,6 +77,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 diff --git a/arch/um/drivers/Kconfig b/arch/um/drivers/Kconfig index 72d4170557820..9160ead56e33c 100644 --- a/arch/um/drivers/Kconfig +++ b/arch/um/drivers/Kconfig @@ -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 -- 2.25.0.341.g760bfbb309-goog
| |