1. Preprocessor (cpp) → file.i
  2. Compiler (cc1) → file.S
  3. Assembler (as) → file.o
  4. Linker (ld), link .so, .o file into a ELF file