reused junk

BLR-TX4@GCC

最終更新:

busters

- view
管理者のみ編集可

SH3用gccのクロスコンパイル


・用意するもの

下記のものをホームディレクトリに用意する。

http://www.sh-linux.org/index-j.htmlより

gcc-3.0.4-3.src.rpm
glibc-2.2.2-1.sh3.rpm
glibc-devel-2.2.2-1.sh3.rpm

CYGWINで必要になる追加パッケージ

[utils]
rpm
[devel]
gcc-core
make
patch
readline
bison
flex
gettext
[interpreters]
perl

どこからか入手する

binutils-2.11.92-20011113-src.tar.gz
linux-2.4.18.tar.bz2

ここから

patch-binutil-2.11.92.diff
patch-gcc-blrtx4-20080701.diff


・glibcの展開

cd /home/hogehoge
rpm --root /tmp/cross-sh3 -ivh --force --nodeps --ignoreos --ignorearch --noscripts  glibc-2.2.2-1.sh3.rpm
rpm --root /tmp/cross-sh3 -ivh --force --nodeps --ignoreos --ignorearch --noscripts  glibc-devel-2.2.2-1.sh3.rpm

mkdir /usr/local/cross-sh3
cp -ar /tmp/cross-sh3/lib /usr/local/cross-sh3
cp -ar /tmp/cross-sh3/usr/include /usr/local/cross-sh3
cp -ar /tmp/cross-sh3/usr/lib /usr/local/cross-sh3
rm -r /tmp/cross-sh3


binutilsをコンパイル

cd /home/hogehoge
tar xzfv binutils-2.11.92-20011113-src.tar.gz
patch -p0 <patch-binutil-2.11.92.diff
cd binutils-2.11.92-20011113
mkdir sh3-linux-build
cd sh3-linux-build
../configure --disable-nls --target=sh3-linux --prefix=/usr/local/cross-sh3
make
make install


gccをコンパイル

export PATH=$PATH:/usr/local/cross-sh3/bin
cd /home/hogehoge
mkdir /usr/src/rpm
rpm --root / -ivh --force --nodeps --ignorearch --ignoreos --noscript gcc-3.0.4-3.src.rpm
cp patch-gcc-blrtx4-20080701.diff /usr/src/rpm/SOURCES
cd /usr/src/rpm/SOURCES/
tar xjfv 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
patch -p1 < /usr/src/rpm/SOURCES/patch-gcc-blrtx4-20080701.diff

mkdir sh3-linux-build
cd sh3-linux-build
../configure --prefix=/usr/local/cross-sh3 --target=sh3-linux --host=i686-pc-cyg
win --build=i686-pc-cygwin --enable-languages=c,c++ --mandir=/usr/local/cross-sh
3/share/man --with-system-zlib --with-gxx-include-dir=/usr/local/cross-sh3/inclu
de/g++-v3 --includedir=/usr/local/cross-sh3/include --disable-checking --with-x=
no --enable-threads=posix --enable-long-long --with-as=/usr/local/cross-sh3/bin/
sh3-linux-as --with-ld=/usr/local/cross-sh3/bin/sh3-linux-ld --with-cpu=sh3
make all-gcc
make install


ライブラリパスの修正

cd /usr/local/cross-sh3/lib
ln -sf libutil.so.1 libutil.so
ln -sf libthread_db.so.1 libthread_db.so
ln -sf librt.so.1 librt.so
ln -sf ibresolv.so.2 ibresolv.so
ln -sf libresolv.so.2 libresolv.so
ln -sf libpthread.so.0 libpthread.so
ln -sf libnss_nisplus.so.2 libnss_nisplus.so
ln -sf libnss_nis.so.2 libnss_nis.so
ln -sf libnss_hesiod.so.2 libnss_hesiod.so
ln -sf libnss_files.so.2 libnss_files.so
ln -sf libnss_dns.so.2 libnss_dns.so
ln -sf libnss_compat.so.2 libnss_compat.so
ln -sf libnsl.so.1 libnsl.so
ln -sf libm.so.1 libm.so
ln -sf libdl.so.2 libdl.so
ln -sf libcrypt.so.1 libcrypt.so
ln -sf libBrokenLocale.so.1.1 libBrokenLocale.so

cp -ar /usr/local/cross-sh3/lib /usr/local/cross-sh3/sh3-linux

cat >/usr/local/cross-sh3/sh3-linux/lib/libc.so
GROUP ( /usr/local/cross-sh3/sh3-linux/lib/libc.so.6.1 /usr/local/cross-sh3/sh3-linux/lib/libc_nonshared.a )
[CTRL+D]


参照したもの

http://www.si-linux.co.jp/wiki/cat/index.php?Cygwin%BE%E5%A4%C7SH3%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB%B4%C4%B6%AD%A4%F2%C0%B0%A4%A8%A4%EB







記事メニュー
目安箱バナー