aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'boehm-gc/configure.in')
-rw-r--r--boehm-gc/configure.in9
1 files changed, 7 insertions, 2 deletions
diff --git a/boehm-gc/configure.in b/boehm-gc/configure.in
index 08c623c..ba5ccb9 100644
--- a/boehm-gc/configure.in
+++ b/boehm-gc/configure.in
@@ -246,6 +246,12 @@ esac
# 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,7 +281,6 @@ case "$host" in
;;
mips-*-*)
machdep="mips_sgi_mach_dep.lo"
- AC_DEFINE(NO_EXECUTE_PERMISSION)
;;
sparc-*-netbsd*)
machdep="sparc_netbsd_mach_dep.lo"
@@ -288,6 +293,7 @@ case "$host" in
machdep="sparc_mach_dep.lo"
;;
ia64-*-*)
+ AC_DEFINE(NO_EXECUTE_PERMISSION)
machdep="mach_dep.lo ia64_save_regs_in_stack.lo"
;;
esac
@@ -377,7 +383,6 @@ dnl Include defines that have become de facto standard.
dnl ALL_INTERIOR_POINTERS can be overridden in startup code.
AC_DEFINE(SILENT)
AC_DEFINE(NO_SIGNALS)
-AC_DEFINE(NO_EXECUTE_PERMISSION)
AC_DEFINE(ALL_INTERIOR_POINTERS)
dnl By default, make the library as general as possible.