This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] adr & adrl instructions for arm-wince-pe target
- From: Dmitry Semyonov <Dmitry dot Semyonov at oktet dot ru>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: <binutils at sources dot redhat dot com>, <Richard dot Earnshaw at arm dot com>
- Date: Mon, 15 Dec 2003 19:39:41 +0300 (MSK)
- Subject: Re: [PATCH] adr & adrl instructions for arm-wince-pe target
- Reply-to: <Dmitry dot Semyonov at oktet dot ru>
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.