Differences between revisions 15 and 16
Revision 15 as of 2007-12-19 18:15:24
Size: 2626
Editor: 202
Comment:
Revision 16 as of 2008-01-03 21:30:42
Size: 2729
Editor: DiegoNovillo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 * [http://www.airs.com/dnovillo/200711-GCC-Internals Updated GCC Internals Tutorial (November 2007)]

Welcome to the Getting Started section of the GCC Wiki

This section contains collected information geared towards folks who are new to GCC and may be feeling a bit lost in the barbaric jungles of GCC's source code. Although we are continuously trying to improve GCC's internal modularity and interfaces, the fact remains that GCC is about 20 years old, fairly large and we need to keep it working on the multitude of supported architectures and languages. So, getting to work with GCC can be a challenge.

Everyone is welcome to add links to tutorials, HOWTOs, cheat sheets, etc that may be floating around the net.

Basics

So, you are ready to contribute to GCC. We are constantly looking for new developers who are willing to donate their time to advance GCC.

Before you do, however, there is an important formality that you need to go through: Copyright assignment.

GCC is owned by the [http://www.fsf.org Free Software Foundation (FSF)], as such, all contributors must assign their copyright to the FSF before any of their changes are accepted. The copyright assignment process is described in [http://gcc.gnu.org/contribute.html Contributing to GCC].

Tutorials, HOWTOs

Internal documentation

Dealing with the source code

  • [:DebuggingGCC:Debugging GCC]

  • [:Testing GCC:Testing GCC]

  • [:PerformanceTesting:Compile time and memory utilization testing]

  • [:WritingANewPass:Writing a new pass]

  • [:WritingANewFrontEnd:Writing a new front-end]

  • [:WritingANewBackEnd:Writing a new back end]

Structure Of GCC

  • [http://www.cfdvs.iitb.ac.in/~amv/gcc-int-docs/compilation-model GCC Architecture Concepts]

  • [:StructureOfGCC:Structure of GCC]

  • [:FrontEnd:Language front ends]

  • [:MiddleEnd:Target independent code transformation frameworks]

  • [:TreeOptimizers:Tree Optimizers]

  • [:RTLOptimizers:RTL Optimizers]

  • [:BackEnd:Target dependent passes and code generation]

  • ["reload"]

None: GettingStarted (last edited 2017-09-13 11:25:27 by NathanSidwell)