Skip to content

Commit c5d4b7b

Browse files
magicantJohnTitor
authored andcommitted
Support confstr on Linux
1 parent 6607133 commit c5d4b7b

File tree

8 files changed

+66
-6
lines changed

8 files changed

+66
-6
lines changed

libc-test/semver/apple.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1863,7 +1863,6 @@ clock_getres
18631863
clonefile
18641864
clonefileat
18651865
cmsghdr
1866-
confstr
18671866
connectx
18681867
copyfile
18691868
copyfile_callback_t

libc-test/semver/linux-musl.txt

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ XDP_UMEM_PGOFF_COMPLETION_RING
4747
XSK_UNALIGNED_BUF_OFFSET_SHIFT
4848
XSK_UNALIGNED_BUF_ADDR_MASK
4949
XDP_PKT_CONTD
50+
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
51+
_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
5052
adjtimex
5153
aio_cancel
5254
aio_error

libc-test/semver/linux.txt

+27
Original file line numberDiff line numberDiff line change
@@ -3233,6 +3233,33 @@ XATTR_REPLACE
32333233
XTABS
32343234
YESEXPR
32353235
YESSTR
3236+
_CS_PATH
3237+
_CS_POSIX_V6_ILP32_OFF32_CFLAGS
3238+
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
3239+
_CS_POSIX_V6_ILP32_OFF32_LIBS
3240+
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
3241+
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
3242+
_CS_POSIX_V6_ILP32_OFFBIG_LIBS
3243+
_CS_POSIX_V6_LP64_OFF64_CFLAGS
3244+
_CS_POSIX_V6_LP64_OFF64_LDFLAGS
3245+
_CS_POSIX_V6_LP64_OFF64_LIBS
3246+
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
3247+
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
3248+
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
3249+
_CS_POSIX_V7_ILP32_OFF32_CFLAGS
3250+
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
3251+
_CS_POSIX_V7_ILP32_OFF32_LIBS
3252+
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
3253+
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
3254+
_CS_POSIX_V7_ILP32_OFFBIG_LIBS
3255+
_CS_POSIX_V7_LP64_OFF64_CFLAGS
3256+
_CS_POSIX_V7_LP64_OFF64_LDFLAGS
3257+
_CS_POSIX_V7_LP64_OFF64_LIBS
3258+
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
3259+
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
3260+
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
3261+
_CS_V6_ENV
3262+
_CS_V7_ENV
32363263
_IOFBF
32373264
_IOLBF
32383265
_IONBF

libc-test/semver/unix.txt

+1
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,7 @@ clockid_t
489489
close
490490
closedir
491491
closelog
492+
confstr
492493
connect
493494
creat
494495
dev_t

src/unix/bsd/apple/mod.rs

-5
Original file line numberDiff line numberDiff line change
@@ -5640,11 +5640,6 @@ extern "C" {
56405640
pub fn fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int;
56415641
pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
56425642
pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
5643-
#[cfg_attr(
5644-
all(target_os = "macos", target_arch = "x86"),
5645-
link_name = "confstr$UNIX2003"
5646-
)]
5647-
pub fn confstr(name: ::c_int, buf: *mut ::c_char, len: ::size_t) -> ::size_t;
56485643
pub fn lio_listio(
56495644
mode: ::c_int,
56505645
aiocb_list: *const *mut aiocb,

src/unix/linux_like/linux/mod.rs

+28
Original file line numberDiff line numberDiff line change
@@ -1614,6 +1614,34 @@ pub const _SC_XOPEN_STREAMS: ::c_int = 246;
16141614
pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 247;
16151615
pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 248;
16161616

1617+
pub const _CS_PATH: ::c_int = 0;
1618+
pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: ::c_int = 1132;
1619+
pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: ::c_int = 1133;
1620+
pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: ::c_int = 1134;
1621+
pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: ::c_int = 1136;
1622+
pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: ::c_int = 1137;
1623+
pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: ::c_int = 1138;
1624+
pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: ::c_int = 1140;
1625+
pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: ::c_int = 1141;
1626+
pub const _CS_POSIX_V7_LP64_OFF64_LIBS: ::c_int = 1142;
1627+
pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: ::c_int = 1144;
1628+
pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: ::c_int = 1145;
1629+
pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: ::c_int = 1146;
1630+
pub const _CS_V7_ENV: ::c_int = 1149;
1631+
pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: ::c_int = 1116;
1632+
pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: ::c_int = 1117;
1633+
pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: ::c_int = 1118;
1634+
pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: ::c_int = 1120;
1635+
pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: ::c_int = 1121;
1636+
pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: ::c_int = 1122;
1637+
pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: ::c_int = 1124;
1638+
pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: ::c_int = 1125;
1639+
pub const _CS_POSIX_V6_LP64_OFF64_LIBS: ::c_int = 1126;
1640+
pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: ::c_int = 1128;
1641+
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: ::c_int = 1129;
1642+
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: ::c_int = 1130;
1643+
pub const _CS_V6_ENV: ::c_int = 1148;
1644+
16171645
pub const RLIM_SAVED_MAX: ::rlim_t = RLIM_INFINITY;
16181646
pub const RLIM_SAVED_CUR: ::rlim_t = RLIM_INFINITY;
16191647

src/unix/linux_like/linux/musl/mod.rs

+3
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,9 @@ pub const XSK_UNALIGNED_BUF_ADDR_MASK: ::c_ulonglong = (1 << XSK_UNALIGNED_BUF_O
814814

815815
pub const XDP_PKT_CONTD: ::__u32 = 1 << 0;
816816

817+
pub const _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS: ::c_int = 5;
818+
pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: ::c_int = 1;
819+
817820
cfg_if! {
818821
if #[cfg(target_arch = "s390x")] {
819822
pub const POSIX_FADV_DONTNEED: ::c_int = 6;

src/unix/mod.rs

+5
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,11 @@ extern "C" {
860860
link_name = "close$NOCANCEL"
861861
)]
862862
pub fn close(fd: ::c_int) -> ::c_int;
863+
#[cfg_attr(
864+
all(target_os = "macos", target_arch = "x86"),
865+
link_name = "confstr$UNIX2003"
866+
)]
867+
pub fn confstr(name: ::c_int, buf: *mut ::c_char, len: ::size_t) -> ::size_t;
863868
pub fn dup(fd: ::c_int) -> ::c_int;
864869
pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int;
865870
pub fn execl(path: *const c_char, arg0: *const c_char, ...) -> ::c_int;

0 commit comments

Comments
 (0)