Subject: Re: Heads Up: Alignment faults enabled on arm32
To: Steve Woodford <scw@netbsd.org>
From: Chris Gilbert <chris@dokein.co.uk>
List: port-arm
Date: 10/27/2003 10:41:04
On Sat, 25 Oct 2003 20:55:11 +0100
Steve Woodford <scw@netbsd.org> wrote:

> Hi,
> 
> 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.

Cheers,
Chris