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

Arnaud Patard (Rtp) arnaud.patard at rtp-net.org
Fri May 7 15:04:51 UTC 2010


Roger Leigh <rleigh at codelibre.net> writes:

Hi,

> Could the Debian ARM list/porters possibly comment upon this
> bug?  Please could you keep buildd-tools-devel and the bug
> in the CC on any reply.  Thanks.
>
> It's not clear to me why this bug has suddenly appeared, and
> only on armel.  There seem to be a few possibilities:
>
> 1) schroot is using personality(2) incorrectly, but this is
>    only causing breakage on armel because only armel sets
>    some of the high bits outside the range of PER_MASK
> 2) there's an armel-specific bug in the glibc personality
>    wrapper and/or headers
> 3) there's an armel-specific bug in the kernel and/or its
>    headers

I would rather say it's a little bit more complicated than that. From
what I understand :

by default, the personality is PER_LINUX_32BIT on eabi (and PER_LINUX on
oabi [1]), but :

- on arm < v6, there's no xn/nx which means that READ_IMPLIES_EXEC will be
  set. So personality(0xffffffff) gives 0x00c00000
- on arm >= v6, there's xn/nx so READ_IMPLIES_EXEC will not be set and then
  personality(0xffffffff) gives 0x00800000

It was giving 0x00800000  on all systems before because it was
broken. It has been fixed in the kernel with commit :
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9da616fb9946c8d65387052e5a538b8f54ddb292

Arnaud

[1] I can't check on oabi right now but I would be surprised to be wrong
here.





More information about the Buildd-tools-devel mailing list