| author | |
| committer | |
| log | dd75302563f5cc0c67907b5c8a724e69379893f0 |
| tree | 1d4748ce88315b41da661bfb872ddf36a3cc94c6 |
| parent | e3840817d7a8a3e9e69a7b0e6f3c7f2ce8c8d029 |
This is needed to prevent infinite loop when calling rt_sigreturn.1 files changed, 3 insertions(+), 1 deletions(-)
lib/std/os/linux/sparc64.zig+3-1| ... | ... | @@ -169,7 +169,9 @@ pub extern fn clone(func: fn (arg: usize) callconv(.C) u8, stack: usize, flags: |
| 169 | 169 | |
| 170 | 170 | pub const restore = restore_rt; |
| 171 | 171 | |
| 172 | pub fn restore_rt() callconv(.Naked) void { | |
| 172 | // Need to use C ABI here instead of naked | |
| 173 | // to prevent an infinite loop when calling rt_sigreturn. | |
| 174 | pub fn restore_rt() callconv(.C) void { | |
| 173 | 175 | return asm volatile ("t 0x6d" |
| 174 | 176 | : |
| 175 | 177 | : [number] "{g1}" (@enumToInt(SYS.rt_sigreturn)) |