Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2005-01

Re: FPC_ARMEL system calls

55 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 18 lines
En/na Luca Olivetti ha escrit: > The following program: > > program hello; > > begin > writeln('hello'); > end. > > > runs but it doesn't print anything, neither under scratchbox nor on > the tablet. I installed strace on the tablet: ~ $ strace ./hello execve("./hello", ["./hello"], [/* 59 vars */]) = 0 syscall: unknown syscall trap 0x00008000

According to here
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3105/4

and here
http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3105/4

the syscall number should be put in r7
Also the alignment of the parameters in the registers is different. Of course I cannot make head or tails of syscall.inc, so it's possible that everything is already done as it should be.

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 22 lines
En/na Luca Olivetti ha escrit: > En/na Luca Olivetti ha escrit: > >> The following program: >> >> program hello; >> >> begin >> writeln('hello'); >> end. >> >> >> runs but it doesn't print anything, neither under scratchbox nor on >> the tablet. > > I installed strace on the tablet: > ~ $ strace ./hello > execve("./hello", ["./hello"], [/* 59 vars */]) = 0 > syscall: unknown syscall trap 0x00008000 According to here http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3105/4

the first link should have been
http://wiki.debian.org/ArmEabiPort#head-96054c6cb4209b4a589e645dd50ac0fe133b8ced

Show quoted text 10 lines
and here http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3105/4 the syscall number should be put in r7 Also the alignment of the parameters in the registers is different. Of course I cannot make head or tails of syscall.inc, so it's possible that everything is already done as it should be. Bye

Reply by email

Luca Olivetti

[Beware, I'm neither an arm expert nor an fpc internals one, that's why I'm asking instead of patching, patching that I wouldn't know how to do anyway].

Due to my (insofar) failed experiment to get an arm-eabi compiler, I took a look at where FPC_ARMEL is used.

FPC_ARMEL is apparently only used in compiler/systems/i_linux.pas and compiler/systems/t_linux.pas.
The latter is the recent change to use the correct dynamic linker, and the former to change the alignment of some structures (required by the eabi specification).
But eabi shouldn't also use a different syscall conversion[*]? Or does it use libc with whatever calling convention it is using (though it doesn't seem the case)?

[*]I think it can use the "old" one, albeit with some performance penalization

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 12 lines
[Beware, I'm neither an arm expert nor an fpc internals one, that's why I'm asking instead of patching, patching that I wouldn't know how to do anyway]. Due to my (insofar) failed experiment to get an arm-eabi compiler, I took a look at where FPC_ARMEL is used. FPC_ARMEL is apparently only used in compiler/systems/i_linux.pas and compiler/systems/t_linux.pas. The latter is the recent change to use the correct dynamic linker, and the former to change the alignment of some structures (required by the eabi specification).

Indeed, i_linux sets e.g. the calling conventions to eabi and this is what the compiler/rtl check further one.

Show quoted text 9 lines
But eabi shouldn't also use a different syscall conversion[*]? Or does it use libc with whatever calling convention it is using (though it doesn't seem the case)? [*]I think it can use the "old" one, albeit with some performance penalization Bye

Reply by email

Luca Olivetti
to Florian Klaempfl

En/na Florian Klaempfl ha escrit:

Show quoted text 6 lines
> The latter is the recent change to use the correct dynamic linker, and > the former to change the alignment of some structures (required by the > eabi specification). Indeed, i_linux sets e.g. the calling conventions to eabi and this is what the compiler/rtl check further one.

Definitely not my day today: I didn't notice the abi field. Sorry for wasting your time.

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 11 lines
En/na Florian Klaempfl ha escrit: >> The latter is the recent change to use the correct dynamic linker, >> and the former to change the alignment of some structures (required >> by the eabi specification). > > Indeed, i_linux sets e.g. the calling conventions to eabi and this is > what the compiler/rtl check further one. Definitely not my day today: I didn't notice the abi field. Sorry for wasting your time.

Well, I'll go on wasting it ;-)

grepping for abi_eabi I found that the different syscall convention is in rtl/linux/arm/syscall.inc, but it is conditioned to FPC_ABI_EABI, not to FPC_ARMEL, so in order to have a fully eabi compliant compiler should I use "-dFPC_ARMEL -dFPC_ABI_EABI"?

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 19 lines
En/na Luca Olivetti ha escrit: > En/na Florian Klaempfl ha escrit: > >>> The latter is the recent change to use the correct dynamic linker, >>> and the former to change the alignment of some structures (required >>> by the eabi specification). >> >> Indeed, i_linux sets e.g. the calling conventions to eabi and this is >> what the compiler/rtl check further one. > > Definitely not my day today: I didn't notice the abi field. > Sorry for wasting your time. Well, I'll go on wasting it ;-) grepping for abi_eabi I found that the different syscall convention is in rtl/linux/arm/syscall.inc, but it is conditioned to FPC_ABI_EABI, not to FPC_ARMEL, so in order to have a fully eabi compliant compiler should I use "-dFPC_ARMEL -dFPC_ABI_EABI"?

The changed abi field in the system info record causes FPC_ABI_EABI being defined. Same for softfloat. -dFPC_ARMEL should be enough and triggering everything else.

Reply by email

Luca Olivetti
to Florian Klaempfl

En/na Florian Klaempfl ha escrit:

Show quoted text 9 lines
> > grepping for abi_eabi I found that the different syscall convention is > in rtl/linux/arm/syscall.inc, but it is conditioned to FPC_ABI_EABI, > not to FPC_ARMEL, so in order to have a fully eabi compliant compiler > should I use "-dFPC_ARMEL -dFPC_ABI_EABI"? The changed abi field in the system info record causes FPC_ABI_EABI being defined. Same for softfloat. -dFPC_ARMEL should be enough and triggering everything else.

