[all-commits] [llvm/llvm-project] 7b1339: [RISCV] Allow llvm-objdump to disassemble objects ...

Alex Bradbury via All-commits all-commits at lists.llvm.org
Tue Apr 4 10:34:04 PDT 2023


  Branch: refs/heads/release/16.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b133944eb8912767b31695774ed018c52222177
      https://github.com/llvm/llvm-project/commit/7b133944eb8912767b31695774ed018c52222177
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-04-04 (Tue, 04 Apr 2023)

  Changed paths:
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Support/RISCVISAInfo.cpp
    A llvm/test/tools/llvm-objdump/ELF/RISCV/riscv-attributes.s
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Allow llvm-objdump to disassemble objects with unrecognised versions of known extensions

This Moves ELFObjectFile to using
RISCVISAInfo::parseNormalizedArchString which does not ignore or produce
an error for ISA extensions with a version that isn't
recognised/supported by LLVM. As current GCC is marking its objects with
a higher version of the A, F, and D extensions than LLVM (see [extension
versioning
discussion](https://discourse.llvm.org/t/rfc-resolving-issues-related-to-extension-versioning-in-risc-v/68472)
this massively improves the usability of llvm-objdump with such
binaries.

This patch is functionally a cherry-pick of
af602edf0ecb4e1d7de4ccce8ebe1be8bb53443d and
91c6174ce35969d7f0d73c645fa47b813e0d99d3, though I've constructed the
backport manually because other changes unrelated to this specific fix
make a direct cherry pick difficult.




More information about the All-commits mailing list