aix61-initial-support-20080903
authorNiklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Wed, 3 Sep 2008 19:26:29 +0000 (19:26 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 3 Sep 2008 19:26:29 +0000 (19:26 +0000)
LICENSE IPL10
FIXES 113638

aix 6.1 support

Makefile.in
README
acinclude.m4
src/afsd/rc.afs.rs_aix
src/cf/osconf.m4
src/config/afs_sysnames.h
src/config/param.rs_aix61.h [new file with mode: 0644]
src/export/Makefile.in
src/export/cfgexport.c
src/libafs/MakefileProto.AIX.in
src/sys/Makefile.in

index 3de27bf..13a97ae 100644 (file)
@@ -327,7 +327,7 @@ bozo: cmd comerr audit auth kauth volser
 vfsck: vol
        set -x; \
        case ${SYS_NAME} in \
-       sgi_* | *linux* | rs_aix42 | *_darwin* | ia64_hpux* | *fbsd* | *_obsd* | *_nbsd* | sun*_4* | rs_aix5* ) \
+       sgi_* | *linux* | rs_aix* | *_darwin* | ia64_hpux* | *fbsd* | *_obsd* | *_nbsd* | sun*_4* ) \
                echo skip vfsck for ${SYS_NAME} ;; \
         * ) \
                ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
@@ -367,6 +367,8 @@ aklog: comerr ptserver
                echo Skipping aklog for ${SYS_NAME} ; \
        fi
 
+authtools: pam sia tsm41 sgistuff aklog
+
 platform: 
        ${COMPILE_PART1} platform ${COMPILE_PART2}
 
@@ -616,14 +618,14 @@ finale: project cmd comerr afsd butc tbutc tbudb @ENABLE_KERNEL_MODULE@ libuafs
        ptserver tptserver scout bu_utils ubik uss bozo vfsck volser tvolser tsalvaged \
        venus update xstat afsmonitor rxdebug libafsrpc \
        libafsauthent shlibafsrpc shlibafsauthent libadmin man-pages \
-       platform kopenafs
+       platform kopenafs authtools
        ${COMPILE_PART1} finale ${COMPILE_PART2}
 
 finale_nolibafs: project cmd comerr afsd butc tbutc tbudb libuafs audit kauth log \
        ptserver tptserver scout bu_utils ubik tubik uss bozo vfsck volser tvolser tsalvaged \
        venus update xstat afsmonitor rxdebug libafsrpc \
        libafsauthent shlibafsrpc shlibafsauthent libadmin man-pages \
-       platform kopenafs
+       platform kopenafs authtools
        ${COMPILE_PART1} finale ${COMPILE_PART2}
 
 # Use washtool to ensure MakefileProto is current and obj/libafs exists.
diff --git a/README b/README
index 6567ef8..2d21279 100644 (file)
--- a/README
+++ b/README
@@ -60,7 +60,7 @@ A  Configuring
          ppc_darwin_70, ppc_darwin_80, ppc_darwin_90
       ppc_linux22, ppc_linux24, ppc_linux26
       ppc_nbsd16, ppc_nbsd20
-      rs_aix42, rs_aix51, rs_aix52, rs_aix53
+      rs_aix42, rs_aix51, rs_aix52, rs_aix53, rs_aix61
       s390_linux22, s390_linux24, s390_linux26
       s390x_linux24, s390x_linux26
       sgi_62, sgi_63, sgi_64, sgi_65 (file server not tested)
@@ -248,7 +248,24 @@ G  FreeBSD Notes
 
    You can't run arla and OpenAFS at the same time.
 
-H  Other configure options
+H  AIX notes
+
+   Make sure that your default build environment is 32bit, ie.
+   the OBJECT_MODE environment variable is either unset or set to "32".
+
+   Verify this before doing configure and make. For example, assuming ksh/bash:
+   export OBJECT_MODE=32
+
+   To build aklog (in order to be able to get tokens from your KRB5 ticket)
+   you have to supply --with-krb5 to configure, the following example is for
+   building on AIX 6.1 with the IBM Kerberos5 (krb5.client.rte and
+   krb5.toolkit.adt on the Expansion Pack):
+
+   ./configure --with-afs-sysname=rs_aix61 --enable-transarc-paths \
+       --enable-supergroups \
+       --with-krb5 KRB5CFLAGS=-I/usr/include KRB5LIBS=-lkrb5
+
+I  Other configure options
 
    AFS has a ton of other optional features that must be enabled using
    configure options.  Here is a summary:
