[buildd-tools-devel] Bug#580136: schroot personality build fails on armel

Roger Leigh rleigh at codelibre.net
Mon May 3 21:20:02 UTC 2010


On 03/05/2010 21:01, Riku Voipio wrote:
> Package: schroot
> Severity: serious
> Version: 1.4.2-1
>
> schroot FTBFS's on armel due to:
>
> 1) test: test_personality::test_construction (F) line: 51 ../../../test/sbuild-personality.cc
> assertion failed
> - Expression: p1.get_name() == "linux" || p1.get_name() == "linux_32bit" || p1.get_name() == "linux32"
>
> A quick test on few machines seems to say that:
>
> personality(0xffffffff) returns 0xC00000 on armel.

Looking at the linux include/linux/personality.h, maybe we need to use 
PER_MASK to mask out the high bits.  0xC00000 would imply

   READ_IMPLIES_EXEC | ADDR_LIMIT_32BIT

where 0xC00000 & PER_MASK = PER_LINUX

However, the documentation does not mention the need for masking, and 
the personality macro in the header implies that the high bits are not 
part of the visible personality interface since since they are masked out.

Is it possible the glibc headers and/or syscall wrapper are buggy here, 
or the armel-specific kernel code?  Alternatively, is armel the only 
system to set some of the high bits and this is the first time we've 
tripped up on this?

I'll check the glibc header next.  Some input from a kernel person would 
help here, given the rather sparse documentation!


Regards,
Roger



More information about the Buildd-tools-devel mailing list