authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-14 10:11:11+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-14 16:56:44+02:00
logb34a13da38f60737477e62dd0acd1a7a6b6be0a0
treee58cea1dcdf357ee6d49eed7f21c1f55e008c2c7
parent2f3234c76ac8465719935bc6ae0e10e0fe59fccd

std.os.linux.sparc64: use icc instead of xcc in asm clobbers

LLVM currently doesn't recognize xcc; icc does what we want.

1 files changed, 9 insertions(+), 9 deletions(-)

lib/std/os/linux/sparc64.zig+9-9
......@@ -54,7 +54,7 @@ pub fn syscall_fork() usize {
5454 \\ 2:
5555 : [ret] "={o0}" (-> usize),
5656 : [number] "{g1}" (@intFromEnum(SYS.fork)),
57 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
57 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
5858}
5959
6060pub fn syscall0(number: SYS) usize {
......@@ -66,7 +66,7 @@ pub fn syscall0(number: SYS) usize {
6666 \\ 1:
6767 : [ret] "={o0}" (-> usize),
6868 : [number] "{g1}" (@intFromEnum(number)),
69 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
69 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
7070}
7171
7272pub fn syscall1(number: SYS, arg1: usize) usize {
......@@ -79,7 +79,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
7979 : [ret] "={o0}" (-> usize),
8080 : [number] "{g1}" (@intFromEnum(number)),
8181 [arg1] "{o0}" (arg1),
82 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
82 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
8383}
8484
8585pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
......@@ -93,7 +93,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
9393 : [number] "{g1}" (@intFromEnum(number)),
9494 [arg1] "{o0}" (arg1),
9595 [arg2] "{o1}" (arg2),
96 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
96 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
9797}
9898
9999pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
......@@ -108,7 +108,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
108108 [arg1] "{o0}" (arg1),
109109 [arg2] "{o1}" (arg2),
110110 [arg3] "{o2}" (arg3),
111 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
111 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
112112}
113113
114114pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
......@@ -124,7 +124,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
124124 [arg2] "{o1}" (arg2),
125125 [arg3] "{o2}" (arg3),
126126 [arg4] "{o3}" (arg4),
127 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
127 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
128128}
129129
130130pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
......@@ -141,7 +141,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
141141 [arg3] "{o2}" (arg3),
142142 [arg4] "{o3}" (arg4),
143143 [arg5] "{o4}" (arg5),
144 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
144 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
145145}
146146
147147pub fn syscall6(
......@@ -167,7 +167,7 @@ pub fn syscall6(
167167 [arg4] "{o3}" (arg4),
168168 [arg5] "{o4}" (arg5),
169169 [arg6] "{o5}" (arg6),
170 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
170 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
171171}
172172
173173pub fn clone() callconv(.naked) usize {
......@@ -233,7 +233,7 @@ pub fn restore_rt() callconv(.c) void {
233233 return asm volatile ("t 0x6d"
234234 :
235235 : [number] "{g1}" (@intFromEnum(SYS.rt_sigreturn)),
236 : .{ .memory = true, .xcc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
236 : .{ .memory = true, .icc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
237237}
238238
239239pub const F = struct {