mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-02 07:43:42 +08:00
Emit unwinding code for textual LLVM and assembly output on Linux
This commit is contained in:
@@ -809,6 +809,9 @@ async function prepareExecutableInput(
|
||||
pointerBits: buildPlatform === "wasi" ? 32 : 64,
|
||||
wasi: buildPlatform === "wasi",
|
||||
runtimeAbiMarker: outputKind === "obj",
|
||||
// Textual output shows the code an executable gets; objects keep
|
||||
// the pending flag, since their link may not add an unwinder.
|
||||
unwindAbi: buildPlatform === "linux" && outputKind !== "obj",
|
||||
objectAudit: opts.sanitize === true,
|
||||
lowRegion: lowRegionTarget(buildPlatform, opts.sanitize === true),
|
||||
...(opts.sanitize === true ? { wasmBoundsChecks: true } : {}),
|
||||
|
||||
@@ -408,7 +408,11 @@ export function prepareNativeExecutable(
|
||||
pointerBits: toolchain.target.pointerBits,
|
||||
wasi: toolchain.target.platform === "wasi",
|
||||
runtimeAbiMarker: outputKind === "obj" || outputKind === "exe",
|
||||
unwindAbi: outputKind === "exe" && toolchain.target.platform === "linux",
|
||||
// As for the Node-hosted build: executables and their textual
|
||||
// LLVM and assembly, not objects.
|
||||
unwindAbi:
|
||||
(outputKind === "exe" || outputKind === "llvm" || outputKind === "asm") &&
|
||||
toolchain.target.platform === "linux",
|
||||
objectAudit: options.sanitize === true,
|
||||
lowRegion: lowRegionTarget(toolchain.target.platform, options.sanitize === true),
|
||||
functionWorkers: emitWorkers(),
|
||||
|
||||
Reference in New Issue
Block a user