このページは「24環境」の情報です

gcc-3.0.4のビルド

  • gcc-3.0.4のビルド手順メモ
    gcc-3.0.3のクロスg++にはbugがあるらしく、ぜんぜんコンパイルできない。
    調べてみるとdebian bug repotに上げられていた。
    gcc-3.0.4でfixしているらしいのでgcc-3.0.4をビルドしてみる。
  • 試したホスト環境
    Debian 3.0 (Woody)
  • 必要なファイル
    杉岡さんのサイトからgcc-3.0.4-3.src.rpmを頂いてくる。
  • rootユーザで展開する
    # rpm -i gcc-3.0.4-3.src.rpm
    /usr/src/rpm/SOURCES に展開される
    gcc-3.0.4-libspec.patch
    gcc-3.0.4-static-libgcc.patch
    gcc-3.0.4.tar.bz2
    gcc-sh-linux-3.0.4-20020215-1.patch
  • 展開してパッチをあてる
    $ tar xjvf /usr/src/rpm/SOURCES/gcc-3.0.4.tar.bz2
    $ cd gcc-3.0.4
    $ patch -p1 < /usr/src/rpm/SOURCES/gcc-sh-linux-3.0.4-20020215-1.patch
    $ patch -p1 < /usr/src/rpm/SOURCES/gcc-3.0.4-libspec.patch
    $ patch -p1 < /usr/src/rpm/SOURCES/gcc-3.0.4-static-libgcc.patch
  • コンパイル
    $ mkdir build
    $ cd build
    $ ../configure --prefix=/usr --target=sh3-linux --host=i686-pc-linux-gnu \
    --build=i686-pc-linux-gnu --enable-languages=c,c++ --mandir=/usr/share/man \
    --with-system-zlib --with-gxx-include-dir=/usr/sh3-linux/include/g++-v3 \
    --includedir=/usr/sh3-linux/include --disable-checking --with-x=no \
    --enable-threads=posix --enable-long-long
    $ make
  • インストール
    # make install
  • 実験(hello.cc)
    #include <iostream>
    using namespace std;
    int main()
    {
      cout << "hello world, new g++\n";
    }
    
    
    $ sh3-linux-g++ hello.cc
    $ file a.out
    a.out: ELF 32-bit LSB executable, Hitachi SH, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
    okだ。

sh3-linuxでセルフでコンパイルしてみる

  • 進め方は同じだが configureスクリプトは以下のようにした
    $ ../configure --prefix=/usr --enable-languages=c,c++,proto,objc \
    --with-system-zlib --disable-checking --with-x=no --enable-shared \
    --enable-threads=posix --enable-long-long
    $ time make
    real    192m44.782s
    user    178m8.590s
    sys     10m14.550s
2004-02-06 (金) 00:41:19 えびはら
  • ちなみにSH4 200MHz機だと -- えびはら 2004-03-13 (土) 17:13:20
    $ make
    real    102m32.920s
    user    96m57.910s
    sys     4m52.010s

関連リンク

コメント

Last-modified: 2006-01-19 (木) 15:26:06 (6670d)