Sign in Join

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

Mailing lists / lazarus / 2011-09

ARM, Cortex-A8 in Genesi Efika MX cloud computer

6 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

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

Unknown author

Hi,
Thanks for answering so quickly.

The box is in fact a Cortext A8 actually.

We are using FPC 2.7.1, Lazarus 0.9.31 and typhoon 2.1

The command and -va outpout we receive can be seen here... https://gist.github.com/1244669

Thanks,

Dominique.

lets stop right there... what version of FPC and Lazarus is your typhoon using?

Reply by email

Henry Vermaak
to Unknown author
Show quoted text 9 lines
Hi, Thanks for answering so quickly. The box is in fact a Cortext A8 actually. We are using FPC 2.7.1, Lazarus 0.9.31 and typhoon 2.1 The command and -va outpout we receive can be seen here... https://gist.github.com/1244669

From this it looks like you're not using eabi. How did you build the compiler and which binutils did you use?

Henry

Reply by email

Philip Cockram

Hi,
Thanks for the heads up,
Dom and I have it compiling correctly from an i386 Ubuntu VM, and running on the ARM Linux box, (that compiler option works fine -meabi=5)

However I still would prefer to get it compiling on my windows box, I have tried and failed several times to rebuild the binutils following the guide at http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM as its all for linux, alot of the commands don?t work, such as "./configure --target=arm-linux --disable-werror". Nor can i find anywhere thats got some precompiled binutils in this state. Iv tried in Cygwin, but the C compiler doesn't work - "configure:4227: error: C compiler cannot create executables", and this is just one stage. Not sure where to go now to try and compile for the arm on my windows box! Any help would be great.

Cheers
Phil + Dom

Earlier message 33 lines
From: Henry Vermaak [mailto:] Sent: 27 September 2011 12:29 To: Lazarus mailing list Subject: Re: [Lazarus] Lazarus Digest, Vol 44, Issue 106 On 27/09/11 12:12, Henry Vermaak wrote: > On 27/09/11 11:25, wrote: >> Hi Henry, >> Thanks for answering. >> >> This is the ELF output running on the actual box... >> >> https://gist.github.com/1244760 >> >> There are 2 ELF outputs. The top one is the FreePascal one, while the >> bottom one is for mkdir. >> >> We did notice that native exes list their OS as UNIX, while our exe >> lists it as ARM. > > You'll probably need to pass -meabi=5 to arm-linux-as when you build fpc > and your programs. Easiest way is to write a program called > arm-linux-as.exe that calls the real assembler (that you renamed) with > an added -meabi=5. Even better is to re-build the binutils with a target like arm-linux-eabi, which should set this by default. Tip: use a linux machine to build the binutils, it's much easier. Henry --

Reply by email

Henry Vermaak
to Philip Cockram
Philip Cockram wrote 13 lines
Hi, Thanks for the heads up, Dom and I have it compiling correctly from an i386 Ubuntu VM, and running on the ARM Linux box, (that compiler option works fine -meabi=5) However I still would prefer to get it compiling on my windows box, I have tried and failed several times to rebuild the binutils following the guide at http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM as its all for linux, alot of the commands don?t work, such as "./configure --target=arm-linux --disable-werror".

You have to do a Canadian Cross. This is where the build, host and target platforms all differ. On Debian, I install the mingw32 package, which gives me the linux->mingw32 cross binutils/compilers. They are called i586-mingw32msvc-*, so my binutils configure command is:

./configure --prefix=/opt/arm-linux-eabi-win32 --target=arm-linux-eabi --host=i586-mingw32msvc --disable-werror

You may have to adapt this if your cross tools have a different prefix.

Then a simple `make && make install` gets me binutils that I can copy to my Windows machine.

Nor can i find anywhere thats got some precompiled binutils in this state.

I can upload the binutils I've built somewhere for you to try out, if you like.

Henry

Reply by email

Philip Cockram
to Henry Vermaak

Hi,
Thanks alot for the info again,
yes, please upload the bins to somewhere and il try it

Thanks again
Phil.

Show quoted text 45 lines
Date: Wed, 28 Sep 2011 16:33:00 +0100 From: To: Subject: Re: [Lazarus] ARM, Cortex-A8 in Genesi Efika MX cloud computer On 28/09/11 16:15, Philip Cockram wrote: > Hi, > > Thanks for the heads up, > > Dom and I have it compiling correctly from an i386 Ubuntu VM, and > running on the ARM Linux box, (that compiler option works fine -meabi=5) > > However I still would prefer to get it compiling on my windows box, I > have tried and failed several times to rebuild the binutils following > the guide at http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM > > as its all for linux, alot of the commands don?t work, such as > "./configure --target=arm-linux --disable-werror". You have to do a Canadian Cross. This is where the build, host and target platforms all differ. On Debian, I install the mingw32 package, which gives me the linux->mingw32 cross binutils/compilers. They are called i586-mingw32msvc-*, so my binutils configure command is: ./configure --prefix=/opt/arm-linux-eabi-win32 --target=arm-linux-eabi --host=i586-mingw32msvc --disable-werror You may have to adapt this if your cross tools have a different prefix. Then a simple `make && make install` gets me binutils that I can copy to my Windows machine. > Nor can i find anywhere thats got some precompiled binutils in this state. I can upload the binutils I've built somewhere for you to try out, if you like. Henry -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20110928/0e5250ef/attachment.html>

Reply by email

Philip Cockram

Ok thanks,

easier said than done I think!

Iv tried recompiling, but just get endless errors, alot to do with the makefiles being setup for Linux.

Does anybody have a units folder they could post somewhere which is compiled for EABI version 5? Should be about 56Mb uncompressed?

Would be really useful as it the last thing and we may get it to work!

Thanks in advance.

Phil

Show quoted text 35 lines
Date: Wed, 28 Sep 2011 18:25:30 +0100 From: To: Subject: Re: [Lazarus] ARM, Cortex-A8 in Genesi Efika MX cloud computer On 28/09/11 18:07, Philip Cockram wrote: > Hi, I got the following output: > > > C:\Test>set path="C:\pp\bin\i386-win32" > C:\Test>ppcrossarm -s Test.pas -Tlinux -meabi=5 -Parm > C:\Test>arm-linux-eabi-as.exe -meabi=5 -o Test.o Test.s The -meabi=5 shouldn't be needed anymore in any of the commands. > Assembling Test > Linking Now Test > C:\pp\bin\i386-win32\arm-linux-eabi-ld.exe: warning: link.res contains > output se > ctions; did you forget -T? > C:\pp\bin\i386-win32\arm-linux-eabi-ld.exe: error: Source object > C:\pp\units\arm > -linux\rtl\system.o has EABI version 0, but target Test has EABI version 5 > C:\pp\bin\i386-win32\arm-linux-eabi-ld.exe: failed to merge target > specific data > of file C:\pp\units\arm-linux\rtl\system.o > An error occured while linking Test > C:\Test> > > Looks like I need my RTL units need to be compiled with version 5..? Yes, you'll have to do that. I would rebuild the cross compiler just to be on the safe side! Henry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20110929/201f1ea6/attachment.html>

Reply by email