tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: Upgrading toolchain gcc to 7.2



Martin Husemann writes:
> On Tue, Jan 09, 2018 at 08:22:25AM +0100, rchmielarz . wrote:
> > 3) A more general question about the build system. I understand that
> > /tools/gcc has the makefiles for building the cross-compilation toolchain.
> > But what is the purpose of /external/gpl3/gcc/lib and usr.bin. Why do they
> > have to be separate from the ../dist? And how have You came up what files
> > to include in those tools?
> 
> I can't really tell the purpose of other patches (unless they are explained
> in the commit log), but this part I can explain:
> 
> We do not want to run autoconfig like things as part of the regulary build.
> We use them for building the tools part, but after that, everything should
> be strictly reproducable and not influenced by host system details.
> 
> So we pre-run those, and commit the results.
> 
> I guess the best start to understand the procedure is:
> 
> 	src/tools/gcc/README.mknative

i will note that we actually run a ./configure for a host libiberty
as part of the normal GCC build, outside the tools build, but this
only to provide a libiberty for the GCC generator tools.  what martin
says is largely true otherwise, but it's more as well.

there's a multi-stage build process to fully bootstrap GCC with
shared library support normally, that would require building
GCC and libc twice, and we save having to do that by having all
the relevant target info stored (it's host info that is the
exception above.)


.mrg.


Home | Main Index | Thread Index | Old Index