currently the linux-mod.eclass does a half-ass job and sets up HOSTCC/CC/LDFLAGS, but not the actual linker (LD) which means using the eclass to actually cross-compile fails i cant quite fathom why the eclass jumps through hoops to explicitly set these things ... seems to me it should just set CROSS_COMPILE to ${CHOST}- and be done also, the ARCH stuff should use the helper functions set_arch_to_kernel and set_arch_to_portage rather than saving/restoring ARCH by itself ...
CROSS_COMPILE change is here: http://sources.gentoo.org/eclass/linux-mod.eclass?r1=1.82&r2=1.83 the ARCH change is here: http://sources.gentoo.org/eclass/linux-mod.eclass?r1=1.83&r2=1.84