aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-06-04 06:04:34 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2025-06-04 19:24:08 +0200
commit2add31bfde7c261c433b61328a88953892fb1b41 (patch)
tree99069fd702d097d5e319fda5608eaa5b16080068 /src/target.zig
parent100b76e17a7523edc04aa7fa97806c183c2b5a88 (diff)
downloadzig-2add31bfde7c261c433b61328a88953892fb1b41.tar.gz
zig-2add31bfde7c261c433b61328a88953892fb1b41.zip
valgrind: Add riscv64-linux support.
This appeared in Valgrind 3.25.0.
Diffstat (limited to 'src/target.zig')
-rw-r--r--src/target.zig8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/target.zig b/src/target.zig
index 4b0cc20bda..71a58369fc 100644
--- a/src/target.zig
+++ b/src/target.zig
@@ -84,7 +84,7 @@ pub fn defaultSingleThreaded(target: std.Target) bool {
return false;
}
-pub fn hasValgrindSupport(target: std.Target) bool {
+pub fn hasValgrindSupport(target: std.Target, backend: std.builtin.CompilerBackend) bool {
// We can't currently output the necessary Valgrind client request assembly when using the C
// backend and compiling with an MSVC-like compiler.
const ofmt_c_msvc = (target.abi == .msvc or target.abi == .itanium) and target.ofmt == .c;
@@ -103,7 +103,11 @@ pub fn hasValgrindSupport(target: std.Target) bool {
else => false,
},
.powerpc, .powerpcle, .powerpc64, .powerpc64le => switch (target.os.tag) {
- .linux => true,
+ .linux => backend != .stage2_powerpc, // Insufficient inline assembly support in self-hosted.
+ else => false,
+ },
+ .riscv64 => switch (target.os.tag) {
+ .linux => backend != .stage2_riscv64, // Insufficient inline assembly support in self-hosted.
else => false,
},
.s390x => switch (target.os.tag) {