This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: [ANNOUNCEMENT] Assorted MinGW-w64 toolchain libraries and tools
- From: Tony Kelman <tony at kelman dot net>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Sun, 14 Feb 2016 12:02:29 -0800
- Subject: RE: [ANNOUNCEMENT] Assorted MinGW-w64 toolchain libraries and tools
- Authentication-results: sourceware.org; auth=none
- References: <announce dot 56BB74B0 dot 8010306 at cygwin dot com> <loom dot 20160210T212108-245 at post dot gmane dot org>,<56BBDCBE dot 2050208 at cygwin dot com>,<BAY169-W1394D7AC30EB8F5CC92A73BA7A80 at phx dot gbl>
>> 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
Confirmed.
$ 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_libgit2_init();
git_clone(&repo_ptr, repo_url, repo_path, &clone_opts);
git_libgit2_shutdown();
}'> clonetest.c
Tony@LAPTOP-O230JCFF ~
$ 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
Tony@LAPTOP-O230JCFF ~
$ 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