I forced -dFPC_ABI_EABI and the generated ppc1 gives an "qemu: uncaught target signal 6" (under scratchbox/qemu) or segfaults under real hardware.

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 14 lines
En/na Florian Klaempfl ha escrit: >> >> grepping for abi_eabi I found that the different syscall convention >> is in rtl/linux/arm/syscall.inc, but it is conditioned to >> FPC_ABI_EABI, not to FPC_ARMEL, so in order to have a fully eabi >> compliant compiler should I use "-dFPC_ARMEL -dFPC_ABI_EABI"? > > The changed abi field in the system info record causes FPC_ABI_EABI > being defined. Same for softfloat. -dFPC_ARMEL should be enough and > triggering everything else. I forced -dFPC_ABI_EABI and the generated ppc1 gives an "qemu: uncaught target signal 6" (under scratchbox/qemu) or segfaults under real hardware.

nevermind, I found where FPC_ABI is defined in compiler/options.pas. However, if I omit the "-CfSOFT" while building the compiler I get this:

/home/luca/fpc-svn/rtl/units/arm-linux/system.s: Assembler messages: /home/luca/fpc-svn/rtl/units/arm-linux/system.s:18046: Error: selected processor does not support `rfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:18049: Error: selected processor does not support `wfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:23962: Error: selected processor does not support `stfd f0,[r11,#-56]'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:23963: Error: selected processor does not support `ldfd f0,[r11,#-56]'

(and much more similar lines)

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 30 lines
En/na Luca Olivetti ha escrit: > En/na Florian Klaempfl ha escrit: > >>> >>> grepping for abi_eabi I found that the different syscall convention >>> is in rtl/linux/arm/syscall.inc, but it is conditioned to >>> FPC_ABI_EABI, not to FPC_ARMEL, so in order to have a fully eabi >>> compliant compiler should I use "-dFPC_ARMEL -dFPC_ABI_EABI"? >> >> The changed abi field in the system info record causes FPC_ABI_EABI >> being defined. Same for softfloat. -dFPC_ARMEL should be enough and >> triggering everything else. > > I forced -dFPC_ABI_EABI and the generated ppc1 gives an "qemu: > uncaught target signal 6" (under scratchbox/qemu) or segfaults under > real hardware. nevermind, I found where FPC_ABI is defined in compiler/options.pas. However, if I omit the "-CfSOFT" while building the compiler I get this: /home/luca/fpc-svn/rtl/units/arm-linux/system.s: Assembler messages: /home/luca/fpc-svn/rtl/units/arm-linux/system.s:18046: Error: selected processor does not support `rfs r0' /home/luca/fpc-svn/rtl/units/arm-linux/system.s:18049: Error: selected processor does not support `wfs r0' /home/luca/fpc-svn/rtl/units/arm-linux/system.s:23962: Error: selected processor does not support `stfd f0,[r11,#-56]' /home/luca/fpc-svn/rtl/units/arm-linux/system.s:23963: Error: selected processor does not support `ldfd f0,[r11,#-56]'

But you used OPT=-dFPC_ARMEL?

Reply by email

Luca Olivetti
to Florian Klaempfl

En/na Florian Klaempfl ha escrit:

Show quoted text 9 lines
Luca Olivetti schrieb: > Florian Klaempfl escribió: > >> >> But you used OPT=-dFPC_ARMEL? > > Yes, I used OPT='-dFPC_ARMEL -dFPC_ABI_EABI -CfSOFT' And then you got the errors about floats?

No, I get that if I omit the -CfSOFT
I simply tried all the permutations ;-)

* with -dFPC_ARMEL -CfSOFT I get the linker error
* with -dFPC_ARMEL -dFPC_ABI_EABI -CfSOFT I get the qemu error/segfault
* with -dFPC_ARMEL I get the assembler error

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 17 lines
En/na Florian Klaempfl ha escrit: > Luca Olivetti schrieb: >> Florian Klaempfl escribió: >> >>> >>> But you used OPT=-dFPC_ARMEL? >> >> Yes, I used OPT='-dFPC_ARMEL -dFPC_ABI_EABI -CfSOFT' > > And then you got the errors about floats? No, I get that if I omit the -CfSOFT I simply tried all the permutations ;-) * with -dFPC_ARMEL -CfSOFT I get the linker error * with -dFPC_ARMEL -dFPC_ABI_EABI -CfSOFT I get the qemu error/segfault * with -dFPC_ARMEL I get the assembler error

This is what needs to be fixed the other two options might be a workaround not usable. You use trunk I suppose?

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 5 lines
En/na Florian Klaempfl ha escrit: > This is what needs to be fixed the other two options might be a > workaround not usable. You use trunk I suppose? Yes

Just updated.

Here are the results:

a) under scratchbox (qemu emulated arm)
(http://maemo.org/development/sdks/maemo_4_chinook_sdk.html) ===============================================================

1) make zipinstall OPT='-dFPC_ARMEL -O-'
---------------------------------------------
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:18046: Error: selected processor does not support `rfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:18049: Error: selected processor does not support `wfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:23962: Error: selected processor does not support `stfd f0,[r11,#-56]'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:23963: Error: selected processor does not support `ldfd f0,[r11,#-56]'
[....]

2) make zipinstall OPT='-dFPC_ARMEL -CfSOFT -O-'
-------------------------------------------------
/home/luca/fpc-svn/compiler/ppc1 -Ur -Xs -O2 -n -Fuarm -Fusystems -Fu/home/luca/fpc-svn/rtl/units/arm-linux -Fiarm -FE. -FUarm/units/arm-linux -dRELEASE -dFPC_ARMEL -CfSOFT -O- -darm -dGDB -dBROWSERLOG pp.pas
/scratchbox/compilers/cs2005q3.2-glibc2.5-arm/bin/sbox-arm-linux-ld:./link.res: file format not recognized; treating as linker script /scratchbox/compilers/cs2005q3.2-glibc2.5-arm/bin/sbox-arm-linux-ld:./link.res:281: syntax error

3) make zipinstall OPT='-dFPC_ARMEL -dFPC_ABI_EABI -CfSOFT -O-' ---------------------------------------------------------------- now it doesn't give "qemu error 6" but it stops at the same point as 2)

