Subject: Re: CVS commit: src/common/lib/libc
To: Andrew Doran <>
From: Tom Spindler <>
List: source-changes
Date: 11/29/2007 10:37:43
> Log Message:
> Hook the atomic ops in. Right now they are only built into libkern, and
> only if available.

It appears that not all the atomic ops are getting linked in properly;
in i386/ALL, the NDIS stuff gets linked in, which has (in part) an
[incompatible] compatability header. Nuke that and change the extant
references from <machine/atomic.h> to <sys/atomic.h>, however, and you
_still_ get
/home/dogcow/work/nbsrc/sys/compat/ndis/subr_ndis.c:2597: undefined reference to `atomic_add_long'

And indeed - when I nm atomic.o in my libkern directory, atomic_add_long
ain't there. atomic_add_32, yeah; atomic_add_long, no. For that matter,
_no_ atomic_*_long symbols appear - only the _ulong versions.

Note sure how to fix this, or even what I'm seeing. halp?