aboutsummaryrefslogtreecommitdiff
path: root/lib/std/pie.zig
AgeCommit message (Collapse)Author
2025-10-23std.pie: add sh supportAlex Rønne Petersen
2025-10-23std.pie: add microblaze supportAlex Rønne Petersen
2025-10-23std.pie: add alpha supportAlex Rønne Petersen
2025-10-23std.Target: add arceb and xtensaeb Cpu.Arch tagsAlex Rønne Petersen
2025-10-18std.pie: add or1k supportAlex Rønne Petersen
2025-10-18std.pie: fix getDynamicSymbol() for mipsn32Alex Rønne Petersen
2025-10-18std: make all MIPS inline asm safe for MIPS IAlex Rønne Petersen
MIPS I has load hazards so we need to insert nops in a few places. This is not a problem for MIPS II and later. While doing this, I also touched up all the inline asm to use ABI register aliases and a consistent formatting convention. Also fixed a few places that didn't properly check if the syscall return value should be negated.
2025-09-22std.pie: fix register constraint in getDynamicSymbol() for s390x (#25327)Alex Rønne Petersen
If the compiler happens to pick `ret = r0`, then this will assemble to `ag r0, 0` which is obviously not what we want. Using `a` instead of `r` will ensure that we get an appropriate address register, i.e. `r1` through `r15`. Re-enable pie_linux for s390x-linux which was disabled in ed7ff0b693037078f451a7c6c1124611060f4892.
2025-08-25start adding big endian RISC-V supportAlex Rønne Petersen
The big endian RISC-V effort is mostly driven by MIPS (the company) which is pivoting to RISC-V, and presumably needs a big endian variant to fill the niche that big endian MIPS (the ISA) did. GCC already supports these targets, but LLVM support will only appear in 22; this commit just adds the necessary target knowledge and checks on our end.
2025-08-03zig fmt: apply new cast builtin orderJustus Klausecker
2025-07-16zig fmtAndrew Kelley
2025-06-06x86_64: add support for pie executablesJacob Young
2025-05-18start: Don't artificially limit some posixCallMainAndExit() logic to Linux.Alex Rønne Petersen
This code applies to ~any POSIX OS where we don't link libc. For example, it'll be useful for FreeBSD and NetBSD. As part of this, move std.os.linux.pie to std.pie since there's really nothing Linux-specific about what that file is doing.