diff --git a/Sources/SwiftDriver/Jobs/WebAssemblyToolchain+LinkerSupport.swift b/Sources/SwiftDriver/Jobs/WebAssemblyToolchain+LinkerSupport.swift index 9b1b6d804..0e4e31e02 100644 --- a/Sources/SwiftDriver/Jobs/WebAssemblyToolchain+LinkerSupport.swift +++ b/Sources/SwiftDriver/Jobs/WebAssemblyToolchain+LinkerSupport.swift @@ -170,7 +170,9 @@ extension WebAssemblyToolchain { // workflows like Swift Testing can run within this limited stack space. let SWIFT_WASM_DEFAULT_STACK_SIZE = 1024 * 128 commandLine.appendFlag(.Xlinker) - commandLine.appendFlag("--stack-size=\(SWIFT_WASM_DEFAULT_STACK_SIZE)") + commandLine.appendFlag("-z") + commandLine.appendFlag(.Xlinker) + commandLine.appendFlag("stack-size=\(SWIFT_WASM_DEFAULT_STACK_SIZE)") // Delegate to Clang for sanitizers. It will figure out the correct linker // options. diff --git a/Tests/SwiftDriverTests/SwiftDriverTests.swift b/Tests/SwiftDriverTests/SwiftDriverTests.swift index d59e6608c..2d6ba8be6 100644 --- a/Tests/SwiftDriverTests/SwiftDriverTests.swift +++ b/Tests/SwiftDriverTests/SwiftDriverTests.swift @@ -2766,7 +2766,7 @@ final class SwiftDriverTests: XCTestCase { XCTAssertTrue(cmd.contains(.responseFilePath(.absolute(path.appending(components: "wasi", "static-executable-args.lnk"))))) XCTAssertTrue(cmd.contains(subsequence: [.flag("-Xlinker"), .flag("--global-base=4096")])) XCTAssertTrue(cmd.contains(subsequence: [.flag("-Xlinker"), .flag("--table-base=4096")])) - XCTAssertTrue(cmd.contains(subsequence: [.flag("-Xlinker"), .flag("--stack-size=\(128 * 1024)")])) + XCTAssertTrue(cmd.contains(subsequence: [.flag("-Xlinker"), .flag("-z"), .flag("-Xlinker"), .flag("stack-size=\(128 * 1024)")])) XCTAssertTrue(cmd.contains(.flag("-O3"))) XCTAssertEqual(linkJob.outputs[0].file, try toPath("Test"))