At first glance at this, I think it was made 'static inline' because the
function (copied from FreeBSD libc) really is being inlined into the
header; it wouldn't be linked into the executable otherwise as glibc
does not have it.
I think 'static' is essential (so the function does not get exported /
defined more than once), but maybe the 'inline' can be dropped without
ill effects (a compiler might choose to inline it anyway).
An alternative might have been the __inline GCC extension and the
necessary defines for that macro to work, but that sounds messy - making
something standards-compliant by using a nonstandard feature...