Introducing toolchains
A toolchain is a set of tools, binaries, and libraries used to build applications to run on a computer platform. In Yocto, the toolchains are based on GNU components.
Getting ready
A GNU toolchain contains the following components:
- Assembler (GNU as): This is part of the binutils package
- Linker (GNU ld): This is also part of the binutils package
- Compiler (GNU gcc): This has support for C, C++, Java, Ada, Fortran, and Objective C
- Debugger (GNU gdb): This is the GNU debugger
- Binary file tools (objdump, nm, objcopy, readelf, strip, and so on): These are part of the binutils package.
These components are enough to build bare metal applications, bootloaders like U-Boot, or operating systems like the Linux kernel, as they don't need a C library and they implement the C library functions they need. However, for Linux user space applications, a POSIX-compliant C library is needed.
The GNU C library, glibc
, is the default C library used in the Yocto project. Yocto is introducing...