1
- From c6ec5b50fc2d7bc6b984b5c6910d944664da8e08 Mon Sep 17 00:00:00 2001
1
+ From 06433417feda99e2f407026d95349e3dbde054d1 Mon Sep 17 00:00:00 2001
2
2
From: Andy-Python-Programmer <
[email protected] >
3
- Date: Sat , 17 Dec 2022 15:50:08 +1100
3
+ Date: Fri , 17 Feb 2023 18:18:23 +1100
4
4
Subject: [PATCH] <xxx>
5
5
6
6
---
7
- src/unix/mlibc/mod.rs | 453 ++++++++++++++++++++++++++++++++++++++----
8
- 1 file changed, 417 insertions(+), 36 deletions(-)
7
+ .../linux_like/linux/gnu/b64/x86_64/mod.rs | 4 +-
8
+ src/unix/linux_like/linux/gnu/mod.rs | 4 +-
9
+ src/unix/linux_like/linux/mod.rs | 28 +-
10
+ src/unix/mlibc/mod.rs | 457 ++++++++++++++++--
11
+ 4 files changed, 439 insertions(+), 54 deletions(-)
9
12
13
+ diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
14
+ index e6307e2..cae81c4 100644
15
+ --- a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
16
+ +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
17
+ @@ -330,7 +330,7 @@ cfg_if! {
18
+ impl Eq for user_fpregs_struct {}
19
+
20
+ impl ::fmt::Debug for user_fpregs_struct {
21
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
22
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
23
+ f.debug_struct("user_fpregs_struct")
24
+ .field("cwd", &self.cwd)
25
+ .field("ftw", &self.ftw)
26
+ @@ -375,7 +375,7 @@ cfg_if! {
27
+ impl Eq for ucontext_t {}
28
+
29
+ impl ::fmt::Debug for ucontext_t {
30
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
31
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
32
+ f.debug_struct("ucontext_t")
33
+ .field("uc_flags", &self.uc_flags)
34
+ .field("uc_link", &self.uc_link)
35
+ diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs
36
+ index b8b6ded..98b49a0 100644
37
+ --- a/src/unix/linux_like/linux/gnu/mod.rs
38
+ +++ b/src/unix/linux_like/linux/gnu/mod.rs
39
+ @@ -519,7 +519,7 @@ cfg_if! {
40
+ impl Eq for utmpx {}
41
+
42
+ impl ::fmt::Debug for utmpx {
43
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
44
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
45
+ f.debug_struct("utmpx")
46
+ .field("ut_type", &self.ut_type)
47
+ .field("ut_pid", &self.ut_pid)
48
+ @@ -568,7 +568,7 @@ cfg_if! {
49
+
50
+ #[cfg(libc_union)]
51
+ impl ::fmt::Debug for __c_anonymous_ptrace_syscall_info_data {
52
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
53
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
54
+ unsafe {
55
+ f.debug_struct("__c_anonymous_ptrace_syscall_info_data")
56
+ .field("entry", &self.entry)
57
+ diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs
58
+ index be12190..c8762d5 100644
59
+ --- a/src/unix/linux_like/linux/mod.rs
60
+ +++ b/src/unix/linux_like/linux/mod.rs
61
+ @@ -840,7 +840,7 @@ cfg_if! {
62
+ }
63
+ impl Eq for sockaddr_nl {}
64
+ impl ::fmt::Debug for sockaddr_nl {
65
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
66
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
67
+ f.debug_struct("sockaddr_nl")
68
+ .field("nl_family", &self.nl_family)
69
+ .field("nl_pid", &self.nl_pid)
70
+ @@ -873,7 +873,7 @@ cfg_if! {
71
+ impl Eq for dirent {}
72
+
73
+ impl ::fmt::Debug for dirent {
74
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
75
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
76
+ f.debug_struct("dirent")
77
+ .field("d_ino", &self.d_ino)
78
+ .field("d_off", &self.d_off)
79
+ @@ -911,7 +911,7 @@ cfg_if! {
80
+ impl Eq for dirent64 {}
81
+
82
+ impl ::fmt::Debug for dirent64 {
83
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
84
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
85
+ f.debug_struct("dirent64")
86
+ .field("d_ino", &self.d_ino)
87
+ .field("d_off", &self.d_off)
88
+ @@ -941,7 +941,7 @@ cfg_if! {
89
+ impl Eq for pthread_cond_t {}
90
+
91
+ impl ::fmt::Debug for pthread_cond_t {
92
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
93
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
94
+ f.debug_struct("pthread_cond_t")
95
+ // FIXME: .field("size", &self.size)
96
+ .finish()
97
+ @@ -963,7 +963,7 @@ cfg_if! {
98
+ impl Eq for pthread_mutex_t {}
99
+
100
+ impl ::fmt::Debug for pthread_mutex_t {
101
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
102
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
103
+ f.debug_struct("pthread_mutex_t")
104
+ // FIXME: .field("size", &self.size)
105
+ .finish()
106
+ @@ -985,7 +985,7 @@ cfg_if! {
107
+ impl Eq for pthread_rwlock_t {}
108
+
109
+ impl ::fmt::Debug for pthread_rwlock_t {
110
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
111
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
112
+ f.debug_struct("pthread_rwlock_t")
113
+ // FIXME: .field("size", &self.size)
114
+ .finish()
115
+ @@ -1007,7 +1007,7 @@ cfg_if! {
116
+ impl Eq for pthread_barrier_t {}
117
+
118
+ impl ::fmt::Debug for pthread_barrier_t {
119
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
120
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
121
+ f.debug_struct("pthread_barrier_t")
122
+ .field("size", &self.size)
123
+ .finish()
124
+ @@ -1041,7 +1041,7 @@ cfg_if! {
125
+ impl Eq for sockaddr_alg {}
126
+
127
+ impl ::fmt::Debug for sockaddr_alg {
128
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
129
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
130
+ f.debug_struct("sockaddr_alg")
131
+ .field("salg_family", &self.salg_family)
132
+ .field("salg_type", &self.salg_type)
133
+ @@ -1072,7 +1072,7 @@ cfg_if! {
134
+ impl Eq for uinput_setup {}
135
+
136
+ impl ::fmt::Debug for uinput_setup {
137
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
138
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
139
+ f.debug_struct("uinput_setup")
140
+ .field("id", &self.id)
141
+ .field("name", &&self.name[..])
142
+ @@ -1103,7 +1103,7 @@ cfg_if! {
143
+ impl Eq for uinput_user_dev {}
144
+
145
+ impl ::fmt::Debug for uinput_user_dev {
146
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
147
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
148
+ f.debug_struct("uinput_setup")
149
+ .field("name", &&self.name[..])
150
+ .field("id", &self.id)
151
+ @@ -1152,7 +1152,7 @@ cfg_if! {
152
+
153
+ #[allow(deprecated)]
154
+ impl ::fmt::Debug for af_alg_iv {
155
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
156
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
157
+ f.debug_struct("af_alg_iv")
158
+ .field("ivlen", &self.ivlen)
159
+ .finish()
160
+ @@ -1176,7 +1176,7 @@ cfg_if! {
161
+ }
162
+ impl Eq for mq_attr {}
163
+ impl ::fmt::Debug for mq_attr {
164
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
165
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
166
+ f.debug_struct("mq_attr")
167
+ .field("mq_flags", &self.mq_flags)
168
+ .field("mq_maxmsg", &self.mq_maxmsg)
169
+ @@ -1195,7 +1195,7 @@ cfg_if! {
170
+ }
171
+ #[cfg(libc_union)]
172
+ impl ::fmt::Debug for __c_anonymous_ifr_ifru {
173
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
174
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
175
+ f.debug_struct("ifr_ifru")
176
+ .field("ifru_addr", unsafe { &self.ifru_addr })
177
+ .field("ifru_dstaddr", unsafe { &self.ifru_dstaddr })
178
+ @@ -1214,7 +1214,7 @@ cfg_if! {
179
+ }
180
+ }
181
+ impl ::fmt::Debug for ifreq {
182
+ - fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
183
+ + fn fmt(&self, f: &mut ::fmt::Formatter<'_>) -> ::fmt::Result {
184
+ f.debug_struct("ifreq")
185
+ .field("ifr_name", &self.ifr_name)
186
+ .field("ifr_ifru", &self.ifr_ifru)
10
187
diff --git a/src/unix/mlibc/mod.rs b/src/unix/mlibc/mod.rs
11
- index 2046530..93fcc61 100644
188
+ index 2046530..abae13c 100644
12
189
--- a/src/unix/mlibc/mod.rs
13
190
+++ b/src/unix/mlibc/mod.rs
14
191
@@ -47,7 +47,6 @@ pub type fsfilcnt_t = ::c_uint;
@@ -557,7 +734,16 @@ index 2046530..93fcc61 100644
557
734
pub const F_GETOWN: ::c_int = 10;
558
735
pub const F_SETOWN: ::c_int = 11;
559
736
pub const O_ACCMODE: ::c_int = 7;
560
- @@ -649,18 +961,42 @@ pub const WCOREFLAG: ::c_int = 0x80;
737
+ @@ -644,23 +956,51 @@ pub const S_IXGRP: mode_t = 0o10;
738
+ pub const S_IXOTH: mode_t = 0o1;
739
+ pub const S_IXUSR: mode_t = 0o100;
740
+
741
+ + // Used by utimensat() and friends
742
+ + pub const UTIME_NOW: c_long = (1 << 30) - 1;
743
+ + pub const UTIME_OMIT: c_long = (1 << 30) - 2;
744
+ +
745
+ // options/posix/include/sys/wait.h
746
+ pub const WCOREFLAG: ::c_int = 0x80;
561
747
pub const WNOHANG: ::c_int = 2;
562
748
563
749
// options/linux/include/sys/poll.h
@@ -601,7 +787,7 @@ index 2046530..93fcc61 100644
601
787
602
788
// options/posix/include/pthread.h
603
789
align_const! {
604
- @@ -668,9 +1004 ,12 @@ align_const! {
790
+ @@ -668,9 +1008 ,12 @@ align_const! {
605
791
__mlibc_state: 0,
606
792
__mlibc_recursion: 0,
607
793
__mlibc_flags: 0,
@@ -614,7 +800,7 @@ index 2046530..93fcc61 100644
614
800
};
615
801
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
616
802
__mlibc_m: 0,
617
- @@ -689,11 +1028 ,40 @@ pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
803
+ @@ -689,11 +1032 ,40 @@ pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
618
804
pub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
619
805
620
806
extern "C" {
@@ -655,7 +841,7 @@ index 2046530..93fcc61 100644
655
841
pub fn getgrgid_r(
656
842
gid: ::gid_t,
657
843
grp: *mut ::group,
658
- @@ -728,13 +1096 ,24 @@ extern "C" {
844
+ @@ -728,13 +1100 ,24 @@ extern "C" {
659
845
buflen: ::size_t,
660
846
result: *mut *mut passwd,
661
847
) -> ::c_int;
@@ -684,7 +870,7 @@ index 2046530..93fcc61 100644
684
870
pub fn pthread_create(
685
871
thread: *mut ::pthread_t,
686
872
attr: *const ::pthread_attr_t,
687
- @@ -752,6 +1131 ,8 @@ extern "C" {
873
+ @@ -752,6 +1135 ,8 @@ extern "C" {
688
874
addr: *mut ::sockaddr,
689
875
addrlen: *mut ::socklen_t,
690
876
) -> ::ssize_t;
@@ -694,5 +880,5 @@ index 2046530..93fcc61 100644
694
880
pub fn setpwent();
695
881
pub fn writev(fd: ::c_int, iov: *const ::iovec, count: ::c_int) -> ::ssize_t;
696
882
- -
697
- 2.38 .1
883
+ 2.39 .1
698
884
0 commit comments