diff options
author | David Carlier <devnexen@gmail.com> | 2021-07-17 08:01:02 +0100 |
---|---|---|
committer | David Carlier <devnexen@gmail.com> | 2021-07-23 21:14:39 +0100 |
commit | 0c996a07ebb71499590abbfc4694211ea59880dc (patch) | |
tree | f82cbcfa1f167536279ce85656dc07b75e04a547 | |
parent | dc576de92ce4057af7586a5f5f319943214631c2 (diff) | |
download | rust-libc-0c996a07ebb71499590abbfc4694211ea59880dc.tar.gz |
adding reallocarray for linux and android
-rwxr-xr-x | libc-test/build.rs | 3 | ||||
-rw-r--r-- | libc-test/semver/android.txt | 1 | ||||
-rw-r--r-- | libc-test/semver/linux-gnu.txt | 1 | ||||
-rw-r--r-- | libc-test/semver/linux-musl.txt | 1 | ||||
-rw-r--r-- | src/unix/linux_like/android/mod.rs | 2 | ||||
-rw-r--r-- | src/unix/linux_like/linux/gnu/mod.rs | 2 | ||||
-rw-r--r-- | src/unix/linux_like/linux/musl/mod.rs | 2 |
7 files changed, 12 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index b394453638..fec534fb48 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1629,6 +1629,7 @@ fn test_android(target: &str) { // We skip the test here since here _GNU_SOURCE is defined, and // test the XSI version below. "strerror_r" => true, + "reallocarray" => true, _ => false, } @@ -2873,6 +2874,8 @@ fn test_linux(target: &str) { // Needs glibc 2.33 or later. "mallinfo2" => true, + "reallocarray" if musl => true, + _ => false, } }); diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index 89e831ce5a..0f291179cf 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -3044,6 +3044,7 @@ readlink readlinkat readv realloc +reallocarray realpath recv recvfrom diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt index 58a7396733..18811c7592 100644 --- a/libc-test/semver/linux-gnu.txt +++ b/libc-test/semver/linux-gnu.txt @@ -566,6 +566,7 @@ pthread_setname_np pututxline pwritev2 qsort_r +reallocarray semid_ds seminfo setutxent diff --git a/libc-test/semver/linux-musl.txt b/libc-test/semver/linux-musl.txt index 53b3adfdde..672278b26d 100644 --- a/libc-test/semver/linux-musl.txt +++ b/libc-test/semver/linux-musl.txt @@ -1,2 +1,3 @@ # TODO: musl. explicit_bzero +reallocarray diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index f48cd49fd1..b60776c9e2 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -2879,6 +2879,8 @@ extern "C" { pub fn arc4random() -> u32; pub fn arc4random_uniform(__upper_bound: u32) -> u32; pub fn arc4random_buf(__buf: *mut ::c_void, __n: ::size_t); + + pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void; } cfg_if! { diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 44d43904ec..f90ec98d21 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -1276,6 +1276,8 @@ extern "C" { // Added in `glibc` 2.25 pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t); + // Added in `glibc` 2.29 + pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void; } extern "C" { diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index 03f13e2878..c3c82398b6 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -700,6 +700,8 @@ extern "C" { // Added in `musl` 1.1.20 pub fn explicit_bzero(s: *mut ::c_void, len: ::size_t); + // Added in `musl` 1.2.2 + pub fn reallocarray(ptr: *mut ::c_void, nmemb: ::size_t, size: ::size_t) -> *mut ::c_void; } cfg_if! { |