From: Joakim Fallsjö Date: Wed, 12 Jun 2002 01:25:33 +0000 (+0000) Subject: solaris-x86-20020611 X-Git-Tag: openafs-devel_1_3_3~106 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=a271a55041086f062ca888e5cdde02fe234f7281 solaris-x86-20020611 solaris 7 and 8 for x86 --- diff --git a/Makefile.in b/Makefile.in index e4c907d..b025d5e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -206,7 +206,7 @@ viced: project vlserver audit tviced: project viced vlserver libafsrpc libafsauthent case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \ + alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \ ${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \ *) \ echo Not building MT viced for ${SYS_NAME} ;; \ @@ -714,7 +714,7 @@ package.files: package ntp: project volser @case ${WITH_OBSOLETE} in \ YES) case ${SYS_NAME} in \ - sun4x_58 | sunx86_58 | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \ + sun4x_58 | sunx86_* | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \ * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \ esac ;; \ *) echo skipping deprecated target: ntp ;; \ diff --git a/acinclude.m4 b/acinclude.m4 index 6f81d51..3d21292 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -287,6 +287,15 @@ else sparc-sun-solaris2.9) AFS_SYSNAME="sun4x_59" ;; + i386-pc-solaris2.7) + AFS_SYSNAME="sunx86_57" + ;; + i386-pc-solaris2.8) + AFS_SYSNAME="sunx86_58" + ;; + i386-pc-solaris2.9) + AFS_SYSNAME="sunx86_59" + ;; alpha*-dec-osf4.0*) AFS_SYSNAME="alpha_dux40" ;; diff --git a/src/config/Makefile.sunx86_57.in b/src/config/Makefile.sunx86_57.in new file mode 100644 index 0000000..e1fb130 --- /dev/null +++ b/src/config/Makefile.sunx86_57.in @@ -0,0 +1,48 @@ +# Keep macros within each section in sorted order for clean diff displays. +# +# AFS_OSTYPE used to indicate suffixes and os specific subdirectories. +AFS_OSTYPE = SOLARIS +# +# compilation and link editor flags +XCFLAGS=-dy -Bdynamic +MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS} +PAM_CFLAGS = -KPIC +PAMLIBS= -lc -lpam -lsocket -lnsl -lm +SHARE_LDFLAGS = -G -Bsymbolic +LWP_OPTMZ=-g +OPTMZ=-O +DBG=-g + +## Compilation flags for 64 bit Solaris +XCFLAGS64 = ${XCFLAGS} -xarch=v9 + +# +# libraries +XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl +TXLIBS=-lcurses +MTLIBS=-lpthread -lsocket +XLIBELFA=-lelf +XLIBKVM=-lkvm +# +SHLIB_SUFFIX=so +SHLIB_CFLAGS=-KPIC +# +# programs +AR=/usr/ccs/bin/ar +AS=as +CC=/opt/SUNWspro/bin/cc +MT_CC=/opt/SUNWspro/bin/cc +CP=/bin/cp +LEX=lex +LD= /usr/ccs/bin/ld +LORDER = /usr/ccs/bin/lorder +MV=mv +RANLIB=/bin/true +RM=rm +STRIP= /usr/ccs/bin/strip +INSTALL=${TOP_SRCDIR}/pinstall/pinstall +# +# this is for the vol package +FS_CONV_SOL26 = fs_conv_sol26 +install_FS_CONV_SOL26 = $(DESTDIR)${afssrvsbindir}/fs_conv_sol26 +dest_FS_CONV_SOL26 = $(DEST)/root.server/usr/afs/bin/fs_conv_sol26 diff --git a/src/config/param.sunx86_57.h b/src/config/param.sunx86_57.h new file mode 100644 index 0000000..3c6fb87 --- /dev/null +++ b/src/config/param.sunx86_57.h @@ -0,0 +1,116 @@ +/* + * 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 + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ + +#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_SUN_ENV 1 +#define AFS_SUN5_ENV 1 +#define AFS_SUN52_ENV 1 +#define AFS_SUN53_ENV 1 +#define AFS_SUN54_ENV 1 +#define AFS_SUN55_ENV 1 +#define AFS_SUN56_ENV 1 +#define AFS_SUN57_ENV 1 +#define AFS_X86_ENV 1 + +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ + +#include + +#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ +#define RXK_LISTENER_ENV 1 +#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#define AFS_SYSCALL 73 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS "afs" + +/* Machine / Operating system information */ +#define sys_sunx86_57 1 +#define SYS_NAME "sunx86_57" +#define SYS_NAME_ID SYS_NAME_ID_sunx86_57 +#define AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */ +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ + +#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk*/ +#define nearInodeHash(volid, hval) { \ + unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\ + for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\ + (hval) *= 173; \ + (hval) += *ts; \ + } \ + } + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +/* sun definitions here */ +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#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 osi_GetTime(x) uniqtime(x) + +/** + * These defines are for the 64 bit Solaris 7 port + * AFS_SYSCALL32 is used to protect the ILP32 syscall interface + * AFS_64BIT_ENV is for use of 64 bit inode numbers + */ +#if defined(__sparcv9) +#define AFS_SUN57_64BIT_ENV 1 +#define AFS_64BIT_INO 1 +#endif + +/** + * Solaris 7 64 bit has two versions of uniqtime. Since we consistently + * use 32 bit quantities for time in afs, we now use uniqtime32 + */ +#if defined(AFS_SUN57_64BIT_ENV) +#undef osi_GetTime +#define osi_GetTime(x) uniqtime32(x) +#endif + + + +#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP) +#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 +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.sunx86_57_usr.h b/src/config/param.sunx86_57_usr.h new file mode 100644 index 0000000..a15bb90 --- /dev/null +++ b/src/config/param.sunx86_57_usr.h @@ -0,0 +1,66 @@ +/* + * 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 + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_USR_SUN5_ENV 1 +#define AFS_USR_SUN6_ENV 1 + +#include + +/*#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#define AFS_SYSCALL 73 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#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 AFSLITTLE_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#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 +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif +#define ROOTINO UFSROOTINO + +#endif /* AFS_PARAM_H */ diff --git a/src/config/param.sunx86_58.h b/src/config/param.sunx86_58.h index fea82ee..74b029b 100644 --- a/src/config/param.sunx86_58.h +++ b/src/config/param.sunx86_58.h @@ -1,3 +1,12 @@ +/* + * 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 @@ -16,13 +25,9 @@ #define AFS_SUN56_ENV 1 #define AFS_SUN57_ENV 1 #define AFS_SUN58_ENV 1 -#define AFS_X86_ENV 1 +#define AFS_X86_ENV 1 -#ifdef AFS_NAMEI_ENV -#define AFS_64BIT_IOPS_ENV 1 /* needed for NAMEI... */ -#else /* AFS_NAMEI_ENV */ -#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ -#endif /* AFS_NAMEI_ENV */ +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ #include @@ -30,6 +35,12 @@ #define RXK_LISTENER_ENV 1 #define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */ +#ifdef AFS_NAMEI_ENV +#define AFS_64BIT_IOPS_ENV 1 /* needed for NAMEI... */ +#else /* AFS_NAMEI_ENV */ +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ +#endif /* AFS_NAMEI_ENV */ + #define AFS_SYSCALL 65 /* File system entry (used if mount.h doesn't define MOUNT_AFS */ @@ -73,6 +84,26 @@ #define AFS_MINCHANGE 2 #define osi_GetTime(x) uniqtime(x) +/** + * These defines are for the 64 bit Solaris 7 port + * AFS_SYSCALL32 is used to protect the ILP32 syscall interface + * AFS_64BIT_ENV is for use of 64 bit inode numbers + */ +#if defined(__sparcv9) +#define AFS_SUN57_64BIT_ENV 1 +#define AFS_64BIT_INO 1 +#endif + +/** + * Solaris 7 64 bit has two versions of uniqtime. Since we consistently + * use 32 bit quantities for time in afs, we now use uniqtime32 + */ +#if defined(AFS_SUN57_64BIT_ENV) +#undef osi_GetTime +#define osi_GetTime(x) uniqtime32(x) +#endif + + #define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP) #define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP) diff --git a/src/config/param.sunx86_58_usr.h b/src/config/param.sunx86_58_usr.h index 1d84234..bc9657c 100644 --- a/src/config/param.sunx86_58_usr.h +++ b/src/config/param.sunx86_58_usr.h @@ -1,3 +1,12 @@ +/* + * 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 @@ -12,8 +21,6 @@ #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 #include @@ -26,9 +33,9 @@ #define AFS_MOUNT_AFS 1 /* Machine / Operating system information */ -#define sys_sunx86_58 1 -#define SYS_NAME "sunx86_58" -#define SYS_NAME_ID SYS_NAME_ID_sunx86_58 +#define sys_sun4x_55 1 +#define SYS_NAME "sun4x_55" +#define SYS_NAME_ID SYS_NAME_ID_sun4x_55 #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/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index 6490785..3979988 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -313,7 +313,7 @@ base64.o: ${UTIL}/base64.c syscall.o: ${SYS}/syscall.s case "$(SYS_NAME)" in \ - sun4x_5*|sunx86_5*) \ + sun4x_5* | sunx86_5*) \ /usr/ccs/lib/cpp ${SFLAGS} ${SYS}/syscall.s syscall.ss; \ as -o syscall.o syscall.ss; \ $(RM) syscall.ss;; \ diff --git a/src/login/Makefile.in b/src/login/Makefile.in index 7b375e5..7f19788 100644 --- a/src/login/Makefile.in +++ b/src/login/Makefile.in @@ -46,14 +46,14 @@ all: login login.krb login: ${OBJS} ${AFSLIBS} case ${SYS_NAME} in \ - sun4x_5?|sunx86_5? ) ${CC} $(DBG) -o $@ ${CFLAGS} ${OBJS} -lc ${AFSLIBS} ${XLIBS} -lcmd;;\ - *) ${CC} $(DBG) -o $@ ${CFLAGS} ${OBJS} ${AFSLIBS} ${XLIBS} ;;\ + sun4x_5? | sunx86_5? ) ${CC} -g -o $@ ${CFLAGS} ${OBJS} -lc ${LIBS} ${XLIBS} -lcmd;;\ + *) ${CC} -g -o $@ ${CFLAGS} ${OBJS} ${LIBS} ${XLIBS} ;;\ esac login.krb: ${KOBJS} ${KAFSLIBS} case ${SYS_NAME} in \ - sun4x_5?|sunx86_5? ) ${CC} $(DBG) -o $@ ${CFLAGS} ${KOBJS} -lc ${KAFSLIBS} ${XLIBS} -lcmd;;\ - *) ${CC} $(DBG) -o $@ ${CFLAGS} ${KOBJS} ${KAFSLIBS} ${XLIBS} ;;\ + sun4x_5? | sunx86_5? ) ${CC} -g -o $@ ${CFLAGS} ${KOBJS} -lc ${KLIBS} ${XLIBS} -lcmd;;\ + *) ${CC} -g -o $@ ${CFLAGS} ${KOBJS} ${KLIBS} ${XLIBS} ;;\ esac libutil.a : ${UTILOBJS} diff --git a/src/lwp/Makefile.in b/src/lwp/Makefile.in index e10b69d..0bf1b4c 100644 --- a/src/lwp/Makefile.in +++ b/src/lwp/Makefile.in @@ -35,9 +35,9 @@ process.s: process.o : process.s process.c @case "$(SYS_NAME)" in \ pmax_he1) \ - $(CC) -c -I${TOP_INCDIR} ${srcdir}/process.s;; \ + $(CC) -c -I${TOP_INCDIR} process.s;; \ sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_5?) \ - /usr/ccs/lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.s process.ss; \ + /usr/ccs/lib/cpp -P -I${TOP_INCDIR} process.s process.ss; \ ${AS} process.ss -o process.o; \ $(RM) process.ss ;; \ sgi_5* ) \ diff --git a/src/sys/Makefile.in b/src/sys/Makefile.in index a7bf5c1..afbd0da 100644 --- a/src/sys/Makefile.in +++ b/src/sys/Makefile.in @@ -44,7 +44,7 @@ tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd syscall.o: syscall.s case "$(SYS_NAME)" in \ sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_5?) \ - /usr/ccs/lib/cpp ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \ + /usr/ccs/lib/cpp ${SFLAGS} syscall.s syscall.ss; \ as -o syscall.o syscall.ss; \ $(RM) syscall.ss;; \ sgi_* |ppc_darwin* ) \ diff --git a/src/venus/Makefile.in b/src/venus/Makefile.in index b60adc4..86b442d 100644 --- a/src/venus/Makefile.in +++ b/src/venus/Makefile.in @@ -83,8 +83,8 @@ ${DEST}/etc/kdump: kdump for f in kdump.IP??; \ do ${INSTALL} -s $$f ${DEST}/etc/$$f || exit $$? ; \ done ;; \ - sun4x_5[789]|sunx86_5[789] ) \ - ${INSTALLex} -f ${srcdir}/kdump.sh.solaris7 $@; \ + sun*_5[789] ) \ + ${INSTALLex} -f kdump.sh.solaris7 $@; \ ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \ *linux* ) \ ${INSTALLex} -f ${srcdir}/kdump.sh.linux $@; \ @@ -209,9 +209,9 @@ kdump: kdump.o -set -x; \ case ${SYS_NAME} in \ sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53 | sun4_53 | sun4_54 | sun4c_54 | sun4m_54 | sunx86_5? ) \ - ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \ - sun4x_5? |sunx86_5? ) \ - ${CC} $(DBG) -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \ + ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a /usr/lib/libkvm.a -lelf ${XLIBS} ;; \ + sun*_5? ) \ + ${CC} -g -o kdump kdump.o ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/util.a ${XLIBELFA} ${XLIBKVM} ${XLIBS} ;; \ sgi_6? ) \ for f in ../libafs/STATIC.IP*/CPU_KDEFS; \ do IP=`expr "$$f" : '../libafs/STATIC.\(IP..\)'`; \ @@ -303,7 +303,7 @@ ${DESTDIR}${sbindir}/kdump: kdump for f in kdump.IP??; \ do ${INSTALL} -s $$f ${DESTDIR}${sbindir}/$$f || exit $$? ; \ done ;; \ - sun4x_5[789] |sunx86_5[789] ) \ + sun*_5[789] ) \ ${INSTALLex} -f kdump.sh.solaris7 $@; \ ${INSTALL} -s -f $? ${DESTDIR}${sbindir}/kdump32;; \ *linux* ) \ @@ -318,7 +318,7 @@ ${DESTDIR}${sbindir}/kdump: kdump ${DESTDIR}${sbindir}/kdump64: kdump64 -set -x; \ case ${SYS_NAME} in \ - sun4x_5[789] | hp_ux11* |sunx86_5[789] ) \ + sun4x_5[789] | hp_ux11* ) \ ${INSTALL} -s $? $@ ;;\ * ) \ echo skipping kdump64 for ${SYS_NAME} ;; \