Porting GCC to your OS

From OSDev.wiki
Revision as of 03:16, 20 September 2014 by osdev>Sortie (Classify as master even though it's not finished)
Jump to navigation Jump to search
Difficulty level

Master
This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.
Note that the GCC Cross-Compiler page is intended to include the information below (as well as filling in the To-Dos) once it is finished. Unless someone else does it first, I'll do so once my PDCLib is finished. - MartinBaute

First, you should understand How kernel, compiler, and C library work together. If any of the next steps gives you trouble, the information given in that document should give you an idea of what is missing.

Next, you should build a GCC Cross-Compiler for your platform.

ToDo: elaborate on GCC's platform description, and how to set up your own if you don't want to use an existing one.

Then, you need a C standard library for your platform - at least those parts required by GCC.

To do this you need to port a c library to your OS, see Porting Newlib for more information on one approach.

Finally, you would use the cross-compiler to compile GCC to run on your platform.

Just to be sure, you would use that "native" GCC to compile itself (to be sure it could, and for weeding out any issues that might arise from cross-compilation). Congratulations, you are now what people call "self-hosted", i.e. you no longer need some other OS to do development work. (Provided you have a working editor for your platform.)

See Also

External Links