[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