[cfe-dev] mingw-w64 support

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


2010/10/14 Ruben Van Boxem <vanboxem.ruben at gmail.com>

> 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...)
>

An idea just popped into my mind: why not use MSVC to compile Clang, and
compile the mingw-w64 runtime with that Clang compiler, and recompile clang
with clang? This would require me to have some details on steps 2 and 3 from
above though.

Ruben

PS: so this is what I mean:
1. build MSVC Clang x64 running on MS runtime
2. build mingw-w64 runtime with Clang x64
3. build Clang x64 based on mingw-w64 runtime from 2 (how do I do this??)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20101014/ff7c2ac9/attachment.html>


More information about the cfe-dev mailing list