3

私はこのコミュニティに参加したばかりで、アカウントを作成して質問したことはありませんが、プログラミングの問題を解決するために常にこのサイトを使用しています。ありがとうございます!しかし今回は、私の正確なニーズに一致する別の質問を見つけることができませんでした. これが重複する場合は、お詫び申し上げます。

私は、Ubuntu 12.04 の派生物である基本 OS 0.2 (Luna) を使用しています。ATmega32u4 マイクロプロセッサ用のプログラムをコンパイルするために avr-gcc ライブラリを使用しています。このプログラムを開発しながら何度かコンパイルしましたが、今までこのエラーは発生していませんでした。以下に貼っておきます。

/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/libc.a(log.o):../../../libm/fplib/log.S:100: relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in /usr/lib/gcc/avr/4.5.3/avr5/libgcc.a(_addsub_sf.o)
/usr/lib/gcc/avr/4.5.3/../../../avr/lib/avr5/libc.a(modf.o):../../../libm/fplib/modf.S:90: relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in /usr/lib/gcc/avr/4.5.3/avr5/libgcc.a(_addsub_sf.o)
collect2: ld returned 1 exit status
make: *** [main.elf] Error 1

要するに、これが何を指しているのかわかりません。私のプログラムには多数のファイルが含まれているため、ここにすべてを正確に投稿することはできません。代わりに、次の質問に対する一般的な回答に興味があります。

  1. 「収まるように切り捨てられた再配置」エラーとは何ですか? 遠すぎるメモリへのアクセスに関係していると読んだことがありますが、実際に C プログラム内でどのように発生するのでしょうか?
  2. R_AVR_13_PCREL とは? avr-gcc ライブラリに固有のようです。私のプログラムのどの側面がそのような変数を参照する可能性がありますか?
  3. 私が含めている唯一の一般的な C ヘッダーは math.h です。他のファイルは私自身のものです。Makefile に配置する必要がある math.h のファンキーなフラグがあることは知っています。-lmだと思います。しかし、私はこれを無駄にしようとしました。

皆様、どうもありがとうございました。このコミュニティの助けに感謝します。

4

1 に答える 1