Edwin Steiner wrote: > Hi! > > I have a problem with the "extern inline" functions in javanio.c: > > symbol lookup error: /home/edwin/local/classpath/lib/classpath/libjavanio.so: > undefined symbol: cpnio_read > > It is caused by this: > > edwin@yukon:~/ss/cvs/classpath$ nm ./native/jni/java-nio/.libs/gnu_java_nio_VMChannel.o | grep cpnio_read > U cpnio_read > U cpnio_readv > > The code seems to assume that "extern inline" forces inlining, which is > not true AFAIK. I propose changing all "extern inline" to "static inline", > which solves the problem for me and should produce equally efficient code. > Huh, that's odd. I thought I read that `extern inline' *did* force the function to be inlined. Maybe it is like Andrew said, that this is the GNU C behavior, not the C99 one. What C compiler are you using? If 'static inline' works on GCC and on other compilers, it should be fine to use that.