コンパイルすると .dSYM って出来るよね

http://firewood.txt-nifty.com/bbc/2005/12/introduction_to.html に情報が。ありがとうございます。
ちょっとコピペさせて頂く。

DWARF(Debugging With Attibute Record Format)はコンパイラ言語のソースコードデバッグのための仕様である。たぶんバイナリファイルの仕様のELF(Executable and Linking Format)にひっかけて命名されたものだろう。

プログラムをデバッグオプションをつけてコンパイルすると、デバッグ情報つきのバイナリファイルができあがる。バイナリファイルは、.textや. dataといったプログラムを動作させるのに必要なセクションと、.debugなどのデバッグ情報を格納したセクションからなる。.debugはバイナリ化したデバッグ情報であり、.debugの生成方法、すなわち、デバッグ情報をどういう形式でバイナリ化するかを規定するのがDWARFである。
GDBなどのデバッガは、バイナリファイルからバイナリ化されたデバッグ情報を読み込んで、デバッグ情報を復元し、ソースコードデバッグを行えるようにする。

なるほどー。
この前、OpenCV のサンプルプログラムをコンパイルしたら、もさもさ .dSYM が出来て、なんじゃこりゃと思ったのが少しスッキリした。
コンパイル用のシェルスクリプトを見ると

#!/bin/sh
if [[ $# > 0 ]] ; then
        base=`basename $1 .c`
        echo "compiling $base"
        gcc -ggdb `pkg-config opencv --cflags --libs` $base.c -o $base 
else
        for i in *.c; do
            echo "compiling $i"
           gcc -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv
        done
        for i in *.cpp; do
            echo "compiling $i"
            g++ -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs open
        done
fi

となっているので、いかにもな gcc -ggdb を外して

            gcc `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv`;

とすると、ふつーのバイナリが出来た。