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