@@ -0,0 +1,67 @@
+//===-- SBWatchpointOptions.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: Apa
@@ -0,0 +1,44 @@
+//===-- SBWatchpointOptions.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: Apa
https://github.com/clayborg commented:
Overall looks pretty solid. Just need to nail down the headerdoc for the
"modify" accesors and clarify that it only works in combination with "write"
and probably change the old API from "bool read, bool write" to be "bool read,
bool modify" to clearly in
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/66308
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,67 @@
+//===-- SBWatchpointOptions.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: Apa
@@ -0,0 +1,44 @@
+//===-- SBWatchpointOptions.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: Apa
https://github.com/clayborg commented:
LGTM. Jim? You ok with this?
https://github.com/llvm/llvm-project/pull/66548
___
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.
This shouldn't be type specific. Any SBValue that reports a value when you call:
```
const char *SBValue::GetValue();
```
Should always show the value. In this case, a pointer always has a value to
show. So it shouldn't matter t
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/66308
___
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.
Thanks for the changes! Looks great
https://github.com/llvm/llvm-project/pull/66308
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-c
@@ -6,11 +6,7 @@
) lldb::SBWatchpointOptions::SetWatchpointTypeRead;
%feature("docstring", "Gets whether the watchpoint should stop on read
accesses."
) lldb::SBWatchpointOptions::GetWatchpointTypeRead;
-%feature("docstring", "Sets whether the watchpoint should stop on write
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/66721
___
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/66724
___
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.
Much better solution that doesn't depend on having a pointer.
https://github.com/llvm/llvm-project/pull/66551
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-b
https://github.com/clayborg approved this pull request.
Looks good to me. Anytime we can be more lazy the better.
https://github.com/llvm/llvm-project/pull/67069
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -0,0 +1,165 @@
+#ifndef
LLDB_SOURCE_PLUGINS_DYNAMICLOADER_FREEBSD_KERNEL_DYNAMICLOADERFREEBSDKERNEL_H
+#define
LLDB_SOURCE_PLUGINS_DYNAMICLOADER_FREEBSD_KERNEL_DYNAMICLOADERFREEBSDKERNEL_H
+
+#include
+#include
+#include
+
+#include "lldb/Target/DynamicLoader.h"
+#include
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -935,6 +935,16 @@ lldb_private::Address
ObjectFileELF::GetEntryPointAddress() {
}
Address ObjectFileELF::GetBaseAddress() {
+ if (GetType() == ObjectFile::eTypeObjectFile) {
+for (SectionHeaderCollIter I = std::next(m_section_headers.begin());
+ I != m_section
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/67019
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-comm
=?utf-8?q?Jos=C3=A9?= L. Junior
Message-ID:
In-Reply-To:
https://github.com/clayborg requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/67019
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntry);
break;
-
+ case 'm': // Stop at main function
+
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -0,0 +1,102 @@
+//===-- CommandObjectStart.cpp ---===//
clayborg wrote:
Revert this source file since we are just adding an option to "process launch"
right?
https
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -0,0 +1,32 @@
+//===-- CommandObjectStart.h -*- C++ -*-===//
clayborg wrote:
Revert this source file since we are just adding an option to "process launch"
right?
https://
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntry);
break;
-
+ case 'm': // Stop at main function
+
=?utf-8?q?Jos=C3=A9?= L. Junior
Message-ID:
In-Reply-To:
@@ -36,6 +36,7 @@
#include "Commands/CommandObjectSession.h"
#include "Commands/CommandObjectSettings.h"
#include "Commands/CommandObjectSource.h"
+#include "Commands/CommandObjectStart.h"
clayborg wro
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -30,6 +30,7 @@ add_lldb_library(lldbCommands NO_PLUGIN_DEPENDENCIES
CommandObjectSession.cpp
CommandObjectSettings.cpp
CommandObjectSource.cpp
+ CommandObjectStart.cpp
clayborg wrote:
revert this
=?utf-8?q?Jos=C3=A9?= L. Junior
Message-ID:
In-Reply-To:
@@ -559,6 +560,7 @@ void CommandInterpreter::LoadCommandDictionary() {
REGISTER_COMMAND_OBJECT("settings", CommandObjectMultiwordSettings);
REGISTER_COMMAND_OBJECT("session", CommandObjectSession);
REGISTER_COMMA
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/67190
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -132,6 +132,84 @@ std::vector GetStrings(const
llvm::json::Object *obj,
return strs;
}
+/// Create a short summary for a container that contains the summary of its
+/// first children, so that the user can get a glimpse of its contents at a
+/// glance.
+static std::opti
https://github.com/clayborg requested changes to this pull request.
Is there a reason we need to complete nested types within a type? Seems like we
can put that off until later. Right now if you parse a member function, any
types it needs will be parsed lazily and only if needed, which is ok. I
clayborg wrote:
If we have a end to end test that shows the problem you are trying to fix it
would help as well.
https://github.com/llvm/llvm-project/pull/66879
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
clayborg wrote:
> > I didn't see much explanation as to why this is needed in the bug report.
>
> The motivating example is something like:
>
> ```
> struct Info {
> enum Mask : uintptr_t {
> Enum
> };
> }
> ```
>
> `expr Info::Mask::Enum`.
>
> > Is there a reason we need to complete
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntry);
break;
-
+ case 'm': // Stop at main function
+
@@ -0,0 +1,770 @@
+#include "lldb/Breakpoint/StoppointCallbackContext.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Module.h"
+#include "lldb/Core/ModuleSpec.h"
+#include "lldb/Core/PluginManager.h"
+#include "lldb/Core/Section.h"
+#include "lldb/Core/StreamFile.h"
+#in
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -675,6 +675,8 @@ let Command = "platform shell" in {
let Command = "process launch" in {
def process_launch_stop_at_entry : Option<"stop-at-entry", "s">,
De
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
https://github.com/clayborg commented:
See my inline comments. I am wondering if we want to get the platform involved
here so they can do the right thing for any platform and it might
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntr
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/67019
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntr
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntr
@@ -132,6 +132,84 @@ std::vector GetStrings(const
llvm::json::Object *obj,
return strs;
}
+/// Create a short summary for a container that contains the summary of its
+/// first children, so that the user can get a glimpse of its contents at a
+/// glance.
+static std::opti
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntr
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntr
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
https://github.com/clayborg commented:
After Jim's recent comments sounds like the Platform is not the right place to
set the breakpoint. So please ignore my comments suggesting to us
https://github.com/clayborg commented:
Just one header file header to be fixed and this looks good to me. I will let
other FreeBSD folks do the final approval since I don't work on FreeBSD.
https://github.com/llvm/llvm-project/pull/67106
___
lldb-comm
@@ -0,0 +1,172 @@
+//===-- DynamicLoaderFreeBSDKernel.h
+//--===//
clayborg wrote:
Fix this comment line to be a single line and also include the C++ stuff for
editors:
```
//===-- DynamicLoaderFreeBSDKernel.h
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/67106
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -71,6 +71,7 @@
11 // The register that would contain pointer size or less argument 7 (if
any)
#define LLDB_REGNUM_GENERIC_ARG8
\
12 // The register that would contain pointer size or less argument 8 (if
any)
+#define LLDB_
https://github.com/clayborg requested changes to this pull request.
Looks good, we just need to add header documentation for the new generic thread
pointer register and in the RegisterContext.h describing what this registers.
See inlined comments.
https://github.com/llvm/llvm-project/pull/6747
@@ -144,6 +144,8 @@ class RegisterContext : public
std::enable_shared_from_this,
uint64_t GetPC(uint64_t fail_value = LLDB_INVALID_ADDRESS);
+ uint64_t GetThreadPointer(uint64_t fail_value = LLDB_INVALID_ADDRESS);
clayborg wrote:
Need some header documen
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/67470
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -710,16 +710,13 @@ bool DYLDRendezvous::FindMetadata(const char *name,
PThreadField field,
target.GetImages().FindSymbolsWithNameAndType(ConstString(name),
eSymbolTypeAny, list);
if (list.IsEmpty())
- return false;
-
- A
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +39,36 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry p
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior ,
=?utf-8?q?José?= L. Junior
Message-ID:
In-Reply-To:
@@ -675,6 +675,8 @@ let Command = "platform shell" in {
let Command = "process launch" in {
def process_la
=?utf-8?q?Jos=C3=A9?= L. Junior ,
=?utf-8?q?Jos=C3=A9?= L. Junior ,
=?utf-8?q?Jos=C3=A9?= L. Junior ,
=?utf-8?q?Jos=C3=A9?= L. Junior ,
=?utf-8?q?Jos=C3=A9?= L. Junior
Message-ID:
In-Reply-To:
@@ -38,7 +39,36 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': /
https://github.com/clayborg approved this pull request.
Looks good!
https://github.com/llvm/llvm-project/pull/67470
___
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/67579
___
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/67599
Add the ability to get a C++ vtable ValueObject from another ValueObject.
This patch adds the ability to ask a ValueObject for a ValueObject that
represents the virtual function table for a C++ class. If the Va
@@ -374,6 +374,34 @@ class LLDB_API SBValue {
lldb::SBWatchpoint WatchPointee(bool resolve_location, bool read, bool write,
SBError &error);
+ /// If this value represents a C++ class that has a vtable, return an value
+ /// that represent
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
clayborg wrote:
> This is an oft-requested feature so thanks for doing this!
>
> My only real complaint is that the code that determines the C++ "dynamic
> type" does much of the work that the ValueObjectVTable has to do to find the
> vtable pointer, and it's enough code that it seems a shame
clayborg wrote:
> Looks good in general to me.
>
> Several scenarios to test:
>
> * Make sure command works when the vtable symbol can be found but the vtable
> exists in another binary which do not have any debug info (which we have seen
> failure from lldb before)
Good idea. I tried to tes
clayborg wrote:
I am implementing the fixes in the LanguageRuntime stuff. I have it working.
Stay tuned to updates to this patch.
https://github.com/llvm/llvm-project/pull/67599
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.l
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/67599
>From 8fa9aae354ac455f4ea443de1bb5f753fe93fb51 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Wed, 27 Sep 2023 13:03:40 -0700
Subject: [PATCH 1/2] Add the ability to get a C++ vtable ValueObject from
another
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/67599
>From 8fa9aae354ac455f4ea443de1bb5f753fe93fb51 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Wed, 27 Sep 2023 13:03:40 -0700
Subject: [PATCH 1/3] Add the ability to get a C++ vtable ValueObject from
another
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/67599
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
https://github.com/clayborg commented:
Ok. I have address all review comments. Jim, please take a look at the
LanguageRuntime changes to see if you agree on how I did things. Things
factored out quite nicely I believe.
https://github.com/llvm/llvm-project/pull/67599
___
@@ -0,0 +1,298 @@
+//===-- ValueObjectVTable.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: Ap
@@ -54,134 +54,182 @@ bool
ItaniumABILanguageRuntime::CouldHaveDynamicValue(ValueObject &in_value) {
check_objc);
}
-TypeAndOrName ItaniumABILanguageRuntime::GetTypeInfoFromVTableAddress(
-ValueObject &in_value, ll
clayborg wrote:
> > I will let other FreeBSD folks do the final approval since I don't work on
> > FreeBSD.
>
> @clayborg this change LGTM for FreeBSD. I'm still not fully sorted on the
> approach for landing the commits post transition to GitHub. Also see the
> comment about author name abov
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/67106
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/67599
>From 8fa9aae354ac455f4ea443de1bb5f753fe93fb51 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Wed, 27 Sep 2023 13:03:40 -0700
Subject: [PATCH 1/4] Add the ability to get a C++ vtable ValueObject from
another
clayborg wrote:
> As my mentor Li-Wen Hsu suggest, It is better to separate this patch into two
> commits. One for DynamicLoaderFreeBSDKernel class, and another for the
> modification about ObjectFile.cpp. Should I use 1 commits to include both of
> these change or separate it as two?
I am ok
@@ -0,0 +1,325 @@
+//===-- ValueObjectVTable.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: Ap
clayborg wrote:
> > > * Can we test this during multiple inheritance? Should we print multiple
> > > vtables?
> > > [Greg] I can add a test for this and make sure things works when
> > > dynamic typing is on and off. We won't print multiple vtables, as each
> > > class has only 1 vtable,
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/67599
>From 8fa9aae354ac455f4ea443de1bb5f753fe93fb51 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Wed, 27 Sep 2023 13:03:40 -0700
Subject: [PATCH 1/5] Add the ability to get a C++ vtable ValueObject from
another
@@ -120,15 +120,23 @@ bool NativeThreadLinux::GetStopReason(ThreadStopInfo
&stop_info,
case eStateCrashed:
case eStateExited:
case eStateSuspended:
- case eStateUnloaded:
+ case eStateUnloaded: {
if (log)
LogThreadStopInfo(*log, m_stop_info, "m_stop_info in
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
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
@@ -301,7 +301,8 @@ class ProcessGDBRemote : public Process,
using FlashRange = FlashRangeVector::Entry;
FlashRangeVector m_erased_flash_ranges;
- bool m_vfork_in_progress;
+ // Number of vfork in process.
clayborg wrote:
```
// Number of fork() or vfor
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/81067
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -2595,6 +2604,37 @@ bool DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+ * globals
@@ -2595,6 +2604,37 @@ bool DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+ * globals
@@ -1450,6 +1450,14 @@ class Process : public
std::enable_shared_from_this,
/// platforms where there is a difference (only Arm Thumb at this time).
lldb::addr_t FixAnyAddress(lldb::addr_t pc);
+ /// Some targets might use bits in a code address to represent additional
+
@@ -346,6 +346,15 @@ static offset_t GetOpcodeDataSize(const DataExtractor
&data,
return (offset - data_offset) + subexpr_len;
}
+ case DW_OP_WASM_location: {
+uint8_t wasm_op = data.GetU8(&offset);
+if (wasm_op == 3)
clayborg wrote:
It would
@@ -2595,6 +2604,37 @@ bool DWARFExpression::Evaluate(
break;
}
+case DW_OP_WASM_location: {
+ uint8_t wasm_op = opcodes.GetU8(&offset);
+ uint32_t index;
+
+ /* LLDB doesn't have an address space to represents WebAssembly locals,
+ * globals
2101 - 2200 of 3323 matches
Mail list logo