Why do we have a CHOST in make.conf? Today an user copied make.conf from glibc system to musl system and got broken gcc. Which is expected on it's own. But why do we have CHOST in make.conf nowadays? I guess in the olden days profiles/ did not define as many critical variables. But today it's LIBDIR_${ABI}, ${ABI} and similar. WDYT of stopping populating CHOST in a fresh make.conf systems? That means more systems would have to rely heavily on valid profiles accessed early (catalyst?). But generally I think it should be fine. We can require explicit CHOST for special profiles like embedded. But that could be handled by tools that generate the make.conf (crossdev).
releng populates CHOST in make.conf that gets shipped in stage3 to users. so probably worth re-assigning to releng?
Sounds good.
Another exception would be i486 stages, which use a profile that has CHOST="i686-pc-linux-gnu".
In many cases it's gone now.