いくつかの三角関数 (sin、tan、cos など) を使用するアプリケーションを作成しました。私の目的は、GNU C ライブラリ、MUSL、および Newlib でのこれらの関数のさまざまな実装を調べることです。
これを行うには、glibc
Buildrootmusl
を使用して Linux GCC ツールチェーンを構築し、適切なコンパイラを使用してアプリをコンパイルし、QEMU (ユーザー モード) を使用して実行します。これは簡単です。
次に、アプリケーションの結果を Newlib バージョンと比較したいと思います。
私の特定のケースでは、RISC-VRV64GC
アーキテクチャとlp64d
ABI 用にコンパイルしています。私の理解では、Newlib ライブラリを使用するということは、riscvv64-unknown-elf-gcc
コンパイラでコンパイルすることを意味します。proxy-kernel
従来、Spike ISS シミュレーターを使用して、軽量 OSを使用してアプリケーションを実行できました。QEMUでそれを使用する方法はありますか? それとも、完全なベアメタル アプリケーションを構築する必要がありますか?