Skip to content
Snippets Groups Projects
  • Cherry Mui's avatar
    0b1494f5
    cmd/link, runtime: support library mode on wasip1 · 0b1494f5
    Cherry Mui authored
    This CL adds support of "library", i.e. c-shared, build mode on
    wasip1. When -buildmode=c-shared is set, it builds a Wasm module
    that is intended to be used as a library, instead of an executable.
    It does not have the _start function. Instead, it has an
    _initialize function, which initializes the runtime, but not call
    the main function.
    
    This is similar to the c-shared build mode on other platforms. One
    difference is that unlike cgo callbacks, where Ms are created on-
    demand, on Wasm we have only one M, so we just keep the M (and the
    G) for callbacks.
    
    For #65199.
    
    Change-Id: Ieb21da96b25c1a9f3989d945cddc964c26f9085b
    Reviewed-on: https://go-review.googlesource.com/c/go/+/604316
    
    
    Reviewed-by: default avatarAchille Roussel <achille.roussel@gmail.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: default avatarMichael Knyszek <mknyszek@google.com>
    0b1494f5
    History
    cmd/link, runtime: support library mode on wasip1
    Cherry Mui authored
    This CL adds support of "library", i.e. c-shared, build mode on
    wasip1. When -buildmode=c-shared is set, it builds a Wasm module
    that is intended to be used as a library, instead of an executable.
    It does not have the _start function. Instead, it has an
    _initialize function, which initializes the runtime, but not call
    the main function.
    
    This is similar to the c-shared build mode on other platforms. One
    difference is that unlike cgo callbacks, where Ms are created on-
    demand, on Wasm we have only one M, so we just keep the M (and the
    G) for callbacks.
    
    For #65199.
    
    Change-Id: Ieb21da96b25c1a9f3989d945cddc964c26f9085b
    Reviewed-on: https://go-review.googlesource.com/c/go/+/604316
    
    
    Reviewed-by: default avatarAchille Roussel <achille.roussel@gmail.com>
    LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
    Reviewed-by: default avatarMichael Knyszek <mknyszek@google.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.