On 20 Aug 2010, at 15:00, Nataraj S Narayan wrote:
On Fri, Aug 20, 2010 at 2:38 PM, Jonas Maebe <jonas.ma...@elis.ugent.be >wrote:
You probably need the "nostackframe" directive, or remove the "mov pc,lr"
at the end.

Compile the code with -al, compile equivalent Pascal code with -al and look
at the differences in the generated ".s" files.

I changed the kernel to old 2.6.30 and the code works on the Arm target!

That kernel has been compiled with CONFIG_OABI_COMPAT=y. Newer kernels dont
show this option, only EABI.

Also my ppcrossarm is :-

Free Pascal Compiler version 2.5.1 [2010/07/28] for arm
Copyright (c) 1993-2009 by Florian Klaempfl

What do you make of it?

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.

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.

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).


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to