www.delorie.com/gnu/docs/gcc/gccint.html   search  
Buy the book!

GNU Compiler Collection (GCC) Internals

[Top] [Contents] [Index] [ ? ]

GNU Compiler Collection (GCC) Internals

This manual documents the internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages. It corresponds to GCC version 3.2. The use of the GNU compilers is documented in a separate manual. See section `Introduction' in Using the GNU Compiler Collection (GCC).

This manual is mainly a reference manual rather than a tutorial. It discusses how to contribute to GCC (see section 1. Contributing to GCC Development), the characteristics of the machines supported by GCC as hosts and targets (see section 2. GCC and Portability), how GCC relates to the ABIs on such systems (see section 3. Interfacing to GCC Output), and the characteristics of the languages for which GCC front ends are written (see section 4. Language Front Ends in GCC). It then describes the GCC source tree structure and build system, some of the interfaces to GCC front ends, and how support for a target system is implemented in GCC.

Additional tutorial information is linked to from http://gcc.gnu.org/readings.html.

1. Contributing to GCC Development  How to contribute to testing and developing GCC.
2. GCC and Portability  Goals of GCC's portability features.
3. Interfacing to GCC Output  Function-call interface of GCC output.
4. Language Front Ends in GCC  Languages for which GCC front ends are written.
5. Source Tree Structure and Build System  GCC source tree structure and build system.
6. Passes and Files of the Compiler  Order of passes, what they do, and what each file is for.
7. Trees: The intermediate representation used by the C and C++ front ends  The source representation used by the C and C++ front ends.
8. RTL Representation  The intermediate representation that most passes work on.
9. Machine Descriptions  How to write machine description instruction patterns.
10. Target Description Macros and Functions  How to write the machine description C macros and functions.
11. Host Configuration Headers  Writing the `xm-machine.h' file.
12. Makefile Fragments  Writing the `t-target' and `x-host' files.
13. collect2  How collect2 works; how it finds ld.
14. Standard Header File Directories  Understanding the standard header file directories.

Funding Free Software  How to help assure funding for free software.
The GNU Project and GNU/Linux  

GNU GENERAL PUBLIC LICENSE  GNU General Public License says how you can copy and share GCC.
GNU Free Documentation License  How you can copy and share this manual.
Contributors to GCC  People who have contributed to GCC.

Option Index  Index to command line options.
Index  Index of concepts and symbol names.

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003