Hi, Kai & Andrew, Anyway, for one cross-compiler, even building gcc causes to "fix" header files again, the header files should be from the cross-compiler itself, instead of /usr/include, is it right? If possible, I think gcc build process should be updated as: 1. use header files from cross-compiler. (Does current gcc support this? How to do?) 2. if the headerfiles have been fixed already, skip fixing and copy them directly. B.R. Harry > -----Original Message----- > From: Kai Ruottu [mailto:kai.ruottu@xxxxxxxxxxx] > Sent: Wednesday, December 02, 2009 5:46 PM > To: He Yunlong-B20256 > Cc: gcc-help@xxxxxxxxxxx > Subject: Re: One question about gcc fix_includes > > He Yunlong-B20256 wrote: > > Hi, Experts, > > > > We are using one cross-compiler to compile native gcc, > in out test, > > we found that gcc will created "fixed includes" from host > glibc header > > files, I think they should come from the header files inside of the > > cross-compiler, can anyone confirm that? > > > > Ok, maybe the headers could be fixed once again - they were > already fixed during the cross- compiler build - but why? > Maybe all the target libraries could be built again - they > were already built during the cross-compiler build - but why? > > I myself have never thought that in a Canadian Cross these > tasks should be done again, I have only produced the required > executables for the new $host and been happy with them alone... > > Nowadays the majority of the by GCC-build produced $target > stuff resides in : > > $prefix/lib/gcc/$target/$gcc-version > > separate from the primary $host ($build host) stuff in : > > $prefix/libexec/gcc/$target/$gcc-version > > including the fixed target headers in 'include-fixed'. So > what is the problem with just copying this directory "as it > is" onto the secondary $host ? > > Furthermore the GCC install wouldn't copy the binutils > neither the target C libraries onto the another, 'secondary', > $host, so in any case there will be some manual > work :( What to > automatize and what not, that's the question... > > Generally in some cases like those handling two "full > systems" like Linux and Solaris, cross- producing tools for > another, could benefit from pre-installing the stuff onto the > $build system for easy tarballing, ie installing it onto the > already existing $sysroot made for the "native" > stuff like its base C library. But should the stuff be > produced first again with the cross-compiler or simply be > copied from the cross-compiler? > >