試行錯誤してると、Cからコールする前にBで先にコールしておくと
CでもUndefined symbolにならないようです
最適化関係のバグですかね…
ちなみに、↓です
gcc version 3.4.6 [FreeBSD] 20060305