[all-commits] [llvm/llvm-project] 7c1a63: [MTE] [llvm-readobj] Add globals section parsing t...

Mitch Phillips via All-commits all-commits at lists.llvm.org
Wed Apr 12 10:24:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7c1a6319ca03298b5d76af6a814178bafe9f2eba
      https://github.com/llvm/llvm-project/commit/7c1a6319ca03298b5d76af6a814178bafe9f2eba
  Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
  Date:   2023-04-12 (Wed, 12 Apr 2023)

  Changed paths:
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/test/tools/llvm-readobj/ELF/AArch64/memtag.test
    M llvm/test/tools/llvm-readobj/ELF/machine-specific-section-types.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [MTE] [llvm-readobj] Add globals section parsing to --memtag

Global variables are described in a metadata table called
SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC. It's basically a ULEB-encoded skip
list with some other fancy encoding tricks to make it smaller. You can
see the ABI at
https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#83encoding-of-sht_aarch64_memtag_globals_dynamic

This extends readelf/readobj to understand these sections.

Reviewed By: pcc, MaskRay, jhenderson

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




More information about the All-commits mailing list