zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit a82f446d91c9e764719d34188de5d794ee24dda8 (tree)
parent 9e076d8c7548eacc0bbbad770e5e06c3a427c687
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Thu,  4 Sep 2025 00:50:34 +0200

std.elf: change STV enum from u2 to u3

In gABI 4.3, st_other was changed such that the lower 3 bits are reserved for
the visibility, up from the previous 2 bits.

Diffstat:
Mlib/std/Build/Step/CheckObject.zig | 2+-
Mlib/std/elf.zig | 2+-
Mtools/gen_stubs.zig | 2+-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/std/Build/Step/CheckObject.zig b/lib/std/Build/Step/CheckObject.zig @@ -2226,7 +2226,7 @@ const ElfDumper = struct { try writer.print(" {s}", .{sym_bind}); } - const sym_vis = @as(elf.STV, @enumFromInt(@as(u2, @truncate(sym.st_other)))); + const sym_vis = @as(elf.STV, @enumFromInt(@as(u3, @truncate(sym.st_other)))); try writer.print(" {s}", .{@tagName(sym_vis)}); const sym_name = switch (sym.st_type()) { diff --git a/lib/std/elf.zig b/lib/std/elf.zig @@ -2303,7 +2303,7 @@ pub const R_PPC64 = enum(u32) { _, }; -pub const STV = enum(u2) { +pub const STV = enum(u3) { DEFAULT = 0, INTERNAL = 1, HIDDEN = 2, diff --git a/tools/gen_stubs.zig b/tools/gen_stubs.zig @@ -608,7 +608,7 @@ fn parseElf(parse: Parse, comptime is_64: bool, comptime endian: builtin.Endian) const name = try arena.dupe(u8, mem.sliceTo(dynstr[s(sym.st_name)..], 0)); const ty = @as(u4, @truncate(sym.st_info)); const binding = @as(u4, @truncate(sym.st_info >> 4)); - const visib = @as(elf.STV, @enumFromInt(@as(u2, @truncate(sym.st_other)))); + const visib = @as(elf.STV, @enumFromInt(@as(u3, @truncate(sym.st_other)))); const size = s(sym.st_size); if (size == 0) {