-
Notifications
You must be signed in to change notification settings - Fork 745
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
benchmarks/inferno: fix build on powerpc
Apart from backporting libc support, it also requires adding powerpc target to the list of targets that don't support 64-bit atomics.
- Loading branch information
Showing
1 changed file
with
82 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
--- cargo-crates/libc-0.2.95/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2020-03-17 20:35:43 UTC | ||
+++ cargo-crates/libc-0.2.95/src/unix/bsd/freebsdlike/freebsd/mod.rs | ||
@@ -1486,6 +1486,9 @@ cfg_if! { | ||
} else if #[cfg(target_arch = "powerpc64")] { | ||
mod powerpc64; | ||
pub use self::powerpc64::*; | ||
+ } else if #[cfg(target_arch = "powerpc")] { | ||
+ mod powerpc; | ||
+ pub use self::powerpc::*; | ||
} else { | ||
// Unknown target_arch | ||
} | ||
--- cargo-crates/libc-0.2.95/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig 2021-06-23 22:40:24 UTC | ||
+++ cargo-crates/libc-0.2.95/src/unix/bsd/freebsdlike/freebsd/powerpc.rs | ||
@@ -0,0 +1,47 @@ | ||
+pub type c_char = u8; | ||
+pub type c_long = i32; | ||
+pub type c_ulong = u32; | ||
+pub type wchar_t = i32; | ||
+pub type time_t = i64; | ||
+pub type suseconds_t = i32; | ||
+pub type register_t = i32; | ||
+ | ||
+s! { | ||
+ pub struct stat { | ||
+ pub st_dev: ::dev_t, | ||
+ pub st_ino: ::ino_t, | ||
+ pub st_mode: ::mode_t, | ||
+ pub st_nlink: ::nlink_t, | ||
+ pub st_uid: ::uid_t, | ||
+ pub st_gid: ::gid_t, | ||
+ pub st_rdev: ::dev_t, | ||
+ pub st_atime: ::time_t, | ||
+ pub st_atime_nsec: ::c_long, | ||
+ pub st_mtime: ::time_t, | ||
+ pub st_mtime_nsec: ::c_long, | ||
+ pub st_ctime: ::time_t, | ||
+ pub st_ctime_nsec: ::c_long, | ||
+ pub st_size: ::off_t, | ||
+ pub st_blocks: ::blkcnt_t, | ||
+ pub st_blksize: ::blksize_t, | ||
+ pub st_flags: ::fflags_t, | ||
+ pub st_gen: u32, | ||
+ pub st_lspare: i32, | ||
+ pub st_birthtime: ::time_t, | ||
+ pub st_birthtime_nsec: ::c_long, | ||
+ } | ||
+} | ||
+ | ||
+// should be pub(crate), but that requires Rust 1.18.0 | ||
+cfg_if! { | ||
+ if #[cfg(libc_const_size_of)] { | ||
+ #[doc(hidden)] | ||
+ pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1; | ||
+ } else { | ||
+ #[doc(hidden)] | ||
+ pub const _ALIGNBYTES: usize = 4 - 1; | ||
+ } | ||
+} | ||
+ | ||
+pub const MAP_32BIT: ::c_int = 0x00080000; | ||
+pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4 | ||
--- cargo-crates/crossbeam-epoch-0.9.5/no_atomic.rs.orig 2021-07-12 16:01:21.814570000 +0200 | ||
+++ cargo-crates/crossbeam-epoch-0.9.5/no_atomic.rs 2021-07-12 16:01:34.083879000 +0200 | ||
@@ -30,6 +30,7 @@ | ||
"mipsel-unknown-none", | ||
"mipsisa32r6-unknown-linux-gnu", | ||
"mipsisa32r6el-unknown-linux-gnu", | ||
+ "powerpc-unknown-freebsd", | ||
"powerpc-unknown-linux-gnu", | ||
"powerpc-unknown-linux-gnuspe", | ||
"powerpc-unknown-linux-musl", | ||
--- cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs.orig 2021-07-12 16:01:05.023177000 +0200 | ||
+++ cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs 2021-07-12 16:01:16.538869000 +0200 | ||
@@ -30,6 +30,7 @@ | ||
"mipsel-unknown-none", | ||
"mipsisa32r6-unknown-linux-gnu", | ||
"mipsisa32r6el-unknown-linux-gnu", | ||
+ "powerpc-unknown-freebsd", | ||
"powerpc-unknown-linux-gnu", | ||
"powerpc-unknown-linux-gnuspe", | ||
"powerpc-unknown-linux-musl", |