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

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



>gcc-2.8.0以前は、レジスタの奇数偶数関係なしに並べていたけど、
>gcc-2.8.0以降は、SYSTEM V ABIに沿ったlong long引数の並べ方(奇数から)に
>変更になったのかな? 

理由はともかく、2.8.0 か egcs かどこかで変わったみたいですね。

>だったりすると、ライブラリをコンパイルしたgccが古いと、

libc は egcs でつくっていたんですが、それでも引数が可変長の
ときは困りますよね。

f(int, long long); と
f(int, int, long long);

で long long が同じレジスターにはいっちゃうわけですから、
呼ばれた側はレジスターをスタックにコピーしようとすると…。

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

# -mcall-sysv か?