* [PATCH v2] uml: make CONFIG_STATIC_LINK actually static
@ 2020-01-23 23:59 Brendan Higgins
2020-01-24 7:50 ` Geert Uytterhoeven
0 siblings, 1 reply; 3+ messages in thread
From: Brendan Higgins @ 2020-01-23 23:59 UTC (permalink / raw)
To: jdike, richard, anton.ivanov, geert, james_mcmechan
Cc: linux-um, linux-kernel, davidgow, 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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] uml: make CONFIG_STATIC_LINK actually static
2020-01-23 23:59 [PATCH v2] uml: make CONFIG_STATIC_LINK actually static Brendan Higgins
@ 2020-01-24 7:50 ` Geert Uytterhoeven
2020-01-24 22:03 ` Brendan Higgins
0 siblings, 1 reply; 3+ messages in thread
From: Geert Uytterhoeven @ 2020-01-24 7:50 UTC (permalink / raw)
To: Brendan Higgins
Cc: Jeff Dike, Richard Weinberger, Anton Ivanov, James McMechan,
linux-um, Linux Kernel Mailing List, David Gow
Hi Brendan,
On Fri, Jan 24, 2020 at 12:59 AM Brendan Higgins
<brendanhiggins@google.com> wrote:
> 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
bool
("n" is the default)
> +
> config STATIC_LINK
> bool "Force a static link"
> + depends on !FORBID_STATIC_LINK
> default n
"default n" is the default (preexisting)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] uml: make CONFIG_STATIC_LINK actually static
2020-01-24 7:50 ` Geert Uytterhoeven
@ 2020-01-24 22:03 ` Brendan Higgins
0 siblings, 0 replies; 3+ messages in thread
From: Brendan Higgins @ 2020-01-24 22:03 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Jeff Dike, Richard Weinberger, Anton Ivanov, James McMechan,
linux-um, Linux Kernel Mailing List, David Gow
On Thu, Jan 23, 2020 at 11:51 PM Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
> Hi Brendan,
>
> On Fri, Jan 24, 2020 at 12:59 AM Brendan Higgins
> <brendanhiggins@google.com> wrote:
> > 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
>
> bool
>
> ("n" is the default)
Whoops, I always forget that.
Thanks for catching that!
> > +
> > config STATIC_LINK
> > bool "Force a static link"
> > + depends on !FORBID_STATIC_LINK
> > default n
>
> "default n" is the default (preexisting)
I'll go ahead and fix that too, then.
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-01-24 22:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-23 23:59 [PATCH v2] uml: make CONFIG_STATIC_LINK actually static Brendan Higgins
2020-01-24 7:50 ` Geert Uytterhoeven
2020-01-24 22:03 ` Brendan Higgins
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).