Subject: Re: -mcpu=strongarm - bug in 1.4.1
To: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
From: Richard Earnshaw <rearnsha@arm.com>
List: port-arm32
Date: 11/23/1999 10:19:40
> On Mon, Nov 22, 1999 at 08:35:44PM +0000, Matthias Scheler wrote:
> > In article <19991122112726.A6937@theory.cs.uni-bonn.de>,
> > 	Ignatios Souvatzis <ignatios@cs.uni-bonn.de> writes:
> > > I forgot that without -mcpu=strongarm, it pretends to compile fine.
> > 
> > I've seen the same problem several times, too. But it was not related
> > to "-mcpu=strongarm" but to "-O" and "-O2".
> 
> well, the strongarm has the signed char b = *(r+n), in addition to the
> unsigned b = *(r+n) that other arms have... so I guess this is why I see it.
> 

Sorry, I've been snowed under with work for the last few days, or I would 
have replied before.

The problem is that the definition of LEGITIMIZE_RELOAD_ADDRESS in arm.h 
is inconsistent with the definition of GO_IF_LEGITIMATE_ADDRESS when 
targeting strongarm (actually, any armv4 chip).  This is fixed in the 
current FSF sources, so I will try to dig out a patch when I have some 
time to spare.

This particular problem is almost certainly not related to the level of 
optimization (ie it can probably occur even at -O0), but the circumstances 
for it doing so will normally be different.

No promises, but send me a reminder if I haven't posted a patch by the end 
of the week.

R.