Skip to content

Valgrind with support for the RISCV64/Linux platform.

License

Notifications You must be signed in to change notification settings

paulfloyd/valgrind-riscv64

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Valgrind – RISCV64/Linux

Overview

This repository contains Valgrind with support for the RISCV64/Linux platform.

The aim of the project is to enable Valgrind for the RV64GC instruction set on the Linux operating system. It is intended for this port to eventually become a part of the upstream Valgrind project and to continue further development there.

For installation, please follow the generic steps how to build Valgrind in the main README file.

The project was presented at FOSDEM 2022. Work on integrating the code into the official Valgrind project has been tracked in an upstream bug.

Current state

Current focus is on functionality and correctness. The following summarizes the high-level state as of 2024-06-18.

Enabled RV64GC instructions:

Name Description #Enabled/#Instrs
RV64I Base instruction set 52/52
RV64M Integer multiplication & division 12/13
RV64A Atomic 22/22
RV64F Single-precision floating-point 30/30
RV64D Double-precision floating-point 32/32
RV64Zicsr Control & status register 2/6
RV64Zifencei Instruction-fetch fence 0/1
RV64C Compressed 36/37

Test results:

== 737 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls                    (stdoutB)
none/tests/double_close_range            (stderr)
none/tests/double_close_range_sup        (stderr)
none/tests/double_close_range_xml        (stderr)

For limitations and to-do tasks, please refer to README.riscv64.

License

This project is released under the terms of the GPLv2 License.

About

Valgrind with support for the RISCV64/Linux platform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 94.5%
  • Assembly 1.8%
  • C++ 1.3%
  • Makefile 0.6%
  • Perl 0.5%
  • M4 0.4%
  • Other 0.9%