GDC D compiler for PocketPCs is here!

Chad J gamerChad at _spamIsBad_gmail.com
Fri Aug 11 12:59:47 PDT 2006


pedro alves wrote:
> Frits van Bommel wrote:
> 
>> Chad J wrote:
>>
>>> Manfred Hansen wrote:
>>>
>>>>
>>>> Hello,
>>>>
>>>> i have try to compile void main() {}
>>>>
>>>> but i get the following error message:
>>>> hansen at manni-lx:~/dd$ arm-wince-pe-gdc hello_arm.d -o hello_arm
>>>> /tmp/ccx3xcRb.s: Assembler messages:
>>>> /tmp/ccx3xcRb.s:6: Error: junk at end of line, first unrecognized 
>>>> character is `@'
>>>> /tmp/ccx3xcRb.s:7: Error: junk at end of line, first unrecognized 
>>>> character is `@'
>>>> /tmp/ccx3xcRb.s:8: Error: too many memory references for `mov'
>>>> /tmp/ccx3xcRb.s:9: Error: no such instruction: `stmfd 
>>>> sp!,{fp,ip,lr,pc}'
>>>> /tmp/ccx3xcRb.s:10: Error: too many memory references for `sub'
>>>> /tmp/ccx3xcRb.s:11: Error: no such instruction: `bl __gccmain'
>>>> /tmp/ccx3xcRb.s:12: Error: expecting operand after ','; got nothing
>>>> /tmp/ccx3xcRb.s:13: Error: too many memory references for `mov'
>>>> /tmp/ccx3xcRb.s:14: Error: no such instruction: `ldmfd sp,{fp,sp,pc}'
>>>>
>>>> Under debian sarge and under ubuntu 6.0.6 I have copy the 
>>>> arm-wince-pe directory to /usr/local and i have extended
>>>> the PATH Variavble.
>>>>
>>>> Manfred
>>>
>>>
>>> Argh, I can't replicate it, even when I move it my other system.  The 
>>> catch is that I've used both systems to develop this, so maybe there 
>>> is a missing dependency that I don't know about.
>>>
>>> Btw, I compiled and used this on kubuntu 6.0.6.  The other system is 
>>> coLinux running Debian.
>>>
>>> In a while I'll make another coLinux Debian w/ fresh filesystem, and 
>>> see how that goes.
>>>
>>> Those error messages look like the ones I got when the arm-wince-pe 
>>> assembler was given x86 assembly code.
>>
>>
>> Now I'm no cross-compiling expert, but that last statement would back 
>> up my first thought: did you build arm-wince-pe binutils to go with 
>> your arm-wince-pe-gdc? In particular arm-wince-pe-gas?
>> Maybe only on one system (that being the one where it works)?
> 
> 
> That sure looks like it. That is arm assembly on the error log, and '@' 
> is the comment char on arm assembly,
> and it is also the first character the assembler is complaining about.
> 
> Isn't there a gdc -v switch to show what commands are being invoked?
> 
> Cheers,
> Pedro Alves

hehe I was just about to ask for that.

Manfred, try
arm-wince-pe-gdc -v hello_arm.d -o hello_arm
and give us the output.

To answer your question Frits, the binutils come from a cegcc linux 
binary prerelease.  As a result, the binutils were built on a computer 
that is not my own, only the arm-wince-pe-gdc itself (and *-gcc and 
*-g++) were built by me.  They are bundled with the compiler and have 
worked for me.  It looks from the errors like the binutils are working 
fine, they just can't turn x86 assembly into ARM machine code.



More information about the D.gnu mailing list