計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Solaris8 上で Forte6 コンパイラを使って binutils 2.22 を構築する


ソース
  http://ftp.gnu.org/gnu/binutils/

作業環境
  UltraSPARC-IIe v9 の Sun Blade 100 と Sun Blade 150
    -xarch=v8plus オプションで構築する

環境変数の設定
  PATH
    /usr/ucb を外す
    /usr/ccs/bin を加える
    /usr/local/bin は最後に移して検索順位を下げる

ソース展開

    gtar xvfz binutils-2.22.tar.gz
    cd binutils-2.22

ソース編集
  binutils/ar.c で変数宣言の前に実行式があるのを修正

*** binutils/ar.c.orig  Wed Jan 25 15:07:40 2012
--- binutils/ar.c       Wed Jan 25 15:08:05 2012
***************
*** 246,253 ****
  {
    FILE *s;
  
-   s = help ? stdout : stderr;
- 
  #if BFD_SUPPORTS_PLUGINS
    /* xgettext:c-format */
    const char *command_line
--- 246,251 ----
***************
*** 260,265 ****
--- 258,265 ----
      = _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]"
        " [member-name] [count] archive-file file...\n");
  #endif
+ 
+   s = help ? stdout : stderr;
    fprintf (s, command_line, program_name);
  
    /* xgettext:c-format */


コンフィグレーション
  ソースと別の場所に作業ディレクトリを作って移動

    mkdir ../binutils
    cd ../binutils

  Forte6 では __FUNCTION__ マクロは存在しないかわりに __func__ マクロを使う

    CC=cc CFLAGS="-xarch=v8plus -D__FUNCTION__=__func__" \
    CXX=CC CXXFLAGS="-xarch=v8plus -D__FUNCTION__=__func__" \
    CPPFLAGS="-D__FUNCTION__=__func__" \
    LDFLAGS="-L/usr/local/lib" \
      ../binutils-2.22/configure \
        --with-mpc=/usr/local --with-mpfr=/usr/local --with-gmp=/usr/local

    ※ ここでは gmp, mpfr, mpc を使う(任意)

メイク
  GNU make を使うこと

    gmake

インストール

    gmake install


計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp