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

Re: [Xen-devel] check-headers error in staging



On 07/01/15 13:36, Ian Campbell wrote:
> On Wed, 2015-01-07 at 13:05 +0000, Jan Beulich wrote:
>>>>> On 07.01.15 at 13:45, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> On 07/01/15 12:37, Olaf Hering wrote:
>>>> After upgrade to current staging, my test packages fail to build:
>>>>
>>>> [  289s] + make -j4 -k -C tools/include/xen-foreign
>>>> [  289s] make: Entering directory 
>>> `/usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign'
>>>> [  289s] python mkheader.py arm32 arm32.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/public/arch-arm.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/..
>>> /../../xen/include/public/xen.h
>>>> [  289s] python mkheader.py arm64 arm64.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/public/arch-arm.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/..
>>> /../../xen/include/public/xen.h
>>>> [  289s] python mkheader.py x86_32 x86_32.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/public/arch-x86/xen-x86_32.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/
>>>> [  289s] python mkheader.py x86_64 x86_64.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/public/arch-x86/xen-x86_64.h 
>>> /usr/src/packages/BUILD/xen-4.6.0.30084/non-dbg/tools/include/xen-foreign/../.
>>> ./../xen/include/
>>>> [  289s] python mkchecker.py checker.c arm32 arm64 x86_32 x86_64
>>>> [  289s] gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer 
>>> -fno-strict-aliasing -Wdeclaration-after-statement -o checker checker.c
>>>> [  289s] ./checker > tmp.size
>>>> [  289s] diff -u reference.size tmp.size
>>>> [  289s] --- reference.size     2015-01-07 10:28:57.000000000 +0000
>>>> [  289s] +++ tmp.size   2015-01-07 12:28:33.564911299 +0000
>>>> [  289s] @@ -9,6 +9,6 @@
>>>> [  289s]  arch_vcpu_info            |       0       0      24      16
>>>> [  289s]  vcpu_time_info            |      32      32      32      32
>>>> [  289s]  vcpu_info                 |      48      48      64      64
>>>> [  289s] -arch_shared_info          |       0       0     268     280
>>>> [  289s] -shared_info               |    1088    1088    2584    3368
>>>> [  289s] +arch_shared_info          |       0       0      24      48
>>>> [  289s] +shared_info               |    1088    1088    2340    3136
>>>> [  289s]
>>>> [  289s] make: *** [check-headers] Error 1
>>>>
>>>>
>>>> this was the last successful build:
>>>> xen_hg_changeset Mon Dec 15 17:40:12 2014 +0000 hg: 30046:cefc36150538
>>>>
>>>> this build fails:
>>>> xen_hg_changeset Wed Jan 07 11:28:57 2015 +0100 hg: 30084:88d114af72d8
>>>>
>>>>
>>>> So it looks like something between git commites dcd8486..dd94cac causes 
>>>> this 
>>> failure.
>>>
>>> It will be c/s dac6d3b1a "expand x86 arch_shared_info to support linear
>>> p2m list"
>>>
>>> There is a shrink to the size of arch_shared_info, but was argued and
>>> accepted as safe to do.
>> So it looks like I should revert that one then, as it'll cause an
>> unconditional build failure in the tools part of the build afaict. Plus
>> it's not clear how to properly express the now variable size to the
>> checking logic, i.e. resolving the issue may take some time.
> It's not sufficient just to reinstate the appropriate amount of padding?
>
>

The padding was previously in terms of uint64_t's, whereas the new
amount of padding is $N - (3 * unsigned long) which is arch dependent
and awkward to cleanly express.  We discussed that, as it was the last
field all zeroes anyway, with the backing page also being zeroed,
dropping the padding in its entirety was safe.

~Andrew

_______________________________________________
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®.