b) under real arm hardware (debian/etch *not* armel) $ uname -a
Linux lspro 2.6.12.6-arm1 #2 Mon Jul 23 22:35:39 CEST 2007 armv5tejl GNU/Linux
=======================================================================

1) make zipinstall OPT='-dFPC_ARMEL -O-'
---------------------------------------------------------------- no problem with the assembler but it stops at the linker stage as b.2 and b.3

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 8 lines
En/na Luca Olivetti ha escrit: > En/na Florian Klaempfl ha escrit: >> This is what needs to be fixed the other two options might be a >> workaround not usable. You use trunk I suppose? > > Yes Just updated.

make clean all OS_TARGET=linux CPU_TARGET=arm
BINUTILSPREFIX=armel-linux- OPT=-dFPC_ARMEL FPC=fpc works fine for me, at least it compiles ;)

Reply by email

Luca Olivetti
to Florian Klaempfl

En/na Florian Klaempfl ha escrit:

Show quoted text 13 lines
Luca Olivetti schrieb: > En/na Luca Olivetti ha escrit: >> En/na Florian Klaempfl ha escrit: >>> This is what needs to be fixed the other two options might be a >>> workaround not usable. You use trunk I suppose? >> >> Yes > > Just updated. make clean all OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=armel-linux- OPT=-dFPC_ARMEL FPC=fpc works fine for me, at least it compiles ;)

Yeah, but that's not native :-/

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 16 lines
En/na Florian Klaempfl ha escrit: > Luca Olivetti schrieb: >> En/na Luca Olivetti ha escrit: >>> En/na Florian Klaempfl ha escrit: >>>> This is what needs to be fixed the other two options might be a >>>> workaround not usable. You use trunk I suppose? >>> >>> Yes >> >> Just updated. > > make clean all OS_TARGET=linux CPU_TARGET=arm > BINUTILSPREFIX=armel-linux- OPT=-dFPC_ARMEL FPC=fpc > works fine for me, at least it compiles ;) Yeah, but that's not native :-/

Anyway, could you put the resulting tarball somewhere so I can test it under scratchbox?
(though I'd prefer to solve the problem and build it myself)

Bye

Luca

Reply by email

Florian Klaempfl
to Luca Olivetti: En/na Florian Klaempfl ha escrit: Yeah, but that's not native :-/ Bye Luca
Show quoted text 16 lines
En/na Florian Klaempfl ha escrit: > Luca Olivetti schrieb: >> En/na Luca Olivetti ha escrit: >>> En/na Florian Klaempfl ha escrit: >>>> This is what needs to be fixed the other two options might be a >>>> workaround not usable. You use trunk I suppose? >>> >>> Yes >> >> Just updated. > > make clean all OS_TARGET=linux CPU_TARGET=arm > BINUTILSPREFIX=armel-linux- OPT=-dFPC_ARMEL FPC=fpc > works fine for me, at least it compiles ;) Yeah, but that's not native :-/

How did you get the native start compiler?

Reply by email

Florian Klaempfl
to Luca Olivetti
Show quoted text 11 lines
En/na Florian Klaempfl ha escrit: >>> make clean all OS_TARGET=linux CPU_TARGET=arm >>> BINUTILSPREFIX=armel-linux- OPT=-dFPC_ARMEL FPC=fpc >>> works fine for me, at least it compiles ;) >> >> Yeah, but that's not native :-/ > > How did you get the native start compiler? http://freepascal.org/down/arm/linux.var (it's 2.2.0)

Well, this is the point :) This is not an armel compiler. You need to cross compile one first.

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

Show quoted text 10 lines
En/na Florian Klaempfl ha escrit: >>> How did you get the native start compiler? >> >> http://freepascal.org/down/arm/linux.var (it's 2.2.0) > > Well, this is the point :) This is not an armel compiler. You need to > cross compile one first. Ok, I'll try. Thank you.

I have the previously generated fpc 2.3.1 (non eabi) installed:

[sbox-CHINOOK_ARMEL: ~/fpc-svn] > fpc -iD -iV -iSO -iSP -iTO -iTP 2008/06/01 2.3.1 linux arm linux arm

So now I try with (omitting BINUTILSPREFIX and with BINUTILSPREFIX set as below, it doesn't matter since under scratchbox they're the same):

make clean all OS_TARGET=linux CPU_TARGET=arm
BINUTILSPREFIX=arm-linux-gnueabi- OPT=-dFPC_ARMEL FPC=fpc

/home/luca/fpc-svn/rtl/units/arm-linux/system.s: Assembler messages: /home/luca/fpc-svn/rtl/units/arm-linux/system.s:15378: Error: selected processor does not support `rfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:15381: Error: selected processor does not support `wfs r0'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:19324: Error: selected processor does not support `stfd f0,[r13]'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:19325: Error: selected processor does not support `ldfd f0,[r13]'
/home/luca/fpc-svn/rtl/units/arm-linux/system.s:19329: Error: selected processor does not support `ldfd f0,[r0]'
[....]

Try again with:
make clean all OS_TARGET=linux CPU_TARGET=arm OPT='-dFPC_ARMEL -CfSOFT' FPC=fpc
but ppc1 hangs while compiling system.pp (deja-vu)

Try again with:
make clean all OS_TARGET=linux CPU_TARGET=arm OPT='-dFPC_ARMEL -CfSOFT -O-' FPC=fpc

/home/luca/fpc-svn/compiler/ppc1 -Ur -Xs -O2 -n -Fuarm -Fusystems -Fu/home/luca/fpc-svn/rtl/units/arm-linux -Fiarm -FE. -FUarm/units/arm-linux -dRELEASE -dFPC_ARMEL -CfSOFT -O- -darm -dGDB -dBROWSERLOG pp.pas
/scratchbox/compilers/cs2005q3.2-glibc2.5-arm/bin/sbox-arm-linux-ld:./link.res: file format not recognized; treating as linker script /scratchbox/compilers/cs2005q3.2-glibc2.5-arm/bin/sbox-arm-linux-ld:./link.res:281: syntax error

