zig/lib/std/os/linux
Alex Rønne Petersen da018f9726
std.os.linux: Add unwinding protection in clone() implementations.
Whatever was in the frame pointer register prior to clone() will no longer be
valid in the child process, so zero it to protect FP-based unwinders. Similarly,
mark the link register as undefined to protect DWARF-based unwinders.

This is only zeroing the frame pointer(s) on Arm/Thumb because of an LLVM
assembler bug: https://github.com/llvm/llvm-project/issues/115891
2024-12-11 00:10:17 +01:00
..
bpf linux/bpf: add alignment for helper functions to make compiler happy 2024-11-18 16:19:44 +01:00
aarch64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
arm.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
bpf.zig std: update std.builtin.Type fields to follow naming conventions 2024-08-28 08:39:59 +01:00
hexagon.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
io_uring_sqe.zig std.posix.iovec: use .base and .len instead of .iov_base and .iov_len 2024-04-28 00:20:30 -07:00
ioctl.zig std.Target: Remove sparcel architecture tag. 2024-07-30 06:30:25 +02:00
IoUring.zig IoUring: fix an issue in tests where InvalidVersion might get thrown by skipKernelLessThan, due to some kernel versions not being SemVer compliant. 2024-10-11 17:07:34 +02:00
loongarch64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
mips.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
mips64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
pie.zig std.os.linux.pie: Fix a relocation error for s390x. 2024-11-24 22:11:17 +01:00
powerpc.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
powerpc64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
riscv32.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
riscv64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
s390x.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
seccomp.zig std.builtin.Endian: make the tags lower case 2023-10-31 21:37:35 -04:00
sparc64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
syscalls.zig generate_linux_syscalls: Generate syscalls for x32. 2024-11-02 10:42:53 +01:00
test.zig std.os.linux: Fix bunch of compilation errors (#21138) 2024-08-23 14:21:19 +00:00
thumb.zig std.os.linux: Rename some arch bits files to match std.Target.Cpu.Arch tags. 2024-10-03 09:12:35 +02:00
tls.zig std.os.linux: Fix mmap() syscall invocation for s390x. 2024-10-04 00:26:53 +02:00
vdso.zig std.dynamic_library: update to new elf API 2024-10-12 10:44:17 -07:00
x86.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00
x86_64.zig std.os.linux: Add unwinding protection in clone() implementations. 2024-12-11 00:10:17 +01:00