雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
7: 2007-02-07 (水) 18:34:22 ソース バックアップ No.7 を復元して編集 8: 2007-02-08 (木) 00:40:51 ソース バックアップ No.8 を復元して編集
Line 61: Line 61:
 unknown file type: ll.o  unknown file type: ll.o
-なんだろう。これ? もしかして、ll.oの形式が問題なのかな??? -なんだろう。これ? もしかして、ll.oの形式が問題なのかな???
 +-たしか、.oって「オブジェクトファイル」と言われ、最終コンパイルの前の中間ファイルだったよなぁ。
 +-外で宣言されている関数とかそういうのを後回し(未コンパイル?)にし、また、他のobj等のファイルとくっつけるための「のりしろ」を持っている中間ファイル。
 +-これをライブラリアンであるgolib00でまとめているはずなんだけど、そのgolib00がunknounを吐く。
 + gcc -c -Os -DIN_GCC -DHAVE_CONFIG_H -I../include -o ll.o ll.c
 + gcc -c -Os -DIN_GCC -DHAVE_CONFIG_H -I../include -o ll_lib.o ll_lib.c
 + gcc -c -Os -DIN_GCC -DHAVE_CONFIG_H -I../include -o nask.o nask.c
 +-FreeBSD上では、各.cファイルはこんなオプションで.o形式にされている。これらのオプションに問題があるのかな???
 +-・・・おそらくnaskが「BINとCOFF(実際はwin32-COFF)」しか吐けないことを考えると、golib00もこれらしか扱えないのではないかと予測。さらに、普通のGCCはたぶんELFとかa.out形式が標準のはず。たぶんこれのズレではないだろうか?
 +-まいったなぁ。.oファイルの形式を調査したりする方法やGCCで他の形式のオブジェクトファイルを吐き出す方法がわからない・・・どうすれがえぇんだろ??
 +-おぉぉ! 形式を判定できるぞ! UNIX系では、 「file」というコマンドでできるのか!よし!!さっそく!
 +
 + $> file ./ll.o
 + ./ll.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (FreeBSD), not stripped
 +
 +-おぉ!出た!ふむふむ! 間違いなくELF形式だということは解ったぞ!
 +
 +*imgtol0d [#a8a019ec]
 +*osalink1 [#y9c62766]
 +*makefont [#g5c19650]
 +*sartol0j [#k7fd4342]
 +*hrblib0a [#pffff331]
 +*obj2bi4c [#g0283147]
 +*tk5lgpl1 [#h56285e8]