(another deja-vu)

Bye

Luca

Reply by email

Henry Vermaak
to Luca Olivetti

2008/6/2 Luca Olivetti :

Show quoted text 18 lines
En/na Luca Olivetti ha escrit: > > En/na Florian Klaempfl ha escrit: > >>>> How did you get the native start compiler? >>> >>> http://freepascal.org/down/arm/linux.var (it's 2.2.0) >> >> Well, this is the point :) This is not an armel compiler. You need to >> cross compile one first. > > Ok, I'll try. Thank you. I have the previously generated fpc 2.3.1 (non eabi) installed: [sbox-CHINOOK_ARMEL: ~/fpc-svn] > fpc -iD -iV -iSO -iSP -iTO -iTP 2008/06/01 2.3.1 linux arm linux arm

i think what florian means is that you have to use an eabi ppcarm as a starting compiler if you'd like to compile fpc in your scratchbox. so you'll have to create one by cross compiling from i386 or whatever arch you're using.

so you'll have to make compiler_cycle CPU_TARGET=arm OPT="-dFPC_ARMEL" bla bla bla, then copy the ppcarm to somewhere your scratchbox can see it, then specify it as the starting compiler with make blablabla FPC=/path/to/ppcarm

henry

Reply by email

Luca Olivetti
to Henry Vermaak

En/na Henry Vermaak ha escrit:

Show quoted text 9 lines
i think what florian means is that you have to use an eabi ppcarm as a starting compiler if you'd like to compile fpc in your scratchbox. so you'll have to create one by cross compiling from i386 or whatever arch you're using. so you'll have to make compiler_cycle CPU_TARGET=arm OPT="-dFPC_ARMEL" bla bla bla, then copy the ppcarm to somewhere your scratchbox can see it, then specify it as the starting compiler with make blablabla FPC=/path/to/ppcarm

Yeah, I thought that I could cross-compile from arm to armel, but now I'm currently building the gnu crossbinutils to do that from (the codesourcery ones I have give a linker error), but I suspect I'll end up with the same linker error down the road.

Bye

Luca

Reply by email

Henry Vermaak
to Luca Olivetti

2008/6/2 Luca Olivetti :

Show quoted text 6 lines
Yeah, I thought that I could cross-compile from arm to armel, but now I'm currently building the gnu crossbinutils to do that from (the codesourcery ones I have give a linker error), but I suspect I'll end up with the same linker error down the road.

i can confirm this works with binutils 2.18 and fpc trunk. all cross compiled on i686.

./compiler/ppcrossarm -i
Free Pascal Compiler version 2.3.1

Compiler Date : 2008/06/02
Compiler CPU Target: arm

Supported targets:
Linux for ARMEL
...
...
...

whether it works or not is another story :)

henry

Reply by email

Luca Olivetti
to Luca Olivetti: En/na Henry Vermaak ha escrit: Yeah, I thought that I could cross-compile from arm to…

En/na Luca Olivetti ha escrit:

Show quoted text 16 lines
En/na Henry Vermaak ha escrit: > i think what florian means is that you have to use an eabi ppcarm as a > starting compiler if you'd like to compile fpc in your scratchbox. so > you'll have to create one by cross compiling from i386 or whatever > arch you're using. > > so you'll have to make compiler_cycle CPU_TARGET=arm OPT="-dFPC_ARMEL" > bla bla bla, then copy the ppcarm to somewhere your scratchbox can see > it, then specify it as the starting compiler with make blablabla > FPC=/path/to/ppcarm Yeah, I thought that I could cross-compile from arm to armel, but now I'm currently building the gnu crossbinutils to do that from (the codesourcery ones I have give a linker error), but I suspect I'll end up with the same linker error down the road.

Not quite.

I created the binutils

wget http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2 tar xvjf binutils-2.18.tar.bz2
cd binutils-2.18
./configure --prefix=/home/luca/crossbinutils --target=armel-linux make
make install

I created a ppcarm with compiler cycle:
make clean compiler_cycle OS_TARGET=linux CPU_TARGET=arm BINUTILSPREFIX=/home/luca/crossbinutils/bin/armel-linux- OPT=-dFPC_ARMEL FPC=/scratchbox/users/luca/home/luca/fpc/lib/fpc/2.3.1/ppc386

But the resulting ppcarm doesn't work under scratchbox:

[sbox-CHINOOK_ARMEL: ~/fpc-svn] > make clean zipinstall OPT=-dFPC_ARMEL FPC=./ppcarm
qemu: uncaught target signal 6 (Aborted) - exiting qemu: uncaught target signal 6 (Aborted) - exiting qemu: uncaught target signal 6 (Aborted) - exiting qemu: uncaught target signal 6 (Aborted) - exiting qemu: uncaught target signal 6 (Aborted) - exiting Makefile:199: *** The Makefile doesn't support target syscall-Error:, please run fpcmake first. Stop.
[sbox-CHINOOK_ARMEL: ~/fpc-svn] > ./ppcarm
Error: unimplemented syscall 90004c
qemu: uncaught target signal 6 (Aborted) - exiting

If I try to run in in the tablet:
~ $ ./ppcarm
Illegal instruction

I guess I'll stick to i386 for a while ;-)

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti

En/na Luca Olivetti ha escrit:

I guess I'll stick to i386 for a while ;-)

I really think I should. I created a full cross compiler just like Florian :-D
I compiled a simple hello world and it doesn't run (like the compiler):

sbox-CHINOOK_ARMEL: ~] > fpc-svn/hello
Error: unimplemented syscall 90004c
qemu: uncaught target signal 6 (Aborted) - exiting

tablet:
~ $ ./hello
Illegal instruction

Bye

Luca

Reply by email

Henry Vermaak
to Luca Olivetti

2008/6/2 Luca Olivetti :

