<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Seems that the assembler is not understanding the $xx notation for the registers.</div><div><br></div><div>Instead of trying to change the toolchain I would fire up gdb on your device and single step through the initialisation code of the helloworld.pas file. </div><div><br></div><div>From my point of view it is more likely that you will find the problem in the startup-code and not the toolchain. There were good hints in this o the other thread that fpc startup code is checking the proc filesystem. There might be a few more incompatibility issues with the wrt-linux implementation, those will most likely only reveal themselves in gdb</div><div><br></div><div>Michael<br><br>Von meinem iPad gesendet</div><div><br>Am 15.06.2013 um 19:19 schrieb Dennis Poon <<a href="mailto:dennis@avidsoft.com.hk">dennis@avidsoft.com.hk</a>>:<br><br></div><blockquote type="cite"><div>


  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">


<font size="+1"><br>
I eventually found this page which talked about downloading a special
toolchain from openwrt web site<br>
<br>
<a class="moz-txt-link-freetext" href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61112">http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61112</a><br>
<br>
I followed its instruction and successfully compiled a helloworld c
program and <br>
successfully RUN the helloworld binary on Netgear 3700 running DD-Wrt !<br>
<br>
I was overjoyed.<br>
<br>
Then I tried to modify the steps to compile fpc <br>
<br>
my toolchains  is at /home/dennis/toolchains/staging_dir_mips/bin/<br>
and in this folder, there are files: mips-linux-ar  and mips-linux-as<br>
so I <br>
make clean all CPU_TARGET=mips OS_TARGET=linux
BINUTILSPREFIX=/home/dennis/toolchains/staging_dir_mips/bin/mips-linux-<br>
<br>
but I got errors:<br>
<br>
/home/dennis/toolchains/staging_dir_mips/bin/mips-linux-as -32 -mips32
-EB -o /home/dennis/fpc/2.7.1/rtl/units/mips-linux/prt0.o mips/prt0.as<br>
mips/prt0.as: Assembler messages:<br>
mips/prt0.as:23: Error: illegal operands `lui $a2,%hi(__dl_fini)'<br>
mips/prt0.as:25: Error: illegal operands `sw $v0,%lo(__dl_fini)($a2)'<br>
mips/prt0.as:54: Error: illegal operands `move $s8,$sp'<br>
mips/prt0.as:56: Error: illegal operands `sw $s8,%lo(__stkptr)($at)'<br>
mips/prt0.as:65: Error: illegal operands `lw $a0,0($s8)'<br>
mips/prt0.as:66: Error: illegal operands `lui
$a1,%hi(operatingsystem_parameter_argc)'<br>
mips/prt0.as:67: Error: illegal operands `sw
$a0,%lo(operatingsystem_parameter_argc)($a1)'<br>
mips/prt0.as:70: Error: illegal operands `addiu $a1,$s8,4'<br>
mips/prt0.as:71: Error: illegal operands `lui
$a2,%hi(operatingsystem_parameter_argv)'<br>
mips/prt0.as:72: Error: illegal operands `sw
$a1,%lo(operatingsystem_parameter_argv)($a2)'<br>
mips/prt0.as:75: Error: illegal operands `addiu $a2,$a0,1'<br>
mips/prt0.as:76: Error: illegal operands `sll $a2,$a2,0x2'<br>
mips/prt0.as:77: Error: illegal operands `addu $a2,$a2,$a1'<br>
mips/prt0.as:78: Error: illegal operands `lui
$a3,%hi(operatingsystem_parameter_envp)'<br>
mips/prt0.as:79: Error: illegal operands `sw
$a2,%lo(operatingsystem_parameter_envp)($a3)'<br>
mips/prt0.as:80: Error: illegal operands `lui $t9,%hi(PASCALMAIN)'<br>
mips/prt0.as:81: Error: illegal operands `addiu $t9,$t9,%lo(PASCALMAIN)'<br>
mips/prt0.as:82: Error: illegal operands `jalr $t9'<br>
mips/prt0.as:95: Error: illegal operands `sw $a0,16($sp)'<br>
mips/prt0.as:97: Error: illegal operands `lw $t9,%lo(__dl_fini)($at)'<br>
mips/prt0.as:98: Error: illegal operands `beqz $t9,.L1'<br>
mips/prt0.as:100: Error: illegal operands `jalr $t9'<br>
mips/prt0.as:103: Error: illegal operands `lw $a0,16($sp)'<br>
mips/prt0.as:104: Error: illegal operands `li $v0,4001'<br>
make[5]: *** [prt0.o] Error 1<br>
make[5]: Leaving directory `/home/dennis/fpc/2.7.1/rtl/linux'<br>
make[4]: *** [linux_all] Error 2<br>
make[4]: Leaving directory `/home/dennis/fpc/2.7.1/rtl'<br>
make[3]: *** [rtl] Error 2<br>
make[3]: Leaving directory `/home/dennis/fpc/2.7.1/compiler'<br>
make[2]: *** [cycle] Error 2<br>
make[2]: Leaving directory `/home/dennis/fpc/2.7.1/compiler'<br>
make[1]: *** [compiler_cycle] Error 2<br>
make[1]: Leaving directory `/home/dennis/fpc/2.7.1'<br>
make: *** [build-stamp.mips-linux] Error 2<br>
<br>
<br>
I feel I am almost there. Any help on the above?<br>
<br>
Dennis<br>
</font>


</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>fpc-pascal maillist  -  <a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a></span><br><span><a href="http://lists.freepascal.org/mailman/listinfo/fpc-pascal">http://lists.freepascal.org/mailman/listinfo/fpc-pascal</a></span></div></blockquote></body></html>