Skip to content

Commit 2a22f0c

Browse files
committed
sys: add MIPS R6 support (nix-rust#2138)
Currently R6 targets are almost identical to their R2/R5 counterparts.
1 parent 08d8ba9 commit 2a22f0c

File tree

3 files changed

+43
-6
lines changed

3 files changed

+43
-6
lines changed

src/sys/ioctl/linux.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ pub const TYPEBITS: ioctl_num_type = 8;
1616

1717
#[cfg(any(
1818
target_arch = "mips",
19+
target_arch = "mips32r6",
1920
target_arch = "mips64",
21+
target_arch = "mips64r6",
2022
target_arch = "powerpc",
2123
target_arch = "powerpc64",
2224
target_arch = "sparc64"

src/sys/ptrace/linux.rs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,42 +53,54 @@ libc_enum! {
5353
#[cfg(any(all(target_os = "android", target_pointer_width = "32"),
5454
all(target_os = "linux", any(target_env = "musl",
5555
target_arch = "mips",
56+
target_arch = "mips32r6",
5657
target_arch = "mips64",
58+
target_arch = "mips64r6",
5759
target_arch = "x86_64",
5860
target_pointer_width = "32"))))]
5961
PTRACE_GETREGS,
6062
#[cfg(any(all(target_os = "android", target_pointer_width = "32"),
6163
all(target_os = "linux", any(target_env = "musl",
6264
target_arch = "mips",
65+
target_arch = "mips32r6",
6366
target_arch = "mips64",
67+
target_arch = "mips64r6",
6468
target_arch = "x86_64",
6569
target_pointer_width = "32"))))]
6670
PTRACE_SETREGS,
6771
#[cfg(any(all(target_os = "android", target_pointer_width = "32"),
6872
all(target_os = "linux", any(target_env = "musl",
6973
target_arch = "mips",
74+
target_arch = "mips32r6",
7075
target_arch = "mips64",
76+
target_arch = "mips64r6",
7177
target_arch = "x86_64",
7278
target_pointer_width = "32"))))]
7379
PTRACE_GETFPREGS,
7480
#[cfg(any(all(target_os = "android", target_pointer_width = "32"),
7581
all(target_os = "linux", any(target_env = "musl",
7682
target_arch = "mips",
83+
target_arch = "mips32r6",
7784
target_arch = "mips64",
85+
target_arch = "mips64r6",
7886
target_arch = "x86_64",
7987
target_pointer_width = "32"))))]
8088
PTRACE_SETFPREGS,
8189
PTRACE_ATTACH,
8290
PTRACE_DETACH,
8391
#[cfg(all(target_os = "linux", any(target_env = "musl",
8492
target_arch = "mips",
93+
target_arch = "mips32r6",
8594
target_arch = "mips64",
95+
target_arch = "mips64r6",
8696
target_arch = "x86",
8797
target_arch = "x86_64")))]
8898
PTRACE_GETFPXREGS,
8999
#[cfg(all(target_os = "linux", any(target_env = "musl",
90100
target_arch = "mips",
101+
target_arch = "mips32r6",
91102
target_arch = "mips64",
103+
target_arch = "mips64r6",
92104
target_arch = "x86",
93105
target_arch = "x86_64")))]
94106
PTRACE_SETFPXREGS,
@@ -98,10 +110,14 @@ libc_enum! {
98110
PTRACE_GETSIGINFO,
99111
PTRACE_SETSIGINFO,
100112
#[cfg(all(target_os = "linux", not(any(target_arch = "mips",
101-
target_arch = "mips64"))))]
113+
target_arch = "mips32r6",
114+
target_arch = "mips64",
115+
target_arch = "mips64r6"))))]
102116
PTRACE_GETREGSET,
103117
#[cfg(all(target_os = "linux", not(any(target_arch = "mips",
104-
target_arch = "mips64"))))]
118+
target_arch = "mips32r6",
119+
target_arch = "mips64",
120+
target_arch = "mips64r6"))))]
105121
PTRACE_SETREGSET,
106122
#[cfg(target_os = "linux")]
107123
#[cfg_attr(docsrs, doc(cfg(all())))]
@@ -110,10 +126,14 @@ libc_enum! {
110126
#[cfg_attr(docsrs, doc(cfg(all())))]
111127
PTRACE_INTERRUPT,
112128
#[cfg(all(target_os = "linux", not(any(target_arch = "mips",
113-
target_arch = "mips64"))))]
129+
target_arch = "mips32r6",
130+
target_arch = "mips64",
131+
target_arch = "mips64r6"))))]
114132
PTRACE_LISTEN,
115133
#[cfg(all(target_os = "linux", not(any(target_arch = "mips",
116-
target_arch = "mips64"))))]
134+
target_arch = "mips32r6",
135+
target_arch = "mips64",
136+
target_arch = "mips64r6"))))]
117137
PTRACE_PEEKSIGINFO,
118138
#[cfg(all(target_os = "linux", target_env = "gnu",
119139
any(target_arch = "x86", target_arch = "x86_64")))]

src/sys/signal.rs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,10 @@ libc_enum! {
6161
/// Stack fault (obsolete)
6262
#[cfg(all(any(target_os = "android", target_os = "emscripten",
6363
target_os = "fuchsia", target_os = "linux"),
64-
not(any(target_arch = "mips", target_arch = "mips64",
64+
not(any(target_arch = "mips",
65+
target_arch = "mips32r6",
66+
target_arch = "mips64",
67+
target_arch = "mips64r6",
6568
target_arch = "sparc64"))))]
6669
SIGSTKFLT,
6770
/// To parent on child stop or exit
@@ -144,7 +147,9 @@ impl FromStr for Signal {
144147
),
145148
not(any(
146149
target_arch = "mips",
150+
target_arch = "mips32r6",
147151
target_arch = "mips64",
152+
target_arch = "mips64r6",
148153
target_arch = "sparc64"
149154
))
150155
))]
@@ -227,7 +232,9 @@ impl Signal {
227232
),
228233
not(any(
229234
target_arch = "mips",
235+
target_arch = "mips32r6",
230236
target_arch = "mips64",
237+
target_arch = "mips64r6",
231238
target_arch = "sparc64"
232239
))
233240
))]
@@ -318,7 +325,9 @@ const SIGNALS: [Signal; 28] = [
318325
),
319326
not(any(
320327
target_arch = "mips",
328+
target_arch = "mips32r6",
321329
target_arch = "mips64",
330+
target_arch = "mips64r6",
322331
target_arch = "sparc64"
323332
))
324333
))]
@@ -336,7 +345,13 @@ const SIGNALS: [Signal; 31] = [
336345
target_os = "emscripten",
337346
target_os = "fuchsia"
338347
),
339-
any(target_arch = "mips", target_arch = "mips64", target_arch = "sparc64")
348+
any(
349+
target_arch = "mips",
350+
target_arch = "mips32r6",
351+
target_arch = "mips64",
352+
target_arch = "mips64r6",
353+
target_arch = "sparc64"
354+
)
340355
))]
341356
#[cfg(feature = "signal")]
342357
const SIGNALS: [Signal; 30] = [

0 commit comments

Comments
 (0)