Gcc warns of infinite recursion if we use builtin_ffs*() to
implement ffs*(). This is because gcc uses ffs() to implement
these on some platforms. Sidestep the warning by using
builtin_ctz*() for these when compiling with gcc.
This patch could also be changed to always use builtin_ctz
as I had originally planned, but @mhorne recommended I use
builtin_ffs instead.
Also apply a patch sent to me by kevans@ to remove stale
dependencies on the old assembly ffs implementations.
I apologise of these errors. I am new to src development and
am not yet cognizant of all the possible error sources.
Sponsored by: FreeBSD Foundation
Reported by: jlduran@gmail.com, jhb
Fixes: ee8b0c43 (D40730)