Right now, crossdev uses the host keyword when there is no way to map the target tuple to a Portage keyword, but this creates a problem when building a -elf target that requires newlib (as that is available only for ~ppc and ~ppc64). While it could be just marked ~arch for other architectures, it might be simpler to just set TARCH=* when the architecture is not mappable, so that whatever is in ~ in Portage (i.e.: not masked nor without keywords) will be used.
done