Preparing your toolchain
The term compiler implies a collection of compilation-related tasks performed by different components such as the frontend, backend, assembler, and linker. Some of them are implemented in separate tools, while others are integrated. However, while developing native applications or for any other target, a user needs more resources, such as platform-dependent libraries, a debugger, and tools to perform tasks, for example, to read the object file. Therefore, platform manufacturers usually distribute a bundle of tools for software development in their platform, thus providing the clients with a development toolchain.
In order to generate or use your cross-compiler, it is very important to know the toolchain components and how they interact with each other. The following diagram shows the main toolchain components necessary for successful cross-compilation, while the sections that follow describe each component:
Standard C and C++ libraries
A C library is necessary to support...