投稿

ラベル(gcc)が付いた投稿を表示しています

Mac OS X Mountain Lion で gcc make

command line tools を install したあとの Mountain lion で、 % ls -l /usr/bin/ | grep gcc lrwxr-xr-x 1 root wheel 12 Jul 28 15:48 gcc -> llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 28 Jul 28 15:48 gcov-4.2 -> ../llvm-gcc-4.2/bin/gcov-4.2 lrwxr-xr-x 1 root wheel 52 Jul 28 15:50 i686-apple-darwin11-llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-g++-4.2 lrwxr-xr-x 1 root wheel 52 Jul 28 15:50 i686-apple-darwin11-llvm-gcc-4.2 -> ../llvm-gcc-4.2/bin/i686-apple-darwin11-llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 32 Jul 28 15:50 llvm-cpp-4.2 -> ../llvm-gcc-4.2/bin/llvm-cpp-4.2 lrwxr-xr-x 1 root wheel 32 Jul 28 15:50 llvm-g++ -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x 1 root wheel 32 Jul 28 15:50 llvm-g++-4.2 -> ../llvm-gcc-4.2/bin/llvm-g++-4.2 lrwxr-xr-x 1 root wheel 32 Jul 28 15:50 llvm-gcc -> ../llvm-gcc-4.2/bin/llvm-gcc-4.2 lrwxr-xr-x 1 root wheel 32 Jul 28 15:50...

Mac OS X Lion で x86_64 ELF

64bit の ELFプログラムを、Mac OS X で開発するための過程です。 英語のサイト参考にしていますが、日本語の訳が適当だったり間違ってたりする恐れ有ります……。 用意するのは以下の2つ。 binutils gcc 例えば、 $HOME/cross というディレクトリを作って、 mkdir build-gcc build-binutils COMMON_INSTALL とかする。 gcc はソースコードとは別のディレクトリで configure 、 make する。 binutils クロス開発環境に必要なツール群。gcc より先に make する。 ../configure --prefix-$HOME/cross/COMMON_INSTALL --target=x86_64-elf --enable-64-bit-bfd make install --enable-64-bit-bfd BFD library を使用。 BFD library は binutils がすべてのファイルにアクセスすることに使われるメソッド。 gcc 言わずと知れた gnu コンパイラ。 newlib をダウンロード、コンパイルし、そのディレクトリの位置にシンボリックリンクを貼る。 ln -s newlib-x.x.x $HOME/cross/build-gcc ../configure --prefix=$HOME/cross/COMMON_INSTALL --target=x86_64-elf --disable-bootstrap --enable-languages=c --enable-checking=tree,rtl,assert,types --disable-nls --with-newlib --without-headers --disable-libssp --disable-libquadmath make install --with-newlib シンボリックリンクの貼られた newlib を使用。 --disable-bootstrap ブートストラップビルド(ビルドしたプログラムを使って再ビルド)をさせない。 --without-headers gcc...

gccについて

gccコンパイラ gcc -O2 -Wall -o 実行ファイル名 ソースファイル名 -O2 最適化 -Wall コンパイル時の警告 -g デバッグオプション -s リンカに渡すオプション( -o オプションの前に記述)

gccのコンパイル

Mac OS X Lionでの作業。 苦戦してしまいました。 準備 1.gmp 2.mpfr 3.mpc の3つのソースコードを用意する。 ソースコードの入ったディレクトリ名を、 mv gmp-4.3.2 gmp と言った感じでversion番号を抜く。 全て名前を変え終わったら、 svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc でsvnからgccを取ってくる。 最後の"gcc"は、ローカルのディレクトリ名の指定。 上の3つのディレクトリを、svnで取得したディレクトリ"gcc"に入れる。 Mac OS X Lion では、デフォルトのコンパイラがLLVMなため、gccでコンパイルするために環境変数を設定しパスを通す必要がある。 .zshrc export CPP=/usr/bin/cpp-4.2 export CXX=/usr/bin/g++-4.2 export CC=/usr/bin/gcc-4.2 export LD=/usr/bin/ld makeの実行 ./configure make と実行していく。 大学の課題で最後までコンパイルする必要はなかったので、エラーを少し吐いた。 時間ができたらmake installとかやってみたいと思ってます。