Following small discussion I had with tedu@ this is just small diff, just
for the sake of C standard "correctness" ... dropping some arithmetic
pointer with void pointers ...

Hopes it might find some interest/usefullness ...

Thanks in advance.


Index: gnu/gcc/gcc/unwind-dw2.c
===================================================================
RCS file: /cvs/src/gnu/gcc/gcc/unwind-dw2.c,v
retrieving revision 1.2
diff -u -p -r1.2 unwind-dw2.c
--- gnu/gcc/gcc/unwind-dw2.c    7 May 2010 22:06:10 -0000    1.2
+++ gnu/gcc/gcc/unwind-dw2.c    8 Dec 2014 17:03:58 -0000
@@ -1528,9 +1528,9 @@ uw_install_context_1 (struct _Unwind_Con

       /* We adjust SP by the difference between CURRENT and TARGET's CFA.
*/
       if (STACK_GROWS_DOWNWARD)
-    return target_cfa - current->cfa + target->args_size;
+    return (unsigned char *)target_cfa - (unsigned char *)current->cfa +
target->args_size;
       else
-    return current->cfa - target_cfa - target->args_size;
+    return (unsigned char *)current->cfa - (unsigned char *)target_cfa -
target->args_size;
     }
   return 0;
 }
Index: lib/librthread/rthread_np.c
===================================================================
RCS file: /cvs/src/lib/librthread/rthread_np.c,v
retrieving revision 1.14
diff -u -p -r1.14 rthread_np.c
--- lib/librthread/rthread_np.c    9 Aug 2014 03:29:35 -0000    1.14
+++ lib/librthread/rthread_np.c    8 Dec 2014 17:04:00 -0000
@@ -66,7 +66,7 @@ pthread_stackseg_np(pthread_t thread, st
 #ifdef MACHINE_STACK_GROWS_UP
         sinfo->ss_sp = thread->stack->base;
 #else
-        sinfo->ss_sp = thread->stack->base + thread->stack->len;
+        sinfo->ss_sp = (unsigned char *)thread->stack->base +
thread->stack->len;
 #endif
         sinfo->ss_size = thread->stack->len;
         if (thread->stack->guardsize != 1)
Index: libexec/ld.so/util.c
===================================================================
RCS file: /cvs/src/libexec/ld.so/util.c,v
retrieving revision 1.35
diff -u -p -r1.35 util.c
--- libexec/ld.so/util.c    14 Jul 2014 03:54:50 -0000    1.35
+++ libexec/ld.so/util.c    8 Dec 2014 17:04:00 -0000
@@ -72,16 +72,17 @@ void
 _dl_randombuf(void *buf, size_t buflen)
 {
     size_t chunk;
+    unsigned char *pbuf = buf;

     while (buflen != 0) {
         if (buflen > 256)
             chunk = 256;
         else
             chunk = buflen;
-        if (_dl_getentropy(buf, chunk) != 0)
+        if (_dl_getentropy(pbuf, chunk) != 0)
             _dl_exit(8);
         buflen -= chunk;
-        buf += chunk;
+        pbuf += chunk;
     }
 }

Index: usr.sbin/nsd/difffile.c
===================================================================
RCS file: /cvs/src/usr.sbin/nsd/difffile.c,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 difffile.c
--- usr.sbin/nsd/difffile.c    16 Sep 2014 16:54:03 -0000    1.1.1.15
+++ usr.sbin/nsd/difffile.c    8 Dec 2014 17:04:01 -0000
@@ -716,10 +716,10 @@ delete_RR(namedb_type* db, const dname_t
                     rrset->rr_count-1])
                     zone->nsec3_param = &rrset->rrs[rrnum];
                 else
-                    zone->nsec3_param =
-                        (void*)zone->nsec3_param
-                        -(void*)rrs_orig +
-                        (void*)rrset->rrs;
+                    zone->nsec3_param = (void*)(
+                        (char*)zone->nsec3_param
+                        -(char*)rrs_orig +
+                        (char*)rrset->rrs);
             }
 #endif /* NSEC3 */
             rrset->rr_count --;
@@ -817,8 +817,8 @@ add_RR(namedb_type* db, const dname_type
             assert(zone->nsec3_param >= rrs_old &&
                 zone->nsec3_param < rrs_old+rrset->rr_count);
             /* in this order to make sure no overflow/underflow*/
-            zone->nsec3_param = (void*)zone->nsec3_param -
-                (void*)rrs_old + (void*)rrset->rrs;
+            zone->nsec3_param = (void*)((char *)zone->nsec3_param -
+                (char*)rrs_old + (char*)rrset->rrs);
         }
 #endif /* NSEC3 */
     }

Index: usr.sbin/nsd/udb.h
===================================================================
RCS file: /cvs/src/usr.sbin/nsd/udb.h,v
retrieving revision 1.1.1.3
diff -u -p -r1.1.1.3 udb.h
--- usr.sbin/nsd/udb.h    16 Sep 2014 16:54:00 -0000    1.1.1.3
+++ usr.sbin/nsd/udb.h    8 Dec 2014 17:04:01 -0000
@@ -54,7 +54,7 @@ typedef uint64_t udb_void;
 /** convert relptr to usable pointer */
 #define UDB_REL(base, relptr) ((base) + (relptr))
 /** from system pointer to relative pointer */
-#define UDB_SYSTOREL(base, ptr) ((udb_void)((void*)(ptr) - (base)))
+#define UDB_SYSTOREL(base, ptr) ((udb_void)((ptr) - (base)))

 /** MAX 2**x exponent of alloced chunks, for 1Mbytes.  The smallest
  * chunk is 16bytes (8preamble+8data), so 0-3 is unused. */
Index: usr.sbin/nsd/xfrd-tcp.c
===================================================================
RCS file: /cvs/src/usr.sbin/nsd/xfrd-tcp.c,v
retrieving revision 1.9
diff -u -p -r1.9 xfrd-tcp.c
--- usr.sbin/nsd/xfrd-tcp.c    16 Sep 2014 17:01:38 -0000    1.9
+++ usr.sbin/nsd/xfrd-tcp.c    8 Dec 2014 17:04:01 -0000
@@ -40,7 +40,7 @@ xfrd_pipe_cmp(const void* a, const void*
     if(x->num_unused != y->num_unused)
         return x->num_unused - y->num_unused;
     /* different pipelines are different still, even with same numunused*/
-    return (int)(a - b);
+    return (int)((char *)a - (char *)b);
 }

 xfrd_tcp_set_t* xfrd_tcp_set_create(struct region* region)

Reply via email to