This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

boehm-gc: allow exec permission for gc'd memory


gcj needs execute permission for trampolines created in gc'd memory.

Andrew.



2004-01-12  Andrew Haley  <aph@redhat.com>

        * configure.in (NO_EXECUTE_PERMISSION): Remove global declaration;
        add for ia64; remove for MIPS.
        * configure: Regnerated.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/boehm-gc/configure.in,v
retrieving revision 1.51
diff -c -2 -p -r1.51 configure.in
*** configure.in        3 Oct 2003 18:43:06 -0000       1.51
--- configure.in        12 Jan 2004 13:53:09 -0000
*************** esac
*** 246,249 ****
--- 246,255 ----
  # Configuration of machine-dependent code
  #
+ # We don't set NO_EXECUTE_PERMISSION by default because gcj (and
+ # anything else that creates trampolines in gc-allocated memory)
+ # always needs exec permission.  The exception to this is IA-64 and
+ # some variations of Power PC, where trampolines don't contain
+ # executable code.
+ #
  AC_MSG_CHECKING(which machine-dependent code should be used) 
  machdep=
*************** case "$host" in
*** 275,279 ****
   mips-*-*)
      machdep="mips_sgi_mach_dep.lo"
-     AC_DEFINE(NO_EXECUTE_PERMISSION)
      ;;
   sparc-*-netbsd*)
--- 281,284 ----
*************** case "$host" in
*** 288,291 ****
--- 293,297 ----
      ;;
   ia64-*-*)
+     AC_DEFINE(NO_EXECUTE_PERMISSION)
      machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
      ;;
*************** dnl ALL_INTERIOR_POINTERS can be overrid
*** 377,381 ****
  AC_DEFINE(SILENT)
  AC_DEFINE(NO_SIGNALS)
- AC_DEFINE(NO_EXECUTE_PERMISSION)
  AC_DEFINE(ALL_INTERIOR_POINTERS)
  
--- 383,386 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]