Fix synchronization between data and instr caches
This commit is contained in:
2
tccrun.c
2
tccrun.c
@ -225,7 +225,7 @@ static void set_pages_executable(void *ptr, unsigned long length)
|
|||||||
end = (addr_t)ptr + length;
|
end = (addr_t)ptr + length;
|
||||||
end = (end + PAGESIZE - 1) & ~(PAGESIZE - 1);
|
end = (end + PAGESIZE - 1) & ~(PAGESIZE - 1);
|
||||||
mprotect((void *)start, end - start, PROT_READ | PROT_WRITE | PROT_EXEC);
|
mprotect((void *)start, end - start, PROT_READ | PROT_WRITE | PROT_EXEC);
|
||||||
__clear_cache(ptr, prog_main + length);
|
__clear_cache(ptr, ptr + length);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user