[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cross-vax-netbsd & binutils problem?
こんにちは.新名といいます.
cross-vax-netbsd というものを書いてしまったのですが,
こんなのが必要な方はいますか?
興味のある人はこちらからどうぞ:
http://www08.u-page.so-net.ne.jp/rb3/yesu/vax/patches/cross-vax-netbsd.pkg.diff
それと,これでカーネルをクロスリンクする際に
pmap.o(.text+0xd3): relocation truncated to fit: DISP32 etext
と怒られたので気がついたのですが,
binutils/bfd/reloc.c:1523:
case complain_overflow_signed:
{
/* Assumes two's complement. */
bfd_signed_vma reloc_signed_max = (1 << (howto->bitsize - 1)) - 1;
bfd_signed_vma reloc_signed_min = ~reloc_signed_max;
ここ-> if (signed_check > reloc_signed_max
|| signed_check < reloc_signed_min)
overflow = true;
}
break;
32bit-only BFD な環境では
typedef long bfd_signed_vma;
となっているので,DISP32 の場合「ここ」は意味を持ちません.
#ところで DISP32 って何なんでしょうか :-p
そのおかげで native vax では何事も無かったかのように
リンク出来てしまいます.
個人的には非常に気持悪いのですが,手元の vax はその
カーネルで問題なく動いているようなので,おそらくこの
エラーは無視するのが「正式な方法」だと思うのですが…
本当はどうなんでしょう?
--
-- Shinmyoh Koji <yesu@rb3.so-net.ne.jp>
panic: uvm_km_suballoc: unable to allocate space in parent map