[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