Differences between revisions 52 and 53
Revision 52 as of 2014-10-12 02:20:19
Size: 6214
Comment: mention prominently that small patches do not need copyright assignment
Revision 53 as of 2014-10-12 02:27:34
Size: 5470
Comment: remove broken links
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
 * [[http://www.seketeli.org/dodji/talks/eigen-2010/gcc-eigen-2010.pdf | G++ internals (Eigen Summit, Feb 2010)]]
Line 48: Line 47:
 * [[http://www-ali.cs.umass.edu/~moss/610.html|CMP SCI 610/410 - Compiler Techniques - Fall 2008]] (multimedia lecture notes for a complete introductory compilers course with emphasis on gcc)
Line 55: Line 53:
 * [[http://www.cse.iitb.ac.in/grc/gccdocs.html| GCC Architecture Documents]] These documents by Abhijat Vichare are now a part of the [[http://www.cse.iitb.ac.in/grc|GCC Resource Center (GRC)]].
 * [[http://spindazzle.org/ggx/| The ggx patch archive]] Blog entries by Anthony Green illustrating design of an ISA while simultaneously implementing support for the new architecture in binutils and GCC
 * [[http://www.cse.iitb.ac.in/grc|GCC Resource Center (GRC)]].
Line 58: Line 55:
 * [[http://www.cs.wustl.edu/~mdeters/seminar/fall2005/| gcc internals seminar notes]] (from 2005)

Welcome to the Getting Started section of the GCC Wiki

We are constantly looking for new developers who are willing to donate their time to advance GCC.

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: Contributing to GCC in 10 easy steps

  1. Small patches don't need any copyright assignment. Otherwise, you need to file a copyright assignment.

    • GCC is owned by the Free Software Foundation (FSF), as such, all contributors must assign their copyright to the FSF before their changes are accepted. The copyright assignment process is described in Contributing to GCC. In a nutshell, send an email to <assign@gnu.org> and explain that you want to contribute code to GCC and what is your employment status (student, employed by a company, self-employed, ...) and they will send you a form to sign. If they don't reply in 3-5 days, insist. If there is still no reply, write to <gcc@gcc.gnu.org> and explain your case. This process requires some patience but while you wait, you can continue with the next steps.

  2. Accessing the sources, you can choose between:
  3. Building GCC (you do not actually need to install GCC to test it, it is enough to build it)

  4. Testing GCC

  5. Debugging GCC

  6. Formatting code for GCC

  7. Join the community: mailing lists (gcc and gcc-patches at least), IRC (if you like that), see How to communicate with the GCC community effectively

  8. Submitting patches

  9. Committing patches

  10. Profit!

Tutorials, HOWTOs

Internal documentation

Dealing with the source code

Structure Of GCC

Reporting and correcting bugs

When using Bugzilla, GCC maintainers (those having at least write after approval status to GCC trunk) should preferably use their username@gcc.gnu.org account to log in Bugzilla.

None: GettingStarted (last edited 2018-05-15 21:37:44 by JonathanWakely)