From f0920e6c645e58c9fa456ff58b3ac0898e835cb2 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 3 Apr 2007 11:12:40 +0200 Subject: closures.c: Include sys/statfs.h. * src/closures.c: Include sys/statfs.h. (_GNU_SOURCE): Define on Linux. (FFI_MMAP_EXEC_SELINUX): Define. (selinux_enabled): New variable. (selinux_enabled_check): New function. (is_selinux_enabled): Define. (dlmmap): Use it. * configure.ac (NO_EXECUTE_PERMISSION): Set by default. * configure: Rebuilt. From-SVN: r123457 --- boehm-gc/ChangeLog | 5 +++++ boehm-gc/configure | 14 ++++++-------- boehm-gc/configure.ac | 10 ++++------ 3 files changed, 15 insertions(+), 14 deletions(-) (limited to 'boehm-gc') diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 89cabf0..aad8839 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,8 @@ +2007-04-03 Jakub Jelinek + + * configure.ac (NO_EXECUTE_PERMISSION): Set by default. + * configure: Rebuilt. + 2007-03-07 Alexandre Oliva * include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New. diff --git a/boehm-gc/configure b/boehm-gc/configure index 8d34fbd..c13c8ec 100755 --- a/boehm-gc/configure +++ b/boehm-gc/configure @@ -6826,11 +6826,9 @@ LIBS="$oldLIBS" # 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 exceptions to this are IA-64 and -# some variations of Power PC, where trampolines don't contain -# executable code. +# Set NO_EXECUTE_PERMISSION by default because gcj already uses +# ffi_closure_{alloc,free} which takes care of allocating trampolines +# in executable memory. # echo "$as_me:$LINENO: checking which machine-dependent code should be used" >&5 echo $ECHO_N "checking which machine-dependent code should be used... $ECHO_C" >&6 @@ -6891,14 +6889,14 @@ _ACEOF machdep="sparc_mach_dep.lo" ;; ia64-*-*) + machdep="mach_dep.lo ia64_save_regs_in_stack.lo" + ;; +esac cat >>confdefs.h <<\_ACEOF #define NO_EXECUTE_PERMISSION 1 _ACEOF - machdep="mach_dep.lo ia64_save_regs_in_stack.lo" - ;; -esac if test x"$machdep" = x; then echo "$as_me:$LINENO: result: $machdep" >&5 echo "${ECHO_T}$machdep" >&6 diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac index afc014d..d4dd16b 100644 --- a/boehm-gc/configure.ac +++ b/boehm-gc/configure.ac @@ -364,11 +364,9 @@ LIBS="$oldLIBS" # 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 exceptions to this are IA-64 and -# some variations of Power PC, where trampolines don't contain -# executable code. +# Set NO_EXECUTE_PERMISSION by default because gcj already uses +# ffi_closure_{alloc,free} which takes care of allocating trampolines +# in executable memory. # AC_MSG_CHECKING(which machine-dependent code should be used) machdep= @@ -411,10 +409,10 @@ case "$host" in machdep="sparc_mach_dep.lo" ;; ia64-*-*) - AC_DEFINE(NO_EXECUTE_PERMISSION,1,[cause some or all of the heap to not have execute permission]) machdep="mach_dep.lo ia64_save_regs_in_stack.lo" ;; esac +AC_DEFINE(NO_EXECUTE_PERMISSION,1,[cause some or all of the heap to not have execute permission]) if test x"$machdep" = x; then AC_MSG_RESULT($machdep) machdep="mach_dep.lo" -- cgit v1.1