aboutsummaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2021-07-13 09:26:30 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2021-07-13 09:26:30 +0000
commit675bee23270b92331c096b52e44bc1c32b45e060 (patch)
tree93a568eedc13d0400c50e3912a409aa24b23f8ce /benchmarks
parent93f47fb5d759815b3635ee25ba3795be3bca6521 (diff)
downloadports-675bee23270b92331c096b52e44bc1c32b45e060.tar.gz
ports-675bee23270b92331c096b52e44bc1c32b45e060.zip
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.
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/inferno/files/patch-powerpc82
1 files changed, 82 insertions, 0 deletions
diff --git a/benchmarks/inferno/files/patch-powerpc b/benchmarks/inferno/files/patch-powerpc
new file mode 100644
index 000000000000..c47b37cfe44c
--- /dev/null
+++ b/benchmarks/inferno/files/patch-powerpc
@@ -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",