Exacto... los CHOSTs del tipo
i?86-pc-linux-gnu son todos iguales.. de hecho para compilar con máquinas nuevas (i.e. i686) para máquinas antiguas (i.e. i586) con distcc tienes que hacer simplemente unos enlaces simbólicos. Si fuera un cross-compiling real, tendrías que compilar un toolchain completamente nuevo para 'cambiar de CHOST.
Como ejemplo tonto podemos demostrar que compiladores distintos se comportan de forma distinta para las mismas flags:
[ $ ~ ] uname -mp
i686 AMD Athlon(TM) XP 2000+
[ $ ~ ] cat p.c
#include <stdio.h>
int main(int argc, char *argv[])
{
static const char *something = "'moin world";
printf("%s\n",something);
return 0;
}
[ $ ~ ] gcc -o p-i586 -march=i586 p.c
[ $ ~ ] gcc -o p-i686 -march=i686 p.c
[ $ ~ ] gcc -o p-ev45 -march=ev45 p.c
cc1: error: bad value (ev45) for -march= switch
cc1: error: bad value (ev45) for -mcpu= switch
(en otra máquina)
ferdy@pas ~ $ uname -mp
alpha EV45
ferdy@pas ~ $ cat p.c
#include <stdio.h>
int main(int argc, char *argv[])
{
static const char *something = "'moin world";
printf("%s\n",something);
return 0;
}
ferdy@pas ~ $ gcc -o p-i586 -mcpu=i586 p.c
cc1: error: bad value `i586' for -mcpu switch
ferdy@pas ~ $ gcc -o p-i686 -mcpu=i686 p.c
cc1: error: bad value `i686' for -mcpu switch
ferdy@pas ~ $ gcc -o p-ev4 -mcpu=ev4 -mieee p.c
ferdy@pas ~ $ gcc -o p-ev45 -mcpu=ev45 -mieee p.c
Eso es una prueba tonta... y lo siguiente no lo puedo demostrar 'aun'; asi que tendrás que creertelo jeje. Todos los compiladores que hay en máquinas x86 (los CHOSTs
i?86-pc-linux-gnu) generan el mismo código para las mismas flags.
En alpha tenemos un solo CHOST:
alpha-unknown-linux-gnu y es capaz de 'entender' las flags de todos los alpha[*]. En x86 debería haber un solo CHOST:
i386-pc-linux-gnu o
x86-pc-linux-gnu ya que todos los
i?686-pc-linux-gnu se comportan de la misma forma.
----> Resumen, dos CHOST son distintos si se comportan de forma distinta para los mismos flags; y son el mismo si se comportan de la misma forma (i.e. fallan o generan el mismo código).
Gah ! espero que esto aclare algo...
Saludos.Ferdy