[fpc-devel] ARM Illegal instruction debugging howto

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Nov 30 23:09:09 CET 2009


On 30 Nov 2009, at 22:22, ik wrote:

> It uses ARM EABI version. My latest attempt provides me the following
> executable:
> ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped
> 
> While on "regular" Linux the same file identifier is:
> hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically
> linked, for GNU/Linux 2.4.0, stripped
> 
> A normal executable in OM is:
> ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.24,
> dynamically linked (uses shared libs), stripped
> 
> So how can I look for the proper build of ppcrossarm and normal ppcarm ?

Static or dynamic is unlikely to be related to your problems with illegal instructions. The backtrace you previously posted (with the illegal opcode in sysinitfpu suggests that you are not compiling an EABI compiler, because that one defaults to softfloat. There's another thing I just noticed in your previous mail:

> make OPT='dFPC_ARMEL -dFPC_ABI_EABI -Xd' OS=TARGET=linux CPU_TARGET=arm

That first parameter is missing a dash (-), it should read -dFPC_ARMEL. Without that dash, you will not get an EABI compiler.

You should also not define -dFPC_ABI_EABI yourself. The compiler will define that symbol when the current target is EABI. Defining that symbol while you are not compiling for an EABI platform will only result in an RTL with invalid code.


Jonas


More information about the fpc-devel mailing list