Skip to content

Commit a0a798b

Browse files
committed
add mips32r6 target_arch detection for linux gnu targets
1 parent 7bb91d4 commit a0a798b

File tree

7 files changed

+44
-23
lines changed

7 files changed

+44
-23
lines changed

build.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const ALLOWED_CFGS: &'static [&'static str] = &[
3434
const CHECK_CFG_EXTRA: &'static [(&'static str, &'static [&'static str])] = &[
3535
("target_os", &["switch", "aix", "ohos"]),
3636
("target_env", &["illumos", "wasi", "aix", "ohos"]),
37-
("target_arch", &["loongarch64", "mips64r6"]),
37+
("target_arch", &["loongarch64", "mips32r6", "mips64r6"]),
3838
];
3939

4040
fn main() {

src/unix/linux_like/linux/align.rs

+6
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ macro_rules! expand_align {
8585

8686
#[cfg_attr(all(target_pointer_width = "32",
8787
any(target_arch = "mips",
88+
target_arch = "mips32r6",
8889
target_arch = "arm",
8990
target_arch = "hexagon",
9091
target_arch = "m68k",
@@ -95,6 +96,7 @@ macro_rules! expand_align {
9596
repr(align(4)))]
9697
#[cfg_attr(any(target_pointer_width = "64",
9798
not(any(target_arch = "mips",
99+
target_arch = "mips32r6",
98100
target_arch = "arm",
99101
target_arch = "hexagon",
100102
target_arch = "m68k",
@@ -110,6 +112,7 @@ macro_rules! expand_align {
110112

111113
#[cfg_attr(all(target_pointer_width = "32",
112114
any(target_arch = "mips",
115+
target_arch = "mips32r6",
113116
target_arch = "arm",
114117
target_arch = "hexagon",
115118
target_arch = "m68k",
@@ -120,6 +123,7 @@ macro_rules! expand_align {
120123
repr(align(4)))]
121124
#[cfg_attr(any(target_pointer_width = "64",
122125
not(any(target_arch = "mips",
126+
target_arch = "mips32r6",
123127
target_arch = "arm",
124128
target_arch = "hexagon",
125129
target_arch = "m68k",
@@ -134,6 +138,7 @@ macro_rules! expand_align {
134138

135139
#[cfg_attr(all(target_pointer_width = "32",
136140
any(target_arch = "mips",
141+
target_arch = "mips32r6",
137142
target_arch = "arm",
138143
target_arch = "hexagon",
139144
target_arch = "m68k",
@@ -144,6 +149,7 @@ macro_rules! expand_align {
144149
repr(align(4)))]
145150
#[cfg_attr(any(target_pointer_width = "64",
146151
not(any(target_arch = "mips",
152+
target_arch = "mips32r6",
147153
target_arch = "arm",
148154
target_arch = "hexagon",
149155
target_arch = "m68k",

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ cfg_if! {
280280
}
281281

282282
cfg_if! {
283-
if #[cfg(target_arch = "mips",
283+
if #[cfg(any(target_arch = "mips", target_arch = "mips32r6"),
284284
any(target_env = "gnu",
285285
target_env = "uclibc"))] {
286286
pub const RLIM_INFINITY: ::rlim_t = 0x7fffffff;

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
cfg_if! {
2-
if #[cfg(any(target_arch = "mips", target_arch = "mips64", target_arch = "mips64r6"))] {
2+
if #[cfg(any(target_arch = "mips",
3+
target_arch = "mips32r6",
4+
target_arch = "mips64",
5+
target_arch = "mips64r6"))] {
36
mod mips;
47
pub use self::mips::*;
58
} else if #[cfg(any(target_arch = "powerpc", target_arch = "powerpc64"))] {

src/unix/linux_like/linux/gnu/b32/mod.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -43,50 +43,50 @@ cfg_if! {
4343

4444
s! {
4545
pub struct stat {
46-
#[cfg(not(target_arch = "mips"))]
46+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
4747
pub st_dev: ::dev_t,
48-
#[cfg(target_arch = "mips")]
48+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
4949
pub st_dev: ::c_ulong,
5050

51-
#[cfg(not(target_arch = "mips"))]
51+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
5252
__pad1: ::c_short,
53-
#[cfg(target_arch = "mips")]
53+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
5454
st_pad1: [::c_long; 3],
5555
pub st_ino: ::ino_t,
5656
pub st_mode: ::mode_t,
5757
pub st_nlink: ::nlink_t,
5858
pub st_uid: ::uid_t,
5959
pub st_gid: ::gid_t,
60-
#[cfg(not(target_arch = "mips"))]
60+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
6161
pub st_rdev: ::dev_t,
62-
#[cfg(target_arch = "mips")]
62+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
6363
pub st_rdev: ::c_ulong,
64-
#[cfg(not(target_arch = "mips"))]
64+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
6565
__pad2: ::c_short,
66-
#[cfg(target_arch = "mips")]
66+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
6767
st_pad2: [::c_long; 2],
6868
pub st_size: ::off_t,
69-
#[cfg(target_arch = "mips")]
69+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
7070
st_pad3: ::c_long,
71-
#[cfg(not(target_arch = "mips"))]
71+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
7272
pub st_blksize: ::blksize_t,
73-
#[cfg(not(target_arch = "mips"))]
73+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
7474
pub st_blocks: ::blkcnt_t,
7575
pub st_atime: ::time_t,
7676
pub st_atime_nsec: ::c_long,
7777
pub st_mtime: ::time_t,
7878
pub st_mtime_nsec: ::c_long,
7979
pub st_ctime: ::time_t,
8080
pub st_ctime_nsec: ::c_long,
81-
#[cfg(not(target_arch = "mips"))]
81+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
8282
__unused4: ::c_long,
83-
#[cfg(not(target_arch = "mips"))]
83+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6")))]
8484
__unused5: ::c_long,
85-
#[cfg(target_arch = "mips")]
85+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
8686
pub st_blksize: ::blksize_t,
87-
#[cfg(target_arch = "mips")]
87+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
8888
pub st_blocks: ::blkcnt_t,
89-
#[cfg(target_arch = "mips")]
89+
#[cfg(any(target_arch = "mips", target_arch = "mips32r6"))]
9090
st_pad5: [::c_long; 14],
9191
}
9292

@@ -140,12 +140,12 @@ s! {
140140
#[cfg(target_arch = "powerpc")]
141141
__reserved: ::__syscall_ulong_t,
142142
pub sem_otime: ::time_t,
143-
#[cfg(not(any(target_arch = "mips", target_arch = "powerpc")))]
143+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6", target_arch = "powerpc")))]
144144
__reserved: ::__syscall_ulong_t,
145145
#[cfg(target_arch = "powerpc")]
146146
__reserved2: ::__syscall_ulong_t,
147147
pub sem_ctime: ::time_t,
148-
#[cfg(not(any(target_arch = "mips", target_arch = "powerpc")))]
148+
#[cfg(not(any(target_arch = "mips", target_arch = "mips32r6", target_arch = "powerpc")))]
149149
__reserved2: ::__syscall_ulong_t,
150150
pub sem_nsems: ::__syscall_ulong_t,
151151
__glibc_reserved3: ::__syscall_ulong_t,
@@ -337,7 +337,7 @@ cfg_if! {
337337
} else if #[cfg(target_arch = "arm")] {
338338
mod arm;
339339
pub use self::arm::*;
340-
} else if #[cfg(target_arch = "mips")] {
340+
} else if #[cfg(any(target_arch = "mips", target_arch = "mips32r6"))] {
341341
mod mips;
342342
pub use self::mips::*;
343343
} else if #[cfg(target_arch = "m68k")] {

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

+7-1
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,15 @@ s! {
116116
target_arch = "sparc",
117117
target_arch = "sparc64",
118118
target_arch = "mips",
119+
target_arch = "mips32r6",
119120
target_arch = "mips64",
120121
target_arch = "mips64r6")))]
121122
pub c_ispeed: ::speed_t,
122123
#[cfg(not(any(
123124
target_arch = "sparc",
124125
target_arch = "sparc64",
125126
target_arch = "mips",
127+
target_arch = "mips32r6",
126128
target_arch = "mips64",
127129
target_arch = "mips64r6")))]
128130
pub c_ospeed: ::speed_t,
@@ -956,7 +958,10 @@ pub const KEYCTL_SUPPORTS_DECRYPT: u32 = 0x02;
956958
pub const KEYCTL_SUPPORTS_SIGN: u32 = 0x04;
957959
pub const KEYCTL_SUPPORTS_VERIFY: u32 = 0x08;
958960
cfg_if! {
959-
if #[cfg(not(any(target_arch="mips", target_arch="mips64", target_arch = "mips64r6")))] {
961+
if #[cfg(not(any(target_arch="mips",
962+
target_arch="mips32r6",
963+
target_arch="mips64",
964+
target_arch = "mips64r6")))] {
960965
pub const KEYCTL_MOVE: u32 = 30;
961966
pub const KEYCTL_CAPABILITIES: u32 = 31;
962967

@@ -1381,6 +1386,7 @@ cfg_if! {
13811386
target_arch = "arm",
13821387
target_arch = "m68k",
13831388
target_arch = "mips",
1389+
target_arch = "mips32r6",
13841390
target_arch = "powerpc",
13851391
target_arch = "sparc",
13861392
target_arch = "riscv32"))] {

src/unix/linux_like/linux/no_align.rs

+6
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ macro_rules! expand_align {
7070

7171
pub struct pthread_mutex_t {
7272
#[cfg(any(target_arch = "mips",
73+
target_arch = "mips32r6",
7374
target_arch = "arm",
7475
target_arch = "m68k",
7576
target_arch = "powerpc",
@@ -78,6 +79,7 @@ macro_rules! expand_align {
7879
target_pointer_width = "32")))]
7980
__align: [::c_long; 0],
8081
#[cfg(not(any(target_arch = "mips",
82+
target_arch = "mips32r6",
8183
target_arch = "arm",
8284
target_arch = "m68k",
8385
target_arch = "powerpc",
@@ -90,6 +92,7 @@ macro_rules! expand_align {
9092

9193
pub struct pthread_rwlock_t {
9294
#[cfg(any(target_arch = "mips",
95+
target_arch = "mips32r6",
9396
target_arch = "arm",
9497
target_arch = "m68k",
9598
target_arch = "powerpc",
@@ -98,6 +101,7 @@ macro_rules! expand_align {
98101
target_pointer_width = "32")))]
99102
__align: [::c_long; 0],
100103
#[cfg(not(any(target_arch = "mips",
104+
target_arch = "mips32r6",
101105
target_arch = "arm",
102106
target_arch = "m68k",
103107
target_arch = "powerpc",
@@ -110,6 +114,7 @@ macro_rules! expand_align {
110114

111115
pub struct pthread_barrier_t {
112116
#[cfg(any(target_arch = "mips",
117+
target_arch = "mips32r6",
113118
target_arch = "arm",
114119
target_arch = "m68k",
115120
target_arch = "powerpc",
@@ -118,6 +123,7 @@ macro_rules! expand_align {
118123
target_pointer_width = "32")))]
119124
__align: [::c_long; 0],
120125
#[cfg(not(any(target_arch = "mips",
126+
target_arch = "mips32r6",
121127
target_arch = "arm",
122128
target_arch = "m68k",
123129
target_arch = "powerpc",

0 commit comments

Comments
 (0)