I wrote an application that uses several trigonometric functions (sin, tan, cos, ...). My objective is to study the different implementations of these functions in the GNU C library, MUSL, and Newlib.
To do that for glibc
and musl
I just built a Linux GCC toolchain using Buildroot, then I compiled my app using the appropriate compiler then run it using QEMU (user mode). This is straightforward.
Now I would like to compare the application results with the Newlib version.
In my specific case, I'm compiling for RISC-V RV64GC
architecture and the lp64d
ABI. From my understanding, using the Newlib library means compiling with the riscvv64-unknown-elf-gcc
compiler. Traditionally, the Spike ISS simulator can be used to run the application using the proxy-kernel
lightweight OS. Is there a way to use that in QEMU? Or should I just build a completely baremetal application?