Subject: Re: Heads Up: Alignment faults enabled on arm32
To: Steve Woodford <firstname.lastname@example.org>
From: Chris Gilbert <email@example.com>
Date: 10/27/2003 10:41:04
On Sat, 25 Oct 2003 20:55:11 +0100
Steve Woodford <firstname.lastname@example.org> wrote:
> I've just enabled alignment faults for arm32. This will catch all
> misaligned loads/stores, which previously silently failed, leading to
> possible data corruption.
> In order to support older a.out binaries (in which gcc made use of
> misaligned accesses for short ints under certain circumstances), the
> kernel will dynamically disable alignment faults just before executing
> a.out userland code, and re-enable them on entry back into the kernel.
> This feature is automatically enabled when both COMPAT_15 and
> EXEC_AOUT are defined.
Just a heads up to anyone building a kernel with alignment faults, make
sure your userland has Steve's fixes to strcmp in libc, from Oct 23rd
21:46, otherwise you find things get SIGBUS. Normally painful things to
miss, eg gcc. Of course this does mean I'd not trust the output of gcc
from -current pre the strcmp fixes.
Note I'm assuming that the strcmp bug is why gcc is failing with SIGBUS,
kernel from before this change gcc works, after gcc doesn't.