@@ -154,6 +154,27 @@ static bool TagIsRecordType(dw_tag_t tag) {
}
}
+static bool
+IsForwardDeclaration(const lldb_private::plugin::dwarf::DWARFDIE &die,
+ const ParsedDWARFTypeAttributes &attrs,
+ LanguageType cu_language) {
+ if (at
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
https://lists.llvm.org/cgi-bin/mailman/listinfo
@@ -1631,27 +1631,34 @@ bool SymbolFileDWARF::CompleteType(CompilerType
&compiler_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 ma
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
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 mailing
@@ -287,8 +292,49 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -287,8 +292,49 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -287,8 +291,52 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
return true;
} break;
-case eAddressTypeHost:
- break;
+case eAddressTypeHost: {
+
+ DataExtractor data;
+ Status error;
+ valobj.GetData(da
@@ -254,13 +254,17 @@ bool
lldb_private::formatters::LibStdcppStringSummaryProvider(
} else
addr_of_string =
valobj.GetAddressOf(scalar_is_load_addr, &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
&process_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 (err
@@ -657,8 +657,11 @@ MinidumpFileBuilder::AddMemoryList(const lldb::ProcessSP
&process_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 (err
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/88564
___
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/88564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg created
https://github.com/llvm/llvm-project/pull/87740
This patch adds support for the new foreign type unit support in .debug_names.
Features include:
- don't manually index foreign TUs if we have info for them
- only use the type unit entries that match the .dwo f
@@ -553,9 +553,9 @@ bool ClangUserExpression::PrepareForParsing(
}
bool ClangUserExpression::TryParse(
-DiagnosticManager &diagnostic_manager, ExecutionContextScope *exe_scope,
-ExecutionContext &exe_ctx, lldb_private::ExecutionPolicy execution_policy,
-bool keep_r
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -2809,6 +2919,243 @@ ValueObjectSP ValueObject::CastPointerType(const char
*name, TypeSP &type_sp) {
return valobj_sp;
}
+lldb::addr_t ValueObject::GetLoadAddress() {
+ lldb::addr_t addr_value = LLDB_INVALID_ADDRESS;
+ lldb::TargetSP target_sp = GetTargetSP();
+ if (t
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -441,6 +441,19 @@ class ValueObject {
virtual int64_t GetValueAsSigned(int64_t fail_value, bool *success =
nullptr);
+ llvm::APSInt GetValueAsAPSInt();
+
+ llvm::APFloat GetValueAsFloat();
+
+ bool GetValueAsBool();
+
+ /// Update the value of the current object to
@@ -668,6 +699,32 @@ class ValueObject {
CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data,
const ExecutionContext &exe_ctx, CompilerType
type);
+ static lldb::ValueObjectSP
+ CreateValueObjectFromBytes(lldb::TargetSP ta
@@ -1089,6 +1089,116 @@ int64_t ValueObject::GetValueAsSigned(int64_t
fail_value, bool *success) {
return fail_value;
}
+llvm::APSInt ValueObject::GetValueAsAPSInt() {
+ lldb::TargetSP target = GetTargetSP();
+ uint64_t byte_size = 0;
+ if (auto temp = GetCompilerType().
@@ -441,6 +441,19 @@ class ValueObject {
virtual int64_t GetValueAsSigned(int64_t fail_value, bool *success =
nullptr);
+ llvm::APSInt GetValueAsAPSInt();
+
+ llvm::APFloat GetValueAsFloat();
+
+ bool GetValueAsBool();
+
+ /// Update the value of the current object to
@@ -441,6 +441,19 @@ class ValueObject {
virtual int64_t GetValueAsSigned(int64_t fail_value, bool *success =
nullptr);
+ llvm::APSInt GetValueAsAPSInt();
+
+ llvm::APFloat GetValueAsFloat();
+
+ bool GetValueAsBool();
clayborg wrote:
Do we need `GetVa
@@ -668,6 +699,32 @@ class ValueObject {
CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data,
const ExecutionContext &exe_ctx, CompilerType
type);
+ static lldb::ValueObjectSP
+ CreateValueObjectFromBytes(lldb::TargetSP ta
@@ -618,6 +631,24 @@ class ValueObject {
virtual lldb::ValueObjectSP CastPointerType(const char *name,
lldb::TypeSP &type_sp);
+ /// Return the target load address assocaited with this value object.
+ lldb::addr_t GetLoadAddres
@@ -668,6 +699,32 @@ class ValueObject {
CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data,
const ExecutionContext &exe_ctx, CompilerType
type);
+ static lldb::ValueObjectSP
+ CreateValueObjectFromBytes(lldb::TargetSP ta
@@ -618,6 +631,24 @@ class ValueObject {
virtual lldb::ValueObjectSP CastPointerType(const char *name,
lldb::TypeSP &type_sp);
+ /// Return the target load address assocaited with this value object.
+ lldb::addr_t GetLoadAddres
@@ -618,6 +631,24 @@ class ValueObject {
virtual lldb::ValueObjectSP CastPointerType(const char *name,
lldb::TypeSP &type_sp);
+ /// Return the target load address assocaited with this value object.
+ lldb::addr_t GetLoadAddres
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/87164
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg created
https://github.com/llvm/llvm-project/pull/87164
We have the ability to load .dwp files with a .debug_info.dwo section that
exceeds 4GB. There were 4 locations that were using 32 bit offsets and lengths
to extract variable locations, and if a DIE was over the
@@ -3180,14 +3180,153 @@ void request_stepIn(const llvm::json::Object &request)
{
llvm::json::Object response;
FillResponse(request, response);
auto arguments = request.getObject("arguments");
+
+ std::string step_in_target;
+ uint64_t target_id = GetUnsigned(arguments
@@ -3180,14 +3180,153 @@ void request_stepIn(const llvm::json::Object &request)
{
llvm::json::Object response;
FillResponse(request, response);
auto arguments = request.getObject("arguments");
+
+ std::string step_in_target;
+ uint64_t target_id = GetUnsigned(arguments
@@ -811,23 +811,34 @@ def request_next(self, threadId):
command_dict = {"command": "next", "type": "request", "arguments":
args_dict}
return self.send_recv(command_dict)
-def request_stepIn(self, threadId):
+def request_stepInTargets(self, frameId):
@@ -29,6 +29,9 @@ class LLDB_API SBLineEntry {
lldb::SBAddress GetEndAddress() const;
+ lldb::SBAddress
+ GetSameLineContiguousAddressRangeEnd(bool include_inlined_functions) const;
+
clayborg wrote:
We don't need this API right? We spoke about using exi
@@ -67,6 +67,21 @@ SBAddress SBLineEntry::GetEndAddress() const {
return sb_address;
}
+SBAddress SBLineEntry::GetSameLineContiguousAddressRangeEnd(
+bool include_inlined_functions) const {
+ LLDB_INSTRUMENT_VA(this);
+
+ SBAddress sb_address;
+ if (m_opaque_up) {
+
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/86740
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/86568
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -3154,7 +3154,7 @@
AppleObjCRuntimeV2::TaggedPointerVendorExtended::GetClassDescriptor(
<< m_objc_debug_taggedpointer_ext_payload_lshift)
>>
m_objc_debug_taggedpointer_ext_payload_rshift);
int64_t data_payload_signed
@@ -1228,10 +1231,9 @@ bool SymbolFileDWARF::ParseLineTable(CompileUnit
&comp_unit) {
if (offset == DW_INVALID_OFFSET)
return false;
- ElapsedTime elapsed(m_parse_time);
clayborg wrote:
We want all of the time in LLDB to parse and prepare the data, no
@@ -1228,10 +1231,9 @@ bool SymbolFileDWARF::ParseLineTable(CompileUnit
&comp_unit) {
if (offset == DW_INVALID_OFFSET)
return false;
- ElapsedTime elapsed(m_parse_time);
clayborg wrote:
We want this to stay in this function so it measures all of the w
https://github.com/clayborg requested changes to this pull request.
SymbolFileDWARF::ParseLineTable() does more work after using llvm to parse the
line table and we still need to measure this. So I believe that the current
timer was in the correct position. Parse time for DWARF means how long t
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/86568
___
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/86292
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/86292
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
LGTM. I commented on the timeout, but we can implement a setting later if
needed. We can always have the ProgressManager class start with 100ms, and then
have its timeout updated if/when the settings get modified later. Since there
is one
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/85693
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/85693
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -210,6 +210,12 @@ else
ifeq "$(SPLIT_DEBUG_SYMBOLS)" "YES"
DSYM = $(EXE).debug
endif
+
+ ifeq "$(MERGE_DWOS)" "YES"
clayborg wrote:
Is `MERGE_DWOS` new? If so, lets rename to `MAKE_DWP`
https://github.com/llvm/llvm-projec
@@ -658,6 +658,33 @@ static char ConvertValueObjectStyleToChar(
return '\0';
}
+static bool DumpValueWithLLVMFormat(Stream &s, llvm::StringRef options,
+ValueObject &target) {
clayborg wrote:
Can we named this something o
@@ -1066,11 +1066,21 @@ bool
SymbolLocatorDebugSymbols::DownloadObjectAndSymbolFile(
command << lookup_arg;
// Log and report progress.
+ std::string lookup_desc;
+ if (uuid_ptr && file_spec_ptr)
+lookup_desc =
+llvm::formatv("{0} ({1})", file_spec_ptr->GetF
@@ -75,45 +81,86 @@ void Progress::ReportProgress() {
}
}
-ProgressManager::ProgressManager() : m_progress_category_map() {}
+ProgressManager::ProgressManager()
+: m_alarm(std::chrono::milliseconds(100)), m_entries() {}
ProgressManager::~ProgressManager() {}
+void P
@@ -75,45 +81,86 @@ void Progress::ReportProgress() {
}
}
-ProgressManager::ProgressManager() : m_progress_category_map() {}
+ProgressManager::ProgressManager()
+: m_alarm(std::chrono::milliseconds(100)), m_entries() {}
ProgressManager::~ProgressManager() {}
+void P
@@ -75,45 +81,86 @@ void Progress::ReportProgress() {
}
}
-ProgressManager::ProgressManager() : m_progress_category_map() {}
+ProgressManager::ProgressManager()
+: m_alarm(std::chrono::milliseconds(100)), m_entries() {}
ProgressManager::~ProgressManager() {}
+void P
@@ -75,45 +81,86 @@ void Progress::ReportProgress() {
}
}
-ProgressManager::ProgressManager() : m_progress_category_map() {}
+ProgressManager::ProgressManager()
+: m_alarm(std::chrono::milliseconds(100)), m_entries() {}
clayborg wrote:
Make this a lldb
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/84607
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
I had to do this as well, LGTM.
https://github.com/llvm/llvm-project/pull/84630
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commi
https://github.com/clayborg approved this pull request.
Looks good for just including the mangled name.
https://github.com/llvm/llvm-project/pull/84071
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/83935
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/84224
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,116 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
@@ -0,0 +1,116 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
https://github.com/clayborg approved this pull request.
One little nit you can fix as suggested in the inline comments.
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -524,6 +524,9 @@ void BreakpointLocation::GetDescription(Stream *s,
s->EOL();
s->Indent("function = ");
s->PutCString(sc.function->GetName().AsCString(""));
+ s->EOL();
+ s->Indent("mangled function = ");
+
s->PutCStr
@@ -139,6 +139,20 @@
// RUN: -o "target variable a" \
// RUN: -b %t | FileCheck %s
+// Now move the .debug and .dwp file into another directory so that we can use
clayborg wrote:
That is already covered by other split DWARF testing, so it doesn't need to
https://github.com/clayborg approved this pull request.
As long as the changes are planned for quick follow up patches I am good not
changing it up front. And we can probably just switch to using
`std::optional` instead of switching things to use UINT32_MAX anyway
with a follow up patch which
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
https://github.com/clayborg requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
@@ -0,0 +1,115 @@
+"""
+Make sure that the concurrent vfork() from multiple threads works correctly.
+"""
+
+
+import lldb
+import lldbsuite.test.lldbutil as lldbutil
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+
+
+class TestConcurrentVFork(Tes
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/81564
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -524,6 +524,9 @@ void BreakpointLocation::GetDescription(Stream *s,
s->EOL();
s->Indent("function = ");
s->PutCString(sc.function->GetName().AsCString(""));
+ s->EOL();
+ s->Indent("mangled function = ");
+
s->PutCStr
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/84071
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg commented:
Might be nice to print the mangled name of the symbol as well? We are doing it
for the function...
https://github.com/llvm/llvm-project/pull/84071
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https:/
@@ -524,6 +524,9 @@ void BreakpointLocation::GetDescription(Stream *s,
s->EOL();
s->Indent("function = ");
s->PutCString(sc.function->GetName().AsCString(""));
+ s->EOL();
+ s->Indent("mangled function = ");
+
s->PutCStr
https://github.com/clayborg requested changes to this pull request.
So the only thing left to here is to stop using `UINT32_MAX` and switch to
using `UINT64_MAX` on internal APIs.
https://github.com/llvm/llvm-project/pull/83501
___
lldb-commits mailin
clayborg wrote:
> > Looking good. One question: do we want to switch to using a
> > `std::optional` instead of using a `uint64_t` with a default
> > value of UINT32_MAX? We should either use the optional or switch everything
> > except for the public API over to use `UINT64_MAX`
>
> The entir
https://github.com/clayborg created
https://github.com/llvm/llvm-project/pull/83935
DWP files don't usually have a GNU build ID built into them. When searching for
a .dwp file, don't require a UUID to be in the .dwp file. The debug info search
information was checking for a UUID in the .dwp fi
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/83501
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -958,7 +958,7 @@ class ValueObject {
int32_t synthetic_index);
/// Should only be called by ValueObject::GetNumChildren().
- virtual size_t CalculateNumChildren(uint32_t max = UINT32_MAX) = 0;
+ virtual uint64_t CalculateNumChil
https://github.com/clayborg commented:
Looking good. One question: do we want to switch to using a
`std::optional` instead of using a `uint64_t` with a default value of
UINT32_MAX? We should either use the optional or switch everything except for
the public API over to use `UINT64_MAX`
https:
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/82799
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
I would vote for `uint64_t` over `size_t` as `size_t` is 32 bits on 32 bit
operating systems and we might be cross debugging to 64 bit systems that need
`uint64_t`
https://github.com/llvm/llvm-project/pull/83501
___
lldb-commits maili
https://github.com/clayborg commented:
I would almost vote to change everything to `uint64_t` except for the public
API since we can't change the API without breaking. Though I winder if we can
actually change this one:
```
uint64_t SBValue::GetNumChildren();
```
Since the return value isn't ma
@@ -3944,15 +3955,22 @@ rnb_err_t RNBRemote::HandlePacket_v(const char *p) {
// The order of these checks is important.
if (process_does_not_exist (pid_attaching_to)) {
DNBLogError("Tried to attach to pid that doesn't exist");
- std::string
@@ -623,8 +630,20 @@ void Debugger::Terminate() {
}
if (g_thread_pool) {
-// The destructor will wait for all the threads to complete.
-delete g_thread_pool;
+// Delete the thread pool in a different thread so we can set a timeout.
clayborg wro
801 - 900 of 2247 matches
Mail list logo