[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cross compile
Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> writes:
> ・CPP はほんとは /usr/bin/cpp みたいな sh script を用意しないと
> いけないのかもしれない
> http://www.jp.netbsd.org/ja/JP/ml/port-hpcmips-ja/200004/msg00089.html
libc/sys/Makefile.incのように${CPP}を直接起動している部分がありますが、
ここで、ホストマシンとターゲットマシンのpre-defineが異なっていて問題が発
生する場合があります。
昔経験したのは、確か、ホストマシンがNetBSD/i386 1.4でターゲットマシンが
hpcmipsでした。
mipsのヘッダファイルでは、"__NO_LEADING_UNDERSCORES__"というシンボルが定
義されていないとグローバルシンボルの先頭にアンダスコアが付加されてしまう
のですが、i386の/usr/bin/cppから起動される/usr/libexec/cppではそんなシン
ボルは定義されていません。そのため、ホストマシンの/usr/bin/cppを使って作っ
たライブラリ(libc)とuserlandのプログラムをリンクするとグローバルシンボル
が一致しないために正常にリンクできませんでした。
篠原