Ping!
Am 29.08.2015 um 23:00 schrieb Kai Tietz:
>
> Am 09.08.2015 19:17 schrieb "Mattias Engdegård" <[email protected]
> <mailto:[email protected]>>:
>>
>> 7 aug 2015 kl. 14.50 skrev Rainer Emrich <[email protected]
> <mailto:[email protected]>>:
>>
>> > This fixes the issue, libgom.sum attached. Can we have this in head and in
>> > 4.x ?
>>
>> That is probably the expedient solution even if we eventually get libgomp
> fixed. (The patch adds an extra cycle or two on some critical paths but I
> suppose we can live with that.)
>
> Agreed. We need to support also versions without such fix.
diff --git a/mingw-w64-libraries/winpthreads/src/mutex.c
b/mingw-w64-libraries/wi
index fec341a..6e1b392 100644
--- a/mingw-w64-libraries/winpthreads/src/mutex.c
+++ b/mingw-w64-libraries/winpthreads/src/mutex.c
@@ -56,7 +56,10 @@ typedef struct {
static bool
is_static_initializer(pthread_mutex_t m)
{ - - return (uintptr_t)m >= (uintptr_t)-3;
+ /* Treat 0 as a static initializer as well (for normal mutexes),
+ to tolerate sloppy code in libgomp. (We should rather fix that code!) */
+ intptr_t v = (intptr_t)m;
+ return v >= -3 && v <= 0;
}
/* Create and return the implementation part of a mutex from a static
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public