authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-04 10:28:34+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-08 18:08:25+02:00
log58fb6115896eddb5f1c86e5e812cdde819fcdf20
treedcd43f77b3b1791bda91a0e936460659308d2643
parentbaf632797377790b9ce3bacbbe390b590380e831
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.elf: add sparc.EFlags


1 files changed, 32 insertions(+), 0 deletions(-)

lib/std/elf.zig+32
......@@ -3374,3 +3374,35 @@ pub const loongarch = struct {
33743374 pub const AbiExtension = enum(u3) { base = 0, _ };
33753375 };
33763376};
3377
3378pub const sparc = struct {
3379 pub const EFlags = packed struct(Word) {
3380 mm: MemoryModel,
3381 _reserved1: u6 = 0,
3382 ext: Extensions,
3383 _reserved2: u8 = 0,
3384
3385 pub const MemoryModel = enum(u2) {
3386 /// Total Store Ordering
3387 tso = 0,
3388 /// Partial Store Ordering
3389 pso = 1,
3390 /// Relaxed Memory Ordering
3391 rmo = 2,
3392 };
3393
3394 pub const Extensions = packed struct(u16) {
3395 /// Uses SPARC v8 ABI (w/ 32-bit pointers) on SPARC v9. Also known as v8+.
3396 @"32plus": bool,
3397 /// Uses Sun UltraSPARC extensions.
3398 sun_us1: bool,
3399 /// Uses HaL R1 extensions.
3400 hal_r1: bool,
3401 /// Uses Sun UltraSPARC III extensions.
3402 sun_us3: bool,
3403 _reserved: u11 = 0,
3404 /// Uses little endian data (SPARC v9+).
3405 le_data: bool,
3406 };
3407 };
3408};