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

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



                                             千葉市中央区長洲
                                                     藤原  誠
hello world の件ですが、(結果的に)とてもゆっくりやっています。
comp.tgz の中の libc などを使うということで( その libc などを
いい加減なところに置いて -L/hoge/lib などと) ld を試したら、
crt0.o がないなどと言っていたりしたのですが、
結局、
binutils-2.9.1 は make install して (NetBSD-sun3x の機械の)
/usr/local/powerpc-elf-netbsd/ の下に入りました。また comp.tgz
の中の lib にあったものを、
(もともとあった lib は lib-ooo のようによけてから)
そっくり /usr/local/powerpc-elf-netbsd/lib にしました。

そうしておいて次のように link したら、
----------------------
/usr/local/powerpc-elf-netbsd/bin/powerpc-elf-netbsd-ld -o hello \
? a.out -L/usr/local/powerpc-elf-netbsd/lib -lc 

/usr/local/powerpc-elf-netbsd/bin/powerpc-elf-netbsd-ld: warning: \
cannot find entry symbol _start; defaulting to 01800074
----------------------
となったのですが、hello は出来ています。これで動くでしょうか。

(試しに動かせばいいとは思うのですが、同じ機械でいまの Linux で手紙
の読書きをしたりしているので、こわしてもらっても困るので、事前に
お聞ききしている訳です)

もともと 
/usr/local/powerpc-elf-netbsd/lib にあったものと comp.tgz から持っ
て来たものは libbdf.a libbdf.la 以外は重なっていなかったので、
それは採用して、残りも (ln -s  を使って)混ぜても見ましたが、上の結
果は同じでした。

ちょっと長くなって申訳けないのですが、
/usr/local/powerpc-elf-netbsd/lib* の様子を付けておきます。

root@tateyama  20:29:03/980801(...local/powerpc-elf-netbsd)# ls -lt
total 7
drwxr-xr-x  2 root  wheel   512 Aug  1 20:29 usr
drwxr-xr-x  2 root  wheel  1024 Aug  1 20:29 lib
drwxr-xr-x  2 root  wheel   512 Aug  1 06:09 bin
drwxr-xr-x  2 root  wheel   512 Jul 28 23:01 lib-ooo
drwxr-xr-x  4 root  wheel   512 Jul 28 23:00 powerpc-elf-netbsd
drwxr-xr-x  3 root  wheel   512 Jul 28 22:55 man
drwxr-xr-x  2 root  wheel   512 Jul 28 22:46 include
lrwxr-xr-x  1 root  wheel    11 Jul 20 16:58 sys -> usr/src/sys

○もともとの lib は lib-ooo として、comp.tgz の方を広げたところ
root@tateyama  20:29:05/980801(...local/powerpc-elf-netbsd)# ls -l lib*
lib:
total 3702
-r--r--r--  1 root  wheel     1634 Jul 20 16:58 crt0.o
-r--r--r--  2 root  wheel     1883 Jul 20 16:58 crtbegin.o
-r--r--r--  2 root  wheel     1883 Jul 20 16:58 crtbeginS.o
-r--r--r--  2 root  wheel      741 Jul 20 16:58 crtend.o
-r--r--r--  2 root  wheel      741 Jul 20 16:58 crtendS.o
-r--r--r--  1 root  wheel     1861 Jul 20 16:58 gcrt0.o
-r--r--r--  1 root  wheel   554566 Jul 20 17:13 libbfd.a
-r--r--r--  1 root  wheel  1172864 Jul 20 16:58 libc.a
-r--r--r--  1 root  wheel    33676 Jul 20 17:01 libcompat.a
-r--r--r--  1 root  wheel     8438 Jul 20 17:01 libcrypt.a
-r--r--r--  1 root  wheel   113642 Jul 20 17:01 libcurses.a
-r--r--r--  1 root  wheel   131114 Jul 20 17:01 libedit.a
-r--r--r--  2 root  wheel     1628 Jul 20 17:01 libfl.a
-r--r--r--  1 root  wheel   101182 Jul 20 17:16 libgcc.a
-r--r--r--  1 root  wheel    30368 Jul 20 17:13 libgnumalloc.a
-r--r--r--  1 root  wheel    26112 Jul 20 17:01 libkvm.a
-r--r--r--  2 root  wheel     1628 Jul 20 17:01 libl.a
-r--r--r--  1 root  wheel   330760 Jul 20 17:01 libm.a
-r--r--r--  1 root  wheel   111634 Jul 20 17:01 libntp.a
-r--r--r--  1 root  wheel   121640 Jul 20 17:16 libobjc.a
-r--r--r--  1 root  wheel     7852 Jul 20 17:01 libossaudio.a
-r--r--r--  1 root  wheel   107648 Jul 20 17:01 libpcap.a
-r--r--r--  1 root  wheel     3988 Jul 20 17:02 libposix.a
-r--r--r--  1 root  wheel    30974 Jul 20 17:02 libresolv.a
-r--r--r--  1 root  wheel     9254 Jul 20 17:02 librmt.a
-r--r--r--  1 root  wheel    47610 Jul 20 17:02 librpcsvc.a
-r--r--r--  1 root  wheel    22538 Jul 20 17:02 libskey.a
-r--r--r--  1 root  wheel   513010 Jul 20 17:13 libstdc++.a
-r--r--r--  1 root  wheel     6644 Jul 20 17:02 libtelnet.a
-r--r--r--  2 root  wheel     7056 Jul 20 17:02 libtermcap.a
-r--r--r--  2 root  wheel     7056 Jul 20 17:02 libtermlib.a
-r--r--r--  1 root  wheel    37592 Jul 20 17:02 libutil.a
-r--r--r--  1 root  wheel    43512 Jul 20 17:02 libwrap.a
-r--r--r--  1 root  wheel     2138 Jul 20 17:02 liby.a
-r--r--r--  1 root  wheel    59924 Jul 20 17:02 libz.a

