[all-commits] [llvm/llvm-project] f6a4df: [WebAssembly] Covert llvm/test/MC/WebAssembly/relo...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Mon Mar 7 14:46:55 PST 2022


  Branch: refs/heads/release/14.x
  Home:   https://github.com/llvm/llvm-project
  Commit: f6a4df3a0a3d570c65231187a730595b1cf8dc71
      https://github.com/llvm/llvm-project/commit/f6a4df3a0a3d570c65231187a730595b1cf8dc71
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2022-03-07 (Mon, 07 Mar 2022)

  Changed paths:
    M llvm/test/CodeGen/WebAssembly/call-indirect.ll
    R llvm/test/MC/WebAssembly/reloc-code.ll
    A llvm/test/MC/WebAssembly/reloc-code.s

  Log Message:
  -----------
  [WebAssembly] Covert llvm/test/MC/WebAssembly/reloc-code.ll to asm. NFC

Also increase coverage of call_indirect via explict function table
(enabled when reference types is enabled) in
llvm/test/CodeGen/WebAssembly/call-indirect.ll (I believe this
was an oversight that it was not added in https://reviews.llvm.org/D90948)

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

(cherry picked from commit db7b1af8ef8f59600cbb6e529164acdbe4c8f0a2)


  Commit: e6d2aa9b0f131a141166d1d90560f1a2d1d9ec5c
      https://github.com/llvm/llvm-project/commit/e6d2aa9b0f131a141166d1d90560f1a2d1d9ec5c
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2022-03-07 (Mon, 07 Mar 2022)

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

  Log Message:
  -----------
  [MC][WebAssembly] Fix crash when relocation addend underlows U32

For the object file writer we need to allow the underflow (ar write
zero), but for the final linker output we should probably generate an
error (I've left that as a TODO for now).

Fixes: https://github.com/llvm/llvm-project/issues/54012

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

(cherry picked from commit 4c75521ce0b1ac55fba1a91ef5156fc811f5dfcb)


  Commit: 43b4544023b73d334b5f60edaf7e1dcce4c75d3f
      https://github.com/llvm/llvm-project/commit/43b4544023b73d334b5f60edaf7e1dcce4c75d3f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-03-07 (Mon, 07 Mar 2022)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/sort-debug.test

  Log Message:
  -----------
  [LLD] [COFF] Order .debug_* sections at the end, to avoid leaving gaps if stripped

So far, we sort all discardable sections at the end, with only some
extra logic to make sure that the .reloc section is at the start
of that group of sections. But if there are other discardable
sections, other than .reloc, they must also be ordered before
.debug_* sections, to avoid leaving gaps if the executable is
stripped.

(Stripping executables doesn't remove all discardable sections,
only the ones named .debug_*).

Rust binaries seem to include a .rmeta section, which is marked
discardable. This fixes stripping such binaries if built with
dwarf debug info included.

This fixes issues observed in MSYS2 in
https://github.com/msys2/MINGW-packages/pull/10555.

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

(cherry picked from commit 4c3b74b7f5d6192d1731c88f1aeb396bc51d4949)


Compare: https://github.com/llvm/llvm-project/compare/9d54fe21c67f...43b4544023b7


More information about the All-commits mailing list