[fpc-devel] Building and running FPC natively on ARM under Debian "Lenny"
Jonas Maebe
jonas.maebe at elis.ugent.be
Tue Oct 5 10:57:12 CEST 2010
On 05 Oct 2010, at 10:50, Mark Morgan Lloyd wrote:
> Jonas Maebe wrote:
>> On 05 Oct 2010, at 10:05, Mark Morgan Lloyd wrote:
>>> When running 2.4.0 on an ARM system (Debian v5 "Lenny", armel)
>>> with limited memory (32Mb RAM + 768Mb swap) and using it to
>>> compile a large project (Lazarus 0.9.28.2) I'm seeing intermittent
>>> failures which go away if the make is restarted. I've not seen
>>> this running on other platforms, and I don't believe it is a
>>> problem in the Lazarus sources since the build will eventually
>>> complete giving me runnable code.
>> A couple of days ago I fixed an error in svn trunk for ARMEL that
>> caused the stack to become temporarily unbalanced after performing
>> syscalls with 5 or more parameters (the bug is still there for
>> OABI, but I can't fix that because I don't have access to an OABI
>> machine).
>
> I don't at the moment have any spare ARM systems that I could set up
> and expose for testing. I've got some development boards
> (effectively, ARM-based PCs) but they came with CE and I'm not
> paying the manufacturer $500 for Linux...
I've requested an account on the GCC compile farm (http://gcc.gnu.org/wiki/CompileFarm
, anyone contributing to any free software project can do so), and I
guess that at least one of their ARM machines will also support OABI
binaries.
>> A side-effect of that bug was that if the caller passed the address
>> of its own result as one of the parameters to the system call, it
>> would afterwards return a random value as its result and checks for
>> error results caused random failures like the one you posted (the
>> reproducible case that allowed me to fix it was a similar error).
>
> That sounds promising and I'll try it in a few days (once I've got
> the trial Lazarus compilations out of the way). What should I be
> doing- updating to trunk?
Maybe the easiest is to simply download http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/linux/arm/syscall.inc?revision=16073&pathrev=16073
and replace the rtl/linux/arm/syscall.inc file in the 2.4.0 source
tree with that file. There are no FPC version-specific changes to that
code.
> The overall exercise is extending the native testing I did of FPC on
> various platforms to Lazarus. Granted that not many people are
> likely to want to run it natively on an ARM target but I think it's
> still worth knowing whether it can be done.
Sure!
Jonas
More information about the fpc-devel
mailing list