Skip to content

Commit 67aef1c

Browse files
committed
musl: convert inline timespecs to timespec
1 parent 831e189 commit 67aef1c

File tree

15 files changed

+211
-2
lines changed

15 files changed

+211
-2
lines changed

libc-test/build.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3949,9 +3949,9 @@ fn test_linux(target: &str) {
39493949
cfg.rename_struct_field(move |struct_, field| {
39503950
match (struct_.ident(), field.ident()) {
39513951
// Our stat *_nsec fields normally don't actually exist but are part
3952-
// of a timeval struct
3952+
// of a timeval struct - this is fixed in musl_v1_2_3
39533953
("stat" | "statfs" | "statvfs" | "stat64" | "statfs64" | "statvfs64", f)
3954-
if f.ends_with("_nsec") =>
3954+
if !musl_v1_2_3 && f.ends_with("_nsec") =>
39553955
{
39563956
Some(f.replace("e_nsec", ".tv_nsec"))
39573957
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,27 @@ s! {
1919
pub st_size: off_t,
2020
pub st_blksize: crate::blksize_t,
2121
pub st_blocks: crate::blkcnt_t,
22+
23+
#[cfg(not(musl_v1_2_3))]
2224
pub st_atime: crate::time_t,
25+
#[cfg(not(musl_v1_2_3))]
2326
pub st_atime_nsec: c_long,
27+
#[cfg(not(musl_v1_2_3))]
2428
pub st_mtime: crate::time_t,
29+
#[cfg(not(musl_v1_2_3))]
2530
pub st_mtime_nsec: c_long,
31+
#[cfg(not(musl_v1_2_3))]
2632
pub st_ctime: crate::time_t,
33+
#[cfg(not(musl_v1_2_3))]
2734
pub st_ctime_nsec: c_long,
35+
36+
#[cfg(musl_v1_2_3)]
37+
pub st_atime: crate::timespec,
38+
#[cfg(musl_v1_2_3)]
39+
pub st_mtime: crate::timespec,
40+
#[cfg(musl_v1_2_3)]
41+
pub st_ctime: crate::timespec,
42+
2843
pub st_ino: crate::ino_t,
2944
}
3045

src/unix/linux_like/linux/musl/b32/hexagon.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,27 @@ s! {
1717
pub st_blksize: crate::blksize_t,
1818
__st_blksize_padding: Padding<c_int>,
1919
pub st_blocks: crate::blkcnt_t,
20+
21+
#[cfg(not(musl_v1_2_3))]
2022
pub st_atime: crate::time_t,
23+
#[cfg(not(musl_v1_2_3))]
2124
pub st_atime_nsec: c_long,
25+
#[cfg(not(musl_v1_2_3))]
2226
pub st_mtime: crate::time_t,
27+
#[cfg(not(musl_v1_2_3))]
2328
pub st_mtime_nsec: c_long,
29+
#[cfg(not(musl_v1_2_3))]
2430
pub st_ctime: crate::time_t,
31+
#[cfg(not(musl_v1_2_3))]
2532
pub st_ctime_nsec: c_long,
2633

34+
#[cfg(musl_v1_2_3)]
35+
pub st_atime: crate::timespec,
36+
#[cfg(musl_v1_2_3)]
37+
pub st_mtime: crate::timespec,
38+
#[cfg(musl_v1_2_3)]
39+
pub st_ctime: crate::timespec,
40+
2741
__unused: Padding<[c_int; 2]>,
2842
}
2943

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,27 @@ s! {
1717
pub st_rdev: crate::dev_t,
1818
__st_padding2: Padding<[c_long; 2]>,
1919
pub st_size: off_t,
20+
21+
#[cfg(not(musl_v1_2_3))]
2022
pub st_atime: crate::time_t,
23+
#[cfg(not(musl_v1_2_3))]
2124
pub st_atime_nsec: c_long,
25+
#[cfg(not(musl_v1_2_3))]
2226
pub st_mtime: crate::time_t,
27+
#[cfg(not(musl_v1_2_3))]
2328
pub st_mtime_nsec: c_long,
29+
#[cfg(not(musl_v1_2_3))]
2430
pub st_ctime: crate::time_t,
31+
#[cfg(not(musl_v1_2_3))]
2532
pub st_ctime_nsec: c_long,
33+
34+
#[cfg(musl_v1_2_3)]
35+
pub st_atime: crate::timespec,
36+
#[cfg(musl_v1_2_3)]
37+
pub st_mtime: crate::timespec,
38+
#[cfg(musl_v1_2_3)]
39+
pub st_ctime: crate::timespec,
40+
2641
pub st_blksize: crate::blksize_t,
2742
__st_padding3: Padding<c_long>,
2843
pub st_blocks: crate::blkcnt_t,

src/unix/linux_like/linux/musl/b32/powerpc.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,27 @@ s! {
2929
pub st_size: off_t,
3030
pub st_blksize: crate::blksize_t,
3131
pub st_blocks: crate::blkcnt_t,
32+
33+
#[cfg(not(musl_v1_2_3))]
3234
pub st_atime: crate::time_t,
35+
#[cfg(not(musl_v1_2_3))]
3336
pub st_atime_nsec: c_long,
37+
#[cfg(not(musl_v1_2_3))]
3438
pub st_mtime: crate::time_t,
39+
#[cfg(not(musl_v1_2_3))]
3540
pub st_mtime_nsec: c_long,
41+
#[cfg(not(musl_v1_2_3))]
3642
pub st_ctime: crate::time_t,
43+
#[cfg(not(musl_v1_2_3))]
3744
pub st_ctime_nsec: c_long,
45+
46+
#[cfg(musl_v1_2_3)]
47+
pub st_atime: crate::timespec,
48+
#[cfg(musl_v1_2_3)]
49+
pub st_mtime: crate::timespec,
50+
#[cfg(musl_v1_2_3)]
51+
pub st_ctime: crate::timespec,
52+
3853
__unused: Padding<[c_long; 2]>,
3954
}
4055

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,27 @@ s! {
2121
pub st_blksize: crate::blksize_t,
2222
pub __pad2: c_int,
2323
pub st_blocks: crate::blkcnt_t,
24+
25+
#[cfg(not(musl_v1_2_3))]
2426
pub st_atime: crate::time_t,
27+
#[cfg(not(musl_v1_2_3))]
2528
pub st_atime_nsec: c_long,
29+
#[cfg(not(musl_v1_2_3))]
2630
pub st_mtime: crate::time_t,
31+
#[cfg(not(musl_v1_2_3))]
2732
pub st_mtime_nsec: c_long,
33+
#[cfg(not(musl_v1_2_3))]
2834
pub st_ctime: crate::time_t,
35+
#[cfg(not(musl_v1_2_3))]
2936
pub st_ctime_nsec: c_long,
37+
38+
#[cfg(musl_v1_2_3)]
39+
pub st_atime: crate::timespec,
40+
#[cfg(musl_v1_2_3)]
41+
pub st_mtime: crate::timespec,
42+
#[cfg(musl_v1_2_3)]
43+
pub st_ctime: crate::timespec,
44+
3045
__unused: Padding<[c_int; 2usize]>,
3146
}
3247

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,27 @@ s! {
1919
pub st_size: off_t,
2020
pub st_blksize: crate::blksize_t,
2121
pub st_blocks: crate::blkcnt_t,
22+
23+
#[cfg(not(musl_v1_2_3))]
2224
pub st_atime: crate::time_t,
25+
#[cfg(not(musl_v1_2_3))]
2326
pub st_atime_nsec: c_long,
27+
#[cfg(not(musl_v1_2_3))]
2428
pub st_mtime: crate::time_t,
29+
#[cfg(not(musl_v1_2_3))]
2530
pub st_mtime_nsec: c_long,
31+
#[cfg(not(musl_v1_2_3))]
2632
pub st_ctime: crate::time_t,
33+
#[cfg(not(musl_v1_2_3))]
2734
pub st_ctime_nsec: c_long,
35+
36+
#[cfg(musl_v1_2_3)]
37+
pub st_atime: crate::timespec,
38+
#[cfg(musl_v1_2_3)]
39+
pub st_mtime: crate::timespec,
40+
#[cfg(musl_v1_2_3)]
41+
pub st_ctime: crate::timespec,
42+
2843
pub st_ino: crate::ino_t,
2944
}
3045

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,27 @@ s! {
2323
pub st_blksize: crate::blksize_t,
2424
__pad1: Padding<c_int>,
2525
pub st_blocks: crate::blkcnt_t,
26+
27+
#[cfg(not(musl_v1_2_3))]
2628
pub st_atime: crate::time_t,
29+
#[cfg(not(musl_v1_2_3))]
2730
pub st_atime_nsec: c_long,
31+
#[cfg(not(musl_v1_2_3))]
2832
pub st_mtime: crate::time_t,
33+
#[cfg(not(musl_v1_2_3))]
2934
pub st_mtime_nsec: c_long,
35+
#[cfg(not(musl_v1_2_3))]
3036
pub st_ctime: crate::time_t,
37+
#[cfg(not(musl_v1_2_3))]
3138
pub st_ctime_nsec: c_long,
39+
40+
#[cfg(musl_v1_2_3)]
41+
pub st_atime: crate::timespec,
42+
#[cfg(musl_v1_2_3)]
43+
pub st_mtime: crate::timespec,
44+
#[cfg(musl_v1_2_3)]
45+
pub st_ctime: crate::timespec,
46+
3247
__unused: Padding<[c_uint; 2]>,
3348
}
3449

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,27 @@ s! {
2626
pub st_blksize: crate::blksize_t,
2727
__pad2: Padding<c_int>,
2828
pub st_blocks: crate::blkcnt_t,
29+
30+
#[cfg(not(musl_v1_2_3))]
2931
pub st_atime: crate::time_t,
32+
#[cfg(not(musl_v1_2_3))]
3033
pub st_atime_nsec: c_long,
34+
#[cfg(not(musl_v1_2_3))]
3135
pub st_mtime: crate::time_t,
36+
#[cfg(not(musl_v1_2_3))]
3237
pub st_mtime_nsec: c_long,
38+
#[cfg(not(musl_v1_2_3))]
3339
pub st_ctime: crate::time_t,
40+
#[cfg(not(musl_v1_2_3))]
3441
pub st_ctime_nsec: c_long,
42+
43+
#[cfg(musl_v1_2_3)]
44+
pub st_atime: crate::timespec,
45+
#[cfg(musl_v1_2_3)]
46+
pub st_mtime: crate::timespec,
47+
#[cfg(musl_v1_2_3)]
48+
pub st_ctime: crate::timespec,
49+
3550
__unused: Padding<[c_int; 2usize]>,
3651
}
3752

src/unix/linux_like/linux/musl/b64/mips64.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,27 @@ s! {
2222
__pad2: Padding<[c_uint; 2]>,
2323
pub st_size: off_t,
2424
__pad3: Padding<c_int>,
25+
26+
#[cfg(not(musl_v1_2_3))]
2527
pub st_atime: crate::time_t,
28+
#[cfg(not(musl_v1_2_3))]
2629
pub st_atime_nsec: c_long,
30+
#[cfg(not(musl_v1_2_3))]
2731
pub st_mtime: crate::time_t,
32+
#[cfg(not(musl_v1_2_3))]
2833
pub st_mtime_nsec: c_long,
34+
#[cfg(not(musl_v1_2_3))]
2935
pub st_ctime: crate::time_t,
36+
#[cfg(not(musl_v1_2_3))]
3037
pub st_ctime_nsec: c_long,
38+
39+
#[cfg(musl_v1_2_3)]
40+
pub st_atime: crate::timespec,
41+
#[cfg(musl_v1_2_3)]
42+
pub st_mtime: crate::timespec,
43+
#[cfg(musl_v1_2_3)]
44+
pub st_ctime: crate::timespec,
45+
3146
pub st_blksize: crate::blksize_t,
3247
__pad4: Padding<c_uint>,
3348
pub st_blocks: crate::blkcnt_t,

0 commit comments

Comments
 (0)