The document describes the GCC Link Time Optimization (LTO) compilation process. It shows how GCC and the linker communicate via a transfer vector in the liblto_plugin.so library. GCC generates LTO objects and passes symbol information to the linker. The lto-wrapper driver then performs the LTO and code generation steps, outputting new object files for the linker to incorporate into the final executable.