Skip to content

Commit 45a4304

Browse files
committed
Support confstr on Linux
1 parent ba73a3e commit 45a4304

File tree

8 files changed

+70
-6
lines changed

8 files changed

+70
-6
lines changed

libc-test/semver/apple.txt

-1
Original file line numberDiff line numberDiff line change
@@ -1861,7 +1861,6 @@ clock_getres
18611861
clonefile
18621862
clonefileat
18631863
cmsghdr
1864-
confstr
18651864
connectx
18661865
copyfile
18671866
copyfile_callback_t

libc-test/semver/linux-musl.txt

+4
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ 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_THREADS_CFLAGS
52+
_CS_POSIX_V7_THREADS_LDFLAGS
53+
_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
5054
adjtimex
5155
aio_cancel
5256
aio_error

libc-test/semver/linux.txt

+27
Original file line numberDiff line numberDiff line change
@@ -3232,6 +3232,33 @@ XATTR_REPLACE
32323232
XTABS
32333233
YESEXPR
32343234
YESSTR
3235+
_CS_PATH
3236+
_CS_POSIX_V6_ILP32_OFF32_CFLAGS
3237+
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
3238+
_CS_POSIX_V6_ILP32_OFF32_LIBS
3239+
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
3240+
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
3241+
_CS_POSIX_V6_ILP32_OFFBIG_LIBS
3242+
_CS_POSIX_V6_LP64_OFF64_CFLAGS
3243+
_CS_POSIX_V6_LP64_OFF64_LDFLAGS
3244+
_CS_POSIX_V6_LP64_OFF64_LIBS
3245+
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
3246+
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
3247+
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
3248+
_CS_POSIX_V7_ILP32_OFF32_CFLAGS
3249+
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
3250+
_CS_POSIX_V7_ILP32_OFF32_LIBS
3251+
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
3252+
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
3253+
_CS_POSIX_V7_ILP32_OFFBIG_LIBS
3254+
_CS_POSIX_V7_LP64_OFF64_CFLAGS
3255+
_CS_POSIX_V7_LP64_OFF64_LDFLAGS
3256+
_CS_POSIX_V7_LP64_OFF64_LIBS
3257+
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
3258+
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
3259+
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
3260+
_CS_V6_ENV
3261+
_CS_V7_ENV
32353262
_IOFBF
32363263
_IOLBF
32373264
_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
@@ -5620,11 +5620,6 @@ extern "C" {
56205620
pub fn fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int;
56215621
pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
56225622
pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
5623-
#[cfg_attr(
5624-
all(target_os = "macos", target_arch = "x86"),
5625-
link_name = "confstr$UNIX2003"
5626-
)]
5627-
pub fn confstr(name: ::c_int, buf: *mut ::c_char, len: ::size_t) -> ::size_t;
56285623
pub fn lio_listio(
56295624
mode: ::c_int,
56305625
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

+5
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,11 @@ 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_THREADS_CFLAGS: ::c_int = 1150;
818+
pub const _CS_POSIX_V7_THREADS_LDFLAGS: ::c_int = 1151;
819+
pub const _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS: ::c_int = 5;
820+
pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: ::c_int = 1;
821+
817822
cfg_if! {
818823
if #[cfg(target_arch = "s390x")] {
819824
pub const POSIX_FADV_DONTNEED: ::c_int = 6;

src/unix/mod.rs

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

0 commit comments

Comments
 (0)