zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2598aa574bf8a4c033a29b441b2faa791849e1a5 (tree)
parent fb249cf3e130c292c639f2357ba3b7f66b2aa1b1
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Fri, 26 Jul 2024 05:29:15 +0200

generate_linux_syscalls: Add generation code for sparc32.

Diffstat:
Mtools/generate_linux_syscalls.zig | 19+++++++++++++++++++
1 file changed, 19 insertions(+), 0 deletions(-)

diff --git a/tools/generate_linux_syscalls.zig b/tools/generate_linux_syscalls.zig @@ -149,6 +149,25 @@ pub fn main() !void { ); } { + try writer.writeAll("pub const Sparc = enum(usize) {\n"); + const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf); + var lines = mem.tokenizeScalar(u8, table, '\n'); + while (lines.next()) |line| { + if (line[0] == '#') continue; + + var fields = mem.tokenizeAny(u8, line, " \t"); + const number = fields.next() orelse return error.Incomplete; + const abi = fields.next() orelse return error.Incomplete; + if (mem.eql(u8, abi, "64")) continue; + const name = fields.next() orelse return error.Incomplete; + const fixed_name = if (stdlib_renames.get(name)) |fixed| fixed else name; + + try writer.print(" {p} = {s},\n", .{ zig.fmtId(fixed_name), number }); + } + + try writer.writeAll("};\n\n"); + } + { try writer.writeAll("pub const Sparc64 = enum(usize) {\n"); const table = try linux_dir.readFile("arch/sparc/kernel/syscalls/syscall.tbl", buf); var lines = mem.tokenizeScalar(u8, table, '\n');