The CHOST variable tells the compiler which platform code should be built for. Unlike the CFLAGS variable, which is used for the optimizations, the CHOST variable is fixed and cannot be changed easily.
The profile provides the default CHOST values, but it can be changed in the /etc/portage/make.conf file.
The variable is a dash-separated tuple in the form of ARCH-VENDOR-OS-LIBC:
|ARCH||Specifies the CPU architecture.|
|VENDOR||Specifies the hardware platform or vendor.|
|OS||Specifies the operating system.|
|LIBC||Specifies the C library to use.|
Only ARCH is strictly required in all cases, but it is good practice to specify all four fields (for Linux machines at least). The LIBC field is not supported for Gentoo/FreeBSD, so for these machines it must always be omitted.
The following table lists some field values known to work:
|Architecture||Vendor||Operating System||C Library|