As máquinas virtuais não permitem todas as extensões de CPU do host?

As máquinas virtuais não permitem todas as extensões de CPU do host?

Por uma questão de conveniência, estou tentando executar uma instalação "normal" do Gentoo Linux como convidado dentro do VirtualBox em um host do Windows 7. Eu inicializei a instalação usando o VirtualBox, até. Mas agora, depois de cerca de um ano reconstruindo inevitavelmente todos os pacotes no Portage com -march=native nas flags do meu compilador, descobri que todos os programas não triviais (trivial = ls, cd, cat, nontrivial = vim, man, basicamente qualquer coisa vinculada à biblioteca padrão c++) são eliminadas quase imediatamente na inicialização. O log do kernel indica que ele prendeu instruções ilegais, como se o programa tivesse sido compilado com extensões de CPU que a CPU do host não suportava. Mas acontece! Meu entendimento de hipervisores como o VirtualBox é que os programas ainda devem estar rodando basicamente em bare-metal, sua maior função é manter o sistema operacional convidado e sua área de usuário e o sistema operacional host e a memória virtual de sua área de usuário separados.

Minha pergunta é: o que acontece? As VMs só podem usar algumas das instruções disponíveis na CPU do host? Ou este é um problema totalmente diferente?

informação relacionada