I use FPC Trunk & binutils 2.40 to build ppcross compiler,
I know it is incompleted.for now, build rtl error info:
-----------------------------------------------------
H:/fpcupdeluxe/fpc/bin/i386-win32/ppcrossmips64el.exe -Ur -Tlinux -Pmips64el -XPmips64el-linux- -Ur -Xs -O2 -n -Fi../inc -Fi../mips64el -Fi../unix -Fimips64el -FDH:\fpcupdeluxe\cross\bin\mips64el-linux -FE. -FUH:/fpcupdeluxe/fpcsrc/rtl/units/mips64el-linux -Cg -vw-n-h-l-d-u-t-p-c- -dmips64el -dRELEASE -XPmips64el-linux- -Xd -FlH:\fpcupdeluxe\cross\lib\mips64el-linux -Us -Sg system.pp
flt_core.inc(1567,1) Fatal: Internal error 2002122100
Fatal: Compilation aborted
=====================================
1. error 2002122100 related-code------------------------------
procedure TCGMIPS.a_load_reg_ref(list: tasmlist; FromSize, ToSize: TCGSize; reg: tregister; const Ref: TReference);
var
op: tasmop;
href: treference;
begin
if (TCGSize2Size[fromsize] < TCGSize2Size[tosize]) then
a_load_reg_reg(list,fromsize,tosize,reg,reg);
if (ref.alignment<>0) and
(ref.alignment<tcgsize2size[tosize]) then
begin
a_load_reg_ref_unaligned(list,FromSize,ToSize,reg,ref);
exit;
end;
case tosize of
OS_8,
OS_S8:
Op := A_SB;
OS_16,
OS_S16:
Op := A_SH;
OS_32,
OS_S32:
Op := A_SW;
OS_64,
OS_S64:
Op := A_SD;
else
InternalError(2002122100);
end;
href:=ref;
make_simple_ref(list,href);
list.concat(taicpu.op_reg_ref(op,reg,href));
end;
2. flt_core.inc(1567,1) -------------------------------
one_e: integer;
one_mask, f: dword;
buf: TAsciiDigits;
begin // line 1567
// Limit parameters
if ( frac_digits > 216 ) then
frac_digits := 216; // Delphi compatible
if ( min_width <= C_NO_MIN_WIDTH ) then
min_width := -1 // no minimal width
now my question is, How to proceed with the next modification work?
just a hobby in my spare time,thanks for any guide!