toge's diary

コンピュータ関連の趣味をつらつらと。

インターフェースの差異

なるへそ〜、2日(3hぐらい)無駄にしてしまった。
gccのオプションによってオブジェクト内のシンボル名が変わっちゃうのね。

gcc -O2 
gcc -O3 -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse 
     -maccumulate-outgoing-args -mpush-args -minline-all-stringops 
     -fprefetch-loop-arrays -fms-extensions -g -pg 
     -ftree-dominator-opts -ftree-lrs -ftree-ccp -ftree-ch 
     -ftree-combine-temps -ftree-loop-im -ftree-loop-ivcanon 
     -ftree-loop-linear -ftree-loop-optimize -ftree-vectorize 
     -fmodulo-sched -fweb -fipa-cp -fipa-pure-const -fipa-reference 
     -fipa-type-escape -faccess-control -fjump-tables -ftree-salias 
     -ftree-sink -ftree-store-ccp -ftree-store-copy-prop 
     -ftree-vect-loop-version -ftree-vrp -funsafe-loop-optimizations 

この二つの間で変わってきちゃうのね。luaの標準ソースを上で、luafilesystemを下でコンパイルしたら見事にundefiend referenceになっちゃったよ。