From 2b156c9f757067f9c2eda22fe2e2bdb92b564541 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Wed, 30 Aug 2023 09:56:19 -0700 Subject: [PATCH 1/2] Declare `pthread_attr_setguardsize` and `pthread_attr_getstacksize`. Declare `pthread_attr_setguardsize` and `pthread_attr_getstacksize` on all platforms which have `pthread_attr_getguardsize` and `pthread_attr_setstacksize`, respectively. --- libc-test/semver/dragonfly.txt | 1 + libc-test/semver/freebsd.txt | 1 + libc-test/semver/fuchsia.txt | 1 + libc-test/semver/linux.txt | 1 + libc-test/semver/netbsd.txt | 1 + libc-test/semver/openbsd.txt | 1 + libc-test/semver/unix.txt | 1 + src/fuchsia/mod.rs | 5 +++++ src/unix/aix/mod.rs | 1 + src/unix/bsd/freebsdlike/mod.rs | 1 + src/unix/bsd/netbsdlike/netbsd/mod.rs | 1 + src/unix/bsd/netbsdlike/openbsd/mod.rs | 1 + src/unix/haiku/mod.rs | 1 + src/unix/linux_like/linux/mod.rs | 1 + src/unix/mod.rs | 4 ++++ src/unix/nto/mod.rs | 1 + 16 files changed, 23 insertions(+) diff --git a/libc-test/semver/dragonfly.txt b/libc-test/semver/dragonfly.txt index e27bfa41831a8..1e1261cad8803 100644 --- a/libc-test/semver/dragonfly.txt +++ b/libc-test/semver/dragonfly.txt @@ -1437,6 +1437,7 @@ pseudo_AF_XTP pthread_attr_get_np pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_barrierattr_destroy pthread_barrierattr_getpshared pthread_barrierattr_init diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index 8dce49824aa94..0adb0dcf736e3 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -2010,6 +2010,7 @@ pseudo_AF_XTP pthread_attr_get_np pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_barrierattr_destroy pthread_barrierattr_getpshared pthread_barrierattr_init diff --git a/libc-test/semver/fuchsia.txt b/libc-test/semver/fuchsia.txt index 5e7213c0bea25..429d59e626ce4 100644 --- a/libc-test/semver/fuchsia.txt +++ b/libc-test/semver/fuchsia.txt @@ -1294,6 +1294,7 @@ ppoll preadv pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_cancel pthread_condattr_getclock pthread_condattr_setclock diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index e818d2dce675e..b4091a707047d 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -3333,6 +3333,7 @@ pread64 preadv pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_cancel pthread_condattr_getclock pthread_condattr_getpshared diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 6150dbb81c41c..21a4cb7adcbb1 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -1425,6 +1425,7 @@ pseudo_AF_XTP pthread_attr_get_np pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_cancel pthread_condattr_setclock pthread_getattr_np diff --git a/libc-test/semver/openbsd.txt b/libc-test/semver/openbsd.txt index ea9cda0659ce4..e56760a9e8118 100644 --- a/libc-test/semver/openbsd.txt +++ b/libc-test/semver/openbsd.txt @@ -1146,6 +1146,7 @@ pseudo_AF_RTIP pseudo_AF_XTP pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_setguardsize pthread_cancel pthread_condattr_setclock pthread_get_name_np diff --git a/libc-test/semver/unix.txt b/libc-test/semver/unix.txt index 8928c27feff9f..5e84434b46bf4 100644 --- a/libc-test/semver/unix.txt +++ b/libc-test/semver/unix.txt @@ -671,6 +671,7 @@ protoent pselect pthread_attr_destroy pthread_attr_init +pthread_attr_getstacksize pthread_attr_setdetachstate pthread_attr_setstacksize pthread_attr_t diff --git a/src/fuchsia/mod.rs b/src/fuchsia/mod.rs index 3e922e766cba4..772ffda68e10f 100644 --- a/src/fuchsia/mod.rs +++ b/src/fuchsia/mod.rs @@ -3687,6 +3687,10 @@ extern "C" { pub fn pthread_exit(value: *mut ::c_void) -> !; pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; + pub fn pthread_attr_getstacksize( + attr: *const ::pthread_attr_t, + stacksize: *mut ::size_t, + ) -> ::c_int; pub fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stack_size: ::size_t) -> ::c_int; pub fn pthread_attr_setdetachstate(attr: *mut ::pthread_attr_t, state: ::c_int) -> ::c_int; pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; @@ -4161,6 +4165,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int; diff --git a/src/unix/aix/mod.rs b/src/unix/aix/mod.rs index 325d7d654fd7e..bc02b108dc412 100644 --- a/src/unix/aix/mod.rs +++ b/src/unix/aix/mod.rs @@ -2669,6 +2669,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn pthread_attr_getschedparam( attr: *const ::pthread_attr_t, param: *mut sched_param, diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index fe69ca42044ca..8eb4a8e7bf480 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -1590,6 +1590,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 46035df31188c..3beb8c68dea7a 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -2727,6 +2727,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 5455bd344b657..38fa29c97e02b 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1827,6 +1827,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs index 24aa599c07070..d8ecf4985d0d1 100644 --- a/src/unix/haiku/mod.rs +++ b/src/unix/haiku/mod.rs @@ -1679,6 +1679,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn pthread_attr_getstack( attr: *const ::pthread_attr_t, stackaddr: *mut *mut ::c_void, diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 187c73815e599..067fe07c71f2f 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -4582,6 +4582,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn pthread_condattr_getpshared( diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 9697d20fe558f..088e4fd30abb7 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -1076,6 +1076,10 @@ extern "C" { pub fn pthread_exit(value: *mut ::c_void) -> !; pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; pub fn pthread_attr_destroy(attr: *mut ::pthread_attr_t) -> ::c_int; + pub fn pthread_attr_getstacksize( + attr: *const ::pthread_attr_t, + stacksize: *mut ::size_t, + ) -> ::c_int; pub fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stack_size: ::size_t) -> ::c_int; pub fn pthread_attr_setdetachstate(attr: *mut ::pthread_attr_t, state: ::c_int) -> ::c_int; pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; diff --git a/src/unix/nto/mod.rs b/src/unix/nto/mod.rs index a79450f4e1fd2..ed6f6df41368e 100644 --- a/src/unix/nto/mod.rs +++ b/src/unix/nto/mod.rs @@ -3092,6 +3092,7 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn pthread_condattr_getpshared( From 756580397d5b03a9bee3a97204a91723ed4689b4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Sat, 23 Sep 2023 16:37:12 -0700 Subject: [PATCH 2/2] Delete a now-redundant `pthread_attr_getstacksize` declaration. --- src/unix/linux_like/android/mod.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index 34ff169cc006c..cdac6c32ee3f4 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -3498,10 +3498,6 @@ extern "C" { guardsize: *mut ::size_t, ) -> ::c_int; pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; - pub fn pthread_attr_getstacksize( - attr: *const ::pthread_attr_t, - stacksize: *mut ::size_t, - ) -> ::c_int; pub fn pthread_attr_getinheritsched( attr: *const ::pthread_attr_t, flag: *mut ::c_int,