2010/10/13 Anton Korobeynikov <firstname.lastname@example.org>
- CMake detects platform as i686-pc-mingw32, while my compiler is very
Ok, sounds like cmake bug.
- Build at 55%, tblgen.exe crashes. The build then freezes (kill and
restart, it skips and fails at the error below)
- At 56%, build fails at an undeclared symbol: “SelectCode”. This is
probably due to number 2
I have no idea what tblgen.exe is supposed to do or why it crashes. How
should I proceed?
Sounds like a gcc bug. The ideal solution will be for you to find
what’s causing such problem and file a PR in gcc’s bugzilla.
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
The gdb stacktrace on the tblgen command that crashes is below:
#0 0x000000000048eb84 in FactorNodes(llvm::OwningPtrllvm::Matcher&) ()
… (998 times the same!)
#997 0x000000000048ec1a in FactorNodes(llvm::OwningPtrllvm::Matcher&) ()
#998 0x0000000000490283 in llvm::OptimizeMatcher(llvm::Matcher*, llvm::CodeGenDAGPatterns const&) ()
#999 0x0000000000480f48 in llvm::DAGISelEmitter::run(llvm::raw_ostream&) ()
#1000 0x0000000000523928 in main ()
Should I enable debug info (how?) or is this as complete as it gets?
My plan is to be able to replace GCC completely by Clang. So I need:
- to compile Clang
- show it how to use the mingw-w64 runtime (and compile this runtime with clang)
- test the bejeezus out of it
1 is a work in progress, I’m trying a GCC 4.4 build now, it wouldn’t surprise me that 4.5 is the cause of this crash. Once I have a working Clang for Win64 this will be a non-issue of course (I would use clang to build clang).
I have absolutely no idea how to set up 2 and 3. Any help/guidance is much appreciated. With GCC, it’s pretty much:
- build deps (gmp, mpc, mpfr)
- build gcc c compiler
- use new compiler to build mingw-w64 runtime
- use new mingw-w64 runtime to build full GCC (C++, etc)
How would this go with Clang?
Thanks for helping me help you help me help mingw-w64!
PS: thank you for the CMake patch. It works (as far as I can tell) Does it do anything except change the printed triplet? (like ABI choosing, defines…)