|
From: | Aurelien Chanudet |
Subject: | [Gcl-devel] mprotect question |
Date: | Wed, 3 Sep 2003 21:37:16 +0200 |
Hi,I've tried compiling ACL2 on Mac OS X. Towards the end of the build, the compilation errors out, because mprotect (called from within GCL's sgc_mprotect) fails to promote a page whose max protection is read/write (not execute) to read/write/execute. A temporary fix is to promote the max protection to read/write/execute.
However, I'm wondering why this is happening. When GCL allocates memory pages, the initial max protection for these pages is set to read/write/execute. So, for a page's max protection to end up being read/write as in the afore-mentioned issue, someone must have change the max protection. My first question is : does GCL explicitly change a page's max protection ?
The stratified garbage collection code actually #defines PROT_READ_WRITE to be (PROT_READ | PROT_WRITE | PROT_EXEC). My second question is : where does the need for PROT_EXEC exactly originate from ?
Thanks, Aurelien
[Prev in Thread] | Current Thread | [Next in Thread] |