Show quoted text 17 lines
En/na Luca Olivetti ha escrit: > I guess I'll stick to i386 for a while ;-) I really think I should. I created a full cross compiler just like Florian :-D I compiled a simple hello world and it doesn't run (like the compiler): sbox-CHINOOK_ARMEL: ~] > fpc-svn/hello Error: unimplemented syscall 90004c qemu: uncaught target signal 6 (Aborted) - exiting tablet: ~ $ ./hello Illegal instruction

more info (everything compiled with -dFPC_ARMEL -O- -gl):

qemu-arm armtest
Error: Bad syscall: 90004c
qemu: unhandled CPU exception 0x2 - aborting
R00=ffffffda R01=4007f750 R02=4007f758 R03=00000000 R04=00018ed0 R05=00000000 R06=00000000 R07=0090004c R08=00000000 R09=00000000 R10=00023000 R11=4007f73c R12=4007f740 R13=4007f6fc R14=0000c798 R15=0000c200 PSR=60000010 -ZC- A usr32
s00=00000000( 0) s01=00000000( 0) d00=0000000000000000( 0) s02=00000000( 0) s03=00000000( 0) d01=0000000000000000( 0) s04=00000000( 0) s05=00000000( 0) d02=0000000000000000( 0) s06=00000000( 0) s07=00000000( 0) d03=0000000000000000( 0) s08=00000000( 0) s09=00000000( 0) d04=0000000000000000( 0) s10=00000000( 0) s11=00000000( 0) d05=0000000000000000( 0) s12=00000000( 0) s13=00000000( 0) d06=0000000000000000( 0) s14=00000000( 0) s15=00000000( 0) d07=0000000000000000( 0) s16=00000000( 0) s17=00000000( 0) d08=0000000000000000( 0) s18=00000000( 0) s19=00000000( 0) d09=0000000000000000( 0) s20=00000000( 0) s21=00000000( 0) d10=0000000000000000( 0) s22=00000000( 0) s23=00000000( 0) d11=0000000000000000( 0) s24=00000000( 0) s25=00000000( 0) d12=0000000000000000( 0) s26=00000000( 0) s27=00000000( 0) d13=0000000000000000( 0) s28=00000000( 0) s29=00000000( 0) d14=0000000000000000( 0) s30=00000000( 0) s31=00000000( 0) d15=0000000000000000( 0) FPSCR: 00000000
qemu: uncaught target signal 6 (Aborted) - exiting

henry

Reply by email

Henry Vermaak
to Henry Vermaak

2008/6/3 Henry Vermaak :

Show quoted text 30 lines
more info (everything compiled with -dFPC_ARMEL -O- -gl): qemu-arm armtest Error: Bad syscall: 90004c qemu: unhandled CPU exception 0x2 - aborting R00=ffffffda R01=4007f750 R02=4007f758 R03=00000000 R04=00018ed0 R05=00000000 R06=00000000 R07=0090004c R08=00000000 R09=00000000 R10=00023000 R11=4007f73c R12=4007f740 R13=4007f6fc R14=0000c798 R15=0000c200 PSR=60000010 -ZC- A usr32 s00=00000000( 0) s01=00000000( 0) d00=0000000000000000( 0) s02=00000000( 0) s03=00000000( 0) d01=0000000000000000( 0) s04=00000000( 0) s05=00000000( 0) d02=0000000000000000( 0) s06=00000000( 0) s07=00000000( 0) d03=0000000000000000( 0) s08=00000000( 0) s09=00000000( 0) d04=0000000000000000( 0) s10=00000000( 0) s11=00000000( 0) d05=0000000000000000( 0) s12=00000000( 0) s13=00000000( 0) d06=0000000000000000( 0) s14=00000000( 0) s15=00000000( 0) d07=0000000000000000( 0) s16=00000000( 0) s17=00000000( 0) d08=0000000000000000( 0) s18=00000000( 0) s19=00000000( 0) d09=0000000000000000( 0) s20=00000000( 0) s21=00000000( 0) d10=0000000000000000( 0) s22=00000000( 0) s23=00000000( 0) d11=0000000000000000( 0) s24=00000000( 0) s25=00000000( 0) d12=0000000000000000( 0) s26=00000000( 0) s27=00000000( 0) d13=0000000000000000( 0) s28=00000000( 0) s29=00000000( 0) d14=0000000000000000( 0) s30=00000000( 0) s31=00000000( 0) d15=0000000000000000( 0) FPSCR: 00000000 qemu: uncaught target signal 6 (Aborted) - exiting

note, this only happens with FPC_ARMEL defined. -CfSOFT still works under qemu and my nslu2 (last time i checked).

henry

Reply by email

Henry Vermaak
to Henry Vermaak

2008/6/3 Henry Vermaak :

Show quoted text 9 lines
2008/6/3 Henry Vermaak : > > more info (everything compiled with -dFPC_ARMEL -O- -gl): > > qemu-arm armtest > Error: Bad syscall: 90004c > qemu: unhandled CPU exception 0x2 - aborting > R00=ffffffda R01=4007f750 R02=4007f758 R03=00000000 > R04=00018ed0 R05=00000000 R06=00000000 R07=0090004c

ah, it shouldn't add the base number. this might fix it:

Index: sysnr.inc
=================================================================== --- sysnr.inc (revision 11178)
+++ sysnr.inc (working copy)
@@ -21,7 +21,11 @@
}

 Const
+{$ifdef FPC_ABI_EABI}
+  syscall_nr_base = $0;
+{$else FPC_ABI_EABI}
   syscall_nr_base = $900000;
+{$endif FPC_ABI_EABI}

but i'll confirm in a while.

henry

Reply by email

Henry Vermaak
to Henry Vermaak

2008/6/3 Henry Vermaak :

