GCC's version of __builtin___clear_cache() is a no-op on PowerPC,
which causes the unit tests to fail on at least PowerPC 970 and 7447A,
and is technically incorrect. Change the code to use an improved version
of the existing ppc_cache_flush() function that wasn't being called.
Testing the changes
I tested the changes in this PR: YES
I tested on a Quad G5 2.5 GHz and a Mac mini G4. Both failed "make check" without the patch, and both succeeded with the patch.
Local build testing
I built this PR locally for my native architectures, ppc64-glibc and ppc-glibc.
This patch needs to be tested on some POWER5 or newer systems, just to make sure the "instruction cache snoop" fast path also works.
GCC's version of __builtin___clear_cache() is a no-op on PowerPC, which causes the unit tests to fail on at least PowerPC 970 and 7447A, and is technically incorrect. Change the code to use an improved version of the existing ppc_cache_flush() function that wasn't being called.
Testing the changes
Local build testing