valgrind: Add riscv64-linux support.

This appeared in Valgrind 3.25.0.
This commit is contained in:
Alex Rønne Petersen
2025-06-04 06:04:34 +02:00
parent 100b76e17a
commit 2add31bfde
4 changed files with 37 additions and 6 deletions

View File

@@ -11604,7 +11604,7 @@ pub const FuncGen = struct {
const pt = o.pt;
const zcu = pt.zcu;
const target = zcu.getTarget();
if (!target_util.hasValgrindSupport(target)) return default_value;
if (!target_util.hasValgrindSupport(target, .stage2_llvm)) return default_value;
const llvm_usize = try o.lowerType(Type.usize);
const usize_alignment = Type.usize.abiAlignment(zcu).toLlvm();
@@ -11678,6 +11678,19 @@ pub const FuncGen = struct {
,
.constraints = "={r3},{r4},{r3},~{cc},~{memory}",
},
.riscv64 => .{
.template =
\\ .option push
\\ .option norvc
\\ srli zero, zero, 3
\\ srli zero, zero, 13
\\ srli zero, zero, 51
\\ srli zero, zero, 61
\\ or a0, a0, a0
\\ .option pop
,
.constraints = "={a3},{a4},{a3},~{cc},~{memory}",
},
.s390x => .{
.template =
\\ lr %r15, %r15