diff --git a/ChangeLog b/ChangeLog index 1930fbdcf..c7312df28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-05-18 Matthew Flatt + + * lightning/i386/asm.h: Fix test for extending the mprotect area + towards lower addresses. + 2006-05-16 Bruno Haible * lightning/asm-common.h: Don't use __func__ nor __FUNCTION__ if diff --git a/lightning/i386/funcs.h b/lightning/i386/funcs.h index d57e14e25..ee26d4699 100644 --- a/lightning/i386/funcs.h +++ b/lightning/i386/funcs.h @@ -74,12 +74,13 @@ jit_flush_code(void *dest, void *end) /* See if we can extend the previously mprotect'ed memory area towards higher addresses: the starting address remains the same as before. */ - if (page >= prev_page && page <= prev_page + prev_length) + else if (page >= prev_page && page <= prev_page + prev_length) prev_length = page + length - prev_page; /* See if we can extend the previously mprotect'ed memory area towards lower addresses: the highest address remains the same as before. */ - else if (page < prev_page && page + length <= prev_page + prev_length) + else if (page < prev_page && page + length >= prev_page + && page + length <= prev_page + prev_length) prev_length += prev_page - page, prev_page = page; /* Nothing to do, replace the area. */