[OpenAFS-devel] Progress with OpenAFS-1.2.8 on HP-UX 11.22 on IA64
Douglas E. Engert
deengert@anl.gov
Wed, 18 Dec 2002 10:44:11 -0600
I am attaching the mods need to get OPenAFS-1.2.8 to compile on
an HP-UX IA64 system. The client routines like tokens, and fs
appear to work, and the libafs64.nonfs.a builds. But the
libafs64.noafs.a has not been tested yet.
As Carl pointed out, the code is still using the A type semaphores.
But it looks like the mbuf.h is no longer actually used, A few
unused routines where being built which required it. There
where also reference to mpproc_info for statistics. These have
been commented out for now.
*** ./,Makefile.in Tue Sep 10 17:33:24 2002
--- ./Makefile.in Tue Dec 17 14:34:14 2002
***************
*** 243,249 ****
tviced: project viced vlserver libafsrpc libafsauthent
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux110) \
${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
*) \
echo Not building MT viced for ${SYS_NAME} ;; \
--- 243,249 ----
tviced: project viced vlserver libafsrpc libafsauthent
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*) \
${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
*) \
echo Not building MT viced for ${SYS_NAME} ;; \
***************
*** 264,270 ****
gtx: project null auth # kauth rxkad ?
case ${SYS_NAME} in \
! rs_aix* | sun4x_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd*) \
$(RM) -f ${TOP_LIBDIR}/libtermlib.a; \
ln -s libnull.a ${TOP_LIBDIR}/libtermlib.a; \
${COMPILE_PART1} gtx ${COMPILE_PART2};; \
--- 264,270 ----
gtx: project null auth # kauth rxkad ?
case ${SYS_NAME} in \
! rs_aix* | sun4x_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd* | hp_ux1122) \
$(RM) -f ${TOP_LIBDIR}/libtermlib.a; \
ln -s libnull.a ${TOP_LIBDIR}/libtermlib.a; \
${COMPILE_PART1} gtx ${COMPILE_PART2};; \
***************
*** 414,420 ****
tbutc: project bubasics butm budb bucoord cmd butc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux110) \
${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
*) \
echo Not building MT butc for ${SYS_NAME} ;; \
--- 414,420 ----
tbutc: project bubasics butm budb bucoord cmd butc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux11*) \
${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
*) \
echo Not building MT butc for ${SYS_NAME} ;; \
***************
*** 437,443 ****
# pthread based user space RX library
libafsrpc: rx rxkad des
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \
*) \
echo Not building MT libafsrpc for ${SYS_NAME} ;; \
--- 437,443 ----
# pthread based user space RX library
libafsrpc: rx rxkad des
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux11*|*fbsd*) \
${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \
*) \
echo Not building MT libafsrpc for ${SYS_NAME} ;; \
***************
*** 445,451 ****
libafsauthent: ubik auth kauth libafsrpc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \
*) \
echo Not building MT libafsrpc for ${SYS_NAME} ;; \
--- 445,451 ----
libafsauthent: ubik auth kauth libafsrpc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux11*|*fbsd*) \
${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \
*) \
echo Not building MT libafsrpc for ${SYS_NAME} ;; \
***************
*** 453,459 ****
shlibafsrpc: rx rxkad des
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110) \
${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
*) \
echo Not building shared libafsrpc for ${SYS_NAME} ;; \
--- 453,459 ----
shlibafsrpc: rx rxkad des
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*) \
${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
*) \
echo Not building shared libafsrpc for ${SYS_NAME} ;; \
***************
*** 461,467 ****
shlibafsauthent: ubik auth kauth shlibafsrpc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110) \
${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
*) \
echo Not building shared libafsrpc for ${SYS_NAME} ;; \
--- 461,467 ----
shlibafsauthent: ubik auth kauth shlibafsrpc
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*) \
${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
*) \
echo Not building shared libafsrpc for ${SYS_NAME} ;; \
***************
*** 481,487 ****
libadmin: libafsauthent bozo
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
$(MAKE) libadmin_real ;; \
*) \
echo Not building MT libadmin for ${SYS_NAME} ;; \
--- 481,487 ----
libadmin: libafsauthent bozo
case ${SYS_NAME} in \
! alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux11*) \
$(MAKE) libadmin_real ;; \
*) \
echo Not building MT libadmin for ${SYS_NAME} ;; \
*** ./src/afs/,sysincludes.h Thu Nov 14 14:20:39 2002
--- ./src/afs/sysincludes.h Tue Dec 17 13:33:30 2002
***************
*** 219,224 ****
--- 219,227 ----
struct vfspage; /* for vnode.h compiler warnings */
# include "../h/swap.h" /* for struct swpdbd, for vnode.h compiler warnings */
# include "../h/dbd.h" /* for union idbd, for vnode.h compiler warnings */
+ #ifdef AFS_HPUX1122_ENV
+ # include "h/resource.h"
+ #endif
# endif /* AFS_HPUX_ENV */
#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD40_ENV)
# include <sys/uio.h>
***************
*** 270,276 ****
--- 273,281 ----
#ifdef AFS_SUN5_ENV
# include "../h/time.h"
#else
+ #if !defined(AFS_HPUX_ENV)
# include "../h/mbuf.h"
+ #endif
#endif /* AFS_SUN5_ENV */
#include "../rpc/types.h"
*** ./src/afs/HPUX/,osi_vnodeops.c Thu Nov 14 14:08:34 2002
--- ./src/afs/HPUX/osi_vnodeops.c Wed Dec 18 09:42:29 2002
***************
*** 50,55 ****
--- 50,56 ----
#define vtoblksz(vp) ((vp)->v_vfsp->vfs_bsize)
+ #if !defined(AFS_HPUX1122_ENV)
/*
* Copy an mbuf to the contiguous area pointed to by cp.
* Skip <off> bytes and copy <len> bytes.
***************
*** 92,97 ****
--- 93,99 ----
return (len);
}
+ #endif
/*
* Note that the standard Sun vnode interface doesn't haven't an vop_lockf(), so this
code is
***************
*** 160,166 ****
--- 162,172 ----
}
+ #if defined(AFS_HPUX1122_ENV)
+ #include "machine/vm/vmparam.h"
+ #else
#include "../machine/vmparam.h" /* For KERNELSPACE */
+ #endif
#include "../h/debug.h"
#include "../h/types.h"
#include "../h/param.h"
***************
*** 1262,1268 ****
--- 1268,1277 ----
if (change_to_fstore)
afspgin_update_dbd(vm_info, bsize);
+ #if !defined(AFS_HPUX1122_ENV)
+ /*DEE needs to be fixed */
mpproc_info[getprocindex()].cnt.v_exfod += count;
+ #endif
vmemp_unlockx(); /* free up VM empire */
*ret_startindex = startindex;
***************
*** 1628,1633 ****
--- 1637,1644 ----
/*
* Update statistics
*/
+ #if !defined(AFS_HPUX1122_ENV)
+ /*DEE many changes on 11.22 needs to be looked at */
if (steal) {
if (flags & PF_DEACT) {
mpproc_info[getprocindex()].cnt.v_pswpout += npages;
***************
*** 1638,1643 ****
--- 1649,1655 ----
mpproc_info[getprocindex()].cnt.v_pgpgout += npages;
}
}
+ #endif
/*
* If time and patience have delivered enough
*** ./src/afs/HPUX/,osi_machdep.h Tue Nov 26 17:40:38 2002
--- ./src/afs/HPUX/osi_machdep.h Tue Dec 17 13:27:28 2002
***************
*** 61,66 ****
--- 61,74 ----
#define AFS_GLOCK_PID kt_tid(u.u_kthreadp)
#define AFS_SAVE_SEMA afsHashInsertFind(AFS_GLOCK_PID)
#define AFS_FIND_SEMA afsHashFind(AFS_GLOCK_PID)
+ /* HP scewed up MP_VXSEMA so it can not be used
+ * in a define. We will use the equivelent version
+ */
+ #ifdef MP_VXSEMA
+ #undef MP_VXSEMA
+ #define MP_VXSEMA(sema,ss) (!uniprocessor ? vxsema(sema,ss):0)
+ #endif
+
#define AFS_GLOCK() MP_PXSEMA(&afs_global_sema, AFS_SAVE_SEMA)
#define AFS_GUNLOCK() (AFS_ASSERT_GLOCK(), MP_VXSEMA(&afs_global_sema,AFS_FIND_SEMA),
(!uniprocessor ? (afsHashRelease(AFS_GLOCK_PID),0) : 0))
#define ISAFS_GLOCK() (!uniprocessor ? owns_sema(&afs_global_sema):1)
***************
*** 84,94 ****
--- 92,108 ----
#define afs_osi_Wakeup(x) wakeup((caddr_t) x)
#define osi_NullHandle(x) ((x)->proc == (caddr_t) 0)
+ #if !defined(AFS_HPUX1122_ENV)
extern caddr_t kmem_alloc();
+ #endif
#include <sys/kthread_iface.h> /* for kt_cred() */
/* Expected to be available as a patch from HP */
/* See section D of the top level README for details */
+ #if defined(AFS_HPUX1122_ENV)
+ #include <sys/vfs_vm.h>
+ #else
#include <vfs_vm.h>
+ #endif
#endif /* _OSI_MACHDEP_H_ */
*** ./src/afs/,afs_util.c Thu Nov 14 15:03:57 2002
--- ./src/afs/afs_util.c Tue Dec 17 17:09:06 2002
***************
*** 119,125 ****
--- 119,129 ----
afs_warn(a,b,c,d,e,f,g,h,i,j)
char *a;
+ #if defined( AFS_USE_VOID_PTR)
+ void *b, *c, *d, *e, *f, *g, *h, *i, *j;
+ #else
long b,c,d,e,f,g,h,i,j;
+ #endif
{
AFS_STATCNT(afs_warn);
***************
*** 148,154 ****
--- 152,162 ----
afs_warnuser(a,b,c,d,e,f,g,h,i,j)
char *a;
+ #if defined( AFS_USE_VOID_PTR)
+ void *b, *c, *d, *e, *f, *g, *h, *i, *j;
+ #else
long b,c,d,e,f,g,h,i,j;
+ #endif
{
AFS_STATCNT(afs_warnuser);
if (afs_showflags & GAGUSER)
*** ./src/config/,afs_sysnames.h Tue Sep 10 17:33:45 2002
--- ./src/config/afs_sysnames.h Tue Dec 17 13:49:07 2002
***************
*** 43,48 ****
--- 43,50 ----
#define SYS_NAME_ID_hp800_ux101 413
#define SYS_NAME_ID_hp_ux102 414
#define SYS_NAME_ID_hp_ux110 415
+ /* Assume hp_ux11i is 416 */
+ #define SYS_NAME_ID_hp_ux1122 417
#define SYS_NAME_ID_mac2_51 500
#define SYS_NAME_ID_mac_aux10 501
*** ./src/config/,Makefile.hp_ux1122.in Tue Dec 17 13:42:13 2002
--- ./src/config/Makefile.hp_ux1122.in Tue Dec 17 13:47:47 2002
***************
*** 0 ****
--- 1,37 ----
+ # 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
+
+ AFS_OSTYPE = HPUX
+ CC=/opt/ansic/bin/cc
+ MT_CC=/opt/ansic/bin/cc
+ XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k
-D_LARGEFILE64_SOURCE
+ XCFLAGS=${XCFLAGS0}
+ XCFLAGS64=${XCFLAGS0} +DD64
+ MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
+ XLIBS=@LIB_AFSDB@
+ XLIBELFA=-lelf
+ TXLIBS=/usr/lib/hpux32/libcurses.so
+ MTLIBS=-lpthread
+ SHLIB_SUFFIX=sl
+ SHLIB_LDFLAGS=-b -Bsymbolic
+ SHLIB_LINKER=ld -b
+ LWP_OPTMZ=-O
+ OPTMZ=-O
+ DBG=-g
+ RANLIB=/usr/bin/ranlib
+ INSTALL=${TOP_SRCDIR}/pinstall/pinstall
+ RM=/bin/rm
+ CP=/bin/cp
+ AR=/bin/ar
+ AS=/usr/ccs/bin/as
+ MV=/bin/mv
+ LD=/bin/ld
+ LEX=/opt/langtools/bin/lex
+ DBM=/lib/hpux32/libndbm.so
+ PAM_CFLAGS="-b +z -Wl,+k"
+ PAMLIBS=/usr/lib/hpux32/libpam.so
+ YACC=/opt/langtools/bin/yacc
*** ./src/config/,param.hp_ux1122.h Tue Dec 17 13:49:42 2002
--- ./src/config/param.hp_ux1122.h Tue Dec 17 17:07:53 2002
***************
*** 0 ****
--- 1,101 ----
+ /*
+ * 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
+ */
+
+ /* THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT */
+
+ #ifndef AFS_PARAM_H
+ #define AFS_PARAM_H
+
+ #define AFS_HPUX_ENV 1
+ #define AFS_HPUX90_ENV 1
+ #define AFS_HPUX100_ENV 1
+ #define AFS_HPUX101_ENV 1
+ #define AFS_HPUX102_ENV 1
+ #define AFS_HPUX110_ENV 1
+ #define AFS_HPUX1122_ENV 1
+
+ #define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
+ #if defined(__LP64__)
+ #define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
+ #endif
+
+ #include <afs/afs_sysnames.h>
+
+ #define AFS_SYSCALL 48 /* slot reserved for AFS */
+
+ /* Machine / Operating system information */
+ #define SYS_NAME "hp_ux1122"
+ #define SYS_NAME_ID SYS_NAME_ID_hp_ux1122
+ #define AFSBIG_ENDIAN 1
+ #define AFS_HAVE_FFS 1
+ #define AFS_HAVE_STATVFS 1 /* System supports statvfs */
+ #define AFS_GLOBAL_SUNLOCK 1
+ #define RXK_LISTENER_ENV 1
+ #define AFS_USERSPACE_IP_ADDR 1
+ #define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+ #define AFS_USE_VOID_PTR 1
+ /*
+ * #define AFS_VM_RDWR_ENV 1
+ */
+ #define AFS_TEXT_ENV 1 /* Older kernels use TEXT */
+ #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
+ #define _KERNEL 1
+ #define afsio_iov uio_iov
+ #define afsio_iovcnt uio_iovcnt
+ #define afsio_offset uio_offset
+ #define afsio_seg uio_seg
+ #define afsio_resid uio_resid
+ #define AFS_UIOSYS UIOSEG_KERNEL
+ #define AFS_UIOUSER UIOSEG_USER
+ #define AFS_CLBYTES CLBYTES
+ #define AFS_MINCHANGE 2
+ #define osi_GetTime(x) do { struct timeval osi_GetTimeVar; uniqtime(&osi_GetTimeVar);
(x)->tv_sec = osi_GetTimeVar.tv_sec; (x)->tv_usec = osi_GetTimeVar.tv_usec; } while(0)
+ #define AFS_KALLOC kmem_alloc
+ #define AFS_KFREE kmem_free
+ #define VATTR_NULL vattr_null
+
+ #if defined(__LP64__)
+ #define AFS_HPUX_64BIT_ENV 1
+ #endif
+
+ #ifndef UKERNEL
+ /*
+ * On HP-UX, sys/socket.h includes sys/uio.h, and sys/file.h and
+ * sys/uio.h #include each other, and there's no simple way to avoid a
+ * warning about the struct uio declaration not being visible outside
+ * of some prototype or other. So, we put in a tenative declaration to
+ * supress the warnings.
+ */
+ struct uio;
+
+ #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
+ #endif /* KERNEL */
+ #define AFS_DIRENT
+ /* Non-standard definitions */
+ #ifndef EDQUOT
+ #define EDQUOT 69 /* Disc quota exceeded */
+ #endif
+
+ #define USE_UCONTEXT /* should be in afsconfig.h */
+
+ #endif /* AFS_PARAM_H */
*** ./src/dir/,dir.c Wed Aug 21 15:53:25 2002
--- ./src/dir/dir.c Tue Dec 17 14:04:35 2002
***************
*** 76,82 ****
#ifndef AFS_LINUX20_ENV
#include "../netinet/in.h"
#endif
! #if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV)
#include "../h/mbuf.h"
#endif
#else /* !defined(UKERNEL) */
--- 76,82 ----
#ifndef AFS_LINUX20_ENV
#include "../netinet/in.h"
#endif
! #if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV) &&!defined(AFS_HPUX1122_ENV)
#include "../h/mbuf.h"
#endif
#else /* !defined(UKERNEL) */
*** ./src/libafs/,MakefileProto.HPUX.in Thu Nov 14 14:08:41 2002
--- ./src/libafs/MakefileProto.HPUX.in Tue Dec 17 14:10:22 2002
***************
*** 66,71 ****
--- 66,72 ----
# seems to hang). When the compiler sees the +ES1.Xindirect_calls
# option, however, it issues a warning and turns off +Z.
#
+ <hp_ux110 hp_ux102>
KDEFS= +ES1.Xindirect_calls +XixdU +Hx0 +ESlit +ESsfc +ESssf -Wp,-H300000 -D_KERNEL
-D_KERNEL_BUILD -D_UNSUPPORTED \
-DMP +R500 -Wl,+k $(CPU_KDEFS)
KDEFS_32 = +DA1.0 +DS1.0
***************
*** 73,78 ****
--- 74,90 ----
# warning 478: "+Z" and "+ES1.Xindirect_calls" are mutually exclusive. "+Z" ignored.
# warning 530: LP64 migration: Casting from loose to strict alignment: Resulting pointer
may be misaligned.
KDEFS_64 = +DA2.0W +DS2.0 +M2 +W 478,530
+
+ <all>
+
+ <hp_ux1122>
+ KDEFS= +ES1.Xindirect_calls -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \
+ -DMP -Wl,+k $(CPU_KDEFS)
+ KDEFS_32 =
+ KDEFS_64 = +DD64
+
+ <all>
+
DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
-DHPONCPLUS
OPTF=${OPT}
OPTF2=${OPT2}
***************
*** 90,100 ****
include Makefile.common
BITS = 64 32
setup:
-$(RM) -f h net dux machine netinet nfs rpc s200 ufs sys
! ln -s /usr/include/sys h
ln -s /etc/conf/net net
ln -s /etc/conf/dux dux
ln -s /etc/conf/machine machine
--- 102,116 ----
include Makefile.common
+ <hp_ux110 hp_ux102>
BITS = 64 32
+ <hp_ux1122>
+ BITS = 64
+ <all>
setup:
-$(RM) -f h net dux machine netinet nfs rpc s200 ufs sys
! ln -fs /etc/conf/h h
ln -s /etc/conf/net net
ln -s /etc/conf/dux dux
ln -s /etc/conf/machine machine
***************
*** 102,108 ****
--- 118,128 ----
ln -s /etc/conf/nfs nfs
ln -s /usr/include/rpc rpc
ln -s /etc/conf/machine s200
+ <hp_ux110 hp_ux102>
ln -s /etc/conf/ufs ufs
+ <hp_ux1122>
+ ln -fs /etc/conf/sys ufs
+ <all>
ln -s /usr/include/sys sys
for b in $(BITS); do \
for t in $(KOBJ); do \
*** ./src/libuafs/,MakefileProto.HPUX.in Fri Sep 7 18:35:24 2001
--- ./src/libuafs/MakefileProto.HPUX.in Tue Dec 17 14:12:06 2002
***************
*** 30,41 ****
--- 30,49 ----
# System specific build commands and flags
CC = /opt/ansic/bin/cc
DEFINES= -D_REENTRANT -DAFSDEBUG -DKERNEL -DUKERNEL -DAFS -DVICE
+ <hp_ux102 hp_ux110>
KOPTS=-Wp,-H200000 -Wl,-a,archive +DA1.0 +z
+ <hp_ux1122>
+ KOPTS=-Wp,-H200000 -Wl,-a,archive_shared
+ <all>
CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
OPTF=-O
WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
+ <hp_ux102 hp_ux110>
TEST_CFLAGS= -Wp,-H200000 +DA1.0 +z -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux
-DAFS_HPUX_ENV
+ <hp_ux1122>
+ TEST_CFLAGS= -Wp,-H200000 -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux
-DAFS_HPUX_ENV
+ <all>
TEST_LDFLAGS=
TEST_LIBS=-lnsl -lm -lpthread -ldld -lc
*** ./src/lwp/,lwp.h Sun Aug 25 23:34:10 2002
--- ./src/lwp/lwp.h Tue Dec 17 14:14:41 2002
***************
*** 293,302 ****
--- 293,311 ----
* cases, and also between machines apparently running the same OS
* version.
*/
+ /*
+ * On ia64 where the ucontext is used, it can be an extra 48K
+ * Need to account for this. There might be two of these on the
+ * stack too. This needs to be checked.
+ */
+ #if defined(USE_UCONTEXT) && defined(HAVE_UCONTEXT_H)
+ #define AFS_LWP_MINSTACKSIZE (288 * 1024)
+ #else
#if defined(AFS_LINUX22_ENV)
#define AFS_LWP_MINSTACKSIZE (192 * 1024)
#else
#define AFS_LWP_MINSTACKSIZE (48 * 1024)
+ #endif
#endif
/* Action to take on stack overflow. */
*** ./src/lwp/,Makefile.in Wed Sep 19 17:25:25 2001
--- ./src/lwp/Makefile.in Tue Dec 17 14:13:07 2002
***************
*** 87,93 ****
${CC} -E -I${TOP_INCDIR} process.S >process.ss ; \
${AS} process.ss -o process.o ; \
$(RM) -f process.S ;;\
! hp_ux110 ) \
${CC} ${CFLAGS} -c process.c;; \
*) \
/lib/cpp -P -I${TOP_INCDIR} process.s process.ss; \
--- 87,93 ----
${CC} -E -I${TOP_INCDIR} process.S >process.ss ; \
${AS} process.ss -o process.o ; \
$(RM) -f process.S ;;\
! hp_ux11* ) \
${CC} ${CFLAGS} -c process.c;; \
*) \
/lib/cpp -P -I${TOP_INCDIR} process.s process.ss; \
*** ./src/pinstall/,install.c Wed Aug 21 15:53:27 2002
--- ./src/pinstall/install.c Tue Dec 17 14:20:20 2002
***************
*** 163,169 ****
static int
quickStrip (iname, oname, ignored, copy_only)
char *iname, *oname; {
! int pid, status;
static char *strip[] = {
"strip", 0, 0,
};
--- 163,170 ----
static int
quickStrip (iname, oname, ignored, copy_only)
char *iname, *oname; {
! int status;
! pid_t pid;
static char *strip[] = {
"strip", 0, 0,
};
***************
*** 187,193 ****
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid) {
perror("waitpid");
return -1;
}
--- 188,194 ----
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
***************
*** 233,239 ****
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid) {
perror("waitpid");
return -1;
}
--- 234,240 ----
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
***************
*** 272,278 ****
static
quickStrip (iname, oname, ignored, copy_only)
char *iname, *oname; {
! int pid, status;
static char *strip[] = {
"strip", 0, 0,
};
--- 273,280 ----
static
quickStrip (iname, oname, ignored, copy_only)
char *iname, *oname; {
! int status;
! pid_t pid;
static char *strip[] = {
"strip", 0, 0,
};
***************
*** 296,302 ****
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid) {
perror("waitpid");
return -1;
}
--- 298,304 ----
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
***************
*** 334,340 ****
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid) {
perror("waitpid");
return -1;
}
--- 336,342 ----
exit(1);
default: /* parent */
! if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
*** ./src/rx/,rx_packet.c Tue Sep 10 17:33:55 2002
--- ./src/rx/rx_packet.c Tue Dec 17 15:54:15 2002
***************
*** 33,39 ****
#include "../afs/sysincludes.h"
#endif
#include "../h/socket.h"
! #if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV)
#if !defined(AFS_OSF_ENV) && !defined(AFS_AIX41_ENV)
#include "../sys/mount.h" /* it gets pulled in by something later anyway */
#endif
--- 33,39 ----
#include "../afs/sysincludes.h"
#endif
#include "../h/socket.h"
! #if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_HPUX1122_ENV)
#if !defined(AFS_OSF_ENV) && !defined(AFS_AIX41_ENV)
#include "../sys/mount.h" /* it gets pulled in by something later anyway */
#endif
***************
*** 959,965 ****
* message receipt is done in rxk_input or rx_put.
*/
! #ifdef AFS_SUN5_ENV
/*
* Copy an mblock to the contiguous area pointed to by cp.
* MTUXXX Supposed to skip <off> bytes and copy <len> bytes,
--- 959,965 ----
* message receipt is done in rxk_input or rx_put.
*/
! #if defined(AFS_SUN5_ENV) || defined(AFS_HPUX1122_ENV)
/*
* Copy an mblock to the contiguous area pointed to by cp.
* MTUXXX Supposed to skip <off> bytes and copy <len> bytes,
***************
*** 1081,1087 ****
#if !defined(AFS_LINUX20_ENV)
int rx_mb_to_packet(amb, free, hdr_len, data_len, phandle)
! #ifdef AFS_SUN5_ENV
mblk_t *amb;
#else
struct mbuf *amb;
--- 1081,1087 ----
#if !defined(AFS_LINUX20_ENV)
int rx_mb_to_packet(amb, free, hdr_len, data_len, phandle)
! #if defined(AFS_SUN5_ENV) || defined(AFS_HPUX1122_ENV)
mblk_t *amb;
#else
struct mbuf *amb;
*** ./src/rx/HPUX/,rx_kmutex.h Thu Nov 14 14:12:51 2002
--- ./src/rx/HPUX/rx_kmutex.h Tue Dec 17 15:50:23 2002
***************
*** 112,122 ****
--- 112,129 ----
#define MUTEX_TRYENTER(a) b_cpsema(a)
+ #ifdef AFS_HPUX1122_ENV
+ #define MUTEX_ENTER(a) \
+ ((b_owns_sema(a)) ? osi_Panic("Already Held") : b_psema(a))
+ #define MUTEX_EXIT(a) \
+ ((b_owns_sema(a)) ? b_vsema(a) : osi_Panic("mutex not held"))
+ #else
#define MUTEX_ENTER(a) \
((b_owns_sema(a)) ? (osi_Panic("Already Held"), 0) : b_psema(a))
#define MUTEX_EXIT(a) \
((b_owns_sema(a)) ? b_vsema(a) : (osi_Panic("mutex not held"), 0))
+ #endif
#undef MUTEX_ISMINE
#define MUTEX_ISMINE(a) b_owns_sema(a)
*** ./src/rx/,rx_kcommon.h Thu Nov 14 16:27:16 2002
--- ./src/rx/rx_kcommon.h Tue Dec 17 14:22:11 2002
***************
*** 41,47 ****
--- 41,49 ----
#include "../h/dir.h"
#endif
#include "../h/buf.h"
+ #if !defined(AFS_HPUX1122_ENV)
#include "../h/mbuf.h"
+ #endif
#else
#if defined(AFS_XBSD_ENV)
#include "../h/dirent.h"
*** ./,acinclude.m4 Wed Dec 4 18:45:26 2002
--- ./acinclude.m4 Tue Dec 17 13:24:43 2002
***************
*** 292,297 ****
--- 292,300 ----
hppa*-hp-hpux11*)
AFS_SYSNAME="hp_ux110"
;;
+ ia64-hp-hpux*)
+ AFS_SYSNAME="hp_ux1122"
+ ;;
hppa*-hp-hpux10*)
AFS_SYSNAME="hp_ux102"
;;
--
Douglas E. Engert <DEEngert@anl.gov>
Argonne National Laboratory
9700 South Cass Avenue
Argonne, Illinois 60439
(630) 252-5444