diff --git a/src/header/stdlib/mod.rs b/src/header/stdlib/mod.rs
index 9a290a9ed33d87903c97094039c34e0a6449fa3c..b8d3fd53fe060a763d62341dcb434d59e5baaaa7 100644
--- a/src/header/stdlib/mod.rs
+++ b/src/header/stdlib/mod.rs
@@ -670,6 +670,18 @@ fn get_nstime() -> u64 {
     }
 }
 
+#[no_mangle]
+pub unsafe extern "C" fn mkdtemp(name: *mut c_char) -> *mut c_char {
+    inner_mktemp(name, 0, || {
+        let name_c = CStr::from_ptr(name);
+        match Sys::mkdir(name_c, 0o700) {
+            Ok(()) => Some(name),
+            Err(_) => None,
+        }
+    })
+    .unwrap_or(ptr::null_mut())
+}
+
 #[no_mangle]
 pub unsafe extern "C" fn mkostemps(
     name: *mut c_char,