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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to