[all-commits] [llvm/llvm-project] 37f422: [WebAssembly] Use GeneralDynamic TLS for exception...

Sam Clegg via All-commits all-commits at lists.llvm.org
Mon Feb 14 14:09:15 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 37f422f4ac31c8b8041c6b62065263314282dab6
      https://github.com/llvm/llvm-project/commit/37f422f4ac31c8b8041c6b62065263314282dab6
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2022-02-14 (Mon, 14 Feb 2022)

  Changed paths:
    M lld/test/wasm/relocation-bad-tls.s
    M lld/wasm/Relocations.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll

  Log Message:
  -----------
  [WebAssembly] Use GeneralDynamic TLS for exception handling builtins.

These global TLS symbols are shared across all shared libraries and
therefor should not be assumed to be local to the current module.

Also add new error in the linker when TLS relocations are used against
undefined symbols.  TLS relocations are offsets into the current modules
tls data segment, and don't make sense for undefined symbols which are
modeled as global imports.

Fixes: https://github.com/emscripten-core/emscripten/issues/13398

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




More information about the All-commits mailing list