commit cd7ea62a050008d3d8995d4da5f1ffa296dfbb06 (tree)
parent 2019faa57678e00d73f8ed0eb29101717039230a
Author: Giuseppe Cesarano <PecoraInPannaCotta@gmail.com>
Date: Wed, 3 Jun 2026 11:07:39 +0200
Fix red-zone flag generation
Signed-off-by: Giuseppe Cesarano <PecoraInPannaCotta@gmail.com>
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/compiler/Maker/Step/Compile.zig b/lib/compiler/Maker/Step/Compile.zig
@@ -984,6 +984,11 @@ fn addFlag(gpa: Allocator, args: *std.ArrayList([]const u8), comptime name: []co
try args.append(gpa, if (cond) "-f" ++ name else "-fno-" ++ name);
}
+fn addArchFlag(gpa: Allocator, args: *std.ArrayList([]const u8), comptime name: []const u8, opt: ?bool) !void {
+ const cond = opt orelse return;
+ try args.append(gpa, if (cond) "-m" ++ name else "-mno-" ++ name);
+}
+
fn checkCompileErrors(arena: Allocator, maker: *Maker, step_index: Configuration.Step.Index) Step.ExtendedMakeError!void {
const step = maker.stepByIndex(step_index);
const conf = &maker.scanned_config.configuration;
@@ -1249,9 +1254,9 @@ fn appendModuleFlags(
try addFlag(gpa, zig_args, "fuzz", m.flags.fuzz.toBool());
try addFlag(gpa, zig_args, "valgrind", m.flags2.valgrind.toBool());
try addFlag(gpa, zig_args, "PIC", m.flags2.pic.toBool());
- try addFlag(gpa, zig_args, "red-zone", m.flags2.red_zone.toBool());
try addFlag(gpa, zig_args, "no-builtin", m.flags2.no_builtin.toBool());
+ try addArchFlag(gpa, zig_args, "red-zone", m.flags2.red_zone.toBool());
{
try zig_args.ensureUnusedCapacity(gpa, 6);