--- src/gba/interface.h.orig	2016-01-10 11:17:39.121353660 +0100
+++ src/gba/interface.h	2016-01-10 11:17:50.208461559 +0100
@@ -6,6 +6,8 @@
 #ifndef INTERFACE_H
 #define INTERFACE_H
 
+#include <time.h>
+
 #include "util/common.h"
 
 enum GBALogLevel {
--- src/platform/qt/Window.cpp.orig	2016-01-10 11:19:45.761630495 +0100
+++ src/platform/qt/Window.cpp	2016-01-10 11:20:09.408873356 +0100
@@ -42,7 +42,7 @@ extern "C" {
 
 using namespace QGBA;
 
-#if defined(__WIN32) || defined(__OpenBSD__)
+#if defined(__WIN32) || defined(__OpenBSD__) || defined(__linux__) && !defined(__GLIBC__)
 // This is a macro everywhere except MinGW and OpenBSD, it seems
 using std::isnan;
 #endif
--- src/platform/posix/threading.h.orig	2016-02-07 06:52:37.357857993 +0100
+++ src/platform/posix/threading.h	2016-02-07 06:53:21.030282483 +0100
@@ -86,7 +86,7 @@ static inline int ThreadSetName(const ch
 #elif defined(__FreeBSD__) || defined(__OpenBSD__)
 	pthread_set_name_np(pthread_self(), name);
 	return 0;
-#elif !defined(BUILD_PANDORA) // Pandora's glibc is too old
+#elif defined(__GLIBC__) // Pandora's glibc is too old
 	return pthread_setname_np(pthread_self(), name);
 #else
 	UNUSED(name);
