Files
zig/test/standalone/pie/main.zig
2023-06-19 12:34:42 -07:00

16 lines
452 B
Zig

const std = @import("std");
const elf = std.elf;
threadlocal var foo: u8 = 42;
test "Check ELF header" {
// PIE executables are marked as ET_DYN, regular exes as ET_EXEC.
const header = @ptrFromInt(*elf.Ehdr, std.process.getBaseAddress());
try std.testing.expectEqual(elf.ET.DYN, header.e_type);
}
test "TLS is initialized" {
// Ensure the TLS is initialized by the startup code.
try std.testing.expectEqual(@as(u8, 42), foo);
}