[fpc-devel] progress of freepascal for mips

Fuxin Zhang zhangfx at lemote.com
Sat Jun 2 02:16:10 CEST 2012


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
failinglist:

foxsen at ubuntu-zfx:~/software/fpc/tests/output/mipsel-linux$ cat
faillist.testlog
test/cg/taddcurr //the Currency support is broken
test/cg/tcalext  //no ctest.o
test/cg/tcalext3
test/cg/tcalext4
test/cg/tcalext5
test/cg/tcalext6
test/cg/tcnvint4
test/cg/tcnvint6
test/cg/tcppcl1
test/cg/tcppcl2
test/cg/tdivz2
test/cg/tnot
test/cg/tprintf
Note: This test requires a C library
test/cg/tprintf2
Note: This test requires a C library
test/cg/treadwrt
test/cg/tumin
test/talign2
test/tbrtlevt
test/tclass8

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
branch
          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.

Regards
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-mips
Type: application/octet-stream
Size: 68283 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20120602/12020ca4/attachment.obj>


More information about the fpc-devel mailing list