conceptual help

Thomas Petazzoni
Tue Feb 9 08:15:00 GMT 2010

On Mon, 8 Feb 2010 17:32:45 -0300
Diego Saravia <> wrote:

> I dont understand why to use i586 i686 x86_64, etc as targets if gcc
> produces only one excecutable for all i386 and x86_64 processors
> it is not better to have only one gcc-binary, aka i386-gcc for all
> that processors and use "i386-gcc -march=i586",  "i386-gcc
> -march=i686" and  "i386-gcc -march=x86_64"?

Yann will correct me if I'm wrong, but the thing is that the C library
is built as part of the cross-compiling toolchain. And the C library is
compiled for the target, and we might want to compile this code for the
target with a specific CPU in mind, in order to generate better code
when possible. Otherwise, we would always have to compile the C library
for the smallest common denominator: i386, which prevents us from using
improvements of the instruction sets on i486, Pentium and further

Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.

For unsubscribe information see

More information about the crossgcc mailing list