[all-commits] [llvm/llvm-project] aa7ada: [Object] Beginnings of SFrame parser and dumper (#...

Pavel Labath via All-commits all-commits at lists.llvm.org
Sun Jul 20 23:46:43 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: aa7ada1dfbe21a0c83474eb3de54e08eb607f8b8
      https://github.com/llvm/llvm-project/commit/aa7ada1dfbe21a0c83474eb3de54e08eb607f8b8
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-07-21 (Mon, 21 Jul 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/SFrame.h
    A llvm/include/llvm/BinaryFormat/SFrameConstants.def
    A llvm/include/llvm/Object/SFrameParser.h
    M llvm/lib/BinaryFormat/CMakeLists.txt
    A llvm/lib/BinaryFormat/SFrame.cpp
    M llvm/lib/Object/CMakeLists.txt
    A llvm/lib/Object/SFrameParser.cpp
    A llvm/test/tools/llvm-readobj/ELF/sframe-header.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.cpp
    M llvm/tools/llvm-readobj/ObjDumper.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp

  Log Message:
  -----------
  [Object] Beginnings of SFrame parser and dumper (#147294)

This PR adds the SFrameParser class and uses it from llvm-readobj to
dump the section contents. Currently, it only supports parsing the
SFrame section header. Other parts of the section will be added in
follow-up patches.

llvm-readobj uses the same sframe flag syntax as GNU readelf, but I have
not attempted match the output format of the tool. I'm starting with the
"llvm" output format because it's easier to generate and lets us
tweak the format to make it useful for testing the generation code. If
needed, support for the GNU format could be added by overriding this
functionality in the GNU ELF Dumper.

For more information, see the [sframe
specification](https://sourceware.org/binutils/wiki/sframe) and the
related
[RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list