[fpc-devel] MIPS big-endian program starts but does nothing

Reinier Olislagers reinierolislagers at gmail.com
Tue Sep 9 08:29:50 CEST 2014


Applied a similar patch [1]; progress, thanks!

gdb bt now shows:
^C
Program received signal SIGINT, Interrupt.
fpc_setjmp (S=
      {RA = 4398704, SP = 2139211400, S0 = 2130823600, S1 = 5034972, S2
= 5035028, S3 = 4571000, S4 = 2000557128, S5 = 4587520, S6 = 4589204, S7
= 5034940, FP = 2139211632, GP = 4589264, _FCSR = 0, F20 = 0, F21 = 0,
F22 = 0, F23 = 0, F24 = 0, F25 = 0, F26 = 4563944, F27 = 4, F28 =
4563944, F29 = 4563947, F30 = 0, F31 = 0}) at
C:/development/fpctrunk/rtl/mips/setjump.inc:68
68      C:/development/fpctrunk/rtl/mips/setjump.inc: No such file or
directory.
        in C:/development/fpctrunk/rtl/mips/setjump.inc
Current language:  auto; currently pascal
(gdb) bt
#0  fpc_setjmp (S=
      {RA = 4398704, SP = 2139211400, S0 = 2130823600, S1 = 5034972, S2
= 5035028, S3 = 4571000, S4 = 2000557128, S5 = 4587520, S6 = 4589204, S7
= 5034940, FP = 2139211632, GP = 4589264, _FCSR = 0, F20 = 0, F21 = 0,
F22 = 0, F23 = 0, F24 = 0, F25 = 0, F26 = 4563944, F27 = 4, F28 =
4563944, F29 = 4563947, F30 = 0, F31 = 0}) at
C:/development/fpctrunk/rtl/mips/setjump.inc:68
#1  0x00431e70 in ASSIGN (T=
      {HANDLE = 0, MODE = 0, RECSIZE = 0, _PRIVATE = #0 <repeats 31
times>, USERDATA = #0 <repeats 31 times>, NAME = #0 <repeats 255
times>}, S=Cannot access memory at address 0xd7b1
)
    at C:/development/fpctrunk/rtl/inc/text.inc:127
#2  0x00439edc in OPENSTDIO (F=Cannot access memory at address 0x0
)
    at C:/development/fpctrunk/rtl/inc/text.inc:2644
#3  0x0043f09c in SYSINITSTDIO () at system.pp:276
#4  0x0043f4d0 in SYSTEM_$$_init () at system.pp:364
#5  0x00429c10 in fpc_initializeunits ()
    at C:/development/fpctrunk/rtl/inc/system.inc:888
#6  0x0040019c in main () at hellomips.lpr:16



[1]
Index: rtl/mips/mips.inc
===================================================================
--- rtl/mips/mips.inc	(revision 28619)
+++ rtl/mips/mips.inc	(working copy)
@@ -58,7 +58,9 @@
 {$define FPC_SYSTEM_HAS_SYSINITFPU}
 procedure SysInitFPU;
   begin
+{$ifndef FPC_HAS_FEATURE_SOFTFPU}
     set_fsr(get_fsr and (not fpu_all_bits) or (default_fpu_enable or
fpu_rounding_nearest));
+{$ENDIF FPC_HAS_FEATURE_SOFTFPU}
   end;






More information about the fpc-devel mailing list