メイクファイルの作成を含むプロジェクトを行っています。ここには 2 つの異なる makefile があります。最初のものは最初のビルドステップを行います。2 番目のメイクファイルでは、最初に生成されたオブジェクト ファイル (提供されたパス) を使用し、別の場所で生成されたオブジェクト ファイルをもう 1 つ追加しようとしています。ここで直面している問題は、リンカーがこの新しいオブジェクト ファイルを古いオブジェクト ファイルにリンクできないことです。
このコマンドを使用して、この手順を実行しています。
arm-none-eabi-g++ -T ../linker.ld -nostartfiles -Xlinker --gc-sections -Wl,-Map,"map_file.map" -specs=nano.specs -o "target.elf" new_file.o all_older_files.o
ここで、new_file.o は arm_eabi バージョン 0 であり、all_older_files.o は arm_eabi バージョン 5 です。ただし、エラーや警告は表示されません。そして興味深いのは、new_file.o のシンボルの一部が target.elf ファイルに含まれていることです。リンカ スクリプトを確認しましたが、解決策が見つかりませんでした。また、eabi のバージョンが違いを生んでいるかどうかを確認しましたが、elf エディタを使用して elf ファイルを手動で編集しても同じです。
私が望むのは、new_file.o のセクションをこの target.elf に含めて、これらを利用できるようにすることだけです。