aboutsummaryrefslogtreecommitdiff
path: root/lib/std/build/EmulatableRunStep.zig
AgeCommit message (Collapse)Author
2023-01-31combine std.build and std.build.Builder into std.BuildAndrew Kelley
I've been wanting to do this for along time.
2022-11-04all: rename i386 to x86Ali Chraghi
2022-09-08std.zig.system.NativeTargetInfo: detection ignores self exeAndrew Kelley
Before, native glibc and dynamic linker detection attempted to use the executable's own binary if it was dynamically linked to answer both the C ABI question and the dynamic linker question. However, this could be problematic on a system that uses a RUNPATH for the compiler binary, locking it to an older glibc version, while system binaries such as /usr/bin/env use a newer glibc version. The problem is that libc.so.6 glibc version will match that of the system while the dynamic linker will match that of the compiler binary. Executables with these versions mismatching will fail to run. Therefore, this commit changes the logic to be the same regardless of whether the compiler binary is dynamically or statically linked. It inspects `/usr/bin/env` as an ELF file to find the answer to these questions, or if there is a shebang line, then it chases the referenced file recursively. If that does not provide the answer, then the function falls back to defaults. This commit also solves a TODO to remove an Allocator parameter to the detect() function.
2022-07-23Share logic between EmulatableRunStep & RunStepLuuk de Gram
2022-07-23Use `EmulatableRunStep` for MachO linker testsLuuk de Gram
2022-07-23rename:RunCompareStep -> EmulatableRunStepLuuk de Gram
Renamed to better convery the intention of the step