index 3ec7728..21d3359 100644 (file)
@@ -636,6 +636,10 @@ else
                        AFS_SYSNAME="rs_aix53"
                        enable_pam="no"
                        ;;
+               power*-ibm-aix6.1*)
+                       AFS_SYSNAME="rs_aix61"
+                       enable_pam="no"
+                       ;;
                x86_64-*-linux-gnu)
                        AFS_SYSNAME="amd64_linuxXX"
                        enable_pam="no"
index 1fd8ba4..29fa3b5 100644 (file)
@@ -49,21 +49,17 @@ fi
 # find out whether we have 32 or 64 bit kernel
 
 kernel=32
-if [ -x /bin/w64 ]; then
-    /bin/w64 >/dev/null 2>&1
-    if [ $? -eq 0 ]; then
-        kernel=64
-    fi
+if [ -x /usr/sbin/bootinfo ]; then
+       kernel=`/usr/sbin/bootinfo -K`
 fi
 
 # Load AFS into the kernel
 
+echo "$0: Loading $kernel bit kernel AFS modules"
 cd /usr/vice/etc/dkload
 if [ $kernel -eq 32 ]; then
-    echo "32-bit kernel found"
     ./cfgexport -a export.ext${ExportExt} && ./cfgafs -a afs.ext.32
 else
-    echo "64-bit kernel assumed"
     ./cfgexport64 -a export64.ext${ExportExt} && ./cfgafs64 -a afs.ext.64
 fi
 if [ $? -ne 0 ]; then
index 3809ffc..c5edf2a 100644 (file)
@@ -567,6 +567,7 @@ case $AFS_SYSNAME in
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+               AIX32=""
                AIX64="#"
                ;;
 
@@ -583,6 +584,7 @@ case $AFS_SYSNAME in
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+               AIX32=""
                AIX64=""
                ;;
 
@@ -598,6 +600,7 @@ case $AFS_SYSNAME in
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+               AIX32=""
                AIX64=""
                ;;
 
@@ -613,6 +616,23 @@ case $AFS_SYSNAME in
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} -ldl"
                SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+               AIX32=""
+               AIX64=""
+               ;;
+
+       rs_aix61)       
+               DBG="-g"
+               LEX="lex"
+               LIBSYS_AIX_EXP="afsl.exp"
+               MT_CC="xlc_r"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_LIBS="-lpthreads"
+               SHLIB_SUFFIX="o"
+               TXLIBS="-lcurses"
+               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+               XLIBS="${LIB_AFSDB} -ldl"
+               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+               AIX32="#"
                AIX64=""
                ;;
 
@@ -1106,6 +1126,7 @@ AC_SUBST(CCXPG2)
 AC_SUBST(CCOBJ)
 AC_SUBST(AFSD_LIBS)
 AC_SUBST(AFSD_LDFLAGS)
+AC_SUBST(AIX32)
 AC_SUBST(AIX64)
 AC_SUBST(AR)
 AC_SUBST(AS)
index 890987a..f32435b 100644 (file)
@@ -73,6 +73,7 @@
 #define SYS_NAME_ID_rs_aix43            705
 #define SYS_NAME_ID_rs_aix52            706
 #define SYS_NAME_ID_rs_aix53            707
+#define SYS_NAME_ID_rs_aix61            708
 
 #define SYS_NAME_ID_sun3_411            906
 #define SYS_NAME_ID_sun3x_411           912
