leading underscore

C の外部シンボルには自動的にアンダースコアが先頭に付加されるものだとばかり思っていたけど、

% echo "void func() { }" > test.c
% gcc -c test.c
% nm test.o
00000000 T func

あれ?(in Ubuntu 8.04 on VirtualBox)
なんか -fleading-underscore なんてオプションがあるらしい。へぇ。

% gcc -c -fleading-underscore test.c
% nm test.o
00000000 T _func