A Workshop on GCC Internals by GCC Resource Center
June 29 - July 3, 2013, IIT Bombay
This workshop is a 5-day instructional workshop (and not a forum for contributed presentations) and involves lectures and laboratory exercises aimed at providing details of the internals of GCC (GNU Compiler Collection).Workshop: June 29 - July 03, 2013
Slides: 29 June
Schedule: 21 June
Selected Candidates: 10 June
Registration closed: 10 June
What's New?: 14 May
(Participants will be awarded a
certificate under the continuing
education programme of IITB)
GCC is the de-facto standard compiler generation framework on GNU/Linux and many variants of Unix. In the last 25 years of its existence, it has seen a rapid growth and wide acceptability.
What is GCC?
GCC, an acronym for GNU Compiler Collection, is a compiler generation framework which generates production quality optimizing compilers from descriptions of target platforms. It follows an open development model whereby its source is available for all for inspection and modification. It supports a wide variety of source languages and target machines (including operating system specific variants) in a ready-to-deploy form. Besides, new machines can be added by describing instruction set architectures and some other information (eg. calling conventions).
Novices may want to see the Wikipedia introduction to GCC. For experts, the GCC page contains a wealth of information including installation instructions, reference manuals (which include users' guides as well as details of GCC internals), a set of frequently asked questions, a wiki page for the developers of GCC, additional reading material, and several mailing lists for more detailed issues and queries. An excellent description of GCC internals can also be found on Wikipedia.
GCC celebrated its 25th anniversary in 2012
Youtube link to 1989
- 2012 Development History of GCC.
Our contribution to the GCC community
We have been using our training program called "Essential Abstractions in GCC", since 2007 (and have been incrementally refining it continuously). Our experience has been that it has brought down the ramp up period of novices to a couple of weeks.
Who should attend this workshop?
Anybody who has done at least a first level undergraduate course in compiler construction and has some experience of either working in compilers or teaching compilers. A sound understanding of the process of compilation is a must. Familiarity with Unix/Linux (particularly, the command line style of working) is absolutely necessary. We have identified some homework exercises to be done before the participants arrive for the workshop.
Take-aways from the workshop
After attending this workshop
Structure of the workshop
a 5 day workshop from June 29, 2013 to July 3, 2013 –
four days of lectures and labs with an additional half day of lab for interested participants. In other words, the participants can leave after the fourth day.