uml: headers are not exportable
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 24 Sep 2022 17:57:26 +0000 (19:57 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 24 Sep 2022 21:52:14 +0000 (23:52 +0200)
When building UML this showed up as of late (2022-09-01):
| Makefile:1335: *** Headers not exportable for UML.  Stop.

This message popped up because of an upstream patch that
fixed this error not showing up sooner. For more information see:
<https://lore.kernel.org/lkml/20220901011252.550830-1-masahiroy@kernel.org/T/>

Now, I don't think we can just skip the kernel headers.
Some userspace applications are going to need these. So,
The next best alternative I can think of, is to go with
the headers by the host arch the UML is compiled for.
(Technically, ARCH= should be safe for all other targets
as well... But let's not poke a hornet's nest)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
include/kernel-defaults.mk

index 2e2139201689fc7a1befb5a5b7794fb5c3e80c35..dcba319a0f239de66496ab77544bfc0e3a639a14 100644 (file)
@@ -117,7 +117,7 @@ define Kernel/Configure/Default
                cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \
                cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \
        }
-       $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(KERNEL_MAKE) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
+       $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(KERNEL_MAKE) $(if $(findstring uml,$(BOARD)),ARCH=$(ARCH)) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
        grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic
 endef