パスワードを忘れた? アカウント作成
361540 journal

Mestophの日記: クロスコンパイル環境の構築

日記 by Mestoph

●binutils-2.15
$ mkdir -p $HOME/gcc/build/binutils
$ ./configure --prefix=/usr/local/mips64el --target=mips64el-hardhat-linux --host=i686-pc-linux --build= i686-pc-linux
$ ./make 2>&1 | tee make.log
$ su
# make install

●gcc-3.4.3(1回目)
# $HOME/gcc/gcc-3.4.3/configure --prefix=/usr/local/mipsel --target=mipsel-hardhat-linux --host=i686-pc-linux --build=i686-pc-linux --disable-threads --disable-shared --with-newlib --enable-languages=c,c++ -v ; make LANGUAGES=c all-gcc 2>&1 | tee make.log

そのまま作ると、libartyのところでヘッダがおかしいと怒られるので、--with-newlibをつけてごまかした。

で、とりあえずできたもの。
で、インストール
# make LANGUAGES=c install-gcc 2>&1 | tee install.log

●glibc-2.3.3
最新版カーネルを展開し、カーネルソースのinclude/asmのリンクをasm-mipsへのリンクに修正

$ cd $KERNELSRC/include
$ rm asm
$ ln -s asm-mips64 asm

# mkdir glibc
# cd glibc/

opcode not supportedと同じ問題がでたので、これを回避するために、CFLAGSを設定した。

$ export CFLAGS="-O2 -mips32"

また、ring serverのものをそのまま使うと、gmon.hがおかしいと怒られたので、redhatのcvsから直で取得してみる。

で、configure
$ $HOME/gcc/glibc-cvs/libc/configure --target=mipsel-hardhat-linux --host=mipsel-hardhat-linux --build=i686-pc-linux --prefix=/usr/local/mipsel --with-binutils=/usr/local/mipsel/bin/ --with-headers=$HOME/kernel/linux-2.4.28/include/ --enable-add-ons=linuxthreads

$ make 2>&1 |tee make.log

-lgcc_ehがみつからないらしいので調べると、
どうも2.3.4でもまだ対応出来てない様子。
なので、ここを参考に手でglibc/Makeconfigを2カ所修正。

もっかいmake
$ make 2>&1 |tee make.log

うまくいったのでinstall
$ make install 2>&1 | tee install.log

●gcc-3.4.3(2回目)
先程作ったglibcを使ってgccの完全版を作る。
$ cd $HOME/gcc/build
$ mkdir gcc-full
$ cd gcc-full
$ unset CFLAGS

sys-includeを直す。(へまをやったため)
$ su
# cp -r $KERNELSRC/linux-2.4.28/include/asm-mips /usr/local/mipsel/mipsel-hardhat-linux/sys-include/
# ln -s /usr/local/mipsel/mipsel-hardhat-linux/sys-include/asm-mips /usr/local/mipsel/mipsel-hardhat-linux/sys-include/asm

で、configure
$ $HOME/gcc/gcc-3.4.3/configure --prefix=/usr/local/mipsel --target=mipsel-hardhat-linux --host=i686-pc-linux --build=i686-pc-linux --enable-threads --enable-shared --with-headers=/usr/local/mipsel/include --with-libs=/usr/local/mipsel/lib -v

$ make
$ su
# make install
で完了。
$ mipsel-hardhat-linux-gcc --target-help
で確認。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...