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

Alex Bradbury via All-commits all-commits at lists.llvm.org
Sun Mar 26 20:40:14 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 91c6174ce35969d7f0d73c645fa47b813e0d99d3
      https://github.com/llvm/llvm-project/commit/91c6174ce35969d7f0d73c645fa47b813e0d99d3
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-03-27 (Mon, 27 Mar 2023)

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

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

This Moves ELFObjectFile to using
RISCVISAInfo::parseNormalizedArchString which is not an NFC, as the test
changes show. D144353 transitioned LLD to using this function, which is
specialised to parsing arch strings in the normalised format specified
in the psABI rather than user-authored strings accepted in `-march`,
which has greater flexibility.

parseNormalizedArchString 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.

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




More information about the All-commits mailing list