[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hello world (Re: cross-compile, binutils and egcs-1.03a)



> >crt0.o がないなどと言っていたりしたのですが、
> 
> とか、
> 
> >/usr/local/powerpc-elf-netbsd/bin/powerpc-elf-netbsd-ld: warning: \
> >cannot find entry symbol _start; defaulting to 01800074
> 
> とかは gcc が面倒を見てくれませんか? 単に powerpc-elf-netbsd-gcc -v a.c
> のようにすると必要なものを適当につかってくれませんか?

/usr/src 以下のソースの場合は make が良きに計らってくれているのか
cross 用 make script を使えばちゃんとコンパイルしてくれます。
#一部のソース(amd とか)は cross make script をつかうとはまりますが…
また、 kernel の cross compile も問題なくできるようになってると
思います。

しかし、以前 i386 上で binutils-2.9.1 の nm とかを作った時には
crt0.o 他をちゃんとリンクしてくれなかったような気がします。
リンクの時に

/usr/local/powerpc-elf-netbsd/bin/powerpc-elf-netbsd-ld -o a.out \
-nostdlib -L/usr/local/powerpc-elf-netbsd/lib \
/usr/local/powerpc-elf-netbsd/lib/crt0.o \
/usr/local/powerpc-elf-netbsd/lib/crtbegin.o *.o -lgcc -lc -lgcc \
/usr/local/powerpc-elf-netbsd/lib/crtend.o

とかいうふうに長々と書いてやるとちゃんと動くものができたような。
(すでに忘れている…)
---
tsutsui@ceres.dti.ne.jp