hello, I'm currently trying to create x86_64 crosschain and found several issues :
1)glibc won't compile on linux plateforms if threads aren't compiled 2)methods given on the wiki help to create a 1rst stage crosscompiler that can't compile glibc with threads this issue is fixed by installing glibc's headers on the target filesystem first and then create the crosscompiler.... but strangely there is a new issue that appears then : the ./xgcc commands in gcc/Makefile.in dont use the --with-local-prefix= as -isystem => headers of the "target" aren't used.... then thread support can't be activated, then glibc can't be compiled... this is fixed by doing : --- gcc-3.4.3/gcc/Makefile.in 2005-05-21 10:35:08.613136000 +0200 +++ gcc-3.4.3-new/gcc/Makefile.in 2005-05-21 11:33:50.124784872 +0200 @@ -286,7 +286,7 @@ # The GCC to use for compiling libgcc.a and crt*.o. # Usually the one we just built. # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS). -GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -L$(objdir)/../ld +GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem $(local_prefix)/include -isystem $(build_tooldir)/sys-include -L$(objdir)/../ld but then I get 2 different comportements when compiling gcc : 1) if I compile from the top source directory I get the same result as if the patch wasn't applied (in fact instead of ./xgcc I get /usr/src/sorcery/gcc-3.4.3/gcc/xgcc [/usr/src/sorcery/gcc-3.4.3 is the top build dir]) seems that those values commes from configure script... 2)if I do a cd gcc && make then everything finish fine..... and I have a crosscompiler with thread support.... -- Summary: creating first stage compiler Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jlm_devel at laposte dot net CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21698