diff --git a/src/config/param.rs_aix61.h b/src/config/param.rs_aix61.h
new file mode 100644 (file)
index 0000000..f0236ce
--- /dev/null
@@ -0,0 +1,181 @@
+#ifndef UKERNEL\r
+/* This section for kernel libafs compiles only */\r
+\r
+/*\r
+ * Copyright 2000, International Business Machines Corporation and others.\r
+ * All Rights Reserved.\r
+ * \r
+ * This software has been released under the terms of the IBM Public\r
+ * License.  For details, see the LICENSE file in the top-level source\r
+ * directory or online at http://www.openafs.org/dl/license10.html\r
+ */\r
+\r
+#ifndef        AFS_PARAM_H\r
+#define        AFS_PARAM_H\r
+\r
+#define        AFS_AIX_ENV             1\r
+#define        AFS_AIX32_ENV           1\r
+#define        AFS_AIX41_ENV           1\r
+#define AFS_AIX42_ENV          1\r
+#define AFS_AIX51_ENV          1\r
+#define AFS_AIX52_ENV          1\r
+#define AFS_AIX53_ENV          1\r
+#define AFS_AIX61_ENV          1\r
+\r
+#define AFS_64BIT_ENV          1\r
+#define AFS_64BIT_CLIENT       1\r
+#define AFS_NAMEI_ENV          1\r
+#ifdef AFS_NAMEI_ENV\r
+#define AFS_64BIT_IOPS_ENV     1\r
+#endif\r
+\r
+#define AFS_HAVE_FLOCK_SYSID    1\r
+\r
+#include <afs/afs_sysnames.h>\r
+\r
+/* Global lock in AFS part of client. */\r
+#define AFS_GLOBAL_SUNLOCK 1\r
+#define AFS_GCPAGS             1       /* if nonzero, garbage collect PAGs */\r
+\r
+/* File system entry (used if vmount.h doesn't define MNT_AFS */\r
+#define AFS_MOUNT_AFS  4\r
+#define AFS_SYSCALL    31\r
+\r
+/* Machine / Operating system information */\r
+#define SYS_NAME       "rs_aix61"\r
+#define SYS_NAME_ID    SYS_NAME_ID_rs_aix61\r
+#define AFSBIG_ENDIAN  1\r
+#define RIOS           1       /* POWERseries 6000. (sj/pc)    */\r
+#define AFS_VM_RDWR_ENV 1      /* read/write implemented via VM */\r
+#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */\r
+#define AFS_HAVE_STATVFS       1       /* System supports statvfs */\r
+\r
+#ifndef _POWER\r
+#define _POWER         1       /* _POWERseries!                */\r
+#endif\r
+#ifndef COMPAT_43\r
+#define COMPAT_43\r
+#endif\r
+\r
+#define KERNEL_HAVE_UERROR 1\r
+#define KERNEL_HAVE_PIN 1\r
+\r
+/* Extra kernel definitions (from kdefs file) */\r
+#ifdef _KERNEL\r
+#define        AFS_SHORTGID    1\r
+#define        AFS_UIOFMODE    1\r
+#define        afsio_iov       uio_iov\r
+#define        afsio_iovcnt    uio_iovcnt\r
+#define        afsio_offset    uio_offset\r
+#define        afsio_seg       uio_segflg\r
+#define        afsio_fmode     uio_fmode\r
+#define        afsio_resid     uio_resid\r
+#define        AFS_UIOSYS      UIO_SYSSPACE\r
+#define        AFS_UIOUSER     UIO_USERSPACE\r
+#define        AFS_CLBYTES     CLBYTES\r
+#define        AFS_MINCHANGE   2\r
+#define osi_GetTime(x)          do {curtime(x); (x)->tv_usec = (x)->tv_usec/1000;} while (0)\r
+#define        osi_GTime(x)    time    /* something for the silly time(0)?? */\r
+#define        AFS_KALLOC      kmem_alloc\r
+#define        AFS_KFREE       kmem_free\r
+#define        VATTR_NULL(V)   memset((void*)V, -1, sizeof(*(V)))\r
+#define va_nodeid      va_serialno\r
+#endif /* !_KERNEL      */\r
+#define        AFS_DIRENT\r
+#endif /* AFS_PARAM_H */\r
+\r
+#else /* !defined(UKERNEL) */\r
+\r
+/* This section for user space compiles only */\r
+\r
+/*\r
+ * Copyright 2000, International Business Machines Corporation and others.\r
+ * All Rights Reserved.\r
+ * \r
+ * This software has been released under the terms of the IBM Public\r
+ * License.  For details, see the LICENSE file in the top-level source\r
+ * directory or online at http://www.openafs.org/dl/license10.html\r
+ */\r
+\r
+#ifndef        AFS_PARAM_H\r
+#define        AFS_PARAM_H\r
+\r
+#define AFS_64BIT_ENV           1\r
+#define AFS_64BIT_CLIENT        1\r
+#define AFS_NAMEI_ENV           1\r
+#ifdef AFS_NAMEI_ENV\r
+#define AFS_64BIT_IOPS_ENV     1\r
+#endif\r
+#define BITMAP_LATER            1\r
+#define FAST_RESTART            1\r
+\r
+#define AFS_VFS_ENV    1\r
+/* Used only in vfsck code; is it needed any more???? */\r
+#define RXK_LISTENER_ENV       1\r
+#define AFS_USERSPACE_IP_ADDR  1\r
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */\r
+\r
+#ifdef KERNEL\r
+\r
+#define UKERNEL                        1       /* user space kernel */\r
+#define AFS_ENV                        1\r
+#define AFS_USR_AIX_ENV                1\r
+#define AFS_USR_AIX41_ENV      1\r
+#define AFS_USR_AIX42_ENV      1\r
+#define AFS_USR_AIX51_ENV              1\r
+\r
+#else /* KERNEL */\r
+\r
+#define        AFS_AIX_ENV             1\r
+#define        AFS_AIX32_ENV           1\r
+#define        AFS_AIX41_ENV           1\r
+#define AFS_AIX42_ENV          1\r
+#define AFS_AIX51_ENV          1\r
+\r
+#define AFS_HAVE_FLOCK_SYSID    1\r
+\r
+#endif /* KERNEL */\r
+\r
+#include <afs/afs_sysnames.h>\r
+\r
+                                                                                                              /*#define AFS_GLOBAL_SUNLOCK    1 *//* For global locking */\r
+\r
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */\r
+#define        AFS_SYSCALL             105\r
+\r
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */\r
+#define AFS_MOUNT_AFS   4\r
+\r
+/* Machine / Operating system information */\r
+#define sys_rs_aix51   1\r
+#define SYS_NAME       "rs_aix51"\r
+#define SYS_NAME_ID    SYS_NAME_ID_rs_aix51\r
+#define AFSBIG_ENDIAN  1\r
+#define AFS_HAVE_FFS            1      /* Use system's ffs. */\r
+#define AFS_HAVE_STATVFS       0       /* System doesn't support statvfs */\r
+\r
+/* Extra kernel definitions (from kdefs file) */\r
+#ifdef KERNEL\r
+#define        AFS_UIOFMODE            1       /* Only in afs/afs_vnodeops.c (afs_ustrategy) */\r
+#define        AFS_SYSVLOCK            1       /* sys v locking supported */\r
+/*#define      AFS_USEBUFFERS  1*/\r
+#define        afsio_iov       uio_iov\r
+#define        afsio_iovcnt    uio_iovcnt\r
+#define        afsio_offset    uio_offset\r
+#define        afsio_seg       uio_segflg\r
+#define        afsio_fmode     uio_fmode\r
+#define        afsio_resid     uio_resid\r
+#define        AFS_UIOSYS      1\r
+#define        AFS_UIOUSER     UIO_USERSPACE\r
+#define        AFS_CLBYTES     MCLBYTES\r
+#define        AFS_MINCHANGE   2\r
+#define        VATTR_NULL      usr_vattr_null\r
+#endif /* KERNEL */\r
+#define        AFS_DIRENT\r
+#ifndef CMSERVERPREF\r
+#define CMSERVERPREF\r
+#endif\r
+\r
+#endif /* AFS_PARAM_H */\r
+\r
+#endif /* !defined(UKERNEL) */\r
index 8aa9df7..39f4b35 100644 (file)
@@ -16,17 +16,20 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
   IMPORTS = /lib/kernex.exp /lib/syscalls.exp ${srcdir}/extras.exp
      KOBJ = export.o symtab.o
 
