I've had some fun tracking down this issue - if I build an initramfs on a host directly I can't boot with it in a VM (and other machines), if I build it in the VM it works everywhere. So the difference is mostly that the host has CFLAGS="-march=native", but even if I set CFLAGS to something very boring the resulting initramfs explodes. After some cpio take-aparting I noticed: ls lib/ keymaps ld-linux-x86-64.so.2 libblkid.so.1 libc.so.6 libuuid.so.1 modules hmm, is that ... glibc from the host? Infected with ungood CFLAGS? Yes, that's exactly what copy_binaries() in /usr/share/genkernel/gen_initramfs.sh does. Oh my, who would do such a cruel thing and make an unportable initramfs ...
Starting With genkernel-4.0.0-beta.1, we no longer copy random bits from host environment.