soundmodem and hweihgt*() functions

Serguei Koubouchine (ksi@gu.net)
Tue, 16 Jun 1998 12:14:54 +0300 (EEST)


Hi, everybody!

First of all (2.1.106 with ac2):

=== Cut ===
/lib/modules/2.1.106/net/soundmodem.o: unresolved symbol(s)
generic_hweight8
generic_hweight16
generic_hweight32
=== Cut ===

Looking into linux/bitops.h:

=== Cut ===
extern __inline__ unsigned int generic_hweight32(unsigned int w)
{
unsigned int res = (w & 0x55555555) + ((w >> 1) & 0x55555555);
res = (res & 0x33333333) + ((res >> 2) & 0x33333333);
res = (res & 0x0F0F0F0F) + ((res >> 4) & 0x0F0F0F0F);
res = (res & 0x00FF00FF) + ((res >> 8) & 0x00FF00FF);
return (res & 0x0000FFFF) + ((res >> 16) & 0x0000FFFF);
}
=== Cut ===

Almost the same declarations are #if 0'd in sm.h (inline without
underscores).

Can anybody explain the "extern __inline__" meaning? And how can decent
module resolve such symbols which declared extern and not exported anywhere
in the kernel tree 'coz the corresponding functions did not get built at
all?

=======================================================================
Serguei Koubouchine aka the Tamer < > The impossible we do immediately.
e-mail: ksi@gu.net SK320-RIPE < > Miracles require 24-hour notice.
=======================================================================

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu