[b-free 282] Re: 開発環境 on Windows

Naitoh Ryuichi (naitoh_r@soft.hitachi.co.jp)
Thu, 13 Mar 97 11:41:46 +0900

隆一です。

Hayashi writes:
> 林です。
>
> In message <199703120945.SAA21358@psi.myo.inst.keio.ac.jp>
> "[b-free 280] Re: 開発環境 on Windows"
> "Hidekazu SHIOZAWA <shiozawa@myo.inst.keio.ac.jp>" wrote:
> >32ビットアセンブラでも、8086インストラクションだけを
> >吐かせることができるはずです。Linux用のアセンブラ(gas?)の
> >ソースがあれば、それをgcc-win32でコンパイルすれば良いのでは?
>
> gasで良ければcygnusにも含まれているようですが(as.exeだけど)。
> 一度、試してみます。

> >> >うーん、cygnus 版の GCC では、直接 win32 の実行ファイルを
> >> >作ってしまうのですか。。。
> >おそらく、オブジェクトファイルのフォーマットは同じだと思うので、
> >CPUが共通なので、リンカさえあれば、なんとかなるのではないでしょうか?
> >(PEフォーマットの直接の親は、UNIXのCOFF?フォーマットですから)
>
> このリンカですが、ZImageというフォーマットを知らないのですが
> Linuxでは標準のリンカでZImageを作れるのですか? 特別なものを使っ
> ているならソースにアクセスする方法を教えて下さい。cygnus-gcc
> でコンパイルしてみます。

ごめん。ZImage というのは間違った言い方でした。
正しくは a.out 実行形式で、かつ zmagic でした。

論理的には、標準のリンカでも a.out + zmagic の
形式の実行ファイルは作成できるはずです。
ただ、ld がどういう実行形式を使えるかは、Linux
のパッケージを作った人が決めているので、パッケージ
によっては、使えないこともあります。

ld --help を実行すると、サポートしている実行形式が
出力されます。

ただ、a.out の形式として qmagic というものと zmagic
というものがあり、qmagic の形式の実行ファイルだと、
ブートプログラムが認識できません。

最近の GNU のリンカは、BFD というライブラリで数々の
実行形式(オブジェクトファイル)を扱えるようになって
いるので、Zmagic 形式の実行ファイルも扱えるように
するのはできると思います。

# 一番いいのはブートプログラムを書き換えて
# しまうことなのですが、面倒なので(ぉぃぉぃ)
# やっていません。

-- 
p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail: night@b-free.orient.co.jp                                    |
b----------------------------------------------------------------------d