Subject: Re: Revision K strongarms ...
To: None <port-arm32@NetBSD.ORG>
From: Adam Gundy <adam@impala.demon.co.uk>
List: port-arm32
Date: 05/12/1998 20:34:18
In message <Marcel-1.45-0511010249-0b0qknr@triton.chu.cam.ac.uk> you wrote:

> On Thu 07 May, I wrote:
> 
> > > The overhead will then be less than the time spent executing LDMs. How
> > > much is that? Probably still acceptable.
> > 
> > Why not simply have a linker option which finds all the affected
> > instructions and replaces them with branches to copies stored at safe
> > locations (or even a separate patching utility which does this).  All the
> > affected instructions are effectively branches, so the patches need not
> > return.
> 
> With the help of Adam Gundy's unsafe-LDM scanner, I have produced a patching
> utility which runs through binaries looking for problem LDMs and LDRs and
> moves them to a safe location.  It can deal with a.out executables and
> shared libraries.
> 
> I have tried it on the 1.3.1 version of cc1 and it now works perfectly --
> before, it was guarenteed to crash on my machine.  I've also patched most of
> my X binaries and all shared libraries.  I've yet to see what effect that
> has on stability, but I haven't had a crash so far.

hmmm. there I was hoping that this LDM/LDR thing was causing my cc1plus
to crash. unfortunately not. I patched it using Chris' little program
(AND libc.so) but no joy.

so then I put my old ARM600 back in the machine - same problem. each
time I run the compiler, it fails in a new and wonderful way...

that narrows it down to a problem with the ARM pmap; perhaps because
I have two SIMMs? (is this still a problem?). It always falls over
when paging like mad (ie 80+ pg/sec). 

anyway, I'm still screwed. hopefully a 32 meg SIMM will help.

Seeya,
 Adam.
-- 
As the year 2000 approaches, the carefully planned Millenium 'bug'
begins to manifest itself in the computing job market...
Real programmers don't comment their code. If it was hard to write, it
should be harder to modify. These are all my own opinions.