[OpenAFS] OpenAFS 1.4.0 and FreeBSD 6.0 on AMD64

Ryan Sheidow ryansheidow@hotmail.com
Sat, 07 Jan 2006 14:57:45 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_36c_6668_1536
Content-Type: text/plain; format=flowed

Hi Jim,

Thanks for the reponse and sorry for my late reply.

I attached the param file, I pretty much hacked it together so I'm not so 
sure that it is correct.

As far as I know the mpreferred-stack-boundry=4 is oly used for the afs 
build.  Here are the files that I changed:

workstation2# pwd
/usr/src/openafs/openafs-1.4.0
workstation2# grep -r mpreferred *
src/libafs/MakefileProto.FBSD.in:       -elf -mpreferred-stack-boundary=4 \
src/libafs/MakefileProto.NBSD.in:       -elf -mpreferred-stack-boundary=4 
-I/usr/src/sys/sys -I../afs
src/libafs/MakefileProto.FBSD:  -elf -mpreferred-stack-boundary=4 \
src/libafs/Makefile:    -elf -mpreferred-stack-boundary=4 \
src/libafs/MODLOAD/Makefile:    -elf -mpreferred-stack-boundary=4 \

I did a kernel build and mpreferred-stack-boundary is set to 2.

Sorry for the lack of context for the compile error, here it is.

gmake DESTDIR= single_compdir_libafs
gmake[4]: Entering directory 
`/usr/src/openafs/openafs-1.4.0/src/libafs/MODLOAD'
Makefile.common:51: warning: overriding commands for target `.c.o'
/usr/src/openafs/openafs-1.4.0/src/config/Makefile.config:132: warning: 
ignoring old commands for target `.c.o'
cc -I. -I.. -I../nfs -I/usr/src/openafs/openafs-1.4.0/src 
-I/usr/src/openafs/openafs-1.4.0/src/afs 
-I/usr/src/openafs/openafs-1.4.0/src/afs/FBSD 
-I/usr/src/openafs/openafs-1.4.0/src/config 
-I/usr/src/openafs/openafs-1.4.0/src/rx/FBSD 
-I/usr/src/openafs/openafs-1.4.0/src/rxkad 
-I/usr/src/openafs/openafs-1.4.0/src/rxkad/domestic 
-I/usr/src/openafs/openafs-1.4.0/src/util 
-I/usr/src/openafs/openafs-1.4.0/src 
-I/usr/src/openafs/openafs-1.4.0/src/afs 
-I/usr/src/openafs/openafs-1.4.0/src/afs/FBSD 
-I/usr/src/openafs/openafs-1.4.0/src/util 
-I/usr/src/openafs/openafs-1.4.0/src/rxkad 
-I/usr/src/openafs/openafs-1.4.0/src/config 
-I/usr/src/openafs/openafs-1.4.0/src/fsint 
-I/usr/src/openafs/openafs-1.4.0/src/vlserver 
-I/usr/src/openafs/openafs-1.4.0/include 
-I/usr/src/openafs/openafs-1.4.0/include/afs   -O -I. -I.. 
-I/usr/src/openafs/openafs-1.4.0/src/config  -DAFSDEBUG -DKERNEL -DAFS 
-DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT -Wall -ansi -nostdinc 
-I/usr/include -D_KERNEL -DKLD_MODULE -elf -mpreferred-stack-boundary=4 
-mno-align-long-strings -fformat-extensions -fno-common -ffreestanding 
-I/usr/src/sys/amd64/compile/GENERIC -include opt_global.h 
-fno-strict-aliasing  -O2 -c 
/usr/src/openafs/openafs-1.4.0/src/afs/afs_analyze.c
In file included from ../h/systm.h:42,
                 from 
/usr/src/openafs/openafs-1.4.0/src/afs/sysincludes.h:127,
                 from 
/usr/src/openafs/openafs-1.4.0/src/afs/afs_analyze.c:20:
../machine/cpufunc.h: In function `invlpg':
../machine/cpufunc.h:448: warning: cast to pointer from integer of different 
size
/var/tmp//ccOdlmNB.s: Assembler messages:
/var/tmp//ccOdlmNB.s:1104: Error: Incorrect register `%rax' used with `l' 
suffix
gmake[4]: *** [afs_analyze.o] Error 1
gmake[4]: Leaving directory 
`/usr/src/openafs/openafs-1.4.0/src/libafs/MODLOAD'
gmake[3]: *** [single_compdir] Error 2
gmake[3]: Leaving directory `/usr/src/openafs/openafs-1.4.0/src/libafs'
gmake[2]: *** [libafs] Error 2
gmake[2]: Leaving directory `/usr/src/openafs/openafs-1.4.0'
gmake[1]: *** [build] Error 2
gmake[1]: Leaving directory `/usr/src/openafs/openafs-1.4.0'
gmake: *** [all] Error 2

>From: Jim Rees <rees@umich.edu>
>To: "Ryan Sheidow" <ryansheidow@hotmail.com>
>CC: openafs-info@openafs.org
>Subject: Re: [OpenAFS] OpenAFS 1.4.0 and FreeBSD 6.0 on AMD64 Date: Tue, 03 
>Jan 2006 13:49:18 -0500
>
>Where can I get your param.amd64_fbsd_60.h?
>
>Can you confirm that -mpreferred-stack-boundary=2 is only used when 
>building
>the kernel module, in src/libafs?  If not, where else?
>
>Can you find out whether the kernel build uses -mpreferred-stack-boundary
>and if so what it is set to?  If possible, build a kernel, or at least part
>of one, and send me the compilation line.  Something like "make 
>nfs_vnops.o"
>should do it.
>
>Also, you forgot to send the compilation line that generated the error
>message you are getting.
>
>I'd be very surprised if lwp builds without some more tweaking.

_________________________________________________________________
Don't just Search. Find! http://search.sympatico.msn.ca/default.aspx The new 
MSN Search! Check it out!

------=_NextPart_000_36c_6668_1536
Content-Type: text/x-chdr; name="param.amd64_fbsd_60.h"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="param.amd64_fbsd_60.h"

#ifndef	AFS_PARAM_H
#define	AFS_PARAM_H

#ifndef UKERNEL
/* This section for kernel libafs compiles only */

#ifndef IGNORE_STDS_H
#include <sys/param.h>
#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_FBSD60_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 <afs/afs_sysnames.h>

#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_60"
#define SYS_NAME_ID	SYS_NAME_ID_amd64_fbsd_60

#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_FBSD60_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 /* ADDED */
#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 <afs/afs_sysnames.h>
#define SYS_NAME	"i386_fbsd_60"
#define SYS_NAME_ID	SYS_NAME_ID_i386_fbsd_60

#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 <limits.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/fcntl.h>
#include <netinet/in.h>
#include <sys/uio.h>
#include <sys/socket.h>

#endif /* !defined(UKERNEL) */

#endif /* AFS_PARAM_H */


------=_NextPart_000_36c_6668_1536--