Date: Tue, 26 Feb 2008 00:14:29 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 136195 for review Message-ID: <200802260014.m1Q0ETIZ062180@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=136195 Change 136195 by peter@peter_overcee on 2008/02/26 00:14:13 IFC @136192 Affected files ... .. //depot/projects/hammer/bin/sh/cd.c#5 integrate .. //depot/projects/hammer/contrib/tcpdump/print-802_11.c#9 integrate .. //depot/projects/hammer/gnu/lib/libgcc/Makefile#17 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/ar/Makefile#6 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/ranlib/Makefile#7 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/kgdb.h#8 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/flt_rounds.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/fpgetmask.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/fpgetround.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/fpgetsticky.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/fpsetmask.c#2 integrate .. //depot/projects/hammer/lib/libc/powerpc/gen/fpsetround.c#2 integrate .. //depot/projects/hammer/lib/libc/sys/clock_gettime.2#10 integrate .. //depot/projects/hammer/lib/msun/powerpc/fenv.h#4 integrate .. //depot/projects/hammer/lib/msun/src/e_rem_pio2.c#4 integrate .. //depot/projects/hammer/lib/msun/src/e_rem_pio2f.c#8 integrate .. //depot/projects/hammer/lib/msun/src/k_rem_pio2.c#4 integrate .. //depot/projects/hammer/lib/msun/src/math_private.h#10 integrate .. //depot/projects/hammer/lib/msun/src/s_cosf.c#6 integrate .. //depot/projects/hammer/lib/msun/src/s_sinf.c#5 integrate .. //depot/projects/hammer/lib/msun/src/s_tanf.c#5 integrate .. //depot/projects/hammer/sbin/ping6/ping6.c#12 integrate .. //depot/projects/hammer/share/man/man9/VOP_LOCK.9#10 integrate .. //depot/projects/hammer/share/man/man9/lock.9#12 integrate .. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#8 integrate .. //depot/projects/hammer/sys/dev/atkbdc/psm.c#9 integrate .. //depot/projects/hammer/sys/dev/cxgb/cxgb_sge.c#17 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#57 integrate .. //depot/projects/hammer/sys/fs/nullfs/null_vfsops.c#29 integrate .. //depot/projects/hammer/sys/fs/nullfs/null_vnops.c#31 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_io.c#21 integrate .. //depot/projects/hammer/sys/fs/tmpfs/tmpfs_subr.c#9 integrate .. //depot/projects/hammer/sys/fs/tmpfs/tmpfs_vnops.c#10 integrate .. //depot/projects/hammer/sys/fs/unionfs/union_vfsops.c#25 integrate .. //depot/projects/hammer/sys/fs/unionfs/union_vnops.c#36 integrate .. //depot/projects/hammer/sys/i386/i386/identcpu.c#41 integrate .. //depot/projects/hammer/sys/i386/i386/initcpu.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#37 integrate .. //depot/projects/hammer/sys/kern/vfs_cache.c#27 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#53 integrate .. //depot/projects/hammer/sys/kern/vfs_lookup.c#33 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#124 integrate .. //depot/projects/hammer/sys/kern/vnode_if.src#25 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#54 integrate .. //depot/projects/hammer/sys/netncp/ncp_conn.c#12 integrate .. //depot/projects/hammer/sys/netsmb/smb_conn.c#13 integrate .. //depot/projects/hammer/sys/netsmb/smb_iod.c#11 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vfsops.c#25 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#33 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#53 integrate .. //depot/projects/hammer/sys/powerpc/include/float.h#9 integrate .. //depot/projects/hammer/sys/powerpc/include/hid.h#4 integrate .. //depot/projects/hammer/sys/powerpc/include/spr.h#6 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/cpu.c#8 integrate .. //depot/projects/hammer/sys/security/audit/audit.c#14 integrate .. //depot/projects/hammer/sys/security/audit/audit_arg.c#12 integrate .. //depot/projects/hammer/sys/security/audit/audit_bsm.c#12 integrate .. //depot/projects/hammer/sys/security/audit/audit_bsm_klib.c#9 integrate .. //depot/projects/hammer/sys/security/audit/audit_private.h#7 integrate .. //depot/projects/hammer/sys/sys/buf.h#34 integrate .. //depot/projects/hammer/sys/sys/lockmgr.h#17 integrate .. //depot/projects/hammer/sys/sys/param.h#105 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_rawread.c#22 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vnops.c#49 integrate .. //depot/projects/hammer/sys/vm/vm_object.c#74 integrate .. //depot/projects/hammer/tools/regression/bin/sh/builtins/cd1.0#1 branch .. //depot/projects/hammer/usr.bin/ar/Makefile#4 integrate .. //depot/projects/hammer/usr.bin/ar/ar.c#4 integrate .. //depot/projects/hammer/usr.bin/ar/write.c#2 integrate .. //depot/projects/hammer/usr.bin/du/du.1#9 integrate .. //depot/projects/hammer/usr.bin/du/du.c#17 integrate .. //depot/projects/hammer/usr.bin/find/find.1#24 integrate Differences ... ==== //depot/projects/hammer/bin/sh/cd.c#5 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.35 2006/06/12 21:06:00 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.36 2008/02/24 16:50:55 stefanf Exp $"); #include <sys/types.h> #include <sys/stat.h> @@ -68,7 +68,9 @@ STATIC int cdphysical(char *); STATIC int docd(char *, int, int); STATIC char *getcomponent(void); -STATIC int updatepwd(char *); +STATIC char *findcwd(char *); +STATIC void updatepwd(char *); +STATIC char *getpwd2(char *, size_t); STATIC char *curdir = NULL; /* current working directory */ STATIC char *prevdir; /* previous working directory */ @@ -201,10 +203,11 @@ } INTOFF; - if (updatepwd(badstat ? NULL : dest) < 0 || chdir(curdir) < 0) { + if ((p = findcwd(badstat ? NULL : dest)) == NULL || chdir(p) < 0) { INTON; return (-1); } + updatepwd(p); INTON; return (0); } @@ -212,12 +215,14 @@ STATIC int cdphysical(char *dest) { + char *p; INTOFF; - if (chdir(dest) < 0 || updatepwd(NULL) < 0) { + if (chdir(dest) < 0 || (p = findcwd(NULL)) == NULL) { INTON; return (-1); } + updatepwd(p); INTON; return (0); } @@ -247,38 +252,20 @@ } -/* - * Update curdir (the name of the current directory) in response to a - * cd command. We also call hashcd to let the routines in exec.c know - * that the current directory has changed. - */ -STATIC int -updatepwd(char *dir) +STATIC char * +findcwd(char *dir) { char *new; char *p; - hashcd(); /* update command hash table */ - /* * If our argument is NULL, we don't know the current directory * any more because we traversed a symbolic link or something * we couldn't stat(). */ if (dir == NULL || curdir == NULL) { - if (prevdir) - ckfree(prevdir); - INTOFF; - prevdir = curdir; - curdir = NULL; - if (getpwd() == NULL) { - INTON; - return (-1); - } - setvar("PWD", curdir, VEXPORT); - setvar("OLDPWD", prevdir, VEXPORT); - INTON; - return (0); + p = stalloc(PATH_MAX); + return getpwd2(p, PATH_MAX); } cdcomppath = stalloc(strlen(dir) + 1); scopy(dir, cdcomppath); @@ -302,16 +289,25 @@ if (new == stackblock()) STPUTC('/', new); STACKSTRNUL(new); - INTOFF; + return stackblock(); +} + +/* + * Update curdir (the name of the current directory) in response to a + * cd command. We also call hashcd to let the routines in exec.c know + * that the current directory has changed. + */ +STATIC void +updatepwd(char *dir) +{ + hashcd(); /* update command hash table */ + if (prevdir) ckfree(prevdir); prevdir = curdir; - curdir = savestr(stackblock()); + curdir = savestr(dir); setvar("PWD", curdir, VEXPORT); setvar("OLDPWD", prevdir, VEXPORT); - INTON; - - return (0); } int @@ -355,17 +351,31 @@ } /* - * Find out what the current directory is. If we already know the current - * directory, this routine returns immediately. + * Get the current directory and cache the result in curdir. */ char * getpwd(void) { char buf[PATH_MAX]; + char *p; if (curdir) return curdir; - if (getcwd(buf, sizeof(buf)) == NULL) { + + p = getpwd2(buf, sizeof(buf)); + if (p != NULL) + curdir = savestr(p); + + return curdir; +} + +/* + * Return the current directory. + */ +STATIC char * +getpwd2(char *buf, size_t size) +{ + if (getcwd(buf, size) == NULL) { char *pwd = getenv("PWD"); struct stat stdot, stpwd; @@ -373,12 +383,9 @@ stat(pwd, &stpwd) != -1 && stdot.st_dev == stpwd.st_dev && stdot.st_ino == stpwd.st_ino) { - curdir = savestr(pwd); - return curdir; + return pwd; } return NULL; } - curdir = savestr(buf); - - return curdir; + return buf; } ==== //depot/projects/hammer/contrib/tcpdump/print-802_11.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.3 2007/10/16 02:31:47 mlaier Exp $ */ +/* $FreeBSD: src/contrib/tcpdump/print-802_11.c,v 1.4 2008/02/25 01:28:14 sam Exp $ */ /* * Copyright (c) 2001 * Fortress Technologies, Inc. All rights reserved. @@ -1186,9 +1186,9 @@ break; case IEEE80211_RADIOTAP_RATE: if (u.u8 & 0x80) + PRINT_HT_RATE("", u.u8, " Mb/s "); + else PRINT_RATE("", u.u8, " Mb/s "); - else - PRINT_HT_RATE("", u.u8, " Mb/s "); break; case IEEE80211_RADIOTAP_DBM_ANTSIGNAL: printf("%ddB signal ", u.i8); ==== //depot/projects/hammer/gnu/lib/libgcc/Makefile#17 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.58 2007/08/14 20:49:57 kan Exp $ +# $FreeBSD: src/gnu/lib/libgcc/Makefile,v 1.59 2008/02/24 19:22:52 raj Exp $ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -122,7 +122,7 @@ .if ${TARGET_ARCH} == "powerpc" # from config/rs6000/t-ppccomm -LIB2FUNCS_EXTRA = tramp.asm darwin-ldouble.c +LIB2FUNCS_EXTRA = tramp.asm LIB2FUNCS_STATIC_EXTRA = eabi.asm .endif ==== //depot/projects/hammer/gnu/usr.bin/binutils/ar/Makefile#6 (text+ko) ==== @@ -1,15 +1,18 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.16 2008/02/21 16:59:02 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ar/Makefile,v 1.17 2008/02/25 16:16:16 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if defined(WITH_BSDAR) -PROG= gnu-ar -#MAN= gnu-ar.1 -.else +.if !defined(_WITH_GNUAR) +PROGNAME= gnu-ar +MAN= gnu-ar.1 +gnu-ar.1: ar.1 + cat ${.ALLSRC} > ${.TARGET} +CLEANFILES+= gnu-ar.1 +.endif + PROG= ar -.endif SRCS= ar.c not-ranlib.c CFLAGS+= -D_GNU_SOURCE CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils ==== //depot/projects/hammer/gnu/usr.bin/binutils/ranlib/Makefile#7 (text+ko) ==== @@ -1,15 +1,18 @@ -# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.17 2008/02/21 16:59:02 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/binutils/ranlib/Makefile,v 1.18 2008/02/25 16:16:16 ru Exp $ .include "../Makefile.inc0" .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc -.if defined(WITH_BSDAR) -PROG= gnu-ranlib -#MAN= gnu-ranlib.1 -.else +.if !defined(_WITH_GNUAR) +PROGNAME= gnu-ranlib +MAN= gnu-ranlib.1 +gnu-ranlib.1: ranlib.1 + cat ${.ALLSRC} > ${.TARGET} +CLEANFILES+= gnu-ranlib.1 +.endif + PROG= ranlib -.endif SRCS= ar.c is-ranlib.c CFLAGS+= -D_GNU_SOURCE CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils ==== //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/kgdb.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.11 2008/01/29 23:44:34 jhb Exp $ + * $FreeBSD: src/gnu/usr.bin/gdb/kgdb/kgdb.h,v 1.12 2008/02/25 22:04:07 jhb Exp $ */ #ifndef _KGDB_H_ @@ -49,7 +49,6 @@ extern struct kthr *curkthr; void kgdb_add_kld_cmd(char *, int); -void kgdb_auto_load_klds(void); void kgdb_kld_init(void); void kgdb_target(void); void kgdb_trgt_fetch_registers(int); ==== //depot/projects/hammer/lib/libc/powerpc/gen/flt_rounds.c#2 (text+ko) ==== @@ -32,11 +32,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/flt_rounds.c,v 1.1 2004/02/12 09:11:06 grehan Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/flt_rounds.c,v 1.2 2008/02/24 19:22:53 raj Exp $"); #include <sys/types.h> #include <machine/float.h> +#ifndef _SOFT_FLOAT static const int map[] = { 1, /* round to nearest */ 0, /* round to zero */ @@ -52,3 +53,4 @@ __asm__ __volatile("mffs %0" : "=f"(fpscr)); return map[(fpscr & 0x03)]; } +#endif ==== //depot/projects/hammer/lib/libc/powerpc/gen/fpgetmask.c#2 (text+ko) ==== @@ -38,11 +38,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpgetmask.c,v 1.1 2004/02/12 09:11:06 grehan Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpgetmask.c,v 1.2 2008/02/24 19:22:53 raj Exp $"); #include <sys/types.h> #include <ieeefp.h> +#ifndef _SOFT_FLOAT fp_except_t fpgetmask() { @@ -51,3 +52,4 @@ __asm__("mffs %0" : "=f"(fpscr)); return ((fp_except_t)((fpscr >> 3) & 0x1f)); } +#endif ==== //depot/projects/hammer/lib/libc/powerpc/gen/fpgetround.c#2 (text+ko) ==== @@ -38,11 +38,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpgetround.c,v 1.1 2004/02/12 09:11:06 grehan Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpgetround.c,v 1.2 2008/02/24 19:22:53 raj Exp $"); #include <sys/types.h> #include <ieeefp.h> +#ifndef _SOFT_FLOAT fp_rnd_t fpgetround() { @@ -51,3 +52,4 @@ __asm__("mffs %0" : "=f"(fpscr)); return ((fp_rnd_t)(fpscr & 0x3)); } +#endif ==== //depot/projects/hammer/lib/libc/powerpc/gen/fpgetsticky.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/powerpc/gen/fpgetsticky.c,v 1.1 2004/02/12 09:11:06 grehan Exp $ + * $FreeBSD: src/lib/libc/powerpc/gen/fpgetsticky.c,v 1.2 2008/02/24 19:22:53 raj Exp $ */ #include <sys/cdefs.h> @@ -45,6 +45,7 @@ #include <sys/types.h> #include <ieeefp.h> +#ifndef _SOFT_FLOAT #ifdef __weak_alias __weak_alias(fpgetsticky,_fpgetsticky) #endif @@ -57,3 +58,4 @@ __asm__ __volatile("mffs %0" : "=f"(fpscr)); return ((fp_except_t)((fpscr >> 25) & 0x1f)); } +#endif ==== //depot/projects/hammer/lib/libc/powerpc/gen/fpsetmask.c#2 (text+ko) ==== @@ -38,11 +38,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpsetmask.c,v 1.1 2004/02/12 09:11:06 grehan Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpsetmask.c,v 1.2 2008/02/24 19:22:53 raj Exp $"); #include <sys/types.h> #include <ieeefp.h> +#ifndef _SOFT_FLOAT fp_except_t fpsetmask(fp_except_t mask) { @@ -55,3 +56,4 @@ __asm__ __volatile("mtfsf 0xff,%0" :: "f"(fpscr)); return (old); } +#endif ==== //depot/projects/hammer/lib/libc/powerpc/gen/fpsetround.c#2 (text+ko) ==== @@ -38,11 +38,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpsetround.c,v 1.1 2004/02/12 09:11:06 grehan Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/powerpc/gen/fpsetround.c,v 1.2 2008/02/24 19:22:53 raj Exp $"); #include <sys/types.h> #include <ieeefp.h> +#ifndef _SOFT_FLOAT fp_rnd_t fpsetround(fp_rnd_t rnd_dir) { @@ -55,3 +56,4 @@ __asm__ __volatile("mtfsf 0xff,%0" :: "f"(fpscr)); return (old); } +#endif ==== //depot/projects/hammer/lib/libc/sys/clock_gettime.2#10 (text+ko) ==== @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.24 2007/01/09 00:28:14 imp Exp $ +.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.25 2008/02/25 13:03:18 brueffer Exp $ .\" .Dd November 4, 2006 .Dt CLOCK_GETTIME 2 @@ -52,8 +52,8 @@ .Fn clock_gettime and .Fn clock_settime -allow the calling process to retrieve or set the value used by a clock -which is specified by +system calls allow the calling process to retrieve or set the value +used by a clock which is specified by .Fa clock_id . .Pp The ==== //depot/projects/hammer/lib/msun/powerpc/fenv.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/msun/powerpc/fenv.h,v 1.3 2005/03/16 19:03:45 das Exp $ + * $FreeBSD: src/lib/msun/powerpc/fenv.h,v 1.4 2008/02/24 19:22:53 raj Exp $ */ #ifndef _FENV_H_ @@ -82,8 +82,13 @@ #define _ENABLE_MASK ((FE_DIVBYZERO | FE_INEXACT | FE_INVALID | \ FE_OVERFLOW | FE_UNDERFLOW) >> _FPUSW_SHIFT) +#ifndef _SOFT_FLOAT #define __mffs(__env) __asm __volatile("mffs %0" : "=f" (*(__env))) #define __mtfsf(__env) __asm __volatile("mtfsf 255,%0" : : "f" (__env)) +#else +#define __mffs(__env) +#define __mtfsf(__env) +#endif union __fpscr { double __d; ==== //depot/projects/hammer/lib/msun/src/e_rem_pio2.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.15 2008/02/23 12:53:21 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2.c,v 1.17 2008/02/25 18:28:58 bde Exp $"); /* __ieee754_rem_pio2(x,y) * @@ -56,7 +56,7 @@ __ieee754_rem_pio2(double x, double *y) { double z,w,t,r,fn; - double tx[3]; + double tx[3],ty[2]; int32_t e0,i,j,nx,n,ix,hx; u_int32_t low; @@ -182,7 +182,7 @@ tx[2] = z; nx = 3; while(tx[nx-1]==zero) nx--; /* skip zero term */ - n = __kernel_rem_pio2(tx,y,e0,nx,2); - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - return n; + n = __kernel_rem_pio2(tx,ty,e0,nx,1); + if(hx<0) {y[0] = -ty[0]; y[1] = -ty[1]; return -n;} + y[0] = ty[0]; y[1] = ty[1]; return n; } ==== //depot/projects/hammer/lib/msun/src/e_rem_pio2f.c#8 (text+ko) ==== @@ -15,12 +15,12 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.24 2008/02/23 12:53:21 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/e_rem_pio2f.c,v 1.28 2008/02/25 22:19:17 bde Exp $"); /* __ieee754_rem_pio2f(x,y) * - * return the remainder of x rem pi/2 in y[0]+y[1] - * use double precision internally + * return the remainder of x rem pi/2 in *y + * use double precision for everything except passing x * use __kernel_rem_pio2() for large x */ @@ -41,11 +41,14 @@ pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */ pio2_1t = 6.07710050650619224932e-11; /* 0x3DD0B461, 0x1A626331 */ +#ifdef INLINE_REM_PIO2F +extern inline +#endif int -__ieee754_rem_pio2f(float x, float *y) +__ieee754_rem_pio2f(float x, double *y) { double w,r,fn; - double tx[1],ty[2]; + double tx[1],ty[1]; float z; int32_t e0,n,ix,hx; @@ -63,23 +66,20 @@ #endif r = x-fn*pio2_1; w = fn*pio2_1t; - y[0] = r-w; - y[1] = (r-y[0])-w; + *y = r-w; return n; } /* * all other (large) arguments */ if(ix>=0x7f800000) { /* x is inf or NaN */ - y[0]=y[1]=x-x; return 0; + *y=x-x; return 0; } /* set z = scalbn(|x|,ilogb(|x|)-23) */ e0 = (ix>>23)-150; /* e0 = ilogb(|x|)-23; */ SET_FLOAT_WORD(z, ix - ((int32_t)(e0<<23))); tx[0] = z; - n = __kernel_rem_pio2(tx,ty,e0,1,1); - y[0] = ty[0]; - y[1] = ty[0] - y[0]; - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - return n; + n = __kernel_rem_pio2(tx,ty,e0,1,0); + if(hx<0) {*y = -ty[0]; return -n;} + *y = ty[0]; return n; } ==== //depot/projects/hammer/lib/msun/src/k_rem_pio2.c#4 (text+ko) ==== @@ -12,7 +12,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.10 2008/02/17 07:31:59 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/k_rem_pio2.c,v 1.11 2008/02/25 11:43:20 bde Exp $"); /* * __kernel_rem_pio2(x,y,e0,nx,prec) @@ -78,8 +78,13 @@ * Here is the description of some local variables: * * jk jk+1 is the initial number of terms of ipio2[] needed - * in the computation. The recommended value is 2,3,4, - * 6 for single, double, extended,and quad. + * in the computation. The minimum and recommended value + * for jk is 3,4,4,6 for single, double, extended, and quad. + * jk+1 must be 2 larger than you might expect so that our + * recomputation test works. (Up to 24 bits in the integer + * part (the 24 bits of it that we compute) and 23 bits in + * the fraction part may be lost to cancelation before we + * recompute.) * * jz local integer variable indicating the number of * terms of ipio2[] used. @@ -129,7 +134,7 @@ #include "math.h" #include "math_private.h" -static const int init_jk[] = {2,3,4,6}; /* initial value for jk */ +static const int init_jk[] = {3,4,4,6}; /* initial value for jk */ /* * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi ==== //depot/projects/hammer/lib/msun/src/math_private.h#10 (text+ko) ==== @@ -11,7 +11,7 @@ /* * from: @(#)fdlibm.h 5.1 93/09/24 - * $FreeBSD: src/lib/msun/src/math_private.h,v 1.25 2008/02/22 14:11:03 bde Exp $ + * $FreeBSD: src/lib/msun/src/math_private.h,v 1.26 2008/02/25 13:33:20 bde Exp $ */ #ifndef _MATH_PRIVATE_H_ @@ -320,7 +320,7 @@ double __kernel_tan(double,double,int); /* float precision kernel functions */ -int __ieee754_rem_pio2f(float,float*); +int __ieee754_rem_pio2f(float,double*); float __kernel_sindf(double); float __kernel_cosdf(double); float __kernel_tandf(double,int); ==== //depot/projects/hammer/lib/msun/src/s_cosf.c#6 (text+ko) ==== @@ -15,12 +15,16 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_cosf.c,v 1.16 2008/02/22 02:30:35 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_cosf.c,v 1.18 2008/02/25 22:19:17 bde Exp $"); + +#include <float.h> #include "math.h" #define INLINE_KERNEL_COSDF #define INLINE_KERNEL_SINDF +#define INLINE_REM_PIO2F #include "math_private.h" +#include "e_rem_pio2f.c" #include "k_cosf.c" #include "k_sinf.c" @@ -34,7 +38,7 @@ float cosf(float x) { - float y[2]; + double y; int32_t n, hx, ix; GET_FLOAT_WORD(hx,x); @@ -71,13 +75,13 @@ /* general argument reduction needed */ else { - n = __ieee754_rem_pio2f(x,y); + n = __ieee754_rem_pio2f(x,&y); switch(n&3) { - case 0: return __kernel_cosdf((double)y[0]+y[1]); - case 1: return __kernel_sindf(-(double)y[0]-y[1]); - case 2: return -__kernel_cosdf((double)y[0]+y[1]); + case 0: return __kernel_cosdf(y); + case 1: return __kernel_sindf(-y); + case 2: return -__kernel_cosdf(y); default: - return __kernel_sindf((double)y[0]+y[1]); + return __kernel_sindf(y); } } } ==== //depot/projects/hammer/lib/msun/src/s_sinf.c#5 (text+ko) ==== @@ -15,12 +15,16 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_sinf.c,v 1.15 2008/02/22 02:30:36 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_sinf.c,v 1.17 2008/02/25 22:19:17 bde Exp $"); + +#include <float.h> #include "math.h" #define INLINE_KERNEL_COSDF #define INLINE_KERNEL_SINDF +#define INLINE_REM_PIO2F #include "math_private.h" +#include "e_rem_pio2f.c" #include "k_cosf.c" #include "k_sinf.c" @@ -34,7 +38,7 @@ float sinf(float x) { - float y[2]; + double y; int32_t n, hx, ix; GET_FLOAT_WORD(hx,x); @@ -69,13 +73,13 @@ /* general argument reduction needed */ else { - n = __ieee754_rem_pio2f(x,y); + n = __ieee754_rem_pio2f(x,&y); switch(n&3) { - case 0: return __kernel_sindf((double)y[0]+y[1]); - case 1: return __kernel_cosdf((double)y[0]+y[1]); - case 2: return __kernel_sindf(-(double)y[0]-y[1]); + case 0: return __kernel_sindf(y); + case 1: return __kernel_cosdf(y); + case 2: return __kernel_sindf(-y); default: - return -__kernel_cosdf((double)y[0]+y[1]); + return -__kernel_cosdf(y); } } } ==== //depot/projects/hammer/lib/msun/src/s_tanf.c#5 (text+ko) ==== @@ -15,11 +15,15 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/msun/src/s_tanf.c,v 1.15 2008/02/22 02:30:36 das Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/src/s_tanf.c,v 1.17 2008/02/25 22:19:17 bde Exp $"); + +#include <float.h> #include "math.h" #define INLINE_KERNEL_TANDF +#define INLINE_REM_PIO2F #include "math_private.h" +#include "e_rem_pio2f.c" #include "k_tanf.c" /* Small multiples of pi/2 rounded to double precision. */ @@ -32,7 +36,7 @@ float tanf(float x) { - float y[2]; + double y; int32_t n, hx, ix; GET_FLOAT_WORD(hx,x); @@ -61,8 +65,8 @@ /* general argument reduction needed */ else { - n = __ieee754_rem_pio2f(x,y); + n = __ieee754_rem_pio2f(x,&y); /* integer parameter: 1 -- n even; -1 -- n odd */ - return __kernel_tandf((double)y[0]+y[1],1-((n&1)<<1)); + return __kernel_tandf(y,1-((n&1)<<1)); } } ==== //depot/projects/hammer/sbin/ping6/ping6.c#12 (text+ko) ==== @@ -78,7 +78,7 @@ static char sccsid[] = "@(#)ping.c 8.1 (Berkeley) 6/5/93"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/ping6/ping6.c,v 1.32 2007/11/20 01:58:34 dd Exp $"; + "$FreeBSD: src/sbin/ping6/ping6.c,v 1.33 2008/02/25 10:45:25 silby Exp $"; #endif /* not lint */ /* @@ -457,9 +457,9 @@ if (interval.tv_sec < 0) errx(1, "illegal timing interval %s", optarg); /* less than 1/hz does not make sense */ - if (interval.tv_sec == 0 && interval.tv_usec < 10000) { - warnx("too small interval, raised to 0.01"); - interval.tv_usec = 10000; + if (interval.tv_sec == 0 && interval.tv_usec < 1) { + warnx("too small interval, raised to .000001"); + interval.tv_usec = 1; } options |= F_INTERVAL; break; ==== //depot/projects/hammer/share/man/man9/VOP_LOCK.9#10 (text+ko) ==== @@ -26,9 +26,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.22 2008/01/18 22:09:29 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/VOP_LOCK.9,v 1.23 2008/02/25 19:12:01 attilio Exp $ .\" -.Dd January 19, 2008 +.Dd February 25, 2008 .Os .Dt VOP_LOCK 9 .Sh NAME @@ -46,7 +46,7 @@ .Ft int .Fn VOP_UNLOCK "struct vnode *vp" "int flags" .Ft int -.Fn VOP_ISLOCKED "struct vnode *vp" "struct thread *td" +.Fn VOP_ISLOCKED "struct vnode *vp" .Ft int .Fn vn_lock "struct vnode *vp" "int flags" .Sh DESCRIPTION @@ -101,9 +101,6 @@ .It Dv LK_RETRY Retry until locked. .El -.It Fa td -Thread context to use for the locks. -.El .Pp Kernel code should use .Fn vn_lock ==== //depot/projects/hammer/share/man/man9/lock.9#12 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/lock.9,v 1.25 2008/02/14 19:39:09 brueffer Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.26 2008/02/25 19:12:01 attilio Exp $ .\" -.Dd February 13, 2008 +.Dd February 25, 2008 .Dt LOCK 9 .Os .Sh NAME @@ -49,7 +49,7 @@ .Ft int .Fn lockmgr "struct lock *lkp" "u_int flags" "struct mtx *interlkp" .Ft int -.Fn lockstatus "struct lock *lkp" "struct thread *td" +.Fn lockstatus "struct lock *lkp" .Ft void .Fn lockmgr_disown "struct lock *lkp" .Ft void @@ -180,20 +180,11 @@ .Pp The .Fn lockstatus -function returns the status of the lock in relation to the -.Vt thread -passed to it. -Note that if -.Fa td -is -.Dv NULL -and an exclusive lock is held, -.Dv LK_EXCLUSIVE -will be returned. +function returns the status of the lock in relation to the current thread. .Pp The .Fn lockmgr_disown -function switches the owner from curthread to be +function switches the owner from the current thread to be .Dv LK_KERNPROC, if the lock is already held. .Pp @@ -283,11 +274,9 @@ function returns: .Bl -tag -width ".Dv LK_EXCLUSIVE" .It Dv LK_EXCLUSIVE -An exclusive lock is held by the thread -.Fa td . +An exclusive lock is held by the current thread. .It Dv LK_EXCLOTHER -An exclusive lock is held by someone other than the thread -.Fa td . +An exclusive lock is held by someone other than the current thread. .It Dv LK_SHARED A shared lock is held. .It Li 0 ==== //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#8 (text+ko) ==== @@ -1113,7 +1113,7 @@ int ltype = 0; if (cnp->cn_flags & ISDOTDOT) { - ltype = VOP_ISLOCKED(dvp, td); + ltype = VOP_ISLOCKED(dvp); VOP_UNLOCK(dvp, 0); } error = vn_lock(*vpp, cnp->cn_lkflags); @@ -1171,7 +1171,7 @@ /* ARGSUSED */ static int zfs_create(vnode_t *dvp, char *name, vattr_t *vap, int excl, int mode, - vnode_t **vpp, cred_t *cr, kthread_t *td) + vnode_t **vpp, cred_t *cr) { znode_t *zp, *dzp = VTOZ(dvp); zfsvfs_t *zfsvfs = dzp->z_zfsvfs; @@ -3245,7 +3245,7 @@ mode = vap->va_mode & ALLPERMS; return (zfs_create(ap->a_dvp, cnp->cn_nameptr, vap, !EXCL, mode, - ap->a_vpp, cnp->cn_cred, cnp->cn_thread)); + ap->a_vpp, cnp->cn_cred)); } static int ==== //depot/projects/hammer/sys/dev/atkbdc/psm.c#9 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802260014.m1Q0ETIZ062180>