2010/10/13 Kai Tietz <[email protected]>
> Hello K. Frank,
>
> First, I appreachiate your effort here and indeed did we made up plans
> to solve this issues for mingw-w64. But I am sure this discussion is
> of some worth to mingw.org, too.
>
> 2010/10/13 K. Frank <[email protected]>:
> > I haven't the faintest idea about how to integrate this stuff with the
> mingw
> > proper. One issue (among many) is that I am ill equipped to test on
> anything
> > other than 64-bit windows 7. Because my implementation works with
> mingw32
> > and mingw-w64 with essentially no differences, and because the gnu
> sources
> > seem to have support for mingw -- for example, the gnu sources contain
> > gthr-win32.h:
> >
> > http://gcc.gnu.org/viewcvs/trunk/gcc/config/i386/gthr-win32.c
>
> The implementation in gcc in gthr-win32.h (and there is the .c file in
> /config/i386/gthr-win32.c) in gcc's source tree are implemented for
> i486 and newer CPU version. And this API provides just a limited set
> of threading API. For gcc it is very essential that its code supports
> older Windows Operating Systems, too. Also you need to make papers to
> FSF before posting there (but this is just a side-note and easy to
> solve).
>
> > perhaps it makes sense to integrate this directly into the gnu sources,
> > rather than as a patch specific to mingw. Any thoughts or guidance on
> > this would be appreciated.
> >
> > The gnu sources have a test suite for std::thread:
> >
> >
> http://gcc.gnu.org/viewcvs/trunk/libstdc%2B%2B-v3/testsuite/30_threads/
>
> Well, this is the gcc testsuite and it gets regular ran by many
> people. NightStrike even post its results regulary to gcc's ML.
>
> > I've been running some of these manually, but it's rather tedious. It
> looks
> > like those tests are designed to be run by some automated testing
> framework
> > that I don't have (and don't particularly desire to set up). Is there
> some
> > way I can get help testing on other platforms, and with the automated
> test
> > suite?
>
> See the how-to on gcc's Wiki about testsuite.
>
> > I am not sure of the best way to handle copyrights and licensing. What's
> the
> > conventional wisdom on how to handle this, both for new files and for
> modified
> > files?
> Well, license is here the "jumping point". The pthread-win32 project
> is LGPL, which isn't bad, but has some unwanted side-effects to its
> users, as it disallows the use of static libraries in none-GPLed code
> As we - and I assume it is the same for mingw.org - are having the
> goal to provide the base runtime so, that every user can use it
> without any implication due license, we decised to start a new project
> "winpthread" (to be found on our experimental repository tree) having
> a more *free* license, which we will integrate into our base runtime
> after tests are done. When we have achieved this, I plan to change
> gthr-win32 in gcc so, that it can use the pthread layer for Windows
> targets - if available.
>
> > Thanks for any help and advice.
> >
> >
> > K. Frank
>
> Best regards,
> Kai
>
> --
> | (\_/) This is Bunny. Copy and paste
> | (='.'=) Bunny into your signature to help
> | (")_(") him gain world domination
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
This is great news, on both fronts. There is one point from the previous
discussion I would like to bring up though: native win32 threads vs pthread
emulation. As Frank has done work on implementing via native threads,
perhaps the new winpthread code can be used as a fallback (for pre-Vista
machines) to the native implementation. How this could be accomplished?
Perhaps through an ifdef for WINNT_VER and apply the relevant code through
that? The rationale behind this would be performance, and that would of
course need to be tested before such a decision is made IMHO. This would on
the other hand require two seperate source codes to be maintained/tested. On
the other hand, I don't think pthreads-win32 was ever without bugs?
Awesome stuff, thank you Frank and Kai!
Ruben
PS: Will a native/winpthread <thread> implementation allow pthreads-win32 to
be dumped for the implementation of libgomp?
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public