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