[fpc-devel] progress of freepascal for mips

Leonardo M. Ramé martinrame at yahoo.com
Sat Jun 2 16:04:24 CEST 2012

> From: Fuxin Zhang <zhangfx at lemote.com>
>To: FPC developers' list <fpc-devel at lists.freepascal.org> 
>Sent: Friday, June 1, 2012 9:16 PM
>Subject: [fpc-devel] progress of freepascal for mips
>hi everybody,
>  With the attached patch (against revision 21440), most of the tests can
>now pass, for example, the test directory has only the following
>foxsen at ubuntu-zfx:~/software/fpc/tests/output/mipsel-linux$ cat
>test/cg/taddcurr //the Currency support is broken
>test/cg/tcalext  //no ctest.o
>Note: This test requires a C library
>Note: This test requires a C library
>the related changes include:
>commit 14d7ae388fd5b81300a69d277089c991c13fa0be
>Author: Zhang Fuxin <zhangfx at lemote.com>
>Date:   Wed Jun 1 19:12:43 2011 +0800
>    don't define cpuflags for mips
>    is_calljmp should include float branches: BC1T/BC1F
>    no likely branch support: delete bc1tl/bc1fl for now
>    new implementation for getting next fpu registers for LDC1/SDC1
>commit 5d51e051a8979563af6b7d096381192e3d1b9b56
>Author: Zhang Fuxin <zhangfx at lemote.com>
>Date:   Fri Jun 1 11:34:51 2012 +0800
>    Commit all accumulated fixes:
>     1, add -Xs- -g to Makefile to retain symbols and debug info (removed)
>     2, systems/i_linux.pas: first_parm_offset set to 0
>     3, rtl/inc/systemh.inc: FPC_HAS_INTERNAL_SAR_DWORD for mips
>     4, rtl/linux/{ostypes.inc, linux.pp, oldlinux.pp}, macro definitions
>for mips: MAP_xxx
>     5, rtl/linux/mips/syscall.inc: don't use second stack
>     6, mips/*:
>          remove the use of NR_TCR*, allocate temporary registers instead
>          use fake instructions A_BA/A_BC to handle all kinds of branches,
>remove other condition branch instructions, remove all likely
>          add support for boolean64
>          fix ldc1/sdc1 next register calculation
>          use r25 for interface call to better suite abi
>          fix inverse_cond
>          add bc1t/bc1f to is_calljmp
>The next major one should be parameter passing, and then the PIC support.
>Thank you for all your kind help.
Hi, while this interesting discussion about fpc for Linux/MIPS is evolving, we've received an IBM Mips server from a customer (I don't know the model yet) to try to install an hypervisor. 

We need to run at least Windows and Linux servers on it. Do you know if Xen/VMWare or similar hypervisors run on this architecture?.

If I can install an hypervisor, I could create one virtual machine to let the FPC team test the MIPS version on this machine, it can be online 24/7.

Leonardo M. Ramé

More information about the fpc-devel mailing list