> Sorry to interrupt :), but I think it's become clear that rndvar.h is > the wrong header for arc4random() to live in.
Indeed, but while you're at it... Index: systm.h =================================================================== RCS file: /cvs/src/sys/sys/systm.h,v retrieving revision 1.103 diff -u -p -r1.103 systm.h --- systm.h 18 Nov 2014 02:37:31 -0000 1.103 +++ systm.h 18 Nov 2014 16:56:09 -0000 @@ -215,7 +215,8 @@ int copyin(const void *, void *, size_t) __attribute__ ((__bounded__(__buffer__,2,3))); int copyout(const void *, void *, size_t); -void arc4random_buf(void *, size_t); +void arc4random_buf(void *, size_t) + __attribute__ ((__bounded__(__buffer__,1,2))); u_int32_t arc4random(void); u_int32_t arc4random_uniform(u_int32_t);