Skip to content

Commit

Permalink
fix missing missing entry symbol error when no zcu
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewrk committed Dec 24, 2024
1 parent a00d913 commit 26c93f4
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/link/Wasm/Flush.zig
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
const is_obj = comp.config.output_mode == .Obj;
const allow_undefined = is_obj or wasm.import_symbols;

const entry_name = if (wasm.entry_resolution.isNavOrUnresolved(wasm)) wasm.entry_name else .none;

if (comp.zcu) |zcu| {
const ip: *const InternPool = &zcu.intern_pool; // No mutations allowed!

Expand All @@ -88,8 +90,6 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
}
}

const entry_name = if (wasm.entry_resolution.isNavOrUnresolved(wasm)) wasm.entry_name else .none;

for (wasm.nav_exports.keys()) |*nav_export| {
if (ip.isFunctionType(ip.getNav(nav_export.nav_index).typeOf(ip))) {
log.debug("flush export '{s}' nav={d}", .{ nav_export.name.slice(wasm), nav_export.nav_index });
Expand All @@ -115,13 +115,13 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void {
for (f.missing_exports.keys()) |exp_name| {
diags.addError("manually specified export name '{s}' undefined", .{exp_name.slice(wasm)});
}
}

if (entry_name.unwrap()) |name| {
if (wasm.entry_resolution == .unresolved) {
var err = try diags.addErrorWithNotes(1);
try err.addMsg("entry symbol '{s}' missing", .{name.slice(wasm)});
err.addNote("'-fno-entry' suppresses this error", .{});
}
if (entry_name.unwrap()) |name| {
if (wasm.entry_resolution == .unresolved) {
var err = try diags.addErrorWithNotes(1);
try err.addMsg("entry symbol '{s}' missing", .{name.slice(wasm)});
err.addNote("'-fno-entry' suppresses this error", .{});
}
}

Expand Down

0 comments on commit 26c93f4

Please sign in to comment.