Dear Kai Ruottu, Very nice explanation. thank you. What GMP and MPFR could be, you think. Are they some other components of GCC? On Tue, Oct 19, 2010 at 1:18 PM, Kai Ruottu <kai.ruottu@xxxxxxxxxxx> wrote: > 19.10.2010 12:05, ali hagigat kirjoitti: > >> gcc version 4.4.2 20091222 (Red Hat 4.4.2-20) (GCC) >> COLLECT_GCC_OPTIONS='-o' 'my.o' '-v' '-mtune=generic' '-march=i686' > > The previous should come from 'gcc'... > >> /usr/libexec/gcc/i686-redhat-linux/4.4.2/cc1 -quiet -v my.c -quiet >> -dumpbase my.c -mtune=generic -march=i686 -auxbase my -version -o >> /tmp/cc6TePcE.s > > Just as this, showing how and from where 'cc1' was started... > >> ignoring nonexistent directory >> "/usr/lib/gcc/i686-redhat-linux/4.4.2/include-fixed" >> ignoring nonexistent directory >> >> "/usr/lib/gcc/i686-redhat-linux/4.4.2/../../../../i686-redhat-linux/include" >> #include "..." search starts here: >> #include<...> search starts here: >> /usr/local/include >> /usr/lib/gcc/i686-redhat-linux/4.4.2/include >> /usr/include >> End of search list. > > The preprocessor part of 'cc1' gives the previous... > >> GNU C (GCC) version 4.4.2 20091222 (Red Hat 4.4.2-20) (i686-redhat-linux) >> compiled by GNU C version 4.4.2 20091222 (Red Hat 4.4.2-20), GMP >> version 4.3.1, MPFR version 2.4.1. >> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 >> Compiler executable checksum: ce871bdaf8715137a79dafbeccd13c96 >> COLLECT_GCC_OPTIONS='-o' 'my.o' '-v' '-mtune=generic' '-march=i686' > > This then came from the C compiler part... > >> as -V -Qy -o /tmp/ccQBskTq.o /tmp/cc6TePcE.s >> GNU assembler version 2.19.51.0.14 (i686-redhat-linux) using BFD >> version version 2.19.51.0.14-34.fc12 20090722 > > The assembler ('as') gave this... > >> >> COMPILER_PATH=/usr/libexec/gcc/i686-redhat-linux/4.4.2/:/usr/libexec/gcc/i686-redhat-linux/4.4.2/:/usr/libexec/gcc/i686-redhat-linux/:/usr/lib/gcc/i686-redhat-linux/4.4.2/:/usr/lib/gcc/i686-redhat-linux/:/usr/libexec/gcc/i686-redhat-linux/4.4.2/:/usr/libexec/gcc/i686-redhat-linux/:/usr/lib/gcc/i686-redhat-linux/4.4.2/:/usr/lib/gcc/i686-redhat-linux/ >> >> LIBRARY_PATH=/usr/lib/gcc/i686-redhat-linux/4.4.2/:/usr/lib/gcc/i686-redhat-linux/4.4.2/:/usr/lib/gcc/i686-redhat-linux/4.4.2/../../../:/lib/:/usr/lib/ >> COLLECT_GCC_OPTIONS='-o' 'my.o' '-v' '-mtune=generic' '-march=i686' >> /usr/libexec/gcc/i686-redhat-linux/4.4.2/collect2 --eh-frame-hdr >> --build-id -m elf_i386 --hash-style=gnu -dynamic-linker >> /lib/ld-linux.so.2 -o my.o >> /usr/lib/gcc/i686-redhat-linux/4.4.2/../../../crt1.o >> /usr/lib/gcc/i686-redhat-linux/4.4.2/../../../crti.o >> /usr/lib/gcc/i686-redhat-linux/4.4.2/crtbegin.o >> -L/usr/lib/gcc/i686-redhat-linux/4.4.2 >> -L/usr/lib/gcc/i686-redhat-linux/4.4.2 >> -L/usr/lib/gcc/i686-redhat-linux/4.4.2/../../.. /tmp/ccQBskTq.o -lgcc >> --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s >> --no-as-needed /usr/lib/gcc/i686-redhat-linux/4.4.2/crtend.o >> /usr/lib/gcc/i686-redhat-linux/4.4.2/../../../crtn.o > > The linker ('collect2' & 'ld') gave this... > > So the preprocessor and the real compiler are nowadays integrated > into the 'cc1' executable in '$prefix/libexec/gcc/$target/$gcc_version'. >