On Tue, Feb 11, 2025 at 06:44:30PM +0900, Masahiro Yamada wrote: > On Wed, Dec 18, 2024 at 8:51 PM Mickaël Salaün <mic@xxxxxxxxxxx> wrote: > > > > It's useful to build samples/* with UML and the only blocker is the > > artificial incompatibility with CONFIG_HEADERS_INSTALL. > > > > Allow the headers_install target with ARCH=um, which then allow building > > samples (and tests using them) with UML too: > > > > printf 'CONFIG_SAMPLES=y\nCONFIG_HEADERS_INSTALL=y\nCONFIG_SAMPLE_LANDLOCK=y\n' >.config > > make ARCH=um olddefconfig headers_install > > make ARCH=um samples/landlock/ > > > > Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx> > > Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > Cc: Nathan Chancellor <nathan@xxxxxxxxxx> > > Cc: Nicolas Schier <nicolas@xxxxxxxxx> > > Cc: Richard Weinberger <richard@xxxxxx> > > Fixes: 1b620d539ccc ("kbuild: disable header exports for UML in a straightforward way") > > Signed-off-by: Mickaël Salaün <mic@xxxxxxxxxxx> > > --- > > Makefile | 1 - > > lib/Kconfig.debug | 1 - > > 2 files changed, 2 deletions(-) > > > > diff --git a/Makefile b/Makefile > > index e5b8a8832c0c..6e2cce16a2a3 100644 > > --- a/Makefile > > +++ b/Makefile > > @@ -1355,7 +1355,6 @@ hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj > > > > PHONY += headers > > headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts > > - $(if $(filter um, $(SRCARCH)), $(error Headers not exportable for UML)) > > $(Q)$(MAKE) $(hdr-inst)=include/uapi > > $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi > > > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index f3d723705879..fac1208f48e4 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -473,7 +473,6 @@ config READABLE_ASM > > > > config HEADERS_INSTALL > > bool "Install uapi headers to usr/include" > > - depends on !UML > > help > > This option will install uapi headers (headers exported to user-space) > > into the usr/include directory for use during the kernel build. > > -- > > 2.47.1 > > > > This patch was not even compile-tested. > > Apply this patch. > Enable CONFIG_HEADERS_INSTALL and CONFIG_UAPI_HEADERS_TEST. > "make ARCH=um" and see the errors. > > The reason is obvious, UML is a kernel. No such userspace. oh, I sorry. I should have seen that when reviewing, but confused myself as I missed the UAPI_HEADERS_TEST and just looked at a "successful" run of 'make headers_install'. Kind regards, Nicolas