Porting GCC to your OS: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(Classify as master even though it's not finished)
m (Remove reference to newlib in favor of the generic article)
Line 12: Line 12:
Then, you need a C standard library for your platform - at least those parts required by GCC.
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.
To do this you need a [[C Library]] for your OS.


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

Revision as of 01:31, 14 October 2014

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 a C Library for your OS.

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