Show quoted text 29 lines
2008/6/3 Henry Vermaak : > 2008/6/3 Henry Vermaak : >> >> more info (everything compiled with -dFPC_ARMEL -O- -gl): >> >> qemu-arm armtest >> Error: Bad syscall: 90004c >> qemu: unhandled CPU exception 0x2 - aborting >> R00=ffffffda R01=4007f750 R02=4007f758 R03=00000000 >> R04=00018ed0 R05=00000000 R06=00000000 R07=0090004c ah, it shouldn't add the base number. this might fix it: Index: sysnr.inc =================================================================== --- sysnr.inc (revision 11178) +++ sysnr.inc (working copy) @@ -21,7 +21,11 @@ } Const +{$ifdef FPC_ABI_EABI} + syscall_nr_base = $0; +{$else FPC_ABI_EABI} syscall_nr_base = $900000; +{$endif FPC_ABI_EABI} but i'll confirm in a while.

yes, this works for me. luca, can you try?

henry

Reply by email

Florian Klaempfl
to Henry Vermaak
Show quoted text 11 lines
> Const > +{$ifdef FPC_ABI_EABI} > + syscall_nr_base = $0; > +{$else FPC_ABI_EABI} > syscall_nr_base = $900000; > +{$endif FPC_ABI_EABI} > > but i'll confirm in a while. > yes, this works for me.

Fixed in svn.

Reply by email

Luca Olivetti
to Henry Vermaak: 2008/6/3 Henry Vermaak : yes, this works for me. luca, can you try?

En/na Henry Vermaak ha escrit:

Show quoted text 30 lines
2008/6/3 Henry Vermaak : > 2008/6/3 Henry Vermaak : >> 2008/6/3 Henry Vermaak : >>> more info (everything compiled with -dFPC_ARMEL -O- -gl): >>> >>> qemu-arm armtest >>> Error: Bad syscall: 90004c >>> qemu: unhandled CPU exception 0x2 - aborting >>> R00=ffffffda R01=4007f750 R02=4007f758 R03=00000000 >>> R04=00018ed0 R05=00000000 R06=00000000 R07=0090004c > ah, it shouldn't add the base number. this might fix it: > > Index: sysnr.inc > =================================================================== > --- sysnr.inc (revision 11178) > +++ sysnr.inc (working copy) > @@ -21,7 +21,11 @@ > } > > Const > +{$ifdef FPC_ABI_EABI} > + syscall_nr_base = $0; > +{$else FPC_ABI_EABI} > syscall_nr_base = $900000; > +{$endif FPC_ABI_EABI} > > but i'll confirm in a while. > yes, this works for me. luca, can you try?

The following program:

program hello;
begin
writeln('hello');
end.

runs but it doesn't print anything, neither under scratchbox nor on the tablet.

I'm trying to cross-compile the gtk2 example but it seems the compiler is ignoring -Xd and -Xr:

fpc-svn]$ compiler/ppcrossarm
-Fupackages/gtk2/units/arm-linux/ -Xd
-Xr/scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/ packages/gtk2/examples/helloworld/helloworld.pas
Free Pascal Compiler version 2.3.1 [2008/06/03] for arm Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for ARMEL
Compiling packages/gtk2/examples/helloworld/helloworld.pas Assembling helloworld
Linking packages/gtk2/examples/helloworld/helloworld /home/luca/crossbinutils/bin/armel-linux-ld: skipping incompatible /usr/lib/libgobject-2.0.so when searching for -lgobject-2.0 /home/luca/crossbinutils/bin/armel-linux-ld: skipping incompatible /usr/lib/libgobject-2.0.a when searching for -lgobject-2.0 /home/luca/crossbinutils/bin/armel-linux-ld: cannot find -lgobject-2.0 helloworld.pas(73,49) Error: Error while linking
helloworld.pas(73,49) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted
fpc-svn]$ ls
/scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject* /scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject-2.0.a /scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject-2.0.la /scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject-2.0.so@ /scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject-2.0.so.0@ /scratchbox/users/luca/targets/CHINOOK_ARMEL/usr/lib/libgobject-2.0.so.0.1200.12

Bye

Luca

Reply by email

Henry Vermaak
to Luca Olivetti: En/na Luca Olivetti ha escrit: According to here…

2008/6/3 Luca Olivetti :

Show quoted text 5 lines
the syscall number should be put in r7 Also the alignment of the parameters in the registers is different. Of course I cannot make head or tails of syscall.inc, so it's possible that everything is already done as it should be.

mov r7, r0 puts the syscall nr into r7. i haven't looked at the alignment, though :-\

"With EABI, 64-bit function parameters passed in registers are aligned to an even-numbered register instead of using the next available pair."

what output does:

qemu-arm -strace hello

give? (run on your i386 after cross-compiling)

did you compile this with the 2.18 binutils? my qemu-arm is happy with my simple hello program. even does writeln(2/3) properly.

henry

Reply by email

Nataraj S Narayan
to Henry Vermaak

Hi Henry, Luca

I got a 'ppcarm' after compiling the fpc-svn. I copied the pparm to the qemu-system-arm emulated machine and tried to compile a Helloworld.pas. fpc showed some errors related to FPU and stopped. Then i copied many *.o and *.ppu files from host to qemu machine. This time fpc compiled and linked the crt0.o and system.o and few other file, and the program worked.

But when i copied to the actual target AT91SAM9263 , it wont work - just waits endlessly.

strace in the target gives:-

syscall(0x90004c,0x3,0xbebd6de8,0xbebd6df0,0x40000) = -1 EINTR (Interrupted system call)

And finally a bad file descriptor. Exit(0).

The architecture is "armvtejl" in both target as well as the emulated machine.

I tried generating assembler files in emulated and the assembling in the target. But getting same.

What could be done now?

regards

Nataraj

Henry Vermaak wrote 29 lines
2008/6/3 Luca Olivetti > > the syscall number should be put in r7 > Also the alignment of the parameters in the registers is different. > Of course I cannot make head or tails of syscall.inc, so it's possible that > everything is already done as it should be. mov r7, r0 puts the syscall nr into r7. i haven't looked at the alignment, though :-\ "With EABI, 64-bit function parameters passed in registers are aligned to an even-numbered register instead of using the next available pair." what output does: qemu-arm -strace hello give? (run on your i386 after cross-compiling) did you compile this with the 2.18 binutils? my qemu-arm is happy with my simple hello program. even does writeln(2/3) properly. henry _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Luca Olivetti
to Henry Vermaak: 2008/6/3 Luca Olivetti : mov r7, r0 puts the syscall nr into r7. i haven't looked at the…

