It is noted on the discussion "Sage 4.3.3 Fails To Build On 64 bit Linux System (gcc.4.4.2)" on sage-support that Sage fails to build on SELinux unless the stack protection is disabled. I asked on comp.lang.c for help in writing a program which would detect if stack protection is enabled or not. Someone gave me this, which apparently works on x86.

typedef void(*voidfn)(void);
int main(void)
{
        char a[2] = {0xc3,0};
        voidfn fnptr = (voidfn)a;
        fnptr();

}


Trying that on my OpenSolaris (x86) system, it does not crash, until I enable stack protection with:

set noexec_user_stack=1
set noexec_user_stack_log=1

in /etc/system. After doing that, the program dumps core as expected.

When I try the same program on sage.math, it dumps core there too. So I don't know if sage.math has protection of the stack enabled. If it does, then it is strange that SELinux has problems, whereas sage.math does not.

dave

--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

To unsubscribe from this group, send email to sage-devel+unsubscribegooglegroups.com or 
reply to this email with the words "REMOVE ME" as the subject.

Reply via email to