Hello Marc,
> Here is my attempt at a simple unit test for your new cache module.
>
> I have tested it on an x86 box (where the instruction cache is always in
> sync) and on an Armv8 Raspberry, both running GNU/Linux. Commenting out
> the call to `clear_cache' shows that `clear_cache' is not a NOP on Arm and
> that the test is actually doing a non-trivial test.
Very nice! It is simpler than what I had expected (no per-CPU #ifdefs so far).
I am sure they will come as soon as it is tested on more platforms than just GNU/Linux with x86_64 and aarch64.
The alternative would be to pull in the whole GNU lightning...
I've committed your patch (as two separate patches).
I will test it on various platforms.
For the moment, I expect
- a SIGSEGV on powerpc*-aix, powerpc64-linux, ia64, hppa, and hppa64
due to the structure of function pointers, see
https://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=blob;f=porting-tools/abis/function-pointer.txt
Thank you; I will try to incorporate this info into my test.
- a link error on native Windows, due to the use of mprotect() outside
#ifdefs.
Of course! I am going to fix this.