diff --git a/libc-test/build.rs b/libc-test/build.rs index 1d689e6d15b16..48fb4df08e8e9 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -3378,6 +3378,7 @@ fn test_linux(target: &str) { "sys/fanotify.h", // is not present on uclibc [!uclibc]: "sys/auxv.h", + [gnu]: "linux/close_range.h", } // note: aio.h must be included before sys/mount.h diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt index 59950d81903f4..263a2b2bb7a98 100644 --- a/libc-test/semver/linux-gnu.txt +++ b/libc-test/semver/linux-gnu.txt @@ -665,3 +665,4 @@ getmntent_r putpwent putgrent execveat +close_range \ No newline at end of file diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index fe8f89177caae..c2daa6903ba30 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -1399,6 +1399,9 @@ extern "C" { envp: *const *mut c_char, flags: ::c_int, ) -> ::c_int; + + // Added in `glibc` 2.34 + pub fn close_range(first: ::c_uint, last: ::c_uint, flags: ::c_int) -> ::c_int; } cfg_if! {