From 40ff35948625e47964d2adbc3bdec8bd6a40d2db Mon Sep 17 00:00:00 2001 From: Layne Gustafson Date: Wed, 15 Jan 2020 17:51:06 -0500 Subject: [PATCH] Only enable requested features --- src-self-hosted/stage1.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src-self-hosted/stage1.zig b/src-self-hosted/stage1.zig index 5d460f1f98..1d08616ae2 100644 --- a/src-self-hosted/stage1.zig +++ b/src-self-hosted/stage1.zig @@ -667,6 +667,14 @@ const Stage2TargetDetails = struct { var llvm_features_buffer = try std.Buffer.initSize(allocator, 0); defer llvm_features_buffer.deinit(); + // First, disable all features. + // This way, we only get the ones the user requests. + for (std.target.getFeaturesForArch(arch)) |feature| { + try llvm_features_buffer.append("-"); + try llvm_features_buffer.append(feature.llvm_name); + try llvm_features_buffer.append(","); + } + for (features) |feature| { try llvm_features_buffer.append("+"); try llvm_features_buffer.append(feature.llvm_name);