From f0ee4f2251f02bdba1243a39f5c1ea639b86c4df Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 26 Dec 2023 20:52:06 +0000 Subject: Set correct linker flags for wasm64 --- .../org/shedlang/compiler/backends/wasm/WasmBackend.java | 2 ++ .../org/shedlang/compiler/backends/wasm/WasmTarget.java | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java index ba309994..cf30d1c7 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmBackend.java @@ -82,6 +82,8 @@ public class WasmBackend implements Backend { var ldArgs = new ArrayList(); ldArgs.add("wasm-ld-16"); + ldArgs.addAll(this.target.linkerFlags()); + ldArgs.add("-o"); ldArgs.add(target.toString()); diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java index 7157e946..ac094c92 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmTarget.java @@ -1,16 +1,24 @@ package org.shedlang.compiler.backends.wasm; +import java.util.List; + public enum WasmTarget { - WASM32("wasm32"), - WASM64("wasm64"); + WASM32("wasm32", List.of()), + WASM64("wasm64", List.of("-mwasm64")); private final String targetName; + private final List linkerFlags; - WasmTarget(String name) { + WasmTarget(String name, List linkerFlags) { this.targetName = name; + this.linkerFlags = linkerFlags; } public String targetName() { return targetName; } + + public List linkerFlags() { + return linkerFlags; + } } -- cgit v1.2.3