Skip to content

Commit a34846f

Browse files
committed
utmpx api for linux musl + musl few build fixes.
close rust-lang#3190
1 parent e4cccf9 commit a34846f

File tree

5 files changed

+26
-9
lines changed

5 files changed

+26
-9
lines changed

libc-test/semver/linux-gnu.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -575,12 +575,12 @@ dlinfo
575575
dlmopen
576576
endutxent
577577
explicit_bzero
578+
fgetgrent_r
578579
fgetspent_r
579580
futimes
580581
getauxval
581582
getentropy
582583
getgrent_r
583-
fgetgrent_r
584584
getloadavg
585585
getpt
586586
getpwent_r

libc-test/semver/linux-musl.txt

+12-6
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,22 @@ aio_return
3232
aio_suspend
3333
aio_write
3434
aiocb
35+
asctime_r
36+
basename
3537
clock_adjtime
3638
copy_file_range
3739
ctermid
40+
dirname
41+
eaccess
42+
endutxent
43+
euidaccess
3844
explicit_bzero
3945
futimes
4046
getauxval
4147
getloadavg
48+
getutxent
49+
getutxid
50+
getutxline
4251
lio_listio
4352
ntptimeval
4453
open_wmemstream
@@ -47,13 +56,10 @@ prlimit
4756
prlimit64
4857
process_vm_readv
4958
process_vm_writev
59+
pututxline
5060
pwritev64
5161
reallocarray
52-
timex
53-
euidaccess
54-
eaccess
55-
asctime_r
62+
setutxent
5663
strftime
5764
strptime
58-
dirname
59-
basename
65+
timex

src/unix/linux_like/linux/arch/generic/mod.rs

+4
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,11 @@ cfg_if! {
279279
pub const RLIMIT_NICE: ::c_int = 13;
280280
pub const RLIMIT_RTPRIO: ::c_int = 14;
281281
pub const RLIMIT_RTTIME: ::c_int = 15;
282+
#[cfg(target_env = "ohos")]
283+
// FIXME: is it ?
282284
pub const RLIM_NLIMITS: ::c_int = 15;
285+
#[cfg(target_env = "musl")]
286+
pub const RLIM_NLIMITS: ::c_int = 16;
283287
pub const RLIMIT_NLIMITS: ::c_int = RLIM_NLIMITS;
284288
}
285289
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ pub const MAP_32BIT: ::c_int = 0x0040;
671671
pub const O_APPEND: ::c_int = 1024;
672672
pub const O_DIRECT: ::c_int = 0x4000;
673673
pub const O_DIRECTORY: ::c_int = 0x10000;
674-
pub const O_LARGEFILE: ::c_int = 0;
674+
pub const O_LARGEFILE: ::c_int = 0x8000;
675675
pub const O_NOFOLLOW: ::c_int = 0x20000;
676676
pub const O_CREAT: ::c_int = 64;
677677
pub const O_EXCL: ::c_int = 128;

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

+8-1
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ s_no_extra_traits! {
303303
pub ut_exit: __exit_status,
304304

305305
#[cfg(target_env = "musl")]
306-
pub ut_session: ::c_long,
306+
pub ut_session: ::c_int,
307307

308308
#[cfg(target_env = "ohos")]
309309
#[cfg(target_endian = "little")]
@@ -782,6 +782,13 @@ extern "C" {
782782

783783
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
784784
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
785+
786+
pub fn getutxent() -> *mut utmpx;
787+
pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
788+
pub fn getutxline(ut: *const utmpx) -> *mut utmpx;
789+
pub fn pututxline(ut: *const utmpx) -> *mut utmpx;
790+
pub fn setutxent();
791+
pub fn endutxent();
785792
}
786793

787794
cfg_if! {

0 commit comments

Comments
 (0)