-
Notifications
You must be signed in to change notification settings - Fork 604
Open
Labels
Description
The external_detach_state tests are currently AArch64 only even though they are based on the api.detach_state test which fully supports AArch64 and x86.
If you try to run the tests on x86 you get various assert failures:
core/stats.c:361 ks->node[ks->depth - 1].var == pv && "stop not matching TOS"
core/unix/signal.c:4048 extra_size == frame->uc.uc_mcontext.fpstate->sw_reserved.extended_size
There is also a change required to thread_check_sigstate_from_handler() in detach_state_shared.c. The external detach state tests rely on runall.cmake sending a SIGTERM signal to detect the detach has taken place so we need to make sure SIGTERM is unblocked during the signal handler. For some reason when we unblock it on x86 api.detatch_state (the internal detach state test) fails with this assert:
core/vmareas.c:8328 !ok || !TEST(MEMPROT_WRITE, prot2) || TEST(FRAG_SELFMOD_SANDBOXED, *flags) || !INTERNAL_OPTION(hw_cache_consistency)
Reactions are currently unavailable