Author: brooks
Date: Fri Jan 29 01:22:12 2016
New Revision: 295031
URL: https://svnweb.freebsd.org/changeset/base/295031

Log:
  Use intptr_t note ptrdiff_t when storing flags in the bottom bits of
  pointers.
  
  Obtained from:        CheriBSD (e3a69027cc5a384431156d61c90d4304387a9b9d)
  Sponsored by: DARPA, AFRL

Modified:
  head/lib/libc/db/hash/hash.h
  head/lib/libc/db/hash/hash_buf.c

Modified: head/lib/libc/db/hash/hash.h
==============================================================================
--- head/lib/libc/db/hash/hash.h        Fri Jan 29 01:09:04 2016        
(r295030)
+++ head/lib/libc/db/hash/hash.h        Fri Jan 29 01:22:12 2016        
(r295031)
@@ -138,11 +138,11 @@ typedef struct htab        {              /* Memory reside
 #define ALL_SET                        ((u_int32_t)0xFFFFFFFF)
 #define ALL_CLEAR              0
 
-#define PTROF(X)       ((BUFHEAD *)((ptrdiff_t)(X)&~0x3))
-#define ISMOD(X)       ((u_int32_t)(ptrdiff_t)(X)&0x1)
-#define DOMOD(X)       ((X) = (char *)((ptrdiff_t)(X)|0x1))
-#define ISDISK(X)      ((u_int32_t)(ptrdiff_t)(X)&0x2)
-#define DODISK(X)      ((X) = (char *)((ptrdiff_t)(X)|0x2))
+#define PTROF(X)       ((BUFHEAD *)((intptr_t)(X)&~0x3))
+#define ISMOD(X)       ((u_int32_t)(intptr_t)(X)&0x1)
+#define DOMOD(X)       ((X) = (char *)((intptr_t)(X)|0x1))
+#define ISDISK(X)      ((u_int32_t)(intptr_t)(X)&0x2)
+#define DODISK(X)      ((X) = (char *)((intptr_t)(X)|0x2))
 
 #define BITS_PER_MAP   32
 

Modified: head/lib/libc/db/hash/hash_buf.c
==============================================================================
--- head/lib/libc/db/hash/hash_buf.c    Fri Jan 29 01:09:04 2016        
(r295030)
+++ head/lib/libc/db/hash/hash_buf.c    Fri Jan 29 01:22:12 2016        
(r295031)
@@ -138,7 +138,7 @@ __get_buf(HTAB *hashp, u_int32_t addr,
                        return (NULL);
                if (!prev_bp)
                        segp[segment_ndx] =
-                           (BUFHEAD *)((ptrdiff_t)bp | is_disk_mask);
+                           (BUFHEAD *)((intptr_t)bp | is_disk_mask);
        } else {
                BUF_REMOVE(bp);
                MRU_INSERT(bp);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to