Skip to content

Wasm targets should append lld --stack-first #4496

@fengb

Description

@fengb

By default, LLVM adopts this memory model:

|   Globals   |   <-- Stack   |   Heap -->  |++

This means when the stack runs out of space, it will start trampling over global memory before causing a stack overflow.

Appending --stack-first will flip where the stack and the globals are located, so stack overflow will error out immediately instead of corrupting globals.

Rust has made a similar decision: rustwasm/team#81 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedThis proposal is planned.arch-wasm32-bit and 64-bit WebAssemblycontributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.proposalThis issue suggests modifications. If it also has the "accepted" label then it is planned.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions