--- a/src/gallium/winsys/svga/drm/vmw_screen.h.orig	2015-05-07 14:02:28.033079796 +0200
+++ b/src/gallium/winsys/svga/drm/vmw_screen.h	2015-05-07 14:02:48.832054666 +0200
@@ -35,6 +35,8 @@
 #define VMW_SCREEN_H_
 
 
+#include <sys/types.h> 	/* dev_t */
+
 #include "pipe/p_compiler.h"
 #include "pipe/p_state.h"
 
--- a/src/gallium/state_trackers/nine/threadpool.h.orig	2015-05-07 14:10:53.443337212 +0200
+++ b/src/gallium/state_trackers/nine/threadpool.h	2015-05-07 14:11:04.210307653 +0200
@@ -24,6 +24,8 @@
 #ifndef _THREADPOOL_H_
 #define _THREADPOOL_H_
 
+#include <pthread.h>
+
 #define MAXTHREADS 1
 
 struct threadpool {
--- a/src/util/rand_xor.c.orig	2017-06-20 00:38:57.199474067 +0200
+++ b/src/util/rand_xor.c	2017-06-20 00:40:31.351279557 +0200
@@ -23,7 +23,9 @@
  */
 
 #if defined(__linux__)
+#include <sys/types.h>
 #include <sys/file.h>
+#include <sys/stat.h>
 #include <unistd.h>
 #include <fcntl.h>
 #else
--- a/src/gallium/state_trackers/nine/nine_debug.c
+++ b/src/gallium/state_trackers/nine/nine_debug.c
@@ -73,8 +73,8 @@
     }
 
 #if defined(HAVE_PTHREAD)
-#  if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \
-      (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12))
+#  if defined(__linux__) && !(defined(__GLIBC__) || \
+      (__GLIBC__ < 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 12)))
     if (dbg_flags & DBG_TID)
         tid = pthread_self();
 #  endif
--- a/src/util/u_thread.h
+++ b/src/util/u_thread.h
@@ -61,9 +61,8 @@
 static inline void u_thread_setname( const char *name )
 {
 #if defined(HAVE_PTHREAD)
-#  if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \
-      (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12)) && \
-      defined(__linux__)
+#  if defined(__linux__) && !(defined(__GLIBC__) || \
+      (__GLIBC__ < 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 12)))
    pthread_setname_np(pthread_self(), name);
 #  endif
 #endif
@@ -93,8 +92,8 @@
 static inline bool u_thread_is_self(thrd_t thread)
 {
 #if defined(HAVE_PTHREAD)
-#  if defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) && \
-      (__GLIBC__ >= 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 12))
+#  if defined(__linux__) && !(defined(__GLIBC__) || \
+      (__GLIBC__ < 3 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 12)))
    return pthread_equal(pthread_self(), thread);
 #  endif
 #endif
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
@@ -28,6 +28,8 @@
 #ifndef RADV_AMDGPU_WINSYS_H
 #define RADV_AMDGPU_WINSYS_H
 
+#include <sys/types.h>
+
 #include "radv_radeon_winsys.h"
 #include "ac_gpu_info.h"
 #include "addrlib/addrinterface.h"<Paste>