Kazu Hirata
kazu****@cs*****
2004年 2月 10日 (火) 01:04:58 JST
佐藤様、 > 今のelf2fltではreloc形式しか受け付けないので、とりあえず問題はありません。 > これはこれで困った仕様なのですが… linker relaxation が正常に動くとかいう問題の前に、linker relaxation が 全く使われないということでしょうか。そういうことでしたら、gas に @GOTOFF を 16-bit displacement (R_H8_GOT16O) と解釈する option でもつ けようかと思っておりますが、いかがでしょうか。一回の GOT の参照につき 4 byte の差というのは大きい気がするのですが。 > あ、picを使わない時です。 > mov.l #symbol,erNのsymbolがR_H8_DIR32ではなくR_H8_GOT32Oになります。 > ひっかかったのはuClinux-2.4.x/arch/h8300/kernel/syscall.Sです。 > 困った事に環境を変えると正常に動いてしまうので、どこでも再現できるかどうか > わかりません。 やっと原因が分りました。pic_none に早いうちに初期化する patch で大丈夫 だと思います。 ところで、elf2flt の patch は必要ないかもしれません。というのは、 R_H8_PCREL32 は .text の中の jump table でしか使われないからです。 elf2flt は PIC の場合は .text を触らないはずですし。 Kazu Hirata