○もともと binutils から lib として入ったもの
lib-ooo:
total 2266
-rw-r--r--  1 root  wheel  1958472 Jul 28 22:43 libbfd.a
-rw-r--r--  1 root  wheel      448 Jul 28 22:41 libbfd.la
-rw-r--r--  1 root  wheel   172478 Jul 28 23:01 libiberty.a
-rw-r--r--  1 root  wheel   143262 Jul 28 22:48 libopcodes.a
-rw-r--r--  1 root  wheel      460 Jul 28 22:48 libopcodes.la

○そのうちの libbdf* だけはよける
root@tateyama  20:41:18/980801(...local/powerpc-elf-netbsd)# mkdir lib-new
root@tateyama  20:42:19/980801(...local/powerpc-elf-netbsd)# mv  lib/libbfd* lib-new

○ lib の下から、その lib-ooo に入っているものが見えるようにする。
root@tateyama  20:42:31/980801(...local/powerpc-elf-netbsd)# cd lib
root@tateyama  20:42:44/980801(...powerpc-elf-netbsd/lib)# ln -s ../lib-ooo/lib* .

○ 一応確認しておく
root@tateyama  20:49:36/980801(...powerpc-elf-netbsd/lib)# ls -l
total 3150
-r--r--r--  1 root  wheel     1634 Jul 20 16:58 crt0.o
-r--r--r--  2 root  wheel     1883 Jul 20 16:58 crtbegin.o
-r--r--r--  2 root  wheel     1883 Jul 20 16:58 crtbeginS.o
-r--r--r--  2 root  wheel      741 Jul 20 16:58 crtend.o
-r--r--r--  2 root  wheel      741 Jul 20 16:58 crtendS.o
-r--r--r--  1 root  wheel     1861 Jul 20 16:58 gcrt0.o
lrwxr-xr-x  1 root  wheel       19 Aug  1 20:42 libbfd.a -> ../lib-ooo/libbfd.a
lrwxr-xr-x  1 root  wheel       20 Aug  1 20:42 libbfd.la -> ../lib-ooo/libbfd.la
-r--r--r--  1 root  wheel  1172864 Jul 20 16:58 libc.a
-r--r--r--  1 root  wheel    33676 Jul 20 17:01 libcompat.a
-r--r--r--  1 root  wheel     8438 Jul 20 17:01 libcrypt.a
-r--r--r--  1 root  wheel   113642 Jul 20 17:01 libcurses.a
-r--r--r--  1 root  wheel   131114 Jul 20 17:01 libedit.a
-r--r--r--  2 root  wheel     1628 Jul 20 17:01 libfl.a
-r--r--r--  1 root  wheel   101182 Jul 20 17:16 libgcc.a
-r--r--r--  1 root  wheel    30368 Jul 20 17:13 libgnumalloc.a
lrwxr-xr-x  1 root  wheel       22 Aug  1 20:42 libiberty.a -> ../lib-ooo/libiberty.a
-r--r--r--  1 root  wheel    26112 Jul 20 17:01 libkvm.a
-r--r--r--  2 root  wheel     1628 Jul 20 17:01 libl.a
-r--r--r--  1 root  wheel   330760 Jul 20 17:01 libm.a
-r--r--r--  1 root  wheel   111634 Jul 20 17:01 libntp.a
-r--r--r--  1 root  wheel   121640 Jul 20 17:16 libobjc.a
lrwxr-xr-x  1 root  wheel       23 Aug  1 20:42 libopcodes.a -> ../lib-ooo/libopcodes.a
lrwxr-xr-x  1 root  wheel       24 Aug  1 20:42 libopcodes.la -> ../lib-ooo/libopcodes.la
-r--r--r--  1 root  wheel     7852 Jul 20 17:01 libossaudio.a
-r--r--r--  1 root  wheel   107648 Jul 20 17:01 libpcap.a
-r--r--r--  1 root  wheel     3988 Jul 20 17:02 libposix.a
-r--r--r--  1 root  wheel    30974 Jul 20 17:02 libresolv.a
-r--r--r--  1 root  wheel     9254 Jul 20 17:02 librmt.a
-r--r--r--  1 root  wheel    47610 Jul 20 17:02 librpcsvc.a
-r--r--r--  1 root  wheel    22538 Jul 20 17:02 libskey.a
-r--r--r--  1 root  wheel   513010 Jul 20 17:13 libstdc++.a
-r--r--r--  1 root  wheel     6644 Jul 20 17:02 libtelnet.a
-r--r--r--  2 root  wheel     7056 Jul 20 17:02 libtermcap.a
-r--r--r--  2 root  wheel     7056 Jul 20 17:02 libtermlib.a
-r--r--r--  1 root  wheel    37592 Jul 20 17:02 libutil.a
-r--r--r--  1 root  wheel    43512 Jul 20 17:02 libwrap.a
-r--r--r--  1 root  wheel     2138 Jul 20 17:02 liby.a
-r--r--r--  1 root  wheel    59924 Jul 20 17:02 libz.a
root@tateyama  20:49:49/980801(...powerpc-elf-netbsd/lib)# 

---
(藤原)