four things will affect general binary compatibility: CPU architecture and vendor initial options: i486-pc (any CPU with Intel 80486 microarchitecture) x86_64-pc (any CPU with AMD64 or Intel 64 architecture) arm*-* (some SoC with a microprocessor implementing some ARM ISA) planned future options: i586-pc (any CPU with Intel P5 microarchitecture) i686-pc (any CPU with Intel P6 or any successive microarchitecture) mips*-* powerpc*-* kernel initial options: linux different hardware targets will be built with different configs planned future options: knetbsd system libraries initial options: eglibc portable C/C++ library: works with almost any kernel optimized for speed rather than for space (big and fast) planned future options: uclibc* different configurations of uClibc can be ABI-incompatible only works with Linux optimized for space rather than for speed (small and slow) example architecture string: x86_64-pc-linux-eglibc