[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