[Mesa-dev] [PATCH 4/4] Disable use of weak in threads_posix.h on Cygwin

Jon Turney jon.turney at dronecode.org.uk
Mon Jun 13 14:12:33 UTC 2016


Weak doesn't work the same on PE/COFF as on ELF, they are only weak
references.  Specifically, since nothing else pulls in the object which
contains pthread_mutexattr_init() (and coming from the C library, that is
the only thing that object contains), means that it ends up as 0

Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
---
 include/c11/threads_posix.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
index 61b7fab..43e803e 100644
--- a/include/c11/threads_posix.h
+++ b/include/c11/threads_posix.h
@@ -184,7 +184,7 @@ mtx_destroy(mtx_t *mtx)
  * Thus the linker will be happy and things don't clash when building
  * with -O1 or greater.
  */
-#ifdef HAVE_FUNC_ATTRIBUTE_WEAK
+#if defined(HAVE_FUNC_ATTRIBUTE_WEAK) && !defined(__CYGWIN__)
 __attribute__((weak))
 int pthread_mutexattr_init(pthread_mutexattr_t *attr);
 
-- 
2.8.3



More information about the mesa-dev mailing list