[fpc-devel] arm-embedded buid broken since rev 23325

Michael Ring mail at michael-ring.org
Sat Jan 19 12:18:57 CET 2013


Today I found some time to research since when excactly arm-embedded 
does not compile anymore, I found that since revision 23325 compile does 
not work anymore, can anybody help, it seems that the problem itself is 
hidden somewhere else in code...

Michael

Error Message:

/bin/mkdir -p /Users/ring/devel/fpc/rtl/units/arm-embedded
/Users/ring/devel/fpc/compiler/ppcrossarm -Cparmv7m @rtl.cfg -Ur 
-Tembedded -Parm -XParm-embedded- -Xr -Ur -Xs -O2 -n -Fi../inc -Fi../arm 
-FE. -FU/Users/ring/devel/fpc/rtl/units/arm-embedded -darm -dRELEASE  
-Us -Sg system.pp
text.inc(1789,14) Warning: Implicit string type conversion from 
"AnsiString" to "UnicodeString"
text.inc(1847,39) Fatal: Cannot find system type 
"TRELOCATETHREADVARHANDLER". Check if you use the correct run time library.
Fatal: Compilation aborted


Code change:

===================================================================
--- compiler/ncgld.pas  (revision 23324)
+++ compiler/ncgld.pas  (working copy)
@@ -266,6 +266,7 @@
          endrelocatelab,
          norelocatelab : tasmlabel;
          paraloc1 : tcgpara;
+        pvd : tdef;
        begin
          { we don't know the size of all arrays }
          newsize:=def_cgsize(resultdef);
@@ -360,8 +361,11 @@
current_asmdata.getjumplabel(norelocatelab);
current_asmdata.getjumplabel(endrelocatelab);
                          { make sure hregister can't allocate the 
register necessary for the parameter }
+ pvd:=search_system_type('TRELOCATETHREADVARHANDLER').typedef;
+                        if pvd.typ<>procvardef then
+                          internalerror(2012120901);



More information about the fpc-devel mailing list