[all-commits] [llvm/llvm-project] 70f3c6: [lld][WebAssembly] Delay the merging of data secti...

Sam Clegg via All-commits all-commits at lists.llvm.org
Thu Feb 11 10:54:45 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 70f3c6e9e6b8a0e5efc7cbf8997df32156ea9536
      https://github.com/llvm/llvm-project/commit/70f3c6e9e6b8a0e5efc7cbf8997df32156ea9536
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2021-02-11 (Thu, 11 Feb 2021)

  Changed paths:
    M lld/test/wasm/data-segments.ll
    M lld/test/wasm/tls-no-shared.s
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/MapFile.cpp
    M lld/wasm/OutputSegment.h
    M lld/wasm/Symbols.cpp
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Delay the merging of data section when dynamic linking

With dynamic linking we have the current limitation that there can be
only a single active data segment (since we use __memory_base as the
load address and we can't do arithmetic in constant expresions).

This change delays the merging of active segments until a little later
in the linking process which means that the grouping of data by section,
and the magic __start/__end symbols work as expected under dynamic
linking.

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




More information about the All-commits mailing list