This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
boehm-gc: allow exec permission for gc'd memory
- From: Andrew Haley <aph at redhat dot com>
- To: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Mon, 12 Jan 2004 14:39:11 +0000
- Subject: 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 ----