Run armv7 32 bit userspace on aarch64

Shi, Yang yang.shi at
Mon Oct 12 11:41:54 PDT 2015

On 10/12/2015 10:50 AM, Will Deacon wrote:
> On Mon, Oct 12, 2015 at 10:38:25AM -0700, Shi, Yang wrote:
>> BTW, it may be related to unaligned address.
>> init[1]: unhandled level 3 translation fault (11) at 0x43acfad3, esr
>> 0x92000047
>> pgd = ffff80007b8be000
>> [43acfad3] *pgd=00000000fb8c5003, *pud=00000000fb8c1003,
>> *pmd=00000000fb8c2003, *pte=0000000000000000
>> The userspace is trying to write to 0x43acfad3, the permission is
>> readonly.
> What's the instruction making the access? If it's a store-multiple, then

My aarch64 gdb just shows hex code instead of human readable assembly code.

It is 0xe5c02000.

I just checked the ARMv7 manual, it looks like STRB instruction, so we 
can rule this out.

I just figured out it is caused by gcc 5.2 pre-link. It works if I 
disable pre-link. The pre-link issue breaks all armv7 userspace even 
though it is run on armv7 machines.


> we don't support that in the arm64 kernel. It would be nice if the 32-bit
> kernel had the same behaviour, but the patch seems to have stalled and
> probably doesn't apply anymore:
> Will

More information about the linux-arm-kernel mailing list