Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5 |
|
#
fd4399cb |
| 23-Apr-2024 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Fix crash in SymbolFileCTF::ParseFunctions (#89845)
Make SymbolFileCTF::ParseFunctions resilient against not being able to
resolve the argument or return type of a function. ResolveTypeUID c
[lldb] Fix crash in SymbolFileCTF::ParseFunctions (#89845)
Make SymbolFileCTF::ParseFunctions resilient against not being able to
resolve the argument or return type of a function. ResolveTypeUID can
fail for a variety of reasons so we should always check its result.
The type that caused the crash was `_Bool` which we didn't recognize
as a basic type. This commit also fixes the underlying issue and adds
a test.
rdar://126943722
show more ...
|
Revision tags: llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2 |
|
#
12f3d97f |
| 30-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Support recursive record types in CTF
Support recursive record types in CTF, for example a struct that contains a pointer to itself:
struct S { struct S *n; };
We are now more lazy
[lldb] Support recursive record types in CTF
Support recursive record types in CTF, for example a struct that contains a pointer to itself:
struct S { struct S *n; };
We are now more lazy when creating LLDB types. When encountering a record type (struct or union) we create a forward declaration and only complete it when requested.
Differential revision: https://reviews.llvm.org/D156498
show more ...
|
#
b9867df6 |
| 29-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Fix CTF parsing of large structs
Fix parsing of large structs. If the size of a struct exceeds a certain threshold, the offset is encoded using two 32-bit integers instead of one.
Differenti
[lldb] Fix CTF parsing of large structs
Fix parsing of large structs. If the size of a struct exceeds a certain threshold, the offset is encoded using two 32-bit integers instead of one.
Differential revision: https://reviews.llvm.org/D156490
show more ...
|
Revision tags: llvmorg-17.0.0-rc1 |
|
#
0a5e0d3f |
| 27-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Split CTF parsing and type creation (NFC)
Separate parsing CTF and creating LLDB types. This is a prerequisite to parsing forward references and recursive types.
Differential revision: https
[lldb] Split CTF parsing and type creation (NFC)
Separate parsing CTF and creating LLDB types. This is a prerequisite to parsing forward references and recursive types.
Differential revision: https://reviews.llvm.org/D156447
show more ...
|
Revision tags: llvmorg-18-init |
|
#
b716d4e5 |
| 13-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Move decorators to test method
Make sure TestCTF only run on Darwin when ctfconvert and llvm-objdump are available.
|
#
0e285a13 |
| 13-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb] Support compressed CTF
Add support for compressed CTF data. The flags in the header can indicate whether the CTF body is compressed with zlib deflate. This patch supports inflating the data b
[lldb] Support compressed CTF
Add support for compressed CTF data. The flags in the header can indicate whether the CTF body is compressed with zlib deflate. This patch supports inflating the data before parsing.
Differential revision: https://reviews.llvm.org/D155221
show more ...
|
#
ee44310a |
| 10-Jul-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[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
[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
show more ...
|