diff --git a/tests/TemporaryFile.h b/tests/TemporaryFile.h
index b3f085f..2c6fb1c 100644
--- a/tests/TemporaryFile.h
+++ b/tests/TemporaryFile.h
@@ -16,9 +16,10 @@
 
 #include <unistd.h>
 
-class TemporaryFile {
+template<int (*mk_func)(char*)>
+class GenericTemporaryFile {
  public:
-  TemporaryFile() {
+  GenericTemporaryFile() {
     // Since we might be running on the host or the target, and if we're
     // running on the host we might be running under bionic or glibc,
     // let's just try both possible temporary directories and take the
@@ -29,7 +30,7 @@
     }
   }
 
-  ~TemporaryFile() {
+  ~GenericTemporaryFile() {
     close(fd);
     unlink(filename);
   }
@@ -40,6 +41,8 @@
  private:
   void init(const char* tmp_dir) {
     snprintf(filename, sizeof(filename), "%s/TemporaryFile-XXXXXX", tmp_dir);
-    fd = mkstemp(filename);
+    fd = mk_func(filename);
   }
 };
+
+typedef GenericTemporaryFile<mkstemp> TemporaryFile;
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index fa59c41..1903b04 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -15,6 +15,7 @@
  */
 
 #include <gtest/gtest.h>
+#include "TemporaryFile.h"
 
 #include <errno.h>
 #include <libgen.h>
@@ -22,6 +23,7 @@
 #include <pthread.h>
 #include <stdint.h>
 #include <stdlib.h>
+#include <fcntl.h>
 
 TEST(stdlib, drand48) {
   srand48(0x01020304);
@@ -157,3 +159,16 @@
   ::testing::FLAGS_gtest_death_test_style = "threadsafe";
   ASSERT_EXIT(TestBug57421_main(), ::testing::ExitedWithCode(0), "");
 }
+
+TEST(stdlib, mkstemp) {
+  TemporaryFile tf;
+  struct stat sb;
+  ASSERT_EQ(0, fstat(tf.fd, &sb));
+}
+
+TEST(stdlib, mkstemp64) {
+  GenericTemporaryFile<mkstemp64> tf;
+  struct stat64 sb;
+  ASSERT_EQ(0, fstat64(tf.fd, &sb));
+  ASSERT_EQ(O_LARGEFILE, fcntl(tf.fd, F_GETFL) & O_LARGEFILE);
+}
