Differences between revisions 2 and 3
Revision 2 as of 2007-07-27 16:51:37
Size: 2765
Editor: DiegoNovillo
Comment:
Revision 3 as of 2007-07-27 17:02:31
Size: 2774
Editor: DiegoNovillo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Line 3: Line 2:
Line 11: Line 9:
Line 14: Line 11:
Line 16: Line 12:
Line 18: Line 13:
 * [:Testing GCC:Testing GCC]
Line 21: Line 17:
Line 23: Line 18:
Line 26: Line 20:
Line 28: Line 21:
Line 33: Line 25:
Line 35: Line 26:

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.

This page also has a collection of outstanding improvement projects that for one reason or another nobody has gotten around to finishing. You are welcome to add more, or to "claim" a project that you find interesting to work in.

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].

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]

Internal documentation

Tutorials, HOWTOs

Outstanding projects

  • ["Speedup areas"]
  • ["general backend cleanup"]
  • ["Top-Level Bootstrap"]
  • ["Top-Level Libgcc Migration"]
  • [:Memory management:Proper GCC Memory Management]
  • ["Partial Transitions"]
  • [:LinkTimeOptimization:Link Time Optimization]

  • [:LoopOptTasks:Loop Optimization Related Tasks]

  • [:SwingModuloScheduling:Modulo Scheduling Related Tasks]

  • ["Better Uninitialized Warnings"]
  • [:VectorizationTasks:Vectorization Related Tasks]

  • DataflowPorting

  • [:tuples:GIMPLE tuples]
  • [:functionAdaptation:Function Adaptation]

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