summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-06-14 15:52:00 +0000
committerbde <bde@FreeBSD.org>1998-06-14 15:52:00 +0000
commita90040b583bb2b134bd685c9f4b7ac1d187f26a6 (patch)
treed96564c5196896d8b375fb9e4d5029c83607faf4 /sys/nfsclient
parent76251ad8323572aefde82467f55d4881fd250d99 (diff)
downloadFreeBSD-src-a90040b583bb2b134bd685c9f4b7ac1d187f26a6.zip
FreeBSD-src-a90040b583bb2b134bd685c9f4b7ac1d187f26a6.tar.gz
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.
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/nfs_bio.c4
-rw-r--r--sys/nfsclient/nfs_subs.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c
index 3486a78..5633891 100644
--- a/sys/nfsclient/nfs_bio.c
+++ b/sys/nfsclient/nfs_bio.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95
- * $Id: nfs_bio.c,v 1.57 1998/05/30 16:33:56 peter Exp $
+ * $Id: nfs_bio.c,v 1.58 1998/06/01 11:32:53 peter Exp $
*/
@@ -523,7 +523,7 @@ again:
&& uio->uio_offset >= np->n_direofoffset) {
return (0);
}
- lbn = uio->uio_offset / NFS_DIRBLKSIZ;
+ lbn = (uoff_t)uio->uio_offset / NFS_DIRBLKSIZ;
on = uio->uio_offset & (NFS_DIRBLKSIZ - 1);
bp = nfs_getcacheblk(vp, lbn, NFS_DIRBLKSIZ, p);
if (!bp)
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);
}
OpenPOWER on IntegriCloud