Skip to content

Commit 922b9b1

Browse files
committed
utmpx api for linux musl + musl few build fixes.
close #3190
1 parent af676d1 commit 922b9b1

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
@@ -582,12 +582,12 @@ dlinfo
582582
dlmopen
583583
endutxent
584584
explicit_bzero
585+
fgetgrent_r
585586
fgetspent_r
586587
futimes
587588
getauxval
588589
getentropy
589590
getgrent_r
590-
fgetgrent_r
591591
getloadavg
592592
getpt
593593
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
@@ -275,7 +275,11 @@ cfg_if! {
275275
pub const RLIMIT_NICE: ::c_int = 13;
276276
pub const RLIMIT_RTPRIO: ::c_int = 14;
277277
pub const RLIMIT_RTTIME: ::c_int = 15;
278+
#[cfg(target_env = "ohos")]
279+
// FIXME: is it ?
278280
pub const RLIM_NLIMITS: ::c_int = 15;
281+
#[cfg(target_env = "musl")]
282+
pub const RLIM_NLIMITS: ::c_int = 16;
279283
pub const RLIMIT_NLIMITS: ::c_int = RLIM_NLIMITS;
280284
}
281285
}

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
@@ -309,7 +309,7 @@ s_no_extra_traits! {
309309
pub ut_exit: __exit_status,
310310

311311
#[cfg(target_env = "musl")]
312-
pub ut_session: ::c_long,
312+
pub ut_session: ::c_int,
313313

314314
#[cfg(target_env = "ohos")]
315315
#[cfg(target_endian = "little")]
@@ -779,6 +779,13 @@ extern "C" {
779779

780780
pub fn dirname(path: *mut ::c_char) -> *mut ::c_char;
781781
pub fn basename(path: *mut ::c_char) -> *mut ::c_char;
782+
783+
pub fn getutxent() -> *mut utmpx;
784+
pub fn getutxid(ut: *const utmpx) -> *mut utmpx;
785+
pub fn getutxline(ut: *const utmpx) -> *mut utmpx;
786+
pub fn pututxline(ut: *const utmpx) -> *mut utmpx;
787+
pub fn setutxent();
788+
pub fn endutxent();
782789
}
783790

784791
// Alias <foo> to <foo>64 to mimic glibc's LFS64 support

0 commit comments

Comments
 (0)