Por conveniência, estou tentando executar uma instalação "regular" do Gentoo Linux como convidado dentro do VirtualBox em um host do Windows 7. Eu bootstrapped a instalação usando o VirtualBox, mesmo. Mas agora, após cerca de um ano de inevitavelmente reconstruir todos os pacotes no Portage com -march = native nas minhas flags do compilador, descobri que todos os programas não-triviais (trivial = ls, cd, cat, nontrivial = vim, man, basicamente qualquer coisa ligada à biblioteca padrão c ++) são mortos quase imediatamente na inicialização. O log do kernel indica instruções ilegais, como se o programa fosse compilado com extensões de CPU que a CPU do host não suportava. Mas isso acontece! Meu entendimento de hipervisores como o VirtualBox é que os programas ainda devem estar rodando basicamente em hardware, seu maior papel é manter o SO guest e sua área de usuário e o sistema operacional do host e a memória virtual de seu site separada.
Minha pergunta é: o que dá? As VMs só podem usar algumas das instruções disponíveis na CPU do host? Ou isso é um problema totalmente diferente?