[ANNOUNCEMENT] Assorted MinGW-w64 toolchain libraries and tools

Tony Kelman tony@kelman.net
Sun Feb 14 20:02:00 GMT 2016

>> LLVM/Clang version bumps are time-consuming to get right. I actually
>> looked at 3.6, but MCJIT did not work OOTB with PE/COFF targets. I'll
>> have to see what the story is with 3.7.
> Understandable. 3.8 is in RC right now so maybe try building the
> release_38 branch if you get to it soon, otherwise wait a few weeks.
> I'm trying to figure out how to cross-build mingw llvm via cmake
> now that they've deprecated autotools (it's still there in 3.8 with
> a warning, but has been deleted on trunk which will become 3.9).

Okay, just FYI, building LLVM 3.8 or newer will fail with a win32-threads
build of mingw-w64 unless you build with LLVM_ENABLE_THREADS=0
and completely stub out lib/Support/ThreadPool.cpp. We're using MCJIT
(actually the new ORCJIT) in Julia and it's slower than the old JIT but
mostly works.

> I'll check your i686-libgit2 package soon, but I suspect it may be
> affected by https://github.com/libgit2/libgit2/issues/3342 and need
> to be built with -mincoming-stack-boundary=2


$ echo '#include "git2.h"
void main() {
    git_repository* repo_ptr = NULL;
    char* repo_url = "https://github.com/JuliaLang/Example.jl";
    char* repo_path = "Example.Bare";
    git_clone_options clone_opts = GIT_CLONE_OPTIONS_INIT;
    clone_opts.bare = 1;
    git_clone(&repo_ptr, repo_url, repo_path, &clone_opts);
}'> clonetest.c

$ i686-w64-mingw32-gcc -L/usr/i686-w64-mingw32/sys-root/mingw/bin \
  -lgit2 clonetest.c -g -o /usr/i686-w64-mingw32/sys-root/mingw/bin/clonetest.exe

$ gdb -q /usr/i686-w64-mingw32/sys-root/mingw/bin/clonetest.exe
Reading symbols from /usr/i686-w64-mingw32/sys-root/mingw/bin/clonetest.exe...done.
(gdb) r
Starting program: /usr/i686-w64-mingw32/sys-root/mingw/bin/clonetest.exe
[New Thread 8788.0x794]
[New Thread 8788.0x209c]
[New Thread 8788.0x638]
[New Thread 8788.0x123c]

Program received signal SIGSEGV, Segmentation fault.
0x6ccf9188 in libgit2!git_filebuf_commit ()
   from /usr/i686-w64-mingw32/sys-root/mingw/bin/libgit2.dll

(be sure to `rm -rf Example.Bare` between runs of this test program)

Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list