2023-11-05 10:10:31

by Thomas Weißschuh

[permalink] [raw]
Subject: [PATCH 5/6] selftests/nolibc: extraconfig support

Allow some postprocessing of defconfig files.

Suggested-by: Zhangjin Wu <[email protected]>
Signed-off-by: Thomas Weißschuh <[email protected]>
---
tools/testing/selftests/nolibc/Makefile | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
index f8fea9fa0263..02c074e73a28 100644
--- a/tools/testing/selftests/nolibc/Makefile
+++ b/tools/testing/selftests/nolibc/Makefile
@@ -81,6 +81,8 @@ DEFCONFIG_s390 = defconfig
DEFCONFIG_loongarch = defconfig
DEFCONFIG = $(DEFCONFIG_$(XARCH))

+EXTRACONFIG = $(EXTRACONFIG_$(XARCH))
+
# optional tests to run (default = all)
TEST =

@@ -227,6 +229,10 @@ initramfs: nolibc-test

defconfig:
$(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) mrproper $(DEFCONFIG) prepare
+ $(Q)if [ -n "$(EXTRACONFIG)" ]; then \
+ $(srctree)/scripts/config --file $(objtree)/.config $(EXTRACONFIG); \
+ $(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) oldconfig < /dev/null; \
+ fi

kernel:
$(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) $(IMAGE_NAME)

--
2.42.1


2023-11-05 10:35:58

by Willy Tarreau

[permalink] [raw]
Subject: Re: [PATCH 5/6] selftests/nolibc: extraconfig support

On Sun, Nov 05, 2023 at 11:09:59AM +0100, Thomas Wei?schuh wrote:
> Allow some postprocessing of defconfig files.
>
> Suggested-by: Zhangjin Wu <[email protected]>
> Signed-off-by: Thomas Wei?schuh <[email protected]>
> ---
> tools/testing/selftests/nolibc/Makefile | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> index f8fea9fa0263..02c074e73a28 100644
> --- a/tools/testing/selftests/nolibc/Makefile
> +++ b/tools/testing/selftests/nolibc/Makefile
> @@ -81,6 +81,8 @@ DEFCONFIG_s390 = defconfig
> DEFCONFIG_loongarch = defconfig
> DEFCONFIG = $(DEFCONFIG_$(XARCH))
>
> +EXTRACONFIG = $(EXTRACONFIG_$(XARCH))
> +
> # optional tests to run (default = all)
> TEST =
>
> @@ -227,6 +229,10 @@ initramfs: nolibc-test
>
> defconfig:
> $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) mrproper $(DEFCONFIG) prepare
> + $(Q)if [ -n "$(EXTRACONFIG)" ]; then \
> + $(srctree)/scripts/config --file $(objtree)/.config $(EXTRACONFIG); \
> + $(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) oldconfig < /dev/null; \

You should instead use "olddefconfig" for this. It reuses defconfig but
uses defaults for new questions. I've already experienced issues from
time to time using /dev/null with oldconfig as you did above, with a
process looping forever (probably on a non acceptable choice I guess),
and never met such issues anymore since I switched to olddefconfig
instead.

Willy