CbC on GCC について

インストール方法

  • まずはMercurialリポジトリから GCC を取得
    % hg clone ssh://one@www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_devel (保存先。指定しない場合./CbC_develになる)
  • 次にインストール先のディレクトリを作る。ついでにそこに移動。 (!! 必ずCbC_develの外に作ってね! !!)
    % mkdir (いんすとーるするとこ)
    % cd (↑でつくったとこ)
  • OSX Maverics以降の場合は GMP, MPFR, MPCが必要。configure実行前にインストールする必要がある。
    • gcc4.9.0ではGMP 4.2以上, MPFR 2.4.0以上 MPC 0.8.0以上が要求される。
    • homebrewでインストールする場合、それぞれのformula名はgmp,mpfr,libmpcです。
  • configureを実行する。この時、インストール先のディレクトリに移動済みであることを確認すること。
    % (GCCとってきた場所)/configure CFLAGS="-g3 -O0" --prefix=$PWD \
        --disable-nls --disable-bootstrap --enable-languages=c \
        --enable-checking=tree,rtl,assert,types
    • 各オプションについて
      • -g3
        gdbでのmacroの展開を可能にする。
      • -O0
        最適化のカット。
      • --prefix=dir
        インストール先のディレクトリ指定。
      • --disable-nls
        gettextのl10nをoffに。
      • --disable-bootstrap
        通常GCCは3回ビルドされるがこれを1回だけに限定。
      • --enable-languages 使用する言語の指定。
      • --enable-checking
        デバッグ用の指定。browse_tree,debug_rtx,assertがonになる。
  • makeする
    % make && make install
  • インストールされたかチェックする。
    % (インストールした場所)/bin/gcc --version
    正しくインストールされていればバージョンが見れるはず。見れたら適当なコードで正しく動くか確認すること。

gdbで動かす場合の手順

  • まず動かすときの引数を得る
    % (CbC_GCC) (source file) -v |& grep cc1
    これで実際に実行されるコマンドと引数が取れるので引数だけコピーする。
  • gdbを動かす
    % gdb --args (さっきコピーしたものを貼る)
    これでうごくはず。正しく動かない場合はmakeがちゃんとできているか、configureのオプションを間違えていないかなどを確認する。

lldbで動かす場合の手順

実行時の引数は一緒なのでgdbで動かす場合のとこ見て。

  • lldbを動かす
    % lldb (gccのパス)
  • 実行
    (lldb) r (コピーしたやつ)

gdbのちょっとしたテクニック

何度も引っかかるタイプのブレークポイントの最後の一回が見たいとき

  • まずコンテニューかけまくる
    (gdb) c 9999
  • おそらくは9999回もコンテニューせずに実行が終了する。ここでbreak pointの情報を見る
    (gdb) info b
    見たいとこが何回止まったのかを確認する。already hit 〜 とかかかれているはず。
  • 最後の一回で止まるように仕向ける 通常実行したらさっき見た数字分break pointを通過するということなので、その回数-1回分無視するようにする。
    (gdb) ignore (break pointの番号) (さっきの数字-1)
    これで止まるはず。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-21 (火) 23:38:42 (3475d)