-EXPORTS64 = @AIX64@export64.ext.nonfs export64.ext cfgexport64 cfgafs64
+EXPORTS32 = @AIX32@export.exp export.ext.nonfs export.ext cfgexport cfgafs
+EXPORTS64 = @AIX64@export64.exp export64.ext.nonfs export64.ext cfgexport64 cfgafs64
+TOPEXP32  = @AIX32@${TOP_LIBDIR}/export.exp
+TOPEXP64  = @AIX64@${TOP_LIBDIR}/export64.exp
 
-all: ${TOP_LIBDIR}/export.exp ${TOP_LIBDIR}/export64.exp ${TOP_LIBDIR}/extras.exp cfgexport cfgafs
+all: $(TOPEXP32) $(TOPEXP64) ${TOP_LIBDIR}/extras.exp
        ${INSTALL} -d ${KERNELDIR}
        ${INSTALL} -d ${UKERNELDIR}
        ${INSTALL_DATA} ${srcdir}/export.h ${KERNELDIR}/export.h
-       ${INSTALL_DATA} export.exp ${KERNELDIR}/export.exp
-       ${INSTALL_DATA} export64.exp ${KERNELDIR}/export64.exp
+       @AIX32@${INSTALL_DATA} export.exp ${KERNELDIR}/export.exp
+       @AIX64@${INSTALL_DATA} export64.exp ${KERNELDIR}/export64.exp
        ${INSTALL_DATA} ${srcdir}/export.h ${UKERNELDIR}/export.h
