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.