Por conveniencia, estoy intentando ejecutar una instalación "normal" de Gentoo Linux como invitado dentro de VirtualBox en un host de Windows 7. Incluso inicié la instalación usando VirtualBox. Pero ahora, después de aproximadamente un año de reconstruir inevitablemente todos los paquetes en Portage con -march=native en las opciones de mi compilador, descubrí que todos los programas no triviales (trivial = ls, cd, cat, nontrivial = vim, man, básicamente cualquier cosa vinculada a la biblioteca estándar de C++) se eliminan casi inmediatamente al inicio. El registro del kernel indica que atrapó instrucciones ilegales, como si el programa fuera compilado con extensiones de CPU que la CPU host no admitía. ¡Pero lo hace! Mi comprensión de los hipervisores como VirtualBox es que los programas aún deberían ejecutarse básicamente sin sistema operativo, su función más importante es mantener separados el sistema operativo invitado y su área de usuario y el sistema operativo anfitrión y la memoria virtual de su área de usuario.
Mi pregunta es, ¿qué da? ¿Las máquinas virtuales solo pueden utilizar algunas de las instrucciones disponibles en la CPU del host? ¿O es este un problema completamente diferente?