>>357
http://www.linuxjournal.com/article.php?sid=1060
に、LinuxのELFの場合について詳しく書いてある。
この例では、printf()を呼ぶだけのプログラム(hello)が
printfを実装してるshared library(libc)に対して
どのような情報を持っているかを説明してる。
で、問題のjump tableは、helloプログラムの.pltセクションに書いてある。

This contains the jump table that is used when we call functions
in the shared library. By default the .plt entries are all initialized
by the linker not to point to the correct target functions,
but instead to point to the dynamic loader itself.
Thus, the first time you call any given function,
the dynamic loader looks up the function
and fixes the target of the .plt so that the next time this .plt slot
is used we call the correct function. After making this change,
the dynamic loader calls the function itself.
This feature is known as lazy symbol binding.

ってことで、最初はdynamic loader(これってld-linux.so.*のことだよね)をポイントさせといて、
その関数が最初に呼ばれた時に、dynamic loaderが実際のライブラリの関数を見つけて
書きかえるらしい。

結局LinuxでもOSXでも同じで、関数が最初に参照されたときにbindしてる(lazy binding)ってことみたいだね。