En/na Henry Vermaak ha escrit:

what output does: qemu-arm -strace hello

mmmmh, my qemu-arm doesn't have a -strace option:

$ devkits/cputransp/bin/qemu-arm-cvs -strace
users/luca/home/luca/fpc-svn/hello
qemu-arm version 0.9.0, Copyright (c) 2003-2007 Fabrice Bellard usage: qemu-arm [-h] [-g] [-d opts] [-L path] [-s size] [-cpu model] program [arguments...]
Linux CPU emulator (compiled for arm emulation)

-h print this help
-g port wait gdb connection to port
-L path set the elf interpreter prefix
(default=/usr/gnemul/qemu-arm)
-s size set the stack size in bytes (default=524288) -cpu model select CPU (-cpu ? for list)
-drop-ld-preload drop LD_PRELOAD for target process

debug options:
-d options activate log (logfile=/tmp/qemu.log)
-p pagesize set the host page size to 'pagesize'

give? (run on your i386 after cross-compiling) did you compile this with the 2.18 binutils?

Yes.
Could you send me your compiled hello program?

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti: En/na Henry Vermaak ha escrit: The following program: program hello; begin…

En/na Luca Olivetti ha escrit:

runs but it doesn't print anything, neither under scratchbox nor on the tablet.

Thanks to Henry Vermaak I rebuilt the cross compiler with -O- and now it prints "hello" :-)

I'm trying to cross-compile the gtk2 example but it seems the compiler is ignoring -Xd and -Xr:

Well, the compiler it's passing as -rpath what I put in -Xr but the linker is ignoring it (at least it seems so).

