Hi Jonas<br><br><br>I tried a very elementary code  on arm-linux-uclibc, compiled using  "ppcrossarm -TLinux -darm ttt3.pas -CfSOFT  -XParm-linux- -XR/cdrom"<br><br>program kuraj;<br>begin<br>writeln('Hooua');<br>
end.<br><br><br>The asm listing using -al is here: - <a href="http://pastebin.com/CG9i0x3z">http://pastebin.com/CG9i0x3z</a><br><br>It dont work in the normal EABI kernel but works on OABI compat one.<br><br>I got ppcrossarm using  :- <br>
 gmake distclean crosszipinstall CPU_TARGET=arm OS_TARGET=linux CROSSOPT='-CfSOFT -darm -dFPC-ARMEL -gl' FPC=/usr/local/lib/fpc/2.5.1/ppc386<br><br><br>warm regards<br><br>Nataraj <br><br><div class="gmail_quote">
On Fri, Aug 20, 2010 at 6:51 PM, Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be">jonas.maebe@elis.ugent.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
On 20 Aug 2010, at 15:00, Nataraj S Narayan wrote:<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
On Fri, Aug 20, 2010 at 2:38 PM, Jonas Maebe <<a href="mailto:jonas.maebe@elis.ugent.be" target="_blank">jonas.maebe@elis.ugent.be</a>>wrote:<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
You probably need the "nostackframe" directive, or remove the "mov pc,lr"<div class="im"><br>
at the end.<br>
<br>
Compile the code with -al, compile equivalent Pascal code with -al and look<br>
at the differences in the generated ".s" files.<br>
</div></blockquote>
<br><div class="im">
I changed the kernel to old 2.6.30 and the code works on the Arm target!<br>
<br>
That kernel  has been compiled with CONFIG_OABI_COMPAT=y. Newer kernels dont<br>
show this option, only EABI.<br>
<br>
Also my ppcrossarm is :-<br>
<br>
Free Pascal Compiler version 2.5.1 [2010/07/28] for arm<br>
Copyright (c) 1993-2009 by Florian Klaempfl<br>
<br>
What do you make of it?<br>
</div></blockquote>
<br>
That you did not reply to the suggestions I made in my previous message. Please say what you did and what happened, even if it didn't work. It's not nice to spend time on trying to help someone, if that person then simply ignores what you write and replies with something completely different.<br>

<br>
The EABI requires that the stack is always aligned to 8 bytes on entry/exit of subroutines, and you probably mess up the alignment with the manually inserted return instruction.<br>
<br>
Also, make sure that you compiled an EABI cross-compiler (ensure that -dFPC_ARMEL is part of the OPT setting of the "make" invocation used to compile FPC).<div><div></div><div class="h5"><br>
<br>
<br>
Jonas<br>
_______________________________________________<br>
fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal" target="_blank">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a><br>
</div></div></blockquote></div><br>