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

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

Roger Leigh <rleigh@codelibre.net> writes:


> 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 :


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

Reply to: