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

kyoyaの日記: × 5.3R - VM5.2.1 - arm-linux-gcc - Nativeを目指して

日記 by kyoya

■ 用意するもの(もっとあるかもしれないが)
gmake-3.80_2 // FreeBSDなので標準makeはbsd-make
gettext-0.13.1_1

■ 環境変数 (csh)
setenv PROJECT arm-linux
setenv PRJROOT ${HOME}/${PROJECT}
setenv TARGET arm-linux
setenv PREFIX ${PRJROOT}/tools
setenv TARGET_PREFIX ${PREFIX}/${TARGET}
setenv PATH ${PREFIX}/bin:${PATH}

■ クロスコンパイル用binutilsのインストール
tar zxf binutils-2.14.tar.gz
cd binutils-2.14
mkdir $TARGET
cd $TARGET
../configure --target=$TARGET --prefix=$PREFIX
gmake
gmake install
rehash
cd ../..

■ 1st-gcc作成
fetch ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-3.4.3/gcc-3.4.3.tar.bz2
tar zxf gcc-3.4.3.tar.gz
cd gcc-3.4.3
mkdir $TARGET
cd $TARGET
../configure --target=$TARGET --prefix=$PREFIX --disable-shared --disable-threads --enable-languages=c --with-gnu-as --with-gnu-ld
gmake all-gcc
gmake install-gcc
cd ../..

■ C標準ライブラリとしてnewlibを試してみる
fetch ftp://sources.redhat.com/pub/newlib/newlib-1.13.0.tar.gz
tar zxf newlib-1.13.0.tar.gz
cd newlib-1.13.0
mkdir $TARGET
cd $TARGET
../configure --target=$TARGET --prefix=$PREFIX
gmake
gmake install
cd ../..

■テスト
> setenv PATH $PREFIX_TARGET/bin:$PATH
> cat a.c
#include
main{
    printf("Hello World\n");
}
> gcc -v
/home/kyoya/arm-elf/tools/lib/gcc/arm-elf/3.4.3/specs から spec を読み込み中
コンフィグオプション: /home/kyoya/in/gcc-3.4.3/configure --target=arm-elf --prefix=/home/kyoya/arm-elf/tools --disable-shared --disable-threads --enable-languages=c --with-gnu-as --with-gnu-ld
スレッドモデル: single
gcc バージョン 3.4.3
> gmake a CC=$TARGET-gcc
> file a
a: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, not stripped

ただしLinuxではsegmentation fault

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

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...