diff --git a/tests/headers/posix/dlfcn_h.c b/tests/headers/posix/dlfcn_h.c
index 4800075..e8dc648 100644
--- a/tests/headers/posix/dlfcn_h.c
+++ b/tests/headers/posix/dlfcn_h.c
@@ -36,6 +36,17 @@
   MACRO(RTLD_GLOBAL);
   MACRO(RTLD_LOCAL);
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  TYPE(Dl_info);
+  STRUCT_MEMBER(Dl_info, const char*, dli_fname);
+  STRUCT_MEMBER(Dl_info, void*, dli_fbase);
+  STRUCT_MEMBER(Dl_info, const char*, dli_sname);
+  STRUCT_MEMBER(Dl_info, void*, dli_saddr);
+#endif
+
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(dladdr, int (*f)(const void*, Dl_info*));
+#endif
   FUNCTION(dlclose, int (*f)(void*));
   FUNCTION(dlerror, char* (*f)(void));
   FUNCTION(dlopen, void* (*f)(const char*, int));
diff --git a/tests/headers/posix/poll_h.c b/tests/headers/posix/poll_h.c
index 4fce5e5..505ba46 100644
--- a/tests/headers/posix/poll_h.c
+++ b/tests/headers/posix/poll_h.c
@@ -36,6 +36,11 @@
   STRUCT_MEMBER(struct pollfd, short, events);
   STRUCT_MEMBER(struct pollfd, short, revents);
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  TYPE(sigset_t);
+  TYPE(struct timespec);
+#endif
+
   TYPE(nfds_t);
 
   MACRO(POLLIN);
@@ -50,4 +55,7 @@
   MACRO(POLLNVAL);
 
   FUNCTION(poll, int (*f)(struct pollfd[], nfds_t, int));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(ppoll, int (*f)(struct pollfd[], nfds_t, const struct timespec*, const sigset_t*));
+#endif
 }
diff --git a/tests/headers/posix/pthread_h.c b/tests/headers/posix/pthread_h.c
index 4be822c..3713aff 100644
--- a/tests/headers/posix/pthread_h.c
+++ b/tests/headers/posix/pthread_h.c
@@ -116,6 +116,9 @@
   FUNCTION(pthread_cancel, int (*f)(pthread_t));
 #endif
   FUNCTION(pthread_cond_broadcast, int (*f)(pthread_cond_t*));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(pthread_cond_clockwait, int (*f)(pthread_cond_t*, pthread_mutex_t*, clockid_t, const struct timespec*));
+#endif
   FUNCTION(pthread_cond_destroy, int (*f)(pthread_cond_t*));
   FUNCTION(pthread_cond_init, int (*f)(pthread_cond_t*, const pthread_condattr_t*));
   FUNCTION(pthread_cond_signal, int (*f)(pthread_cond_t*));
@@ -140,6 +143,9 @@
   FUNCTION(pthread_join, int (*f)(pthread_t, void**));
   FUNCTION(pthread_key_create, int (*f)(pthread_key_t*, void (*)(void*)));
   FUNCTION(pthread_key_delete, int (*f)(pthread_key_t));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(pthread_mutex_clocklock, int (*f)(pthread_mutex_t*, clockid_t, const struct timespec*));
+#endif
 #if !defined(__BIONIC__) // No robust mutexes on Android.
   FUNCTION(pthread_mutex_consistent, int (*f)(pthread_mutex_t*));
 #endif
@@ -176,6 +182,10 @@
 #endif
   FUNCTION(pthread_mutexattr_settype, int (*f)(pthread_mutexattr_t*, int));
   FUNCTION(pthread_once, int (*f)(pthread_once_t*, void (*)(void)));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(pthread_rwlock_clockrdlock, int (*f)(pthread_rwlock_t*, clockid_t, const struct timespec*));
+  FUNCTION(pthread_rwlock_clockwrlock, int (*f)(pthread_rwlock_t*, clockid_t, const struct timespec*));
+#endif
   FUNCTION(pthread_rwlock_destroy, int (*f)(pthread_rwlock_t*));
   FUNCTION(pthread_rwlock_init, int (*f)(pthread_rwlock_t*, const pthread_rwlockattr_t*));
   FUNCTION(pthread_rwlock_rdlock, int (*f)(pthread_rwlock_t*));
diff --git a/tests/headers/posix/semaphore_h.c b/tests/headers/posix/semaphore_h.c
index 9d5c7e1..d813363 100644
--- a/tests/headers/posix/semaphore_h.c
+++ b/tests/headers/posix/semaphore_h.c
@@ -35,6 +35,9 @@
 
   MACRO(SEM_FAILED);
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(sem_clockwait, int (*f)(sem_t*, clockid_t, const struct timespec*));
+#endif
   FUNCTION(sem_close, int (*f)(sem_t*));
   FUNCTION(sem_destroy, int (*f)(sem_t*));
   FUNCTION(sem_getvalue, int (*f)(sem_t*, int*));