-       ${INSTALL_DATA} export64.exp ${UKERNELDIR}/export64.exp
-       ${INSTALL_DATA} export.exp ${UKERNELDIR}/export.exp
+       @AIX32@${INSTALL_DATA} export.exp ${UKERNELDIR}/export.exp
+       @AIX64@${INSTALL_DATA} export64.exp ${UKERNELDIR}/export64.exp
 
 ${TOP_LIBDIR}/export.exp: export.exp
        ${INSTALL_DATA} $? $@
@@ -43,9 +46,17 @@ export.exp: ${srcdir}/export4.exp ${srcdir}/export5.exp
        case ${SYS_NAME} in \
        rs_aix4* ) \
                cp -p ${srcdir}/export4.exp export.exp ; \
-               cp -p ${srcdir}/export4-64.exp export64.exp ;; \
        rs_aix5* ) \
                cp -p ${srcdir}/export5.exp export.exp ; \
+       esac
+
+export64.exp: ${srcdir}/export4-64.exp ${srcdir}/export5-64.exp
+       case ${SYS_NAME} in \
+       rs_aix4* ) \
+               cp -p ${srcdir}/export4-64.exp export64.exp ;; \
+       rs_aix5* ) \
+               cp -p ${srcdir}/export5-64.exp export64.exp ;; \
+       rs_aix6* ) \
                cp -p ${srcdir}/export5-64.exp export64.exp ;; \
        esac
 
@@ -72,6 +83,9 @@ symtab.o symtab64.o: ${srcdir}/symtab.c
                ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV -c ${srcdir}/symtab.c ; \
                mv symtab.o symtab64.o ; \
                ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c ${srcdir}/symtab.c ;; \
+       rs_aix6* ) \
+               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV -c ${srcdir}/symtab.c ; \
+               mv symtab.o symtab64.o ;; \
        esac
 
 export.o export64.o: ${srcdir}/export.c
@@ -82,18 +96,25 @@ export.o export64.o: ${srcdir}/export.c
                ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
                mv export.o export64.o ; \
                ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c ${srcdir}/export.c ;; \
+       rs_aix6* ) \
+               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
+               mv export.o export64.o ;; \
        esac
 
 export.nonfs.o export64.nonfs.o: ${srcdir}/export.c
        case ${SYS_NAME} in \
        rs_aix4* ) \
-               ${CC} ${INCS} -DAFS_NONFSTRANS -c ${srcdir}/export.c ;; \
+               ${CC} ${INCS} -DAFS_NONFSTRANS -c ${srcdir}/export.c ; \
+               mv export.o export.nonfs.o ;; \
        rs_aix5* ) \
                ${CC} -q64 ${INCS} -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
                mv export.o export64.nonfs.o ; \
-               ${CC} ${INCS} -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c ${srcdir}/export.c ;; \
+               ${CC} ${INCS} -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
+               mv export.o export.nonfs.o ;; \
+       rs_aix6* ) \
+               ${CC} -q64 ${INCS} -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
+               mv export.o export64.nonfs.o ;; \
        esac
