Linux FAQ

Seção 5. Portando, compilando e obtendo programas




Questão 5.4. É possível usar um programa ou compilador compilado para um 486 em um 386?

Sim, a menos que seja o kernel.

A opção -m486 do GCC, que é usado para compilar binários para máquinas 486, meramente faz algumas certas otimizações. Isso produz binários levemente maiores que rodam um pouco mais rápido em um 486. Porém eles ainda funcionam perfeitamente em um 386, apesar de uma pequena queda em sua performance.

Todavia, apartir da versão 1.3.35, o kernel usará instruções específicos de 486 em Pentium, se configurado para tais máquinas, impossibilitando a utilização deles em 386s.

O GCC pode ser configurado para 386 ou 486; a única diferença é que configurando-o para um 386, faz com que -m386 seja default e configurando-o para um 486, faz com que -m486 seja o default. Em qualquer caso, essa opção pode ser mudada em cada compilação ou editando /usr/lib/gcc-lib/i*-linux/n.n.n/specs.

Existe uma versão alpha do GCC que sabe fazer otimizações para 586, mas ele ainda não é confiável, especialmente se forem pedidas muitas otimizações. O GCC para Pentium pode ser encontrado em tsx-11.mit.edu em /pub/linux/ALPHA/pentium-gcc. Recomendo usar o GCC normal para 486; diz-se que usando-se a opção -m386 produz código melhor para o Pentium, ou pelo menos um pouco menor.


Voltar para o Índice