Hi everyone,

Continuing my extreme success, I have created another gem for you to use and
enjoy. I have built the latest GCC 4.6, applied the posix threading patch
using winpthread as a threading library, and am able to bring you almost all
joys of C++11 std::thread and other hidden GCC threading gems (Frankly, I
don't know of any, but it wouldn't surprise me if there were some
pthreads-only features in GCC). I decided to do away with the normal win32
threaded builds to favor these more functional ones. Some notes so you don't
get lost or confused:

 - posix threaded GCC does not mean native Win32 threads are off limits.
This is only an internal GCC configuration option, that is used in the
runtime libraries. So you'll need to distribute libwinpthread-1.dll along
with libgcc_s_sjlj-1.dll with your programs if you get a crash on startup
without it. Licenses are not a problem. Winpthreads is part of MinGW-w64's
experimental branch, and is a candidate for inclusion in the main CRT once
it gets past its baby-steps.
 - I re-enabled optimizations, which means all binaries are build with:
"-O2 -mtune=core2 -fomit-frame-pointer -momit-leaf-frame-pointer" , plus a
bunch of graphite optimization options for non-Mac builds (GCC 4.2 does not
have graphite). Theoretically, this should result in improved performance vs
the other recent builds, just like in my first builds.
 - Full Mac (32-bit), Cygwin, and Linux (64-bit) cross-compiler support.
 - Clang 3.0 is in Release Candidate, so I have shipped a Clang 3.1 (top of
SVN trunk, as always). Not much change going on here in the Windows support
(yet), I did get id of the dllexport/dllimport problems for 64-bit.
Exporting whole classes is not yet available, making C++ a dodgy business
still.
 - If demand is high enough (and I find the time) I'll throw together a GCC
4.7 in the near future as well, although this one will still have no Mac
cross-compiler because the build fails.

I attempted to also build 64-bit Mac and 32-bit Linux binaries, but failed.
Any ideas or experiences on how to cross-compile a full toolchain from
64-bit Linux for 32-bit Linux are welcome. I am working on porting libc++ to
Windows. GCC is not ready for it, and Clang doesn't support exceptions on
Windows, so I could use any help anyone is willing to give to get solid
exception handling in LLVM/Clang for Windows. sjlj is not really an option,
as LLVM only supports it for ARM, and they like zero-cost exceptions a lot
better. On Windows, this would mean some form of SEH support, with
supporting unwind and libcxxrt libraries. Capable volunteers are welcome to
help here ;-) (I'm far too dumb to attempt this...)

If there are any problems, please let me know via this list so I can see
what can be done to fix them.

Ruben

PS: links are below
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/4.6.3/
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/4.6.3/
http://sourceforge.net/projects/mingw-w64/files/Toolchain%20sources/Personal%20Builds/rubenvb/gcc-4.6.3_rubenvb.tar.lzma/download
------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook 
in minutes. BlackBerry App World™ now supports Android™ Apps 
for the BlackBerry® PlayBook™. Discover just how easy and simple 
it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to