-       -mv export.o export.nonfs.o
 
 cfgexport: cfgexport.o
        ${CC} -g ${INCS} -o cfgexport cfgexport.o
@@ -122,36 +143,34 @@ clean:
        $(RM) -f cfgafs cfgafs64
        $(RM) -f *.ext *.ext.nonfs
 
-install: export.ext export.ext.nonfs export.exp export64.exp cfgexport \
-               cfgafs $(EXPORTS64)
+install: $(EXPORTS32) $(EXPORTS64)
        ${INSTALL} -d ${DESTDIR}${afskerneldir}
        ${INSTALL} -d ${DESTDIR}${libdir}/afs
-       ${INSTALL_DATA} export.ext ${DESTDIR}${afskerneldir}/export.ext
-       ${INSTALL_DATA} export.ext.nonfs ${DESTDIR}${afskerneldir}/export.ext.nonfs
-       ${INSTALL_DATA} export.exp ${DESTDIR}${libdir}/afs/export.exp
-       ${INSTALL_DATA} export64.exp ${DESTDIR}${libdir}/afs/export64.exp
        ${INSTALL_DATA} ${srcdir}/extras.exp ${DESTDIR}${libdir}/afs/extras.exp
-       ${INSTALL_DATA} cfgexport ${DESTDIR}${afskerneldir}/cfgexport
-       ${INSTALL_DATA} cfgafs ${DESTDIR}${afskerneldir}/cfgafs
-       @AIX64@${INSTALL_DATA} export64.ext.nonfs ${DESTDIR}${afskerneldir}/export64.ext.nonfs
+       @AIX32@${INSTALL_DATA} export.exp ${DESTDIR}${libdir}/afs/export.exp
+       @AIX32@${INSTALL_DATA} export.ext ${DESTDIR}${afskerneldir}/export.ext
+       @AIX32@${INSTALL_DATA} export.ext.nonfs ${DESTDIR}${afskerneldir}/export.ext.nonfs
+       @AIX32@${INSTALL_DATA} cfgexport ${DESTDIR}${afskerneldir}/cfgexport
+       @AIX32@${INSTALL_DATA} cfgafs ${DESTDIR}${afskerneldir}/cfgafs
+       @AIX64@${INSTALL_DATA} export64.exp ${DESTDIR}${libdir}/afs/export64.exp
        @AIX64@${INSTALL_DATA} export64.ext ${DESTDIR}${afskerneldir}/export64.ext
+       @AIX64@${INSTALL_DATA} export64.ext.nonfs ${DESTDIR}${afskerneldir}/export64.ext.nonfs
        @AIX64@${INSTALL_DATA} cfgexport64 ${DESTDIR}${afskerneldir}/cfgexport64
        @AIX64@${INSTALL_DATA} cfgafs64 ${DESTDIR}${afskerneldir}/cfgafs64
 
-dest: export.ext export.ext.nonfs export.exp export64.exp cfgexport \
-               cfgafs $(EXPORTS64)
+dest: $(EXPORTS32) $(EXPORTS64)
        ${INSTALL} -d ${DEST}/root.client/usr/vice/etc/dkload
        ${INSTALL} -d ${DEST}/lib/afs
-       ${INSTALL_DATA} export.ext ${DEST}/root.client/usr/vice/etc/dkload/export.ext
-       ${INSTALL_DATA} export.ext.nonfs ${DEST}/root.client/usr/vice/etc/dkload/export.ext.nonfs
-       ${INSTALL_DATA} export.exp ${DEST}/lib/afs/export.exp
        ${INSTALL_DATA} ${srcdir}/extras.exp ${DEST}/lib/afs/extras.exp
