Description
The implementation of fast context swaps is buggy on little-endian powerpc platforms (verified at least on ppc64le). On this platform nearly all the tests in the test suite just segfault almost immediately after the first context swap inside qthread_initialize
. This is an old bug that dates back to whenever the context swap assembly was written, so there's no "right" version to restore to.
Why this is only showing up now: The switch to a new build system fixed an error in our old build system where little-endian PowerPC builds were falling back to the system-provided swapcontext.
A mitigation is provided in: #355. Since the old build system was silently falling back to the system-provided swapcontext, we're having the new one use the fallback implementation too. It's unclear whether we'll even want to fix the assembly or just leave it as is, but this issue at least documents the existence of this problem.