[Uclinux-h8-devel] Re: PIC support

Back to archive index

Kazu Hirata kazu****@cs*****
2004年 2月 7日 (土) 00:12:00 JST


佐藤様、

> ありがとうございます。
> テストプログラムが正常に読める所までは確認できました。
> 基本的な動作は問題ないと思います。
> もう少しいろいろ試してみます。

こちらこそどうもありがとうございます。実行の試験ですが、2 点、気になり
ます。

1) switch statement が jump table を使う時の試験が必要かもしれません。
   新たに追加された R_H8_PCREL32 という reloc を使うからです。以下のよ
   うな program に適当な main() をつけて走らせて頂けると幸いです。

int g;

void
foo (int a)
{
  switch (a)
    {
    case 0: g = 4;
    case 1: g = 3;
    case 2: g = 2;
    case 3: g = 1;
    case 4: g = 0;
    }
}

2) 初期化された大域変数の確認。以下では、p の初期化が ".long g" として
   行われます。つまり、position independent ではない g に対する絶対位
   置がそのまま p の中に入ってしまいます。elf2flt がうまいこと直してく
   れていると良いのですが、自信がありません。

int g;
int *p = &g;

int
main ()
{
  g = 1234;
  return *p == 1234;
}

> あと、libgccのビルドで引っかかったので、h8300.mdを適当に修正しました。
> パッチを添付しておきます。

恥ずかしい限りです。佐藤様の patch を取り込んだものを同じ場所において
おきました。

Kazu Hirata



Uclinux-h8-devel メーリングリストの案内
Back to archive index