| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[LLDB][NativePDB] Add MSInheritanceAttr when creating pointer type that is a pointer to member. Differential Revision: https://reviews.llvm.org/D129807 | 4 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[LLDB] Fix broken testsuite due to Xfail decorators Following test cases need minor adjustment in order to accomodate xfail decorator: lldb/test/Shell/SymbolFile/NativePDB/break-by-line.cpp lldb/test/Shell/SymbolFile/NativePDB/source-list.cpp | 6 年前 | |
[LLDB][NativePDB] Fix struct layout when it has anonymous unions. Previously, lldb mistook fields in anonymous union in a struct as the direct field of the struct, which causes lldb crashes due to multiple fields sharing the same offset in a struct. This patch fixes it. MSVC generated pdb doesn't have the debug info entity representing a anonymous union in a struct. It looks like the following: `` struct S { union { char c; int i; }; }; 0x1004 | LF_FIELDLIST [size = 40] - LF_MEMBER [name = c, Type = 0x0070 (char), offset = 0, attrs = public] - LF_MEMBER [name = i, Type = 0x0074 (int), offset = 0, attrs = public] 0x1005 | LF_STRUCTURE [size = 32] S unique name: .?AUS@@ vtable: <no type>, base list: <no type>, field list: 0x1004 Clang generated pdb is similar, though due to the [[ https://github.com/llvm/llvm-project/issues/57999 | bug ]], it's not more useful than the debug info above. But that's not very relavent, lldb should still be able to understand MSVC geneerated pdb. 0x1003 | LF_UNION [size = 60] S::<unnamed-tag> unique name: .?AT<unnamed-type-$S1>@S@@ field list: <no type> options: forward ref (= 0x1003) | has unique name | is nested, sizeof 0 0x1004 | LF_FIELDLIST [size = 40] - LF_MEMBER [name = c, Type = 0x0070 (char), offset = 0, attrs = public] - LF_MEMBER [name = i, Type = 0x0074 (int), offset = 0, attrs = public] - LF_NESTTYPE [name = , parent = 0x1003] 0x1005 | LF_STRUCTURE [size = 32] S unique name: .?AUS@@ vtable: <no type>, base list: <no type>, field list: 0x1004 options: contains nested class | has unique name, sizeof 4 0x1006 | LF_FIELDLIST [size = 28] - LF_MEMBER [name = c, Type = 0x0070 (char), offset = 0, attrs = public] - LF_MEMBER [name = i, Type = 0x0074 (int), offset = 0, attrs = public] 0x1007 | LF_UNION [size = 60] S::<unnamed-tag> unique name: .?AT<unnamed-type-$S1>@S@@ field list: 0x1006 options: has unique name | is nested | sealed, sizeof `` This patch delays the FieldDecl creation when travesing LF_FIELDLIST so we know if there are multiple fields are in the same offsets and are able to group them into different anonymous unions based on offsets. Nested anonymous union will be flatten into one anonymous union, because we simply don't have that info, but they are equivalent in terms of union layout. Differential Revision: https://reviews.llvm.org/D134849 | 3 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[LLDB][NativePDB] Forcefully complete a record type if it has empty debug info and is required to have complete type. It's required in following situations: 1. As a base class. 2. As a data member. 3. As an array element type. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D134066 | 3 年前 | |
[LLDB][NativePDB] Fix inline line info in line table It fixes the following case: 0602 line 1 (+1) 0315 code 0x15 (+0x15) 0B2B code 0x20 (+0xB) line 2 (+1) 0602 line 3 (+1) 0311 code 0x31 (+0x11) ... Inline ranges should have following mapping: [0x15, 0x20) -> line 1 [0x20, 0x31) -> line 2 Inline line entries: 0x15, line 1, 0x20, line 2, 0x31, line 3. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D123092 | 4 年前 | |
[LLDB][NativePDB] Fix inline line info in line table It fixes the following case: 0602 line 1 (+1) 0315 code 0x15 (+0x15) 0B2B code 0x20 (+0xB) line 2 (+1) 0602 line 3 (+1) 0311 code 0x31 (+0x11) ... Inline ranges should have following mapping: [0x15, 0x20) -> line 1 [0x20, 0x31) -> line 2 Inline line entries: 0x15, line 1, 0x20, line 2, 0x31, line 3. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D123092 | 4 年前 | |
[lldb][test] Replace use of p with expression in Shell tests (NFC) In Shell tests, replace use of the p alias with the expression command. To avoid conflating tests of the alias with tests of the expression command, this patch canonicalizes to the use expression. See also D141539 which made the same change to API tests. Differential Revision: https://reviews.llvm.org/D146230 | 3 年前 | |
[LLDB][NativePDB] Switch to use DWARFLocationList. Before, NativePDB uses scoped range as a workaround for value range, that causes problems (e.g. a variable's value can only have one range, but usually a variable's value is located at different address ranges, each at different locations, in optimized build). This patch let NativePDB switch to DWARFLocationList so a variable's value can be described at multiple non-overlapped address ranges and each range maps to a location. Because overlapping ranges exists, here's peference when choosing ranges: 1. Always prefer whole value locations. Suppose a variable size is 8 bytes, one record is that for range [1, 5) first 4 bytes is at ecx, and another record is that for range [2, 8) the 8 bytes value is at rdx. This results: [1, 2) has first 4 bytes at ecx, [2, 8) has the whole value at rdx. 2. Always prefer the locations parsed later. Suppose first record is that for range [1, 5) value is at ecx, second record is that for range [2, 6) value is at eax. This results: [1, 2) -> ecx, [2, 6) -> eax. Differential Revision: https://reviews.llvm.org/D130796 | 3 年前 | |
[lldb][test] Replace use of p with expression in Shell tests (NFC) In Shell tests, replace use of the p alias with the expression command. To avoid conflating tests of the alias with tests of the expression command, this patch canonicalizes to the use expression. See also D141539 which made the same change to API tests. Differential Revision: https://reviews.llvm.org/D146230 | 3 年前 | |
[LLDB] Improve PDB discovery When loading a PE/COFF target, the associated PDB file often wasn't found. The executable module contains a path for the associated PDB file, but people often debug from a different directory than the one their build system uses. (This is especially common in post-mortem and cross platform debugging.) Suppose the COFF executable being debugged is ~/proj/foo.exe, but it was built elsewhere and refers to D:\remote\build\env\foobar.pdb, LLDB wouldn't find it. With this change, if no file exists at the PDB path, LLDB will look in the executable directory for a PDB file that matches the name of the one it expected (e.g., ~/proj/foobar.pdb). If found, the PDB is subject to the same matching criteria (GUIDs and age) as would have been used had it been in the original location. This same-directory-as-the-binary rule is commonly used by debuggers on Windows. Differential Review: https://reviews.llvm.org/D84815 | 5 年前 | |
[LLDB][NativePDB] Don't complete static members' types when completing a record type. UdtRecordCompleter shouldn't complete static members' types. static members' types are going to be completed when the types are called in SymbolFile::CompleteType. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D121030 | 4 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 | |
[LLDB][NativePDB] Fix a crash when S_DEFRANGE_SUBFIELD_REGISTER descirbes a simple type When a variable is simple type and has 64 bits, the debug info may look like the following when targeting 32bit windows. The variable's content is split into two 32bits registers. `` 480 | S_LOCAL [size = 12] x type=0x0013 (__int64), flags = param 492 | S_DEFRANGE_SUBFIELD_REGISTER [size = 20] register = EAX, may have no name = true, offset in parent = 0 range = [0001:0073,+7), gaps = [] 512 | S_DEFRANGE_SUBFIELD_REGISTER [size = 20] register = ECX, may have no name = true, offset in parent = 4 range = [0001:0073,+7), gaps = [] `` Reviewed By: labath Differential Revision: https://reviews.llvm.org/D122943 | 4 年前 | |
Re-land "[test] Split LLDB tests into API, Shell & Unit" The original patch got reverted because it broke check-lldb on a clean build. This fixes that. llvm-svn: 374201 | 6 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 6 年前 |