[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