[all-commits] [llvm/llvm-project] 1eb79e: [lld][WebAssembly] Initialize bss segments using m...

Sam Clegg via All-commits all-commits at lists.llvm.org
Thu Oct 28 17:24:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1eb79e732c47386258e04c4b59a78047c422c0f4
      https://github.com/llvm/llvm-project/commit/1eb79e732c47386258e04c4b59a78047c422c0f4
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2021-10-28 (Thu, 28 Oct 2021)

  Changed paths:
    M lld/test/wasm/data-segments.ll
    A lld/test/wasm/shared-memory-bss.s
    M lld/test/wasm/tls.s
    M lld/wasm/Config.h
    M lld/wasm/OutputSections.cpp
    M lld/wasm/OutputSegment.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/include/llvm/BinaryFormat/Wasm.h

  Log Message:
  -----------
  [lld][WebAssembly] Initialize bss segments using memory.fill

Previously we were relying on the dynamic loader to take care of this
but it simple and correct for us to do it here instead.

Now we initialize bss segments as part of `__wasm_init_memory` at the
same time we initialize passive segments.

In addition we extent the us of `__wasm_init_memory` outside of shared
memory situations.  Specifically it is now used to initialize bss
segments when the memory is imported.

Differential Revision: https://reviews.llvm.org/D112667




More information about the All-commits mailing list