Anyway, I tried passing -k'L
/path/where/I/copied/all/the/target/libraries' and it's progressing (it isn't finding some libraries that are there, like libc) but I see a bunch of messages like these:

/home/luca/crossbinutils/bin/armel-linux-ld: ERROR: Source object /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libgobject-2.0.so has EABI version 4, but target packages/gtk2/examples/helloworld/helloworld has EABI version 0
/home/luca/crossbinutils/bin/armel-linux-ld: failed to merge target specific data of file
/scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libgobject-2.0.so /home/luca/crossbinutils/bin/armel-linux-ld: ERROR: Source object /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libglib-2.0.so has EABI version 4, but target packages/gtk2/examples/helloworld/helloworld has EABI version 0
/home/luca/crossbinutils/bin/armel-linux-ld: failed to merge target specific data of file
/scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libglib-2.0.so

Bye

Luca

Reply by email

Nataraj S Narayan
to Luca Olivetti

Hi Luca

Please give me the full command used for cross compiling with all the options.

Is it "-O-" or just "-O"?

I am able to run the ppcarm which was generated by cross compiling, on the qemu system, and am able to compile and run a siple writeln app. But when copying and executing to the ARM board it justs hangs till i CRTL-C. regards

Nataraj

Luca Olivetti wrote 46 lines
En/na Luca Olivetti ha escrit: runs but it doesn't print anything, neither under scratchbox nor on the > tablet. > Thanks to Henry Vermaak I rebuilt the cross compiler with -O- and now it prints "hello" :-) > I'm trying to cross-compile the gtk2 example but it seems the compiler is > ignoring -Xd and -Xr: > Well, the compiler it's passing as -rpath what I put in -Xr but the linker is ignoring it (at least it seems so). Anyway, I tried passing -k'L /path/where/I/copied/all/the/target/libraries' and it's progressing (it isn't finding some libraries that are there, like libc) but I see a bunch of messages like these: /home/luca/crossbinutils/bin/armel-linux-ld: ERROR: Source object /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libgobject-2.0.so has EABI version 4, but target packages/gtk2/examples/helloworld/helloworld has EABI version 0 /home/luca/crossbinutils/bin/armel-linux-ld: failed to merge target specific data of file /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/ libgobject-2.0.so /home/luca/crossbinutils/bin/armel-linux-ld: ERROR: Source object /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libglib-2.0.so has EABI version 4, but target packages/gtk2/examples/helloworld/helloworld has EABI version 0 /home/luca/crossbinutils/bin/armel-linux-ld: failed to merge target specific data of file /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/ libglib-2.0.so Bye -- Luca _______________________________________________ fpc-pascal maillist - http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply by email

Henry Vermaak
to Nataraj S Narayan: Hi Henry, Luca I got a 'ppcarm' after compiling the fpc-svn. I copied the pparm to the…

2008/6/4 Nataraj S Narayan :

Show quoted text 16 lines
Hi Henry, Luca I got a 'ppcarm' after compiling the fpc-svn. I copied the pparm to the qemu-system-arm emulated machine and tried to compile a Helloworld.pas. fpc showed some errors related to FPU and stopped. Then i copied many *.o and *.ppu files from host to qemu machine. This time fpc compiled and linked the crt0.o and system.o and few other file, and the program worked. But when i copied to the actual target AT91SAM9263 , it wont work - just waits endlessly. strace in the target gives:- syscall(0x90004c,0x3,0xbebd6de8,0xbebd6df0,0x40000) = -1 EINTR (Interrupted system call)

the syscall number is wrong. this has been fixed in trunk, so you've either copied the wrong files over, or you need to update and rebuild fpc.

why don't you just cross-compile your program?

henry

Reply by email

Luca Olivetti
to Nataraj S Narayan: Hi Luca Please give me the full command used for cross compiling with all the options.…
Nataraj S Narayan wrote 6 lines
Hi Luca Please give me the full command used for cross compiling with all the options. Is it "-O-" or just "-O"?

It is "-O-", i.e. turn off optimizations. If you update from svn you shouldn't need that.

As per the full command, it's somewhere in one of my previous messages, however the paths are specific to my installation, so you're probably better off using the script that Henry sent you on the lazarus mailing list.

Bye

Luca

Reply by email

Henry Vermaak
to Luca Olivetti

2008/6/5 Luca Olivetti :

Show quoted text 7 lines
Henry Vermaak escribió: > why don't you just cross-compile your program? because it's too darn difficult? (not that native compiling is an easy walk....but see my problems trying to cross-compile the gtk2 hello program)

my best (and uneducated) guess would be that fpc doesn't set the correct version/flags. i don't know where this happens, so someone else will have to try and fix. it doesn't look like it's in link.res (or maybe it should be).

native compiling won't make a difference, since you should link to the same libraries.

in the past i've managed to get around such problems by using ld options, but i can't think of an option that ignores the version of the abi.

henry

Reply by email

Luca Olivetti
to Henry Vermaak
Henry Vermaak wrote
native compiling won't make a difference, since you should link to the same libraries.

Surely you're right, but native compiling wouldn't left me wondering if the problems are due to the bleeding edge compiler or to some quirk in the crossbinutils[*] or the libraries' paths

[*]e.g. why is the linker ignoring the parameters that fpc passes it when I specify -Xd and -Xr[**]

[**]in fact I could be doing it all wrong: I don't know how the linker actually works or which parameters it needs, I just like it that fpc automagically makes it work, at least when compiling natively.

Bye

Luca

Reply by email

Luca Olivetti
to Florian Klaempfl: I've fixed some stuff, so it should work with -O2 as well.
I've fixed some stuff, so it should work with -O2 as well.

This time is the oabi compiler that fails (natively compiled on real arm hardware).
I tried both starting with 2.2.0 and with a 2.3.1 one made with -O-:

/mnt/disk1/maemo/users/luca/home/luca/fpc-svn/compiler/ppc1 -Ur -Ur -Xs -O2 -n -Fi../inc -Fi../arm -Fi../unix -Fiarm -FE. -FU/mnt/disk1/maemo/users/luca/home/luca/fpc-svn/rtl/units/arm-linux -darm -dRELEASE ../objpas/math.pp Fatal: Compilation aborted
An unhandled exception occurred at $00085A1C :
EAccessViolation : Access violation
$00085A1C

make[7]: *** [math.ppu] Error 217

Bye

Luca

Reply by email

Luca Olivetti
to Luca Olivetti: En/na Luca Olivetti ha escrit: Thanks to Henry Vermaak I rebuilt the cross compiler with…
Show quoted text 11 lines
Anyway, I tried passing -k'L /path/where/I/copied/all/the/target/libraries' and it's progressing (it isn't finding some libraries that are there, like libc) but I see a bunch of messages like these: /home/luca/crossbinutils/bin/armel-linux-ld: ERROR: Source object /scratchbox/users/luca/targets/CHINOOK_ARMEL/pippo/libgobject-2.0.so has EABI version 4, but target packages/gtk2/examples/helloworld/helloworld has EABI version 0 /home/luca/crossbinutils/bin/armel-linux-ld: failed to merge target specific data of file

Any news on this issue?

Bye

Luca

Reply by email

Nataraj S Narayan

Hi

I get the following strace out put when executing a fpc cross compiled binary using ppcrossarm (generated from latest fpc svn using following script :-

#!/bin/bash

ALLOPTS="CPU_TARGET=arm OS_TARGET=linux BINUTILSPREFIX=arm-linux- CROSSBINDIR=/home/nataraj/arm-2008q1/bin FPC=/usr/local/bin/ppc386 INSTALL_PREFIX=/usr"

make clean crossall $ALLOPTS OPT="-dFPC_ARMEL" && \ sudo make -k crossinstall $ALLOPTS OPT="-dFPC_ARMEL"

strace ./kam
execve("./kam", ["./kam"], [/* 11 vars */]) = 0
syscall(0x90004c, 0x3, 0xbe809de8, 0xbe809df0, 0x40000) = -1 EINTR (Interrupted system call)
syscall(0x9000ae, 0x8, 0x18da4, 0, 0x8) = -1 EINTR (Interrupted system call) syscall(0x9000ae, 0xb, 0x18da4, 0, 0x8) = -1 EINTR (Interrupted system call) syscall(0x9000ae, 0x7, 0x18da4, 0, 0x8) = -1 EINTR (Interrupted system call) syscall(0x9000ae, 0x4, 0x18da4, 0, 0x8) = -1 EINTR (Interrupted system call) syscall(0x900036, 0x1, 0x5401, 0xbe809cac, 0x17348) = -1 EINTR (Interrupted system call)
syscall(0x900036, 0x2, 0x5401, 0xbe809cac, 0x170f4) = -1 EINTR (Interrupted system call)
syscall(0x900036, 0x1, 0x5401, 0xbe809cac, 0x177f0) = -1 EINTR (Interrupted system call)
syscall(0x900036, 0x2, 0x5401, 0xbe809cac, 0x17a44) = -1 EINTR (Interrupted system call)
syscall(0x900055, 0xe494, 0x18ca5, 0xff, 0xbe7c9e54) = -1 EINTR (Interrupted system call)
syscall(0x900004, 0x1, 0x17498, 0x8, 0x1) = -1 EINTR (Interrupted system call) syscall(0x900004, 0x1, 0x17498, 0x8, 0x1) = -1 EBADF (Bad file descriptor) _exit(0)

My ARM Linux kernel is on Atmel AT91SAM9263 is
Linux at91sam9263ek 2.6.25 #34 Sat Jun 7 20:02:51 IST 2008 armv5tejl unknown

I use bin utils from CodeSourcery for cross compiling EABI kernel as well as fpc.
The kernel is compiled with

CONFIG_AEBI=y
CONFIG_ARM_THUMB=y

But I am not able to enable OABI_COMPAT=y.

Why dont my binary work on the Arm board? What else is to be done?

regards

Nataraj

Reply by email