Porting GCC to your OS

From OSDev Wiki
Jump to: navigation, search
Difficulty level
Difficulty 4.png

This page is under construction! This page is a work in progress and 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 give 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 a C Library for your OS. GCC is fairly portable and needs the C standard library, and some extensions from POSIX. It needs fork and exec, for instance, to run the assembler and linker. You will need a C++ standard library (such as libstdc++) as GCC is now written in C++.

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

Personal tools