Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#5383: Fix macOS arm64 test build/run #7171

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ndrewh
Copy link
Contributor

@ndrewh ndrewh commented Dec 27, 2024

This makes tests build and run properly on macOS (14.4) arm64 (M3). Many tests do not pass, but you can at least run them now.

  • Disable selfmod tests due to build failures on M3
  • Fix macOS build for mangle_pauth test (test still fails for some reason)
  • Mark dump_ucontext as NYI on macOS
  • Adds -vm_size 500M to client tests on macOS ARM64 to avoid reachablity assert
  • Fixes NULL sigcontext_t in os_forge_exception (the mangle_pauth test was hitting this)

- Disable selfmod tests due to build failures on M3
- Fix macOS build for mangle_pauth test (test still fails for some reason)
- Mark dump_ucontext as NYI on macOS

- Fixes NULL sigcontext_t in os_forge_exception
- Adds -vm_size 500M to client tests to avoid reachablity assert
@ndrewh
Copy link
Contributor Author

ndrewh commented Dec 27, 2024

only a64 failure is raw-zlib #5635, doesn't seem to be my fault

@ndrewh ndrewh changed the title i5383: Fix macOS arm64 test build/run i#5383: Fix macOS arm64 test build/run Dec 27, 2024
Copy link
Contributor

@edeiana edeiana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for improving MacOS tests!

Please add "Issue #5383" at the bottom of your PR description.

@@ -6040,7 +6047,9 @@ if (NOT ARM) # FIXME i#1551: fix bugs on ARM
endif ()
endif (NOT ARM)

if (X86 OR AARCH64) # FIXME i#1551: port asm to ARM
# FIXME i#1551: port asm to ARM
# FIXME i#xxx: selfmod tests fail to build on macOS + ARM64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change i#xxx with i#5383 (this falls within that issue).

/* Since SIGCXT_FROM_UCXT just accesses the uc->uc_mcontext ptr field on
* macOS, sc will be NULL below if we do not initialize uc_mcontext first
*/
uc->IF_X64_ELSE(uc_mcontext64, uc_mcontext) = (void *)&frame->mc;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems weird.
frame is zeroed-out anyway, isn't this just changing sc to be a "different" NULL?
Also, shouldn't sc being NULL break more than MACOS?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants