Subject: Problems with latest arm32 kernel
To: None <port-arm32@netbsd.org, current-users@netbsd.org>
From: Richard Earnshaw <rearnsha@arm.com>
List: current-users
Date: 02/27/2001 12:12:08
I've run into a small problem which is fairly certainly due to a problem
in the latest kernels. However, ATM I'm not sure precisely where.
The symptoms:
Kernel 1.5I, userland similar era: gcc-3.0 development sources pass a make
bootstrap.
Kernel 1.5S, userland as above: gcc-3.0 development sources fail a make
bootstrap.
As far as I can tell, the failure is due to 'holes' left by the assembler
at the end of a section in an object file (gas/arm32 pads the .text
section to a 4-word boundary). On older kernels this padding was always
zero, with the new one, it is garbage data from somewhere. There seem to
be several possible causes of this, though I haven't been able to test
many of them:
- The file system is failing to correctly fill small holes left in files
on a seek() with zero.
- The kernel is somehow not always zeroing a page (unlikely, I think we
would see other failures if this were the case). I've run a simple test,
but it didn't fail.
- The hacks I have made to my pmap are screwing up (unlikely, given that
the same hacks are in the older kernel as well, but not impossible).
- A new bug has been introduced somewhere during the current ARM32
upheaval.
There must be other possible causes, but I can't think of any off hand.
Has anyone else seen anything like this?
R