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

Re: powerpc-elf-netbsd patch for egcs-980214



<199803120759.QAA12910@ruri.iri.co.jp>の記事において
1998年03月12日16時59分頃、tsubai@iri.co.jpさんは書きました。

 > libc は egcs でつくっていたんですが、それでも引数が可変長の
 > ときは困りますよね。
 >
 > f(int, long long); と
 > f(int, int, long long);
 >
 > で long long が同じレジスターにはいっちゃうわけですから、
 > 呼ばれた側はレジスターをスタックにコピーしようとすると…。

言われてみればそんな気が..

 > じつは va-ppc.h をいれかえていなかったので、そのせいかも
 > しれないんですけど、やっぱりコワいので gcc-2.7.2.2 に
 > 戻ることにしました。

egcsのva-ppc.hみたら、
      if (__va_longlong_p(TYPE) && ((AP)->gpr & 1) != 0)              \
      (AP)->gpr++;                                                    \
とか入ってましたから、va-ppc.hを入れ替えれば、
long longのときはよきにはからってくれるのかも?

んー、試してみないとわからないですね(^^;)

sakamoto@cec.co.jp