LINUX_EXPORTS_SYS_CALL_TABLE
LINUX_EXPORTS_SYS_CHDIR
LINUX_EXPORTS_SYS_CLOSE
+ LINUX_EXPORTS_SYS_WAIT4
if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
linux_syscall_method=none
if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
fi
+ if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
+ AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
+ fi
fi
fi
if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
break;
}
#else
+#if defined(EXPORTED_SYS_WAIT4) && defined(EXPORTED_SYS_CLOSE)
+ if (ptr[0] == (unsigned long)&sys_close &&
+ ptr[__NR_wait4 - __NR_close] == (unsigned long)&sys_wait4) {
+ sys_call_table=ptr - __NR_close;
+ break;
+ }
+#else
#if defined(EXPORTED_SYS_CHDIR) && defined(EXPORTED_SYS_CLOSE)
if (ptr[0] == (unsigned long)&sys_close &&
ptr[__NR_chdir - __NR_close] == (unsigned long)&sys_chdir) {
}
#endif
#endif
+#endif
}
#ifdef EXPORTED_KALLSYMS_ADDRESS
ret=kallsyms_address_to_symbol((unsigned long)sys_call_table, &mod_name,
CPPFLAGS="$save_CPPFLAGS"])
+AC_DEFUN(LINUX_EXPORTS_SYS_WAIT4, [
+AC_MSG_CHECKING(for exported sys_wait4)
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
+AC_CACHE_VAL(ac_cv_linux_exports_sys_wait4,
+[
+AC_TRY_COMPILE(
+[#include <linux/modversions.h>],
+[#ifndef __ver_sys_wait4
+#error sys_wait4 not exported
+#endif],
+ac_cv_linux_exports_sys_wait4=yes,
+ac_cv_linux_exports_sys_wait4=no)])
+AC_MSG_RESULT($ac_cv_linux_exports_sys_wait4)
+CPPFLAGS="$save_CPPFLAGS"])
+
+
AC_DEFUN(LINUX_EXPORTS_TASKLIST_LOCK, [
AC_MSG_CHECKING(for exported tasklist_lock)
save_CPPFLAGS="$CPPFLAGS"