2010/02/28
■ [linux]Vine Lnux 5.1 リリース!
VineLinux5.1 がアップデートリリースされました。
本日 Vine Linux 5.1 を正式にリリースしました。 Vine Linux 5.1 は Vine Linux 5 シリーズのアップデートリリースで、 セキュリティ修正およびバグフィックスに加えて、一部のパッケージの アップデート(proposed-updatesでテスト済み)を追加したバージョン です。Vine Linux 5 からの仕様の変更はありません。
VineLinux MLより
ダウンロードは VineLinux Home Page からどうぞ。
2009/11/11
■ [linux][h8]vine5.0 64bitで h8 gcc4クロス開発環境構築の構築
H8tiny用のgccクロス開発環境を構築する。 結構大変でいろいろトライしたけど、結果的には以下の組み合わせで、、
binutils,gccについては RingServerのGNUから、 newlibについては RedHatから、適当なバージョンをダウンロードするのが吉かと。
ちなみに、Vine5.0(64bit?)の場合 mpfrパッケージの関係で gcc-4.2.4より新しいのはコンパイルできませんでした(涙。 さらに 3.4.6とか 4.0.3 とかの古いのもダメでした(組み合わせた binutilsと newlibのバージョンが悪かったのかもしれませんが)
また以前はオブジェクトは COFF形式で使用してましたが、最近は ELFしかサポートされなくなってます。 VirtualBoxとかで古い Linux環境作って古い組み合わせで COFFな環境を作った方が楽だったかも、、
※ --prefix= や --with-headers= のパスは環境に合わせます。
ダウンロードしたファイルを解凍
$ tar zxf binutils-2.20.tar.bz2 $ tar zxf gcc-4.2.4.tar.bz2 $ tar zxf newlib-1.17.0.tar.gz
binutils
$ cd binutils-2.20 $ mkdir work $ cd work $ ../configure --prefix=/usr/local/h8 --target=h8300-elf --disable-nls $ make all $ su # make install # exit $ export PATH=/usr/local/h8/bin:$PATH $ h8300-elf-as -v GNU assembler version 2.20 (h8300-elf) using BFD version (GNU Binutils) 2.20 ^C ← [CTRL]+C 入力
gcc
$ cd gcc-4.2.4 $ mkdir work $ cd work $ su # ../configure --target=h8300-elf --prefix=/usr/local/h8 --enable-languages="c" -with-newlib \ --disable-libssp --disable-libgomp --disable-nls \ --disable-shared --disable-threads --enable-multilib \ --disable-__cxa_atexit --enable-target-optspace \ --enable-optimize --disable-win32-registry \ --with-headers=/home/hoge/gcc/newlib-1.17.0/newlib/libc/include # make # make install # exit $ h8300-elf-gcc -v Using built-in specs. Target: h8300-elf Configured with: ../configure --target=h8300-elf --prefix=/usr/local/h8 --enable-languages=c -with-newlib --disable-libssp --disable-libgomp --disable-nls --disable-shared --disable-threads --enable-multilib --disable-__cxa_atexit --enable-target-optspace --enable-optimize --disable-win32-registry --with-headers=/home/hoge/gcc/newlib-1.17.0/newlib/libc/include Thread model: single gcc version 4.2.4
newlib
$ cd newlib-1.17.0 $ mkdir work $ ../configure --prefix=/usr/local/h8 --target=h8300-elf $ make all $ su # make install $ exit
アセンブラソースの変更
- .h8300hn
Makefile の変更
- CC=h8300-elf-gcc
- OBJCOPY=h8300-elf-objcopy
- CFLAGS = -O2 -mh -mn
hoge.x (リンカスクリプト)の該当部分の変更と行追加。
- OUTPUT_FORMAT("elf32-h8300")
- OUTPUT_ARCH(h8300hn)
- SEARCH_DIR("/usr/local/h8/h8300-elf/lib/h8300h/"); /* newlib */
- SEARCH_DIR("/usr/local/h8/lib/gcc/h8300-elf/4.2.2/h8300h"); /* libgcc */
- *(.rodata*)