4. Step 4 (building full-cross compiler)

Add new target's rtl to free pascal compiler sources so that the free pascal compiler can compile source into into target-(executable or package/dll)-binaries.

Re-build the compiler and tell it to use the new-target's-rtl as it's uses clausule. (This can be via "target-free pascal binary units in combination with the interface" or simply new-target's RTL full source code, since the compiler should now be able to handle/compile it.

I am not so sure if the full source code of the new RTL could be used... probably not...

My original hunch was that it indeed needs to be in binary (pascal compiled units or assembly units)... and needs to be passed towards
the linker so that the linker can do "the great switchero-trick".

The compiler used it's own rtl to compile, but the linker will say "nope, not gonna use your rtl... instead I am gonna do a switchero trick and use the new rtl".

Which means the "hook-in" must be the same... so the swap goes easy...

This seems to make most sense to me... (!?)

So my guess is: It's indeed necessary to have a new RTL in binary form... so it can be swapped-in with the old one during the building/linking phase of a new compiler... (?!)


Or perhaps it doesn't matter and the compiler can simply compile with the new rtl full sources since it can compile those on the fly... when the reach the linker they already in target-binary form...

But how to know for sure and how to make the compiler not use it's own RTL ? This is probably my biggest/main questions... and biggest doubt how this works... hmm...


So this is my biggest question and hunch: At some point during this whole step/phase the RTL needs to be switched/swapped with the new RTL... however the own/old RTL is still being used by the active process (the compiler that's running and compiling the new compiler) so what part of the chain is responsible for the "switchero trick" lol ?!? Is it indeed the linker ???


Bye,
Skybuck.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to