Skip to content

Commit

Permalink
macOs various updates.
Browse files Browse the repository at this point in the history
- CI only for macOs arm64.
- Fixing build issues for macOs arm64.
- Adding macos cpu to arch api.
  • Loading branch information
devnexen authored and tgross35 committed Aug 8, 2024
1 parent be1c8e5 commit 56d665c
Showing 5 changed files with 15 additions and 16 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/full_ci.yml
Original file line number Diff line number Diff line change
@@ -31,12 +31,12 @@ jobs:
contents: read # to fetch code (actions/checkout)

name: macOS
runs-on: macos-13
runs-on: macos-14
strategy:
fail-fast: true
matrix:
target: [
x86_64-apple-darwin,
aarch64-apple-darwin,
]
steps:
- uses: actions/checkout@v4
@@ -179,10 +179,10 @@ jobs:
max-parallel: 4
matrix:
target:
- { toolchain: stable, os: macos-13 }
- { toolchain: beta, os: macos-13 }
- { toolchain: nightly, os: macos-13 }
- { toolchain: 1.71.0, os: macos-13 }
- { toolchain: stable, os: macos-14 }
- { toolchain: beta, os: macos-14 }
- { toolchain: nightly, os: macos-14 }
- { toolchain: 1.71.0, os: macos-14 }
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v4
2 changes: 0 additions & 2 deletions ci/build.sh
Original file line number Diff line number Diff line change
@@ -147,8 +147,6 @@ x86_64-unknown-redox \

RUST_APPLE_TARGETS="\
aarch64-apple-ios \
x86_64-apple-darwin \
x86_64-apple-ios \
"

RUST_NIGHTLY_APPLE_TARGETS="\
2 changes: 2 additions & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
@@ -294,6 +294,8 @@ fn test_apple(target: &str) {
"tcp_connection_info" => true,
// FIXME: The size is changed in recent macOSes.
"malloc_introspection_t" => true,
// sonoma changes the padding `rmx_filler` field.
"rt_metrics" => true,

_ => false,
}
7 changes: 6 additions & 1 deletion src/fixed_width_ints.rs
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@ pub type uint32_t = u32;
pub type uint64_t = u64;

cfg_if! {
if #[cfg(all(target_arch = "aarch64", not(target_os = "windows")))] {
if #[cfg(all(target_arch = "aarch64", not(any(target_os = "windows", target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos"))))] {
// This introduces partial support for FFI with __int128 and
// equivalent types on platforms where Rust's definition is validated
// to match the standard C ABI of that platform.
@@ -92,5 +92,10 @@ cfg_if! {

// static_assert_eq!(core::mem::size_of::<__uint128_t>(), _SIZE_128);
// static_assert_eq!(core::mem::align_of::<__uint128_t>(), _ALIGN_128);
} else if #[cfg(all(target_arch = "aarch64", any(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos")))] {
/// /// C `__int128_t`
pub type __int128_t = i128;
/// /// C `__uint128_t`
pub type __uint128_t = u128;
}
}
8 changes: 1 addition & 7 deletions src/unix/bsd/apple/mod.rs
Original file line number Diff line number Diff line change
@@ -493,8 +493,7 @@ s! {
pub rmx_rtt: u32,
pub rmx_rttvar: u32,
pub rmx_pksent: u32,
pub rmx_state: u32,
pub rmx_filler: [u32; 3],
pub rmx_filler: [u32; 4],
}

pub struct rt_msghdr {
@@ -6296,7 +6295,6 @@ extern "C" {
out_processor_infoCnt: *mut mach_msg_type_number_t,
) -> ::kern_return_t;

pub static mut mach_task_self_: ::mach_port_t;
pub fn task_for_pid(
host: ::mach_port_t,
pid: ::pid_t,
@@ -6413,10 +6411,6 @@ extern "C" {
) -> ::c_int;
}

pub unsafe fn mach_task_self() -> ::mach_port_t {
mach_task_self_
}

cfg_if! {
if #[cfg(target_os = "macos")] {
extern "C" {

0 comments on commit 56d665c

Please sign in to comment.