Subject: Re: StrongARM K bug
To: Nicholas Clark <nick@flirble.org>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 03/29/1999 10:45:40
nick@flirble.org said:
> Is this of direct use to BSD?

I wrote a utility some time ago (which was posted on this list), which is 
generally a better work-around than rogering the compiler.  My utility 
identified just those problem instructions that lay on a page boundary and 
moved them to a safe location in the binary image.  While it was 
theoretically possible for this program's heuristics to make a mistake, 
I've never known it to (however, I no-longer have a Rev-K, so I don't know 
how much other people are using it).

A full "fix" to the compiler would require that you never allow the PC to 
be loaded directly from memory (except via B or BL) -- this will make some 
return instruction sequences really slow, and will also impact pointers to 
functions and table-jumps.

Summary: I still don't think fixing the compiler is the correct way to 
address this bug.

Richard (gcc/arm maintainer).