[all-commits] [llvm/llvm-project] e5aa4c: [lldb] Support Compact C Type Format (CTF) section
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Thu Jul 13 11:31:06 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e5aa4cff43239930f87ada9183720d4182daa8fa
https://github.com/llvm/llvm-project/commit/e5aa4cff43239930f87ada9183720d4182daa8fa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2023-07-13 (Thu, 13 Jul 2023)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Symbol/ObjectFile.cpp
Log Message:
-----------
[lldb] Support Compact C Type Format (CTF) section
Teach LLDB about the ctf (Compact C Type Format) section.
Differential revision: https://reviews.llvm.org/D154668
Commit: ee44310a48b7d14336de75e170110e2fea90842b
https://github.com/llvm/llvm-project/commit/ee44310a48b7d14336de75e170110e2fea90842b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2023-07-13 (Thu, 13 Jul 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/CMakeLists.txt
A lldb/source/Plugins/SymbolFile/CTF/CMakeLists.txt
A lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
A lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.h
M lldb/test/API/CMakeLists.txt
A lldb/test/API/macosx/ctf/Makefile
A lldb/test/API/macosx/ctf/TestCTF.py
A lldb/test/API/macosx/ctf/test.c
Log Message:
-----------
[lldb] Support Compact C Type Format (CTF)
Add support for the Compact C Type Format (CTF) in LLDB. The format
describes the layout and sizes of C types. It is most commonly consumed
by dtrace.
We generate CTF for the XNU kernel and want to be able to use this in
LLDB to debug kernels for which we don't have dSYMs (anymore). CTF is a
much more limited debug format than DWARF which allows is to be an order
of magnitude smaller: a 1GB dSYM can be converted to a handful of
megabytes of CTF. For XNU, the goal is not to replace DWARF, but rather
to have CTF serve as a "better than nothing" debug info format when
DWARF is not available.
It's worth noting that the LLVM toolchain does not support emitting CTF.
XNU uses ctfconvert to generate CTF from DWARF which is used for
testing.
Differential revision: https://reviews.llvm.org/D154862
Compare: https://github.com/llvm/llvm-project/compare/b8e29dbe5487...ee44310a48b7
More information about the All-commits
mailing list