From a90040b583bb2b134bd685c9f4b7ac1d187f26a6 Mon Sep 17 00:00:00 2001 From: bde Date: Sun, 14 Jun 1998 15:52:00 +0000 Subject: Avoid an egcs pessimization for 64-bit signed division on i386's. Pre-2.8 versions of gcc generate a call to __divdi3() for all 64-bit signed divisions, but egcs optimizes them to a shift and fixup when the divisor is a constant power of 2. Unfortunately, it generates a call to __cmpdi2() for the fixup, although all except possibly ancient versions of gcc and egcs do ordinary 64-bit comparisons inline. --- sys/nfsclient/nfs_subs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/nfsclient/nfs_subs.c') diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index b53f59d..f256959 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95 - * $Id: nfs_subs.c,v 1.60 1998/05/31 19:16:08 peter Exp $ + * $Id: nfs_subs.c,v 1.61 1998/05/31 20:08:55 peter Exp $ */ /* @@ -2011,11 +2011,11 @@ nfs_getcookie(np, off, add) register struct nfsdmap *dp, *dp2; register int pos; - pos = off / NFS_DIRBLKSIZ; - if (pos == 0) { + pos = (uoff_t)off / NFS_DIRBLKSIZ; + if (pos == 0 || off < 0) { #ifdef DIAGNOSTIC if (add) - panic("nfs getcookie add at 0"); + panic("nfs getcookie add at <= 0"); #endif return (&nfs_nullcookie); } -- cgit v1.1