Solarisのリンカ(/usr/ccs/bin/ld)だと

1: gcc -static -o hoge1_s hoge.c -lm
2: gcc -Wl,-dn -o hoge2_s hoge.c -lm
3: gcc -Wl,-Bstatic -o hoge3_s hoge.c -lm

とした場合、1,2はバイト数も全く同じな"静的"な実行ファイルができるけど

3番目は
ldd では動的ライブラリは出てこないが
file すると"動的にリンクされています"と表示され
readelf -d hoge3_s するとずらずら表示される
なんだかへんな実行ファイルができるようだ。



Linuxのリンカだと1,2,3ともに
lddでもfileでも"静的にリンクされている"と表示される。

が、こちらはバイト数をしらべると
2,3が全く同じで
1が他より少しだけファイルサイズが大きい。

nmで調べると、1だけシンボルが3つくらい多い。



識者解説熱烈希望。