[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] creating _libxl_list.h is racy



On Thu, 2012-09-06 at 17:39 +0100, Olaf Hering wrote:
> There is apparently a race in creating _libxl_list.h,
> in xen-unstable 25821:19d367bf07b7:
[...]
> [  380s] gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing 
> -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement   
> -D__XEN_TOOLS__ -MMD -MF ._libxl.api-for-check.d  -D_LARGEFILE_SOURCE 
> -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -fmessage-length=0 -O2 
> -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables 
> -fasynchronous-unwind-tables -Werror -Wno-format-zero-length 
> -Wmissing-declarations -Wno-declaration-after-statement -Wformat-nonliteral 
> -I. -fPIC -pthread 
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc 
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
>   
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxl 
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc 
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
>  
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
>  -include 
> /usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/config.h
>   
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/libxc 
> -I/usr/src/packages/BUILD/xen-4.2.25821/non-dbg/tools/libxl/../../tools/include
>    -c -E libxl.h  \
> [  380s] -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
> [  380s] >_libxl.api-for-check.new
> [..]
> [  380s] libxl.h:260:25: fatal error: _libxl_list.h: No such file or directory
> [  380s] compilation terminated.
> [  380s] make[3]: *** [_libxl.api-for-check] Error 1
[...]

I think this is the new api check rule. We have _libxl.api-for-check
which is created by:
_%.api-for-check: %.h
        $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
                -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
                >$@.new
        mv -f $@.new $@

so it depends on libxl.h which includes the autogenerated list stuff.
But there is no depends on _libxl_list.h which is in $(AUTOINCS). Could
fix by adding AUTOINCS here somewhere but is there any reason not to add

libxl.h: $(AUTOINCS)

?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.