From 382e1f41af7e98815ae0a7e810aaef5bcb2e1cd3 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Thu, 24 Feb 2005 00:25:37 +0000 Subject: [PATCH] Merge in 1.3.79 changes to experimental branch --- acinclude.m4 | 32 +- aclocal.m4 | 144 +- configure | 4630 +++++++----------------- configure-libafs | 4630 +++++++----------------- configure-libafs.in | 2 +- configure.in | 2 +- src/afs/DARWIN/osi_vm.c | 6 +- src/afs/DUX/osi_vnodeops.c | 67 +- src/afs/LINUX/osi_groups.c | 23 +- src/afs/LINUX/osi_machdep.h | 8 + src/afs/LINUX/osi_misc.c | 81 +- src/afs/LINUX/osi_module.c | 486 +-- src/afs/LINUX/osi_probe.c | 1225 +++++++ src/afs/LINUX/osi_prototypes.h | 7 + src/afs/LINUX/osi_syscall.c | 433 +++ src/afs/LINUX/osi_vfsops.c | 6 +- src/afs/LINUX/osi_vnodeops.c | 95 +- src/afs/OBSD/osi_sleep.c | 11 +- src/afs/OBSD/osi_vnodeops.c | 13 +- src/afs/VNOPS/afs_vnop_attrs.c | 54 +- src/afs/VNOPS/afs_vnop_create.c | 48 +- src/afs/VNOPS/afs_vnop_dirops.c | 46 +- src/afs/VNOPS/afs_vnop_fid.c | 17 +- src/afs/VNOPS/afs_vnop_link.c | 15 +- src/afs/VNOPS/afs_vnop_lookup.c | 40 +- src/afs/VNOPS/afs_vnop_remove.c | 30 +- src/afs/VNOPS/afs_vnop_rename.c | 30 +- src/afs/VNOPS/afs_vnop_symlink.c | 16 +- src/afs/VNOPS/afs_vnop_write.c | 34 +- src/afs/afs.h | 16 +- src/afs/afs_buffer.c | 73 +- src/afs/afs_call.c | 29 +- src/afs/afs_dcache.c | 5 +- src/afs/afs_memcache.c | 8 +- src/afs/afs_osi.c | 24 +- src/afs/afs_osi.h | 9 - src/afs/afs_osi_pag.c | 6 +- src/afs/afs_pioctl.c | 179 +- src/afs/afs_segments.c | 31 +- src/afs/afs_server.c | 15 +- src/afs/afs_vcache.c | 217 +- src/afs/sysincludes.h | 2 + src/afsd/Makefile.in | 2 +- src/afsd/afs.rc.solaris.2.9 | 3 + src/afsd/afsd.c | 6 +- src/cf/linux-test3.m4 | 4 +- src/cf/linux-test4.m4 | 78 +- src/cf/osconf.m4 | 30 +- src/config/NTMakefile.i386_nt40 | 2 +- src/config/afs_args.h | 8 + src/config/afs_sysnames.h | 4 + src/config/afsconfig.h.in | 33 +- src/config/make_libafs_tree.pl | 2 +- src/config/param.amd64_fbsd_53.h | 202 ++ src/config/param.i386_nbsd30.h | 21 + src/config/param.ia64_linux26.h | 6 +- src/config/param.nbsd30.h | 158 + src/config/param.s390x_linux26.h | 173 + src/config/param.sun4x_510.h | 3 - src/config/param.sunx86_510.h | 26 +- src/libafs/Makefile.common.in | 4 + src/libafs/MakefileProto.LINUX.in | 8 +- src/libafs/MakefileProto.SOLARIS.in | 9 +- src/lwp/Makefile.in | 5 + src/lwp/iomgr.c | 8 +- src/lwp/lwp.c | 31 +- src/lwp/lwp.h | 6 + src/lwp/process.amd64.s | 161 + src/packaging/Debian/kern-sysname | 11 +- src/packaging/MacOS/OpenAFS.Info.plist | 4 +- src/packaging/MacOS/OpenAFS.info | 2 +- src/ptserver/Makefile.in | 16 +- src/ptserver/NTMakefile | 3 +- src/ptserver/ptuser.c | 4 +- src/ptserver/ptuser.h | 44 + src/rx/LINUX/rx_knet.c | 14 +- src/rx/rx.c | 15 +- src/rx/rx.h | 3 +- src/rx/rx_globals.h | 7 +- src/rx/rx_packet.c | 8 +- src/rx/rx_prototypes.h | 2 + src/rx/rxdebug.c | 4 +- src/sys/Makefile.in | 2 +- src/sys/pioctl_nt.c | 42 +- src/ubik/remote.c | 3 +- src/venus/fstrace.c | 12 +- src/vfsck/setup.c | 8 +- src/viced/afsfileprocs.c | 23 +- src/viced/callback.c | 18 +- src/viced/fs_stats.h | 5 +- src/volser/vsprocs.c | 2 +- src/xstat/xstat_fs_test.c | 6 +- 92 files changed, 6156 insertions(+), 7940 deletions(-) create mode 100644 src/afs/LINUX/osi_probe.c create mode 100644 src/afs/LINUX/osi_syscall.c create mode 100644 src/config/param.amd64_fbsd_53.h create mode 100644 src/config/param.i386_nbsd30.h create mode 100644 src/config/param.nbsd30.h create mode 100644 src/config/param.s390x_linux26.h create mode 100644 src/lwp/process.amd64.s create mode 100644 src/ptserver/ptuser.h diff --git a/acinclude.m4 b/acinclude.m4 index 49b317a58..7ae4de94e 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -316,10 +316,18 @@ else AFS_PARAM_COMMON=param.nbsd16.h AFS_SYSNAME="ppc_nbsd16" ;; - i?86-*-netbsd*2.99*) + i?86-*-netbsd*2.1*) AFS_PARAM_COMMON=param.nbsd21.h AFS_SYSNAME="i386_nbsd21" ;; + i?86-*-netbsd*2.99*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; + i?86-*-netbsd*3.0*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -546,19 +554,19 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) OPENAFS_GCC_SUPPORTS_PIPE AC_SUBST(LINUX_GCC_KOPTS) ifdef([OPENAFS_CONFIGURE_LIBAFS], - [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)], + [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)], [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)] ) LINUX_COMPLETION_H_EXISTS LINUX_DEFINES_FOR_EACH_PROCESS LINUX_DEFINES_PREV_TASK - LINUX_EXPORTS_TASKLIST_LOCK LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS LINUX_FS_STRUCT_INODE_HAS_I_DEVICES + LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST LINUX_FS_STRUCT_INODE_HAS_I_SECURITY LINUX_INODE_SETATTR_RETURN_TYPE LINUX_WRITE_INODE_RETURN_TYPE @@ -575,6 +583,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE LINUX_WHICH_MODULES if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported]) @@ -625,9 +636,6 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) 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 - if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then - AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock]) - fi if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then AC_DEFINE(EXPORTED_SYS_CALL_TABLE) fi @@ -673,6 +681,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security]) fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list]) + fi if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers]) fi @@ -706,6 +717,15 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig]) fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim]) + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim]) + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state]) + fi : fi esac diff --git a/aclocal.m4 b/aclocal.m4 index 1331f11bb..33181dbad 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -329,10 +329,18 @@ else AFS_PARAM_COMMON=param.nbsd16.h AFS_SYSNAME="ppc_nbsd16" ;; - i?86-*-netbsd*2.99*) + i?86-*-netbsd*2.1*) AFS_PARAM_COMMON=param.nbsd21.h AFS_SYSNAME="i386_nbsd21" ;; + i?86-*-netbsd*2.99*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; + i?86-*-netbsd*3.0*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -559,19 +567,19 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) OPENAFS_GCC_SUPPORTS_PIPE AC_SUBST(LINUX_GCC_KOPTS) ifdef([OPENAFS_CONFIGURE_LIBAFS], - [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)], + [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)], [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)] ) LINUX_COMPLETION_H_EXISTS LINUX_DEFINES_FOR_EACH_PROCESS LINUX_DEFINES_PREV_TASK - LINUX_EXPORTS_TASKLIST_LOCK LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS LINUX_FS_STRUCT_INODE_HAS_I_DEVICES + LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST LINUX_FS_STRUCT_INODE_HAS_I_SECURITY LINUX_INODE_SETATTR_RETURN_TYPE LINUX_WRITE_INODE_RETURN_TYPE @@ -588,6 +596,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM + LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE LINUX_WHICH_MODULES if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported]) @@ -638,9 +649,6 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) 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 - if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then - AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock]) - fi if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then AC_DEFINE(EXPORTED_SYS_CALL_TABLE) fi @@ -686,6 +694,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security]) fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list]) + fi if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers]) fi @@ -719,6 +730,15 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig]) fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim]) + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim]) + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then + AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state]) + fi : fi esac @@ -1747,23 +1767,6 @@ 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" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -AC_CACHE_VAL(ac_cv_linux_exports_tasklist_lock, -[ -AC_TRY_COMPILE( -[#include ], -[#ifndef __ver_tasklist_lock -#error tasklist_lock not exported -#endif], -ac_cv_linux_exports_tasklist_lock=yes, -ac_cv_linux_exports_tasklist_lock=no)]) -AC_MSG_RESULT($ac_cv_linux_exports_tasklist_lock) -CPPFLAGS="$save_CPPFLAGS"]) - - AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_CDEV], [ AC_MSG_CHECKING(for i_cdev in struct inode) save_CPPFLAGS="$CPPFLAGS" @@ -1860,6 +1863,22 @@ AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_security) CPPFLAGS="$save_CPPFLAGS"]) +AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST], [ +AC_MSG_CHECKING(for i_sb_list in struct inode) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_sb_list, +[ +AC_TRY_COMPILE( +[#include ], +[struct inode _inode; +printf("%d\n", _inode.i_sb_list);], +ac_cv_linux_fs_struct_inode_has_i_sb_list=yes, +ac_cv_linux_fs_struct_inode_has_i_sb_list=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_sb_list) +CPPFLAGS="$save_CPPFLAGS"]) + + AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE],[ AC_MSG_CHECKING(for recalc_sigpending arg type) save_CPPFLAGS="$CPPFLAGS" @@ -1952,6 +1971,51 @@ ac_cv_linux_sched_struct_task_struct_has_sighand=no)]) AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sighand) CPPFLAGS="$save_CPPFLAGS"]) +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM], [ +AC_MSG_CHECKING(for rlim in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_rlim, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.rlim);], +ac_cv_linux_sched_struct_task_struct_has_rlim=yes, +ac_cv_linux_sched_struct_task_struct_has_rlim=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_rlim) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM], [ +AC_MSG_CHECKING(for signal->rlim in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_signal_rlim, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.signal->rlim);], +ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes, +ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_signal_rlim) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE], [ +AC_MSG_CHECKING(for exit_state in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_exit_state, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.exit_state);], +ac_cv_linux_sched_struct_task_struct_has_exit_state=yes, +ac_cv_linux_sched_struct_task_struct_has_exit_state=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_exit_state) +CPPFLAGS="$save_CPPFLAGS"]) + AC_DEFUN([LINUX_INODE_SETATTR_RETURN_TYPE],[ AC_MSG_CHECKING(for inode_setattr return type) save_CPPFLAGS="$CPPFLAGS" @@ -2194,7 +2258,7 @@ CPPFLAGS="$save_CPPFLAGS"]) AC_DEFUN([LINUX_KERNEL_PAGE_FOLLOW_LINK],[ AC_MSG_CHECKING(for page_follow_link_light vs page_follow_link) save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -Werror-implicit-function-declaration -D__KERNEL__ $CPPFLAGS" AC_CACHE_VAL(ac_cv_linux_kernel_page_follow_link, [ AC_TRY_COMPILE( @@ -2204,7 +2268,7 @@ AC_TRY_COMPILE( ], ac_cv_linux_kernel_page_follow_link=yes, ac_cv_linux_kernel_page_follow_link=no)]) -AC_MSG_RESULT($ac_cv_linux_kernel_page_follow_page) +AC_MSG_RESULT($ac_cv_linux_kernel_page_follow_link) CPPFLAGS="$save_CPPFLAGS"]) AC_DEFUN([AC_FUNC_RES_SEARCH], [ @@ -2428,7 +2492,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*) + *nbsd2*|*nbsd3*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon @@ -2647,21 +2711,7 @@ case $AFS_SYSNAME in EXTRA_VLIBOBJS="fstab.o" ;; - ppc_linux22) - INSTALL="install" - KERN_OPTMZ=-O2 - LEX="flex -l" - MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' - MT_LIBS="-lpthread" - PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" - SHLIB_LDFLAGS="-shared -Xlinker -x" - TXLIBS="-lncurses" - XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" - YACC="bison -y" - SHLIB_LINKER="${MT_CC} -shared" - ;; - - ppc_linux24) + ppc_linux*) KERN_OPTMZ=-O2 LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' @@ -2736,7 +2786,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390_linux24) + s390_linux24|s390_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -2753,7 +2803,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390x_linux24) + s390x_linux24|s390x_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -3019,7 +3069,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -3040,7 +3090,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -3061,7 +3111,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -3082,7 +3132,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" diff --git a/configure b/configure index 84954bbfc..34107aa27 100755 --- a/configure +++ b/configure @@ -1600,14 +1600,7 @@ echo "$as_me: error: source directory already configured; run \"make distclean\" { (exit 1); exit 1; }; } fi -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi +VERSION=1.3.79 # Define the identity of the package. @@ -5205,10 +5198,18 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6 AFS_PARAM_COMMON=param.nbsd16.h AFS_SYSNAME="ppc_nbsd16" ;; - i?86-*-netbsd*2.99*) + i?86-*-netbsd*2.1*) AFS_PARAM_COMMON=param.nbsd21.h AFS_SYSNAME="i386_nbsd21" ;; + i?86-*-netbsd*2.99*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; + i?86-*-netbsd*3.0*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -5400,12 +5401,9 @@ echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-af AFS_SYSNAME="$_AFS_SYSNAME" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < int main () @@ -5413,31 +5411,10 @@ main () #ifndef CONFIG_USERMODE #error not UML #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2719: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_is_uml=yes else echo "$as_me: failed program was:" >&5 @@ -5471,14 +5448,18 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$enable_debug_kernel" = "xno"; then LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer" fi - -echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5 -echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6 + +echo $ac_n "checking if $CC accepts -march=pentium""... $ac_c" 1>&6 +echo "configure:2754: checking if $CC accepts -march=pentium" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-MARCH=pentium" if test "${openafs_gcc_supports_march+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5491,31 +5472,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_march=yes else echo "$as_me: failed program was:" >&5 @@ -5535,15 +5495,19 @@ else fi CFLAGS="$save_CFLAGS" - - -echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5 -echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6 + + +echo $ac_n "checking if $CC needs -fno-strength-reduce""... $ac_c" 1>&6 +echo "configure:2792: checking if $CC needs -fno-strength-reduce" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-strength-reduce" if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5556,31 +5520,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_needs_no_strength_reduce=yes else echo "$as_me: failed program was:" >&5 @@ -5598,14 +5541,18 @@ if test x$openafs_gcc_needs_no_strength_reduce = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5 -echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6 + +echo $ac_n "checking if $CC needs -fno-strict-aliasing""... $ac_c" 1>&6 +echo "configure:2827: checking if $CC needs -fno-strict-aliasing" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-strict-aliasing" if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5618,31 +5565,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_needs_no_strict_aliasing=yes else echo "$as_me: failed program was:" >&5 @@ -5660,14 +5586,18 @@ if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5 -echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6 + +echo $ac_n "checking if $CC supports -fno-common""... $ac_c" 1>&6 +echo "configure:2862: checking if $CC supports -fno-common" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-common" if test "${openafs_gcc_supports_no_common+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5680,31 +5610,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2877: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_no_common=yes else echo "$as_me: failed program was:" >&5 @@ -5722,14 +5631,18 @@ if test x$openafs_gcc_supports_no_common = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5 -echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6 + +echo $ac_n "checking if $CC supports -pipe""... $ac_c" 1>&6 +echo "configure:2897: checking if $CC supports -pipe" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-pipe" if test "${openafs_gcc_supports_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5742,31 +5655,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2912: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_pipe=yes else echo "$as_me: failed program was:" >&5 @@ -5784,32 +5676,29 @@ if test x$openafs_gcc_supports_pipe = xyes; then fi CFLAGS="$save_CFLAGS" - - -echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5 -echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6 + + +echo $ac_n "checking whether to build osi_vfs.h""... $ac_c" 1>&6 +echo "configure:2933: checking whether to build osi_vfs.h" >&5 configdir=${srcdir}/src/config outputdir=src/afs/LINUX tmpldir=${srcdir}/src/afs/LINUX chmod +x $configdir/make_vnode.pl $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir - - -echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 -echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6 + + +echo $ac_n "checking for linux/completion.h existance""... $ac_c" 1>&6 +echo "configure:2943: checking for linux/completion.h existance" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_completion_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -5820,31 +5709,10 @@ struct completion _c; lose #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_completion_h_exists=yes else echo "$as_me: failed program was:" >&5 @@ -5858,21 +5726,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for defined for_each_process" >&5 -echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6 + +echo $ac_n "checking for defined for_each_process""... $ac_c" 1>&6 +echo "configure:2979: checking for defined for_each_process" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_defines_for_each_process+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -5880,31 +5745,10 @@ main () #ifndef for_each_process(p) #error for_each_process not defined #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_defines_for_each_process=yes else echo "$as_me: failed program was:" >&5 @@ -5918,21 +5762,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for defined prev_task" >&5 -echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6 + +echo $ac_n "checking for defined prev_task""... $ac_c" 1>&6 +echo "configure:3012: checking for defined prev_task" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_defines_prev_task+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -5940,31 +5781,10 @@ main () #ifndef prev_task(p) #error prev_task not defined #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_defines_prev_task=yes else echo "$as_me: failed program was:" >&5 @@ -5978,112 +5798,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 -echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef __ver_tasklist_lock -#error tasklist_lock not exported -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_linux_exports_tasklist_lock=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_linux_exports_tasklist_lock=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 -echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6 + +echo $ac_n "checking for page_lock in struct address_space""... $ac_c" 1>&6 +echo "configure:3045: checking for page_lock in struct address_space" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct address_space _a_s; printf("%x\n", _a_s.page_lock); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3061: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_address_space_has_page_lock=yes else echo "$as_me: failed program was:" >&5 @@ -6097,52 +5833,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 -echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6 + +echo $ac_n "checking for gfp_mask in struct address_space""... $ac_c" 1>&6 +echo "configure:3077: checking for gfp_mask in struct address_space" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct address_space _a; printf("%d\n", _a.gfp_mask); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else echo "$as_me: failed program was:" >&5 @@ -6156,52 +5868,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 -echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_alloc_sem in struct inode""... $ac_c" 1>&6 +echo "configure:3109: checking for i_alloc_sem in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _i; printf("%x\n", _i.i_alloc_sem); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else echo "$as_me: failed program was:" >&5 @@ -6215,52 +5903,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 -echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_truncate_sem in struct inode""... $ac_c" 1>&6 +echo "configure:3141: checking for i_truncate_sem in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _i; printf("%x\n", _i.i_truncate_sem); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else echo "$as_me: failed program was:" >&5 @@ -6274,52 +5938,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 -echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_dirty_data_buffers in struct inode""... $ac_c" 1>&6 +echo "configure:3173: checking for i_dirty_data_buffers in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_dirty_data_buffers); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else echo "$as_me: failed program was:" >&5 @@ -6333,52 +5973,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 -echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_devices in struct inode""... $ac_c" 1>&6 +echo "configure:3205: checking for i_devices in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_cdev+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_devices); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_devices=yes else echo "$as_me: failed program was:" >&5 @@ -6392,52 +6008,60 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6 CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for i_sb_list in struct inode""... $ac_c" 1>&6 +echo "configure:3237: checking for i_sb_list in struct inode" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_fs_struct_inode_has_i_sb_list'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct inode _inode; +printf("%d\n", _inode.i_sb_list); +; return 0; } +EOF +if { (eval echo configure:3253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_fs_struct_inode_has_i_sb_list=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_fs_struct_inode_has_i_sb_list=no +fi +rm -f conftest* +fi -echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 -echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6 +echo "$ac_t""$ac_cv_linux_fs_struct_inode_has_i_sb_list" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for i_security in struct inode""... $ac_c" 1>&6 +echo "configure:3269: checking for i_security in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_security); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3285: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_security=yes else echo "$as_me: failed program was:" >&5 @@ -6447,58 +6071,34 @@ ac_cv_linux_fs_struct_inode_has_i_security=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 -echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for inode_setattr return type""... $ac_c" 1>&6 +echo "configure:3301: checking for inode_setattr return type" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < +int +main () +{ +struct inode _inode; +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); +; return 0; } +EOF +if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_inode_setattr_returns_int=yes else echo "$as_me: failed program was:" >&5 @@ -6512,21 +6112,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for write_inode return type" >&5 -echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6 + +echo $ac_n "checking for write_inode return type""... $ac_c" 1>&6 +echo "configure:3335: checking for write_inode return type" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -6535,31 +6132,10 @@ struct inode _inode; struct super_operations _sops; int i; i = _sops.write_inode(&_inode, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_write_inode_returns_int=yes else echo "$as_me: failed program was:" >&5 @@ -6576,18 +6152,15 @@ CPPFLAGS="$save_CPPFLAGS" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +echo $ac_n "checking whether inode_operations.create takes a nameidata""... $ac_c" 1>&6 +echo "configure:3371: checking whether inode_operations.create takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_create_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < #include int @@ -6597,31 +6170,10 @@ struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; (void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_create_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6641,18 +6193,15 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether inode_operations.lookup takes a nameidata""... $ac_c" 1>&6 +echo "configure:3408: checking whether inode_operations.lookup takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_lookup_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6662,31 +6211,10 @@ struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; (void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_lookup_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6706,18 +6234,15 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether inode_operations.permission takes a nameidata""... $ac_c" 1>&6 +echo "configure:3445: checking whether inode_operations.permission takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_permission_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6726,31 +6251,10 @@ main () struct inode _inode; struct nameidata _nameidata; (void)_inode.i_op->permission(&_inode, 0, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_permission_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6770,19 +6274,16 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 -echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6 +echo $ac_n "checking whether dentry_operations.d_revalidate takes a nameidata""... $ac_c" 1>&6 +echo "configure:3481: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 CPPFLAGS="$CPPFLAGS -Werror" if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6791,31 +6292,10 @@ main () struct dentry _dentry; struct nameidata _nameidata; (void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_d_revalidate_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6839,18 +6319,15 @@ CPPFLAGS="$save_CPPFLAGS" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 -echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6 -if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +echo $ac_n "checking whether address_space_operations.writepage takes a writeback_control""... $ac_c" 1>&6 +echo "configure:3522: checking whether address_space_operations.writepage takes a writeback_control" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_a_writepage_takes_writeback_control'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < #include #include @@ -6861,31 +6338,10 @@ struct address_space_operations _aops; struct page _page; struct writeback_control _writeback_control; (void)_aops.writepage(&_page, &_writeback_control); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_a_writepage_takes_writeback_control=yes else echo "$as_me: failed program was:" >&5 @@ -6906,9 +6362,9 @@ _ACEOF fi CPPFLAGS="$save_CPPFLAGS" - - echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 -echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6 + + echo $ac_n "checking for linux/syscall.h in kernel""... $ac_c" 1>&6 +echo "configure:3562: checking for linux/syscall.h in kernel" >&5 if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then ac_linux_syscall=yes echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 @@ -6919,53 +6375,29 @@ echo "${ECHO_T}$ac_linux_syscall" >&6 echo "${ECHO_T}$ac_linux_syscall" >&6 fi - -echo "$as_me:$LINENO: checking for SELinux kernel" >&5 -echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6 + +echo $ac_n "checking for SELinux kernel""... $ac_c" 1>&6 +echo "configure:3573: checking for SELinux kernel" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < -int -main () -{ -#ifndef CONFIG_SECURITY_SELINUX - #error not SELINUX - #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int +main () +{ +#ifndef CONFIG_SECURITY_SELINUX + #error not SELINUX + #endif +; return 0; } +EOF +if { (eval echo configure:3590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_is_selinux=yes else echo "$as_me: failed program was:" >&5 @@ -6979,53 +6411,29 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 -echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6 + +echo $ac_n "checking for 5th argument in sock_create found in some SELinux kernels""... $ac_c" 1>&6 +echo "configure:3606: checking for 5th argument in sock_create found in some SELinux kernels" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { sock_create(0,0,0,0,0) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:3623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_sock_create_v=yes else echo "$as_me: failed program was:" >&5 @@ -7039,53 +6447,29 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 -echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6 + +echo $ac_n "checking for page_follow_link_light vs page_follow_link""... $ac_c" 1>&6 +echo "configure:3639: checking for page_follow_link_light vs page_follow_link" >&5 save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -Werror-implicit-function-declaration -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { page_follow_link(0,0) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:3656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_page_follow_link=yes else echo "$as_me: failed program was:" >&5 @@ -7096,8 +6480,7 @@ fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_page" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_page" >&6 +echo "$ac_t""$ac_cv_linux_kernel_page_follow_link" 1>&6 CPPFLAGS="$save_CPPFLAGS" RHCONFIG_SP="" @@ -7106,8 +6489,8 @@ if test "x$enable_redhat_buildsys" = "xyes"; then { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} else - echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 -echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6 + echo $ac_n "checking for redhat kernel configuration""... $ac_c" 1>&6 +echo "configure:3677: checking for redhat kernel configuration" >&5 if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then ac_linux_rhconfig=yes RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" @@ -7127,51 +6510,27 @@ fi - -echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 -echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6 + +echo $ac_n "checking for recalc_sigpending arg type""... $ac_c" 1>&6 +echo "configure:3696: checking for recalc_sigpending arg type" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { recalc_sigpending(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_recalc_sigpending_takes_void=yes else echo "$as_me: failed program was:" >&5 @@ -7185,52 +6544,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 -echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for parent in struct task_struct""... $ac_c" 1>&6 +echo "configure:3727: checking for parent in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.parent); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_parent=yes else echo "$as_me: failed program was:" >&5 @@ -7244,52 +6579,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 -echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for real_parent in struct task_struct""... $ac_c" 1>&6 +echo "configure:3759: checking for real_parent in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.real_parent); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else echo "$as_me: failed program was:" >&5 @@ -7303,52 +6614,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 -echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for sig in struct task_struct""... $ac_c" 1>&6 +echo "configure:3791: checking for sig in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.sig); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sig=yes else echo "$as_me: failed program was:" >&5 @@ -7357,57 +6644,33 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_linux_sched_struct_task_struct_has_sig=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 -echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct task_struct _tsk; -printf("%d\n", _tsk.sighand); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +fi + +echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for sighand in struct task_struct""... $ac_c" 1>&6 +echo "configure:3823: checking for sighand in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < +int +main () +{ +struct task_struct _tsk; +printf("%d\n", _tsk.sighand); +; return 0; } +EOF +if { (eval echo configure:3839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sighand=yes else echo "$as_me: failed program was:" >&5 @@ -7421,52 +6684,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 -echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for sigmask_lock in struct task_struct""... $ac_c" 1>&6 +echo "configure:3855: checking for sigmask_lock in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.sigmask_lock); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else echo "$as_me: failed program was:" >&5 @@ -7481,23 +6720,116 @@ echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_ echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6 CPPFLAGS="$save_CPPFLAGS" +echo $ac_n "checking for rlim in struct task_struct""... $ac_c" 1>&6 +echo "configure:3887: checking for rlim in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_rlim'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.rlim); +; return 0; } +EOF +if { (eval echo configure:3903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_rlim=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_rlim=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_rlim" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for signal->rlim in struct task_struct""... $ac_c" 1>&6 +echo "configure:3919: checking for signal->rlim in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_signal_rlim'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.signal->rlim); +; return 0; } +EOF +if { (eval echo configure:3935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for exit_state in struct task_struct""... $ac_c" 1>&6 +echo "configure:3951: checking for exit_state in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_exit_state'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.exit_state); +; return 0; } +EOF +if { (eval echo configure:3967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_exit_state=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_exit_state=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_exit_state" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + if test "x$enable_redhat_buildsys" = "xyes"; then MPS=Default else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS" - echo "$as_me:$LINENO: checking if kernel uses MODVERSIONS" >&5 -echo $ECHO_N "checking if kernel uses MODVERSIONS... $ECHO_C" >&6 - if test "${ac_cv_linux_config_modversions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + echo $ac_n "checking if kernel uses MODVERSIONS""... $ac_c" 1>&6 +echo "configure:3988: checking if kernel uses MODVERSIONS" >&5 + if eval "test \"`echo '$''{'ac_cv_linux_config_modversions'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext < #include @@ -7508,31 +6840,10 @@ main () lose; #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_config_modversions=yes else echo "$as_me: failed program was:" >&5 @@ -7543,11 +6854,10 @@ fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - echo "$as_me:$LINENO: result: $ac_cv_linux_config_modversions" >&5 -echo "${ECHO_T}$ac_cv_linux_config_modversions" >&6 - echo "$as_me:$LINENO: checking which kernel modules to build" >&5 -echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6 - if false; then + echo "$ac_t""$ac_cv_linux_config_modversions" 1>&6 + echo $ac_n "checking which kernel modules to build""... $ac_c" 1>&6 +echo "configure:4020: checking which kernel modules to build" >&5 + if test "x$ac_linux_rhconfig" = "xyes"; then MPS="MP SP" elif test "x$ac_cv_linux_config_modversions" = "xno" -a "$AFS_SYSKVERS" -lt 26; then MPS="MP SP" @@ -7555,13 +6865,10 @@ echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6 if test "${ac_cv_linux_config_smp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + + cat > conftest.$ac_ext < int @@ -7571,31 +6878,10 @@ main () lose; #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_config_smp=yes else echo "$as_me: failed program was:" >&5 @@ -7626,21 +6912,18 @@ echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't ac_cv_linux_exports_ia32_sys_call_table=yes fi else - -echo "$as_me:$LINENO: checking for exported init_mm" >&5 -echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6 + +echo $ac_n "checking for exported init_mm""... $ac_c" 1>&6 +echo "configure:4074: checking for exported init_mm" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_init_mm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7648,31 +6931,10 @@ main () #ifndef __ver_init_mm #error init_mm not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_init_mm=yes else echo "$as_me: failed program was:" >&5 @@ -7686,21 +6948,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5 echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5 -echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6 + +echo $ac_n "checking for exported kallsyms_address_to_symbol""... $ac_c" 1>&6 +echo "configure:4107: checking for exported kallsyms_address_to_symbol" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7708,31 +6967,10 @@ main () #ifndef __ver_kallsyms_address_to_symbol #error kallsyms_address_to_symbol not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_kallsyms_address=yes else echo "$as_me: failed program was:" >&5 @@ -7746,21 +6984,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5 echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5 -echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6 + +echo $ac_n "checking for exported kallsyms_symbol_to_address""... $ac_c" 1>&6 +echo "configure:4140: checking for exported kallsyms_symbol_to_address" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7768,31 +7003,10 @@ main () #ifndef __ver_kallsyms_symbol_to_address #error kallsyms_symbol_to_address not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_kallsyms_symbol=yes else echo "$as_me: failed program was:" >&5 @@ -7806,21 +7020,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5 echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_call_table" >&5 -echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_call_table""... $ac_c" 1>&6 +echo "configure:4173: checking for exported sys_call_table" >&5 save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < int main () @@ -7828,31 +7039,10 @@ main () #ifndef __ver_sys_call_table #error sys_call_table not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4190: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_call_table=yes else echo "$as_me: failed program was:" >&5 @@ -7866,21 +7056,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5 -echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6 + +echo $ac_n "checking for exported ia32_sys_call_table""... $ac_c" 1>&6 +echo "configure:4206: checking for exported ia32_sys_call_table" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7888,31 +7075,10 @@ main () #ifndef __ver_ia32_sys_call_table #error ia32_sys_call_table not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_ia32_sys_call_table=yes else echo "$as_me: failed program was:" >&5 @@ -7926,21 +7092,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5 echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 -echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_chdir""... $ac_c" 1>&6 +echo "configure:4239: checking for exported sys_chdir" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7948,31 +7111,10 @@ main () #ifndef __ver_sys_chdir #error sys_chdir not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_chdir=yes else echo "$as_me: failed program was:" >&5 @@ -7986,21 +7128,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_close" >&5 -echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_close""... $ac_c" 1>&6 +echo "configure:4272: checking for exported sys_close" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_close+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -8008,31 +7147,10 @@ main () #ifndef __ver_sys_close #error sys_close not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_close=yes else echo "$as_me: failed program was:" >&5 @@ -8046,21 +7164,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_wait4" >&5 -echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_wait4""... $ac_c" 1>&6 +echo "configure:4305: checking for exported sys_wait4" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -8068,31 +7183,10 @@ main () #ifndef __ver_sys_wait4 #error sys_wait4 not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_wait4=yes else echo "$as_me: failed program was:" >&5 @@ -8163,13 +7257,6 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define EXPORTED_SYS_WAIT4 1 -_ACEOF - - fi - if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then - -cat >>confdefs.h <<\_ACEOF -#define EXPORTED_TASKLIST_LOCK 1 _ACEOF fi @@ -8274,9 +7361,14 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi - if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then + if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_INODE_HAS_I_SB_LIST 1 +EOF -cat >>confdefs.h <<\_ACEOF + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then + cat >> confdefs.h <<\EOF #define STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS 1 _ACEOF @@ -8350,6 +7442,24 @@ cat >>confdefs.h <<\_ACEOF #define STRUCT_TASK_STRUCT_HAS_SIG 1 _ACEOF + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_RLIM 1 +EOF + + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM 1 +EOF + + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1 +EOF + fi : fi @@ -8367,50 +7477,26 @@ _ACEOF ;; *) -echo "$as_me:$LINENO: checking for definition of struct buf" >&5 -echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6 -if test "${ac_cv_have_struct_buf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for definition of struct buf""... $ac_c" 1>&6 +echo "configure:4584: checking for definition of struct buf" >&5 +if eval "test \"`echo '$''{'ac_cv_have_struct_buf'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_have_struct_buf=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < int main () { struct buf x; printf("%d\n", sizeof(x)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4599: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_struct_buf=yes else echo "$as_me: failed program was:" >&5 @@ -8438,15 +7524,12 @@ esac if test "${ac_cv_sockaddr_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5 -echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +echo $ac_n "checking if struct sockaddr has sa_len field""... $ac_c" 1>&6 +echo "configure:4627: checking if struct sockaddr has sa_len field" >&5 +cat > conftest.$ac_ext < #include int @@ -8454,31 +7537,10 @@ main () { struct sockaddr *a; a->sa_len=0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_sockaddr_len=yes else echo "$as_me: failed program was:" >&5 @@ -8504,22 +7566,14 @@ else for ac_func in socket do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4663: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8548,41 +7602,16 @@ char $ac_func (); choke me #else char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; +#endif +#ifdef __cplusplus } -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +#endif + +; return 0; } +EOF +if { (eval echo configure:4691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8606,58 +7635,32 @@ done if test "$ac_cv_func_socket" = no; then for lib in socket inet; do if test "$HAVE_SOCKET" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh` -echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5 -echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for socket in -l${lib}""... $ac_c" 1>&6 +echo "configure:4720: checking for socket in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'socket | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char socket(); + +int main() { +socket() +; return 0; } +EOF +if { (eval echo configure:4739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8685,22 +7688,14 @@ fi for ac_func in connect do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4769: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8734,36 +7729,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:4797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8787,58 +7757,32 @@ done if test "$ac_cv_func_connect" = no; then for lib in nsl; do if test "$HAVE_CONNECT" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh` -echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5 -echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for connect in -l${lib}""... $ac_c" 1>&6 +echo "configure:4826: checking for connect in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'connect | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char connect(); + +int main() { +connect() +; return 0; } +EOF +if { (eval echo configure:4845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8866,22 +7810,14 @@ fi for ac_func in gethostbyname do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4875: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8915,36 +7851,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:4903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8967,58 +7878,32 @@ done if test "$ac_cv_func_gethostbyname" = no; then for lib in dns nsl resolv; do if test "$HAVE_GETHOSTBYNAME" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh` -echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5 -echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for gethostbyname in -l${lib}""... $ac_c" 1>&6 +echo "configure:4931: checking for gethostbyname in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'gethostbyname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char gethostbyname(); + +int main() { +gethostbyname() +; return 0; } +EOF +if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9043,14 +7928,11 @@ fi done fi - echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5 -echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + echo $ac_n "checking for the useability of arpa/nameser_compat.h""... $ac_c" 1>&6 +echo "configure:4978: checking for the useability of arpa/nameser_compat.h" >&5 + cat > conftest.$ac_ext < #include @@ -9066,34 +7948,12 @@ int main () { static int i; i = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\_ACEOF +; return 0; } +EOF +if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_ARPA_NAMESER_COMPAT_H 1 _ACEOF @@ -9107,17 +7967,14 @@ echo "${ECHO_T}no" >&6 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - openafs_save_libs="$LIBS" - echo "$as_me:$LINENO: checking for res_search" >&5 -echo $ECHO_N "checking for res_search... $ECHO_C" >&6 - - ac_cv_func_res_search=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + openafs_save_libs="$LIBS" + echo $ac_n "checking for res_search""... $ac_c" 1>&6 +echo "configure:5015: checking for res_search" >&5 + + ac_cv_func_res_search=no + cat > conftest.$ac_ext < #include @@ -9139,32 +7996,11 @@ res_init(); */ r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans)); return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:5043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_res_search=yes else echo "$as_me: failed program was:" >&5 @@ -9181,12 +8017,9 @@ rm -f conftest.err conftest.$ac_objext \ LIBS="-l$lib $LIBS" ac_cv_func_res_search=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include @@ -9208,32 +8041,11 @@ res_init(); */ r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans)); return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:5084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_res_search=yes else echo "$as_me: failed program was:" >&5 @@ -9270,57 +8082,32 @@ echo "${ECHO_T}yes" >&6 fi PTHREAD_LIBS=error -echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6 -if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for pthread_attr_init in -lpthread""... $ac_c" 1>&6 +echo "configure:5118: checking for pthread_attr_init in -lpthread" >&5 +ac_lib_var=`echo pthread'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pthread_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9338,57 +8125,32 @@ if test $ac_cv_lib_pthread_pthread_attr_init = yes; then fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6 -if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for pthread_attr_init in -lpthreads""... $ac_c" 1>&6 +echo "configure:5159: checking for pthread_attr_init in -lpthreads" >&5 +ac_lib_var=`echo pthreads'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthreads $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pthreads_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9407,57 +8169,32 @@ fi fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6 -if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for pthread_attr_init in -lc_r""... $ac_c" 1>&6 +echo "configure:5201: checking for pthread_attr_init in -lc_r" >&5 +ac_lib_var=`echo c_r'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_c_r_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9476,21 +8213,14 @@ fi fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init" >&5 -echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6 -if test "${ac_cv_func_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define pthread_attr_init to an innocuous variant, in case declares pthread_attr_init. - For example, HP-UX 11i declares gettimeofday. */ -#define pthread_attr_init innocuous_pthread_attr_init - + echo $ac_n "checking for pthread_attr_init""... $ac_c" 1>&6 +echo "configure:5243: checking for pthread_attr_init" >&5 +if eval "test \"`echo '$''{'ac_cv_func_pthread_attr_init'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -9524,36 +8254,11 @@ char (*f) () = pthread_attr_init; } #endif -int -main () -{ -return f != pthread_attr_init; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_pthread_attr_init=yes +; return 0; } +EOF +if { (eval echo configure:5271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_pthread_attr_init=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9679,8 +8384,8 @@ _ACEOF fi -echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5 -echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6 +echo $ac_n "checking for tivoli tsm butc support""... $ac_c" 1>&6 +echo "configure:5391: checking for tivoli tsm butc support" >&5 XBSA_CFLAGS="" if test "$enable_tivoli_tsm" = "yes"; then XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen @@ -9704,51 +8409,24 @@ echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:5412: checking for ANSI C header files" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include +#include +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 @@ -9760,12 +8438,9 @@ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +cat > conftest.$ac_ext < _ACEOF @@ -9781,12 +8456,9 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +cat > conftest.$ac_ext < _ACEOF @@ -9805,12 +8477,9 @@ if test $ac_cv_header_stdc = yes; then if test "$cross_compiling" = yes; then : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -9824,28 +8493,13 @@ cat >>conftest.$ac_ext <<_ACEOF #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } + +EOF +if { (eval echo configure:5492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then : else echo "$as_me: program exited with status $ac_status" >&5 @@ -9869,17 +8523,14 @@ _ACEOF fi -echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 +echo "configure:5516: checking for sys/wait.h that is POSIX.1 compatible" >&5 +if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include #ifndef WEXITSTATUS @@ -9888,38 +8539,14 @@ cat >>conftest.$ac_ext <<_ACEOF #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +int s; +wait (&s); +s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; +; return 0; } +EOF +if { (eval echo configure:5537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_header_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 @@ -9945,53 +8572,26 @@ fi ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 +echo "configure:5562: checking for $ac_hdr that defines DIR" >&5 +if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < #include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" +int main() { +DIR *dirp = 0; +; return 0; } +EOF +if { (eval echo configure:5575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10013,20 +8613,17 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +echo "configure:5600: checking for opendir in -ldir" >&5 +ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldir $LIBS" +cat > conftest.$ac_ext <&5 sed 's/^/| /' conftest.$ac_ext >&5 +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:5619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -10138,20 +8747,17 @@ if test "$ac_cv_search_opendir" != no; then fi else - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +echo "configure:5641: checking for opendir in -lx" >&5 +ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - + ac_save_LIBS="$LIBS" +LIBS="-lx $LIBS" +cat > conftest.$ac_ext <&5 sed 's/^/| /' conftest.$ac_ext >&5 +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:5660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -10272,50 +8890,23 @@ fi for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5686: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10392,83 +8983,56 @@ echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precede cat <<\_ASBOX ## ------------------------------------------ ## ## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - -for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + +for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5726: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10578,50 +9142,23 @@ done for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5766: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10730,50 +9267,23 @@ done for ac_header in sys/mount.h strings.h termios.h signal.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5806: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10884,50 +9394,23 @@ done for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5846: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11037,50 +9520,23 @@ done for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5886: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11209,22 +9665,14 @@ fi for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5940: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11241,53 +9689,28 @@ cat >>conftest.$ac_ext <<_ACEOF /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +; return 0; } +EOF +if { (eval echo configure:5968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11315,22 +9738,14 @@ done for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5995: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11364,36 +9779,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11419,22 +9809,14 @@ done for ac_func in regcomp regexec regerror do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6051: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11468,36 +9850,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11517,8 +9874,8 @@ _ACEOF fi done -echo "$as_me:$LINENO: checking for POSIX regex library" >&5 -echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6 +echo $ac_n "checking for POSIX regex library""... $ac_c" 1>&6 +echo "configure:6104: checking for POSIX regex library" >&5 if test "$ac_cv_header_regex_h" = "yes" && \ test "$ac_cv_func_regcomp" = "yes" && \ test "$ac_cv_func_regexec" = "yes" && \ @@ -11534,181 +9891,51 @@ else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - -echo "$as_me:$LINENO: checking for ssize_t" >&5 -echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 -if test "${ac_cv_type_ssize_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 +echo "configure:6119: checking for ssize_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((ssize_t *) 0) - return 0; -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + cat > conftest.$ac_ext < +#if STDC_HEADERS +#include +#include +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_ssize_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ssize_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 -echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 -if test $ac_cv_type_ssize_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_long=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 - -echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 +echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 +if test $ac_cv_type_ssize_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define ssize_t int +_ACEOF + +fi + +echo $ac_n "checking size of long""... $ac_c" 1>&6 +echo "configure:6152: checking size of long" >&5 +if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -11718,9 +9945,10 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - +if ((long *) 0) + return 0; +if (sizeof (long)) + return 0; ; return 0; } @@ -11746,24 +9974,30 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=$ac_mid; break + ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` +ac_cv_type_long=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi +echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 +echo "${ECHO_T}$ac_cv_type_long" >&6 +echo "$as_me:$LINENO: checking size of long" >&5 +echo $ECHO_N "checking size of long... $ECHO_C" >&6 +if test "${ac_cv_sizeof_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$ac_cv_type_long" = yes; then + # The cast to unsigned long works around a bug in the HP C Compiler + # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects + # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. + # This bug is HP SR number 8606223364. + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11774,7 +10008,7 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; +static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; test_array [0] = 0 ; @@ -11802,7 +10036,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 + ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -11814,70 +10048,6 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 @@ -11906,38 +10076,11 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5 -echo "$as_me: error: internal error: not reached in cross-compile" >&2;} - { (exit 1); exit 1; }; } + ac_hi=$ac_mid; break else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } + cat > conftest.$ac_ext < #include int @@ -11966,19 +10109,10 @@ main () ; return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` +EOF +if { (eval echo configure:6171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_sizeof_long=`cat conftestval` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 @@ -12010,22 +10144,14 @@ _ACEOF for ac_func in timegm do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6194: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -12059,36 +10185,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -12185,13 +10286,12 @@ OPTMZ=-O LWP_DBG=-g LWP_OPTMZ=-O -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6326: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -12269,10 +10369,10 @@ for ac_prog in as do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6358: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. @@ -12310,10 +10410,10 @@ for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6393: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. @@ -12351,10 +10451,10 @@ for ac_prog in mv do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MV+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6428: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_MV'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$MV"; then ac_cv_prog_MV="$MV" # Let the user override the test. @@ -12392,10 +10492,10 @@ for ac_prog in rm do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6463: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RM'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RM"; then ac_cv_prog_RM="$RM" # Let the user override the test. @@ -12433,10 +10533,10 @@ for ac_prog in ld do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6498: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LD"; then ac_cv_prog_LD="$LD" # Let the user override the test. @@ -12474,10 +10574,10 @@ for ac_prog in cp do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6533: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CP"; then ac_cv_prog_CP="$CP" # Let the user override the test. @@ -12515,10 +10615,10 @@ for ac_prog in strip do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6568: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. @@ -12556,10 +10656,10 @@ for ac_prog in lorder do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LORDER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6603: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LORDER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LORDER"; then ac_cv_prog_LORDER="$LORDER" # Let the user override the test. @@ -12758,7 +10858,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*) + *nbsd2*|*nbsd3*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon @@ -12977,21 +11077,7 @@ case $AFS_SYSNAME in EXTRA_VLIBOBJS="fstab.o" ;; - ppc_linux22) - INSTALL="install" - KERN_OPTMZ=-O2 - LEX="flex -l" - MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' - MT_LIBS="-lpthread" - PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" - SHLIB_LDFLAGS="-shared -Xlinker -x" - TXLIBS="-lncurses" - XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" - YACC="bison -y" - SHLIB_LINKER="${MT_CC} -shared" - ;; - - ppc_linux24) + ppc_linux*) KERN_OPTMZ=-O2 LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' @@ -13066,7 +11152,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390_linux24) + s390_linux24|s390_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -13083,7 +11169,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390x_linux24) + s390x_linux24|s390x_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -13349,7 +11435,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13370,7 +11456,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13391,7 +11477,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13412,7 +11498,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13426,21 +11512,18 @@ esac # case $AFS_SYSNAME in sgi_6*) - -echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5 -echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6 + +echo $ac_n "checking for mem* in sys/systm.h""... $ac_c" 1>&6 +echo "configure:7454: checking for mem* in sys/systm.h" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__" if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -13449,31 +11532,10 @@ main () extern void *memcpy(char *, const void *, size_t); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:7472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_irix_sys_systm_h_has_mem_funcs=no else echo "$as_me: failed program was:" >&5 diff --git a/configure-libafs b/configure-libafs index 3a0e0c13c..27e0d934c 100755 --- a/configure-libafs +++ b/configure-libafs @@ -1600,14 +1600,7 @@ echo "$as_me: error: source directory already configured; run \"make distclean\" { (exit 1); exit 1; }; } fi -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi +VERSION=1.3.79 # Define the identity of the package. @@ -5206,10 +5199,18 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6 AFS_PARAM_COMMON=param.nbsd16.h AFS_SYSNAME="ppc_nbsd16" ;; - i?86-*-netbsd*2.99*) + i?86-*-netbsd*2.1*) AFS_PARAM_COMMON=param.nbsd21.h AFS_SYSNAME="i386_nbsd21" ;; + i?86-*-netbsd*2.99*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; + i?86-*-netbsd*3.0*) + AFS_PARAM_COMMON=param.nbsd30.h + AFS_SYSNAME="i386_nbsd30" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -5401,12 +5402,9 @@ echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-af AFS_SYSNAME="$_AFS_SYSNAME" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < int main () @@ -5414,31 +5412,10 @@ main () #ifndef CONFIG_USERMODE #error not UML #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2720: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_is_uml=yes else echo "$as_me: failed program was:" >&5 @@ -5472,14 +5449,18 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) if test "x$enable_debug_kernel" = "xno"; then LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer" fi - -echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5 -echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6 + +echo $ac_n "checking if $CC accepts -march=pentium""... $ac_c" 1>&6 +echo "configure:2755: checking if $CC accepts -march=pentium" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-MARCH=pentium" if test "${openafs_gcc_supports_march+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5492,31 +5473,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_march=yes else echo "$as_me: failed program was:" >&5 @@ -5536,15 +5496,19 @@ else fi CFLAGS="$save_CFLAGS" - - -echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5 -echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6 + + +echo $ac_n "checking if $CC needs -fno-strength-reduce""... $ac_c" 1>&6 +echo "configure:2793: checking if $CC needs -fno-strength-reduce" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-strength-reduce" if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5557,31 +5521,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_needs_no_strength_reduce=yes else echo "$as_me: failed program was:" >&5 @@ -5599,14 +5542,18 @@ if test x$openafs_gcc_needs_no_strength_reduce = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5 -echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6 + +echo $ac_n "checking if $CC needs -fno-strict-aliasing""... $ac_c" 1>&6 +echo "configure:2828: checking if $CC needs -fno-strict-aliasing" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-strict-aliasing" if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5619,31 +5566,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_needs_no_strict_aliasing=yes else echo "$as_me: failed program was:" >&5 @@ -5661,14 +5587,18 @@ if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5 -echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6 + +echo $ac_n "checking if $CC supports -fno-common""... $ac_c" 1>&6 +echo "configure:2863: checking if $CC supports -fno-common" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-fno-common" if test "${openafs_gcc_supports_no_common+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5681,31 +5611,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2878: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_no_common=yes else echo "$as_me: failed program was:" >&5 @@ -5723,14 +5632,18 @@ if test x$openafs_gcc_supports_no_common = xyes; then fi CFLAGS="$save_CFLAGS" - -echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5 -echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6 + +echo $ac_n "checking if $CC supports -pipe""... $ac_c" 1>&6 +echo "configure:2898: checking if $CC supports -pipe" >&5 save_CFLAGS="$CFLAGS" CFLAGS="-pipe" if test "${openafs_gcc_supports_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + +cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -5743,31 +5656,10 @@ int main () { int x; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2913: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* openafs_gcc_supports_pipe=yes else echo "$as_me: failed program was:" >&5 @@ -5785,31 +5677,28 @@ if test x$openafs_gcc_supports_pipe = xyes; then fi CFLAGS="$save_CFLAGS" - - -echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5 -echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6 + + +echo $ac_n "checking whether to build osi_vfs.h""... $ac_c" 1>&6 +echo "configure:2934: checking whether to build osi_vfs.h" >&5 configdir=src/config -outputdir=afs +outputdir=src/afs tmpldir=src/afs/LINUX chmod +x $configdir/make_vnode.pl $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir - -echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5 -echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6 + +echo $ac_n "checking for linux/completion.h existance""... $ac_c" 1>&6 +echo "configure:2943: checking for linux/completion.h existance" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_completion_h_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -5820,31 +5709,10 @@ struct completion _c; lose #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2963: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_completion_h_exists=yes else echo "$as_me: failed program was:" >&5 @@ -5858,21 +5726,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5 echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for defined for_each_process" >&5 -echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6 + +echo $ac_n "checking for defined for_each_process""... $ac_c" 1>&6 +echo "configure:2979: checking for defined for_each_process" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_defines_for_each_process+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -5880,31 +5745,10 @@ main () #ifndef for_each_process(p) #error for_each_process not defined #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_defines_for_each_process=yes else echo "$as_me: failed program was:" >&5 @@ -5918,21 +5762,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5 echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for defined prev_task" >&5 -echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6 + +echo $ac_n "checking for defined prev_task""... $ac_c" 1>&6 +echo "configure:3012: checking for defined prev_task" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_defines_prev_task+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -5940,31 +5781,10 @@ main () #ifndef prev_task(p) #error prev_task not defined #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_defines_prev_task=yes else echo "$as_me: failed program was:" >&5 @@ -5978,112 +5798,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5 echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5 -echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -#ifndef __ver_tasklist_lock -#error tasklist_lock not exported -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_linux_exports_tasklist_lock=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_linux_exports_tasklist_lock=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5 -echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5 -echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6 + +echo $ac_n "checking for page_lock in struct address_space""... $ac_c" 1>&6 +echo "configure:3045: checking for page_lock in struct address_space" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct address_space _a_s; printf("%x\n", _a_s.page_lock); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3061: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_address_space_has_page_lock=yes else echo "$as_me: failed program was:" >&5 @@ -6097,52 +5833,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5 -echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6 + +echo $ac_n "checking for gfp_mask in struct address_space""... $ac_c" 1>&6 +echo "configure:3077: checking for gfp_mask in struct address_space" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct address_space _a; printf("%d\n", _a.gfp_mask); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes else echo "$as_me: failed program was:" >&5 @@ -6156,52 +5868,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5 -echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_alloc_sem in struct inode""... $ac_c" 1>&6 +echo "configure:3109: checking for i_alloc_sem in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _i; printf("%x\n", _i.i_alloc_sem); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes else echo "$as_me: failed program was:" >&5 @@ -6215,52 +5903,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5 -echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_truncate_sem in struct inode""... $ac_c" 1>&6 +echo "configure:3141: checking for i_truncate_sem in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _i; printf("%x\n", _i.i_truncate_sem); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes else echo "$as_me: failed program was:" >&5 @@ -6274,52 +5938,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5 -echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_dirty_data_buffers in struct inode""... $ac_c" 1>&6 +echo "configure:3173: checking for i_dirty_data_buffers in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_dirty_data_buffers); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes else echo "$as_me: failed program was:" >&5 @@ -6333,52 +5973,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5 -echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6 + +echo $ac_n "checking for i_devices in struct inode""... $ac_c" 1>&6 +echo "configure:3205: checking for i_devices in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_cdev+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_devices); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_devices=yes else echo "$as_me: failed program was:" >&5 @@ -6392,52 +6008,60 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5 echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6 CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for i_sb_list in struct inode""... $ac_c" 1>&6 +echo "configure:3237: checking for i_sb_list in struct inode" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_fs_struct_inode_has_i_sb_list'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct inode _inode; +printf("%d\n", _inode.i_sb_list); +; return 0; } +EOF +if { (eval echo configure:3253: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_fs_struct_inode_has_i_sb_list=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_fs_struct_inode_has_i_sb_list=no +fi +rm -f conftest* +fi -echo "$as_me:$LINENO: checking for i_security in struct inode" >&5 -echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6 +echo "$ac_t""$ac_cv_linux_fs_struct_inode_has_i_sb_list" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for i_security in struct inode""... $ac_c" 1>&6 +echo "configure:3269: checking for i_security in struct inode" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct inode _inode; printf("%d\n", _inode.i_security); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3285: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_fs_struct_inode_has_i_security=yes else echo "$as_me: failed program was:" >&5 @@ -6447,58 +6071,34 @@ ac_cv_linux_fs_struct_inode_has_i_security=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 -echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for inode_setattr return type" >&5 -echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct inode _inode; -struct iattr _iattr; -int i; -i = inode_setattr(&_inode, &_iattr); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5 +echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for inode_setattr return type""... $ac_c" 1>&6 +echo "configure:3301: checking for inode_setattr return type" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < +int +main () +{ +struct inode _inode; +struct iattr _iattr; +int i; +i = inode_setattr(&_inode, &_iattr); +; return 0; } +EOF +if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_inode_setattr_returns_int=yes else echo "$as_me: failed program was:" >&5 @@ -6512,21 +6112,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5 echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for write_inode return type" >&5 -echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6 + +echo $ac_n "checking for write_inode return type""... $ac_c" 1>&6 +echo "configure:3335: checking for write_inode return type" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -6535,31 +6132,10 @@ struct inode _inode; struct super_operations _sops; int i; i = _sops.write_inode(&_inode, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_write_inode_returns_int=yes else echo "$as_me: failed program was:" >&5 @@ -6576,18 +6152,15 @@ CPPFLAGS="$save_CPPFLAGS" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +echo $ac_n "checking whether inode_operations.create takes a nameidata""... $ac_c" 1>&6 +echo "configure:3371: checking whether inode_operations.create takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_create_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < #include int @@ -6597,31 +6170,10 @@ struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; (void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_create_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6641,18 +6193,15 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether inode_operations.lookup takes a nameidata""... $ac_c" 1>&6 +echo "configure:3408: checking whether inode_operations.lookup takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_lookup_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6662,31 +6211,10 @@ struct inode _inode; struct dentry _dentry; struct nameidata _nameidata; (void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3425: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_lookup_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6706,18 +6234,15 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5 -echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6 -if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether inode_operations.permission takes a nameidata""... $ac_c" 1>&6 +echo "configure:3445: checking whether inode_operations.permission takes a nameidata" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_i_permission_takes_nameidata'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6726,31 +6251,10 @@ main () struct inode _inode; struct nameidata _nameidata; (void)_inode.i_op->permission(&_inode, 0, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3461: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_i_permission_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6770,19 +6274,16 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 -echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6 +echo $ac_n "checking whether dentry_operations.d_revalidate takes a nameidata""... $ac_c" 1>&6 +echo "configure:3481: checking whether dentry_operations.d_revalidate takes a nameidata" >&5 CPPFLAGS="$CPPFLAGS -Werror" if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -6791,31 +6292,10 @@ main () struct dentry _dentry; struct nameidata _nameidata; (void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_d_revalidate_takes_nameidata=yes else echo "$as_me: failed program was:" >&5 @@ -6839,18 +6319,15 @@ CPPFLAGS="$save_CPPFLAGS" save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5 -echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6 -if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +echo $ac_n "checking whether address_space_operations.writepage takes a writeback_control""... $ac_c" 1>&6 +echo "configure:3522: checking whether address_space_operations.writepage takes a writeback_control" >&5 +if eval "test \"`echo '$''{'ac_cv_linux_func_a_writepage_takes_writeback_control'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < #include #include @@ -6861,31 +6338,10 @@ struct address_space_operations _aops; struct page _page; struct writeback_control _writeback_control; (void)_aops.writepage(&_page, &_writeback_control); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3540: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_a_writepage_takes_writeback_control=yes else echo "$as_me: failed program was:" >&5 @@ -6906,9 +6362,9 @@ _ACEOF fi CPPFLAGS="$save_CPPFLAGS" - - echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5 -echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6 + + echo $ac_n "checking for linux/syscall.h in kernel""... $ac_c" 1>&6 +echo "configure:3562: checking for linux/syscall.h in kernel" >&5 if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then ac_linux_syscall=yes echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5 @@ -6919,53 +6375,29 @@ echo "${ECHO_T}$ac_linux_syscall" >&6 echo "${ECHO_T}$ac_linux_syscall" >&6 fi - -echo "$as_me:$LINENO: checking for SELinux kernel" >&5 -echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6 + +echo $ac_n "checking for SELinux kernel""... $ac_c" 1>&6 +echo "configure:3573: checking for SELinux kernel" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS" if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < -int -main () -{ -#ifndef CONFIG_SECURITY_SELINUX - #error not SELINUX - #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int +main () +{ +#ifndef CONFIG_SECURITY_SELINUX + #error not SELINUX + #endif +; return 0; } +EOF +if { (eval echo configure:3590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_is_selinux=yes else echo "$as_me: failed program was:" >&5 @@ -6979,53 +6411,29 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5 echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5 -echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6 + +echo $ac_n "checking for 5th argument in sock_create found in some SELinux kernels""... $ac_c" 1>&6 +echo "configure:3606: checking for 5th argument in sock_create found in some SELinux kernels" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { sock_create(0,0,0,0,0) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:3623: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_sock_create_v=yes else echo "$as_me: failed program was:" >&5 @@ -7039,53 +6447,29 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5 echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5 -echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6 + +echo $ac_n "checking for page_follow_link_light vs page_follow_link""... $ac_c" 1>&6 +echo "configure:3639: checking for page_follow_link_light vs page_follow_link" >&5 save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -Werror-implicit-function-declaration -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { page_follow_link(0,0) - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:3656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_kernel_page_follow_link=yes else echo "$as_me: failed program was:" >&5 @@ -7096,8 +6480,7 @@ fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_page" >&5 -echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_page" >&6 +echo "$ac_t""$ac_cv_linux_kernel_page_follow_link" 1>&6 CPPFLAGS="$save_CPPFLAGS" RHCONFIG_SP="" @@ -7106,8 +6489,8 @@ if test "x$enable_redhat_buildsys" = "xyes"; then { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5 echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;} else - echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5 -echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6 + echo $ac_n "checking for redhat kernel configuration""... $ac_c" 1>&6 +echo "configure:3677: checking for redhat kernel configuration" >&5 if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then ac_linux_rhconfig=yes RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0" @@ -7127,51 +6510,27 @@ fi - -echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5 -echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6 + +echo $ac_n "checking for recalc_sigpending arg type""... $ac_c" 1>&6 +echo "configure:3696: checking for recalc_sigpending arg type" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { recalc_sigpending(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_func_recalc_sigpending_takes_void=yes else echo "$as_me: failed program was:" >&5 @@ -7185,52 +6544,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5 echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5 -echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for parent in struct task_struct""... $ac_c" 1>&6 +echo "configure:3727: checking for parent in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.parent); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_parent=yes else echo "$as_me: failed program was:" >&5 @@ -7244,52 +6579,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5 -echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for real_parent in struct task_struct""... $ac_c" 1>&6 +echo "configure:3759: checking for real_parent in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.real_parent); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_real_parent=yes else echo "$as_me: failed program was:" >&5 @@ -7303,52 +6614,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5 -echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for sig in struct task_struct""... $ac_c" 1>&6 +echo "configure:3791: checking for sig in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.sig); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sig=yes else echo "$as_me: failed program was:" >&5 @@ -7357,57 +6644,33 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_linux_sched_struct_task_struct_has_sig=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 -echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6 -CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5 -echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6 -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -struct task_struct _tsk; -printf("%d\n", _tsk.sighand); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +fi + +echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5 +echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for sighand in struct task_struct""... $ac_c" 1>&6 +echo "configure:3823: checking for sighand in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < +int +main () +{ +struct task_struct _tsk; +printf("%d\n", _tsk.sighand); +; return 0; } +EOF +if { (eval echo configure:3839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sighand=yes else echo "$as_me: failed program was:" >&5 @@ -7421,52 +6684,28 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5 echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5 -echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6 + +echo $ac_n "checking for sigmask_lock in struct task_struct""... $ac_c" 1>&6 +echo "configure:3855: checking for sigmask_lock in struct task_struct" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () { struct task_struct _tsk; printf("%d\n", _tsk.sigmask_lock); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes else echo "$as_me: failed program was:" >&5 @@ -7481,23 +6720,116 @@ echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_ echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6 CPPFLAGS="$save_CPPFLAGS" +echo $ac_n "checking for rlim in struct task_struct""... $ac_c" 1>&6 +echo "configure:3887: checking for rlim in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_rlim'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.rlim); +; return 0; } +EOF +if { (eval echo configure:3903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_rlim=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_rlim=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_rlim" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for signal->rlim in struct task_struct""... $ac_c" 1>&6 +echo "configure:3919: checking for signal->rlim in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_signal_rlim'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.signal->rlim); +; return 0; } +EOF +if { (eval echo configure:3935: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + +echo $ac_n "checking for exit_state in struct task_struct""... $ac_c" 1>&6 +echo "configure:3951: checking for exit_state in struct task_struct" >&5 +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if eval "test \"`echo '$''{'ac_cv_linux_sched_struct_task_struct_has_exit_state'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext < +int main() { +struct task_struct _tsk; +printf("%d\n", _tsk.exit_state); +; return 0; } +EOF +if { (eval echo configure:3967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_exit_state=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_linux_sched_struct_task_struct_has_exit_state=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_linux_sched_struct_task_struct_has_exit_state" 1>&6 +CPPFLAGS="$save_CPPFLAGS" + if test "x$enable_redhat_buildsys" = "xyes"; then MPS=Default else save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS" - echo "$as_me:$LINENO: checking if kernel uses MODVERSIONS" >&5 -echo $ECHO_N "checking if kernel uses MODVERSIONS... $ECHO_C" >&6 - if test "${ac_cv_linux_config_modversions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + echo $ac_n "checking if kernel uses MODVERSIONS""... $ac_c" 1>&6 +echo "configure:3988: checking if kernel uses MODVERSIONS" >&5 + if eval "test \"`echo '$''{'ac_cv_linux_config_modversions'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext < #include @@ -7508,31 +6840,10 @@ main () lose; #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_config_modversions=yes else echo "$as_me: failed program was:" >&5 @@ -7543,11 +6854,10 @@ fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi - echo "$as_me:$LINENO: result: $ac_cv_linux_config_modversions" >&5 -echo "${ECHO_T}$ac_cv_linux_config_modversions" >&6 - echo "$as_me:$LINENO: checking which kernel modules to build" >&5 -echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6 - if false; then + echo "$ac_t""$ac_cv_linux_config_modversions" 1>&6 + echo $ac_n "checking which kernel modules to build""... $ac_c" 1>&6 +echo "configure:4020: checking which kernel modules to build" >&5 + if test "x$ac_linux_rhconfig" = "xyes"; then MPS="MP SP" elif test "x$ac_cv_linux_config_modversions" = "xno" -a "$AFS_SYSKVERS" -lt 26; then MPS="MP SP" @@ -7555,13 +6865,10 @@ echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6 if test "${ac_cv_linux_config_smp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + + cat > conftest.$ac_ext < int @@ -7571,31 +6878,10 @@ main () lose; #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4042: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_config_smp=yes else echo "$as_me: failed program was:" >&5 @@ -7626,21 +6912,18 @@ echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't ac_cv_linux_exports_ia32_sys_call_table=yes fi else - -echo "$as_me:$LINENO: checking for exported init_mm" >&5 -echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6 + +echo $ac_n "checking for exported init_mm""... $ac_c" 1>&6 +echo "configure:4074: checking for exported init_mm" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_init_mm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7648,31 +6931,10 @@ main () #ifndef __ver_init_mm #error init_mm not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4091: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_init_mm=yes else echo "$as_me: failed program was:" >&5 @@ -7686,21 +6948,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5 echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5 -echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6 + +echo $ac_n "checking for exported kallsyms_address_to_symbol""... $ac_c" 1>&6 +echo "configure:4107: checking for exported kallsyms_address_to_symbol" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7708,31 +6967,10 @@ main () #ifndef __ver_kallsyms_address_to_symbol #error kallsyms_address_to_symbol not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_kallsyms_address=yes else echo "$as_me: failed program was:" >&5 @@ -7746,21 +6984,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5 echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5 -echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6 + +echo $ac_n "checking for exported kallsyms_symbol_to_address""... $ac_c" 1>&6 +echo "configure:4140: checking for exported kallsyms_symbol_to_address" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7768,31 +7003,10 @@ main () #ifndef __ver_kallsyms_symbol_to_address #error kallsyms_symbol_to_address not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4157: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_kallsyms_symbol=yes else echo "$as_me: failed program was:" >&5 @@ -7806,21 +7020,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5 echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_call_table" >&5 -echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_call_table""... $ac_c" 1>&6 +echo "configure:4173: checking for exported sys_call_table" >&5 save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cat > conftest.$ac_ext < int main () @@ -7828,31 +7039,10 @@ main () #ifndef __ver_sys_call_table #error sys_call_table not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4190: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_call_table=yes else echo "$as_me: failed program was:" >&5 @@ -7866,21 +7056,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5 -echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6 + +echo $ac_n "checking for exported ia32_sys_call_table""... $ac_c" 1>&6 +echo "configure:4206: checking for exported ia32_sys_call_table" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7888,31 +7075,10 @@ main () #ifndef __ver_ia32_sys_call_table #error ia32_sys_call_table not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4223: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_ia32_sys_call_table=yes else echo "$as_me: failed program was:" >&5 @@ -7926,21 +7092,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5 echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 -echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_chdir""... $ac_c" 1>&6 +echo "configure:4239: checking for exported sys_chdir" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -7948,31 +7111,10 @@ main () #ifndef __ver_sys_chdir #error sys_chdir not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_chdir=yes else echo "$as_me: failed program was:" >&5 @@ -7986,21 +7128,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_close" >&5 -echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_close""... $ac_c" 1>&6 +echo "configure:4272: checking for exported sys_close" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_close+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -8008,31 +7147,10 @@ main () #ifndef __ver_sys_close #error sys_close not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4289: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_close=yes else echo "$as_me: failed program was:" >&5 @@ -8046,21 +7164,18 @@ fi echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5 echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6 CPPFLAGS="$save_CPPFLAGS" - -echo "$as_me:$LINENO: checking for exported sys_wait4" >&5 -echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6 + +echo $ac_n "checking for exported sys_wait4""... $ac_c" 1>&6 +echo "configure:4305: checking for exported sys_wait4" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < int main () @@ -8068,31 +7183,10 @@ main () #ifndef __ver_sys_wait4 #error sys_wait4 not exported #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_linux_exports_sys_wait4=yes else echo "$as_me: failed program was:" >&5 @@ -8163,13 +7257,6 @@ _ACEOF cat >>confdefs.h <<\_ACEOF #define EXPORTED_SYS_WAIT4 1 -_ACEOF - - fi - if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then - -cat >>confdefs.h <<\_ACEOF -#define EXPORTED_TASKLIST_LOCK 1 _ACEOF fi @@ -8274,9 +7361,14 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi - if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then + if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_INODE_HAS_I_SB_LIST 1 +EOF -cat >>confdefs.h <<\_ACEOF + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then + cat >> confdefs.h <<\EOF #define STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS 1 _ACEOF @@ -8350,6 +7442,24 @@ cat >>confdefs.h <<\_ACEOF #define STRUCT_TASK_STRUCT_HAS_SIG 1 _ACEOF + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_RLIM 1 +EOF + + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM 1 +EOF + + fi + if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then + cat >> confdefs.h <<\EOF +#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1 +EOF + fi : fi @@ -8367,50 +7477,26 @@ _ACEOF ;; *) -echo "$as_me:$LINENO: checking for definition of struct buf" >&5 -echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6 -if test "${ac_cv_have_struct_buf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for definition of struct buf""... $ac_c" 1>&6 +echo "configure:4584: checking for definition of struct buf" >&5 +if eval "test \"`echo '$''{'ac_cv_have_struct_buf'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_have_struct_buf=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < int main () { struct buf x; printf("%d\n", sizeof(x)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4599: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_struct_buf=yes else echo "$as_me: failed program was:" >&5 @@ -8438,15 +7524,12 @@ esac if test "${ac_cv_sockaddr_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5 -echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +echo $ac_n "checking if struct sockaddr has sa_len field""... $ac_c" 1>&6 +echo "configure:4627: checking if struct sockaddr has sa_len field" >&5 +cat > conftest.$ac_ext < #include int @@ -8454,31 +7537,10 @@ main () { struct sockaddr *a; a->sa_len=0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4638: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_sockaddr_len=yes else echo "$as_me: failed program was:" >&5 @@ -8504,22 +7566,14 @@ else for ac_func in socket do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4663: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8548,41 +7602,16 @@ char $ac_func (); choke me #else char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; +#endif +#ifdef __cplusplus } -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +#endif + +; return 0; } +EOF +if { (eval echo configure:4691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8606,58 +7635,32 @@ done if test "$ac_cv_func_socket" = no; then for lib in socket inet; do if test "$HAVE_SOCKET" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh` -echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5 -echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for socket in -l${lib}""... $ac_c" 1>&6 +echo "configure:4720: checking for socket in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'socket | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char socket(); + +int main() { +socket() +; return 0; } +EOF +if { (eval echo configure:4739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8685,22 +7688,14 @@ fi for ac_func in connect do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4769: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8734,36 +7729,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:4797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8787,58 +7757,32 @@ done if test "$ac_cv_func_connect" = no; then for lib in nsl; do if test "$HAVE_CONNECT" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh` -echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5 -echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for connect in -l${lib}""... $ac_c" 1>&6 +echo "configure:4826: checking for connect in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'connect | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char connect(); + +int main() { +connect() +; return 0; } +EOF +if { (eval echo configure:4845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8866,22 +7810,14 @@ fi for ac_func in gethostbyname do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4875: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -8915,36 +7851,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:4903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8967,58 +7878,32 @@ done if test "$ac_cv_func_gethostbyname" = no; then for lib in dns nsl resolv; do if test "$HAVE_GETHOSTBYNAME" != 1; then - as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh` -echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5 -echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for gethostbyname in -l${lib}""... $ac_c" 1>&6 +echo "configure:4931: checking for gethostbyname in -l${lib}" >&5 +ac_lib_var=`echo ${lib}'_'gethostbyname | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-l${lib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" + builtin and then its argument prototype would still apply. */ +char gethostbyname(); + +int main() { +gethostbyname() +; return 0; } +EOF +if { (eval echo configure:4950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9043,14 +7928,11 @@ fi done fi - echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5 -echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + echo $ac_n "checking for the useability of arpa/nameser_compat.h""... $ac_c" 1>&6 +echo "configure:4978: checking for the useability of arpa/nameser_compat.h" >&5 + cat > conftest.$ac_ext < #include @@ -9066,34 +7948,12 @@ int main () { static int i; i = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\_ACEOF +; return 0; } +EOF +if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_ARPA_NAMESER_COMPAT_H 1 _ACEOF @@ -9107,17 +7967,14 @@ echo "${ECHO_T}no" >&6 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - openafs_save_libs="$LIBS" - echo "$as_me:$LINENO: checking for res_search" >&5 -echo $ECHO_N "checking for res_search... $ECHO_C" >&6 - - ac_cv_func_res_search=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + openafs_save_libs="$LIBS" + echo $ac_n "checking for res_search""... $ac_c" 1>&6 +echo "configure:5015: checking for res_search" >&5 + + ac_cv_func_res_search=no + cat > conftest.$ac_ext < #include @@ -9139,32 +7996,11 @@ res_init(); */ r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans)); return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:5043: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_res_search=yes else echo "$as_me: failed program was:" >&5 @@ -9181,12 +8017,9 @@ rm -f conftest.err conftest.$ac_objext \ LIBS="-l$lib $LIBS" ac_cv_func_res_search=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include @@ -9208,32 +8041,11 @@ res_init(); */ r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans)); return 0; - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + +; return 0; } +EOF +if { (eval echo configure:5084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_res_search=yes else echo "$as_me: failed program was:" >&5 @@ -9270,57 +8082,32 @@ echo "${ECHO_T}yes" >&6 fi PTHREAD_LIBS=error -echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6 -if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for pthread_attr_init in -lpthread""... $ac_c" 1>&6 +echo "configure:5118: checking for pthread_attr_init in -lpthread" >&5 +ac_lib_var=`echo pthread'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pthread_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9338,57 +8125,32 @@ if test $ac_cv_lib_pthread_pthread_attr_init = yes; then fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6 -if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for pthread_attr_init in -lpthreads""... $ac_c" 1>&6 +echo "configure:5159: checking for pthread_attr_init in -lpthreads" >&5 +ac_lib_var=`echo pthreads'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthreads $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pthreads_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9407,57 +8169,32 @@ fi fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5 -echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6 -if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for pthread_attr_init in -lc_r""... $ac_c" 1>&6 +echo "configure:5201: checking for pthread_attr_init in -lc_r" >&5 +ac_lib_var=`echo c_r'_'pthread_attr_init | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +cat > conftest.$ac_ext <&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_c_r_pthread_attr_init=yes + builtin and then its argument prototype would still apply. */ +char pthread_attr_init(); + +int main() { +pthread_attr_init() +; return 0; } +EOF +if { (eval echo configure:5220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9476,21 +8213,14 @@ fi fi if test "x$PTHREAD_LIBS" = xerror; then - echo "$as_me:$LINENO: checking for pthread_attr_init" >&5 -echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6 -if test "${ac_cv_func_pthread_attr_init+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define pthread_attr_init to an innocuous variant, in case declares pthread_attr_init. - For example, HP-UX 11i declares gettimeofday. */ -#define pthread_attr_init innocuous_pthread_attr_init - + echo $ac_n "checking for pthread_attr_init""... $ac_c" 1>&6 +echo "configure:5243: checking for pthread_attr_init" >&5 +if eval "test \"`echo '$''{'ac_cv_func_pthread_attr_init'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -9524,36 +8254,11 @@ char (*f) () = pthread_attr_init; } #endif -int -main () -{ -return f != pthread_attr_init; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_pthread_attr_init=yes +; return 0; } +EOF +if { (eval echo configure:5271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_pthread_attr_init=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -9679,8 +8384,8 @@ _ACEOF fi -echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5 -echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6 +echo $ac_n "checking for tivoli tsm butc support""... $ac_c" 1>&6 +echo "configure:5391: checking for tivoli tsm butc support" >&5 XBSA_CFLAGS="" if test "$enable_tivoli_tsm" = "yes"; then XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen @@ -9704,51 +8409,24 @@ echo "${ECHO_T}no" >&6 fi -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:5412: checking for ANSI C header files" >&5 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include +#include +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 @@ -9760,12 +8438,9 @@ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +cat > conftest.$ac_ext < _ACEOF @@ -9781,12 +8456,9 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +cat > conftest.$ac_ext < _ACEOF @@ -9805,12 +8477,9 @@ if test $ac_cv_header_stdc = yes; then if test "$cross_compiling" = yes; then : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -9824,28 +8493,13 @@ cat >>conftest.$ac_ext <<_ACEOF #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } + +EOF +if { (eval echo configure:5492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then : else echo "$as_me: program exited with status $ac_status" >&5 @@ -9869,17 +8523,14 @@ _ACEOF fi -echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 +echo "configure:5516: checking for sys/wait.h that is POSIX.1 compatible" >&5 +if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + cat > conftest.$ac_ext < #include #ifndef WEXITSTATUS @@ -9888,38 +8539,14 @@ cat >>conftest.$ac_ext <<_ACEOF #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +int s; +wait (&s); +s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; +; return 0; } +EOF +if { (eval echo configure:5537: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_header_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 @@ -9945,53 +8572,26 @@ fi ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 +echo "configure:5562: checking for $ac_hdr that defines DIR" >&5 +if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < #include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" +int main() { +DIR *dirp = 0; +; return 0; } +EOF +if { (eval echo configure:5575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10013,20 +8613,17 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - +echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +echo "configure:5600: checking for opendir in -ldir" >&5 +ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldir $LIBS" +cat > conftest.$ac_ext <&5 sed 's/^/| /' conftest.$ac_ext >&5 +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:5619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -10138,20 +8747,17 @@ if test "$ac_cv_search_opendir" != no; then fi else - echo "$as_me:$LINENO: checking for library containing opendir" >&5 -echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 -if test "${ac_cv_search_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +echo "configure:5641: checking for opendir in -lx" >&5 +ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_func_search_save_LIBS=$LIBS -ac_cv_search_opendir=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - + ac_save_LIBS="$LIBS" +LIBS="-lx $LIBS" +cat > conftest.$ac_ext <&5 sed 's/^/| /' conftest.$ac_ext >&5 +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:5660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -10272,50 +8890,23 @@ fi for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5686: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10392,83 +8983,56 @@ echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precede cat <<\_ASBOX ## ------------------------------------------ ## ## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - -for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + +for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5726: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10578,50 +9142,23 @@ done for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5766: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10730,50 +9267,23 @@ done for ac_header in sys/mount.h strings.h termios.h signal.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5806: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -10884,50 +9394,23 @@ done for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5846: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11037,50 +9520,23 @@ done for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:5886: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:5896: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11209,22 +9665,14 @@ fi for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5940: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11241,53 +9689,28 @@ cat >>conftest.$ac_ext <<_ACEOF /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +; return 0; } +EOF +if { (eval echo configure:5968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11315,22 +9738,14 @@ done for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5995: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11364,36 +9779,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11419,22 +9809,14 @@ done for ac_func in regcomp regexec regerror do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6051: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -11468,36 +9850,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -11517,8 +9874,8 @@ _ACEOF fi done -echo "$as_me:$LINENO: checking for POSIX regex library" >&5 -echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6 +echo $ac_n "checking for POSIX regex library""... $ac_c" 1>&6 +echo "configure:6104: checking for POSIX regex library" >&5 if test "$ac_cv_header_regex_h" = "yes" && \ test "$ac_cv_func_regcomp" = "yes" && \ test "$ac_cv_func_regexec" = "yes" && \ @@ -11534,181 +9891,51 @@ else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi - -echo "$as_me:$LINENO: checking for ssize_t" >&5 -echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 -if test "${ac_cv_type_ssize_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 +echo "configure:6119: checking for ssize_t" >&5 +if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((ssize_t *) 0) - return 0; -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + cat > conftest.$ac_ext < +#if STDC_HEADERS +#include +#include +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_ssize_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_ssize_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 -echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 -if test $ac_cv_type_ssize_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type_long=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 - -echo "$as_me:$LINENO: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_long" = yes; then - # The cast to unsigned long works around a bug in the HP C Compiler - # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects - # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. - # This bug is HP SR number 8606223364. - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 +echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 +if test $ac_cv_type_ssize_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define ssize_t int +_ACEOF + +fi + +echo $ac_n "checking size of long""... $ac_c" 1>&6 +echo "configure:6152: checking size of long" >&5 +if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -11718,9 +9945,10 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; -test_array [0] = 0 - +if ((long *) 0) + return 0; +if (sizeof (long)) + return 0; ; return 0; } @@ -11746,24 +9974,30 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=$ac_mid; break + ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid + 1` +ac_cv_type_long=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +fi +echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 +echo "${ECHO_T}$ac_cv_type_long" >&6 +echo "$as_me:$LINENO: checking size of long" >&5 +echo $ECHO_N "checking size of long... $ECHO_C" >&6 +if test "${ac_cv_sizeof_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$ac_cv_type_long" = yes; then + # The cast to unsigned long works around a bug in the HP C Compiler + # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects + # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. + # This bug is HP SR number 8606223364. + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -11774,7 +10008,7 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)]; +static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)]; test_array [0] = 0 ; @@ -11802,7 +10036,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=-1 ac_mid=-1 + ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -11814,70 +10048,6 @@ $ac_includes_default int main () { -static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_hi=`expr '(' $ac_mid ')' - 1` - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo= ac_hi= -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)]; test_array [0] = 0 @@ -11906,38 +10076,11 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_lo=`expr '(' $ac_mid ')' + 1` -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in -?*) ac_cv_sizeof_long=$ac_lo;; -'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute sizeof (long), 77 -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } ;; -esac -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5 -echo "$as_me: error: internal error: not reached in cross-compile" >&2;} - { (exit 1); exit 1; }; } + ac_hi=$ac_mid; break else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -long longval () { return (long) (sizeof (long)); } -unsigned long ulongval () { return (long) (sizeof (long)); } + cat > conftest.$ac_ext < #include int @@ -11966,19 +10109,10 @@ main () ; return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` +EOF +if { (eval echo configure:6171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then + ac_cv_sizeof_long=`cat conftestval` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 @@ -12010,22 +10144,14 @@ _ACEOF for ac_func in timegm do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6194: checking for $ac_func" >&5 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < to if __STDC__ is defined, since @@ -12059,36 +10185,11 @@ char (*f) () = $ac_func; } #endif -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" +; return 0; } +EOF +if { (eval echo configure:6222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -12185,13 +10286,12 @@ OPTMZ=-O LWP_DBG=-g LWP_OPTMZ=-O -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6326: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -12269,10 +10369,10 @@ for ac_prog in as do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6358: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. @@ -12310,10 +10410,10 @@ for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6393: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. @@ -12351,10 +10451,10 @@ for ac_prog in mv do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MV+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6428: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_MV'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$MV"; then ac_cv_prog_MV="$MV" # Let the user override the test. @@ -12392,10 +10492,10 @@ for ac_prog in rm do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6463: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_RM'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RM"; then ac_cv_prog_RM="$RM" # Let the user override the test. @@ -12433,10 +10533,10 @@ for ac_prog in ld do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6498: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LD"; then ac_cv_prog_LD="$LD" # Let the user override the test. @@ -12474,10 +10574,10 @@ for ac_prog in cp do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6533: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CP"; then ac_cv_prog_CP="$CP" # Let the user override the test. @@ -12515,10 +10615,10 @@ for ac_prog in strip do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6568: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. @@ -12556,10 +10656,10 @@ for ac_prog in lorder do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LORDER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:6603: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LORDER'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LORDER"; then ac_cv_prog_LORDER="$LORDER" # Let the user override the test. @@ -12758,7 +10858,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*) + *nbsd2*|*nbsd3*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon @@ -12977,21 +11077,7 @@ case $AFS_SYSNAME in EXTRA_VLIBOBJS="fstab.o" ;; - ppc_linux22) - INSTALL="install" - KERN_OPTMZ=-O2 - LEX="flex -l" - MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' - MT_LIBS="-lpthread" - PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" - SHLIB_LDFLAGS="-shared -Xlinker -x" - TXLIBS="-lncurses" - XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" - YACC="bison -y" - SHLIB_LINKER="${MT_CC} -shared" - ;; - - ppc_linux24) + ppc_linux*) KERN_OPTMZ=-O2 LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' @@ -13066,7 +11152,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390_linux24) + s390_linux24|s390_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -13083,7 +11169,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390x_linux24) + s390x_linux24|s390x_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -13349,7 +11435,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13370,7 +11456,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13391,7 +11477,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13412,7 +11498,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -13426,21 +11512,18 @@ esac # case $AFS_SYSNAME in sgi_6*) - -echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5 -echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6 + +echo $ac_n "checking for mem* in sys/systm.h""... $ac_c" 1>&6 +echo "configure:7454: checking for mem* in sys/systm.h" >&5 save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__" if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + +cat > conftest.$ac_ext < #include int @@ -13449,31 +11532,10 @@ main () extern void *memcpy(char *, const void *, size_t); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:7472: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_irix_sys_systm_h_has_mem_funcs=no else echo "$as_me: failed program was:" >&5 diff --git a/configure-libafs.in b/configure-libafs.in index 265e6f18b..b30d966ae 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,5 +1,5 @@ AC_INIT(src/libafs/Makefile.common.in) -AM_INIT_AUTOMAKE(openafs-libafs,1.3.77) +AM_INIT_AUTOMAKE(openafs-libafs,1.3.79) AC_CONFIG_HEADER(src/config/afsconfig.h) define(OPENAFS_CONFIGURE_LIBAFS) diff --git a/configure.in b/configure.in index 2098caade..d8b2851e1 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ AC_INIT(src/config/stds.h) -AM_INIT_AUTOMAKE(openafs,1.3.77) +AM_INIT_AUTOMAKE(openafs,1.3.79) AC_CONFIG_HEADER(src/config/afsconfig.h) AC_PROG_CC diff --git a/src/afs/DARWIN/osi_vm.c b/src/afs/DARWIN/osi_vm.c index 9ae45f43b..03b219b24 100644 --- a/src/afs/DARWIN/osi_vm.c +++ b/src/afs/DARWIN/osi_vm.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vm.c,v 1.14 2004/06/23 18:34:48 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vm.c,v 1.14.2.1 2005/02/21 01:14:18 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -281,7 +281,7 @@ osi_VM_TryReclaim(struct vcache *avc, int *slept) 1 #endif ) - VOP_INACTIVE(vp, p); + VOP_UNLOCK(vp, 0, p); /* was VOP_INACTIVE(vp, p); */ else VOP_UNLOCK(vp, 0, p); #ifdef AFS_DARWIN14_ENV @@ -290,7 +290,7 @@ osi_VM_TryReclaim(struct vcache *avc, int *slept) #endif if (obj) { if (ISSET(vp->v_flag, VTERMINATE)) - panic("afs_vnreclaim: already teminating"); + panic("afs_vnreclaim: already terminating"); SET(vp->v_flag, VTERMINATE); memory_object_destroy(obj, 0); while (ISSET(vp->v_flag, VTERMINATE)) { diff --git a/src/afs/DUX/osi_vnodeops.c b/src/afs/DUX/osi_vnodeops.c index 543a6453a..9f2b08704 100644 --- a/src/afs/DUX/osi_vnodeops.c +++ b/src/afs/DUX/osi_vnodeops.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/DUX/osi_vnodeops.c,v 1.11 2003/07/15 23:14:19 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/DUX/osi_vnodeops.c,v 1.11.2.1 2005/01/31 03:49:11 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ @@ -114,8 +114,15 @@ mp_afs_lookup(adp, ndp) struct nameidata *ndp; { int code; + char aname[MAXNAMLEN + 1]; /* XXX */ + struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); + struct ucred *acred = ndp->ni_cred; + int wantparent = ndp->ni_nameiop & WANTPARENT; + int opflag = ndp->ni_nameiop & OPFLAG; AFS_GLOCK(); - code = afs_lookup(adp, ndp); + memcpy(aname, ndp->ni_ptr, ndp->ni_namelen); + aname[ndp->ni_namelen] = '\0'; + code = afs_lookup(adp, aname, avcp, acred, opflag, wantparent); AFS_GUNLOCK(); return code; } @@ -125,9 +132,18 @@ mp_afs_create(ndp, attrs) struct vattr *attrs; { int code; + register struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + enum vcexcl aexcl = NONEXCL; /* XXX - create called properly */ + int amode = 0; /* XXX - checked in higher level */ + struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_create(ndp, attrs); + code = afs_create(adp, aname, attrs, aexcl, + amode, avcp, acred); + AFS_GUNLOCK(); + afs_PutVCache(adp); return code; } @@ -208,8 +224,12 @@ mp_afs_remove(ndp) struct nameidata *ndp; { int code; + register struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_remove(ndp); + code = afs_remove(adp, aname, acred); + afs_PutVCache(adp); AFS_GUNLOCK(); return code; } @@ -219,9 +239,13 @@ mp_afs_link(avc, ndp) struct nameidata *ndp; { int code; + struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_link(avc, ndp); + code = afs_link(avc, adp, aname, acred); AFS_GUNLOCK(); + afs_PutVCache(adp); return code; } @@ -229,8 +253,19 @@ mp_afs_rename(fndp, tndp) struct nameidata *fndp, *tndp; { int code; + struct vcache *aodp = VTOAFS(fndp->ni_dvp); + char *aname1 = fndp->ni_dent.d_name; + struct vcache *andp = VTOAFS(tndp->ni_dvp); + char *aname2 = tndp->ni_dent.d_name; + struct ucred *acred = tndp->ni_cred; AFS_GLOCK(); - code = afs_rename(fndp, tndp); + code = afs_rename(aodp, aname1, andp, aname2, acred); + AFS_RELE(tndp->ni_dvp); + if (tndp->ni_vp != NULL) { + AFS_RELE(tndp->ni_vp); + } + AFS_RELE(fndp->ni_dvp); + AFS_RELE(fndp->ni_vp); AFS_GUNLOCK(); return code; } @@ -240,8 +275,13 @@ mp_afs_mkdir(ndp, attrs) struct vattr *attrs; { int code; + register struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + register struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_mkdir(ndp, attrs); + code = afs_mkdir(adp, aname, attrs, avcp, acred); + AFS_RELE(adp); AFS_GUNLOCK(); return code; } @@ -250,8 +290,13 @@ mp_afs_rmdir(ndp) struct nameidata *ndp; { int code; + register struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_rmdir(ndp); + code = afs_rmdir(adp, aname, acred); + afs_PutVCache(adp); + afs_PutVCache(ndp->ni_vp); AFS_GUNLOCK(); return code; } @@ -262,8 +307,12 @@ mp_afs_symlink(ndp, attrs, atargetName) register char *atargetName; { int code; + register struct vcache *adp = VTOAFS(ndp->ni_dvp); + char *aname = ndp->ni_dent.d_name; + struct ucred *acred = ndp->ni_cred; AFS_GLOCK(); - code = afs_symlink(ndp, attrs, atargetName); + code = afs_symlink(adp, aname, attrs, atargetName, acred); + AFS_RELE(ndp->ni_dvp); AFS_GUNLOCK(); return code; } diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c index f338c99c7..5282709c2 100644 --- a/src/afs/LINUX/osi_groups.c +++ b/src/afs/LINUX/osi_groups.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.1 2004/10/18 07:11:46 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.2 2005/01/31 04:14:36 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -155,23 +155,24 @@ setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag, #if defined(AFS_LINUX26_ENV) struct group_info *group_info; gid_t g0, g1; + struct group_info *tmp; + int i; + int need_space = 0; AFS_STATCNT(setpag); group_info = afs_getgroups(*cr); if (group_info->ngroups < 2 || afs_get_pag_from_groups(GROUP_AT(group_info, 0), - GROUP_AT(group_info, 1)) == NOPAG) { + GROUP_AT(group_info, 1)) == NOPAG) /* We will have to make sure group_info is big enough for pag */ - struct group_info *tmp; - int i; - - tmp = groups_alloc(group_info->ngroups + 2); - for (i = 0; i < group_info->ngroups; ++i) - GROUP_AT(tmp, i + 2) = GROUP_AT(group_info, i); - put_group_info(group_info); - group_info = tmp; - } + need_space = 2; + + tmp = groups_alloc(group_info->ngroups + need_space); + + for (i = 0; i < group_info->ngroups; ++i) + GROUP_AT(tmp, i + need_space) = GROUP_AT(group_info, i); + group_info = tmp; *newpag = (pagvalue == -1 ? genpag() : pagvalue); afs_get_groups_from_pag(*newpag, &g0, &g1); diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index 278e56ae9..83f6b1a6d 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -47,6 +47,14 @@ #define SIG_UNLOCK(X) spin_unlock_irq(&X->sig->siglock) #endif +#if defined (STRUCT_TASK_STRUCT_HAS_RLIM) +#define TASK_STRUCT_RLIM rlim +#elif defined (STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM) +#define TASK_STRUCT_RLIM signal->rlim +#else +#error Not sure what to do about rlim (should be in the Linux task struct somewhere....) +#endif + #define afs_hz HZ #include "h/sched.h" diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index 82c116cf6..a9165df6c 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.1 2004/12/07 06:12:12 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.3 2005/02/21 01:13:08 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -28,44 +28,60 @@ RCSID #endif #if defined(AFS_LINUX24_ENV) +/* LOOKUP_POSITIVE is becoming the default */ +#ifndef LOOKUP_POSITIVE +#define LOOKUP_POSITIVE 0 +#endif /* Lookup name and return vnode for same. */ int -osi_lookupname(char *aname, uio_seg_t seg, int followlink, - vnode_t ** dirvpp, struct dentry **dpp) +osi_lookupname_internal(char *aname, int followlink, struct vfsmount **mnt, + struct dentry **dpp) { int code; - extern struct nameidata afs_cacheNd; - struct nameidata *nd = &afs_cacheNd; - + struct nameidata nd; + int flags = LOOKUP_POSITIVE; code = ENOENT; - if (seg == AFS_UIOUSER) { - code = - followlink ? user_path_walk(aname, - nd) : user_path_walk_link(aname, nd); - } else { + + if (followlink) + flags |= LOOKUP_FOLLOW; #if defined(AFS_LINUX26_ENV) - code = path_lookup(aname, followlink ? LOOKUP_FOLLOW : 0, nd); + code = path_lookup(aname, flags, &nd); #else - if (path_init(aname, followlink ? LOOKUP_FOLLOW : 0, nd)) - code = path_walk(aname, nd); + if (path_init(aname, flags, &nd)) + code = path_walk(aname, &nd); #endif - } if (!code) { - if (nd->dentry->d_inode) { - *dpp = dget(nd->dentry); - code = 0; - } else { - code = ENOENT; - path_release(nd); - } + *dpp = dget(nd.dentry); + if (mnt) + *mnt = mntget(nd.mnt); + path_release(&nd); } return code; } -#else int osi_lookupname(char *aname, uio_seg_t seg, int followlink, vnode_t ** dirvpp, - struct dentry **dpp) + struct dentry **dpp) +{ + int code; + char *tname; + code = ENOENT; + if (seg == AFS_UIOUSER) { + tname = getname(aname); + if (IS_ERR(tname)) + return PTR_ERR(tname); + } else { + tname = aname; + } + code = osi_lookupname_internal(tname, followlink, NULL, dpp); + if (seg == AFS_UIOUSER) { + putname(tname); + } + return code; +} +#else +int +osi_lookupname(char *aname, uio_seg_t seg, int followlink, vnode_t ** dirvpp, struct dentry **dpp) { struct dentry *dp = NULL; int code; @@ -94,12 +110,13 @@ int osi_InitCacheInfo(char *aname) { int code; - struct dentry *dp; + struct dentry *dp,*dpp; extern ino_t cacheInode; extern struct osi_dev cacheDev; extern afs_int32 afs_fsfragsize; extern struct super_block *afs_cacheSBp; - code = osi_lookupname(aname, AFS_UIOSYS, 1, NULL, &dp); + extern struct vfsmnt *afs_cacheMnt; + code = osi_lookupname_internal(aname, 1, &afs_cacheMnt, &dp); if (code) return ENOENT; @@ -138,8 +155,8 @@ osi_rdwr(int rw, struct osi_file *file, caddr_t addrp, size_t asize, } else filp->f_pos = offset; - savelim = current->rlim[RLIMIT_FSIZE].rlim_cur; - current->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; + savelim = current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur; + current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; /* Read/Write the data. */ TO_USER_SPACE(); @@ -151,7 +168,7 @@ osi_rdwr(int rw, struct osi_file *file, caddr_t addrp, size_t asize, code = asize; TO_KERNEL_SPACE(); - current->rlim[RLIMIT_FSIZE].rlim_cur = savelim; + current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = savelim; if (code >= 0) { *resid = asize - code; @@ -173,8 +190,8 @@ osi_file_uio_rdwr(struct osi_file *osifile, uio_t * uiop, int rw) int count; unsigned long savelim; - savelim = current->rlim[RLIMIT_FSIZE].rlim_cur; - current->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; + savelim = current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur; + current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; if (uiop->uio_seg == AFS_UIOSYS) TO_USER_SPACE(); @@ -217,7 +234,7 @@ osi_file_uio_rdwr(struct osi_file *osifile, uio_t * uiop, int rw) if (uiop->uio_seg == AFS_UIOSYS) TO_KERNEL_SPACE(); - current->rlim[RLIMIT_FSIZE].rlim_cur = savelim; + current->TASK_STRUCT_RLIM[RLIMIT_FSIZE].rlim_cur = savelim; return code; } diff --git a/src/afs/LINUX/osi_module.c b/src/afs/LINUX/osi_module.c index 89bd661b2..d51faca95 100644 --- a/src/afs/LINUX/osi_module.c +++ b/src/afs/LINUX/osi_module.c @@ -15,7 +15,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.5 2004/12/17 15:29:30 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.7 2005/02/21 01:15:35 shadow Exp $"); #include /* early to avoid printf->printk mapping */ #include "afs/sysincludes.h" @@ -33,38 +33,6 @@ RCSID #include #include #endif -#if !defined(EXPORTED_SYS_CALL_TABLE) && defined(HAVE_KERNEL_LINUX_SYSCALL_H) -#include -#endif - -#ifdef AFS_SPARC64_LINUX24_ENV -#define __NR_setgroups32 82 /* This number is not exported for some bizarre reason. */ -#endif - -#if !defined(AFS_LINUX24_ENV) -asmlinkage int (*sys_settimeofdayp) (struct timeval * tv, - struct timezone * tz); -#endif -asmlinkage long (*sys_setgroupsp) (int gidsetsize, gid_t * grouplist); -#ifdef EXPORTED_SYS_CALL_TABLE -#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) -extern unsigned int sys_call_table[]; /* changed to uint because SPARC64 and S390X have syscalltable of 32bit items */ -#else -extern void *sys_call_table[]; /* safer for other linuces */ -#endif -#else /* EXPORTED_SYS_CALL_TABLE */ -#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) -static unsigned int *sys_call_table; /* changed to uint because SPARC64 and S390X have syscalltable of 32bit items */ -#else -static void **sys_call_table; /* safer for other linuces */ -#endif -#endif - -#if defined(AFS_S390X_LINUX24_ENV) -#define _S(x) ((x)<<1) -#else -#define _S(x) x -#endif extern struct file_system_type afs_fs_type; @@ -82,56 +50,6 @@ int afs_global_owner = 0; unsigned long afs_linux_page_offset = 0; /* contains the PAGE_OFFSET value */ #endif -/* Since sys_ni_syscall is not exported, I need to cache it in order to restore - * it. - */ -#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) -static unsigned int afs_ni_syscall = 0; -#else -static void *afs_ni_syscall = 0; -#endif - -#ifdef AFS_AMD64_LINUX20_ENV -#ifdef EXPORTED_IA32_SYS_CALL_TABLE -extern void *ia32_sys_call_table[]; -#else -static void **ia32_sys_call_table; -#endif - -static void *ia32_ni_syscall = 0; -asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); -#if defined(__NR_ia32_setgroups32) -asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); -#endif /* __NR_ia32_setgroups32 */ -#endif /* AFS_AMD64_LINUX20_ENV */ - -#ifdef AFS_PPC64_LINUX20_ENV -asmlinkage long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); -#endif /* AFS_AMD64_LINUX20_ENV */ - -#ifdef AFS_SPARC64_LINUX20_ENV -static unsigned int afs_ni_syscall32 = 0; -asmlinkage int (*sys32_setgroupsp) (int gidsetsize, - __kernel_gid_t32 * grouplist); -#if defined(__NR_setgroups32) -asmlinkage int (*sys32_setgroups32p) (int gidsetsize, - __kernel_gid_t32 * grouplist); -#endif /* __NR_setgroups32 */ -#ifdef EXPORTED_SYS_CALL_TABLE -extern unsigned int sys_call_table32[]; -#else /* EXPORTED_SYS_CALL_TABLE */ -static unsigned int *sys_call_table32; -#endif /* EXPORTED_SYS_CALL_TABLE */ - -asmlinkage int -afs_syscall32(long syscall, long parm1, long parm2, long parm3, long parm4, - long parm5) -{ - __asm__ __volatile__("srl %o4, 0, %o4\n\t" "mov %o7, %i7\n\t" - "call afs_syscall\n\t" "srl %o5, 0, %o5\n\t" - "ret\n\t" "nop"); -} -#endif /* AFS_SPARC64_LINUX20_ENV */ static int afs_ioctl(struct inode *, struct file *, unsigned int, unsigned long); @@ -216,57 +134,52 @@ afs_ioctl(struct inode *inode, struct file *file, unsigned int cmd, { struct afsprocdata sysargs; + struct afsprocdata32 sysargs32; if (cmd != VIOC_SYSCALL) return -EINVAL; - if (copy_from_user(&sysargs, (void *)arg, sizeof(struct afsprocdata))) - return -EFAULT; - - return afs_syscall(sysargs.syscall, sysargs.param1, - sysargs.param2, sysargs.param3, sysargs.param4); -} - -#ifdef AFS_IA64_LINUX20_ENV - -asmlinkage long -afs_syscall_stub(int r0, int r1, long r2, long r3, long r4, long gp) -{ - __asm__ __volatile__("alloc r42 = ar.pfs, 8, 3, 6, 0\n\t" "mov r41 = b0\n\t" /* save rp */ - "mov out0 = in0\n\t" "mov out1 = in1\n\t" "mov out2 = in2\n\t" "mov out3 = in3\n\t" "mov out4 = in4\n\t" "mov out5 = gp\n\t" /* save gp */ - ";;\n" ".L1:\n\t" "mov r3 = ip\n\t" ";;\n\t" "addl r15=.fptr_afs_syscall-.L1,r3\n\t" ";;\n\t" "ld8 r15=[r15]\n\t" ";;\n\t" "ld8 r16=[r15],8\n\t" ";;\n\t" "ld8 gp=[r15]\n\t" "mov b6=r16\n\t" "br.call.sptk.many b0 = b6\n\t" ";;\n\t" "mov ar.pfs = r42\n\t" "mov b0 = r41\n\t" "mov gp = r48\n\t" /* restore gp */ - "br.ret.sptk.many b0\n" ".fptr_afs_syscall:\n\t" - "data8 @fptr(afs_syscall)\n\t" ".skip 8"); -} - -asmlinkage long -afs_xsetgroups_stub(int r0, int r1, long r2, long r3, long r4, long gp) -{ - __asm__ __volatile__("alloc r42 = ar.pfs, 8, 3, 6, 0\n\t" "mov r41 = b0\n\t" /* save rp */ - "mov out0 = in0\n\t" "mov out1 = in1\n\t" "mov out2 = in2\n\t" "mov out3 = in3\n\t" "mov out4 = in4\n\t" "mov out5 = gp\n\t" /* save gp */ - ";;\n" ".L2:\n\t" "mov r3 = ip\n\t" ";;\n\t" "addl r15=.fptr_afs_xsetgroups - .L2,r3\n\t" ";;\n\t" "ld8 r15=[r15]\n\t" ";;\n\t" "ld8 r16=[r15],8\n\t" ";;\n\t" "ld8 gp=[r15]\n\t" "mov b6=r16\n\t" "br.call.sptk.many b0 = b6\n\t" ";;\n\t" "mov ar.pfs = r42\n\t" "mov b0 = r41\n\t" "mov gp = r48\n\t" /* restore gp */ - "br.ret.sptk.many b0\n" ".fptr_afs_xsetgroups:\n\t" - "data8 @fptr(afs_xsetgroups)\n\t" ".skip 8"); -} - -struct fptr { - void *ip; - unsigned long gp; -}; - -#endif /* AFS_IA64_LINUX20_ENV */ - -#ifdef AFS_LINUX24_ENV -asmlinkage int (*sys_setgroups32p) (int gidsetsize, - __kernel_gid32_t * grouplist); -#endif /* AFS_LINUX24_ENV */ - -#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) -#define POINTER2SYSCALL (unsigned int)(unsigned long) -#define SYSCALL2POINTER (void *)(long) +#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) +#ifdef AFS_SPARC64_LINUX24_ENV + if (current->thread.flags & SPARC_FLAG_32BIT) +#elif defined(AFS_SPARC64_LINUX20_ENV) + if (current->tss.flags & SPARC_FLAG_32BIT) +#elif defined(AFS_AMD64_LINUX20_ENV) +#ifdef AFS_LINUX26_ENV + if (test_thread_flag(TIF_IA32)) #else -#define POINTER2SYSCALL (void *) -#define SYSCALL2POINTER (void *) + if (current->thread.flags & THREAD_IA32) #endif +#elif defined(AFS_PPC64_LINUX20_ENV) +#ifdef AFS_PPC64_LINUX26_ENV + if (current->thread_info->flags & _TIF_32BIT) +#else /*Linux 2.6 */ + if (current->thread.flags & PPC_FLAG_32BIT) +#endif +#elif defined(AFS_S390X_LINUX20_ENV) + if (current->thread.flags & S390_FLAG_31BIT) +#else +#error Not done for this linux type +#endif + { + if (copy_from_user(&sysargs32, (void *)arg, + sizeof(struct afsprocdata32))) + return -EFAULT; + + return afs_syscall((unsigned long)sysargs32.syscall, + (unsigned long)sysargs32.param1, + (unsigned long)sysargs32.param2, + (unsigned long)sysargs32.param3, + (unsigned long)sysargs32.param4); + } else +#endif + { + if (copy_from_user(&sysargs, (void *)arg, sizeof(struct afsprocdata))) + return -EFAULT; + + return afs_syscall(sysargs.syscall, sysargs.param1, + sysargs.param2, sysargs.param3, sysargs.param4); + } +} #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) @@ -277,45 +190,7 @@ int init_module(void) #endif { -#if defined(AFS_IA64_LINUX20_ENV) - unsigned long kernel_gp = 0; - static struct fptr sys_setgroups; -#endif /* defined(AFS_IA64_LINUX20_ENV) */ - extern long afs_xsetgroups(); -#if defined(__NR_setgroups32) - extern int afs_xsetgroups32(); -#endif /* __NR_setgroups32 */ -#if defined(AFS_SPARC64_LINUX20_ENV) || defined (AFS_AMD64_LINUX20_ENV) || defined(AFS_PPC64_LINUX20_ENV) - extern int afs32_xsetgroups(); -#if (defined(__NR_setgroups32) && defined(AFS_SPARC64_LINUX20_ENV)) - extern int afs32_xsetgroups32(); -#endif /* defined(__NR_setgroups32) && defined(AFS_SPARC64_LINUX20_ENV) */ -#if (defined(__NR_ia32_setgroups32) && defined(AFS_AMD64_LINUX20_ENV)) - extern int afs32_xsetgroups32(); -#endif /* (defined(__NR_ia32_setgroups32) && defined(AFS_AMD64_LINUX20_ENV) */ -#endif /* AFS_SPARC64_LINUX20_ENV || AFS_AMD64_LINUX20_ENV || AFS_PPC64_LINUX20_ENV */ - -#if !defined(EXPORTED_SYS_CALL_TABLE) || (defined(AFS_AMD64_LINUX20_ENV) && !defined(EXPORTED_IA32_SYS_CALL_TABLE)) - unsigned long *ptr; - unsigned long offset=0; - unsigned long datalen=0; -#if defined(EXPORTED_KALLSYMS_SYMBOL) - unsigned long token=0; -#endif -#if defined(EXPORTED_KALLSYMS_SYMBOL) || defined(EXPORTED_KALLSYMS_ADDRESS) - int ret; - char *mod_name; - unsigned long mod_start=0; - unsigned long mod_end=0; - char *sec_name; - unsigned long sec_start=0; - unsigned long sec_end=0; - char *sym_name; - unsigned long sym_start=0; - unsigned long sym_end=0; -#endif -#endif /* EXPORTED_SYS_CALL_TABLE */ - + int e; RWLOCK_INIT(&afs_xosi, "afs_xosi"); #if !defined(AFS_LINUX24_ENV) @@ -331,246 +206,11 @@ init_module(void) #endif /* AFS_S390_LINUX22_ENV */ #endif /* !defined(AFS_LINUX24_ENV) */ -#ifndef EXPORTED_SYS_CALL_TABLE - sys_call_table = 0; - -#ifdef EXPORTED_KALLSYMS_SYMBOL - ret = 1; - token = 0; - while (ret) { - sym_start = 0; - ret = - kallsyms_symbol_to_address("sys_call_table", &token, &mod_name, - &mod_start, &mod_end, &sec_name, - &sec_start, &sec_end, &sym_name, - &sym_start, &sym_end); - if (ret && !strcmp(mod_name, "kernel")) - break; - } - if (ret && sym_start) { - sys_call_table = sym_start; - } -#elif defined(EXPORTED_KALLSYMS_ADDRESS) - ret = - kallsyms_address_to_symbol((unsigned long)&init_mm, &mod_name, - &mod_start, &mod_end, &sec_name, - &sec_start, &sec_end, &sym_name, - &sym_start, &sym_end); - ptr = (unsigned long *)sec_start; - datalen = (sec_end - sec_start) / sizeof(unsigned long); -#elif defined(AFS_IA64_LINUX20_ENV) - ptr = (unsigned long *)(&sys_close - 0x180000); - datalen = 0x180000 / sizeof(ptr); -#elif defined(AFS_AMD64_LINUX20_ENV) - ptr = (unsigned long *)&init_mm; - datalen = 0x360000 / sizeof(ptr); -#else - ptr = (unsigned long *)&init_mm; - datalen = 16384; -#endif - for (offset = 0; offset < datalen; ptr++, offset++) { -#if defined(AFS_IA64_LINUX20_ENV) - unsigned long close_ip = - (unsigned long)((struct fptr *)&sys_close)->ip; - unsigned long chdir_ip = - (unsigned long)((struct fptr *)&sys_chdir)->ip; - unsigned long write_ip = - (unsigned long)((struct fptr *)&sys_write)->ip; - if (ptr[0] == close_ip && ptr[__NR_chdir - __NR_close] == chdir_ip - && ptr[__NR_write - __NR_close] == write_ip) { - sys_call_table = (void *)&(ptr[-1 * (__NR_close - 1024)]); - break; - } -#elif 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; - } -#elif defined(EXPORTED_SYS_CHDIR) && defined(EXPORTED_SYS_CLOSE) - if (ptr[0] == (unsigned long)&sys_close - && ptr[__NR_chdir - __NR_close] == (unsigned long)&sys_chdir) { - sys_call_table = ptr - __NR_close; - break; - } -#elif defined(EXPORTED_SYS_OPEN) - if (ptr[0] == (unsigned long)&sys_exit - && ptr[__NR_open - __NR_exit] == (unsigned long)&sys_open) { - sys_call_table = ptr - __NR_exit; - break; - } -#else /* EXPORTED_SYS_OPEN */ - break; -#endif /* EXPORTED_KALLSYMS_ADDRESS */ - } -#ifdef EXPORTED_KALLSYMS_ADDRESS - ret = - kallsyms_address_to_symbol((unsigned long)sys_call_table, &mod_name, - &mod_start, &mod_end, &sec_name, - &sec_start, &sec_end, &sym_name, - &sym_start, &sym_end); - if (ret && strcmp(sym_name, "sys_call_table")) - sys_call_table = 0; -#endif /* EXPORTED_KALLSYMS_ADDRESS */ - if (!sys_call_table) { - printf("Failed to find address of sys_call_table\n"); - } else { - printf("Found sys_call_table at %lx\n", (unsigned long)sys_call_table); -#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) - error cant support this yet.; -#endif /* AFS_SPARC64_LINUX20_ENV */ -#endif /* EXPORTED_SYS_CALL_TABLE */ - -#ifdef AFS_AMD64_LINUX20_ENV -#ifndef EXPORTED_IA32_SYS_CALL_TABLE - ia32_sys_call_table = 0; -#ifdef EXPORTED_KALLSYMS_SYMBOL - ret = 1; - token = 0; - while (ret) { - sym_start = 0; - ret = kallsyms_symbol_to_address("ia32_sys_call_table", &token, - &mod_name, &mod_start, &mod_end, - &sec_name, &sec_start, &sec_end, - &sym_name, &sym_start, &sym_end); - if (ret && !strcmp(mod_name, "kernel")) - break; - } - if (ret && sym_start) { - ia32_sys_call_table = sym_start; - } -#else /* EXPORTED_KALLSYMS_SYMBOL */ -#ifdef EXPORTED_KALLSYMS_ADDRESS - ret = kallsyms_address_to_symbol((unsigned long) - &interruptible_sleep_on, - &mod_name, &mod_start, &mod_end, - &sec_name, &sec_start, &sec_end, - &sym_name, &sym_start, &sym_end); - ptr = (unsigned long *)sec_start; - datalen = (sec_end - sec_start) / sizeof(unsigned long); -#else /* EXPORTED_KALLSYMS_ADDRESS */ -#if defined(AFS_AMD64_LINUX20_ENV) - ptr = (unsigned long *)&interruptible_sleep_on; - datalen = 0x180000 / sizeof(ptr); -#else /* AFS_AMD64_LINUX20_ENV */ - ptr = (unsigned long *)&interruptible_sleep_on; - datalen = 16384; -#endif /* AFS_AMD64_LINUX20_ENV */ -#endif /* EXPORTED_KALLSYMS_ADDRESS */ - for (offset = 0; offset < datalen; ptr++, offset++) { - if (ptr[0] == (unsigned long)&sys_exit - && ptr[__NR_ia32_open - __NR_ia32_exit] == - (unsigned long)&sys_open) { - ia32_sys_call_table = ptr - __NR_ia32_exit; - break; - } - } -#ifdef EXPORTED_KALLSYMS_ADDRESS - ret = kallsyms_address_to_symbol((unsigned long)ia32_sys_call_table, - &mod_name, &mod_start, &mod_end, - &sec_name, &sec_start, &sec_end, - &sym_name, &sym_start, &sym_end); - if (ret && strcmp(sym_name, "ia32_sys_call_table")) - ia32_sys_call_table = 0; -#endif /* EXPORTED_KALLSYMS_ADDRESS */ -#endif /* EXPORTED_KALLSYMS_SYMBOL */ - if (!ia32_sys_call_table) { - printf("Warning: Failed to find address of ia32_sys_call_table\n"); - } else { - printf("Found ia32_sys_call_table at %lx\n", (unsigned long)ia32_sys_call_table); - } -#else - printf("Found ia32_sys_call_table at %lx\n", (unsigned long)ia32_sys_call_table); -#endif /* IA32_SYS_CALL_TABLE */ -#endif - - /* Initialize pointers to kernel syscalls. */ -#if !defined(AFS_LINUX24_ENV) - sys_settimeofdayp = SYSCALL2POINTER sys_call_table[_S(__NR_settimeofday)]; -#endif /* AFS_IA64_LINUX20_ENV */ - - /* setup AFS entry point. */ - if ( -#if defined(AFS_IA64_LINUX20_ENV) - SYSCALL2POINTER sys_call_table[__NR_afs_syscall - 1024] -#else - SYSCALL2POINTER sys_call_table[_S(__NR_afs_syscall)] -#endif - == afs_syscall) { - printf("AFS syscall entry point already in use!\n"); - return -EBUSY; - } -#if defined(AFS_IA64_LINUX20_ENV) - afs_ni_syscall = sys_call_table[__NR_afs_syscall - 1024]; - sys_call_table[__NR_afs_syscall - 1024] = - POINTER2SYSCALL((struct fptr *)afs_syscall_stub)->ip; -#else /* AFS_IA64_LINUX20_ENV */ - afs_ni_syscall = sys_call_table[_S(__NR_afs_syscall)]; - sys_call_table[_S(__NR_afs_syscall)] = POINTER2SYSCALL afs_syscall; -#ifdef AFS_SPARC64_LINUX20_ENV - afs_ni_syscall32 = sys_call_table32[__NR_afs_syscall]; - sys_call_table32[__NR_afs_syscall] = POINTER2SYSCALL afs_syscall32; -#endif -#endif /* AFS_IA64_LINUX20_ENV */ -#ifdef AFS_AMD64_LINUX20_ENV - if (ia32_sys_call_table) { - ia32_ni_syscall = ia32_sys_call_table[__NR_ia32_afs_syscall]; - ia32_sys_call_table[__NR_ia32_afs_syscall] = - POINTER2SYSCALL afs_syscall; - } -#endif /* AFS_S390_LINUX22_ENV */ -#ifndef EXPORTED_SYS_CALL_TABLE - } -#endif /* EXPORTED_SYS_CALL_TABLE */ osi_Init(); - register_filesystem(&afs_fs_type); - - /* Intercept setgroups calls */ - if (sys_call_table) { -#if defined(AFS_IA64_LINUX20_ENV) - sys_setgroupsp = (void *)&sys_setgroups; - - ((struct fptr *)sys_setgroupsp)->ip = - SYSCALL2POINTER sys_call_table[__NR_setgroups - 1024]; - ((struct fptr *)sys_setgroupsp)->gp = kernel_gp; - - sys_call_table[__NR_setgroups - 1024] = - POINTER2SYSCALL((struct fptr *)afs_xsetgroups_stub)->ip; -#else /* AFS_IA64_LINUX20_ENV */ - sys_setgroupsp = SYSCALL2POINTER sys_call_table[_S(__NR_setgroups)]; - sys_call_table[_S(__NR_setgroups)] = POINTER2SYSCALL afs_xsetgroups; -#ifdef AFS_SPARC64_LINUX20_ENV - sys32_setgroupsp = SYSCALL2POINTER sys_call_table32[__NR_setgroups]; - sys_call_table32[__NR_setgroups] = POINTER2SYSCALL afs32_xsetgroups; -#endif /* AFS_SPARC64_LINUX20_ENV */ -#if defined(__NR_setgroups32) - sys_setgroups32p = SYSCALL2POINTER sys_call_table[__NR_setgroups32]; - sys_call_table[__NR_setgroups32] = POINTER2SYSCALL afs_xsetgroups32; -#ifdef AFS_SPARC64_LINUX20_ENV - sys32_setgroups32p = - SYSCALL2POINTER sys_call_table32[__NR_setgroups32]; - sys_call_table32[__NR_setgroups32] = - POINTER2SYSCALL afs32_xsetgroups32; -#endif /* AFS_SPARC64_LINUX20_ENV */ -#endif /* __NR_setgroups32 */ -#ifdef AFS_AMD64_LINUX20_ENV - if (ia32_sys_call_table) { - sys32_setgroupsp = - SYSCALL2POINTER ia32_sys_call_table[__NR_ia32_setgroups]; - ia32_sys_call_table[__NR_ia32_setgroups] = - POINTER2SYSCALL afs32_xsetgroups; -#if defined(__NR_ia32_setgroups32) - sys32_setgroups32p = - SYSCALL2POINTER ia32_sys_call_table[__NR_ia32_setgroups32]; - ia32_sys_call_table[__NR_ia32_setgroups32] = - POINTER2SYSCALL afs32_xsetgroups32; -#endif /* __NR_ia32_setgroups32 */ - } -#endif /* AFS_AMD64_LINUX20_ENV */ -#endif /* AFS_IA64_LINUX20_ENV */ - - } + e = osi_syscall_init(); + if (e) return e; + register_filesystem(&afs_fs_type); osi_sysctl_init(); afsproc_init(); @@ -586,39 +226,7 @@ cleanup_module(void) #endif { osi_sysctl_clean(); - if (sys_call_table) { -#if defined(AFS_IA64_LINUX20_ENV) - sys_call_table[__NR_setgroups - 1024] = - POINTER2SYSCALL((struct fptr *)sys_setgroupsp)->ip; - sys_call_table[__NR_afs_syscall - 1024] = afs_ni_syscall; -#else /* AFS_IA64_LINUX20_ENV */ - sys_call_table[_S(__NR_setgroups)] = POINTER2SYSCALL sys_setgroupsp; - sys_call_table[_S(__NR_afs_syscall)] = afs_ni_syscall; -# ifdef AFS_SPARC64_LINUX20_ENV - sys_call_table32[__NR_setgroups] = POINTER2SYSCALL sys32_setgroupsp; - sys_call_table32[__NR_afs_syscall] = afs_ni_syscall32; -# endif -# if defined(__NR_setgroups32) - sys_call_table[__NR_setgroups32] = POINTER2SYSCALL sys_setgroups32p; -# ifdef AFS_SPARC64_LINUX20_ENV - sys_call_table32[__NR_setgroups32] = - POINTER2SYSCALL sys32_setgroups32p; -# endif -# endif -#endif /* AFS_IA64_LINUX20_ENV */ -#ifdef AFS_AMD64_LINUX20_ENV - if (ia32_sys_call_table) { - ia32_sys_call_table[__NR_ia32_setgroups] = - POINTER2SYSCALL sys32_setgroupsp; - ia32_sys_call_table[__NR_ia32_afs_syscall] = - POINTER2SYSCALL ia32_ni_syscall; -# if defined(__NR_setgroups32) - ia32_sys_call_table[__NR_ia32_setgroups32] = - POINTER2SYSCALL sys32_setgroups32p; -#endif - } -#endif - } + osi_syscall_clean(); unregister_filesystem(&afs_fs_type); osi_linux_free_inode_pages(); /* Invalidate all pages using AFS inodes. */ diff --git a/src/afs/LINUX/osi_probe.c b/src/afs/LINUX/osi_probe.c new file mode 100644 index 000000000..83f3a191d --- /dev/null +++ b/src/afs/LINUX/osi_probe.c @@ -0,0 +1,1225 @@ +/* + * vi:set cin noet sw=4 tw=70: + * Copyright 2004, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + * + * Portions of this code borrowed from arla under the following terms: + * Copyright (c) 2003-2004 Kungliga Tekniska Högskolan + * (Royal Institute of Technology, Stockholm, Sweden). + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * Alternatively, this software may be distributed under the terms of the + * GNU General Public License ("GPL"). + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* Code to find the Linux syscall table */ + +#ifdef OSI_PROBE_STANDALONE +#define OSI_PROBE_DEBUG +#endif +#ifndef OSI_PROBE_STANDALONE +#include +#include "afs/param.h" +#endif +#include /* early to avoid printf->printk mapping */ +#ifndef OSI_PROBE_STANDALONE +#include "afs/sysincludes.h" +#include "afsincludes.h" +#endif +#include +#include +#include +#include +#include +#include + +#ifdef AFS_AMD64_LINUX20_ENV +#include +#endif + +/* number of syscalls */ +/* NB: on MIPS we care about the 4xxx range */ +#ifndef NR_syscalls +#define NR_syscalls 222 +#endif + +/* lower bound of valid kernel text pointers */ +#ifdef AFS_IA64_LINUX20_ENV +#define ktxt_lower_bound (((unsigned long)&kernel_thread ) & 0xfff00000L) +#else +#define ktxt_lower_bound (((unsigned long)&kernel_thread ) & ~0xfffffL) +#endif + +/* On SPARC64 and S390X, sys_call_table contains 32-bit entries + * even though pointers are 64 bit quantities. + */ +#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) +#define SYSCALLTYPE unsigned int +#define PROBETYPE int +#else +#define SYSCALLTYPE void * +#define PROBETYPE long +#endif + +#if defined(AFS_S390X_LINUX20_ENV) && !defined(AFS_S390X_LINUX26_ENV) +#define _SS(x) ((x) << 1) +#define _SX(x) ((x) &~ 1) +#else +#define _SS(x) (x) +#define _SX(x) (x) +#endif + + +/* Allow the user to specify sys_call_table addresses */ +static unsigned long sys_call_table_addr[4] = { 0,0,0,0 }; +MODULE_PARM(sys_call_table_addr, "1-4l"); +MODULE_PARM_DESC(sys_call_table_addr, "Location of system call tables"); + +/* If this is set, we are more careful about avoiding duplicate matches */ +static int probe_carefully = 1; +MODULE_PARM(probe_carefully, "i"); +MODULE_PARM_DESC(probe_carefully, "Probe for system call tables carefully"); + +static int probe_ignore_syscalls[8] = { -1, -1, -1, -1, -1, -1, -1, -1 }; +MODULE_PARM(probe_ignore_syscalls, "1-8i"); +MODULE_PARM_DESC(probe_ignore_syscalls, "Syscalls to ignore in table checks"); + +#ifdef OSI_PROBE_DEBUG +/* + * Debugging flags: + * 0x0001 - General debugging + * 0x0002 - detail - try + * 0x0004 - detail - try_harder + * 0x0008 - detail - check_table + * 0x0010 - detail - check_harder + * 0x0020 - detail - check_harder/zapped + * 0x0040 - automatically ignore setgroups and afs_syscall + */ +static int probe_debug = 0x41; +MODULE_PARM(probe_debug, "i"); +MODULE_PARM_DESC(probe_debug, "Debugging level"); + +static unsigned long probe_debug_addr[4] = { 0,0,0,0 }; +MODULE_PARM(probe_debug_addr, "1-4l"); +MODULE_PARM_DESC(probe_debug_addr, "Debug range starting locations"); + +static unsigned long probe_debug_range = 0; +MODULE_PARM(probe_debug_range, "l"); +MODULE_PARM_DESC(probe_debug_range, "Debug range length"); + +static unsigned long probe_debug_tag = 0; +MODULE_PARM(probe_debug_tag, "l"); +MODULE_PARM_DESC(probe_debug_tag, "Debugging output start tag"); +#endif + + +/* Weak references are our friends. They are supported by the in-kernel + * linker in Linux 2.6 and by all versions of modutils back to 2.2pre1. + * A weak reference not satisified by the kernel will have value zero. + * + * Unfortunately, weak references to functions don't work right on + * IA64; specifically, if you actually try to make a call through + * such a reference, and the symbol doesn't exist in the kernel, then + * the module relocation code will oops. A workaround for this is + * probably possible, but the use of kallsyms_* is of limited value, + * so I'm not bothing with the effort for now. + * -- jhutz, 10-Feb-2005 + */ +#ifdef OSI_PROBE_KALLSYMS +extern int kallsyms_symbol_to_address(char *name, unsigned long *token, + char **mod_name, + unsigned long *mod_start, + unsigned long *mod_end, + char **sec_name, + unsigned long *sec_start, + unsigned long *sec_end, + char **sym_name, + unsigned long *sym_start, + unsigned long *sym_end + ) __attribute__((weak)); + +extern int kallsyms_address_to_symbol(unsigned long address, + char **mod_name, + unsigned long *mod_start, + unsigned long *mod_end, + char **sec_name, + unsigned long *sec_start, + unsigned long *sec_end, + char **sym_name, + unsigned long *sym_start, + unsigned long *sym_end + ) __attribute__((weak)); +#endif + +extern SYSCALLTYPE sys_call_table[] __attribute__((weak)); +extern SYSCALLTYPE ia32_sys_call_table[] __attribute__((weak)); +extern SYSCALLTYPE sys_call_table32[] __attribute__((weak)); +extern SYSCALLTYPE sys_call_table_emu[] __attribute__((weak)); + +extern asmlinkage long sys_close(unsigned int) __attribute__((weak)); +extern asmlinkage long sys_chdir(const char *) __attribute__((weak)); +extern asmlinkage ssize_t sys_write(unsigned int, const char *, size_t) __attribute__((weak)); +#ifdef AFS_LINUX26_ENV +extern asmlinkage long sys_wait4(pid_t, int *, int, struct rusage *) __attribute__((weak)); +#else +extern asmlinkage long sys_wait4(pid_t, unsigned int *, int, struct rusage *) __attribute__((weak)); +#endif +extern asmlinkage long sys_exit (int) __attribute__((weak)); +extern asmlinkage long sys_open (const char *, int, int) __attribute__((weak)); +extern asmlinkage long sys_ioctl(unsigned int, unsigned int, unsigned long) __attribute__((weak)); + + +/* Structures used to control probing. We put all the details of which + * symbols we're interested in, what syscall functions to look for, etc + * into tables, so we can then have a single copy of the functions that + * actually do the work. + */ +typedef struct { + char *name; + int NR1; + void *fn1; + int NR2; + void *fn2; + int NR3; + void *fn3; +} tryctl; + +typedef struct { + char *symbol; /* symbol name */ + char *desc; /* description for messages */ + int offset; /* first syscall number in table */ + + void *weak_answer; /* weak symbol ref */ + void *parm_answer; /* module parameter answer */ + void *debug_answer; /* module parameter answer */ + unsigned long given_answer; /* compiled-in answer, if any */ + + tryctl *trylist; /* array of combinations to try */ + + unsigned long try_sect_sym; /* symbol in section to try scanning */ + unsigned long try_base; /* default base address for scan */ + unsigned long try_base_mask; /* base address bits to force to zero */ + unsigned long try_length; /* default length for scan */ + + int n_zapped_syscalls; /* number of unimplemented system calls */ + int *zapped_syscalls; /* list of unimplemented system calls */ + + int n_unique_syscalls; /* number of unique system calls */ + int *unique_syscalls; /* list of unimplemented system calls */ + + int verifyNR; /* syscall number to verify match */ + void *verify_fn; /* syscall pointer to verify match */ + + int debug_ignore_NR[4]; /* syscalls to ignore for debugging */ +} probectl; + + + +/********** Probing Configuration: sys_call_table **********/ + +/* syscall pairs/triplets to probe */ +/* On PPC64 and SPARC64, we need to omit the ones that might match both tables */ +static tryctl main_try[] = { +#if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV) + { "scan: close+chdir+write", __NR_close, &sys_close, __NR_chdir, &sys_chdir, __NR_write, &sys_write }, +#endif + { "scan: close+wait4", __NR_close, &sys_close, __NR_wait4, &sys_wait4, -1, 0 }, +#if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV) + { "scan: close+chdir", __NR_close, &sys_close, __NR_chdir, &sys_chdir, -1, 0 }, +#endif + { "scan: close+ioctl", __NR_close, &sys_close, __NR_ioctl, &sys_ioctl, -1, 0 }, + { "scan: exit+open", __NR_exit, &sys_exit, __NR_open, &sys_open, -1, 0 }, + { 0 } +}; + +/* zapped syscalls for try_harder */ +/* this list is based on the table in 'zapped_syscalls' */ + +static int main_zapped_syscalls[] = { +/* + * SPARC-Linux uses syscall number mappings chosen to be compatible + * with SunOS. So, it doesn't have any of the traditional calls or + * the new STREAMS ones. However, there are a number of syscalls + * which are SunOS-specific (not implemented on Linux), i386-specific + * (not implemented on SPARC-Linux), or implemented only on one of + * sparc32 or sparc64. Of course, there are no __NR macros for most + * of these. + * + * Note that the calls we list here are implemented by sys_nis_syscall, + * not by sys_ni_syscall. That means we have to exclude all of the + * other entries, or we might get a sys_ni_syscall into the list and + * the test would no longer work. + */ +#if defined(AFS_SPARC64_LINUX20_ENV) + /* mmap2, fstat64, getmsg, putmsg, modify_ldt */ + 56, 63, 151, 152, 218, +#elif defined(AFS_SPARC_LINUX20_ENV) + /* memory_ordering, getmsg, putmsg, unimplemented, modify_ldt */ + 52, 151, 152, 164, 218, +#else /* !AFS_SPARC_LINUX20_ENV */ + +/* + * These 7 syscalls are present in the syscall table on most "older" + * platforms that use the traditional syscall number mappings. They + * are not implemented on any platform. + */ +#ifdef __NR_break + __NR_break, +#endif +#ifdef __NR_stty + __NR_stty, +#endif +#ifdef __NR_gtty + __NR_gtty, +#endif +#ifdef __NR_ftime + __NR_ftime, +#endif +#ifdef __NR_prof + __NR_prof, +#endif +#ifdef __NR_lock + __NR_lock, +#endif +#ifdef __NR_mpx + __NR_mpx, +#endif +/* + * On s390 and arm (but not arm26), the seven traditional unimplemented + * system calls are indeed present and unimplemented. However, the + * corresponding __NR macros are not defined, so the tests above fail. + * Instead, we just have to know the numbers for these. + */ +#if defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + /* break, stty, gtty, ftime, prof, lock, mpx */ + 17, 31, 32, 35, 44, 53, 56, +#endif + +/* + * Sadly, some newer platforms like IA64, amd64, and PA-RISC don't have + * the traditional numbers, so the list above are not helpful. They + * do have entries for getpmsg/putpmsg, which are always unimplemented. + */ +#ifdef __NR_getpmsg + __NR_getpmsg, +#endif +#ifdef __NR_putpmsg + __NR_putpmsg, +#endif + +/* + * The module-loading mechanism changed in Linux 2.6, and insmod's + * loss is our gain: three new unimplemented system calls! + */ +#if defined(AFS_LINUX26_ENV) +#ifdef __NR_ + __NR_create_module, +#endif +#ifdef __NR_query_module + __NR_query_module, +#endif +#ifdef __NR_get_kernel_syms + __NR_get_kernel_syms, +#endif +#endif /* AFS_LINUX26_ENV */ + +/* + * On IA64, the old module-loading calls are indeed present and + * unimplemented, but the __NR macros are not defined. Again, + * we simply have to know their numbers. + */ +#ifdef AFS_IA64_LINUX26_ENV + /* create_module, query_module, get_kernel_sysms */ + 1132, 1136, 1135, +#endif + +/* And the same deal for arm (not arm26), if we ever support that. */ +#if 0 + /* create_module, query_module, get_kernel_sysms */ + 127, 167, 130, +#endif + +/* + * Alpha-Linux uses syscall number mappings chosen to be compatible + * with OSF/1. So, it doesn't have any of the traditional calls or + * the new STREAMS ones, but it does have several OSF/1-specific + * syscalls which are not implemented on Linux. These don't exist on + * any other platform. + */ +#ifdef __NR_osf_syscall + __NR_osf_syscall, +#endif +#ifdef __NR_osf_profil + __NR_osf_profil, +#endif +#ifdef __NR_osf_reboot + __NR_osf_reboot, +#endif +#ifdef __NR_osf_kmodcall + __NR_osf_kmodcall, +#endif +#ifdef __NR_osf_old_vtrace + __NR_osf_old_vtrace, +#endif + +/* + * On PPC64, we need a couple more entries to distinguish the two + * tables, since the system call numbers are the same and the sets of + * unimplemented calls are very similar. + * mmap2 and fstat64 are implemented only for 32-bit calls + */ +#ifdef AFS_PPC64_LINUX20_ENV + __NR_mmap2, + __NR_fstat64, +#endif /* AFS_PPC64_LINUX20_ENV */ + +/* Similarly for S390X, with lcown16 and fstat64 */ +#ifdef AFS_S390X_LINUX20_ENV + /* lchown16, fstat64 */ + 16, 197, +#endif +#endif /* !AFS_SPARC_LINUX20_ENV */ + 0 +}; + +/* unique syscalls for try_harder */ +static int main_unique_syscalls[] = { +#if defined(AFS_SPARC64_LINUX24_ENV) || defined(AFS_SPARC_LINUX24_ENV) + /* + * On SPARC, we need some additional unique calls to make sure + * we don't match the SunOS-compatibility table. + */ + __NR_sgetmask, __NR_ssetmask, +#endif + __NR_exit, __NR_mount, __NR_read, __NR_write, + __NR_open, __NR_close, __NR_unlink +}; + +/* probe control structure */ +static probectl main_probe = { + /* symbol name and description */ + "sys_call_table", + "system call table", + + /* syscall number of first entry in table */ +#ifdef AFS_IA64_LINUX20_ENV + 1024, +#else + 0, +#endif + + sys_call_table, /* weak symbol ref */ + 0, 0, /* module parameter answers */ +#ifdef AFS_LINUX_sys_call_table + AFS_LINUX_sys_call_table, /* compiled-in answer, if any */ +#else + 0, +#endif + + main_try, /* array of combinations to try */ + + /* symbol in section to try scanning */ +#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + (unsigned long)&sys_close, +#elif defined(AFS_AMD64_LINUX20_ENV) + /* On this platform, it's in a different section! */ + (unsigned long)&tasklist_lock, +#else + (unsigned long)&init_mm, +#endif + + /* default base address for scan */ + /* base address bits to force to zero */ + /* default length for scan */ +#if defined(AFS_SPARC64_LINUX20_ENV) + (unsigned long)(&sys_close), + 0xfffff, + 0x10000, +#elif defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + /* bleah; this is so suboptimal */ + (unsigned long)(&sys_close), + 0xfffff, + 0x20000, +#elif defined(AFS_IA64_LINUX20_ENV) + (unsigned long)(&init_mm), + 0x1fffff, + 0x30000, +#elif defined(AFS_AMD64_LINUX20_ENV) + (unsigned long)(&tasklist_lock) - 0x30000, + 0, + 0x6000, +#elif defined(AFS_PPC_LINUX20_ENV) || defined(AFS_PPC_LINUX20_ENV) + (unsigned long)&init_mm, + 0xffff, + 16384, +#else + (unsigned long)&init_mm, + 0, + 16384, +#endif + + /* number and list of unimplemented system calls */ + ((sizeof(main_zapped_syscalls)/sizeof(main_zapped_syscalls[0])) - 1), + main_zapped_syscalls, + + /* number and list of unique system calls */ + (sizeof(main_unique_syscalls)/sizeof(main_unique_syscalls[0])), + main_unique_syscalls, + + /* syscall number and pointer to verify match */ + __NR_close, &sys_close, + + /* syscalls to ignore for debugging */ + { +#if defined(AFS_ALPHA_LINUX20_ENV) + 338, +#elif defined(AFS_AMD64_LINUX20_ENV) + 183, +#elif defined(AFS_IA64_LINUX20_ENV) + 1141, +#elif defined(AFS_SPARC_LINUX20_ENV) || defined(AFS_SPARC64_LINUX20_ENV) + 227, +#else + 137, +#endif + __NR_setgroups, +#ifdef __NR_setgroups32 + __NR_setgroups32, +#else + -1, +#endif + -1, + } +}; + + +/********** Probing Configuration: amd64 ia32_sys_call_table **********/ +#if defined(AFS_AMD64_LINUX20_ENV) + +/* syscall pairs/triplets to probe */ +static tryctl ia32_try[] = { + { "scan: close+chdir+write", __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir, __NR_ia32_write, &sys_write }, + { "scan: close+chdir", __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir, -1, 0 }, + { 0 } +}; + +/* zapped syscalls for try_harder */ +static int ia32_zapped_syscalls[] = { + __NR_ia32_break, __NR_ia32_stty, __NR_ia32_gtty, __NR_ia32_ftime, + __NR_ia32_prof, __NR_ia32_lock, __NR_ia32_mpx, + 0 +}; + +/* unique syscalls for try_harder */ +static int ia32_unique_syscalls[] = { + __NR_ia32_exit, __NR_ia32_mount, __NR_ia32_read, __NR_ia32_write, + __NR_ia32_open, __NR_ia32_close, __NR_ia32_unlink +}; + +/* probe control structure */ +static probectl ia32_probe = { + /* symbol name and description */ + "ia32_sys_call_table", + "32-bit system call table", + + /* syscall number of first entry in table */ + 0, + + ia32_sys_call_table, /* weak symbol ref */ + 0, 0, /* module parameter answers */ +#ifdef AFS_LINUX_ia32_sys_call_table + AFS_LINUX_ia32_sys_call_table,/* compiled-in answer, if any */ +#else + 0, +#endif + + ia32_try, /* array of combinations to try */ + + /* symbol in section to try scanning */ + (unsigned long)&init_mm, + + /* default base address for scan */ + /* base address bits to force to zero */ + /* default length for scan */ + (unsigned long)&init_mm, + 0, + (0x180000 / sizeof(unsigned long *)), + + /* number and list of unimplemented system calls */ + ((sizeof(ia32_zapped_syscalls)/sizeof(ia32_zapped_syscalls[0])) - 1), + ia32_zapped_syscalls, + + /* number and list of unique system calls */ + (sizeof(ia32_unique_syscalls)/sizeof(ia32_unique_syscalls[0])), + ia32_unique_syscalls, + + /* syscall number and pointer to verify match */ + __NR_ia32_close, &sys_close, + + /* syscalls to ignore for debugging */ + { + 137, + __NR_ia32_setgroups, + __NR_ia32_setgroups32, + -1, + } +}; + +static probectl *probe_list[] = { + &main_probe, &ia32_probe +}; + + +/********** Probing Configuration: IA64 **********/ +#elif defined(AFS_IA64_LINUX20_ENV) +struct fptr { + void *ip; + unsigned long gp; +}; + +/* no 32-bit support on IA64 for now */ +static probectl *probe_list[] = { + &main_probe +}; + + +/********** Probing Configuration: ppc64, sparc64 sys_call_table32 **********/ +#elif defined(AFS_PPC64_LINUX20_ENV) || defined(AFS_SPARC64_LINUX20_ENV) + +/* + * syscall pairs/triplets to probe + * This has to be empty, because anything that would work will + * also match the main table, and that's no good. + */ +static tryctl sct32_try[] = { + { 0 } +}; + +/* zapped syscalls for try_harder */ +static int sct32_zapped_syscalls[] = { +#ifdef AFS_PPC64_LINUX20_ENV + /* These should be sufficient */ + __NR_break, __NR_stty, __NR_gtty, __NR_ftime, + __NR_prof, __NR_lock, __NR_mpx, +#endif +#ifdef AFS_SPARC64_LINUX20_ENV + /* memory_ordering, getmsg, putmsg, unimplemented, modify_ldt */ + 52, 151, 152, 164, 218, +#endif + 0 +}; + +/* unique syscalls for try_harder */ +/* mmap2 and fstat64 are implemented only for 32-bit calls */ +static int sct32_unique_syscalls[] = { +#ifdef AFS_PPC64_LINUX20_ENV + __NR_mmap2, __NR_fstat64, +#endif +#ifdef AFS_SPARC64_LINUX24_ENV + /* + * On SPARC, we need some additional unique calls to make sure + * we don't match the SunOS-compatibility table. + */ + __NR_sgetmask, __NR_ssetmask, +#endif + __NR_exit, __NR_mount, __NR_read, __NR_write, + __NR_open, __NR_close, __NR_unlink +}; + +/* probe control structure */ +static probectl sct32_probe = { + /* symbol name and description */ + "sys_call_table32", + "32-bit system call table", + + /* syscall number of first entry in table */ + 0, + + sys_call_table32, /* weak symbol ref */ + 0, 0, /* module parameter answers */ +#ifdef AFS_LINUX_sys_call_table32 + AFS_LINUX_sys_call_table32, /* compiled-in answer, if any */ +#else + 0, +#endif + + sct32_try, /* array of combinations to try */ + + /* symbol in section to try scanning */ +#if defined(AFS_SPARC64_LINUX20_ENV) + (unsigned long)&sys_close, +#else + (unsigned long)&init_mm, +#endif + + /* default base address for scan */ + /* base address bits to force to zero */ + /* default length for scan */ +#if defined(AFS_SPARC64_LINUX20_ENV) + (unsigned long)(&sys_close), + 0xfffff, + 0x10000, +#else + (unsigned long)&init_mm, + 0, + 16384, +#endif + + /* number and list of unimplemented system calls */ + ((sizeof(sct32_zapped_syscalls)/sizeof(sct32_zapped_syscalls[0])) - 1), + sct32_zapped_syscalls, + + /* number and list of unique system calls */ + (sizeof(sct32_unique_syscalls)/sizeof(sct32_unique_syscalls[0])), + sct32_unique_syscalls, + + /* syscall number and pointer to verify match */ + __NR_close, &sys_close, + + /* syscalls to ignore for debugging */ + { +#if defined(AFS_SPARC64_LINUX20_ENV) + 227, +#else + 137, +#endif + __NR_setgroups, + -1, + -1, + } +}; + +static probectl *probe_list[] = { + &main_probe, &sct32_probe +}; + + +/********** Probing Configuration: s390x sys_call_table_emu **********/ +/* We only actually need to do this on s390x_linux26 and later. + * On earlier versions, the two tables were interleaved and so + * have related base addresses. + */ +#elif defined(AFS_S390X_LINUX26_ENV) + +/* syscall pairs/triplets to probe */ +/* nothing worthwhile is exported, so this is empty */ +static tryctl emu_try[] = { + { 0 } +}; + +/* zapped syscalls for try_harder */ +static int emu_zapped_syscalls[] = { + /* break, stty, gtty, ftime, prof, lock, mpx */ + 17, 31, 32, 35, 44, 53, 56, + 0 +}; + +/* unique syscalls for try_harder */ +static int emu_unique_syscalls[] = { + /* lchown16, fstat64 */ + 16, 197, + __NR_exit, __NR_mount, __NR_read, __NR_write, + __NR_open, __NR_close, __NR_unlink +}; + +/* probe control structure */ +static probectl emu_probe = { + /* symbol name and description */ + "sys_call_table_emu", + "32-bit system call table", + + /* syscall number of first entry in table */ + 0, + + sys_call_table_emu, /* weak symbol ref */ + 0, 0, /* module parameter answers */ +#ifdef AFS_LINUX_sys_call_table_emu + AFS_LINUX_sys_call_table_emu, /* compiled-in answer, if any */ +#else + 0, +#endif + + emu_try, /* array of combinations to try */ + + /* symbol in section to try scanning */ + (unsigned long)&sys_close, + + /* default base address for scan */ + /* base address bits to force to zero */ + /* default length for scan */ + (unsigned long)&sys_close, + 0xfffff, + 0x20000, + + /* number and list of unimplemented system calls */ + ((sizeof(emu_zapped_syscalls)/sizeof(emu_zapped_syscalls[0])) - 1), + emu_zapped_syscalls, + + /* number and list of unique system calls */ + (sizeof(emu_unique_syscalls)/sizeof(emu_unique_syscalls[0])), + emu_unique_syscalls, + + /* syscall number and pointer to verify match */ + __NR_close, &sys_close, + + /* syscalls to ignore for debugging */ + { + 137, + __NR_setgroups, + -1, + -1, + } +}; + +static probectl *probe_list[] = { + &main_probe, &emu_probe +}; + + +/********** End of Probing Configuration **********/ + +#else /* no per-platform probe control, so use the default list */ +static probectl *probe_list[] = { + &main_probe +}; +#endif + +#define N_PROBE_LIST (sizeof(probe_list) / sizeof(*probe_list)) +#define DEBUG_IN_RANGE(P,x) (!probe_debug_range || \ + (P->debug_answer && \ + (unsigned long)(x) >= (unsigned long)P->debug_answer && \ + (unsigned long)(x) < (unsigned long)P->debug_answer + probe_debug_range)) + + + +static int check_table(probectl *P, PROBETYPE *ptr) +{ + PROBETYPE *x; + int i, j; + + for (x = ptr, i = 0; i < _SS(NR_syscalls); i++, x++) { +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0040) { + for (j = 0; j < 4; j++) { + if (_SS(P->debug_ignore_NR[j]) == _SX(i + P->offset)) break; + } + if (j < 4) continue; + } +#endif + for (j = 0; j < 8; j++) { + if (_SS(probe_ignore_syscalls[j]) == _SX(i) + P->offset) break; + } + if (j < 8) continue; + if (*x <= ktxt_lower_bound) { +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0008) && DEBUG_IN_RANGE(P,ptr)) + printk("<7>check 0x%lx -> %d [0x%lx]\n", + (unsigned long)ptr, i, (unsigned long)*x); +#endif + return i; + } + } +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0008) && DEBUG_IN_RANGE(P,ptr)) + printk("<7>check 0x%lx -> ok\n", (unsigned long)ptr); +#endif + return -1; +} + +static void *try(probectl *P, tryctl *T, PROBETYPE *ptr, + unsigned long datalen) +{ +#ifdef OSI_PROBE_KALLSYMS + char *mod_name, *sec_name, *sym_name; + unsigned long mod_start, mod_end; + unsigned long sec_start, sec_end; + unsigned long sym_start, sym_end; +#endif + unsigned long offset, ip1, ip2, ip3; + int ret; + +#ifdef AFS_IA64_LINUX20_ENV + ip1 = T->fn1 ? (unsigned long)((struct fptr *)T->fn1)->ip : 0; + ip2 = T->fn2 ? (unsigned long)((struct fptr *)T->fn2)->ip : 0; + ip3 = T->fn3 ? (unsigned long)((struct fptr *)T->fn3)->ip : 0; +#else + ip1 = (unsigned long)T->fn1; + ip2 = (unsigned long)T->fn2; + ip3 = (unsigned long)T->fn3; +#endif + +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0001) + printk("<7>osi_probe: %s %s (%d->0x%lx, %d->0x%lx, %d->0x%lx)\n", + P->symbol, T->name, T->NR1, ip1, T->NR2, ip2, T->NR3, ip3); +#endif + + if (!ip1 || !ip2 || (T->NR3 >= 0 && !ip3)) + return 0; + + for (offset = 0; offset < datalen; offset++, ptr++) { + ret = check_table(P, ptr); + if (ret >= 0) { + /* return value is number of entries to skip */ + ptr += ret; + offset += ret; + continue; + } + +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0002) && DEBUG_IN_RANGE(P,ptr)) + printk("<7>try 0x%lx\n", (unsigned long)ptr); +#endif + if (ptr[_SS(T->NR1 - P->offset)] != ip1) continue; + if (ptr[_SS(T->NR2 - P->offset)] != ip2) continue; + if (ip3 && ptr[_SS(T->NR3 - P->offset)] != ip3) continue; + +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0002) + printk("<7>try found 0x%lx\n", (unsigned long)ptr); +#endif +#ifdef OSI_PROBE_KALLSYMS + if (kallsyms_address_to_symbol) { + ret = kallsyms_address_to_symbol((unsigned long)ptr, + &mod_name, &mod_start, &mod_end, + &sec_name, &sec_start, &sec_end, + &sym_name, &sym_start, &sym_end); + if (!ret || strcmp(sym_name, P->symbol)) continue; + } +#endif + /* XXX should we make sure there is only one match? */ + return (void *)ptr; + } + return 0; +} + + +static int check_harder(probectl *P, PROBETYPE *p) +{ + unsigned long ip1; + int i, s; + + /* Check zapped syscalls */ + for (i = 1; i < P->n_zapped_syscalls; i++) { + if (p[_SS(P->zapped_syscalls[i])] != p[_SS(P->zapped_syscalls[0])]) { +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0020) && DEBUG_IN_RANGE(P,p)) + printk("<7>check_harder 0x%lx zapped failed i=%d\n", (unsigned long)p, i); +#endif + return 0; + } + } + + /* Check unique syscalls */ + for (i = 0; i < P->n_unique_syscalls; i++) { + for (s = 0; s < NR_syscalls; s++) { + if (p[_SS(s)] == p[_SS(P->unique_syscalls[i])] + && s != P->unique_syscalls[i]) { +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0010) && DEBUG_IN_RANGE(P,p)) + printk("<7>check_harder 0x%lx unique failed i=%d s=%d\n", (unsigned long)p, i, s); +#endif + return 0; + } + } + } + +#ifdef AFS_IA64_LINUX20_ENV + ip1 = P->verify_fn ? (unsigned long)((struct fptr *)(P->verify_fn))->ip : 0; +#else + ip1 = (unsigned long)(P->verify_fn); +#endif + + if (ip1 && p[_SS(P->verifyNR - P->offset)] != ip1) { +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0010) && DEBUG_IN_RANGE(P,p)) + printk("<7>check_harder 0x%lx verify failed\n", (unsigned long)p); +#endif + return 0; + } + +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0010) && DEBUG_IN_RANGE(P,p)) + printk("<7>check_harder 0x%lx success!\n", (unsigned long)p); +#endif + return 1; +} + +static void *try_harder(probectl *P, PROBETYPE *ptr, unsigned long datalen) +{ +#ifdef OSI_PROBE_KALLSYMS + char *mod_name, *sec_name, *sym_name; + unsigned long mod_start, mod_end; + unsigned long sec_start, sec_end; + unsigned long sym_start, sym_end; +#endif + unsigned long offset; + void *match = 0; + int ret; + +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0001) + printk("<7>osi_probe: %s try_harder\n", P->symbol); +#endif + for (offset = 0; offset < datalen; offset++, ptr++) { + ret = check_table(P, ptr); + if (ret >= 0) { + /* return value is number of entries to skip */ + ptr += ret; + offset += ret; + continue; + } + +#ifdef OSI_PROBE_DEBUG + if ((probe_debug & 0x0004) && DEBUG_IN_RANGE(P,ptr)) + printk("<7>try_harder 0x%lx\n", (unsigned long)ptr); +#endif + if (!check_harder(P, ptr)) + continue; + +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0004) + printk("<7>try_harder found 0x%lx\n", (unsigned long)ptr); +#endif + +#ifdef OSI_PROBE_KALLSYMS + if (kallsyms_address_to_symbol) { + ret = kallsyms_address_to_symbol((unsigned long)ptr, + &mod_name, &mod_start, &mod_end, + &sec_name, &sec_start, &sec_end, + &sym_name, &sym_start, &sym_end); + if (!ret || strcmp(sym_name, P->symbol)) continue; + } +#endif + + if (match) { +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0005) + printk("<7>%s: try_harder found multiple matches!\n", P->symbol); +#endif + return 0; + } + + match = (void *)ptr; + if (!probe_carefully) + break; + } + return match; +} + + +#ifdef OSI_PROBE_DEBUG +#define check_result(x,m) do { \ + if (probe_debug & 0x0001) { \ + printk("<7>osi_probe: %s = 0x%016lx %s\n", P->symbol, (unsigned long)(x), (m)); \ + } \ + if ((x)) { \ + *method = (m); \ + final_answer = (void *)(x); \ + } \ +} while (0) +#else +#define check_result(x,m) do { \ + if ((x)) { \ + *method = (m); \ + return (void *)(x); \ + } \ +} while (0) +#endif +static void *do_find_syscall_table(probectl *P, char **method) +{ +#ifdef OSI_PROBE_KALLSYMS + char *mod_name, *sec_name, *sym_name; + unsigned long mod_start, mod_end; + unsigned long sec_start, sec_end; + unsigned long sym_start, sym_end; + unsigned long token; + int ret; +#endif + PROBETYPE *B; + unsigned long L; + tryctl *T; + void *answer; +#if defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + void *answer2; +#endif +#ifdef OSI_PROBE_DEBUG + void *final_answer = 0; +#endif + + *method = "not found"; + + /* if it's exported, there's nothing to do */ + check_result(P->weak_answer, "exported"); + + /* ask the kernel to do the name lookup, if it's willing */ +#ifdef OSI_PROBE_KALLSYMS + if (kallsyms_symbol_to_address) { + token = 0; + sym_start = 0; + do { + ret = kallsyms_symbol_to_address(P->symbol, &token, + &mod_name, &mod_start, &mod_end, + &sec_name, &sec_start, &sec_end, + &sym_name, &sym_start, &sym_end); + if (ret && !strcmp(mod_name, "kernel") && sym_start) + break; + sym_start = 0; + } while (ret); + check_result(sym_start, "kallsyms_symbol_to_address"); + } +#endif + + /* Maybe a little birdie told us */ + check_result(P->parm_answer, "module parameter"); + check_result(P->given_answer, "compiled-in"); + + /* OK, so we have to scan. */ + B = (PROBETYPE *)((P->try_base) & ~(P->try_base_mask)); + L = P->try_length; + /* Now, see if the kernel will tell us something better than the default */ +#ifdef OSI_PROBE_KALLSYMS + if (kallsyms_address_to_symbol) { + ret = kallsyms_address_to_symbol(P->try_sect_sym, + &mod_name, &mod_start, &mod_end, + &sec_name, &sec_start, &sec_end, + &sym_name, &sym_start, &sym_end); + if (ret) { + B = (PROBETYPE *)sec_start; + L = (sec_end - sec_start) / sizeof(unsigned long); + } + } +#endif + +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0007) + printk("<7>osi_probe: %s base=0x%lx, len=0x%lx\n", + P->symbol, (unsigned long)B, L); + if (probe_debug & 0x0009) { + printk("<7>osi_probe: %s ktxt_lower_bound=0x%lx\n", + P->symbol, ktxt_lower_bound); + printk("<7>osi_probe: %s NR_syscalls=%d\n", + P->symbol, NR_syscalls); + } +#endif + + for (T = P->trylist; T->name; T++) { + answer = try(P, T, B, L); +#if defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + answer2 = try(P, T, (PROBETYPE *)(2 + (void *)B), L); +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0003) { + printk("<7>osi_probe: %s = 0x%016lx %s (even)\n", + P->symbol, (unsigned long)(answer), T->name); + printk("<7>osi_probe: %s = 0x%016lx %s (odd)\n", + P->symbol, (unsigned long)(answer2), T->name); + } +#endif + if (answer && answer2) answer = 0; + else if (answer2) answer = answer2; +#endif + check_result(answer, T->name); + } + + /* XXX more checks here */ + + answer = try_harder(P, B, L); +#if defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV) + answer2 = try_harder(P, (PROBETYPE *)(2 + (void *)B), L); +#ifdef OSI_PROBE_DEBUG + if (probe_debug & 0x0005) { + printk("<7>osi_probe: %s = 0x%016lx pattern scan (even)\n", + P->symbol, (unsigned long)(answer)); + printk("<7>osi_probe: %s = 0x%016lx pattern scan (odd)\n", + P->symbol, (unsigned long)(answer2)); + } +#endif + if (answer && answer2) answer = 0; + else if (answer2) answer = answer2; +#endif + check_result(answer, "pattern scan"); + +#ifdef OSI_PROBE_DEBUG + return final_answer; +#else + return 0; +#endif +} + +void *osi_find_syscall_table(int which) +{ + probectl *P; + void *answer; + char *method; + + if (which < 0 || which >= N_PROBE_LIST) { + printk("error - afs_find_syscall_table called with invalid index!\n"); + return 0; + } + P = probe_list[which]; + if (which < 4) { + P->parm_answer = (void *)sys_call_table_addr[which]; +#ifdef OSI_PROBE_DEBUG + P->debug_answer = (void *)probe_debug_addr[which]; +#endif + } + answer = do_find_syscall_table(P, &method); + if (!answer) { + printk("Warning: failed to find address of %s\n", P->desc); + printk("System call hooks will not be installed; proceeding anyway\n"); + return 0; + } + printk("Found %s at 0x%lx (%s)\n", P->desc, (unsigned long)answer, method); + return answer; +} + + +#ifdef OSI_PROBE_STANDALONE +int __init osi_probe_init(void) +{ + int i; + + if (!probe_debug_tag) probe_debug_tag = jiffies; + printk("*** osi_probe %ld debug = 0x%04x ***\n", + probe_debug_tag, probe_debug); + for (i = 0; i < N_PROBE_LIST; i++) + (void)osi_find_syscall_table(i); + return 0; +} + +void osi_probe_exit(void) { } + +module_init(osi_probe_init); +module_exit(osi_probe_exit); +#endif diff --git a/src/afs/LINUX/osi_prototypes.h b/src/afs/LINUX/osi_prototypes.h index 3174826f9..05effc3b1 100644 --- a/src/afs/LINUX/osi_prototypes.h +++ b/src/afs/LINUX/osi_prototypes.h @@ -41,6 +41,13 @@ extern void afs_osi_SetTime(osi_timeval_t * tvp); extern void osi_linux_free_inode_pages(void); extern void check_bad_parent(struct dentry *dp); +/* osi_probe.c */ +extern void *osi_find_syscall_table(int which); + +/* osi_syscall.c */ +extern int osi_syscall_init(void); +extern void osi_syscall_clean(void); + /* osi_sysctl.c */ extern int osi_sysctl_init(void); extern void osi_sysctl_clean(void); diff --git a/src/afs/LINUX/osi_syscall.c b/src/afs/LINUX/osi_syscall.c new file mode 100644 index 000000000..061df4249 --- /dev/null +++ b/src/afs/LINUX/osi_syscall.c @@ -0,0 +1,433 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +/* + * Linux module support routines. + * + */ +#include +#include "afs/param.h" + +RCSID + ("$Header: /cvs/openafs/src/afs/LINUX/osi_syscall.c,v 1.1.2.2 2005/02/21 01:15:35 shadow Exp $"); + +#include /* early to avoid printf->printk mapping */ +#include "afs/sysincludes.h" +#include "afsincludes.h" +#include "h/unistd.h" /* For syscall numbers. */ +#include "h/mm.h" + +#ifdef AFS_AMD64_LINUX20_ENV +#include "../asm/ia32_unistd.h" +#endif + +#include +#include +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#include +#include +#endif + + +/* On SPARC64 and S390X, sys_call_table contains 32-bit entries + * even though pointers are 64 bit quantities. + * XXX unify this with osi_probe.c + */ +#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390X_LINUX24_ENV) +#define SYSCALLTYPE unsigned int +#define POINTER2SYSCALL (unsigned int)(unsigned long) +#define SYSCALL2POINTER (void *)(long) +#else +#define SYSCALLTYPE void * +#define POINTER2SYSCALL (void *) +#define SYSCALL2POINTER (void *) +#endif + +#if defined(AFS_S390X_LINUX24_ENV) && !defined(AFS_LINUX26_ENV) +#define _S(x) ((x)<<1) +#elif defined(AFS_IA64_LINUX20_ENV) +#define _S(x) ((x)-1024) +#else +#define _S(x) x +#endif + + +/***** ALL PLATFORMS *****/ +extern asmlinkage long +afs_syscall(long syscall, long parm1, long parm2, long parm3, long parm4); + +static SYSCALLTYPE *afs_sys_call_table; +static SYSCALLTYPE afs_ni_syscall = 0; + +extern long afs_xsetgroups(); +asmlinkage long (*sys_setgroupsp) (int gidsetsize, gid_t * grouplist); + +#ifdef AFS_LINUX24_ENV +extern int afs_xsetgroups32(); +asmlinkage int (*sys_setgroups32p) (int gidsetsize, + __kernel_gid32_t * grouplist); +#endif + +#if !defined(AFS_LINUX24_ENV) +asmlinkage int (*sys_settimeofdayp) (struct timeval * tv, struct timezone * tz); +#endif + + +/***** AMD64 *****/ +#ifdef AFS_AMD64_LINUX20_ENV +static SYSCALLTYPE *afs_ia32_sys_call_table; +static SYSCALLTYPE ia32_ni_syscall = 0; + +extern int afs32_xsetgroups(); +asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); +#ifdef AFS_LINUX24_ENV +extern int afs32_xsetgroups32(); +asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); +#endif /* __NR_ia32_setgroups32 */ +#endif /* AFS_AMD64_LINUX20_ENV */ + + +/***** PPC64 *****/ +#ifdef AFS_PPC64_LINUX20_ENV +extern SYSCALLTYPE *afs_sys_call_table32; +static SYSCALLTYPE afs_ni_syscall32 = 0; + +extern int afs32_xsetgroups(); +asmlinkage long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); +#endif /* AFS_AMD64_LINUX20_ENV */ + + +/***** SPARC64 *****/ +#ifdef AFS_SPARC64_LINUX20_ENV +extern SYSCALLTYPE *afs_sys_call_table32; +static SYSCALLTYPE afs_ni_syscall32 = 0; + +extern int afs32_xsetgroups(); +asmlinkage int (*sys32_setgroupsp) (int gidsetsize, + __kernel_gid_t32 * grouplist); +#ifdef AFS_LINUX24_ENV +/* This number is not exported for some bizarre reason. */ +#define __NR_setgroups32 82 +extern int afs32_xsetgroups32(); +asmlinkage int (*sys32_setgroups32p) (int gidsetsize, + __kernel_gid_t32 * grouplist); +#endif + +asmlinkage int +afs_syscall32(long syscall, long parm1, long parm2, long parm3, long parm4, + long parm5) +{ + __asm__ __volatile__("srl %o4, 0, %o4\n\t" + "mov %o7, %i7\n\t" + "call afs_syscall\n\t" + "srl %o5, 0, %o5\n\t" + "ret\n\t" + "nop"); +} +#endif /* AFS_SPARC64_LINUX20_ENV */ + + +/***** IA64 *****/ +#ifdef AFS_IA64_LINUX20_ENV + +asmlinkage long +afs_syscall_stub(int r0, int r1, long r2, long r3, long r4, long gp) +{ + __asm__ __volatile__("alloc r42 = ar.pfs, 8, 3, 6, 0\n\t" + "mov r41 = b0\n\t" /* save rp */ + "mov out0 = in0\n\t" + "mov out1 = in1\n\t" + "mov out2 = in2\n\t" + "mov out3 = in3\n\t" + "mov out4 = in4\n\t" + "mov out5 = gp\n\t" /* save gp */ + ";;\n" + ".L1:\n\t" + "mov r3 = ip\n\t" + ";;\n\t" + "addl r15=.fptr_afs_syscall-.L1,r3\n\t" + ";;\n\t" + "ld8 r15=[r15]\n\t" + ";;\n\t" + "ld8 r16=[r15],8\n\t" + ";;\n\t" + "ld8 gp=[r15]\n\t" + "mov b6=r16\n\t" + "br.call.sptk.many b0 = b6\n\t" + ";;\n\t" + "mov ar.pfs = r42\n\t" + "mov b0 = r41\n\t" + "mov gp = r48\n\t" /* restore gp */ + "br.ret.sptk.many b0\n" + ".fptr_afs_syscall:\n\t" + "data8 @fptr(afs_syscall)\n\t" + ".skip 8"); +} + +asmlinkage long +afs_xsetgroups_stub(int r0, int r1, long r2, long r3, long r4, long gp) +{ + __asm__ __volatile__("alloc r42 = ar.pfs, 8, 3, 6, 0\n\t" + "mov r41 = b0\n\t" /* save rp */ + "mov out0 = in0\n\t" + "mov out1 = in1\n\t" + "mov out2 = in2\n\t" + "mov out3 = in3\n\t" + "mov out4 = in4\n\t" + "mov out5 = gp\n\t" /* save gp */ + ";;\n" + ".L2:\n\t" + "mov r3 = ip\n\t" + ";;\n\t" + "addl r15=.fptr_afs_xsetgroups - .L2,r3\n\t" + ";;\n\t" + "ld8 r15=[r15]\n\t" + ";;\n\t" + "ld8 r16=[r15],8\n\t" + ";;\n\t" + "ld8 gp=[r15]\n\t" + "mov b6=r16\n\t" + "br.call.sptk.many b0 = b6\n\t" + ";;\n\t" + "mov ar.pfs = r42\n\t" + "mov b0 = r41\n\t" + "mov gp = r48\n\t" /* restore gp */ + "br.ret.sptk.many b0\n" + ".fptr_afs_xsetgroups:\n\t" + "data8 @fptr(afs_xsetgroups)\n\t" + ".skip 8"); +} + +struct fptr { + void *ip; + unsigned long gp; +}; + +#endif /* AFS_IA64_LINUX20_ENV */ + + + +/**********************************************************************/ +/********************* System Call Initialization *********************/ +/**********************************************************************/ + +int osi_syscall_init(void) +{ +/***** IA64 *****/ +#ifdef AFS_IA64_LINUX20_ENV + /* This needs to be first because we are declaring variables, and + * also because the handling of syscall pointers is bizarre enough + * that we want to special-case even the "common" part. + */ + unsigned long kernel_gp = 0; + static struct fptr sys_setgroups; + + afs_sys_call_table = osi_find_syscall_table(0); + if (afs_sys_call_table) { + +#if !defined(AFS_LINUX24_ENV) + /* XXX no sys_settimeofday on IA64? */ +#endif + + /* check we aren't already loaded */ + /* XXX this can't be right */ + if (SYSCALL2POINTER afs_sys_call_table[_S(__NR_afs_syscall)] + == afs_syscall) { + printf("AFS syscall entry point already in use!\n"); + return -EBUSY; + } + + /* setup AFS entry point */ + afs_ni_syscall = afs_sys_call_table[_S(__NR_afs_syscall)]; + afs_sys_call_table[_S(__NR_afs_syscall)] = + POINTER2SYSCALL((struct fptr *)afs_syscall_stub)->ip; + + /* setup setgroups */ + sys_setgroupsp = (void *)&sys_setgroups; + + ((struct fptr *)sys_setgroupsp)->ip = + SYSCALL2POINTER afs_sys_call_table[_S(__NR_setgroups)]; + ((struct fptr *)sys_setgroupsp)->gp = kernel_gp; + + afs_sys_call_table[_S(_NR_setgroups)] = + POINTER2SYSCALL((struct fptr *)afs_xsetgroups_stub)->ip; + } + + /* XXX no 32-bit syscalls on IA64? */ + + +/***** COMMON (except IA64) *****/ +#else /* !AFS_IA64_LINUX20_ENV */ + + afs_sys_call_table = osi_find_syscall_table(0); + if (afs_sys_call_table) { +#if !defined(AFS_LINUX24_ENV) + sys_settimeofdayp = + SYSCALL2POINTER afs_sys_call_table[_S(__NR_settimeofday)]; +#endif /* AFS_LINUX24_ENV */ + + /* check we aren't already loaded */ + if (SYSCALL2POINTER afs_sys_call_table[_S(__NR_afs_syscall)] + == afs_syscall) { + printf("AFS syscall entry point already in use!\n"); + return -EBUSY; + } + + /* setup AFS entry point */ + afs_ni_syscall = afs_sys_call_table[_S(__NR_afs_syscall)]; + afs_sys_call_table[_S(__NR_afs_syscall)] = POINTER2SYSCALL afs_syscall; + + /* setup setgroups */ + sys_setgroupsp = SYSCALL2POINTER afs_sys_call_table[_S(__NR_setgroups)]; + afs_sys_call_table[_S(__NR_setgroups)] = POINTER2SYSCALL afs_xsetgroups; + +#if defined(__NR_setgroups32) + /* setup setgroups32 */ + sys_setgroups32p = SYSCALL2POINTER afs_sys_call_table[__NR_setgroups32]; + afs_sys_call_table[__NR_setgroups32] = POINTER2SYSCALL afs_xsetgroups32; +#endif + } +#endif /* !AFS_IA64_LINUX20_ENV */ + + +/***** AMD64 *****/ +#ifdef AFS_AMD64_LINUX20_ENV + afs_ia32_sys_call_table = osi_find_syscall_table(1); + if (afs_ia32_sys_call_table) { + /* setup AFS entry point for IA32 */ + ia32_ni_syscall = afs_ia32_sys_call_table[__NR_ia32_afs_syscall]; + afs_ia32_sys_call_table[__NR_ia32_afs_syscall] = + POINTER2SYSCALL afs_syscall; + + /* setup setgroups for IA32 */ + sys32_setgroupsp = + SYSCALL2POINTER afs_ia32_sys_call_table[__NR_ia32_setgroups]; + afs_ia32_sys_call_table[__NR_ia32_setgroups] = + POINTER2SYSCALL afs32_xsetgroups; + +#if AFS_LINUX24_ENV + /* setup setgroups32 for IA32 */ + sys32_setgroups32p = + SYSCALL2POINTER afs_ia32_sys_call_table[__NR_ia32_setgroups32]; + afs_ia32_sys_call_table[__NR_ia32_setgroups32] = + POINTER2SYSCALL afs32_xsetgroups32; +#endif /* __NR_ia32_setgroups32 */ + } +#endif /* AFS_AMD64_LINUX20_ENV */ + + +/***** PPC64 *****/ +#ifdef AFS_PPC64_LINUX20_ENV + /* XXX no 32-bit syscalls on PPC64? */ +#endif + + +/***** SPARC64 *****/ +#ifdef AFS_SPARC64_LINUX20_ENV + afs_sys_call_table32 = osi_find_syscall_table(1); + if (afs_sys_call_table32) { + /* setup AFS entry point for 32-bit SPARC */ + afs_ni_syscall32 = afs_sys_call_table32[__NR_afs_syscall]; + afs_sys_call_table32[__NR_afs_syscall] = POINTER2SYSCALL afs_syscall32; + + /* setup setgroups for 32-bit SPARC */ + sys32_setgroupsp = SYSCALL2POINTER afs_sys_call_table32[__NR_setgroups]; + afs_sys_call_table32[__NR_setgroups] = POINTER2SYSCALL afs32_xsetgroups; + +#ifdef AFS_LINUX24_ENV + /* setup setgroups32 for 32-bit SPARC */ + sys32_setgroups32p = + SYSCALL2POINTER afs_sys_call_table32[__NR_setgroups32]; + afs_sys_call_table32[__NR_setgroups32] = + POINTER2SYSCALL afs32_xsetgroups32; +#endif + } +#endif /* AFS_SPARC64_LINUX20_ENV */ + return 0; +} + + + +/**********************************************************************/ +/************************ System Call Cleanup *************************/ +/**********************************************************************/ + +void osi_syscall_clean(void) +{ +/***** COMMON *****/ + if (afs_sys_call_table) { + /* put back the AFS entry point */ + afs_sys_call_table[_S(__NR_afs_syscall)] = afs_ni_syscall; + + /* put back setgroups */ +#if defined(AFS_IA64_LINUX20_ENV) + afs_sys_call_table[_S(__NR_setgroups)] = + POINTER2SYSCALL((struct fptr *)sys_setgroupsp)->ip; +#else /* AFS_IA64_LINUX20_ENV */ + afs_sys_call_table[_S(__NR_setgroups)] = + POINTER2SYSCALL sys_setgroupsp; +#endif + +#if defined(__NR_setgroups32) && !defined(AFS_IA64_LINUX20_ENV) + /* put back setgroups32 */ + afs_sys_call_table[__NR_setgroups32] = POINTER2SYSCALL sys_setgroups32p; +#endif + } + + +/***** IA64 *****/ +#ifdef AFS_IA64_LINUX20_ENV + /* XXX no 32-bit syscalls on IA64? */ +#endif + + +/***** AMD64 *****/ +#ifdef AFS_AMD64_LINUX20_ENV + if (afs_ia32_sys_call_table) { + /* put back AFS entry point for IA32 */ + afs_ia32_sys_call_table[__NR_ia32_afs_syscall] = + POINTER2SYSCALL ia32_ni_syscall; + + /* put back setgroups for IA32 */ + afs_ia32_sys_call_table[__NR_ia32_setgroups] = + POINTER2SYSCALL sys32_setgroupsp; + +#ifdef AFS_LINUX24_ENV + /* put back setgroups32 for IA32 */ + afs_ia32_sys_call_table[__NR_ia32_setgroups32] = + POINTER2SYSCALL sys32_setgroups32p; +#endif + } +#endif + + +/***** PPC64 *****/ +#ifdef AFS_PPC64_LINUX20_ENV + /* XXX no 32-bit syscalls on PPC64? */ +#endif + + +/***** SPARC64 *****/ +#ifdef AFS_SPARC64_LINUX20_ENV + if (afs_sys_call_table32) { + /* put back AFS entry point for 32-bit SPARC */ + afs_sys_call_table32[__NR_afs_syscall] = afs_ni_syscall32; + + /* put back setgroups for IA32 */ + afs_sys_call_table32[__NR_setgroups] = + POINTER2SYSCALL sys32_setgroupsp; + +#ifdef AFS_LINUX24_ENV + /* put back setgroups32 for IA32 */ + afs_sys_call_table32[__NR_setgroups32] = + POINTER2SYSCALL sys32_setgroups32p; +#endif + } +#endif +} diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index e1567948b..828fc2d6a 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -16,7 +16,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.1 2004/12/07 06:12:13 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.2 2005/02/21 01:13:08 shadow Exp $"); #define __NO_VERSION__ /* don't define kernel_version in module.h */ #include /* early to avoid printf->printk mapping */ @@ -34,7 +34,7 @@ RCSID struct vcache *afs_globalVp = 0; struct vfs *afs_globalVFS = 0; #if defined(AFS_LINUX24_ENV) -struct nameidata afs_cacheNd; +struct vfsmount *afs_cacheMnt; #endif int afs_was_mounted = 0; /* Used to force reload if mount/unmount/mount */ @@ -336,7 +336,7 @@ afs_put_super(struct super_block *sbp) afs_globalVp = 0; afs_shutdown(); #if defined(AFS_LINUX24_ENV) - path_release(&afs_cacheNd); + mntput(afs_cacheMnt); #endif osi_linux_verify_alloced_memory(); diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 56e58fd68..f0d0a2bbc 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.8 2004/12/17 14:43:23 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.12 2005/02/21 01:13:24 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -518,6 +518,9 @@ afs_linux_mmap(struct file *fp, struct vm_area_struct *vmap) if (!code) code = afs_VerifyVCache(vcp, &treq); + if (!code && (vcp->states & CRO) && + (vmap->vm_file->f_flags & (FWRITE | FTRUNC))) + code = EACCES; if (code) code = -code; @@ -587,29 +590,18 @@ afs_linux_open(struct inode *ip, struct file *fp) return -code; } -/* afs_Close is called from release, since release is used to handle all - * file closings. In addition afs_linux_flush is called from sys_close to - * handle flushing the data back to the server. The kicker is that we could - * ignore flush completely if only sys_close took it's return value from - * fput. See afs_linux_flush for notes on interactions between release and - * flush. - */ static int afs_linux_release(struct inode *ip, struct file *fp) { - int code = 0; - cred_t *credp = crref(); struct vcache *vcp = ITOAFS(ip); + cred_t *credp = crref(); + int code = 0; #ifdef AFS_LINUX24_ENV lock_kernel(); #endif AFS_GLOCK(); - if (vcp->flushcnt) { - vcp->flushcnt--; /* protected by AFS global lock. */ - } else { - code = afs_close(vcp, fp->f_flags, credp); - } + code = afs_close(vcp, fp->f_flags, credp); AFS_GUNLOCK(); #ifdef AFS_LINUX24_ENV unlock_kernel(); @@ -687,37 +679,34 @@ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp) } /* afs_linux_flush - * flush is called from sys_close. We could ignore it, but sys_close return - * code comes from flush, not release. We need to use release to keep - * the vcache open count correct. Note that flush is called before release - * (via fput) in sys_close. vcp->flushcnt is a bit of ugliness to avoid - * races and also avoid calling afs_close twice when closing the file. - * If we merely checked for opens > 0 in afs_linux_release, then if an - * new open occurred when storing back the file, afs_linux_release would - * incorrectly close the file and decrement the opens count. Calling afs_close - * on the just flushed file is wasteful, since the background daemon will - * execute the code that finally decides there is nothing to do. + * essentially the same as afs_fsync() but we need to get the return + * code for the sys_close() here, not afs_linux_release(), so call + * afs_StoreAllSegments() with AFS_LASTSTORE */ int afs_linux_flush(struct file *fp) { + struct vrequest treq; struct vcache *vcp = ITOAFS(FILE_INODE(fp)); - int code = 0; - cred_t *credp; + cred_t *credp = crref(); + int code; - /* Only do this on the last close of the file pointer. */ -#if defined(AFS_LINUX24_ENV) - if (atomic_read(&fp->f_count) > 1) -#else - if (fp->f_count > 1) -#endif - return 0; + AFS_GLOCK(); - credp = crref(); + code = afs_InitReq(&treq, credp); + if (code) + goto out; - AFS_GLOCK(); - code = afs_close(vcp, fp->f_flags, credp); - vcp->flushcnt++; /* protected by AFS global lock. */ + ObtainSharedLock(&vcp->lock, 535); + if (vcp->execsOrWriters > 0) { + UpgradeSToWLock(&vcp->lock, 536); + code = afs_StoreAllSegments(vcp, &treq, AFS_SYNC | AFS_LASTSTORE); + ConvertWToSLock(&vcp->lock); + } + code = afs_CheckCode(code, &treq, 54); + ReleaseSharedLock(&vcp->lock); + +out: AFS_GUNLOCK(); crfree(credp); @@ -1047,7 +1036,6 @@ afs_linux_create(struct inode *dip, struct dentry *dp, int mode) #endif dp->d_op = &afs_dentry_operations; - dp->d_time = jiffies; d_instantiate(dp, ip); } @@ -1118,7 +1106,6 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) ip->i_op = &afs_symlink_iops; #endif } - dp->d_time = jiffies; dp->d_op = &afs_dentry_operations; d_add(dp, AFSTOI(vcp)); @@ -1277,7 +1264,6 @@ afs_linux_mkdir(struct inode *dip, struct dentry *dp, int mode) tvcp->v.v_fop = &afs_dir_fops; #endif dp->d_op = &afs_dentry_operations; - dp->d_time = jiffies; d_instantiate(dp, AFSTOI(tvcp)); } @@ -1331,8 +1317,10 @@ afs_linux_rename(struct inode *oldip, struct dentry *olddp, cred_t *credp = crref(); const char *oldname = olddp->d_name.name; const char *newname = newdp->d_name.name; + struct dentry *rehash = NULL; #if defined(AFS_LINUX26_ENV) + /* Prevent any new references during rename operation. */ lock_kernel(); #endif /* Remove old and new entries from name hash. New one will change below. @@ -1341,25 +1329,28 @@ afs_linux_rename(struct inode *oldip, struct dentry *olddp, * cases. Let another lookup put things right, if need be. */ #if defined(AFS_LINUX26_ENV) - if (!d_unhashed(olddp)) - d_drop(olddp); - if (!d_unhashed(newdp)) + if (!d_unhashed(newdp)) { d_drop(newdp); + rehash = newdp; + } #else - if (!list_empty(&olddp->d_hash)) - d_drop(olddp); - if (!list_empty(&newdp->d_hash)) + if (!list_empty(&newdp->d_hash)) { d_drop(newdp); + rehash = newdp; + } +#endif + +#if defined(AFS_LINUX24_ENV) + if (atomic_read(&olddp->d_count) > 1) + shrink_dcache_parent(olddp); #endif + AFS_GLOCK(); code = afs_rename(ITOAFS(oldip), oldname, ITOAFS(newip), newname, credp); AFS_GUNLOCK(); - if (!code) { - /* update time so it doesn't expire immediately */ - newdp->d_time = jiffies; - d_move(olddp, newdp); - } + if (rehash) + d_rehash(rehash); #if defined(AFS_LINUX26_ENV) unlock_kernel(); diff --git a/src/afs/OBSD/osi_sleep.c b/src/afs/OBSD/osi_sleep.c index 20caa89fe..2db795f31 100644 --- a/src/afs/OBSD/osi_sleep.c +++ b/src/afs/OBSD/osi_sleep.c @@ -1,5 +1,5 @@ /* - * $Id: osi_sleep.c,v 1.7 2003/07/15 23:14:25 shadow Exp $ + * $Id: osi_sleep.c,v 1.7.2.1 2005/01/31 04:18:25 shadow Exp $ */ /* @@ -45,7 +45,7 @@ such damages. #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7 2003/07/15 23:14:25 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7.2.1 2005/01/31 04:18:25 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ @@ -54,13 +54,6 @@ RCSID static char waitV; -void -afs_osi_InitWaitHandle(struct afs_osi_WaitHandle *achandle) -{ - AFS_STATCNT(osi_InitWaitHandle); - achandle->proc = NULL; -} - /* cancel osi_Wait */ void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle) diff --git a/src/afs/OBSD/osi_vnodeops.c b/src/afs/OBSD/osi_vnodeops.c index 440a3da79..1a80e1b47 100644 --- a/src/afs/OBSD/osi_vnodeops.c +++ b/src/afs/OBSD/osi_vnodeops.c @@ -3,7 +3,7 @@ * Original NetBSD version for Transarc afs by John Kohl * OpenBSD version by Jim Rees * - * $Id: osi_vnodeops.c,v 1.18 2004/07/27 14:39:31 rees Exp $ + * $Id: osi_vnodeops.c,v 1.18.2.1 2005/01/31 04:18:25 shadow Exp $ */ /* @@ -99,7 +99,7 @@ NONINFRINGEMENT. #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/OBSD/osi_vnodeops.c,v 1.18 2004/07/27 14:39:31 rees Exp $"); + ("$Header: /cvs/openafs/src/afs/OBSD/osi_vnodeops.c,v 1.18.2.1 2005/01/31 04:18:25 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afs/afsincludes.h" /* Afs-based standard headers */ @@ -894,6 +894,14 @@ afs_nbsd_reclaim(void *v) int haveGlock = ISAFS_GLOCK(); int haveVlock = CheckLock(&afs_xvcache); +#if 0 + printf("reclaim usecount %d\n", vp->v_usecount); + /* OK, there are no internal vrefCounts, so there shouldn't + * be any more refs here. */ + vp->v_data = NULL; /* remove from vnode */ + avc->v = NULL; /* also drop the ptr to vnode */ + return 0; +#else if (!haveGlock) AFS_GLOCK(); if (!haveVlock) @@ -909,6 +917,7 @@ afs_nbsd_reclaim(void *v) if (!haveGlock) AFS_GUNLOCK(); return code; +#endif } int diff --git a/src/afs/VNOPS/afs_vnop_attrs.c b/src/afs/VNOPS/afs_vnop_attrs.c index 40ec6d436..867eae399 100644 --- a/src/afs/VNOPS/afs_vnop_attrs.c +++ b/src/afs/VNOPS/afs_vnop_attrs.c @@ -24,7 +24,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_attrs.c,v 1.27.2.3 2004/12/07 06:12:13 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_attrs.c,v 1.27.2.4 2005/01/31 04:23:36 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -398,16 +398,14 @@ afs_VAttrToAS(register struct vcache *avc, register struct vattr *av, #if defined(AFS_AIX_ENV) /* Boy, was this machine dependent bogosity hard to swallow????.... */ if (av->va_mode != -1) { -#else -#if defined(AFS_LINUX22_ENV) +#elif defined(AFS_LINUX22_ENV) if (av->va_mask & ATTR_MODE) { -#else -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) if (av->va_mask & AT_MODE) { +#elif defined(AFS_XBSD_ENV) + if (av->va_mode != (mode_t)VNOVAL) { #else if (av->va_mode != ((unsigned short)-1)) { -#endif -#endif #endif mask |= AFS_SETMODE; as->UnixModeBits = av->va_mode & 0xffff; @@ -419,40 +417,36 @@ afs_VAttrToAS(register struct vcache *avc, register struct vattr *av, } #if defined(AFS_LINUX22_ENV) if (av->va_mask & ATTR_GID) { -#else -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) if (av->va_mask & AT_GID) { -#else -#if (defined(AFS_HPUX_ENV) || defined(AFS_SUN_ENV)) +#elif (defined(AFS_HPUX_ENV) || defined(AFS_SUN_ENV)) #if defined(AFS_HPUX102_ENV) if (av->va_gid != GID_NO_CHANGE) { #else if (av->va_gid != ((unsigned short)-1)) { #endif +#elif defined(AFS_XBSD_ENV) + if (av->va_gid != (gid_t)VNOVAL) { #else if (av->va_gid != -1) { -#endif -#endif /* AFS_SUN5_ENV */ #endif /* AFS_LINUX22_ENV */ mask |= AFS_SETGROUP; as->Group = av->va_gid; } #if defined(AFS_LINUX22_ENV) if (av->va_mask & ATTR_UID) { -#else -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) if (av->va_mask & AT_UID) { -#else -#if (defined(AFS_HPUX_ENV) || defined(AFS_SUN_ENV)) +#elif (defined(AFS_HPUX_ENV) || defined(AFS_SUN_ENV)) #if defined(AFS_HPUX102_ENV) if (av->va_uid != UID_NO_CHANGE) { +#elif defined(AFS_XBSD_ENV) + if (av->va_uid != (uid_t)VNOVAL) { #else if (av->va_uid != ((unsigned short)-1)) { #endif #else if (av->va_uid != -1) { -#endif -#endif /* AFS_SUN5_ENV */ #endif /* AFS_LINUX22_ENV */ mask |= AFS_SETOWNER; as->Owner = av->va_uid; @@ -544,20 +538,14 @@ afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, */ #if defined(AFS_LINUX22_ENV) if (attrs->va_mask & ATTR_SIZE) { -#else -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) if (attrs->va_mask & AT_SIZE) { -#else -#ifdef AFS_OSF_ENV +#elif defined(AFS_OSF_ENV) || defined(AFS_XBSD_ENV) if (attrs->va_size != VNOVAL) { -#else -#ifdef AFS_AIX41_ENV +#elif defined(AFS_AIX41_ENV) if (attrs->va_size != -1) { #else if (attrs->va_size != ~0) { -#endif -#endif -#endif #endif if (!afs_AccessOK(avc, PRSFS_WRITE, &treq, DONT_CHECK_MODE_BITS)) { code = EACCES; @@ -582,16 +570,12 @@ afs_setattr(OSI_VC_DECL(avc), register struct vattr *attrs, #endif #if defined(AFS_LINUX22_ENV) if (attrs->va_mask & ATTR_SIZE) { -#else -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) if (attrs->va_mask & AT_SIZE) { -#else -#if defined(AFS_OSF_ENV) +#elif defined(AFS_OSF_ENV) || defined(AFS_XBSD_ENV) if (attrs->va_size != VNOVAL) { -#else /* AFS_OSF_ENV */ +#else if (attrs->va_size != -1) { -#endif -#endif #endif afs_size_t tsize = attrs->va_size; ObtainWriteLock(&avc->lock, 128); diff --git a/src/afs/VNOPS/afs_vnop_create.c b/src/afs/VNOPS/afs_vnop_create.c index d69d9966a..b0dac04aa 100644 --- a/src/afs/VNOPS/afs_vnop_create.c +++ b/src/afs/VNOPS/afs_vnop_create.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.3 2004/11/09 17:15:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.4 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -30,10 +30,6 @@ RCSID * I think we can get away without it, but I'm not sure. Note that * afs_setattr is called in here for truncation. */ -#ifdef AFS_OSF_ENV -int -afs_create(struct nameidata *ndp, struct vattr *attrs) -#else /* AFS_OSF_ENV */ #ifdef AFS_SGI64_ENV int afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, int flags, @@ -44,17 +40,7 @@ afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, enum vcexcl aexcl, int amode, struct vcache **avcp, struct AFS_UCRED *acred) #endif /* AFS_SGI64_ENV */ -#endif /* AFS_OSF_ENV */ { -#ifdef AFS_OSF_ENV - register struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - enum vcexcl aexcl = NONEXCL; /* XXX - create called properly */ - int amode = 0; /* XXX - checked in higher level */ - struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); - struct ucred *acred = ndp->ni_cred; -#endif - afs_int32 origCBs, origZaps, finalZaps; struct vrequest treq; register afs_int32 code; @@ -311,43 +297,33 @@ afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, (tc, code, &adp->fid, &treq, AFS_STATS_FS_RPCIDX_CREATEFILE, SHARED_LOCK, NULL)); -#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) - if (code == EEXIST && aexcl == NONEXCL) { - /* This lookup was handled in the common vn_open code in the - * vnode layer */ - if (tdc) { - ReleaseSharedLock(&tdc->lock); - afs_PutDCache(tdc); - } - ReleaseWriteLock(&adp->lock); - goto done; - } -#else /* AFS_OSF_ENV */ + if (code == EEXIST && #ifdef AFS_SGI64_ENV - if (code == EEXIST && !(flags & VEXCL)) { + !(flags & VEXCL) #else /* AFS_SGI64_ENV */ - if (code == EEXIST && aexcl == NONEXCL) { -#endif /* AFS_SGI64_ENV */ + aexcl == NONEXCL +#endif + ) { /* if we get an EEXIST in nonexcl mode, just do a lookup */ if (tdc) { ReleaseSharedLock(&tdc->lock); afs_PutDCache(tdc); } ReleaseWriteLock(&adp->lock); +#if !(defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)) #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) #if defined(AFS_SGI64_ENV) - code = - afs_lookup(VNODE_TO_FIRST_BHV((vnode_t *) adp), aname, avcp, NULL, - 0, NULL, acred); + code = afs_lookup(VNODE_TO_FIRST_BHV((vnode_t *) adp), aname, avcp, + NULL, 0, NULL, acred); #else code = afs_lookup(adp, aname, avcp, NULL, 0, NULL, acred); #endif /* AFS_SGI64_ENV */ #else /* SUN5 || SGI */ code = afs_lookup(adp, aname, avcp, acred); #endif /* SUN5 || SGI */ +#endif /* !(AFS_OSF_ENV || AFS_DARWIN_ENV) */ goto done; } -#endif /* AFS_OSF_ENV */ if (code) { if (code < 0) { ObtainWriteLock(&afs_xcbhash, 488); @@ -475,10 +451,6 @@ afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, code = afs_CheckCode(code, &treq, 20); done2: -#ifdef AFS_OSF_ENV - afs_PutVCache(adp); -#endif /* AFS_OSF_ENV */ - return code; } diff --git a/src/afs/VNOPS/afs_vnop_dirops.c b/src/afs/VNOPS/afs_vnop_dirops.c index 46c5778e3..9874d4bf7 100644 --- a/src/afs/VNOPS/afs_vnop_dirops.c +++ b/src/afs/VNOPS/afs_vnop_dirops.c @@ -21,7 +21,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.14.2.3 2004/11/09 17:15:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_dirops.c,v 1.14.2.4 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -36,24 +36,9 @@ extern afs_rwlock_t afs_xcbhash; /* don't set CDirty in here because RPC is called synchronously */ int -#ifdef AFS_OSF_ENV -afs_mkdir(ndp, attrs) - struct nameidata *ndp; - struct vattr *attrs; +afs_mkdir(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, + register struct vcache **avcp, struct AFS_UCRED *acred) { - register struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - register struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); - struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ -afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) - OSI_VC_DECL(adp); - register struct vcache **avcp; - char *aname; - struct vattr *attrs; - struct AFS_UCRED *acred; -{ -#endif struct vrequest treq; register afs_int32 code; register struct conn *tc; @@ -172,34 +157,19 @@ afs_mkdir(OSI_VC_ARG(adp), aname, attrs, avcp, acred) afs_PutFakeStat(&fakestate); code = afs_CheckCode(code, &treq, 26); done2: -#ifdef AFS_OSF_ENV - AFS_RELE(ndp->ni_dvp); -#endif /* AFS_OSF_ENV */ return code; } int -#ifdef AFS_OSF_ENV -afs_rmdir(ndp) - struct nameidata *ndp; -{ - register struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ /* don't set CDirty in here because RPC is called synchronously */ #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) -afs_rmdir(OSI_VC_ARG(adp), aname, cdirp, acred) - struct vnode *cdirp; +afs_rmdir(OSI_VC_DECL(adp), char *aname, struct vnode *cdirp, + struct AFS_UCRED *acred) #else -afs_rmdir(adp, aname, acred) +afs_rmdir(OSI_VC_DECL(adp), char *aname, struct AFS_UCRED *acred) #endif - OSI_VC_DECL(adp); - char *aname; - struct AFS_UCRED *acred; { -#endif struct vrequest treq; register struct dcache *tdc; register struct vcache *tvc = NULL; @@ -336,9 +306,5 @@ afs_rmdir(adp, aname, acred) afs_PutFakeStat(&fakestate); code = afs_CheckCode(code, &treq, 27); done2: -#ifdef AFS_OSF_ENV - afs_PutVCache(adp); - afs_PutVCache(ndp->ni_vp); -#endif /* AFS_OSF_ENV */ return code; } diff --git a/src/afs/VNOPS/afs_vnop_fid.c b/src/afs/VNOPS/afs_vnop_fid.c index 739f05529..d00b88099 100644 --- a/src/afs/VNOPS/afs_vnop_fid.c +++ b/src/afs/VNOPS/afs_vnop_fid.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_fid.c,v 1.11.2.1 2004/08/25 07:09:35 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_fid.c,v 1.11.2.2 2005/01/31 03:49:15 shadow Exp $"); #if !defined(AFS_DUX40_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_OBSD_ENV) #include "afs/sysincludes.h" /* Standard vendor system headers */ @@ -67,20 +67,15 @@ int afs_iauth_initd = 0; extern int afs_NFSRootOnly; /* 1 => only allow NFS mounts of /afs. */ -int #if !defined(AFS_DEC_ENV) && !defined(AFS_ATHENA_ENV) +int #ifdef AFS_AIX41_ENV -afs_fid(OSI_VC_ARG(avc), fidpp, credp) - struct ucred *credp; +afs_fid(OSI_VC_DECL(avc), struct fid *fidpp, struct ucred *credp) +#elif defined(AFS_OSF_ENV) || defined(AFS_SUN54_ENV) +afs_fid(OSI_VC_DECL(avc), struct fid *fidpp) #else -afs_fid(OSI_VC_ARG(avc), fidpp) +afs_fid(OSI_VC_DECL(avc), struct fid **fidpp) #endif /* AFS_AIX41_ENV */ - OSI_VC_DECL(avc); -#if defined(AFS_AIX_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SUN54_ENV) - struct fid *fidpp; -#else - struct fid **fidpp; -#endif { struct SmallFid Sfid; long addr[2]; diff --git a/src/afs/VNOPS/afs_vnop_link.c b/src/afs/VNOPS/afs_vnop_link.c index b16de16ee..8a01e0f74 100644 --- a/src/afs/VNOPS/afs_vnop_link.c +++ b/src/afs/VNOPS/afs_vnop_link.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.15.2.3 2004/11/09 17:15:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_link.c,v 1.15.2.4 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -32,15 +32,6 @@ extern afs_rwlock_t afs_xcbhash; * RPC is called synchronously. */ int -#ifdef AFS_OSF_ENV -afs_link(avc, ndp) - struct vcache *avc; - struct nameidata *ndp; -{ - struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ #if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) afs_link(OSI_VC_ARG(adp), avc, aname, acred) #else @@ -51,7 +42,6 @@ afs_link(avc, OSI_VC_ARG(adp), aname, acred) char *aname; struct AFS_UCRED *acred; { -#endif struct vrequest treq; register struct dcache *tdc; register afs_int32 code; @@ -170,8 +160,5 @@ afs_link(avc, OSI_VC_ARG(adp), aname, acred) afs_PutFakeStat(&vfakestate); afs_PutFakeStat(&dfakestate); done2: -#ifdef AFS_OSF_ENV - afs_PutVCache(adp); -#endif /* AFS_OSF_ENV */ return code; } diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index 89b455abe..454ce382a 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.5 2004/12/07 06:12:13 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.6 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -1077,36 +1077,16 @@ afs_DoBulkStat(struct vcache *adp, long dirCookie, struct vrequest *areqp) static int AFSDOBULK = 1; int -#ifdef AFS_OSF_ENV -afs_lookup(adp, ndp) - struct vcache *adp; - struct nameidata *ndp; -{ - char aname[MAXNAMLEN + 1]; /* XXX */ - struct vcache **avcp = (struct vcache **)&(ndp->ni_vp); - struct ucred *acred = ndp->ni_cred; - int wantparent = ndp->ni_nameiop & WANTPARENT; - int opflag = ndp->ni_nameiop & OPFLAG; -#else /* AFS_OSF_ENV */ -#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) -afs_lookup(OSI_VC_ARG(adp), aname, avcp, pnp, flags, rdir, acred) - struct pathname *pnp; - int flags; - struct vnode *rdir; -#else -#if defined(UKERNEL) -afs_lookup(adp, aname, avcp, acred, flags) - int flags; +#ifdef AFS_OSF_ENV +afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED *acred, int opflag, int wantparent) +#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) +afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct pathname *pnp, int flags, struct vnode *rdir, struct AFS_UCRED *acred) +#elif defined(UKERNEL) +afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED *acred, int flags) #else -afs_lookup(adp, aname, avcp, acred) -#endif /* UKERNEL */ -#endif /* SUN5 || SGI */ - OSI_VC_DECL(adp); - struct vcache **avcp; - char *aname; - struct AFS_UCRED *acred; -{ +afs_lookup(OSI_VC_DECL(adp), char *aname, struct vcache **avcp, struct AFS_UCRED *acred) #endif +{ struct vrequest treq; char *tname = NULL; register struct vcache *tvc = 0; @@ -1131,8 +1111,6 @@ afs_lookup(adp, aname, avcp, acred) #ifdef AFS_OSF_ENV ndp->ni_dvp = AFSTOV(adp); - memcpy(aname, ndp->ni_ptr, ndp->ni_namelen); - aname[ndp->ni_namelen] = '\0'; #endif /* AFS_OSF_ENV */ #if defined(AFS_DARWIN_ENV) diff --git a/src/afs/VNOPS/afs_vnop_remove.c b/src/afs/VNOPS/afs_vnop_remove.c index 067a08327..20431e394 100644 --- a/src/afs/VNOPS/afs_vnop_remove.c +++ b/src/afs/VNOPS/afs_vnop_remove.c @@ -21,7 +21,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_remove.c,v 1.31.2.5 2004/12/13 19:35:05 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_remove.c,v 1.31.2.6 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -217,20 +217,11 @@ char *Tnam1; /* Note that we don't set CDirty here, this is OK because the unlink * RPC is called synchronously */ int -#ifdef AFS_OSF_ENV -afs_remove(ndp) - struct nameidata *ndp; -{ - register struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ afs_remove(OSI_VC_ARG(adp), aname, acred) OSI_VC_DECL(adp); char *aname; struct AFS_UCRED *acred; { -#endif struct vrequest treq; register struct dcache *tdc; struct VenusFid unlinkFid; @@ -250,7 +241,6 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) if ((code = afs_InitReq(&treq, acred))) { #ifdef AFS_OSF_ENV - afs_PutVCache(adp); afs_PutVCache(tvc); #endif return code; @@ -261,7 +251,6 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) if (code) { afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp); afs_PutVCache(tvc); #endif return code; @@ -272,26 +261,14 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) code = afs_DynrootVOPRemove(adp, acred, aname); afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp); afs_PutVCache(tvc); #endif return code; } -#if 0 - if (adp->mvstat == 2) { - afs_PutFakeStat(&fakestate); -#ifdef AFS_OSF_ENV - afs_PutVCache(adp); - afs_PutVCache(tvc); -#endif - return EISDIR; - } -#endif if (strlen(aname) > AFSNAMEMAX) { afs_PutFakeStat(&fakestate); #ifdef AFS_OSF_ENV - afs_PutVCache(adp); afs_PutVCache(tvc); #endif return ENAMETOOLONG; @@ -301,7 +278,6 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) #ifdef AFS_OSF_ENV tvc = VTOAFS(ndp->ni_vp); /* should never be null */ if (code) { - afs_PutVCache(adp); afs_PutVCache(tvc); afs_PutFakeStat(&fakestate); return afs_CheckCode(code, &treq, 22); @@ -320,7 +296,6 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) */ if (adp->states & CRO) { #ifdef AFS_OSF_ENV - afs_PutVCache(adp); afs_PutVCache(tvc); #endif code = EROFS; @@ -434,9 +409,6 @@ afs_remove(OSI_VC_ARG(adp), aname, acred) } else { code = afsremove(adp, tdc, tvc, aname, acred, &treq); } -#ifdef AFS_OSF_ENV - afs_PutVCache(adp); -#endif /* AFS_OSF_ENV */ afs_PutFakeStat(&fakestate); return code; } diff --git a/src/afs/VNOPS/afs_vnop_rename.c b/src/afs/VNOPS/afs_vnop_rename.c index 2fa7af9af..fb583f521 100644 --- a/src/afs/VNOPS/afs_vnop_rename.c +++ b/src/afs/VNOPS/afs_vnop_rename.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.16.2.3 2004/11/09 17:15:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_rename.c,v 1.16.2.4 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -359,28 +359,12 @@ afsrename(struct vcache *aodp, char *aname1, struct vcache *andp, } int -#ifdef AFS_OSF_ENV -afs_rename(fndp, tndp) - struct nameidata *fndp, *tndp; -{ - struct vcache *aodp = VTOAFS(fndp->ni_dvp); - char *aname1 = fndp->ni_dent.d_name; - struct vcache *andp = VTOAFS(tndp->ni_dvp); - char *aname2 = tndp->ni_dent.d_name; - struct ucred *acred = tndp->ni_cred; -#else /* AFS_OSF_ENV */ #if defined(AFS_SGI_ENV) -afs_rename(OSI_VC_ARG(aodp), aname1, andp, aname2, npnp, acred) - struct pathname *npnp; +afs_rename(OSI_VC_DECL(aodp), char *aname1, struct vcache *andp, achar *name2, struct pathname *npnp, struct AFS_UCRED *acred) #else -afs_rename(OSI_VC_ARG(aodp), aname1, andp, aname2, acred) +afs_rename(OSI_VC_DECL(aodp), char *aname1, struct vcache *andp, char *aname2, struct AFS_UCRED *acred) #endif - OSI_VC_DECL(aodp); - struct vcache *andp; - char *aname1, *aname2; - struct AFS_UCRED *acred; { -#endif register afs_int32 code; struct afs_fakestat_state ofakestate; struct afs_fakestat_state nfakestate; @@ -402,14 +386,6 @@ afs_rename(OSI_VC_ARG(aodp), aname1, andp, aname2, acred) done: afs_PutFakeStat(&ofakestate); afs_PutFakeStat(&nfakestate); -#ifdef AFS_OSF_ENV - AFS_RELE(tndp->ni_dvp); - if (tndp->ni_vp != NULL) { - AFS_RELE(tndp->ni_vp); - } - AFS_RELE(fndp->ni_dvp); - AFS_RELE(fndp->ni_vp); -#endif /* AFS_OSF_ENV */ code = afs_CheckCode(code, &treq, 25); return code; } diff --git a/src/afs/VNOPS/afs_vnop_symlink.c b/src/afs/VNOPS/afs_vnop_symlink.c index d0adc8b57..4c192d68c 100644 --- a/src/afs/VNOPS/afs_vnop_symlink.c +++ b/src/afs/VNOPS/afs_vnop_symlink.c @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.19.2.3 2004/11/09 17:15:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_symlink.c,v 1.19.2.4 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -42,16 +42,6 @@ extern afs_rwlock_t afs_xcbhash; /* don't set CDirty in here because RPC is called synchronously */ int afs_symlink -#ifdef AFS_OSF_ENV - (ndp, attrs, atargetName) - struct nameidata *ndp; - struct vattr *attrs; - register char *atargetName; -{ - register struct vcache *adp = VTOAFS(ndp->ni_dvp); - char *aname = ndp->ni_dent.d_name; - struct ucred *acred = ndp->ni_cred; -#else /* AFS_OSF_ENV */ (OSI_VC_ARG(adp), aname, attrs, atargetName, acred) OSI_VC_DECL(adp); char *atargetName; @@ -59,7 +49,6 @@ int afs_symlink struct vattr *attrs; struct AFS_UCRED *acred; { -#endif afs_uint32 now = 0; struct vrequest treq; afs_int32 code; @@ -236,9 +225,6 @@ int afs_symlink afs_PutVolume(volp, READ_LOCK); code = afs_CheckCode(code, &treq, 31); done2: -#ifdef AFS_OSF_ENV - AFS_RELE(ndp->ni_dvp); -#endif /* AFS_OSF_ENV */ return code; } diff --git a/src/afs/VNOPS/afs_vnop_write.c b/src/afs/VNOPS/afs_vnop_write.c index 7b24a01ef..2ce8671fb 100644 --- a/src/afs/VNOPS/afs_vnop_write.c +++ b/src/afs/VNOPS/afs_vnop_write.c @@ -21,7 +21,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.36.2.2 2004/12/07 06:12:14 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_write.c,v 1.36.2.3 2005/01/31 03:49:15 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -714,9 +714,7 @@ afs_DoPartialWrite(register struct vcache *avc, struct vrequest *areq) return code; } - - -#if !defined (AFS_AIX_ENV) && !defined (AFS_HPUX_ENV) && !defined (AFS_SUN5_ENV) && !defined(AFS_SGI_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_XBSD_ENV) +#ifdef AFS_OSF_ENV #ifdef AFS_DUX50_ENV #define vno_close(X) vn_close((X), 0, NOCRED) #elif defined(AFS_DUX40_ENV) @@ -770,12 +768,8 @@ afs_closex(register struct file *afd) afd->f_flag &= ~(FSHLOCK | FEXLOCK); code = vno_close(afd); if (flags) -#if defined(AFS_SGI_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV) HandleFlock(tvc, LOCK_UN, &treq, u.u_procp->p_pid, 1 /*onlymine */ ); -#else - HandleFlock(tvc, LOCK_UN, &treq, 0, 1 /*onlymine */ ); -#endif #ifdef AFS_DEC_ENV grele((struct gnode *)tvc); #else @@ -993,27 +987,17 @@ afs_close(OSI_VC_ARG(avc), aflags, acred) int #ifdef AFS_OSF_ENV -afs_fsync(avc, fflags, acred, waitfor) - int fflags; - int waitfor; +afs_fsync(OSI_VC_DECL(avc), int fflags, struct AFS_UCRED *acred, int waitfor) #else /* AFS_OSF_ENV */ #if defined(AFS_SGI_ENV) || defined(AFS_SUN53_ENV) -afs_fsync(OSI_VC_ARG(avc), flag, acred +afs_fsync(OSI_VC_DECL(avc), int flag, struct AFS_UCRED *acred #ifdef AFS_SGI65_ENV - , start, stop -#endif + , off_t start, off_t stop +#endif /* AFS_SGI65_ENV */ ) -#else -afs_fsync(avc, acred) -#endif -#endif -OSI_VC_DECL(avc); - struct AFS_UCRED *acred; -#if defined(AFS_SGI_ENV) || defined(AFS_SUN53_ENV) - int flag; -#ifdef AFS_SGI65_ENV - off_t start, stop; -#endif +#else /* !OSF && !SUN53 && !SGI */ +afs_fsync(OSI_VC_DECL(avc), struct AFS_UCRED *acred) +#endif #endif { register afs_int32 code; diff --git a/src/afs/afs.h b/src/afs/afs.h index c5087c62a..c509db780 100644 --- a/src/afs/afs.h +++ b/src/afs/afs.h @@ -43,7 +43,7 @@ extern int afs_shuttingdown; #if defined(AFS_HPUX102_ENV) #define AFS_FLOCK k_flock #else -#if defined(AFS_SUN56_ENV) || (defined(AFS_LINUX24_ENV) && !defined(AFS_PPC64_LINUX26_ENV) && !defined(AFS_AMD64_LINUX26_ENV) && !defined(AFS_IA64_LINUX26_ENV)) +#if defined(AFS_SUN56_ENV) || (defined(AFS_LINUX24_ENV) && !defined(AFS_PPC64_LINUX26_ENV) && !defined(AFS_AMD64_LINUX26_ENV) && !defined(AFS_IA64_LINUX26_ENV) && !defined(AFS_S390X_LINUX26_ENV)) #define AFS_FLOCK flock64 #else #define AFS_FLOCK flock @@ -562,19 +562,13 @@ struct SimpleLocks { #define VREFCOUNT_SET(v, c) atomic_set(&((vnode_t *) v)->v_count, c) #define VREFCOUNT_DEC(v) atomic_dec(&((vnode_t *) v)->v_count) #define VREFCOUNT_INC(v) atomic_inc(&((vnode_t *) v)->v_count) -#define DLOCK() spin_lock(&dcache_lock) -#define DUNLOCK() spin_unlock(&dcache_lock) -#define DGET(d) dget_locked(d) -#define DCOUNT(d) atomic_read(&(d)->d_count) #else #define VREFCOUNT(v) ((v)->vrefCount) #define VREFCOUNT_SET(v, c) (v)->vrefCount = c; #define VREFCOUNT_DEC(v) (v)->vrefCount--; #define VREFCOUNT_INC(v) (v)->vrefCount++; -#define DLOCK() -#define DUNLOCK() -#define DGET(d) dget(d) -#define DCOUNT(d) ((d)->d_count) +#define d_unhash(d) list_empty(&(d)->d_hash) +#define dget_locked(d) dget(d) #endif #define AFS_MAXDV 0x7fffffff /* largest dataversion number */ @@ -702,7 +696,6 @@ struct vcache { struct dcache *dchint; } h1; #ifdef AFS_LINUX22_ENV - u_short flushcnt; /* Number of flushes which haven't released yet. */ u_short mapcnt; /* Number of mappings of this file. */ #endif #if defined(AFS_SGI_ENV) @@ -1195,7 +1188,8 @@ struct afs_fakestat_state { extern int afs_fakestat_enable; struct buffer { - struct dcache *fid; + afs_int32 fid; /* is adc->index, the cache file number */ + afs_inode_t inode; /* is adc->f.inode, the inode number of the cache file */ afs_int32 page; afs_int32 accesstime; struct buffer *hashNext; diff --git a/src/afs/afs_buffer.c b/src/afs/afs_buffer.c index c193fe2e1..af0ae5045 100644 --- a/src/afs/afs_buffer.c +++ b/src/afs/afs_buffer.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.2 2004/11/09 17:14:57 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.3 2005/01/31 04:18:41 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -63,7 +63,7 @@ RCSID /* page hash table size - this is pretty intertwined with pHash */ #define PHSIZE (PHPAGEMASK + PHFIDMASK + 1) /* the pHash macro */ -#define pHash(fid,page) ((((afs_int32)((fid)->f.inode)) & PHFIDMASK) \ +#define pHash(fid,page) ((((afs_int32)(fid)) & PHFIDMASK) \ | (page & PHPAGEMASK)) #ifdef dirty @@ -88,7 +88,7 @@ static int nbuffers; static afs_int32 timecounter; /* Prototypes for static routines */ -static struct buffer *afs_newslot(struct dcache * afid, afs_int32 apage, +static struct buffer *afs_newslot(struct dcache *adc, afs_int32 apage, register struct buffer *lp); static int dinit_flag = 0; @@ -130,7 +130,8 @@ DInit(int abuffers) #endif /* Fill in each buffer with an empty indication. */ tb = &Buffers[i]; - dirp_Zap(tb->fid); + tb->fid = 0; + tb->inode = 0; tb->accesstime = 0; tb->lockers = 0; #if AFS_USEBUFFERS @@ -150,7 +151,7 @@ DInit(int abuffers) } void * -DRead(register struct dcache * fid, register int page) +DRead(register struct dcache *adc, register int page) { /* Read a page from the disk. */ register struct buffer *tb, *tb2; @@ -160,7 +161,7 @@ DRead(register struct dcache * fid, register int page) AFS_STATCNT(DRead); MObtainWriteLock(&afs_bufferLock, 256); -#define bufmatch(tb) (tb->page == page && dirp_Eq(tb->fid, fid)) +#define bufmatch(tb) (tb->page == page && tb->fid == adc->index) #define buf_Front(head,parent,p) {(parent)->hashNext = (p)->hashNext; (p)->hashNext= *(head);*(head)=(p);} /* this apparently-complicated-looking code is simply an example of @@ -169,7 +170,7 @@ DRead(register struct dcache * fid, register int page) * of larger code size. This could be simplified by better use of * macros. */ - if ((tb = phTable[pHash(fid, page)])) { + if ((tb = phTable[pHash(adc->index, page)])) { if (bufmatch(tb)) { MObtainWriteLock(&tb->lock, 257); ReleaseWriteLock(&afs_bufferLock); @@ -180,7 +181,7 @@ DRead(register struct dcache * fid, register int page) return tb->data; } else { register struct buffer **bufhead; - bufhead = &(phTable[pHash(fid, page)]); + bufhead = &(phTable[pHash(adc->index, page)]); while ((tb2 = tb->hashNext)) { if (bufmatch(tb2)) { buf_Front(bufhead, tb, tb2); @@ -216,7 +217,7 @@ DRead(register struct dcache * fid, register int page) * is at least the oldest buffer on one particular hash chain, so it's * a pretty good place to start looking for the truly oldest buffer. */ - tb = afs_newslot(fid, page, (tb ? tb : tb2)); + tb = afs_newslot(adc, page, (tb ? tb : tb2)); if (!tb) { MReleaseWriteLock(&afs_bufferLock); return NULL; @@ -224,19 +225,21 @@ DRead(register struct dcache * fid, register int page) MObtainWriteLock(&tb->lock, 260); MReleaseWriteLock(&afs_bufferLock); tb->lockers++; - if (page * AFS_BUFFER_PAGESIZE >= fid->f.chunkBytes) { - dirp_Zap(tb->fid); + if (page * AFS_BUFFER_PAGESIZE >= adc->f.chunkBytes) { + tb->fid = 0; + tb->inode = 0; tb->lockers--; MReleaseWriteLock(&tb->lock); return NULL; } - tfile = afs_CFileOpen(fid->f.inode); + tfile = afs_CFileOpen(adc->f.inode); code = afs_CFileRead(tfile, tb->page * AFS_BUFFER_PAGESIZE, tb->data, AFS_BUFFER_PAGESIZE); afs_CFileClose(tfile); if (code < AFS_BUFFER_PAGESIZE) { - dirp_Zap(tb->fid); + tb->fid = 0; + tb->inode = 0; tb->lockers--; MReleaseWriteLock(&tb->lock); return NULL; @@ -273,7 +276,7 @@ FixupBucket(register struct buffer *ap) /* lp is pointer to a fairly-old buffer */ static struct buffer * -afs_newslot(struct dcache * afid, afs_int32 apage, register struct buffer *lp) +afs_newslot(struct dcache *adc, afs_int32 apage, register struct buffer *lp) { /* Find a usable buffer slot */ register afs_int32 i; @@ -340,7 +343,8 @@ afs_newslot(struct dcache * afid, afs_int32 apage, register struct buffer *lp) } if (lp->dirty) { - tfile = afs_CFileOpen(lp->fid->f.inode); + /* see DFlush for rationale for not getting and locking the dcache */ + tfile = afs_CFileOpen(lp->inode); afs_CFileWrite(tfile, lp->page * AFS_BUFFER_PAGESIZE, lp->data, AFS_BUFFER_PAGESIZE); lp->dirty = 0; @@ -349,7 +353,8 @@ afs_newslot(struct dcache * afid, afs_int32 apage, register struct buffer *lp) } /* Now fill in the header. */ - dirp_Cpy(lp->fid, afid); /* set this */ + lp->fid = adc->index; + lp->inode = adc->f.inode; lp->page = apage; lp->accesstime = timecounter++; FixupBucket(lp); /* move to the right hash bucket */ @@ -432,7 +437,7 @@ DVOffset(register void *ap) * method of DRead... */ void -DZap(struct dcache * fid) +DZap(struct dcache *adc) { register int i; /* Destroy all buffers pertaining to a particular fid. */ @@ -442,10 +447,11 @@ DZap(struct dcache * fid) MObtainReadLock(&afs_bufferLock); for (i = 0; i <= PHPAGEMASK; i++) - for (tb = phTable[pHash(fid, i)]; tb; tb = tb->hashNext) - if (dirp_Eq(tb->fid, fid)) { + for (tb = phTable[pHash(adc->index, i)]; tb; tb = tb->hashNext) + if (tb->fid == adc->index) { MObtainWriteLock(&tb->lock, 262); - dirp_Zap(tb->fid); + tb->fid = 0; + tb->inode = 0; tb->dirty = 0; MReleaseWriteLock(&tb->lock); } @@ -469,7 +475,18 @@ DFlush(void) tb->lockers++; MReleaseReadLock(&afs_bufferLock); if (tb->dirty) { - tfile = afs_CFileOpen(tb->fid->f.inode); + /* it seems safe to do this I/O without having the dcache + * locked, since the only things that will update the data in + * a directory are the buffer package, which holds the relevant + * tb->lock while doing the write, or afs_GetDCache, which + * DZap's the directory while holding the dcache lock. + * It is not possible to lock the dcache or even call + * afs_GetDSlot to map the index to the dcache since the dir + * package's caller has some dcache object locked already (so + * we cannot lock afs_xdcache). In addition, we cannot obtain + * a dcache lock while holding the tb->lock of the same file + * since that can deadlock with DRead/DNew */ + tfile = afs_CFileOpen(tb->inode); afs_CFileWrite(tfile, tb->page * AFS_BUFFER_PAGESIZE, tb->data, AFS_BUFFER_PAGESIZE); tb->dirty = 0; /* Clear the dirty flag */ @@ -484,20 +501,24 @@ DFlush(void) } void * -DNew(register struct dcache * fid, register int page) +DNew(register struct dcache *adc, register int page) { /* Same as read, only do *not* even try to read the page, since it probably doesn't exist. */ register struct buffer *tb; AFS_STATCNT(DNew); MObtainWriteLock(&afs_bufferLock, 264); - if ((tb = afs_newslot(fid, page, NULL)) == 0) { + if ((tb = afs_newslot(adc, page, NULL)) == 0) { MReleaseWriteLock(&afs_bufferLock); return 0; } /* extend the chunk, if needed */ - if ((page + 1) * AFS_BUFFER_PAGESIZE > fid->f.chunkBytes) { - afs_AdjustSize(fid, (page + 1) * AFS_BUFFER_PAGESIZE); - afs_WriteDCache(fid, 1); + /* Do it now, not in DFlush or afs_newslot when the data is written out, + * since now our caller has adc->lock writelocked, and we can't acquire + * that lock (or even map from a fid to a dcache) in afs_newslot or + * DFlush due to lock hierarchy issues */ + if ((page + 1) * AFS_BUFFER_PAGESIZE > adc->f.chunkBytes) { + afs_AdjustSize(adc, (page + 1) * AFS_BUFFER_PAGESIZE); + afs_WriteDCache(adc, 1); } MObtainWriteLock(&tb->lock, 265); MReleaseWriteLock(&afs_bufferLock); diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c index 36aede0df..e2e9dfd0a 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.3 2004/12/07 06:12:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.5 2005/02/21 01:15:34 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -1096,7 +1096,7 @@ struct iparam32 { }; -#if defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) && !defined(AFS_AMD64_LINUX20_ENV)) +#if defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)) static void iparam32_to_iparam(const struct iparam32 *src, struct iparam *dst) { @@ -1139,21 +1139,31 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst) } #endif /* AFS_SUN57_64BIT_ENV */ -#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) && !defined(AFS_AMD64_LINUX20_ENV) +#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) struct iparam32 dst32; #ifdef AFS_SPARC64_LINUX24_ENV if (current->thread.flags & SPARC_FLAG_32BIT) #elif defined(AFS_SPARC64_LINUX20_ENV) if (current->tss.flags & SPARC_FLAG_32BIT) + +#elif defined(AFS_AMD64_LINUX26_ENV) + if (test_thread_flag(TIF_IA32)) #elif defined(AFS_AMD64_LINUX20_ENV) if (current->thread.flags & THREAD_IA32) + +#elif defined(AFS_PPC64_LINUX26_ENV) + if (current->thread_info->flags & _TIF_32BIT) #elif defined(AFS_PPC64_LINUX20_ENV) if (current->thread.flags & PPC_FLAG_32BIT) + +#elif defined(AFS_S390X_LINUX26_ENV) + if (test_thread_flag(TIF_31BIT)) #elif defined(AFS_S390X_LINUX20_ENV) if (current->thread.flags & S390_FLAG_31BIT) + #else -#error Not done for this linux version +#error iparam32 not done for this linux platform #endif { AFS_COPYIN(cmarg, (caddr_t) & dst32, sizeof dst32, code); @@ -2617,10 +2627,10 @@ afs_icl_LogFreeUse(register struct afs_icl_log *logp) ObtainWriteLock(&logp->lock, 189); if (--logp->setCount == 0) { /* no more users -- free it (but keep log structure around) */ - afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); #ifdef KERNEL_HAVE_PIN unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize); #endif + afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); logp->firstUsed = logp->firstFree = 0; logp->logElements = 0; logp->datap = NULL; @@ -2643,10 +2653,10 @@ afs_icl_LogSetSize(register struct afs_icl_log *logp, afs_int32 logSize) logp->logElements = 0; /* free and allocate a new one */ - afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); #ifdef KERNEL_HAVE_PIN unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize); #endif + afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); logp->datap = (afs_int32 *) afs_osi_Alloc(sizeof(afs_int32) * logSize); #ifdef KERNEL_HAVE_PIN @@ -2670,7 +2680,10 @@ afs_icl_ZapLog(register struct afs_icl_log *logp) /* found the dude we want to remove */ *lpp = logp->nextp; osi_FreeSmallSpace(logp->name); - osi_FreeSmallSpace(logp->datap); +#ifdef KERNEL_HAVE_PIN + unpin((char *)logp->datap, sizeof(afs_int32) * logp->logSize); +#endif + afs_osi_Free(logp->datap, sizeof(afs_int32) * logp->logSize); osi_FreeSmallSpace(logp); break; /* won't find it twice */ } @@ -2928,10 +2941,10 @@ afs_icl_ZapSet(register struct afs_icl_set *setp) /* found the dude we want to remove */ *lpp = setp->nextp; osi_FreeSmallSpace(setp->name); - afs_osi_Free(setp->eventFlags, ICL_DEFAULTEVENTS); #ifdef KERNEL_HAVE_PIN unpin((char *)setp->eventFlags, ICL_DEFAULTEVENTS); #endif + afs_osi_Free(setp->eventFlags, ICL_DEFAULTEVENTS); for (i = 0; i < ICL_LOGSPERSET; i++) { if ((tlp = setp->logs[i])) afs_icl_LogReleNL(tlp); diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index bda8bc5e7..6789dd755 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.4 2004/12/07 06:12:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.7 2005/02/21 01:15:21 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -1301,8 +1301,9 @@ afs_UFSCacheStoreProc(register struct rx_call *acall, struct osi_file *afile, (*abytesXferredP) += code; #endif /* AFS_NOSTATS */ if (code != got) { + code = rx_Error(acall); osi_FreeLargeSpace(tbuffer); - return -33; + return code ? code : -33; } alen -= got; /* diff --git a/src/afs/afs_memcache.c b/src/afs/afs_memcache.c index 169dbaad3..279ccbfcc 100644 --- a/src/afs/afs_memcache.c +++ b/src/afs/afs_memcache.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_memcache.c,v 1.15.2.1 2004/12/07 06:12:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_memcache.c,v 1.15.2.2 2005/02/21 01:15:21 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #ifndef AFS_LINUX22_ENV @@ -383,8 +383,9 @@ afs_MemCacheStoreProc(register struct rx_call *acall, code = rx_WritevAlloc(acall, tiov, &tnio, RX_MAXIOVECS, tlen); RX_AFS_GLOCK(); if (code <= 0) { + code = rx_Error(acall); osi_FreeSmallSpace(tiov); - return -33; + return code ? code : -33; } tlen = code; code = afs_MemReadvBlk(mceP, offset, tiov, tnio, tlen); @@ -399,8 +400,9 @@ afs_MemCacheStoreProc(register struct rx_call *acall, (*abytesXferredP) += code; #endif /* AFS_NOSTATS */ if (code != tlen) { + code = rx_Error(acall); osi_FreeSmallSpace(tiov); - return -33; + return code ? code : -33; } offset += tlen; alen -= tlen; diff --git a/src/afs/afs_osi.c b/src/afs/afs_osi.c index d50d87843..1305ccce1 100644 --- a/src/afs/afs_osi.c +++ b/src/afs/afs_osi.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.1 2004/12/07 06:12:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.3 2005/01/31 04:25:32 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -850,30 +850,38 @@ afs_osi_TraverseProcTable(void) #endif #if defined(AFS_LINUX22_ENV) +extern rwlock_t tasklist_lock __attribute__((weak)); void afs_osi_TraverseProcTable() { struct task_struct *p; - -#ifdef EXPORTED_TASKLIST_LOCK - read_lock(&tasklist_lock); -#endif + if (&tasklist_lock) + read_lock(&tasklist_lock); #ifdef DEFINED_FOR_EACH_PROCESS for_each_process(p) if (p->pid) { +#ifdef STRUCT_TASK_STRUCT_HAS_EXIT_STATE + if (p->exit_state) + continue; +#else if (p->state & TASK_ZOMBIE) continue; +#endif afs_GCPAGs_perproc_func(p); } #else for_each_task(p) if (p->pid) { +#ifdef STRUCT_TASK_STRUCT_HAS_EXIT_STATE + if (p->exit_state) + continue; +#else if (p->state & TASK_ZOMBIE) continue; +#endif afs_GCPAGs_perproc_func(p); } #endif -#ifdef EXPORTED_TASKLIST_LOCK - read_unlock(&tasklist_lock); -#endif + if (&tasklist_lock) + read_unlock(&tasklist_lock); } #endif diff --git a/src/afs/afs_osi.h b/src/afs/afs_osi.h index 9471ba8e1..9eeb47a8e 100644 --- a/src/afs/afs_osi.h +++ b/src/afs/afs_osi.h @@ -183,15 +183,6 @@ typedef struct { typedef struct timeval osi_timeval_t; #endif /* AFS_SGI61_ENV */ -/* - * The following three routines provide the fid routines used by the buffer - * and directory packages. - */ -#define dirp_Zap(afid) ((afid) = 0) -#define dirp_Eq(afid, bfid) ((afid) == (bfid)) -#define dirp_Cpy(dfid,sfid) ((dfid) = (sfid)) - - /* * osi_ThreadUnique() should yield a value that can be found in ps * output in order to draw correspondences between ICL traces and what diff --git a/src/afs/afs_osi_pag.c b/src/afs/afs_osi_pag.c index b978da154..df057e9dd 100644 --- a/src/afs/afs_osi_pag.c +++ b/src/afs/afs_osi_pag.c @@ -23,7 +23,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.2 2004/11/09 17:09:39 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.3 2005/01/31 04:19:20 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -189,7 +189,7 @@ afs_setpag(void) #if defined(AFS_SUN5_ENV) struct AFS_UCRED **acred = *credpp; #elif defined(AFS_OBSD_ENV) - struct AFS_UCRED **acred = p->p_ucred; + struct AFS_UCRED **acred = &p->p_ucred; #else struct AFS_UCRED **acred = NULL; #endif @@ -285,7 +285,7 @@ afs_setpag_val(int pagval) #if defined(AFS_SUN5_ENV) struct AFS_UCRED **acred = *credp; #elif defined(AFS_OBSD_ENV) - struct AFS_UCRED **acred = p->p_ucred; + struct AFS_UCRED **acred = &p->p_ucred; #else struct AFS_UCRED **acred = NULL; #endif diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c index dc2a66e72..8055f5cbe 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.4 2004/12/07 06:12:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.8 2005/02/21 01:15:34 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #ifdef AFS_OBSD_ENV @@ -195,7 +195,7 @@ static int (*(CpioctlSw[])) () = { #define PSetClientContext 99 /* Special pioctl to setup caller's creds */ int afs_nobody = NFS_NOBODY; -#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64)) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) && !defined(AFS_AMD64_LINUX20_ENV)) +#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64)) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)) static void afs_ioctl32_to_afs_ioctl(const struct afs_ioctl32 *src, struct afs_ioctl *dst) { @@ -260,25 +260,31 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst) } #endif /* defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64) */ -#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) && !defined(AFS_AMD64_LINUX20_ENV) +#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV) struct afs_ioctl32 dst32; #ifdef AFS_SPARC64_LINUX24_ENV if (current->thread.flags & SPARC_FLAG_32BIT) #elif defined(AFS_SPARC64_LINUX20_ENV) if (current->tss.flags & SPARC_FLAG_32BIT) + +#elif defined(AFS_AMD64_LINUX26_ENV) + if (test_thread_flag(TIF_IA32)) #elif defined(AFS_AMD64_LINUX20_ENV) if (current->thread.flags & THREAD_IA32) + +#elif defined(AFS_PPC64_LINUX26_ENV) + if (current->thread_info->flags & _TIF_32BIT) #elif defined(AFS_PPC64_LINUX20_ENV) -#ifdef AFS_PPC64_LINUX26_ENV - if (current->thread_info->flags & _TIF_32BIT) -#else /*Linux 2.6*/ - if (current->thread.flags & PPC_FLAG_32BIT) -#endif + if (current->thread.flags & PPC_FLAG_32BIT) + +#elif defined(AFS_S390X_LINUX26_ENV) + if (test_thread_flag(TIF_31BIT)) #elif defined(AFS_S390X_LINUX20_ENV) if (current->thread.flags & S390_FLAG_31BIT) + #else -#error Not done for this linux type +#error pioctl32 not done for this linux #endif { AFS_COPYIN(cmarg, (caddr_t) & dst32, sizeof dst32, code); @@ -1119,62 +1125,64 @@ afs_HandlePioctl(struct vnode *avp, afs_int32 acom, if (inSize > MAXPIOCTLTOKENLEN || inSize < 0 || ablob->out_size < 0) return E2BIG; + /* Note that we use osi_Alloc for large allocs and osi_AllocLargeSpace for small ones */ if (inSize > AFS_LRALLOCSIZ) { - inData = osi_AllocLargeSpace(inSize+1); + inData = osi_Alloc(inSize + 1); } else { - inData = osi_AllocLargeSpace(AFS_LRALLOCSIZ); + inData = osi_AllocLargeSpace(AFS_LRALLOCSIZ); } if (!inData) - return ENOMEM; + return ENOMEM; if (inSize > 0) { AFS_COPYIN(ablob->in, inData, inSize, code); inData[inSize] = '\0'; } else code = 0; if (code) { - if (inSize > AFS_LRALLOCSIZ) { - osi_Free(inData, inSize+1); - } else { - osi_FreeLargeSpace(inData); - } - afs_PutFakeStat(&fakestate); - return code; + if (inSize > AFS_LRALLOCSIZ) { + osi_Free(inData, inSize + 1); + } else { + osi_FreeLargeSpace(inData); + } + afs_PutFakeStat(&fakestate); + return code; } - if (function == 8 && device == 'V') { /* PGetTokens */ - outSizeMax = MAXPIOCTLTOKENLEN; - outData = osi_Alloc(outSizeMax); + if (function == 8 && device == 'V') { /* PGetTokens */ + outSizeMax = MAXPIOCTLTOKENLEN; + outData = osi_Alloc(outSizeMax); } else { - outSizeMax = AFS_LRALLOCSIZ; - outData = osi_AllocLargeSpace(AFS_LRALLOCSIZ); + outSizeMax = AFS_LRALLOCSIZ; + outData = osi_AllocLargeSpace(AFS_LRALLOCSIZ); } if (!outData) { - if (inSize > AFS_LRALLOCSIZ) { - osi_Free(inData, inSize+1); - } else { - osi_FreeLargeSpace(inData); - } - return ENOMEM; + if (inSize > AFS_LRALLOCSIZ) { + osi_Free(inData, inSize + 1); + } else { + osi_FreeLargeSpace(inData); + } + afs_PutFakeStat(&fakestate); + return ENOMEM; } outSize = 0; code = (*pioctlSw[function]) (avc, function, &treq, inData, outData, inSize, &outSize, acred); if (inSize > AFS_LRALLOCSIZ) { - osi_Free(inData, inSize+1); + osi_Free(inData, inSize + 1); } else { - osi_FreeLargeSpace(inData); + osi_FreeLargeSpace(inData); } if (code == 0 && ablob->out_size > 0) { - if (outSize > ablob->out_size) { - code = E2BIG; /* data wont fit in user buffer */ - } else if (outSize) { - AFS_COPYOUT(outData, ablob->out, outSize, code); - } + if (outSize > ablob->out_size) { + code = E2BIG; /* data wont fit in user buffer */ + } else if (outSize) { + AFS_COPYOUT(outData, ablob->out, outSize, code); + } } if (outSizeMax > AFS_LRALLOCSIZ) { - osi_Free(outData, outSizeMax); + osi_Free(outData, outSizeMax); } else { - osi_FreeLargeSpace(outData); + osi_FreeLargeSpace(outData); } afs_PutFakeStat(&fakestate); return afs_CheckCode(code, &treq, 41); @@ -2762,8 +2770,8 @@ DECL_PIOCTL(PSetSysName) return error; } } else { - foundname = num; - strcpy(outname, (*sysnamelist)[0]); + foundname = num; + strcpy(outname, (*sysnamelist)[0]); } afs_PutUser(au, READ_LOCK); } else { @@ -3770,21 +3778,22 @@ DECL_PIOCTL(PCallBackAddr) struct unixuser *tu; struct srvAddr **addrs; - /*AFS_STATCNT(PCallBackAddr);*/ - if ( !afs_resourceinit_flag ) /* afs deamons havn't started yet */ - return EIO; /* Inappropriate ioctl for device */ + /*AFS_STATCNT(PCallBackAddr); */ + if (!afs_resourceinit_flag) /* afs deamons havn't started yet */ + return EIO; /* Inappropriate ioctl for device */ if (!afs_osi_suser(acred)) return EACCES; - if ( ainSize < sizeof(afs_int32) ) + if (ainSize < sizeof(afs_int32)) return EINVAL; memcpy(&addr, ain, sizeof(afs_int32)); ObtainReadLock(&afs_xinterface); - for ( i=0; (unsigned short)i < afs_cb_interface.numberOfInterfaces; i++) { - if (afs_cb_interface.addr_in[i] == addr) break; + for (i = 0; (unsigned short)i < afs_cb_interface.numberOfInterfaces; i++) { + if (afs_cb_interface.addr_in[i] == addr) + break; } ReleaseWriteLock(&afs_xinterface); @@ -3792,65 +3801,65 @@ DECL_PIOCTL(PCallBackAddr) if (afs_cb_interface.addr_in[i] != addr) return EINVAL; - ObtainReadLock(&afs_xserver); /* Necessary? */ + ObtainReadLock(&afs_xserver); /* Necessary? */ ObtainReadLock(&afs_xsrvAddr); srvAddrCount = 0; - for (i=0;inext_bkt) { - srvAddrCount++; - } + for (i = 0; i < NSERVERS; i++) { + for (sa = afs_srvAddrs[i]; sa; sa = sa->next_bkt) { + srvAddrCount++; + } } addrs = afs_osi_Alloc(srvAddrCount * sizeof(*addrs)); j = 0; - for (i=0;inext_bkt) { - if (j >= srvAddrCount) break; - addrs[j++] = sa; - } + for (i = 0; i < NSERVERS; i++) { + for (sa = afs_srvAddrs[i]; sa; sa = sa->next_bkt) { + if (j >= srvAddrCount) + break; + addrs[j++] = sa; + } } ReleaseReadLock(&afs_xsrvAddr); ReleaseReadLock(&afs_xserver); - for (i=0; iserver; - if (!ts) - continue; - - /* vlserver has no callback conn */ - if (sa->sa_portal == AFS_VLPORT) { - continue; - } - - if (!ts->cell) /* not really an active server, anyway, it must */ - continue; /* have just been added by setsprefs */ - - /* get a connection, even if host is down; bumps conn ref count */ - tu = afs_GetUser(areq->uid, ts->cell->cellNum, SHARED_LOCK); - tc = afs_ConnBySA(sa, ts->cell->fsport, ts->cell->cellNum, tu, - 1/*force*/, 1/*create*/, SHARED_LOCK); - afs_PutUser(tu, SHARED_LOCK); - if (!tc) + for (i = 0; i < j; i++) { + sa = addrs[i]; + ts = sa->server; + if (!ts) continue; - if ((sa->sa_flags & SRVADDR_ISDOWN) || afs_HaveCallBacksFrom(ts)) { - if (sa->sa_flags & SRVADDR_ISDOWN) { - rx_SetConnDeadTime(tc->id, 3); - } + /* vlserver has no callback conn */ + if (sa->sa_portal == AFS_VLPORT) { + continue; + } + + if (!ts->cell) /* not really an active server, anyway, it must */ + continue; /* have just been added by setsprefs */ + /* get a connection, even if host is down; bumps conn ref count */ + tu = afs_GetUser(areq->uid, ts->cell->cellNum, SHARED_LOCK); + tc = afs_ConnBySA(sa, ts->cell->fsport, ts->cell->cellNum, tu, + 1 /*force */ , 1 /*create */ , SHARED_LOCK); + afs_PutUser(tu, SHARED_LOCK); + if (!tc) + continue; + + if ((sa->sa_flags & SRVADDR_ISDOWN) || afs_HaveCallBacksFrom(ts)) { + if (sa->sa_flags & SRVADDR_ISDOWN) { + rx_SetConnDeadTime(tc->id, 3); + } #ifdef RX_ENABLE_LOCKS - AFS_GUNLOCK(); + AFS_GUNLOCK(); #endif /* RX_ENABLE_LOCKS */ code = RXAFS_CallBackRxConnAddr(tc->id, &addr); #ifdef RX_ENABLE_LOCKS - AFS_GLOCK(); + AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ } - afs_PutConn(tc, SHARED_LOCK); /* done with it now */ - } /* Outer loop over addrs */ + afs_PutConn(tc, SHARED_LOCK); /* done with it now */ + } /* Outer loop over addrs */ #endif /* UKERNEL */ return 0; } diff --git a/src/afs/afs_segments.c b/src/afs/afs_segments.c index 8da25423d..ac5b6b85b 100644 --- a/src/afs/afs_segments.c +++ b/src/afs/afs_segments.c @@ -14,7 +14,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.4 2004/12/07 06:12:12 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.5 2005/02/21 01:15:21 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -60,8 +60,8 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq) do { tc = afs_Conn(&avc->fid, areq, SHARED_LOCK); if (tc) { - RX_AFS_GUNLOCK(); retry: + RX_AFS_GUNLOCK(); tcall = rx_NewCall(tc->id); RX_AFS_GLOCK(); /* Set the client mod time since we always want the file @@ -104,17 +104,16 @@ afs_StoreMini(register struct vcache *avc, struct vrequest *areq) #endif /* AFS_64BIT_CLIENT */ if (code == 0) { code = EndRXAFS_StoreData(tcall, &OutStatus, &tsync); -#ifdef AFS_64BIT_CLIENT - if (code == RXGEN_OPCODE) { - afs_serverSetNo64Bit(tc); - code = rx_EndCall(tcall, code); - goto retry; - } -#endif /* AFS_64BIT_CLIENT */ } code = rx_EndCall(tcall, code); RX_AFS_GLOCK(); XSTATS_END_TIME; +#ifdef AFS_64BIT_CLIENT + if (code == RXGEN_OPCODE && !afs_serverHasNo64Bit(tc)) { + afs_serverSetNo64Bit(tc); + goto retry; + } +#endif /* AFS_64BIT_CLIENT */ } else code = -1; } while (afs_Analyze @@ -508,14 +507,8 @@ afs_StoreAllSegments(register struct vcache *avc, struct vrequest *areq, shouldwake, &lp1, &lp2); #endif /* AFS_NOSTATS */ afs_CFileClose(tfile); -#ifdef AFS_64BIT_CLIENT - if (code == RXGEN_OPCODE) { - afs_serverSetNo64Bit(tc); - goto restart; - } -#endif /* AFS_64BIT_CLIENT */ if ((tdc->f.chunkBytes < afs_OtherCSize) - && (i < (nchunks - 1))) { + && (i < (nchunks - 1)) && code == 0) { int bsent, tlen, sbytes = afs_OtherCSize - tdc->f.chunkBytes; char *tbuffer = @@ -567,6 +560,12 @@ afs_StoreAllSegments(register struct vcache *avc, struct vrequest *areq, if (code2) code = code2; } +#ifdef AFS_64BIT_CLIENT + if (code == RXGEN_OPCODE && !afs_serverHasNo64Bit(tc)) { + afs_serverSetNo64Bit(tc); + goto restart; + } +#endif /* AFS_64BIT_CLIENT */ } while (afs_Analyze (tc, code, &avc->fid, areq, AFS_STATS_FS_RPCIDX_STOREDATA, SHARED_LOCK, diff --git a/src/afs/afs_server.c b/src/afs/afs_server.c index d54d91287..50060d99b 100644 --- a/src/afs/afs_server.c +++ b/src/afs/afs_server.c @@ -33,7 +33,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.3 2004/12/07 06:12:40 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.5 2005/02/21 01:12:38 shadow Exp $"); #include "afs/stds.h" #include "afs/sysincludes.h" /* Standard vendor system headers */ @@ -499,7 +499,6 @@ afs_CheckServers(int adown, struct cell *acellp) afs_int32 i, j; afs_int32 code; afs_int32 start, end = 0, delta; - afs_int32 m_error; osi_timeval_t tv; struct unixuser *tu; char tbuffer[CVBS]; @@ -508,7 +507,7 @@ afs_CheckServers(int adown, struct cell *acellp) struct conn **conns; int nconns; struct rx_connection **rxconns; - afs_int32 *conntimer, *deltas; + afs_int32 *conntimer, *deltas, *results; AFS_STATCNT(afs_CheckServers); @@ -546,6 +545,7 @@ afs_CheckServers(int adown, struct cell *acellp) rxconns = (struct rx_connection **)afs_osi_Alloc(j * sizeof(struct rx_connection *)); conntimer = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32)); deltas = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32)); + results = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32)); for (i = 0; i < j; i++) { deltas[i] = 0; @@ -604,9 +604,9 @@ afs_CheckServers(int adown, struct cell *acellp) tc = conns[multi_i]; sa = tc->srvr; if (conntimer[multi_i] == 0) - rx_SetConnDeadTime(tc->id, AFS_RXDEADTIME); + rx_SetConnDeadTime(tc->id, afs_rx_deadtime); end = osi_Time(); - m_error=multi_error; + results[multi_i]=multi_error; if ((start == end) && !multi_error) deltas[multi_i] = end - tv.tv_sec; @@ -617,7 +617,7 @@ afs_CheckServers(int adown, struct cell *acellp) tc = conns[i]; sa = tc->srvr; - if (( m_error >= 0 ) && (sa->sa_flags & SRVADDR_ISDOWN) && (tc->srvr == sa)) { + if (( results[i] >= 0 ) && (sa->sa_flags & SRVADDR_ISDOWN) && (tc->srvr == sa)) { /* server back up */ print_internet_address("afs: file server ", sa, " is back up", 2); @@ -631,7 +631,7 @@ afs_CheckServers(int adown, struct cell *acellp) afs_osi_Wakeup(&afs_waitForever); } } else { - if (m_error < 0) { + if (results[i] < 0) { /* server crashed */ afs_ServerDown(sa); ForceNewConnections(sa); /* multi homed clients */ @@ -713,6 +713,7 @@ afs_CheckServers(int adown, struct cell *acellp) afs_osi_Free(rxconns, j * sizeof(struct rx_connection *)); afs_osi_Free(conntimer, j * sizeof(afs_int32)); afs_osi_Free(deltas, j * sizeof(afs_int32)); + afs_osi_Free(results, j * sizeof(afs_int32)); } /*afs_CheckServers*/ diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index 9208fbd4e..3b7549c27 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -39,7 +39,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.4 2004/10/18 17:43:50 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.10 2005/02/21 01:12:53 shadow Exp $"); #include "afs/sysincludes.h" /*Standard vendor system headers */ #include "afsincludes.h" /*AFS-based standard headers */ @@ -557,153 +557,6 @@ afs_RemoveVCB(struct VenusFid *afid) MReleaseWriteLock(&afs_xvcb); } -#if defined(AFS_LINUX22_ENV) && !defined(AFS_LINUX26_ENV) - -static void -__shrink_dcache_parent(struct dentry *parent) -{ - struct dentry *this_parent = parent; - struct list_head *next; - int found = 0; - LIST_HEAD(afs_dentry_unused); - - repeat: - next = this_parent->d_subdirs.next; - resume: - while (next != &this_parent->d_subdirs) { - struct list_head *tmp = next; - struct dentry *dentry = list_entry(tmp, struct dentry, d_child); - next = tmp->next; - if (!DCOUNT(dentry)) { - list_del(&dentry->d_lru); - list_add(&dentry->d_lru, afs_dentry_unused.prev); - found++; - } - /* - * Descend a level if the d_subdirs list is non-empty. - */ - if (!list_empty(&dentry->d_subdirs)) { - this_parent = dentry; - goto repeat; - } - } - /* - * All done at this level ... ascend and resume the search. - */ - if (this_parent != parent) { - next = this_parent->d_child.next; - this_parent = this_parent->d_parent; - goto resume; - } - - for (;;) { - struct dentry *dentry; - struct list_head *tmp; - - tmp = afs_dentry_unused.prev; - - if (tmp == &afs_dentry_unused) - break; -#ifdef AFS_LINUX24_ENV - list_del_init(tmp); -#else - list_del(tmp); - INIT_LIST_HEAD(tmp); -#endif /* AFS_LINUX24_ENV */ - dentry = list_entry(tmp, struct dentry, d_lru); - -#ifdef AFS_LINUX24_ENV - /* Unused dentry with a count? */ - if (DCOUNT(dentry)) - BUG(); -#endif - DGET(dentry); -#ifdef AFS_LINUX24_ENV - list_del_init(&dentry->d_hash); /* d_drop */ -#else - list_del(&dentry->d_hash); - INIT_LIST_HEAD(&dentry->d_hash); -#endif /* AFS_LINUX24_ENV */ - DUNLOCK(); - dput(dentry); - DLOCK(); - if (!--found) - break; - } -} - -/* afs_TryFlushDcacheChildren -- Shakes loose vcache references held by - * children of the dentry - * - * LOCKS -- Called with afs_xvcache write locked. Drops and reaquires - * AFS_GLOCK, so it can call dput, which may call iput, but - * keeps afs_xvcache exclusively. - * - * Tree traversal algorithm from fs/dcache.c: select_parent() - */ -static void -afs_TryFlushDcacheChildren(struct vcache *tvc) -{ - struct inode *ip = AFSTOI(tvc); - struct dentry *this_parent; - struct list_head *next; - struct list_head *cur; - struct list_head *head = &ip->i_dentry; - struct dentry *dentry; - - AFS_GUNLOCK(); - restart: -#ifndef old_vcache_scheme - DLOCK(); - cur = head; - while ((cur = cur->next) != head) { - dentry = list_entry(cur, struct dentry, d_alias); - - if (!list_empty(&dentry->d_hash) && !list_empty(&dentry->d_subdirs)) - __shrink_dcache_parent(dentry); - - if (!DCOUNT(dentry)) { - DGET(dentry); -#ifdef AFS_LINUX24_ENV - list_del_init(&dentry->d_hash); /* d_drop */ -#else - list_del(&dentry->d_hash); - INIT_LIST_HEAD(&dentry->d_hash); -#endif /* AFS_LINUX24_ENV */ - DUNLOCK(); - dput(dentry); - goto restart; - } - } - DUNLOCK(); - AFS_GLOCK(); -#else - restart: - DLOCK(); - cur = head; - while ((cur = cur->next) != head) { - dentry = list_entry(cur, struct dentry, d_alias); - - afs_Trace3(afs_iclSetp, CM_TRACE_TRYFLUSHDCACHECHILDREN, - ICL_TYPE_POINTER, ip, ICL_TYPE_STRING, - dentry->d_parent->d_name.name, ICL_TYPE_STRING, - dentry->d_name.name); - - if (!DCOUNT(dentry)) { - AFS_GUNLOCK(); - DGET(dentry); - DUNLOCK(); - d_drop(dentry); - dput(dentry); - AFS_GLOCK(); - goto restart; - } - } - DUNLOCK(); -#endif -} -#endif /* AFS_LINUX22_ENV && !AFS_LINUX26_ENV */ - /* * afs_NewVCache * @@ -839,22 +692,41 @@ afs_NewVCache(struct VenusFid *afid, struct server *serverp) } #elif defined(AFS_LINUX22_ENV) if (tvc != afs_globalVp && VREFCOUNT(tvc) && tvc->opens == 0) { -#if defined(AFS_LINUX26_ENV) struct dentry *dentry; struct list_head *cur, *head = &(AFSTOI(tvc))->i_dentry; + AFS_FAST_HOLD(tvc); AFS_GUNLOCK(); - cur=head; + +restart: +#if defined(AFS_LINUX24_ENV) + spin_lock(&dcache_lock); +#endif + cur = head; while ((cur = cur->next) != head) { dentry = list_entry(cur, struct dentry, d_alias); - if (!d_unhashed(dentry) && - !list_empty(&dentry->d_subdirs)) - shrink_dcache_parent(dentry); - } - d_prune_aliases(AFSTOI(tvc)); - AFS_GLOCK(); -#else - afs_TryFlushDcacheChildren(tvc); + + if (d_unhashed(dentry)) + continue; + + dget_locked(dentry); + +#if defined(AFS_LINUX24_ENV) + spin_unlock(&dcache_lock); #endif + if (d_invalidate(dentry) == -EBUSY) { + dput(dentry); + /* perhaps lock and try to continue? (use cur as head?) */ + goto inuse; + } + dput(dentry); + goto restart; + } +#if defined(AFS_LINUX24_ENV) + spin_unlock(&dcache_lock); +#endif + inuse: + AFS_GLOCK(); + AFS_FAST_RELE(tvc); } #endif @@ -1080,6 +952,9 @@ afs_NewVCache(struct VenusFid *afid, struct server *serverp) #endif ip->i_sb = afs_globalVFS; put_inode_on_dummy_list(ip); +#ifdef STRUCT_INODE_HAS_I_SB_LIST + list_add(&ip->i_sb_list, &ip->i_sb->s_inodes); +#endif } #endif @@ -2895,6 +2770,17 @@ afs_vcacheInit(int astatSize) LOCK_INIT(&afs_xvcb, "afs_xvcb"); #if !defined(AFS_OSF_ENV) +#ifdef AFS_LINUX26_ENV + printf("old style would have needed %d contiguous bytes\n", astatSize * + sizeof(struct vcache)); + Initial_freeVCList = freeVCList = tvp = (struct vcache *) + afs_osi_Alloc(sizeof(struct vcache)); + for (i = 0; i < astatSize; i++) { + tvp->nextfree = (struct vcache *) afs_osi_Alloc(sizeof(struct vcache)); + tvp = tvp->nextfree; + } + tvp->nextfree = NULL; +#else /* Allocate and thread the struct vcache entries */ tvp = (struct vcache *)afs_osi_Alloc(astatSize * sizeof(struct vcache)); memset((char *)tvp, 0, sizeof(struct vcache) * astatSize); @@ -2909,7 +2795,7 @@ afs_vcacheInit(int astatSize) pin((char *)tvp, astatSize * sizeof(struct vcache)); /* XXX */ #endif #endif - +#endif #if defined(AFS_SGI_ENV) for (i = 0; i < astatSize; i++) { @@ -3019,12 +2905,25 @@ shutdown_vcache(void) } afs_cbrSpace = 0; +#ifdef AFS_LINUX26_ENV + { + struct vcache *tvp = Initial_freeVCList; + while (tvp) { + struct vcache *next = tvp->nextfree; + + afs_osi_Free(tvp, sizeof(struct vcache)); + tvp = next; + } + } +#else #ifdef KERNEL_HAVE_PIN unpin(Initial_freeVCList, afs_cacheStats * sizeof(struct vcache)); #endif #if !defined(AFS_OSF_ENV) afs_osi_Free(Initial_freeVCList, afs_cacheStats * sizeof(struct vcache)); #endif +#endif + #if !defined(AFS_OSF_ENV) freeVCList = Initial_freeVCList = 0; #endif diff --git a/src/afs/sysincludes.h b/src/afs/sysincludes.h index b0dcf2170..d592679ae 100644 --- a/src/afs/sysincludes.h +++ b/src/afs/sysincludes.h @@ -84,10 +84,12 @@ struct xfs_inode_info { #include #include #include +#include #include #include #include #include +#include #include #include #include diff --git a/src/afsd/Makefile.in b/src/afsd/Makefile.in index f729e2c38..3d0c6dbee 100644 --- a/src/afsd/Makefile.in +++ b/src/afsd/Makefile.in @@ -72,7 +72,7 @@ dest: ${DEST}/root.client/usr/vice/etc/afsd ${DEST}/etc/vsys ${INSTALL} -f ${srcdir}/afs.rc.solaris.2.7 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\ sun*_58 ) \ ${INSTALL} -f ${srcdir}/afs.rc.solaris.2.8 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\ - sun*_59 ) \ + sun*_59 | sun*_510 ) \ ${INSTALL} -f ${srcdir}/afs.rc.solaris.2.9 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\ sun4x_5? ) \ ${INSTALL} -f ${srcdir}/afs.rc.solaris.2_5 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\ diff --git a/src/afsd/afs.rc.solaris.2.9 b/src/afsd/afs.rc.solaris.2.9 index b4c91e0f5..2f6d28555 100644 --- a/src/afsd/afs.rc.solaris.2.9 +++ b/src/afsd/afs.rc.solaris.2.9 @@ -62,6 +62,9 @@ fi ## If sparcv9 then the location of the afs and nfs extensions differ case `/bin/isalist` in + *amd64* ) + nfssrv=/kernel/misc/amd64/nfssrv + afs=/kernel/fs/amd64/afs ;; *sparcv9* ) nfssrv=/kernel/misc/sparcv9/nfssrv afs=/kernel/fs/sparcv9/afs ;; diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index d30001982..c8fd61631 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -56,7 +56,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.1 2004/12/07 18:25:08 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.2 2005/01/31 04:09:51 shadow Exp $"); #define VFS 1 @@ -1932,7 +1932,9 @@ mainproc(as, arock) if (afsd_debug) printf("%s: Calling AFSOP_VOLUMEINFO: volume info file is '%s'\n", rn, fullpn_VolInfoFile); - call_syscall(AFSOP_VOLUMEINFO, fullpn_VolInfoFile); + /* once again, meaningless for a memory-based cache. */ + if (!(cacheFlags & AFSCALL_INIT_MEMCACHE)) + call_syscall(AFSOP_VOLUMEINFO, fullpn_VolInfoFile); /* * Pass the kernel the name of the afs logging file holding the volume diff --git a/src/cf/linux-test3.m4 b/src/cf/linux-test3.m4 index fdfb60995..89ea5728c 100644 --- a/src/cf/linux-test3.m4 +++ b/src/cf/linux-test3.m4 @@ -116,7 +116,7 @@ CPPFLAGS="$save_CPPFLAGS"]) AC_DEFUN([LINUX_KERNEL_PAGE_FOLLOW_LINK],[ AC_MSG_CHECKING(for page_follow_link_light vs page_follow_link) save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -Werror-implicit-function-declaration -D__KERNEL__ $CPPFLAGS" AC_CACHE_VAL(ac_cv_linux_kernel_page_follow_link, [ AC_TRY_COMPILE( @@ -126,5 +126,5 @@ AC_TRY_COMPILE( ], ac_cv_linux_kernel_page_follow_link=yes, ac_cv_linux_kernel_page_follow_link=no)]) -AC_MSG_RESULT($ac_cv_linux_kernel_page_follow_page) +AC_MSG_RESULT($ac_cv_linux_kernel_page_follow_link) CPPFLAGS="$save_CPPFLAGS"]) diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 08e0c974b..4da0611b0 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -188,23 +188,6 @@ 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" -CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" -AC_CACHE_VAL(ac_cv_linux_exports_tasklist_lock, -[ -AC_TRY_COMPILE( -[#include ], -[#ifndef __ver_tasklist_lock -#error tasklist_lock not exported -#endif], -ac_cv_linux_exports_tasklist_lock=yes, -ac_cv_linux_exports_tasklist_lock=no)]) -AC_MSG_RESULT($ac_cv_linux_exports_tasklist_lock) -CPPFLAGS="$save_CPPFLAGS"]) - - AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_CDEV], [ AC_MSG_CHECKING(for i_cdev in struct inode) save_CPPFLAGS="$CPPFLAGS" @@ -301,6 +284,22 @@ AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_security) CPPFLAGS="$save_CPPFLAGS"]) +AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST], [ +AC_MSG_CHECKING(for i_sb_list in struct inode) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_sb_list, +[ +AC_TRY_COMPILE( +[#include ], +[struct inode _inode; +printf("%d\n", _inode.i_sb_list);], +ac_cv_linux_fs_struct_inode_has_i_sb_list=yes, +ac_cv_linux_fs_struct_inode_has_i_sb_list=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_sb_list) +CPPFLAGS="$save_CPPFLAGS"]) + + AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE],[ AC_MSG_CHECKING(for recalc_sigpending arg type) save_CPPFLAGS="$CPPFLAGS" @@ -392,3 +391,48 @@ ac_cv_linux_sched_struct_task_struct_has_sighand=yes, ac_cv_linux_sched_struct_task_struct_has_sighand=no)]) AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sighand) CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM], [ +AC_MSG_CHECKING(for rlim in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_rlim, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.rlim);], +ac_cv_linux_sched_struct_task_struct_has_rlim=yes, +ac_cv_linux_sched_struct_task_struct_has_rlim=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_rlim) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM], [ +AC_MSG_CHECKING(for signal->rlim in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_signal_rlim, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.signal->rlim);], +ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes, +ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_signal_rlim) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE], [ +AC_MSG_CHECKING(for exit_state in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -I${LINUX_KERNEL_PATH}/include/asm/mach-${SUBARCH} -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_exit_state, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.exit_state);], +ac_cv_linux_sched_struct_task_struct_has_exit_state=yes, +ac_cv_linux_sched_struct_task_struct_has_exit_state=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_exit_state) +CPPFLAGS="$save_CPPFLAGS"]) diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 2adcb09eb..d1c930037 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -195,7 +195,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*) + *nbsd2*|*nbsd3*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon @@ -414,21 +414,7 @@ case $AFS_SYSNAME in EXTRA_VLIBOBJS="fstab.o" ;; - ppc_linux22) - INSTALL="install" - KERN_OPTMZ=-O2 - LEX="flex -l" - MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' - MT_LIBS="-lpthread" - PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC" - SHLIB_LDFLAGS="-shared -Xlinker -x" - TXLIBS="-lncurses" - XCFLAGS="-O2 -D_LARGEFILE64_SOURCE" - YACC="bison -y" - SHLIB_LINKER="${MT_CC} -shared" - ;; - - ppc_linux24) + ppc_linux*) KERN_OPTMZ=-O2 LEX="flex -l" MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}' @@ -503,7 +489,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390_linux24) + s390_linux24|s390_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -520,7 +506,7 @@ case $AFS_SYSNAME in SHLIB_LINKER="${MT_CC} -shared" ;; - s390x_linux24) + s390x_linux24|s390x_linux26) CC="gcc" CCOBJ="gcc" LD="ld" @@ -786,7 +772,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -807,7 +793,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -828,7 +814,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" @@ -849,7 +835,7 @@ case $AFS_SYSNAME in SHLIB_CFLAGS="-KPIC" SHLIB_LDFLAGS="-G -Bsymbolic" TXLIBS="-lcurses" - XCFLAGS64='${XCFLAGS} -xarch=v9' + XCFLAGS64='${XCFLAGS} -xarch=amd64' XCFLAGS="-dy -Bdynamic" XLIBELFA="-lelf" XLIBKVM="-lkvm" diff --git a/src/config/NTMakefile.i386_nt40 b/src/config/NTMakefile.i386_nt40 index 5b23feee5..3cc52e9a0 100644 --- a/src/config/NTMakefile.i386_nt40 +++ b/src/config/NTMakefile.i386_nt40 @@ -80,7 +80,7 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=3 -AFSPRODUCT_VER_PATCH=7700 +AFSPRODUCT_VER_PATCH=7701 AFSPRODUCT_VER_BUILD=0 # For MSI installer, each major release should have a different GUID diff --git a/src/config/afs_args.h b/src/config/afs_args.h index e28eae5ff..4c2a8f458 100644 --- a/src/config/afs_args.h +++ b/src/config/afs_args.h @@ -191,6 +191,14 @@ struct afsprocdata { long param1; long syscall; }; + +struct afsprocdata32 { + unsigned int param4; + unsigned int param3; + unsigned int param2; + unsigned int param1; + unsigned int syscall; +}; #endif diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index 25e000471..470ddf04d 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -154,6 +154,7 @@ #define SYS_NAME_ID_s390x_linux2 1903 #define SYS_NAME_ID_s390x_linux22 1904 #define SYS_NAME_ID_s390x_linux24 1905 +#define SYS_NAME_ID_s390x_linux26 1906 #define SYS_NAME_ID_alpha_linux_2 2000 #define SYS_NAME_ID_alpha_linux_22 2001 @@ -198,6 +199,7 @@ #define SYS_NAME_ID_sparc64_nbsd20 2523 #define SYS_NAME_ID_macppc_nbsd20 2524 #define SYS_NAME_ID_i386_nbsd21 2525 +#define SYS_NAME_ID_i386_nbsd30 2526 #define SYS_NAME_ID_i386_obsd31 2600 #define SYS_NAME_ID_i386_obsd32 2601 @@ -221,6 +223,8 @@ #define SYS_NAME_ID_ppc64_linux24 2902 #define SYS_NAME_ID_ppc64_linux26 2903 +#define SYS_NAME_ID_amd64_fbsd_53 3008 + /* * Placeholder to keep system-wide standard flags since this file is included by all * files (i.e in afs/param.h) diff --git a/src/config/afsconfig.h.in b/src/config/afsconfig.h.in index fec37ff57..4b7ff2933 100644 --- a/src/config/afsconfig.h.in +++ b/src/config/afsconfig.h.in @@ -313,9 +313,6 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - /* define if your recalc_sigpending takes void */ #undef RECALC_SIGPENDING_TAKES_VOID @@ -343,6 +340,9 @@ /* define if you struct inode has i_devices */ #undef STRUCT_INODE_HAS_I_DEVICES +/* define if you struct inode has i_sb_list */ +#undef STRUCT_INODE_HAS_I_SB_LIST + /* define if your struct inode has data_buffers */ #undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS @@ -370,6 +370,33 @@ /* define if your struct task_struct has sigmask_lock */ #undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK +/* define if your struct task_struct has rlim */ +#undef STRUCT_TASK_STRUCT_HAS_RLIM + +/* define if your struct task_struct has signal->rlim */ +#undef STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM + +/* define if your struct task_struct has exit_state */ +#undef STRUCT_TASK_STRUCT_HAS_EXIT_STATE + +/* define if you have a struct buf */ +#undef HAVE_STRUCT_BUF + +/* define if you have a struct buf */ +#undef HAVE_STRUCT_BUF + +/* define if you struct sockaddr sa_len */ +#undef STRUCT_SOCKADDR_HAS_SA_LEN + +/* define if you have socket */ +#undef HAVE_SOCKET + +/* define if you have connect */ +#undef HAVE_CONNECT + +/* define if you have gethostbyname */ +#undef HAVE_GETHOSTBYNAME + /* define if you want to have support for nested pts groups */ #undef SUPERGROUPS diff --git a/src/config/make_libafs_tree.pl b/src/config/make_libafs_tree.pl index dcd08eb89..f29d40f6d 100644 --- a/src/config/make_libafs_tree.pl +++ b/src/config/make_libafs_tree.pl @@ -63,7 +63,7 @@ finddepth(\&find_libafsdep, $projdir); # # Manual actions # -©it("$projdir/configure-libafs", "$treedir/configure-libafs"); +©it("$projdir/configure-libafs", "$treedir/configure"); ©it("$projdir/Makefile-libafs.in", "$treedir/Makefile.in"); system("$objdir/src/config/config", diff --git a/src/config/param.amd64_fbsd_53.h b/src/config/param.amd64_fbsd_53.h new file mode 100644 index 000000000..79f229d70 --- /dev/null +++ b/src/config/param.amd64_fbsd_53.h @@ -0,0 +1,202 @@ +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#ifndef UKERNEL +/* This section for kernel libafs compiles only */ + +#ifndef IGNORE_STDS_H +#include +#endif + +#define AFS_XBSD_ENV 1 /* {Free,Open,Net}BSD */ +#define AFS_X86_XBSD_ENV 1 + +#define AFS_NAMEI_ENV 1 /* User space interface to file system */ +#define AFS_64BIT_ENV 1 +#define AFS_64BIT_CLIENT 1 +#define AFS_64BIT_IOPS_ENV 1 /* Needed for NAMEI */ +#define AFS_FBSD_ENV 1 +#define AFS_FBSD40_ENV 1 +#define AFS_FBSD42_ENV 1 +#define AFS_FBSD43_ENV 1 +#define AFS_FBSD44_ENV 1 +#define AFS_FBSD45_ENV 1 +#define AFS_FBSD46_ENV 1 +#define AFS_FBSD47_ENV 1 +#define AFS_FBSD50_ENV 1 +#define AFS_FBSD51_ENV 1 +#define AFS_FBSD52_ENV 1 +#define AFS_FBSD53_ENV 1 +#define AFS_X86_FBSD_ENV 1 +#define AFS_X86_FBSD40_ENV 1 +#define AFS_X86_FBSD42_ENV 1 +#define AFS_X86_FBSD43_ENV 1 +#define AFS_X86_FBSD46_ENV 1 +#define AFS_X86_FBSD47_ENV 1 +#define AFS_X86_FBSD50_ENV 1 +#define AFS_X86_ENV 1 +#define AFS_NONFSTRANS 1 +#define FTRUNC O_TRUNC + +#define IUPD 0x0010 +#define IACC 0x0020 +#define ICHG 0x0040 +#define IMOD 0x0080 + +#define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ + NULL, curproc) +#define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ + NULL, curproc) + +#include + +#define AFS_VM_RDWR_ENV 1 +#define AFS_VFS_ENV 1 +#define AFS_VFSINCL_ENV 1 +#define AFS_GREEDY43_ENV 1 +#define AFS_ENV 1 + +#define AFS_SYSCALL 339 +#define AFS_MOUNT_AFS "afs" + +#ifndef MOUNT_UFS +#define MOUNT_UFS "ufs" +#endif + +#ifndef MOUNT_AFS +#define MOUNT_AFS AFS_MOUNT_AFS +#endif +#define SYS_NAME "amd64_fbsd_53" +#define SYS_NAME_ID SYS_NAME_ID_amd64_fbsd_53 + +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't supports statvfs */ + +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ + +#define AFSLITTLE_ENDIAN 1 + +/* Extra kernel definitions (from kdefs file) */ +#ifdef _KERNEL +#define AFS_GLOBAL_SUNLOCK 1 +#define AFS_VFS34 1 /* What is VFS34??? */ +#define AFS_SHORTGID 0 /* are group id's short? */ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_resid uio_resid +#define AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES CLBYTES +#define osi_GetTime(x) microtime(x) +#define AFS_KALLOC(x) osi_fbsd_alloc((x), 1) +#undef AFS_KALLOC_NOSLEEP +#define AFS_KALLOC_NOSLEEP(x) osi_fbsd_alloc((x), 0) +#define AFS_KFREE(x,y) osi_fbsd_free((x)) +#define v_count v_usecount +#define v_vfsp v_mount +#define vfs_bsize mnt_stat.f_bsize +#define vfs_fsid mnt_stat.f_fsid +#define va_nodeid va_fileid +#define vfs_vnodecovered mnt_vnodecovered +#define direct dirent +#define vnode_t struct vnode + +#ifndef MUTEX_DEFAULT +#define MUTEX_DEFAULT 0 +#endif /* MUTEX_DEFAULT */ + +#ifndef SSYS +#define SSYS 0x00002 +#endif /* SSYS */ + +#define p_rcred p_ucred + +#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) +enum vcexcl { NONEXCL, EXCL }; + +#ifdef KERNEL +#ifndef MIN +#define MIN(A,B) ((A) < (B) ? (A) : (B)) +#endif +#ifndef MAX +#define MAX(A,B) ((A) > (B) ? (A) : (B)) +#endif +#endif /* KERNEL */ + +#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */ +#endif /* _KERNEL */ + +#else /* !defined(UKERNEL) */ + +/* This section for user space compiles only */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_ENV 1 +#define AFS_VFSINCL_ENV 1 +#define AFS_USR_FBSD40_ENV 1 +#define AFS_USR_FBSD42_ENV 1 +#define AFS_USR_FBSD43_ENV 1 +#define AFS_USR_FBSD44_ENV 1 +#define AFS_USR_FBSD45_ENV 1 +#define AFS_USR_FBSD46_ENV 1 +#define AFS_USR_FBSD47_ENV 1 +#define AFS_USR_FBSD50_ENV 1 +#define AFS_USR_FBSD51_ENV 1 +#define AFS_USR_FBSD52_ENV 1 +#define AFS_USR_FBSD53_ENV 1 +#define AFS_USR_FBSD_ENV 1 +#define AFS_NONFSTRANS 1 + +#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */ +#define AFS_SYSCALL 339 +#define AFS_NAMEI_ENV 1 /* User space interface to file system */ +#define AFS_64BIT_ENV 1 +#define AFS_64BITPOINTER_ENV 1 +#define AFS_64BIT_IOPS_ENV 1 /* Needed for NAMEI */ +#define AFS_USERSPACE_IP_ADDR 1 +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +/* Machine / Operating system information */ +#include +#define SYS_NAME "i386_fbsd_53" +#define SYS_NAME_ID SYS_NAME_ID_i386_fbsd_53 + +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 1 /* System doesn't support statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ + +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS 1 +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null + +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /* !defined(UKERNEL) */ + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.i386_nbsd30.h b/src/config/param.i386_nbsd30.h new file mode 100644 index 000000000..3281d5a6a --- /dev/null +++ b/src/config/param.i386_nbsd30.h @@ -0,0 +1,21 @@ +#ifndef AFS_I386_PARAM_H +#define AFS_I386_PARAM_H + +#define AFS_X86_XBSD_ENV 1 +#define AFS_X86_ENV 1 +#define AFSLITTLE_ENDIAN 1 + +#define SYS_NAME "i386_nbsd30" +#define SYS_NAME_ID SYS_NAME_ID_i386_nbsd30 + +#ifndef UKERNEL +/* This section for kernel libafs compiles only */ + +#else /* !defined(UKERNEL) */ + +/* This section for user space compiles only */ + +#endif /* !defined(UKERNEL) */ + +#endif /* AFS_I386_PARAM_H */ + diff --git a/src/config/param.ia64_linux26.h b/src/config/param.ia64_linux26.h index db9a29c42..6fcbda30c 100644 --- a/src/config/param.ia64_linux26.h +++ b/src/config/param.ia64_linux26.h @@ -50,13 +50,17 @@ #include #ifdef CONFIG_SMP -#undef CONFIG_SMP +#ifndef AFS_SMP +#define AFS_SMP 1 +#endif #endif /* Using "AFS_SMP" to map to however many #define's are required to get * MP to compile for Linux */ #ifdef AFS_SMP +#ifndef CONFIG_SMP #define CONFIG_SMP 1 +#endif #ifndef __SMP__ #define __SMP__ #endif diff --git a/src/config/param.nbsd30.h b/src/config/param.nbsd30.h new file mode 100644 index 000000000..85c0b5113 --- /dev/null +++ b/src/config/param.nbsd30.h @@ -0,0 +1,158 @@ +/* NetBSD shared section */ + +#ifndef AFS_PARAM_COMMON_H +#define AFS_PARAM_COMMON_H 1 + +#define AFS_64BIT_ENV 1 +#define AFS_NAMEI_ENV 1 /* User space interface to file system */ +#define AFS_64BIT_IOPS_ENV 1 /* Needed for NAMEI */ +#define AFS_64BIT_CLIENT 1 + +#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */ +#define AFS_SYSCALL 210 + +#ifndef MOUNT_AFS +#define MOUNT_AFS AFS_MOUNT_AFS +#endif + +#define AFS_XBSD_ENV 1 /* {Free,Open,Net}BSD */ + +#define AFS_NBSD_ENV 1 +#define AFS_NBSD15_ENV 1 +#define AFS_NBSD16_ENV 1 +#define AFS_NBSD20_ENV 1 +#define AFS_NONFSTRANS 1 +#define AFS_KERBEROS_ENV 1 + +#define AFS_VFSINCL_ENV 1 + +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ + +#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H) +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#endif + +#ifndef UKERNEL + +#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H) +#include +#endif + +#define FTRUNC O_TRUNC + +#define IUPD 0x0010 +#define IACC 0x0020 +#define ICHG 0x0040 +#define IMOD 0x0080 + +#define IN_LOCK(ip) lockmgr(&ip->i_lock, LK_EXCLUSIVE, \ + NULL, curproc) +#define IN_UNLOCK(ip) lockmgr(&ip->i_lock, LK_RELEASE, \ + NULL, curproc) + +#include + +#define AFS_VM_RDWR_ENV 1 +#define AFS_VFS_ENV 1 +#define AFS_GREEDY43_ENV 1 + +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ + +/* Extra kernel definitions (from kdefs file) */ +#ifdef _KERNEL +#define AFS_GLOBAL_SUNLOCK 1 +#define AFS_VFS34 1 /* What is VFS34??? */ +#define AFS_SHORTGID 1 /* are group id's short? */ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_resid uio_resid +#define AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES CLBYTES +#define osi_GetTime(x) microtime(x) +#define AFS_KALLOC(x) kalloc(x) +#define AFS_KFREE(x,y) kfree(x,y) +#define v_count v_usecount +#define v_vfsp v_mount +#define vfs_bsize mnt_stat.f_bsize +#define vfs_fsid mnt_stat.f_fsid +#define va_nodeid va_fileid +#define vfs_vnodecovered mnt_vnodecovered +#define direct dirent +#define vnode_t struct vnode + +#ifndef MUTEX_DEFAULT +#define MUTEX_DEFAULT 0 +#endif /* MUTEX_DEFAULT */ + +#ifndef SSYS +#define SSYS 0x00002 +#endif /* SSYS */ + +#define p_rcred p_ucred + +#define VN_RELE(vp) vrele(((struct vnode *)(vp))) +#define VN_HOLD(vp) VREF(((struct vnode *)(vp))) + +#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H) +enum vcexcl { NONEXCL, EXCL }; + +#ifdef KERNEL +#ifndef MIN +#define MIN(A,B) ((A) < (B) ? (A) : (B)) +#endif +#ifndef MAX +#define MAX(A,B) ((A) > (B) ? (A) : (B)) +#endif +#endif /* KERNEL */ + +#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ && !defined(IGNORE_STDS_H) */ +#endif /* _KERNEL */ + +#else /* !defined(UKERNEL) */ + + +/* This section for user space compiles only */ + +#define UKERNEL 1 /* user space kernel */ + +#include + +#define AFS_USERSPACE_IP_ADDR 1 +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS UIO_SYSSPACE +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null + +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif + +#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__) && !defined(IGNORE_STDS_H) +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#endif /* !defined(UKERNEL) */ + +#endif /* AFS_PARAM_COMMON_H */ diff --git a/src/config/param.s390x_linux26.h b/src/config/param.s390x_linux26.h new file mode 100644 index 000000000..f4cc8931b --- /dev/null +++ b/src/config/param.s390x_linux26.h @@ -0,0 +1,173 @@ +#ifndef UKERNEL +/* This section for kernel libafs compiles only */ + +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel, + * it's a judgment call. If something is obviously s390 specific, use that + * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2" + * in the sysname is the current version of the client. This takes into + * account the perferred OS user space configuration as well as the kernel. + */ + +#define AFS_LINUX20_ENV 1 +#define AFS_LINUX22_ENV 1 +#define AFS_LINUX24_ENV 1 +#define AFS_LINUX26_ENV 1 +#define AFS_S390_LINUX20_ENV 1 +#define AFS_S390_LINUX22_ENV 1 +#define AFS_S390_LINUX24_ENV 1 +#define AFS_S390X_LINUX20_ENV 1 +#define AFS_S390X_LINUX22_ENV 1 +#define AFS_S390X_LINUX24_ENV 1 +#define AFS_S390X_LINUX26_ENV 1 +#define AFS_NONFSTRANS 1 + +#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */ +#define AFS_SYSCALL 137 +#define AFS_64BIT_ENV 1 +#define AFS_64BITPOINTER_ENV 1 +#define AFS_64BIT_CLIENT 1 +#define AFS_64BIT_KERNEL 1 +#define AFS_LINUX_64BIT_KERNEL 1 +#define AFS_64BIT_IOPS_ENV 1 +#define AFS_NAMEI_ENV 1 /* User space interface to file system */ + +#if defined(__KERNEL__) && !defined(KDUMP_KERNEL) +#include + +#include +#ifdef CONFIG_SMP +#ifndef AFS_SMP +#define AFS_SMP 1 +#endif +#endif +/* Using "AFS_SMP" to map to however many #define's are required to get + * MP to compile for Linux + */ +#ifdef AFS_SMP +#ifndef CONFIG_SMP +#define CONFIG_SMP 1 +#endif +#ifndef __SMP__ +#define __SMP__ +#endif +#define AFS_GLOBAL_SUNLOCK +#endif +extern unsigned long __per_cpu_offset[NR_CPUS]; +extern SYSCALLTYPE sys_call_table_emu[] __attribute__((weak)); +#endif /* __KERNEL__ && !DUMP_KERNEL */ + +#include + +#define AFS_USERSPACE_IP_ADDR 1 +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 2 /* Set to Userdisabled, allow sysctl to override */ + +/* Machine / Operating system information */ +#define SYS_NAME "s390x_linux26" +#define SYS_NAME_ID SYS_NAME_ID_s390x_linux26 +#define AFSBIG_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ + +#ifdef KERNEL +#ifndef MIN +#define MIN(A,B) ((A) < (B) ? (A) : (B)) +#endif +#ifndef MAX +#define MAX(A,B) ((A) > (B) ? (A) : (B)) +#endif +#endif /* KERNEL */ + +#endif /* AFS_PARAM_H */ + +#else /* !defined(UKERNEL) */ + +/* This section for user space compiles only */ + +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel, + * it's a judgment call. If something is obviously s390 specific, use that + * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2" + * in the sysname is the current version of the client. This takes into + * account the perferred OS user space configuration as well as the kernel. + */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_ENV 1 +#define AFS_USR_LINUX20_ENV 1 +#define AFS_USR_LINUX22_ENV 1 +#define AFS_USR_LINUX24_ENV 1 +#define AFS_USR_LINUX26_ENV 1 +#define AFS_S390X_LINUX20_ENV 1 +#define AFS_S390X_LINUX22_ENV 1 +#define AFS_S390X_LINUX24_ENV 1 +#define AFS_S390X_LINUX26_ENV 1 +#define AFS_NONFSTRANS 1 + +#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */ +#define AFS_SYSCALL 137 +#define AFS_64BIT_ENV 1 +#define AFS_64BIT_CLIENT 1 +#define AFS_64BITPOINTER_ENV 1 +#define AFS_64BIT_IOPS_ENV 1 +#define AFS_NAMEI_ENV 1 /* User space interface to file system */ +#include + +#define AFS_USERSPACE_IP_ADDR 1 +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + + +/* Machine / Operating system information */ +#define SYS_NAME "s390x_linux26" +#define SYS_NAME_ID SYS_NAME_ID_s390x_linux26 +#define AFSBIG_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ + +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS 1 +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES MCLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null + +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif + +#endif /* AFS_PARAM_H */ + +#endif /* !defined(UKERNEL) */ diff --git a/src/config/param.sun4x_510.h b/src/config/param.sun4x_510.h index 50b18dbb4..a32158527 100644 --- a/src/config/param.sun4x_510.h +++ b/src/config/param.sun4x_510.h @@ -113,9 +113,6 @@ #define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP) #define AFS_KFREE kmem_free #define VATTR_NULL vattr_null -#define memset(A, B, S) bzero(A, S) -#define memcpy(B, A, S) bcopy(A, B, S) -#define memcmp(A, B, S) bcmp(A, B, S) #endif /* KERNEL */ #define AFS_DIRENT #ifndef CMSERVERPREF diff --git a/src/config/param.sunx86_510.h b/src/config/param.sunx86_510.h index 95be22342..629fd3246 100644 --- a/src/config/param.sunx86_510.h +++ b/src/config/param.sunx86_510.h @@ -97,7 +97,7 @@ * AFS_SYSCALL32 is used to protect the ILP32 syscall interface * AFS_64BIT_ENV is for use of 64 bit inode numbers */ -#if defined(__sparcv9) +#if defined(__amd64) #define AFS_SUN57_64BIT_ENV 1 #define AFS_64BIT_INO 1 #endif @@ -117,9 +117,6 @@ #define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP) #define AFS_KFREE kmem_free #define VATTR_NULL vattr_null -#define memset(A, B, S) bzero(A, S) -#define memcpy(B, A, S) bcopy(A, B, S) -#define memcmp(A, B, S) bcmp(A, B, S) #endif /* KERNEL */ #define AFS_DIRENT #ifndef CMSERVERPREF @@ -133,15 +130,6 @@ /* This section for user space compiles only */ -/* - * Copyright 2000, International Business Machines Corporation and others. - * All Rights Reserved. - * - * This software has been released under the terms of the IBM Public - * License. For details, see the LICENSE file in the top-level source - * directory or online at http://www.openafs.org/dl/license10.html - */ - #ifndef AFS_PARAM_H #define AFS_PARAM_H @@ -156,6 +144,12 @@ #define AFS_ENV 1 #define AFS_USR_SUN5_ENV 1 #define AFS_USR_SUN6_ENV 1 +#define AFS_USR_SUN7_ENV 1 +#define AFS_USR_SUN8_ENV 1 +#define AFS_USR_SUN9_ENV 1 + +#define AFS_64BIT_ENV 1 + #include @@ -170,9 +164,9 @@ #define AFS_MOUNT_AFS 1 /* Machine / Operating system information */ -#define sys_sun4x_55 1 -#define SYS_NAME "sun4x_55" -#define SYS_NAME_ID SYS_NAME_ID_sun4x_55 +#define sys_sunx86_510 1 +#define SYS_NAME "sunx86_510" +#define SYS_NAME_ID SYS_NAME_ID_sunx86_510 #define AFSLITTLE_ENDIAN 1 #define AFS_HAVE_FFS 1 /* Use system's ffs. */ #define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ diff --git a/src/libafs/Makefile.common.in b/src/libafs/Makefile.common.in index 8be95e21f..9ee7e74f3 100644 --- a/src/libafs/Makefile.common.in +++ b/src/libafs/Makefile.common.in @@ -387,6 +387,10 @@ osi_debug.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_debug.c $(CRULE_OPT) osi_module.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_module.c $(CRULE_NOOPT) +osi_probe.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_probe.c + $(CRULE_NOOPT) +osi_syscall.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_syscall.c + $(CRULE_NOOPT) osi_sysctl.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_sysctl.c $(CRULE_NOOPT) osi_alloc.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_alloc.c diff --git a/src/libafs/MakefileProto.LINUX.in b/src/libafs/MakefileProto.LINUX.in index 17f746a82..f6fe10e7c 100644 --- a/src/libafs/MakefileProto.LINUX.in +++ b/src/libafs/MakefileProto.LINUX.in @@ -18,7 +18,9 @@ AFS_OS_OBJS = \ osi_file.o \ osi_misc.o \ osi_module.o \ + osi_probe.o \ osi_sleep.o \ + osi_syscall.o \ osi_sysctl.o \ osi_vfsops.o \ osi_vm.o \ @@ -64,7 +66,7 @@ DEFINES = $(COMMON_DEFINES) CCFLAGS = $(COMMON_KERN_CFLAGS) -fsigned-char DEFINES = $(COMMON_DEFINES) -D__s390__ - + CCFLAGS = $(COMMON_KERN_CFLAGS) -fsigned-char DEFINES = $(COMMON_DEFINES) -D__s390x__ @@ -158,9 +160,9 @@ ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}: ln -fs ${LINUX_KERNEL_PATH}/arch/um/include/sysdep ln -fs ${LINUX_KERNEL_PATH}/include/asm-x86_64 asm - + ln -fs ${LINUX_KERNEL_PATH}/include/asm-s390 asm - + ln -fs ${LINUX_KERNEL_PATH}/include/asm-s390x asm ln -fs ${LINUX_KERNEL_PATH}/include/asm-ppc asm diff --git a/src/libafs/MakefileProto.SOLARIS.in b/src/libafs/MakefileProto.SOLARIS.in index ae3886a9f..a5295d7ce 100644 --- a/src/libafs/MakefileProto.SOLARIS.in +++ b/src/libafs/MakefileProto.SOLARIS.in @@ -30,13 +30,16 @@ DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT #LD = /usr/ccs/bin/ld #LORDER = /usr/ccs/bin/lorder #CC = /opt/SUNWspro/bin/cc -KDEFS= -Dsun4c -DSUN4C_60 -DNFSCLIENT -DSYSACCT -DOLDSCSI -DVDDRV -D_KERNEL \ - -DSYSV -dn ${ARCH_DEFS} +KDEFS= -D_KERNEL -DSYSV -dn ${ARCH_DEFS} - + KDEFS_32 = KDEFS_64 = -xarch=v9 + +KDEFS_32 = +KDEFS_64 = -xarch=amd64 -xmodel=kernel + CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG} diff --git a/src/lwp/Makefile.in b/src/lwp/Makefile.in index a9b803d4f..e0e8841d9 100644 --- a/src/lwp/Makefile.in +++ b/src/lwp/Makefile.in @@ -70,6 +70,11 @@ process.o : process.s process.i386.s process.c ${CCOBJ} -DIGNORE_STDS_H -E -I${srcdir} -I${TOP_INCDIR} process.S > process.ss ; \ ${AS} process.ss -o process.o ; \ $(RM) -f process.S ;;\ + amd64_*bsd*) \ + cp ${srcdir}/process.amd64.s process.S ; \ + ${CCOBJ} -DIGNORE_STDS_H -E -I${srcdir} -I${TOP_INCDIR} process.S > process.ss ; \ + ${AS} process.ss -o process.o ; \ + $(RM) -f process.S ;;\ ncrx86_* | sunx86_*) \ /usr/ccs/lib/cpp -P -D__sun -D__i386 -DIGNORE_STDS_H -I${TOP_INCDIR} -I${srcdir} ${srcdir}/process.i386.s process.ss; \ ${AS} -o process.o process.ss; \ diff --git a/src/lwp/iomgr.c b/src/lwp/iomgr.c index 0d0b65a4f..78740bc99 100644 --- a/src/lwp/iomgr.c +++ b/src/lwp/iomgr.c @@ -36,7 +36,7 @@ #include #include -RCSID("$Header: /cvs/openafs/src/lwp/iomgr.c,v 1.13 2004/07/08 05:16:57 shadow Exp $"); +RCSID("$Header: /cvs/openafs/src/lwp/iomgr.c,v 1.13.2.1 2005/02/21 01:13:50 shadow Exp $"); #include #include @@ -536,10 +536,11 @@ static int IOMGR(void *dummy) iomgr_timeout.tv_sec = 100000000; iomgr_timeout.tv_usec = 0; } -#ifdef AFS_NT40_ENV +#if defined(AFS_NT40_ENV) || defined(AFS_LINUX24_ENV) /* On NT, signals don't interrupt a select call. So this can potentially * lead to long wait times before a signal is honored. To avoid this we * dont do select() for longer than IOMGR_MAXWAITTIME (5 secs) */ + /* Whereas Linux seems to sometimes "lose" signals */ if (iomgr_timeout.tv_sec > (IOMGR_MAXWAITTIME - 1)) { iomgr_timeout.tv_sec = IOMGR_MAXWAITTIME; iomgr_timeout.tv_usec = 0; @@ -640,11 +641,12 @@ static int IOMGR(void *dummy) /* Real timeout only if signal handler hasn't set iomgr_timeout to zero. */ -#ifdef AFS_NT40_ENV +#if defined(AFS_NT40_ENV) || defined(AFS_LINUX24_ENV) /* On NT, real timeout only if above and if iomgr_timeout * interval is equal to timeout interval (i.e., not adjusted * to check for pseudo-signals). */ + /* And also for Linux as above */ if (iomgr_timeout.tv_sec != timeout.tv_sec || iomgr_timeout.tv_usec != timeout.tv_usec) { /* signal check interval timed out; not real timeout */ diff --git a/src/lwp/lwp.c b/src/lwp/lwp.c index 14dda48e2..c75183984 100644 --- a/src/lwp/lwp.c +++ b/src/lwp/lwp.c @@ -17,7 +17,7 @@ #include #include -RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.27.2.2 2004/12/13 19:40:19 shadow Exp $"); +RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.27.2.3 2005/01/31 04:20:00 shadow Exp $"); #include #include @@ -121,7 +121,7 @@ static purge_dead_pcbs(); struct QUEUE { PROCESS head; int count; -} runnable[MAX_PRIORITIES], blocked; +} runnable[MAX_PRIORITIES], blocked, qwaiting; /* Invariant for runnable queues: The head of each queue points to the currently running process if it is in that queue, or it points to the next process in that queue that should run. */ /* Offset of stack field within pcb -- used by stack checking stuff */ @@ -242,7 +242,7 @@ LWP_QWait(void) { register PROCESS tp; (tp = lwp_cpptr)->status = QWAITING; - lwp_remove(tp, &runnable[tp->priority]); + move(tp, &runnable[tp->priority], &qwaiting); Set_LWP_RC(); return LWP_SUCCESS; } @@ -253,7 +253,7 @@ LWP_QSignal(pid) { if (pid->status == QWAITING) { pid->status = READY; - insert(pid, &runnable[pid->priority]); + move(pid, &qwaiting, &runnable[pid->priority]); return LWP_SUCCESS; } else return LWP_ENOWAIT; @@ -561,6 +561,9 @@ Dump_Processes(void) for_all_elts(x, blocked, { Dump_One_Process(x);} ) + for_all_elts(x, qwaiting, { + Dump_One_Process(x);} + ) } else printf("***LWP: LWP support not initialized\n"); return 0; @@ -601,6 +604,8 @@ LWP_InitializeProcessSupport(int priority, PROCESS * pid) } blocked.head = NULL; blocked.count = 0; + qwaiting.head = NULL; + qwaiting.count = 0; lwp_init = (struct lwp_ctl *)malloc(sizeof(struct lwp_ctl)); temp = (PROCESS) malloc(sizeof(struct lwp_pcb)); if (lwp_init == NULL || temp == NULL) @@ -659,6 +664,9 @@ LWP_TerminateProcessSupport(void) ) for_all_elts(cur, blocked, { Free_PCB(cur);} + ) + for_all_elts(cur, qwaiting, { + Free_PCB(cur);} ) free(lwp_init); lwp_init = NULL; @@ -784,7 +792,9 @@ Delete_PCB(register PROCESS pid) lwp_remove(pid, (pid->blockflag || pid->status == WAITING || pid->status == - DESTROYED ? &blocked : &runnable[pid->priority])); + DESTROYED ? &blocked : + (pid->status == QWAITING) ? &qwaiting : + &runnable[pid->priority])); LWPANCHOR.processcnt--; return 0; } @@ -811,6 +821,9 @@ Dump_One_Process(PROCESS pid) case DESTROYED: printf("DESTROYED"); break; + case QWAITING: + printf("QWAITING"); + break; default: printf("unknown"); } @@ -870,7 +883,13 @@ Dispatcher(void) printf(" \"%s\"", p->name); } ) - puts("]"); + puts("]"); + printf("[Qwaiting (%d):", qwaiting.count); + for_all_elts(p, qwaiting, { + printf(" \"%s\"", p->name); + } + ) + puts("]"); } #endif diff --git a/src/lwp/lwp.h b/src/lwp/lwp.h index 1e62cae93..f9139e44b 100644 --- a/src/lwp/lwp.h +++ b/src/lwp/lwp.h @@ -389,8 +389,14 @@ extern int LWP_WaitProcess(char *event); extern PROCESS LWP_ThreadId(void); #endif +#ifdef AFS_LINUX24_ENV +/* max time we are allowed to spend in a select call on Linux to avoid + lost signal issues */ +#define IOMGR_MAXWAITTIME 60 /* seconds */ +#else /* max time we are allowed to spend in a select call on NT */ #define IOMGR_MAXWAITTIME 5 /* seconds */ +#endif /* max time we spend on a select in a Win95 DOS box */ #define IOMGR_WIN95WAITTIME 5000 /* microseconds */ diff --git a/src/lwp/process.amd64.s b/src/lwp/process.amd64.s new file mode 100644 index 000000000..e33dfc3e4 --- /dev/null +++ b/src/lwp/process.amd64.s @@ -0,0 +1,161 @@ +/* $Id: process.amd64.s,v 1.1.2.1 2005/02/21 01:12:10 shadow Exp $ */ + +/* + * Copyright (c) 2003,2005 Kungliga Tekniska Högskolan + * (Royal Institute of Technology, Stockholm, Sweden). + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#undef RCSID + +/* x86_64 Assembly + * + * By Harald Barth after looking + * at Derek Atkins' i386 routines and realizing that + * there were some differences and it was not enough + * just renaming the registers. + */ + +#ifdef HAVE_MACHINE_ASM_H +#include +#endif + +#include + + .file "process.s" + .data + .text + +/* + * struct savearea { + * char *topstack; + * } + */ + + .set topstack,0 + +/* + * savecontext(int (*f)(), struct savearea *area1, char *newsp) + */ + +/* + * In spite of passing arguments in registers, gcc first copies the content of the + * registers onto the stack. I do not know why gcc does this, but for now I mimic + * gcc's behaviour. Here are the offsets the arguments are copied to. + */ + .set f,-8 + .set area1,-16 + .set newsp,-24 + +.globl _C_LABEL(PRE_Block) +.globl _C_LABEL(savecontext) + +ENTRY(savecontext) + pushq %rbp /* The frame setup is just like gcc */ + movq %rsp,%rbp + subq $32, %rsp /* make room for args on the stack */ + movq %rdi, f(%rbp) /* (3*8=24 but increments seem to */ + movq %rsi, area1(%rbp) /* i multiples of 24, so 32 it is) */ + movq %rdx, newsp(%rbp) /* and copy them there. */ + + movl $1,_C_LABEL(PRE_Block) /* Do not allow any interrupts */ + + pushq %rsp /* Push all registers onto the stack */ + pushq %rax /* Probably not _all_ are necessary */ + pushq %rcx /* but better one too much than one */ + pushq %rdx /* forgotten */ + pushq %rbx + pushq %rbp + pushq %rsi + pushq %rdi + pushq %r8 + pushq %r9 + pushq %r10 + pushq %r11 + pushq %r12 + pushq %r13 + pushq %r14 + pushq %r15 /* Btw, the pusha instruction is no more */ + + movq area1(%rbp),%rax /* rax = base of savearea */ + movq %rsp,topstack(%rax) /* area->topstack = rsp */ + movq newsp(%rbp),%rax /* rax = new sp */ + cmpq $0,%rax + je L1 /* if new sp is 0 then dont change rsp */ + movq %rax,%rsp /* Change rsp to the new sp */ +L1: + jmp *f(%rbp) /* jump to function pointer passed in arg */ + +/* Shouldnt be here....*/ + call _C_LABEL(abort) + +/* + * returnto(struct savearea *area2) + */ + +/* Offset where we put arg - se savecontext */ + .set area2,-8 + +.globl _C_LABEL(returnto) + +ENTRY(returnto) + pushq %rbp /* New frame, gcc style */ + movq %rsp, %rbp /* See savecontext above */ + subq $16, %rsp /* Make room for 2 args */ + movq %rdi, area2(%rbp) /* use room to copy 1 arg */ + movq area2(%rbp),%rax /* rax = area2 */ + movq topstack(%rax),%rsp /* restore rsp from place relative rbp*/ + + popq %r15 /* Restore regs */ + popq %r14 + popq %r13 + popq %r12 + popq %r11 + popq %r10 + popq %r9 + popq %r8 + popq %rdi + popq %rsi + popq %rbp + popq %rbx + popq %rdx + popq %rcx + popq %rax + popq %rsp /* See savecontext */ + + movl $0,_C_LABEL(PRE_Block) /* clear it up... */ + addq $32, %rsp /* We did rsp-32 above, correct that */ + popq %rbp + ret + +/* We never should get here, put in emergency brake as in i386 code */ + pushq $1234 + call _C_LABEL(abort) + diff --git a/src/packaging/Debian/kern-sysname b/src/packaging/Debian/kern-sysname index 6c51c9b31..00964eb6d 100644 --- a/src/packaging/Debian/kern-sysname +++ b/src/packaging/Debian/kern-sysname @@ -11,8 +11,15 @@ i[3456]86) esac ;; ia64) - echo ia64_linux24 -;; + case $KVERS in + 2.4*) + echo ia64_linux24 + ;; + 2.6*) + echo ia64_linux26 + ;; + esac + ;; alpha) case $KVERS in 2.2*) diff --git a/src/packaging/MacOS/OpenAFS.Info.plist b/src/packaging/MacOS/OpenAFS.Info.plist index cc8391dc7..9c3e19aeb 100644 --- a/src/packaging/MacOS/OpenAFS.Info.plist +++ b/src/packaging/MacOS/OpenAFS.Info.plist @@ -3,13 +3,13 @@ CFBundleGetInfoString - OpenAFS 1.3.77 + OpenAFS 1.3.79 CFBundleIdentifier org.openafs.OpenAFS.pkg CFBundleName OpenAFS CFBundleShortVersionString - 1.3.77 + 1.3.79 IFMajorVersion 1 IFMinorVersion diff --git a/src/packaging/MacOS/OpenAFS.info b/src/packaging/MacOS/OpenAFS.info index 180675660..85ee3c42b 100644 --- a/src/packaging/MacOS/OpenAFS.info +++ b/src/packaging/MacOS/OpenAFS.info @@ -1,5 +1,5 @@ Title OpenAFS -Version 1.3.77 +Version 1.3.79 Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information. DefaultLocation / Diskname (null) diff --git a/src/ptserver/Makefile.in b/src/ptserver/Makefile.in index c73592535..de36bc3dd 100644 --- a/src/ptserver/Makefile.in +++ b/src/ptserver/Makefile.in @@ -14,7 +14,7 @@ INCLS=${TOP_INCDIR}/ubik.h \ ${TOP_INCDIR}/rx/xdr.h \ ${TOP_INCDIR}/afs/keys.h \ ${TOP_INCDIR}/afs/cellconfig.h \ - ptserver.h ptclient.h ptint.h pterror.h map.h + ptserver.h ptclient.h ptuser.h ptint.h pterror.h map.h LINCLS=${TOP_INCDIR}/ubik.h \ ${TOP_INCDIR}/lock.h \ @@ -23,7 +23,7 @@ LINCLS=${TOP_INCDIR}/ubik.h \ ${TOP_INCDIR}/rx/rxkad.h \ ${TOP_INCDIR}/afs/auth.h \ ${TOP_INCDIR}/afs/cellconfig.h \ - ptclient.h ptint.h pterror.h + ptclient.h ptuser.h ptint.h pterror.h LIBS=${TOP_LIBDIR}/libubik.a \ ${TOP_LIBDIR}/libauth.a \ @@ -60,6 +60,7 @@ depinstall: \ ${TOP_INCDIR}/afs/print.h \ ${TOP_INCDIR}/afs/prserver.h \ ${TOP_INCDIR}/afs/ptclient.h \ + ${TOP_INCDIR}/afs/ptuser.h \ ${TOP_INCDIR}/afs/pterror.h \ ${TOP_INCDIR}/afs/ptint.h \ ${TOP_INCDIR}/afs/ptserver.h @@ -182,6 +183,7 @@ install: \ ${DESTDIR}${includedir}/afs/print.h \ ${DESTDIR}${includedir}/afs/prserver.h \ ${DESTDIR}${includedir}/afs/ptclient.h \ + ${DESTDIR}${includedir}/afs/ptuser.h \ ${DESTDIR}${includedir}/afs/pterror.h \ ${DESTDIR}${includedir}/afs/ptint.h \ ${DESTDIR}${includedir}/afs/ptserver.h @@ -225,6 +227,9 @@ ${DEST}/include/afs/pterror.h: pterror.h ${DEST}/include/afs/ptclient.h: ptclient.h ${INSTALL} $? $@ +${DEST}/include/afs/ptuser.h: ptuser.h + ${INSTALL} $? $@ + # # Misc. targets # @@ -282,9 +287,15 @@ ${TOP_INCDIR}/afs/prserver.h: ptserver.h ${DESTDIR}${includedir}/afs/ptclient.h: ptclient.h ${INSTALL} $? $@ +${DESTDIR}${includedir}/afs/ptuser.h: ptuser.h + ${INSTALL} $? $@ + ${TOP_INCDIR}/afs/ptclient.h: ptclient.h ${INSTALL} $? $@ +${TOP_INCDIR}/afs/ptuser.h: ptuser.h + ${INSTALL} $? $@ + ${DESTDIR}${includedir}/afs/pterror.h: pterror.h ${INSTALL} $? $@ @@ -315,6 +326,7 @@ dest: \ ${DEST}/include/afs/print.h \ ${DEST}/include/afs/prserver.h \ ${DEST}/include/afs/ptclient.h \ + ${DEST}/include/afs/ptuser.h \ ${DEST}/include/afs/pterror.h \ ${DEST}/include/afs/ptint.h \ ${DEST}/include/afs/ptserver.h diff --git a/src/ptserver/NTMakefile b/src/ptserver/NTMakefile index 78b75ea68..fda01a4b2 100644 --- a/src/ptserver/NTMakefile +++ b/src/ptserver/NTMakefile @@ -21,7 +21,8 @@ INCFILES =\ $(INCFILEDIR)\afs\ptint.h \ $(INCFILEDIR)\afs\pterror.h \ ptopcodes.h \ - $(INCFILEDIR)\afs\ptclient.h + $(INCFILEDIR)\afs\ptclient.h \ + $(INCFILEDIR)\afs\ptuser.h ############################################################################ # build afsprot.lib diff --git a/src/ptserver/ptuser.c b/src/ptserver/ptuser.c index bacdbe657..dc1ccff25 100644 --- a/src/ptserver/ptuser.c +++ b/src/ptserver/ptuser.c @@ -15,7 +15,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.1 2004/10/18 07:12:04 shadow Exp $"); + ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.2 2005/01/31 03:58:39 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" @@ -29,6 +29,7 @@ RCSID #include "afs/cellconfig.h" #include "afs/afsutil.h" #include "afs/ptclient.h" +#include "afs/ptuser.h" #include "afs/pterror.h" #else /* defined(UKERNEL) */ #include @@ -54,6 +55,7 @@ RCSID #include #include #include "ptclient.h" +#include "ptuser.h" #include "pterror.h" #endif /* defined(UKERNEL) */ diff --git a/src/ptserver/ptuser.h b/src/ptserver/ptuser.h new file mode 100644 index 000000000..90d23838e --- /dev/null +++ b/src/ptserver/ptuser.h @@ -0,0 +1,44 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef PTUSER_H +#define PTUSER_H + +#include "afs/ptint.h" + +afs_int32 pr_Initialize(afs_int32 secLevel, char *confDir, char *cell); +int pr_End(void); +int pr_CreateUser(char name[PR_MAXNAMELEN], afs_int32 *id); +int pr_CreateGroup(char name[PR_MAXNAMELEN], char owner[PR_MAXNAMELEN], afs_int32 *id); +int pr_Delete(char *name); +int pr_DeleteByID(afs_int32 id); +int pr_AddToGroup(char *user, char *group); +int pr_RemoveUserFromGroup(char *user, char *group); +int pr_NameToId(namelist *names, idlist *ids); +int pr_SNameToId(char name[PR_MAXNAMELEN], afs_int32 *id); +int pr_IdToName(idlist *ids, namelist *names); +int pr_SIdToName(afs_int32 id, char name[PR_MAXNAMELEN]); +int pr_GetCPS(afs_int32 id, prlist *CPS); +int pr_GetCPS2(afs_int32 id, afs_int32 host, prlist *CPS); +int pr_GetHostCPS(afs_int32 host, prlist *CPS); +int pr_ListMembers(char *group, namelist *lnames); +int pr_ListOwned(afs_int32 oid, namelist *lnames, afs_int32 *moreP); +int pr_IDListMembers(afs_int32 gid, namelist *lnames); +int pr_ListEntry(afs_int32 id, struct prcheckentry *aentry); +afs_int32 pr_ListEntries(int flag, afs_int32 startindex, afs_int32 *nentries, struct prlistentries **entries, afs_int32 *nextstartindex); +int pr_CheckEntryByName(char *name, afs_int32 *id, char *owner, char *creator); +int pr_CheckEntryById(char *name, afs_int32 id, char *owner, char *creator); +int pr_ChangeEntry(char *oldname, char *newname, afs_int32 *newid, char *newowner); +int pr_IsAMemberOf(char *uname, char *gname, afs_int32 *flag); +int pr_ListMaxUserId(afs_int32 *mid); +int pr_SetMaxUserId(afs_int32 mid); +int pr_ListMaxGroupId(afs_int32 *mid); +int pr_SetMaxGroupId(afs_int32 mid); +afs_int32 pr_SetFieldsEntry(afs_int32 id, afs_int32 mask, afs_int32 flags, afs_int32 ngroups, afs_int32 nusers); +#endif /* PTUSER_H */ \ No newline at end of file diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 035f6ed31..e636b8891 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -16,7 +16,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.4 2004/12/07 06:10:11 shadow Exp $"); + ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.5 2005/01/31 04:25:34 shadow Exp $"); #include #ifdef AFS_LINUX22_ENV @@ -194,20 +194,18 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov, return code; } - +extern rwlock_t tasklist_lock __attribute__((weak)); void osi_StopListener(void) { struct task_struct *listener; extern int rxk_ListenerPid; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) - read_lock(&tasklist_lock); -#endif + if (&tasklist_lock) + read_lock(&tasklist_lock); listener = find_task_by_pid(rxk_ListenerPid); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) - read_unlock(&tasklist_lock); -#endif + if (&tasklist_lock) + read_unlock(&tasklist_lock); while (rxk_ListenerPid) { flush_signals(listener); force_sig(SIGKILL, listener); diff --git a/src/rx/rx.c b/src/rx/rx.c index 685b6078f..8e78dc0a5 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -17,7 +17,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.4 2004/12/07 06:10:05 shadow Exp $"); + ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.6 2005/01/31 04:14:45 shadow Exp $"); #ifdef KERNEL #include "afs/sysincludes.h" @@ -2673,6 +2673,9 @@ rxi_ReceivePacket(register struct rx_packet *np, osi_socket socket, MUTEX_ENTER(&conn->conn_data_lock); conn->refCount--; MUTEX_EXIT(&conn->conn_data_lock); + MUTEX_ENTER(&rx_stats_mutex); + rx_stats.nBusies++; + MUTEX_EXIT(&rx_stats_mutex); return tp; } rxi_KeepAliveOn(call); @@ -5032,6 +5035,9 @@ rxi_Start(struct rxevent *event, register struct rx_call *call, if (!(call->flags & RX_CALL_TQ_BUSY)) { call->flags |= RX_CALL_TQ_BUSY; do { +#endif /* AFS_GLOBAL_RXLOCK_KERNEL */ + restart: +#ifdef AFS_GLOBAL_RXLOCK_KERNEL call->flags &= ~RX_CALL_NEED_START; #endif /* AFS_GLOBAL_RXLOCK_KERNEL */ nXmitPackets = 0; @@ -5085,7 +5091,12 @@ rxi_Start(struct rxevent *event, register struct rx_call *call, /* Transmit the packet if it needs to be sent. */ if (!clock_Lt(&now, &p->retryTime)) { if (nXmitPackets == maxXmitPackets) { - osi_Panic("rxi_Start: xmit list overflowed"); + rxi_SendXmitList(call, xmitList, nXmitPackets, + istack, &now, &retryTime, + resending); + osi_Free(xmitList, maxXmitPackets * + sizeof(struct rx_packet *)); + goto restart; } xmitList[nXmitPackets++] = p; } diff --git a/src/rx/rx.h b/src/rx/rx.h index e34ff3ecf..03c035e32 100644 --- a/src/rx/rx.h +++ b/src/rx/rx.h @@ -804,7 +804,8 @@ struct rx_stats { /* General rx statistics */ int ignorePacketDally; /* packets dropped because call is in dally state */ int receiveCbufPktAllocFailures; int sendCbufPktAllocFailures; - int spares[5]; + int nBusies; + int spares[4]; }; /* structures for debug input and output packets */ diff --git a/src/rx/rx_globals.h b/src/rx/rx_globals.h index b47f4a8a1..48774f00f 100644 --- a/src/rx/rx_globals.h +++ b/src/rx/rx_globals.h @@ -249,16 +249,15 @@ EXT struct rx_stats rx_stats; EXT struct rx_peer **rx_peerHashTable; EXT struct rx_connection **rx_connHashTable; EXT struct rx_connection *rx_connCleanup_list INIT(0); -EXT afs_uint32 rx_hashTableSize INIT(256); /* Power of 2 */ -EXT afs_uint32 rx_hashTableMask INIT(255); /* One less than rx_hashTableSize */ +EXT afs_uint32 rx_hashTableSize INIT(257); /* Prime number */ #ifdef RX_ENABLE_LOCKS EXT afs_kmutex_t rx_peerHashTable_lock; EXT afs_kmutex_t rx_connHashTable_lock; #endif /* RX_ENABLE_LOCKS */ -#define CONN_HASH(host, port, cid, epoch, type) ((((cid)>>RX_CIDSHIFT)&rx_hashTableMask)) +#define CONN_HASH(host, port, cid, epoch, type) ((((cid)>>RX_CIDSHIFT)%rx_hashTableSize)) -#define PEER_HASH(host, port) ((host ^ port) & rx_hashTableMask) +#define PEER_HASH(host, port) ((host ^ port) % rx_hashTableSize) /* Forward definitions of internal procedures */ #define rxi_ChallengeOff(conn) rxevent_Cancel((conn)->challengeEvent, (struct rx_call*)0, 0); diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 6972fac87..2948abcfa 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -15,7 +15,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.3 2004/12/07 06:10:06 shadow Exp $"); + ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.7 2005/01/31 04:34:46 shadow Exp $"); #ifdef KERNEL #if defined(UKERNEL) @@ -191,7 +191,9 @@ rx_SlowReadPacket(struct rx_packet * packet, unsigned int offset, int resid, j = MIN(resid, packet->wirevec[i].iov_len - (offset - l)); memcpy(out, (char *)(packet->wirevec[i].iov_base) + (offset - l), j); resid -= j; - l += packet->wirevec[i].iov_len; + out += j; + l += packet->wirevec[i].iov_len; + offset = l; i++; } @@ -231,7 +233,9 @@ rx_SlowWritePacket(struct rx_packet * packet, int offset, int resid, char *in) j = MIN(resid, packet->wirevec[i].iov_len - (offset - l)); memcpy(b, in, j); resid -= j; + in += j; l += packet->wirevec[i].iov_len; + offset = l; i++; } diff --git a/src/rx/rx_prototypes.h b/src/rx/rx_prototypes.h index bfdd1b4bd..823b02232 100644 --- a/src/rx/rx_prototypes.h +++ b/src/rx/rx_prototypes.h @@ -274,6 +274,8 @@ extern void rx_ReleaseCachedConnection(struct rx_connection *conn); /* rx_event.c */ +extern int rxevent_nFree; +extern int rxevent_nPosted; #if 0 extern struct rxevent *rxevent_Post(struct clock *when, void (*func) (struct rxevent * event, diff --git a/src/rx/rxdebug.c b/src/rx/rxdebug.c index 169d6f8bd..f3cba3d6d 100644 --- a/src/rx/rxdebug.c +++ b/src/rx/rxdebug.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/rx/rxdebug.c,v 1.15.2.3 2004/12/07 06:06:50 shadow Exp $"); + ("$Header: /cvs/openafs/src/rx/rxdebug.c,v 1.15.2.4 2005/01/31 04:23:17 shadow Exp $"); #include #include @@ -256,7 +256,7 @@ MainCommand(as, arock) withRxStats = (supportedDebugValues & RX_SERVER_DEBUG_RX_STATS); withWaiters = (supportedDebugValues & RX_SERVER_DEBUG_WAITER_CNT); withIdleThreads = (supportedDebugValues & RX_SERVER_DEBUG_IDLE_THREADS); - withIdleThreads = (supportedDebugValues & RX_SERVER_DEBUG_WAITED_CNT); + withWaited = (supportedDebugValues & RX_SERVER_DEBUG_WAITED_CNT); withPeers = (supportedDebugValues & RX_SERVER_DEBUG_ALL_PEER); printf("Free packets: %d, packet reclaims: %d, calls: %d, used FDs: %d\n", diff --git a/src/sys/Makefile.in b/src/sys/Makefile.in index 2e2b348ff..d22b1fef1 100644 --- a/src/sys/Makefile.in +++ b/src/sys/Makefile.in @@ -67,7 +67,7 @@ syscall.o: syscall.s $(RM) -f syscall.ss syscall.i;; \ hp_ux11? ) \ touch syscall.o;; \ - i386_*bsd*|*nbsd*) \ + amd64_fbsd*|i386_*bsd*|*nbsd*) \ touch syscall.o;; \ *) \ /lib/cpp ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \ diff --git a/src/sys/pioctl_nt.c b/src/sys/pioctl_nt.c index 5c204e41f..059a4e93a 100644 --- a/src/sys/pioctl_nt.c +++ b/src/sys/pioctl_nt.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.18.2.5 2004/12/07 06:15:58 shadow Exp $"); + ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.18.2.7 2005/01/31 04:09:37 shadow Exp $"); #include #include @@ -199,6 +199,8 @@ GetIoctlHandle(char *fileNamep, HANDLE * handlep) FILE_FLAG_WRITE_THROUGH, NULL); fflush(stdout); if (fh == INVALID_HANDLE_VALUE) { + int gonext = 0; + gle = GetLastError(); if (gle && ioctlDebug ) { char buf[4096]; @@ -246,18 +248,22 @@ GetIoctlHandle(char *fileNamep, HANDLE * handlep) fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", szPath,szUser,res); } + gonext = 1; + } - sprintf(szPath, "\\\\%s\\all", szClient); - res = WNetAddConnection2(&nr,NULL,szUser,0); - if (res) { - if ( ioctlDebug ) { - fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", - szPath,szUser,res); - } - goto next_attempt; + sprintf(szPath, "\\\\%s\\all", szClient); + res = WNetAddConnection2(&nr,NULL,szUser,0); + if (res) { + if ( ioctlDebug ) { + fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", + szPath,szUser,res); } + gonext = 1; } + if (gonext) + goto next_attempt; + fh = CreateFile(tbuffer, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_WRITE_THROUGH, NULL); @@ -301,16 +307,16 @@ GetIoctlHandle(char *fileNamep, HANDLE * handlep) fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", szPath,szUser,res); } + } - sprintf(szPath, "\\\\%s\\all", szClient); - res = WNetAddConnection2(&nr,NULL,szUser,0); - if (res) { - if ( ioctlDebug ) { - fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", - szPath,szUser,res); - } - return -1; + sprintf(szPath, "\\\\%s\\all", szClient); + res = WNetAddConnection2(&nr,NULL,szUser,0); + if (res) { + if ( ioctlDebug ) { + fprintf(stderr, "pioctl WNetAddConnection2(%s,%s) failed: 0x%X\r\n", + szPath,szUser,res); } + return -1; } fh = CreateFile(tbuffer, GENERIC_READ | GENERIC_WRITE, @@ -337,6 +343,8 @@ GetIoctlHandle(char *fileNamep, HANDLE * handlep) } return -1; } + } else { + return -1; } } diff --git a/src/ubik/remote.c b/src/ubik/remote.c index 7ad1d3030..0c5758e58 100644 --- a/src/ubik/remote.c +++ b/src/ubik/remote.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.12.2.1 2004/08/25 07:09:43 shadow Exp $"); + ("$Header: /cvs/openafs/src/ubik/remote.c,v 1.12.2.2 2005/02/21 01:15:27 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -30,6 +30,7 @@ RCSID #include #include #include +#include #define UBIK_INTERNALS #include "ubik.h" diff --git a/src/venus/fstrace.c b/src/venus/fstrace.c index 926ed14c1..a1b7909fd 100644 --- a/src/venus/fstrace.c +++ b/src/venus/fstrace.c @@ -14,7 +14,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.16 2003/09/24 19:26:54 shadow Exp $"); + ("$Header: /cvs/openafs/src/venus/fstrace.c,v 1.16.2.1 2005/01/31 04:14:08 shadow Exp $"); #include #include @@ -2115,7 +2115,7 @@ icl_TailKernel(outFilep, logname, waitTime) afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6) long call, parm0, parm1, parm2, parm3, parm4, parm5, parm6; { - int code; + int code, rval; #ifdef AFS_LINUX20_ENV #if defined AFS_LINUX_64BIT_KERNEL long long eparm[4]; @@ -2133,9 +2133,13 @@ afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6) #endif /* Linux can only handle 5 arguments in the actual syscall. */ if (call == AFSCALL_ICL) { - code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm); + rval = proc_afs_syscall(call, parm0, parm1, parm2, eparm, &code); + if (rval) + code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm); } else { - code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3); + rval = proc_afs_syscall(call, parm0, parm1, parm2, parm3, &code); + if (rval) + code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3); } #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) /* on sparc this function returns none value, so do it myself */ diff --git a/src/vfsck/setup.c b/src/vfsck/setup.c index c21865dd4..f936ce9cf 100644 --- a/src/vfsck/setup.c +++ b/src/vfsck/setup.c @@ -19,7 +19,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/vfsck/setup.c,v 1.10.2.1 2004/08/25 07:22:22 shadow Exp $"); + ("$Header: /cvs/openafs/src/vfsck/setup.c,v 1.10.2.2 2005/01/31 04:12:57 shadow Exp $"); #include #define VICE @@ -743,7 +743,11 @@ readsb(listerr) */ altsblock.fs_fsbtodb = sblock.fs_fsbtodb; #ifdef AFS_NEWCG_ENV -# ifndef AFS_SUN59_ENV +# if defined(AFS_SUN59_ENV) && defined(FS_SI_OK) + /* fs_interleave replaced with fs_si and FS_SI_OK defined in */ + /* ufs_fs.h version 2.63 don't need to compare either */ + altsblock.fs_si = sblock.fs_si; +# else altsblock.fs_interleave = sblock.fs_interleave; # endif altsblock.fs_npsect = sblock.fs_npsect; diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index ee5b2a450..91069fb93 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -29,7 +29,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.1 2004/10/28 20:47:23 shadow Exp $"); + ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.3 2005/01/31 04:14:50 shadow Exp $"); #include #include @@ -483,11 +483,21 @@ CheckVnode(AFSFid * fid, Volume ** volptr, Vnode ** vptr, int lock) /* I'm not really worried about when we restarted, I'm */ /* just worried about when the first VBUSY was returned. */ TM_GetTimeOfDay(&restartedat, 0); + if (busyonrst) { + FS_LOCK; + afs_perfstats.fs_nBusies++; + FS_UNLOCK; + } return (busyonrst ? VBUSY : VRESTARTING); } else { struct timeval now; TM_GetTimeOfDay(&now, 0); if ((now.tv_sec - restartedat.tv_sec) < (11 * 60)) { + if (busyonrst) { + FS_LOCK; + afs_perfstats.fs_nBusies++; + FS_UNLOCK; + } return (busyonrst ? VBUSY : VRESTARTING); } else { return (VRESTARTING); @@ -2308,13 +2318,13 @@ SRXAFS_FetchData64(struct rx_call * acall, struct AFSFid * Fid, afs_int64 Pos, #ifdef AFS_64BIT_ENV #ifndef AFS_LARGEFILE_ENV if (Pos + Len > 0x7fffffff) - return E2BIG; + return EFBIG; #endif /* !AFS_LARGEFILE_ENV */ tPos = (afs_sfsize_t) Pos; tLen = (afs_sfsize_t) Len; #else /* AFS_64BIT_ENV */ if (Pos.high || Len.high) - return E2BIG; + return EFBIG; tPos = Pos.low; tLen = Len.low; #endif /* AFS_64BIT_ENV */ @@ -3121,14 +3131,14 @@ SRXAFS_StoreData64(struct rx_call * acall, struct AFSFid * Fid, #ifdef AFS_64BIT_ENV #ifndef AFS_LARGEFILE_ENV if (FileLength > 0x7fffffff) - return E2BIG; + return EFBIG; #endif /* !AFS_LARGEFILE_ENV */ tPos = (afs_fsize_t) Pos; tLength = (afs_fsize_t) Length; tFileLength = (afs_fsize_t) FileLength; #else /* AFS_64BIT_ENV */ if (FileLength.high) - return E2BIG; + return EFBIG; tPos = Pos.low; tLength = Length.low; tFileLength = FileLength.low; @@ -5640,7 +5650,8 @@ FillPerfValues(struct afs_PerfStats *a_perfP) a_perfP->host_ClientBlocks = CEBlocks; a_perfP->sysname_ID = afs_perfstats.sysname_ID; - + a_perfP->rx_nBusies = (afs_int32) rx_stats.nBusies; + a_perfP->fs_nBusies = afs_perfstats.fs_nBusies; } /*FillPerfValues */ diff --git a/src/viced/callback.c b/src/viced/callback.c index 585f8aa04..3acbc5184 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -83,7 +83,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.4 2004/11/09 17:17:49 shadow Exp $"); + ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.5 2005/01/31 04:10:43 shadow Exp $"); #include #include /* for malloc() */ @@ -1552,21 +1552,21 @@ CleanupTimedOutCallBacks_r(void) } static struct host *lih_host; -static int lih_host_held = 0; +static int lih_host_held; static int lih_r(register struct host *host, register int held, register struct host *hostp) { - lih_host_held = 0; if (host->cblist && ((hostp && host != hostp) || (!held && !h_OtherHolds_r(host))) && (!lih_host || host->ActiveCall < lih_host->ActiveCall)) { + if (lih_host != NULL && lih_host_held) { + h_Release_r(lih_host); + } lih_host = host; - } - if (!held) { + lih_host_held = !held; held = 1; - lih_host_held = 1; } return held; } @@ -1594,13 +1594,15 @@ GetSomeSpace_r(struct host *hostp, int locked) h_Enumerate_r(lih_r, hp2, (char *)hp1); hp = lih_host; if (hp) { + /* set in lih_r! private copy before giving up H_LOCK */ + int lih_host_held2=lih_host_held; cbstuff.GSS4++; if (!ClearHostCallbacks_r(hp, 0 /* not locked or held */ )) { - if (lih_host_held) + if (lih_host_held2) h_Release_r(hp); return 0; } - if (lih_host_held) + if (lih_host_held2) h_Release_r(hp); hp2 = hp->next; } else { diff --git a/src/viced/fs_stats.h b/src/viced/fs_stats.h index fe13b539f..1e0309e03 100644 --- a/src/viced/fs_stats.h +++ b/src/viced/fs_stats.h @@ -123,10 +123,13 @@ struct afs_PerfStats { */ afs_int32 sysname_ID; /*Unique hardware/OS identifier */ + afs_int32 rx_nBusies; /*Ttl VBUSYs sent to shed load */ + afs_int32 fs_nBusies; /*Ttl VBUSYs sent during restart/vol clone */ + /* * Spares */ - afs_int32 spare[31]; + afs_int32 spare[29]; }; #if FS_STATS_DETAILED diff --git a/src/volser/vsprocs.c b/src/volser/vsprocs.c index 907458333..906f23356 100644 --- a/src/volser/vsprocs.c +++ b/src/volser/vsprocs.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.33.2.1 2004/11/09 17:13:45 shadow Exp $"); + ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.33.2.3 2005/01/31 04:34:47 shadow Exp $"); #include #include diff --git a/src/xstat/xstat_fs_test.c b/src/xstat/xstat_fs_test.c index 7fb4ab6d6..46e91ddfb 100644 --- a/src/xstat/xstat_fs_test.c +++ b/src/xstat/xstat_fs_test.c @@ -17,7 +17,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/xstat/xstat_fs_test.c,v 1.8 2003/07/15 23:17:52 shadow Exp $"); + ("$Header: /cvs/openafs/src/xstat/xstat_fs_test.c,v 1.8.2.1 2005/01/31 04:14:51 shadow Exp $"); #include "xstat_fs.h" /*Interface for xstat_fs module */ #include /*Command line interpreter */ @@ -246,8 +246,10 @@ PrintOverallPerfInfo(struct afs_PerfStats *a_ovP) printf("\t%10d rx_nClientConns\n", a_ovP->rx_nClientConns); printf("\t%10d rx_nPeerStructs\n", a_ovP->rx_nPeerStructs); printf("\t%10d rx_nCallStructs\n", a_ovP->rx_nCallStructs); - printf("\t%10d rx_nFreeCallStructs\n\n", a_ovP->rx_nFreeCallStructs); + printf("\t%10d rx_nFreeCallStructs\n", a_ovP->rx_nFreeCallStructs); + printf("\t%10d rx_nBusies\n\n", a_ovP->rx_nBusies); + printf("\t%10d fs_nBusies\n\n", a_ovP->fs_nBusies); /* * Host module fields. */ -- 2.39.5