conceptual help

Thomas Petazzoni thomas.petazzoni@free-electrons.com
Tue Feb 9 08:15:00 GMT 2010


On Mon, 8 Feb 2010 17:32:45 -0300
Diego Saravia <dsa@unsa.edu.ar> 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
families.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list