Chapter 3.  The GNU toolchain

Table of Contents

Toolchain Anatomy
GNU binutils
GNU Compiler Collection (formerly GNU C Compiler)
GNU glibc
Getting a Full Toolchain

Toolchain Anatomy

GNU binutils

Binutils are a set of low-level programs like assembler, linker, disassembler, ... It's their task to create and manipulate binary executable files.

GNU Compiler Collection (formerly GNU C Compiler)

GCC is the "main" actor when compiling programs. It's the compiler who translates your C, C++, ..., program source code into architecture-specific assembler instructions, which are then build up to an executable by GNU binutils.

GNU glibc

Glibc is a large blob of glue code, which tries to give it's best to hide kernel specific functions from you. You simply use always-the-same functions like read() etc., and glibc translates it to something the kernel can execute.

This way, you can do portable programming by only using libc calls, not (specific) kernel calls.