diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-06-04 06:04:34 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-06-04 19:24:08 +0200 |
| commit | 2add31bfde7c261c433b61328a88953892fb1b41 (patch) | |
| tree | 99069fd702d097d5e319fda5608eaa5b16080068 /src/codegen | |
| parent | 100b76e17a7523edc04aa7fa97806c183c2b5a88 (diff) | |
| download | zig-2add31bfde7c261c433b61328a88953892fb1b41.tar.gz zig-2add31bfde7c261c433b61328a88953892fb1b41.zip | |
valgrind: Add riscv64-linux support.
This appeared in Valgrind 3.25.0.
Diffstat (limited to 'src/codegen')
| -rw-r--r-- | src/codegen/llvm.zig | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 268a57417b..3b26c9674d 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -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 |