-       ${INSTALL_DATA} cfgexport ${DEST}/root.client/usr/vice/etc/dkload/cfgexport
-       ${INSTALL_DATA} cfgafs ${DEST}/root.client/usr/vice/etc/dkload/cfgafs
-       @AIX64@${INSTALL_DATA} export64.ext.nonfs ${DEST}/root.client/usr/vice/etc/dkload/export64.ext.nonfs \
-       @AIX64@${INSTALL_DATA} export64.exp ${DEST}/lib/afs/export64.exp \
-       @AIX64@${INSTALL_DATA} export64.ext ${DEST}/root.client/usr/vice/etc/dkload/export64.ext \
-       @AIX64@${INSTALL_DATA} cfgexport64 ${DEST}/root.client/usr/vice/etc/dkload/cfgexport64 \
-       @AIX64@${INSTALL_DATA} cfgafs64 ${DEST}/root.client/usr/vice/etc/dkload/cfgafs64
+       @AIX32@${INSTALL_DATA} export.exp ${DEST}/lib/afs/export.exp
+       @AIX32@${INSTALL} export.ext ${DEST}/root.client/usr/vice/etc/dkload/export.ext
+       @AIX32@${INSTALL} export.ext.nonfs ${DEST}/root.client/usr/vice/etc/dkload/export.ext.nonfs
+       @AIX32@${INSTALL} cfgexport ${DEST}/root.client/usr/vice/etc/dkload/cfgexport
+       @AIX32@${INSTALL} cfgafs ${DEST}/root.client/usr/vice/etc/dkload/cfgafs
+       @AIX64@${INSTALL_DATA} export64.exp ${DEST}/lib/afs/export64.exp
+       @AIX64@${INSTALL} export64.ext ${DEST}/root.client/usr/vice/etc/dkload/export64.ext
+       @AIX64@${INSTALL} export64.ext.nonfs ${DEST}/root.client/usr/vice/etc/dkload/export64.ext.nonfs
+       @AIX64@${INSTALL} cfgexport64 ${DEST}/root.client/usr/vice/etc/dkload/cfgexport64
+       @AIX64@${INSTALL} cfgafs64 ${DEST}/root.client/usr/vice/etc/dkload/cfgafs64
 
 include ../config/Makefile.version
index 41a1b71..65a90c8 100644 (file)
@@ -377,7 +377,7 @@ get_syms(conf, syms)
  *     strp    -       ^ to ^ to EXPORT string table
  *     szp     -       ^ to EXPORT string table size
  */
-#define SYMBUFSIZE 262144
+#define SYMBUFSIZE 1048576
 xlate_xtok(xp, kp, strp, szp)
      register struct syment *xp;
      register sym_t *kp;
@@ -420,12 +420,18 @@ xlate_xtok(xp, kp, strp, szp)
         */
        len = strlen(xstrings + xp->n_offset) + 1;
        while (len >= left) {
+           fprintf(stderr, "cfgexport: Out of memory. Increase SYMBUFSIZE and recompile\n");
+           exit(1);
+#if 0
+           /* Something is broken with this code, after being here
+              cfgexport segfaults */
            export_strings = (char *)realloc(*strp, sz += SYMBUFSIZE);
            if (!export_strings)
                error("no memory for EXPORT string table");
            *strp = export_strings;
            left += SYMBUFSIZE;
            prev = "";          /* lazy */
+#endif
        }
 
        strcpy(prev = *strp + offset, xstrings + xp->n_offset);
index a2046f5..ab60fb5 100644 (file)
@@ -80,6 +80,8 @@ DESTDIRS = aix_destdirs
 KMODS=32 
 <rs_aix50 rs_aix51 rs_aix52 rs_aix53>
 KMODS=32 64
+<rs_aix61>
+KMODS=64
 <all>
 
 include Makefile.common
index a7b5a2a..25f38cb 100644 (file)
@@ -192,7 +192,7 @@ xfsinode: xfsinode.c  AFS_component_version_number.c
 
 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
        @set -x; case ${SYS_NAME} in \
-               rs_aix5* ) \
+               rs_aix[56]* ) \
                        cp -p ${srcdir}/afs5.exp afs.exp ;; \
                rs_aix* ) \
                        cp -p ${srcdir}/afs4.exp afs.exp ;; \
@@ -202,7 +202,7 @@ afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
 
 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
        @set -x; case ${SYS_NAME} in \
-               rs_aix5* ) \
+               rs_aix[56]* ) \
                        cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
                rs_aix* ) \
                        cp -p ${srcdir}/afsl4.exp afsl.exp ;; \