when the issue is the custom RTL, why stuck in Error's ?
I can involve cdecl extern(al) ASM/C/Pascal methods, as Helper/Wrapper, that alloc (AnsiString Assign), and re-alloc/re-size (AnsiString concat) Memory for String Operations (astring.pas) by using TAnsiRec.
Each other GNU-Like Software (C/C++) can be used to compile a C-Toying Compiler with printf Strings on the Console - either through IBM-PC compatible $B8000 Screen Buffer (if you don't have any HAL under your OS) or with (win32)API Functions/Calls - without lose the Character of the Compiler.
I don't understand, that the system.pas need compilerproc members.
If one of those "needed" members are missing or incorrect - I get fault, and I could not create a custom RTL.
The next Thing is, that the Code is very redunanted in the Valuta in context of Position in Source Code.
It cost me some hour's, and day's to get a valid running executable, that was compiled with FPC.
Is this an Idea, to NOT create a custom RTL's by the expierences Programmer's ?
I would not say, that a Beginner User of Pascal should create a Compiler.
But it is very inoperable if Student's have to learn the Syntax, the Pro, and Cons of Pascal, and the internal Structures of FPC.
You would say: This topics are well documented.
But what does the RTL stuff have to do with System stuff ?