c/s 4664034cd dropped the $(LIBHEADERSGLOB) dependency for the headers.chk
rule, without replacing it.
As headers.chk uses $^, a typical build looks like:
andrewcoop@andrewcoop:/local/xen.git$ make -C tools/libs/devicemodel/
make: Entering directory '/local/xen.git/tools/libs/devicemodel'
for i in ; do \
gcc -x c -ansi -Wall -Werror
-I/local/xen.git/tools/libs/devicemodel/../../../tools/include \
-S -o /dev/null $i || exit 1; \
echo $i; \
done >headers.chk.new
mv headers.chk.new headers.chk
i.e. with an empty for loop, and checking only the $(AUTOINCS).
Reinsert a $(LIBHEADERS) dependency.
Fixes: 4664034cd ("tools/libs: move official headers to common directory")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Juergen Gross <jgross@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
tools/libs/libs.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
index a68cec244c..2d973ccb95 100644
--- a/tools/libs/libs.mk
+++ b/tools/libs/libs.mk
@@ -76,7 +76,7 @@ else
.PHONY: headers.chk
endif
-headers.chk: $(AUTOINCS)
+headers.chk: $(LIBHEADERS) $(AUTOINCS)
headers.lst: FORCE
@{ set -e; $(foreach h,$(LIBHEADERS),echo $(h);) } > $@.tmp
--
2.11.0
On 05/03/2021 12:49, Andrew Cooper wrote:
> c/s 4664034cd dropped the $(LIBHEADERSGLOB) dependency for the headers.chk
> rule, without replacing it.
>
> As headers.chk uses $^, a typical build looks like:
>
> andrewcoop@andrewcoop:/local/xen.git$ make -C tools/libs/devicemodel/
> make: Entering directory '/local/xen.git/tools/libs/devicemodel'
> for i in ; do \
> gcc -x c -ansi -Wall -Werror
> -I/local/xen.git/tools/libs/devicemodel/../../../tools/include \
> -S -o /dev/null $i || exit 1; \
> echo $i; \
> done >headers.chk.new
> mv headers.chk.new headers.chk
>
> i.e. with an empty for loop, and checking only the $(AUTOINCS).
>
> Reinsert a $(LIBHEADERS) dependency.
>
> Fixes: 4664034cd ("tools/libs: move official headers to common directory")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Juergen Gross <jgross@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
Apologies - I totally messed up the CC list here.
For 4.15. Regression from 4.14, in some build-time checking logic.
~Andrew
> ---
> tools/libs/libs.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/libs/libs.mk b/tools/libs/libs.mk
> index a68cec244c..2d973ccb95 100644
> --- a/tools/libs/libs.mk
> +++ b/tools/libs/libs.mk
> @@ -76,7 +76,7 @@ else
> .PHONY: headers.chk
> endif
>
> -headers.chk: $(AUTOINCS)
> +headers.chk: $(LIBHEADERS) $(AUTOINCS)
>
> headers.lst: FORCE
> @{ set -e; $(foreach h,$(LIBHEADERS),echo $(h);) } > $@.tmp
Andrew Cooper writes ("Re: [PATCH 3/3] tools/libs: Fix headers.chk logic"):
> On 05/03/2021 12:49, Andrew Cooper wrote:
> > c/s 4664034cd dropped the $(LIBHEADERSGLOB) dependency for the headers.chk
> > rule, without replacing it.
> >
> > As headers.chk uses $^, a typical build looks like:
> >
> > andrewcoop@andrewcoop:/local/xen.git$ make -C tools/libs/devicemodel/
> > make: Entering directory '/local/xen.git/tools/libs/devicemodel'
> > for i in ; do \
> > gcc -x c -ansi -Wall -Werror
> > -I/local/xen.git/tools/libs/devicemodel/../../../tools/include \
> > -S -o /dev/null $i || exit 1; \
> > echo $i; \
> > done >headers.chk.new
> > mv headers.chk.new headers.chk
> >
> > i.e. with an empty for loop, and checking only the $(AUTOINCS).
> >
> > Reinsert a $(LIBHEADERS) dependency.
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
On 05.03.21 13:49, Andrew Cooper wrote:
> c/s 4664034cd dropped the $(LIBHEADERSGLOB) dependency for the headers.chk
> rule, without replacing it.
>
> As headers.chk uses $^, a typical build looks like:
>
> andrewcoop@andrewcoop:/local/xen.git$ make -C tools/libs/devicemodel/
> make: Entering directory '/local/xen.git/tools/libs/devicemodel'
> for i in ; do \
> gcc -x c -ansi -Wall -Werror
> -I/local/xen.git/tools/libs/devicemodel/../../../tools/include \
> -S -o /dev/null $i || exit 1; \
> echo $i; \
> done >headers.chk.new
> mv headers.chk.new headers.chk
>
> i.e. with an empty for loop, and checking only the $(AUTOINCS).
>
> Reinsert a $(LIBHEADERS) dependency.
>
> Fixes: 4664034cd ("tools/libs: move official headers to common directory")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Juergen
© 2016 - 2026 Red Hat, Inc.