[Bug java/19823] New: java fails with non-executable memory

matz at suse dot de gcc-bugzilla@gcc.gnu.org
Tue Feb 8 19:46:00 GMT 2005


Newer linux kernels (2.6.11 in this case) check the executable for a 
PT_GNU_STACK program header, and if it exists default to provide 
non-executable memory (for stack _and_ malloced memory) on CPUs which 
support this (all x86-64 CPUs and newer x86 ones). 
 
It seems that gij is not prepared to handle this.  This can be seen 
in some testresults, e.g. here: 
http://gcc.gnu.org/ml/gcc-testresults/2005-02/msg00223.html 
 
This is the autovect branch, but it's the same on all GCC versions (3.3 
through 4.0).  This is with such a new kernel, with an older kernel which 
didn't do this yet all those testcases work. 
 
Currently Andi Kleen proposed again to switch this off on the kernel side 
as a hot fix, because too much software currently breaks.  But somewhen it 
will be activated for sure, and then GCC should be able to cope with this. 
 
My guess is, that there only are missing some mprotect calls at the right 
places.

-- 
           Summary: java fails with non-executable memory
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: matz at suse dot de
                CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
                    dot org
  GCC host triplet: i686-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19823



More information about the Gcc-bugs mailing list