diff --git a/tests/headers/posix/signal_h.c b/tests/headers/posix/signal_h.c
index 82751f4..3b50fb9 100644
--- a/tests/headers/posix/signal_h.c
+++ b/tests/headers/posix/signal_h.c
@@ -75,6 +75,10 @@
   i = SIGRTMIN;
   i = SIGRTMAX;
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  MACRO(SIG2STR_MAX);
+#endif
+
   MACRO(SIGABRT);
   MACRO(SIGALRM);
   MACRO(SIGBUS);
diff --git a/tests/headers/posix/stdlib_h.c b/tests/headers/posix/stdlib_h.c
index 95769b4..deedc06 100644
--- a/tests/headers/posix/stdlib_h.c
+++ b/tests/headers/posix/stdlib_h.c
@@ -119,6 +119,9 @@
   FUNCTION(rand_r, int (*f)(unsigned*));
   FUNCTION(random, long (*f)(void));
   FUNCTION(realloc, void* (*f)(void*, size_t));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(reallocarray, void* (*f)(void*, size_t, size_t));
+#endif
   FUNCTION(realpath, char* (*f)(const char*, char*));
   FUNCTION(seed48, unsigned short* (*f)(unsigned short[3]));
   FUNCTION(setenv, int (*f)(const char*, const char*, int));
diff --git a/tests/headers/posix/string_h.c b/tests/headers/posix/string_h.c
index 2440050..59a541f 100644
--- a/tests/headers/posix/string_h.c
+++ b/tests/headers/posix/string_h.c
@@ -39,6 +39,9 @@
   FUNCTION(memchr, void* (*f)(const void*, int, size_t));
   FUNCTION(memcmp, int (*f)(const void*, const void*, size_t));
   FUNCTION(memcpy, void* (*f)(void*, const void*, size_t));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(memmem, void* (*f)(const void*, size_t, const void*, size_t));
+#endif
   FUNCTION(memmove, void* (*f)(void*, const void*, size_t));
   FUNCTION(memset, void* (*f)(void*, int, size_t));
   FUNCTION(stpcpy, char* (*f)(char*, const char*));
@@ -54,6 +57,10 @@
   FUNCTION(strerror, char* (*f)(int));
   FUNCTION(strerror_l, char* (*f)(int, locale_t));
   FUNCTION(strerror_r, int (*f)(int, char*, size_t));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(strlcat, size_t (*f)(char*, const char*, size_t));
+  FUNCTION(strlcpy, size_t (*f)(char*, const char*, size_t));
+#endif
   FUNCTION(strlen, size_t (*f)(const char*));
   FUNCTION(strncat, char* (*f)(char*, const char*, size_t));
   FUNCTION(strncmp, int (*f)(const char*, const char*, size_t));
diff --git a/tests/headers/posix/unistd_h.c b/tests/headers/posix/unistd_h.c
index fdd7bde..e54fbb3 100644
--- a/tests/headers/posix/unistd_h.c
+++ b/tests/headers/posix/unistd_h.c
@@ -342,6 +342,9 @@
   FUNCTION(ftruncate, int (*f)(int, off_t));
   FUNCTION(getcwd, char* (*f)(char*, size_t));
   FUNCTION(getegid, gid_t (*f)(void));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(getentropy, int (*f)(void*, size_t));
+#endif
   FUNCTION(geteuid, uid_t (*f)(void));
   FUNCTION(getgid, gid_t (*f)(void));
   FUNCTION(getgroups, int (*f)(int, gid_t[]));
diff --git a/tests/headers/posix/wchar_h.c b/tests/headers/posix/wchar_h.c
index 48b3b92..26a3473 100644
--- a/tests/headers/posix/wchar_h.c
+++ b/tests/headers/posix/wchar_h.c
@@ -86,6 +86,10 @@
   FUNCTION(wcscspn, size_t (*f)(const wchar_t*, const wchar_t*));
   FUNCTION(wcsdup, wchar_t* (*f)(const wchar_t*));
   FUNCTION(wcsftime, size_t (*f)(wchar_t*, size_t, const wchar_t*, const struct tm*));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(wcslcat, size_t (*f)(wchar_t*, const wchar_t*, size_t));
+  FUNCTION(wcslcpy, size_t (*f)(wchar_t*, const wchar_t*, size_t));
+#endif
   FUNCTION(wcslen, size_t (*f)(const wchar_t*));
   FUNCTION(wcsncasecmp, int (*f)(const wchar_t*, const wchar_t*, size_t));
   FUNCTION(wcsncasecmp_l, int (*f)(const wchar_t*, const wchar_t*, size_t, locale_t));
