https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/92078
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -158,6 +160,15 @@ class ProcessElfCore : public
lldb_private::PostMortemProcess {
// Returns number of thread contexts stored in the core file
uint32_t GetNumThreadContexts();
+ // Populate gnu uuid for each NT_FILE entry
+ void UpdateBuildIdForNTFileEntries();
+
+
https://github.com/clayborg requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/92078
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
> > I forgot to ask, what is the motivation behind this change? Is there
> > something you can't do with the SBAPI right now or that is better expressed
> > with SBAddressRange and SBAddressRangeList?
>
> Yes, I want to add the following API:
>
> lldb::SBError
@@ -6410,12 +6410,20 @@ GetCoreFileSaveRangesStackOnly(Process ,
if (!reg_ctx_sp)
continue;
const addr_t sp = reg_ctx_sp->GetSP();
+const size_t red_zone = process.GetABI()->GetRedZoneSize();
lldb_private::MemoryRegionInfo sp_region;
if
https://github.com/clayborg requested changes to this pull request.
Change look good for the `GetCoreFileSaveRangesStackOnly`, but we want this to
work for the other two modes `modified-memory` and `full`. So we need to fix
`GetCoreFileSaveRangesFull` and `GetCoreFileSaveRangesDirtyOnly`.
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/92002
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,63 @@
+//===-- SBAddressRange.h *- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,63 @@
+//===-- SBAddressRange.h *- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,3 @@
+#include
+
+int main() { std::cout << "Hello World!" << std::endl; }
clayborg wrote:
No need to use here right? I would just do a simpler `main`:
```
int main() {
return 0;
}
```
(remove `#include` and use of `std::cout`). This will reduce
@@ -0,0 +1,130 @@
+
+//===-- SBAddressRangeList.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -219,6 +219,16 @@ lldb::SBAddress SBBlock::GetRangeEndAddress(uint32_t idx) {
return sb_addr;
}
+lldb::SBAddressRange SBBlock::GetRangeAtIndex(uint32_t idx) {
+ LLDB_INSTRUMENT_VA(this, idx);
+
+ lldb::SBAddressRange sb_range;
+ if (m_opaque_ptr) {
+
@@ -0,0 +1,58 @@
+//===-- SBAddressRangeList.h *- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,78 @@
+//===-- SBAddressRange.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,78 @@
+//===-- SBAddressRange.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -52,6 +53,8 @@ class LLDB_API SBBlock {
lldb::SBAddress GetRangeEndAddress(uint32_t idx);
+ lldb::SBAddressRange GetRangeAtIndex(uint32_t idx);
+
clayborg wrote:
Use `SBAddressRangeList` here:
```
SBAddressRangeList GetRanges();
```
@@ -0,0 +1,78 @@
+//===-- SBAddressRange.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,58 @@
+//===-- SBAddressRangeList.h *- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
@@ -0,0 +1,63 @@
+//===-- SBAddressRange.h *- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier:
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/92014
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/92014
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
I’ve been too stunned to find the words today – but you have all said it so
beautifully. I had heard so much about Lou, the mysterious yoga teacher who
had swept Claire off her feet and blazed all sorts of new trails with her in
New Zealand, before meeting him at the 2015 reunion, and he was
Revert "drm/nouveau/firmware: Fix SG_DEBUG error with nvkm_firmware_ctor()"
a222a6470d7eea91193946e8162066fa88da64c2
The errors I reported are the same as those quoted in the pull request for the
revert.
On 13/05/2024 08:43, Jani Nikula wrote:
> On Sat, 11 May 2024, Chris Clayton
On 08/05/2024 20:38, Chris Clayton wrote:
>
>
> On 08/05/2024 16:54, Daniel Vetter wrote:
>> On Wed, May 08, 2024 at 09:02:02AM +0100, Chris Clayton wrote:
>>> Hi,
>>>
>>> I'm running the latest development kernel - 6.9.0-rc7+ (HEAD is
&g
https://github.com/clayborg requested changes to this pull request.
We should make this thread safe. It can only help and this isn't an API which
gets called all of the time, so performance isn't an issue. A few inline
comments
https://github.com/llvm/llvm-project/pull/89868
@@ -731,8 +747,11 @@ class Debugger : public
std::enable_shared_from_this,
lldb::TargetSP m_dummy_target_sp;
Diagnostics::CallbackID m_diagnostics_callback_id;
- lldb_private::DebuggerDestroyCallback m_destroy_callback = nullptr;
- void *m_destroy_callback_baton =
@@ -1689,35 +1689,56 @@ void
SBDebugger::SetLoggingCallback(lldb::LogOutputCallback log_callback,
void SBDebugger::SetDestroyCallback(
lldb::SBDebuggerDestroyCallback destroy_callback, void *baton) {
LLDB_INSTRUMENT_VA(this, destroy_callback, baton);
+
if
@@ -1689,35 +1689,56 @@ void
SBDebugger::SetLoggingCallback(lldb::LogOutputCallback log_callback,
void SBDebugger::SetDestroyCallback(
lldb::SBDebuggerDestroyCallback destroy_callback, void *baton) {
LLDB_INSTRUMENT_VA(this, destroy_callback, baton);
+
if
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/89868
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
> we should probably fix the underlying issue instead: #77696
We still have binaries that are floating around for now that contain this issue
and this was causing crashes. So it would be nice to fix this in LLDB for now
and back this out after we have a stable and trustable
clayborg wrote:
> we should probably fix the underlying issue instead: #77696
This is one fix that is needed. Quoted from an e-mail chain:
> I need to find my notes from those days, but I don't think we did. As Greg
> points out, the standard forbids forward declarations in debug_names;
clayborg wrote:
> The change/explanation looks intuitive, but I remember having seen DIE entry
> with `DW_AT_declaration (true)` but is not a forward declaration (it is a
> definition and has other attributes) . Will we cause regression in that case?
No, it is ok for `DW_AT_declaration(true)`
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/91808
>From 0cc1be6988e6ab5498151f32485f525a66133be2 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Fri, 10 May 2024 13:49:22 -0700
Subject: [PATCH] Improve performance of .debug_names lookups when
DW_IDX_par
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/91808
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
he .debug_names table will point to the DIE at offset 0x0090cdd5. These
entries cause our type lookups to try and parse a TON of forward declarations
and waste time and resources.
This fix makes sure when/if we find an entry in the .debug_names table, we
don't process it if it has a DW_AT_declaration
@@ -2343,7 +2343,10 @@ bool DWARFASTParserClang::CompleteTypeFromDWARF(const
DWARFDIE ,
// clang::ExternalASTSource queries for this type.
m_ast.SetHasExternalStorage(clang_type.GetOpaqueQualType(), false);
- if (!die)
+ ParsedDWARFTypeAttributes attrs(die);
+ bool
https://github.com/clayborg approved this pull request.
This does fix things on your side. I will take care of a new PR for not
searching all definition DIEs from the .debug_names.
https://github.com/llvm/llvm-project/pull/91799
___
lldb-commits
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/91799
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg commented:
Let me verify this works. I would also like this to fix:
```
bool DebugNamesDWARFIndex::ProcessEntry(
const DebugNames::Entry ,
llvm::function_ref callback) {
std::optional ref = ToDIERef(entry);
if (!ref)
return true;
SymbolFileDWARF =
clayborg wrote:
See the `/// <<< newly added for fix` comments for the new lines
https://github.com/llvm/llvm-project/pull/90663
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
Ok, I found the issue. `.debug_names` tables with `DW_IDX_parent` entries,
might contain tons of entries for forward declared classes because in my
example `std::ios_base` is the parent declaration context for `seekdir`,
`openmode`, and `iostate` so `.debug_names` entries for
clayborg wrote:
Is `SymbolFileDWARF::CompleteType(...)` responsible for trying to find a
non-declaration DIE first? The issue might arise from having a .debug_names
table that has `DW_IDX_parent` entries that means that there might be forward
declarations included in the DWARF index.
clayborg wrote:
This is causing a clang assertion due:
```
(lldb) type lookup std::ios_base
Assertion failed: (DD && "queried property of class with no definition"),
function data, file DeclCXX.h, line 464.
bt
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program
@@ -147,96 +148,111 @@ class ProcessInstanceInfo : public ProcessInfo {
ProcessInstanceInfo() = default;
ProcessInstanceInfo(const char *name, const ArchSpec , lldb::pid_t pid)
- : ProcessInfo(name, arch, pid), m_euid(UINT32_MAX), m_egid(UINT32_MAX),
-
clayborg wrote:
If your register has fields, you can set its format to be eFormatEnum by
default. Each register defines how it gets displayed when we query the dynamic
register information from the `lldb-server` or `debugserver`
https://github.com/llvm/llvm-project/pull/90059
https://github.com/clayborg requested changes to this pull request.
So each `ValueObject` has the ability to show its value as an enumeration if
its format is set to `eFormatEnum`. If the format is set to `eFormatHex`,
`eFormatUnsigned`, or `eFormatSigned`, then we show the numeric value.
@@ -144,6 +144,19 @@ class ProcessInstanceInfo : public ProcessInfo {
long int tv_usec = 0;
};
+ enum class ProcessState {
+Unknown,
+Dead,
+DiskSleep,
+Idle,
+Paging,
+Parked,
+Running,
+Sleeping,
+TracedOrStopped,
+Zombie,
+
@@ -12,6 +12,9 @@
#include "lldb/Utility/ProcessInfo.h"
#include "gtest/gtest.h"
+#include
+#include
clayborg wrote:
This is fine if this is a host test, so nothing needs to be done. We are
expecting linux + posix here which is fine.
@@ -254,6 +280,8 @@ class ProcessInstanceInfo : public ProcessInfo {
struct timespec m_system_time {};
struct timespec m_cumulative_user_time {};
struct timespec m_cumulative_system_time {};
+ std::optional m_priority_value = std::nullopt;
+ bool m_zombie = false;
@@ -91,14 +87,16 @@ static bool GetStatusInfo(::pid_t Pid, ProcessInstanceInfo
,
if (Rest.empty())
return false;
StatFields stat_fields;
- if (sscanf(Rest.data(),
- "%d %s %c %d %d %d %d %d %u %lu %lu %lu %lu %lu %lu %ld %ld",
- _fields.pid,
https://github.com/clayborg approved this pull request.
Sounds good, thanks for the clarification.
https://github.com/llvm/llvm-project/pull/91591
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -23,6 +23,8 @@ class Symtab {
public:
typedef std::vector IndexCollection;
typedef UniqueCStringMap NameToIndexMap;
+ typedef std::map
+ FileAddressToAddressClassMap;
clayborg wrote:
You might want to use a llvm::DenseMap if possible. std::map
https://github.com/clayborg commented:
I can't remember: does terminate come before disconnecting? Or is it the other
way around?
https://github.com/llvm/llvm-project/pull/91591
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://github.com/clayborg commented:
How many notifications happen during an expression? We want to make sure this
doesn't slow down expression evaluation by any appreciable amount. If we spam
these notifications, without having any throttling in place (I have an open
patch for this I
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/91544
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -12,6 +12,9 @@
#include "lldb/Utility/ProcessInfo.h"
#include "gtest/gtest.h"
+#include
+#include
clayborg wrote:
it is ok to include this header file here because this is a linux specific host
test.
https://github.com/llvm/llvm-project/pull/91544
@@ -17,6 +17,7 @@
#include
#include
+#include
clayborg wrote:
Not every OS will have this header file, so I am not sure we can/should be
importing this header. Windows build will most likely fail and any non unix
based OS as well.
@@ -144,6 +144,19 @@ class ProcessInstanceInfo : public ProcessInfo {
long int tv_usec = 0;
};
+ enum class ProcessState {
+Unknown,
+Dead,
+DiskSleep,
+Idle,
+Paging,
+Parked,
+Running,
+Sleeping,
+TracedOrStopped,
+Zombie,
+
@@ -254,6 +277,8 @@ class ProcessInstanceInfo : public ProcessInfo {
struct timespec m_system_time {};
struct timespec m_cumulative_user_time {};
struct timespec m_cumulative_system_time {};
+ int8_t m_nice_value = INT8_MAX;
clayborg wrote:
maybe make
https://github.com/clayborg requested changes to this pull request.
So `ProcessInstanceInfo` is already very OS specific, so I can't object to
adding more OS specific information to this structure. It would be nice to
abstract OS specific things into a dictionary so allow OS specific things to
@@ -117,6 +118,10 @@ bool ProcessInfo::IsScriptedProcess() const {
return m_scripted_metadata_sp && *m_scripted_metadata_sp;
}
+bool ProcessInstanceInfo::NiceValueIsValid() const {
+ return m_nice_value >= PRIO_MIN && m_nice_value <= PRIO_MAX;
clayborg
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/91544
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
On 08/05/2024 16:54, Daniel Vetter wrote:
> On Wed, May 08, 2024 at 09:02:02AM +0100, Chris Clayton wrote:
>> Hi,
>>
>> I'm running the latest development kernel - 6.9.0-rc7+ (HEAD is
>> dccb07f2914cdab2ac3a5b6c98406f765acab803.)
>>
>> As I say in $S
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/91343
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Hi,
I'm running the latest development kernel - 6.9.0-rc7+ (HEAD is
dccb07f2914cdab2ac3a5b6c98406f765acab803.)
As I say in $SUBJECT, the directory /sys/kernel/debug/vgaswitcheroo is missing
in this release. Perhaps more importantly
unless it is configured to simply blank the screen, when
@@ -289,3 +292,35 @@ void
StructuredData::Null::GetDescription(lldb_private::Stream ) const {
void StructuredData::Generic::GetDescription(lldb_private::Stream ) const {
s.Printf("%p", m_object);
}
+
+/// This is the same implementation as `StringRef::split`. Not depending
https://github.com/clayborg requested changes to this pull request.
Needs a few changes. See inline comments.
https://github.com/llvm/llvm-project/pull/90703
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -2044,6 +2052,15 @@ bool CommandInterpreter::HandleCommand(const char
*command_line,
m_transcript_stream << result.GetOutputData();
m_transcript_stream << result.GetErrorData();
+ // Add output and error to the transcript item after splitting lines. In the
+ //
@@ -85,3 +86,91 @@ def test_command_output(self):
self.assertEqual(res.GetOutput(), "")
self.assertIsNotNone(res.GetError())
self.assertEqual(res.GetError(), "")
+
+def test_structured_transcript(self):
+"""Test structured transcript
@@ -290,6 +290,31 @@ class StructuredData {
void GetDescription(lldb_private::Stream ) const override;
+/// Creates an Array of substrings by splitting a string around the
+/// occurrences of a separator character.
+///
+/// \param[in] s
+/// The
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/90703
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg commented:
LGTM.
https://github.com/llvm/llvm-project/pull/91321
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -766,6 +768,12 @@ class CommandInterpreter : public Broadcaster,
CommandUsageMap m_command_usages;
StreamString m_transcript_stream;
+
+ /// Contains a list of handled commands, output and error. Each element in
+ /// the list is a dictionary with three keys:
@@ -2044,6 +2052,15 @@ bool CommandInterpreter::HandleCommand(const char
*command_line,
m_transcript_stream << result.GetOutputData();
m_transcript_stream << result.GetErrorData();
+ // Add output and error to the transcript item after splitting lines. In the
+ //
@@ -424,19 +439,13 @@ static void convertFunctionLineTable(OutputAggregator
, CUInfo ,
auto LastLE = FI.OptLineTable->last();
if (LastLE && LastLE->File == FileIdx && LastLE->Line == Row.Line)
continue;
+
// Only push a row if it isn't an end sequence.
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/87740
>From d69497fc66ce092fd75fcbe7c64460a49a6e2172 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Sat, 30 Mar 2024 10:50:34 -0700
Subject: [PATCH 1/2] Add support for using foreign type units in .debug_na
clayborg wrote:
> The tests your described testing this change doesn't break things by delaying
> definition DIE searching, which I think is already covered by existing tests
> (created for other purposes, but also covers this case). I was thinking about
> testing the definition DIE searching
clayborg wrote:
> > > > Is any of it testable?
> > >
> > >
> > > Good question. Though this is mostly meant to be "NFC" (with very large
> > > quotes), I can imagine us doing something like forcing the parsing of a
> > > specific type (`type lookup ` ?), and then checking that the
> > >
@@ -154,6 +154,27 @@ static bool TagIsRecordType(dw_tag_t tag) {
}
}
+static bool
+IsForwardDeclaration(const lldb_private::plugin::dwarf::DWARFDIE ,
+ const ParsedDWARFTypeAttributes ,
+ LanguageType cu_language) {
+ if
https://github.com/clayborg commented:
Looks pretty good to me as long as the test suite is happy.
https://github.com/llvm/llvm-project/pull/90663
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -1631,27 +1631,34 @@ bool SymbolFileDWARF::CompleteType(CompilerType
_type) {
return true;
}
- DWARFDIE dwarf_die = GetDIE(die_it->getSecond());
- if (dwarf_die) {
-// Once we start resolving this type, remove it from the forward
-// declaration map in
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/90663
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -321,9 +321,26 @@ class LLDB_API SBDebugger {
void SetLoggingCallback(lldb::LogOutputCallback log_callback, void *baton);
+ /// DEPRECATED: We used to only support one Destroy callback. Now that we
+ /// support Add and Remove, you should only remove Destroy callbacks
https://github.com/clayborg requested changes to this pull request.
I agree with all comments here. I like being able to add and remove destroy
callbacks. See my inline comments for changing `AddDestroyCallback` and
`RemoveDestroyCallback`.
https://github.com/llvm/llvm-project/pull/89868
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/89868
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/90622
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -321,7 +321,10 @@ static void convertFunctionLineTable(OutputAggregator
, CUInfo ,
StartAddress, object::SectionedAddress::UndefSection};
- if (!CUI.LineTable->lookupAddressRange(SecAddress, RangeSize, RowVector)) {
+ // end_sequence markers can be located at
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/90535
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -424,19 +439,13 @@ static void convertFunctionLineTable(OutputAggregator
, CUInfo ,
auto LastLE = FI.OptLineTable->last();
if (LastLE && LastLE->File == FileIdx && LastLE->Line == Row.Line)
continue;
+
// Only push a row if it isn't an end sequence.
@@ -354,6 +357,18 @@ static void convertFunctionLineTable(OutputAggregator
, CUInfo ,
for (uint32_t RowIndex : RowVector) {
// Take file number and line/column from the row.
const DWARFDebugLine::Row = CUI.LineTable->Rows[RowIndex];
+
+// TODO(avillega): With
https://github.com/clayborg commented:
Not sure this makes sense after checking the code for
`DWARFDebugLine::LineTable::lookupAddressRangeImpl(...)`. If a line table has
multiple sequences that contain an address, it will find the first sequence
that contains the address and then return the
https://github.com/clayborg requested changes to this pull request.
You will need to hook this up so it actually works, and then add a test case to
verify this works as expected.
https://github.com/llvm/llvm-project/pull/90703
___
lldb-commits
@@ -287,8 +292,49 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -287,8 +292,49 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+
@@ -254,13 +254,17 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
addr_of_string =
valobj.GetAddressOf(scalar_is_load_addr, _type);
- if (addr_of_string != LLDB_INVALID_ADDRESS) {
+
+ // We have to check for host address here
+ //
@@ -657,8 +657,11 @@ MinidumpFileBuilder::AddMemoryList(const lldb::ProcessSP
_sp,
auto data_up = std::make_unique(size, 0);
const size_t bytes_read =
process_sp->ReadMemory(addr, data_up->GetBytes(), size, error);
-if (bytes_read == 0)
+if
201 - 300 of 21883 matches
Mail list logo