下田と申します。 Win2000SP2 + Cygwin 上で H8 の開発環境を構築しようとしていますが、 コンパイルができずに困っています。 具体的には $ cat hello.c main() { } というCのソースをコンパイルすると $ h8300-hms-coff-gcc.exe -mh hello.c *Initialization*:1: warning: `__SIZE_TYPE__' redefined *Initialization*:1: warning: `__PTRDIFF_TYPE__' redefined cpp.exe: -lang-c: linker input file unused since linking not done /tmp/cc47Qikp.s: Assembler messages: /tmp/cc47Qikp.s:1: Error: no such instruction: `gcc For the Hitachi H8/300' /tmp/cc47Qikp.s:2: Error: no such instruction: `by Hitachi America Ltd and Cygnu s Support' /tmp/cc47Qikp.s:3: Error: no such instruction: `release F-1' /tmp/cc47Qikp.s:5: Error: Unknown pseudo-op: `.h8300h' /tmp/cc47Qikp.s:11: Error: invalid character '.' in mnemonic /tmp/cc47Qikp.s:12: Error: invalid character '.' in mnemonic /tmp/cc47Qikp.s:14: Error: invalid character '.' in mnemonic /tmp/cc47Qikp.s:15: Error: no such instruction: `rts' と、アセンブラが Error を示すのです。 そこで、一旦アセンブラソースを作ってからアセンブルしてみると、 $ h8300-hms-coff-gcc.exe -S -ansi -mh hello.c *Initialization*:1: warning: `__SIZE_TYPE__' redefined *Initialization*:1: warning: `__PTRDIFF_TYPE__' redefined cpp.exe: -lang-c: linker input file unused since linking not done $ h8300-hms-coff-as.exe hello.s $ ls a.out hello.c hello.s ちゃんと a.out ができています。 アセンブラのソースを見てみると $ cat hello.s ; GCC For the Hitachi H8/300 ; By Hitachi America Ltd and Cygnus Support ; release F-1 .h8300h .file "hello.c" .section .text .align 1 .global _main _main: push.l er6 mov.l er7,er6 .L2: pop.l er6 rts .end となっており、コンパイラがコメント文に対しても文句を言っているのが わかります。 ここまでは突き止めたのですが、この先の対策が分からずに困っています。 環境構築の際は http://www.ertl.ics.tut.ac.jp/~muranaka/devel/ より Cygwin と gcc のバイナリをダウンロードし、install.txt の指示に従って インストールをしております。 gcc のバージョンは 2.95.2 、Cygwin は 1.4.4 です。 また、ソースからビルドして構築したこともありましたが、その際も 同様の現象が発生しております。 どなたか解決策をご存知の方、または心当たりのある方、いらっしゃいましたら ご返信ください。 よろしくお願いします。 -- 下田 和貴 Kazutaka Shimoda <samurai@xxxxxxxxxxxx>