authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-23 07:23:44+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-23 07:27:45+01:00
log1231aa9719856320359392e99e330aa78b718c50
tree89cc6a2e827e97dae7482109ccb86054af8808dc
parent8284da2f3d5179d9c3160edd8d167b5169dbe126
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

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

This reverts commit b34a13da38f60737477e62dd0acd1a7a6b6be0a0. This is not the right fix; rather, the C backend needs to translate all of ccr, icc, and xcc to just icc.

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

lib/std/os/linux/sparc64.zig+9-9
......@@ -41,7 +41,7 @@ pub fn syscall_fork() u64 {
4141 \\ 2:
4242 : [ret] "={o0}" (-> u64),
4343 : [number] "{g1}" (@intFromEnum(SYS.fork)),
44 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
44 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
4545}
4646
4747pub fn syscall0(number: SYS) u64 {
......@@ -53,7 +53,7 @@ pub fn syscall0(number: SYS) u64 {
5353 \\ 1:
5454 : [ret] "={o0}" (-> u64),
5555 : [number] "{g1}" (@intFromEnum(number)),
56 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
56 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
5757}
5858
5959pub fn syscall1(number: SYS, arg1: u64) u64 {
......@@ -66,7 +66,7 @@ pub fn syscall1(number: SYS, arg1: u64) u64 {
6666 : [ret] "={o0}" (-> u64),
6767 : [number] "{g1}" (@intFromEnum(number)),
6868 [arg1] "{o0}" (arg1),
69 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
69 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
7070}
7171
7272pub fn syscall2(number: SYS, arg1: u64, arg2: u64) u64 {
......@@ -80,7 +80,7 @@ pub fn syscall2(number: SYS, arg1: u64, arg2: u64) u64 {
8080 : [number] "{g1}" (@intFromEnum(number)),
8181 [arg1] "{o0}" (arg1),
8282 [arg2] "{o1}" (arg2),
83 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
83 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
8484}
8585
8686pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64 {
......@@ -95,7 +95,7 @@ pub fn syscall3(number: SYS, arg1: u64, arg2: u64, arg3: u64) u64 {
9595 [arg1] "{o0}" (arg1),
9696 [arg2] "{o1}" (arg2),
9797 [arg3] "{o2}" (arg3),
98 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
98 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
9999}
100100
101101pub fn syscall4(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64) u64 {
......@@ -111,7 +111,7 @@ pub fn syscall4(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64) u64 {
111111 [arg2] "{o1}" (arg2),
112112 [arg3] "{o2}" (arg3),
113113 [arg4] "{o3}" (arg4),
114 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
114 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
115115}
116116
117117pub fn syscall5(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64, arg5: u64) u64 {
......@@ -128,7 +128,7 @@ pub fn syscall5(number: SYS, arg1: u64, arg2: u64, arg3: u64, arg4: u64, arg5: u
128128 [arg3] "{o2}" (arg3),
129129 [arg4] "{o3}" (arg4),
130130 [arg5] "{o4}" (arg5),
131 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
131 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
132132}
133133
134134pub fn syscall6(
......@@ -154,7 +154,7 @@ pub fn syscall6(
154154 [arg4] "{o3}" (arg4),
155155 [arg5] "{o4}" (arg5),
156156 [arg6] "{o5}" (arg6),
157 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
157 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
158158}
159159
160160pub fn clone() callconv(.naked) u64 {
......@@ -220,7 +220,7 @@ pub fn restore_rt() callconv(.c) void {
220220 return asm volatile ("t 0x6d"
221221 :
222222 : [number] "{g1}" (@intFromEnum(SYS.rt_sigreturn)),
223 : .{ .memory = true, .icc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
223 : .{ .memory = true, .xcc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
224224}
225225
226226pub const VDSO = struct {