[cfe-dev] mingw-w64 support

Ruben Van Boxem vanboxem.ruben at gmail.com
Thu Oct 14 10:07:38 PDT 2010


2010/10/13 Anton Korobeynikov <anton at korobeynikov.info>

> > 1. CMake detects platform as i686-pc-mingw32, while my compiler is very
> > clearly x86_64-w64-mingw32.
> Ok, sounds like cmake bug.
> > 2. Build at 55%, tblgen.exe crashes. The build then freezes (kill and
> > restart, it skips and fails at the error below)
> > 3. 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::OwningPtr<llvm::Matcher>&) ()

... (998 times the same!)

#997 0x000000000048ec1a in FactorNodes(llvm::OwningPtr<llvm::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:
1. to compile Clang
2. show it how to use the mingw-w64 runtime (and compile this runtime with
clang)
3. 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!

Ruben

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...)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20101014/4511673d/attachment.html>


More information about the cfe-dev mailing list