authorgravatar for luuk@degram.devLuuk de Gram <luuk@degram.dev> 2023-04-12 18:02:09+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-14 15:18:18-04:00
log61c08d3c7e75a8d8df50bb836bb8fa2691d49cd8
treef6e7ef9b996a19e89e589b24036675a9181e83e4
parente0890734f0a4d9562d4561abc53d65b7d98f94c3

fix zig cc linker flags for Wasm

Closes #15258

1 files changed, 17 insertions(+), 10 deletions(-)

src/main.zig+17-10
......@@ -1425,7 +1425,7 @@ fn buildOutputType(
14251425 linker_initial_memory = parseIntSuffix(arg, "--initial-memory=".len);
14261426 } else if (mem.startsWith(u8, arg, "--max-memory=")) {
14271427 linker_max_memory = parseIntSuffix(arg, "--max-memory=".len);
1428 } else if (mem.startsWith(u8, arg, "--shared-memory")) {
1428 } else if (mem.eql(u8, arg, "--shared-memory")) {
14291429 linker_shared_memory = true;
14301430 } else if (mem.startsWith(u8, arg, "--global-base=")) {
14311431 linker_global_base = parseIntSuffix(arg, "--global-base=".len);
......@@ -1959,16 +1959,23 @@ fn buildOutputType(
19591959 linker_import_table = true;
19601960 } else if (mem.eql(u8, arg, "--export-table")) {
19611961 linker_export_table = true;
1962 } else if (mem.startsWith(u8, arg, "--initial-memory=")) {
1963 linker_initial_memory = parseIntSuffix(arg, "--initial-memory=".len);
1964 } else if (mem.startsWith(u8, arg, "--max-memory=")) {
1965 linker_max_memory = parseIntSuffix(arg, "--max-memory=".len);
1966 } else if (mem.startsWith(u8, arg, "--shared-memory")) {
1962 } else if (mem.eql(u8, arg, "--initial-memory")) {
1963 const next_arg = linker_args_it.nextOrFatal();
1964 linker_initial_memory = std.fmt.parseUnsigned(u32, eatIntPrefix(next_arg, 16), 16) catch |err| {
1965 fatal("unable to parse initial memory size '{s}': {s}", .{ next_arg, @errorName(err) });
1966 };
1967 } else if (mem.eql(u8, arg, "--max-memory")) {
1968 const next_arg = linker_args_it.nextOrFatal();
1969 linker_max_memory = std.fmt.parseUnsigned(u32, eatIntPrefix(next_arg, 16), 16) catch |err| {
1970 fatal("unable to parse max memory size '{s}': {s}", .{ next_arg, @errorName(err) });
1971 };
1972 } else if (mem.eql(u8, arg, "--shared-memory")) {
19671973 linker_shared_memory = true;
1968 } else if (mem.startsWith(u8, arg, "--global-base=")) {
1969 linker_global_base = parseIntSuffix(arg, "--global-base=".len);
1970 } else if (mem.startsWith(u8, arg, "--export=")) {
1971 try linker_export_symbol_names.append(arg["--export=".len..]);
1974 } else if (mem.eql(u8, arg, "--global-base")) {
1975 const next_arg = linker_args_it.nextOrFatal();
1976 linker_global_base = std.fmt.parseUnsigned(u32, eatIntPrefix(next_arg, 16), 16) catch |err| {
1977 fatal("unable to parse global base '{s}': {s}", .{ next_arg, @errorName(err) });
1978 };
19721979 } else if (mem.eql(u8, arg, "--export")) {
19731980 try linker_export_symbol_names.append(linker_args_it.nextOrFatal());
19741981 } else if (mem.eql(u8, arg, "--compress-debug-sections")) {