[PATCH] tools/pvhsim: Inherit the tools debug= setting

Andrew Cooper posted 1 patch 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20241022162500.121276-1-andrew.cooper3@citrix.com
tools/firmware/xen-dir/Makefile | 3 +++
1 file changed, 3 insertions(+)
[PATCH] tools/pvhsim: Inherit the tools debug= setting
Posted by Andrew Cooper 1 month ago
Right now, builds of pvshim are non-debug, because of pvshim_defconfig.
However, this means that Gitlab CI testing is less effective than it wants to
be.

Include Rules.mk, and feed the tools-wide debug= setting.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

I don't particualrly like this, because while it ends up getting the
appropriate choice of CONFIG_DEBUG, all other symbols with a default dependent
on CONFIG_DEBUG get their non-debug form.
---
 tools/firmware/xen-dir/Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
index 6f5e208ab413..e19916f76722 100644
--- a/tools/firmware/xen-dir/Makefile
+++ b/tools/firmware/xen-dir/Makefile
@@ -1,4 +1,5 @@
 XEN_ROOT = $(CURDIR)/../../..
+include $(XEN_ROOT)/tools/Rules.mk
 
 all: xen-shim
 
@@ -75,6 +76,8 @@ $(D): linkfarm.stamp
 
 $(D)/xen/.config: $(D)
 	$(MAKE) -C $(@D) KBUILD_DEFCONFIG=pvshim_defconfig defconfig
+	echo "CONFIG_DEBUG=$(if $(debug),y,n)" >> $@
+	$(MAKE) -C $(@D) olddefconfig
 
 xen-shim: $(D)/xen/.config
 	$(MAKE) -C $(<D) build
-- 
2.39.5


Re: [PATCH] tools/pvhsim: Inherit the tools debug= setting
Posted by Anthony PERARD 4 weeks ago
On Tue, Oct 22, 2024 at 05:25:00PM +0100, Andrew Cooper wrote:
> diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
> index 6f5e208ab413..e19916f76722 100644
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -1,4 +1,5 @@
>  XEN_ROOT = $(CURDIR)/../../..
> +include $(XEN_ROOT)/tools/Rules.mk
>  
>  all: xen-shim
>  
> @@ -75,6 +76,8 @@ $(D): linkfarm.stamp
>  
>  $(D)/xen/.config: $(D)
>  	$(MAKE) -C $(@D) KBUILD_DEFCONFIG=pvshim_defconfig defconfig
> +	echo "CONFIG_DEBUG=$(if $(debug),y,n)" >> $@

I don't think this does what you think it does ;-).

In the GitLab CI, we have both "export debug=y" and "export debug=n", in
both case that $(if ) will return 'y' because $(debug) is non-empty.

For one-liner to do this, there's a few option in Make and shell:
    $(if $(filter y,$(debug)),y,n)
    $$([ "$(debug)" = y ] && echo y || echo n)
    $$(case "$(debug)" in y) echo y;; *) echo n;; esac)

For the $(filter ) option, if one does `debug='y no' make` the $(if )
will expand to 'y', but it's probably good enough.

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech