5.30 Stable
Sprow (202) 1158 posts |
It’s a bit subtle but the SWP avoidance is hiding at line 1119 The key bit (and Ben beat me to it so saved me having to get the JTAG debugger out) is that the O__swp_available flag isn’t set up when the CLib is RMLoaded, because the flag is in the client’s workspace, so it’s not valid until the client’s done something as an application. Why does that change do anything? Calling
In the softloaded CLib case that ACQUIREMUTEX was tripping up because the O__swp_available is unset, taking the non-ARMv8 safe path to SWP. In the new version the block == NULL test is done right at the beginning, thus skipping the mutex code entirely. |
Martin Avison (27) 1494 posts |
Thanks for the explanation, Rob – that is all way above my pay grade! |