Skip to content

Commit

Permalink
benchmarks/inferno: fix build on powerpc
Browse files Browse the repository at this point in the history
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
pkubaj committed Jul 13, 2021
1 parent 93f47fb commit 675bee2
Showing 1 changed file with 82 additions and 0 deletions.
82 changes: 82 additions & 0 deletions benchmarks/inferno/files/patch-powerpc
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",

0 comments on commit 675bee2

Please sign in to comment.