linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] uml: make CONFIG_STATIC_LINK actually static
@ 2019-12-10 21:21 Brendan Higgins
  2019-12-11  8:39 ` Geert Uytterhoeven
  0 siblings, 1 reply; 4+ messages in thread
From: Brendan Higgins @ 2019-12-10 21:21 UTC (permalink / raw)
  To: jdike, richard, anton.ivanov
  Cc: johannes.berg, 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>
---
 arch/um/Kconfig | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 2a6d04fcb3e91..1ddc8745123f2 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -63,6 +63,7 @@ source "arch/$(HEADER_ARCH)/um/Kconfig"
 
 config STATIC_LINK
 	bool "Force a static link"
+	depends on !UML_NET_VECTOR && !UML_NET_VDE && !UML_NET_PCAP
 	default n
 	help
 	  This option gives you the ability to force a static link of UML.
@@ -72,6 +73,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
-- 
2.24.0.525.g8f36a354ae-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] uml: make CONFIG_STATIC_LINK actually static
  2019-12-10 21:21 [PATCH v1] uml: make CONFIG_STATIC_LINK actually static Brendan Higgins
@ 2019-12-11  8:39 ` Geert Uytterhoeven
  2020-01-19 21:40   ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: Geert Uytterhoeven @ 2019-12-11  8:39 UTC (permalink / raw)
  To: Brendan Higgins
  Cc: Jeff Dike, Richard Weinberger, Anton Ivanov, davidgow, linux-um,
	Linux Kernel Mailing List, Johannes Berg

Hi Brendan,

On Tue, Dec 10, 2019 at 10:21 PM 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>
> ---
>  arch/um/Kconfig | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 2a6d04fcb3e91..1ddc8745123f2 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -63,6 +63,7 @@ source "arch/$(HEADER_ARCH)/um/Kconfig"
>
>  config STATIC_LINK
>         bool "Force a static link"
> +       depends on !UML_NET_VECTOR && !UML_NET_VDE && !UML_NET_PCAP

"depends on !FORBID_STATIC_LINK"?

Then all the drivers that are incompatible with static linking can just
select FORBID_STATIC_LINK in their own Kconfig block.

>         default n
>         help
>           This option gives you the ability to force a static link of UML.
> @@ -72,6 +73,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
> --
> 2.24.0.525.g8f36a354ae-goog

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] 4+ messages in thread

* Re: [PATCH v1] uml: make CONFIG_STATIC_LINK actually static
  2019-12-11  8:39 ` Geert Uytterhoeven
@ 2020-01-19 21:40   ` Richard Weinberger
       [not found]     ` <c80a1c56a5a543d2a7174e598919164aSN6PR10MB3039E2FB633AC95CF4279B04E2320@SN6PR10MB3039.namprd10.prod.outlook.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Weinberger @ 2020-01-19 21:40 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Brendan Higgins, Johannes Berg, Richard Weinberger, Jeff Dike,
	linux-um, Linux Kernel Mailing List, davidgow, Anton Ivanov

On Wed, Dec 11, 2019 at 9:40 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Brendan,
>
> On Tue, Dec 10, 2019 at 10:21 PM 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>
> > ---
> >  arch/um/Kconfig | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> > index 2a6d04fcb3e91..1ddc8745123f2 100644
> > --- a/arch/um/Kconfig
> > +++ b/arch/um/Kconfig
> > @@ -63,6 +63,7 @@ source "arch/$(HEADER_ARCH)/um/Kconfig"
> >
> >  config STATIC_LINK
> >         bool "Force a static link"
> > +       depends on !UML_NET_VECTOR && !UML_NET_VDE && !UML_NET_PCAP
>
> "depends on !FORBID_STATIC_LINK"?
>
> Then all the drivers that are incompatible with static linking can just
> select FORBID_STATIC_LINK in their own Kconfig block.

Makes sense!

-- 
Thanks,
//richard

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] uml: make CONFIG_STATIC_LINK actually static
       [not found]     ` <c80a1c56a5a543d2a7174e598919164aSN6PR10MB3039E2FB633AC95CF4279B04E2320@SN6PR10MB3039.namprd10.prod.outlook.com>
@ 2020-01-23 23:25       ` Brendan Higgins
  0 siblings, 0 replies; 4+ messages in thread
From: Brendan Higgins @ 2020-01-23 23:25 UTC (permalink / raw)
  To: James McMechan
  Cc: Richard Weinberger, Geert Uytterhoeven, Johannes Berg,
	Richard Weinberger, Jeff Dike, linux-um,
	Linux Kernel Mailing List, davidgow, Anton Ivanov

On Sun, Jan 19, 2020 at 4:30 PM James McMechan
<james_mcmechan@hotmail.com> wrote:
>
> Resent for the mailing list since my webmail decided to try to send html...
>
> I agree that at least the UML_NET_VECTOR is not compatible with static linking at the moment,
> but I was running a statically linked UML with PCAP back in December.
> I was having no problems, but I don't remember if I was using PCAP itself...

I was just going off of what Anton and Johannes said in regard to
PCAP; it seems to have deviated from the libpcap library, so I have
been unable to test it:

http://lists.infradead.org/pipermail/linux-um/2019-December/002548.html

Anton, do you have the fix for PCAP out yet?

> I seem to remember a minor patch I did to fix a symbol conflict but nothing of note.
> I have not played around with UML_NET_VECTOR since I run the normal networking.
> And I did not find any config info with a quick googling the vector version so I just ignored it.

Nevertheless, VDE still causes the linker to complain.

Cheers

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-01-23 23:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-10 21:21 [PATCH v1] uml: make CONFIG_STATIC_LINK actually static Brendan Higgins
2019-12-11  8:39 ` Geert Uytterhoeven
2020-01-19 21:40   ` Richard Weinberger
     [not found]     ` <c80a1c56a5a543d2a7174e598919164aSN6PR10MB3039E2FB633AC95CF4279B04E2320@SN6PR10MB3039.namprd10.prod.outlook.com>
2020-01-23 23:25       ` 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).