--- ./include/my_global.h.orig	2013-03-11 06:29:20.000000000 -0400
+++ ./include/my_global.h	2013-05-20 14:55:04.000000000 -0400
@@ -1436,11 +1436,13 @@
 
 /* Provide __func__ macro definition for platforms that miss it. */
 #if __STDC_VERSION__ < 199901L
+# ifndef __func__
 #  if __GNUC__ >= 2
 #    define __func__ __FUNCTION__
 #  else
 #    define __func__ "<unknown>"
 #  endif
+# endif
 #elif defined(_MSC_VER)
 #  if _MSC_VER < 1300
 #    define __func__ "<unknown>"
--- ./sql/threadpool_unix.cc.orig	2013-03-11 06:29:19.000000000 -0400
+++ ./sql/threadpool_unix.cc	2013-05-20 14:14:10.000000000 -0400
@@ -295,7 +295,7 @@
 {
   struct kevent ke;
   EV_SET(&ke, fd, EVFILT_READ, EV_ADD|EV_ONESHOT, 
-         0, 0, data);
+         0, 0, (intptr_t) data);
   return kevent(pollfd, &ke, 1, 0, 0, 0); 
 }
 
@@ -304,7 +304,7 @@
 {
   struct kevent ke;
   EV_SET(&ke, fd, EVFILT_READ, EV_ADD|EV_ONESHOT, 
-         0, 0, data);
+         0, 0, (intptr_t) data);
   return io_poll_start_read(pollfd,fd, data); 
 }
 
@@ -312,7 +312,7 @@
 int io_poll_disassociate_fd(int pollfd, int fd)
 {
   struct kevent ke;
-  EV_SET(&ke,fd, EVFILT_READ, EV_DELETE, 0, 0, NULL);
+  EV_SET(&ke,fd, EVFILT_READ, EV_DELETE, 0, 0, (intptr_t) NULL);
   return kevent(pollfd, &ke, 1, 0, 0, 0);
 }
 
@@ -337,7 +337,7 @@
 
 static void* native_event_get_userdata(native_event *event)
 {
-  return event->udata;
+  return (void *)event->udata;
 }
 
 #elif defined (__sun)
--- ./storage/maria/unittest/trnman-t.c.orig	2013-03-11 06:29:18.000000000 -0400
+++ ./storage/maria/unittest/trnman-t.c	2013-05-20 14:34:11.000000000 -0400
@@ -22,6 +22,14 @@
 #include <m_string.h>
 #include "../trnman.h"
 
+#if defined(__NetBSD__) && ! defined(PTHREAD_STACK_MIN)
+/* Why NetBSD has no constant is silly, since ulimit reports 2048 for
+ * a minimal stack size. OpenBSD defines PTHREAD_STACK_MIN 2048. So 
+ * this seems safe.
+ */
+#define PTHREAD_STACK_MIN	(2*1024)
+#endif
+
 pthread_mutex_t rt_mutex;
 pthread_attr_t attr;
 size_t stacksize= 0;
