rv32emu
rv32emu copied to clipboard
Introduce Valgrind to the CI pipeline
The static analyzer alone can't catch all the runtime issues. In this commit, the dynamic analysis tool Valgrind is added to the CI pipeline.
ENABLE_SDL is set to 0, in order to reduce noise caused by the external libraries.
Reference:
- https://valgrind.org/docs/manual/quick-start.html
- https://linux.die.net/man/1/gcc
To merge this pull request, all the memory-related leaks need to be addressed first.
Currently, based on my initial testing, when disabling SDL and JIT, no memory leaks are found. When enabling JIT, there will be plenty of leaks.