[all-commits] [llvm/llvm-project] 81443a: [WebAssembly] Add placeholders for R_WASM_TABLE_IN...

Sam Clegg via All-commits all-commits at lists.llvm.org
Fri May 29 10:58:09 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 81443ac1bc710c89565ea1bce0eb566bf2cacd0d
      https://github.com/llvm/llvm-project/commit/81443ac1bc710c89565ea1bce0eb566bf2cacd0d
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2020-05-29 (Fri, 29 May 2020)

  Changed paths:
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/test/MC/WebAssembly/reloc-pic.s

  Log Message:
  -----------
  [WebAssembly] Add placeholders for R_WASM_TABLE_INDEX_REL_SLEB relocations

Previously in the object format we punted on this and simply wrote
zeros (and didn't include the function in the elem segment).  With
this change we write a meaningful value which is the segment
relative table index of the associated function.

This matches the that wasm-ld produces in `-r` mode.  This inconsistency
between the output the MC object writer and the wasm-ld object
writer could cause warnings to be emitted when reading back in the
output of `wasm-ld -r`.  See:
https://github.com/emscripten-core/emscripten/issues/11217

This only applies to this one relocation type which is only generated
when compiling in PIC mode.

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




More information about the All-commits mailing list