[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: binutils WinCE support
やっとその気になったので、cross WinCEを試してみました。
準備するもの
gcc snapshot
ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/2000-06-19/
egcs-20000619.tar.gz
http://gcc.gnu.org/snapshots.html
binutils snapshot
ftp://ftp.freesoftware.com/pub/sourceware/binutils/snapshots/
binutils-000619.tar.bz2
http://sourceware.cygnus.com/mirrors.html
binutils へのパッチ
このmailの最後 binutilsのmlに投げなきゃ。
コンパイル
パスは適宜変更してください。
cd /a/wince
cat /tmp/egcs-20000619.tar.gz|gunzip|tar xf -
cat /tmp/binutils-000619.tar.bz2|bunzip2|tar xf -
patch -d binutils-000619 -p < /tmp/binutils.diff
mkdir src
(cd src; ln -s ../binutils-000619/* .; ln -s ../egcs-20000619/gcc .)
mkdir build
cd build
../src/configure --target=mips-pe --prefix=/usr/local/mips-pe \
--with-gnu-as --with-gnu-ld
gmake LANGUAGES="c"
最後の方でエラー。
makeのターゲットを細かく指定すれば良いのでしょうけど。
su
gmake LANGUAGES="c" install
クロスコンパイル
とりあえず、
http://msdn.microsoft.com/cetools/downloads/hpcprosdk.asp
のsdkをdownloadしwin98にinstallして、
(install dir)\wce211\MS HPC Pro\{include,lib}
をNetBSDに持って来ました。
cab fileさえ展開できればinstallする必要はないのですが...
で、
WinMain(){printf("Hello\n");}
てなsourceを、
/usr/local/mips-pe/bin/mips-pe-gcc -G0 -c -EL a.c
/usr/local/mips-pe/bin/mips-pe-ld -o a.exe a.o \
lib/mips/coredll.lib lib/mips/corelibc.lib
としたら、
file a.exe
a.exe: MS Windows PE MIPS R4000 GUI executable
なんかそれっぽいのができました。
ftp://ftp.netbsd.org/pub/incoming/sakamoto/a.exe
に置いておきましたので、どなたかWinCEで実行してもらえませんか?
# PRESARIO213到着待ち...
sakamoto
-- cut here --
--- bfd/configure.orig Fri Jun 2 21:39:18 2000
+++ bfd/configure Wed Jun 21 17:55:57 2000
@@ -5163,4 +5163,4 @@
m88kbcs_vec) tb="$tb coff-m88k.lo" ;;
- mipslpe_vec) tb="$tb pe-mips.lo cofflink.lo" ;;
- mipslpei_vec) tb="$tb pei-mips.lo cofflink.lo" ;;
+ mipslpe_vec) tb="$tb pe-mips.lo peigen.lo cofflink.lo" ;;
+ mipslpei_vec) tb="$tb pei-mips.lo peigen.lo cofflink.lo" ;;
mcore_pe_big_vec) tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;;
--- ld/emulparams/mipspe.sh.orig Thu Mar 2 05:54:37 2000
+++ ld/emulparams/mipspe.sh Thu Jun 22 14:05:23 2000
@@ -6,2 +6,3 @@
TEMPLATE_NAME=pe
+ENTRY="_mainCRTStartup"
SUBSYSTEM=PE_DEF_SUBSYSTEM