[PATCH] adr & adrl instructions for arm-wince-pe target
Dmitry Semyonov
Dmitry.Semyonov@oktet.ru
Mon Dec 15 16:40:00 GMT 2003
Nick,
On Mon, 15 Dec 2003, Nick Clifton wrote:
> > 2003-12-10 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
> >
> > * tc-arm.c (do_adr): Do not adjust pc by -8 if TE_WINCE is defined.
> > (do_adrl): likewise.
>
> This appears to be related to your patch to coff-arm.c.
I believe this fix is necessary regardless of whether my patch to
coff-arm.c is applied or not. The problem only appears with 64 bit
integers. May be it is the only case when gcc produces the 'adr'
pseudo-instruction. So, it was easy to miss the bug.
> I think that
> there is an incompatibility here between WinCE v2.0 and WinCE v3.0
> which is at the root of the problem. Can you investigate to find out
> if this is true ?
What is true? The incompatibility?
I don't know the history of the code and WinCE evolution.
Moreover, I'm using 4.2 version of WinCE.
As I noted in previous message, there are more places with similar fixes
inside tc-arm.c. BTW, it was you who committed the fixes several years
ago. (See diff between 1.32 and 1.33 versions of tc-arm.c, for example).
Unfortunately, currently I don't have enough time to investigate the
better place for the fixes. I can only confirm that rather huge code
base (including various tests for different kinds of integers, etc.) is
compiled with patched arm-wince-pe tools. And it works almost fine after
linking using MS linker into WinCE executable. (Remaining issues that I
have may not be related to gcc/binutils at all).
...Bye..Dmitry.
More information about the Binutils
mailing list