Re: kernel-2.2.1-undefined references.

Matthias Urlichs (smurf@noris.de)
5 Feb 1999 09:10:31 +0100


alan@lxorguk.ukuu.org.uk (Alan Cox) writes:
> > Compiling kernel-2.2.1 with glibc-2.0.112 and egcs-2.93.04 fails
> > with the following message:
>
> Take it up with the egcs people and use an older snapshot
>
Or do a global replace of "extern inline" with "static inline".
That way, if (and ONLY if) some code snippet needs the function explicitly,
it'll get included.

Fixing "extern inline" to force inlining is not a solution because the next
C standard (I habitually forget its name :-( ) will explicitly state that
there needs to be an external implementation.

I never understood why Linux uses "extern inline"... gcc never guaranteed
that it would always inline everything just because of the magic keyword.

NB, the "static inline" solution may mean that, for example, both
tcp_input.o and tcp_output.o might have explicit code for skb_push() or
whatever, but as these functions usually are quite small and (since they're
declared static) they don't bite each other, IMHO that's not a problem.

-- 
Matthias Urlichs  |  noris network GmbH   |   smurf@noris.de  |  ICQ: 20193661
The quote was selected randomly. Really.    |      http://www.noris.de/~smurf/
-- 
The Programmer's Nemesis:
   Experts theorize that through evolution and inbreeding,
   programmers may become a distinct subspecies of the human race.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/