aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-09-04 10:58:28 +0200
committerGitHub <noreply@github.com>2025-09-04 10:58:28 +0200
commitd94e061ade545f3fbdd4ab1a18f860b05050ebf6 (patch)
treed4524d99ab3748c71a826b09c26276bd7f699b45 /src
parent9649ff37ef15aae06d4020ce3b7210fa2aaf2a25 (diff)
parent210b764c03b736a6fe025b5fac030eec0350f0df (diff)
downloadzig-d94e061ade545f3fbdd4ab1a18f860b05050ebf6.tar.gz
zig-d94e061ade545f3fbdd4ab1a18f860b05050ebf6.zip
Merge pull request #25137 from alexrp/elf-gabi-4.3
ELF updates for gABI 4.3
Diffstat (limited to 'src')
-rw-r--r--src/link/Elf/Object.zig4
-rw-r--r--src/link/Elf/SharedObject.zig2
-rw-r--r--src/link/Elf/ZigObject.zig4
3 files changed, 5 insertions, 5 deletions
diff --git a/src/link/Elf/Object.zig b/src/link/Elf/Object.zig
index eddb5c90dd..9e1bd022ba 100644
--- a/src/link/Elf/Object.zig
+++ b/src/link/Elf/Object.zig
@@ -634,7 +634,7 @@ pub fn claimUnresolved(self: *Object, elf_file: *Elf) void {
const is_import = blk: {
if (!elf_file.isEffectivelyDynLib()) break :blk false;
- const vis = @as(elf.STV, @enumFromInt(esym.st_other));
+ const vis: elf.STV = @enumFromInt(@as(u3, @truncate(esym.st_other)));
if (vis == .HIDDEN) break :blk false;
break :blk true;
};
@@ -707,7 +707,7 @@ pub fn markImportsExports(self: *Object, elf_file: *Elf) void {
const file = sym.file(elf_file).?;
// https://github.com/ziglang/zig/issues/21678
if (@as(u16, @bitCast(sym.version_index)) == @as(u16, @bitCast(elf.Versym.LOCAL))) continue;
- const vis: elf.STV = @enumFromInt(sym.elfSym(elf_file).st_other);
+ const vis: elf.STV = @enumFromInt(@as(u3, @truncate(sym.elfSym(elf_file).st_other)));
if (vis == .HIDDEN) continue;
if (file == .shared_object and !sym.isAbs(elf_file)) {
sym.flags.import = true;
diff --git a/src/link/Elf/SharedObject.zig b/src/link/Elf/SharedObject.zig
index 9ce8c53b2c..8c79def16b 100644
--- a/src/link/Elf/SharedObject.zig
+++ b/src/link/Elf/SharedObject.zig
@@ -357,7 +357,7 @@ pub fn markImportExports(self: *SharedObject, elf_file: *Elf) void {
const ref = self.resolveSymbol(@intCast(i), elf_file);
const ref_sym = elf_file.symbol(ref) orelse continue;
const ref_file = ref_sym.file(elf_file).?;
- const vis = @as(elf.STV, @enumFromInt(ref_sym.elfSym(elf_file).st_other));
+ const vis: elf.STV = @enumFromInt(@as(u3, @truncate(ref_sym.elfSym(elf_file).st_other)));
if (ref_file != .shared_object and vis != .HIDDEN) ref_sym.flags.@"export" = true;
}
}
diff --git a/src/link/Elf/ZigObject.zig b/src/link/Elf/ZigObject.zig
index 93a78ea012..d103ff91db 100644
--- a/src/link/Elf/ZigObject.zig
+++ b/src/link/Elf/ZigObject.zig
@@ -617,7 +617,7 @@ pub fn claimUnresolved(self: *ZigObject, elf_file: *Elf) void {
const is_import = blk: {
if (!elf_file.isEffectivelyDynLib()) break :blk false;
- const vis = @as(elf.STV, @enumFromInt(esym.st_other));
+ const vis: elf.STV = @enumFromInt(@as(u3, @truncate(esym.st_other)));
if (vis == .HIDDEN) break :blk false;
break :blk true;
};
@@ -695,7 +695,7 @@ pub fn markImportsExports(self: *ZigObject, elf_file: *Elf) void {
const file = sym.file(elf_file).?;
// https://github.com/ziglang/zig/issues/21678
if (@as(u16, @bitCast(sym.version_index)) == @as(u16, @bitCast(elf.Versym.LOCAL))) continue;
- const vis: elf.STV = @enumFromInt(sym.elfSym(elf_file).st_other);
+ const vis: elf.STV = @enumFromInt(@as(u3, @truncate(sym.elfSym(elf_file).st_other)));
if (vis == .HIDDEN) continue;
if (file == .shared_object and !sym.isAbs(elf_file)) {
sym.flags.import = true;