https://github.com/labath updated
https://github.com/llvm/llvm-project/pull/101333
>From e87b2b24cd673584aabd00eaf6ad8fc4c0c52c98 Mon Sep 17 00:00:00 2001
From: Pavel Labath
Date: Tue, 16 Jul 2024 14:18:27 +
Subject: [PATCH 1/2] [lldb] Refactor TypeQuery::ContextMatches, take 2
This is an
labath wrote:
@Michael137, I'd appreciate it if you could give this a spin. If
https://github.com/swiftlang/llvm-project/blob/ee8bc8b8d30eb99807adbcd3c1f044e00af66cdd/lldb/source/Plugins/TypeSystem/Swift/TypeSystemSwiftTypeRef.cpp#L219-L225
is the only use of `AnyModule`, then it should be
https://github.com/labath created
https://github.com/llvm/llvm-project/pull/101333
This is an alternative, much simpler implementation of #99305. In this version
I replace the AnyModule wildcard match with a special TypeQuery flag which
achieves (mostly) the same thing.
It is a preparatory
https://github.com/labath approved this pull request.
This makes sense, though it would probably be even better to just use the real
StreamLogHandler class. I think all that's needed would be to add a new
constructor to it.
https://github.com/llvm/llvm-project/pull/101326
labath wrote:
> @labath
>
> > For consistency, and to minimize the number of ifdefs, I believe windows
> > and non-windows paths should use as similar approaches as possible. That
> > means I think the end state should be that the posix path also uses a
> > fork+exec approach.
>
> fork+exec
https://github.com/labath approved this pull request.
https://github.com/llvm/llvm-project/pull/101208
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -402,6 +413,29 @@ class ObjectFileELF : public lldb_private::ObjectFile {
/// .gnu_debugdata section or \c nullptr if an error occured or if there's no
/// section with that name.
std::shared_ptr GetGnuDebugDataObjectFile();
+
+ /// Get the bytes that represent the
@@ -2550,6 +2550,21 @@ ModuleSP Process::ReadModuleFromMemory(const FileSpec
_spec,
}
ModuleSP module_sp(new Module(file_spec, ArchSpec()));
if (module_sp) {
+if (size_to_read == 0) {
+ // Default to 8192 in case we can't find a memory region.
+
@@ -3704,3 +3790,83 @@ ObjectFileELF::MapFileDataWritable(const FileSpec ,
uint64_t Size,
return FileSystem::Instance().CreateWritableDataBuffer(file.GetPath(), Size,
Offset);
}
+
+std::optional
@@ -3664,7 +3730,27 @@ llvm::ArrayRef
ObjectFileELF::ProgramHeaders() {
}
DataExtractor ObjectFileELF::GetSegmentData(const ELFProgramHeader ) {
- return DataExtractor(m_data, H.p_offset, H.p_filesz);
+ // Try and read the program header from our cached m_data which can
@@ -402,6 +413,29 @@ class ObjectFileELF : public lldb_private::ObjectFile {
/// .gnu_debugdata section or \c nullptr if an error occured or if there's no
/// section with that name.
std::shared_ptr GetGnuDebugDataObjectFile();
+
+ /// Get the bytes that represent the
@@ -873,33 +873,29 @@ Address ObjectFileELF::GetImageInfoAddress(Target
*target) {
if (!section_list)
return Address();
- // Find the SHT_DYNAMIC (.dynamic) section.
- SectionSP dynsym_section_sp(
- section_list->FindSectionByType(eSectionTypeELFDynamicLinkInfo,
@@ -0,0 +1,58 @@
+// REQUIRES: system-linux, native
labath wrote:
I would like to see a test which uses an on-disk section-header-free object
file. (Maybe you could base it off of
llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test). The
@@ -873,33 +873,29 @@ Address ObjectFileELF::GetImageInfoAddress(Target
*target) {
if (!section_list)
return Address();
- // Find the SHT_DYNAMIC (.dynamic) section.
- SectionSP dynsym_section_sp(
- section_list->FindSectionByType(eSectionTypeELFDynamicLinkInfo,
@@ -2472,48 +2429,47 @@ size_t ObjectFileELF::ParseDynamicSymbols() {
if (m_dynamic_symbols.size())
return m_dynamic_symbols.size();
- SectionList *section_list = GetSectionList();
- if (!section_list)
+ std::optional dynamic_data = GetDynamicData();
+ if
https://github.com/labath commented:
I think we should slow down a bit.
For consistency, and to minimize the number of ifdefs, I believe windows and
non-windows paths should use as similar approaches as possible. That means I
think the end state should be that the posix path also uses a
@@ -550,7 +588,7 @@ Stream::create(const Directory , const
object::MinidumpFile ) {
llvm_unreachable("Unhandled stream kind!");
}
-Expected Object::create(const object::MinidumpFile ) {
+Expected Object::create(object::MinidumpFile ) {
labath wrote:
Yeah,
@@ -373,7 +373,6 @@ void yaml::MappingContextTraits::mapping(
void yaml::MappingContextTraits::mapping(
IO , MemoryDescriptor_64 , BinaryRef ) {
mapRequiredHex(IO, "Start of Memory Range", Memory.StartOfMemoryRange);
- mapRequiredHex(IO, "Data Size", Memory.DataSize);
@@ -336,3 +336,52 @@ TEST(MinidumpYAML, ExceptionStream_ExtraParameter) {
0xab, 0xad, 0xca, 0xfe}),
*ExpectedContext);
}
+
+TEST(MinidumpYAML, MemoryRegion_64bit) {
+ SmallString<0> Storage;
+ auto ExpectedFile = toBinary(Storage,
@@ -1,7 +1,7 @@
--- !minidump
-Streams:
+Streams:
labath wrote:
Please either revert these changes or put them in as a separate patch (you
don't need to wait for a review on that).
https://github.com/llvm/llvm-project/pull/101272
@@ -336,3 +336,52 @@ TEST(MinidumpYAML, ExceptionStream_ExtraParameter) {
0xab, 0xad, 0xca, 0xfe}),
*ExpectedContext);
}
+
+TEST(MinidumpYAML, MemoryRegion_64bit) {
+ SmallString<0> Storage;
+ auto ExpectedFile = toBinary(Storage,
labath wrote:
> > Sounds good. Could you split off the lldb parts to a separate review though?
>
> @labath I think we need both, in order to fix `SBProcess` to return all
> memory regions we need the LLDB change, which enables us to test if the
> yaml2obj generates correctly
I can believe
@@ -153,19 +127,89 @@ void TypeQuery::SetLanguages(LanguageSet languages) {
bool TypeQuery::ContextMatches(
llvm::ArrayRef context_chain) const {
- if (GetExactMatch() || context_chain.size() == m_context.size())
-return ::contextMatches(context_chain, m_context);
-
labath wrote:
My idea for anonymous namespaces was basically to treat them as optional, so
that you could get a match (even an "exact" match maybe?) for `(anonymous
namespace)::Foo` with a pattern `Foo`. However, if a pattern explicitly
contained an `(anonymous namespace)`, then this would
@@ -97,12 +97,14 @@ void DWARFUnit::ExtractUnitDIEIfNeeded() {
*m_dwo_id, m_first_die.GetOffset()));
return; // Can't fetch the compile unit from the dwo file.
}
- // If the skeleton compile unit gets its unit DIE parsed first, then this
- // will fill in the
@@ -0,0 +1,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,446 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,560 @@
+//===-- DILAST.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,560 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,560 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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,459 @@
+//===-- DILAST.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/labath commented:
I still have a lot of comments, but I think we're making progress.
The most important questions are about the parts where we appear to be
reimplementing some existing lldb functionality. Basically all of the
functionality for looking up names (for members,
https://github.com/labath edited https://github.com/llvm/llvm-project/pull/95738
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,459 @@
+//===-- DILAST.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:
labath wrote:
> > The way this would work is by letting the platform instance
> > delegate/upgrate/convert the platform connection into a gdbserver one. The
> > way this would work would be something like this:
> >
> > 1. `lldb-server platform` would advertise (say in `qSupported`) its
labath wrote:
> > Ok, so if I'm reading this right you're saying you saw no ETXTBSY errors
> > with the current implementation --server flag. Is that correct ?
>
> Right. Initially I have marked #100670 as dependent on this.
>
> Ok, agreed. So, we can try to use O_CLOFORK. And simple solution
labath wrote:
> > that could mean that something like `$CC hello.cc && ./a.out` could fail
> > (what we're doing here isn't fundamentally different than that).
>
> The difference is that cc creates a.out and exits itself. But `lldb-server
> platform` is still running after creating the
labath wrote:
> > Does this refer the the forking implementation you get with the --server
> > flag, or the serial implementation which only handles one connection at a
> > time (without the flag)?
>
> I mean the `--server` flag. It is very hard to reproduce this issue with the
> serial
labath wrote:
> > If this is only really used for a "only for few requests via the platform
> > protocol", then why not make the CWD a property of the platform object?
> > (Either through a virtual filesystem, or just by having it as a string, and
> > resolving things explicitly)
>
> It is
labath wrote:
I like this idea a lot, but I have some reservations about the implementation.
For one, I think this patch is too big. I once heard someone say "if you have
bullet points in your patch description, then the patch is doing too much".
While I don't think we should go as far as to
https://github.com/labath commented:
Could we standardize on `$(OBJCOPY) --strip-debug` instead?
https://github.com/llvm/llvm-project/pull/100836
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://github.com/labath approved this pull request.
https://github.com/llvm/llvm-project/pull/99012
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
labath wrote:
> @labath
>
> > I wanted to change this code to use threads for a long time, but the idea
> > of using a per-thread virtual file system absolutely terrifies me. That
> > only works is all of the accesses go through the file system (no direct
> > syscalls) and if we're very
@@ -324,6 +324,18 @@ Status PipePosix::ReadWithTimeout(void *buf, size_t size,
bytes_read += result;
if (bytes_read == size || result == 0)
break;
+
+// This is the workaround for the following bug in Linux multithreading
+// select()
@@ -456,21 +492,15 @@ ifeq (1, $(USE_SYSTEM_STDLIB))
endif
CXXFLAGS += -nostdlib++ -nostdinc++ -cxx-isystem
$(SDKROOT)/usr/include/c++/v1
LDFLAGS += -L$(SDKROOT)/usr/lib -Wl,-rpath,$(SDKROOT)/usr/lib -lc++
+else
+ifneq (,$(findstring
https://github.com/labath approved this pull request.
https://github.com/llvm/llvm-project/pull/100710
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
labath wrote:
> * thread 1 opens a file for writing (file descriptor A) and starts writing it
>
> * thread 2 starts launching a gdb server. It calls fork(), which creates
> another process with a copy of fd A (the fd has the CLOEXEC flag set, but not
> CLOFORK (the flag doesn't exist))
>
> *
labath wrote:
That *may* be how things works on windows(*), but I'm pretty sure it's not how
things work on linux. A much more likely scenario is:
1. thread 1 opens a file for writing (file descriptor A) and starts writing it
2. thread 2 starts launching a gdb server. It calls fork(), which
https://github.com/labath approved this pull request.
I suggest Monday. If anything breaks, at least there'll be someone around to do
something about it.
https://github.com/llvm/llvm-project/pull/99589
___
lldb-commits mailing list
labath wrote:
> One thing that's not entirely clear to me from the discussion so far:
> apparently the public API rules allow adding an overload of
> `SBProcess::Continue()` with a direction parameter. Do they allow just adding
> a direction parameter to the existing overload _with a default
@@ -153,19 +127,89 @@ void TypeQuery::SetLanguages(LanguageSet languages) {
bool TypeQuery::ContextMatches(
llvm::ArrayRef context_chain) const {
- if (GetExactMatch() || context_chain.size() == m_context.size())
-return ::contextMatches(context_chain, m_context);
-
labath wrote:
One way I can imagine this happening is if the FileSystem instance was local to
a `GDBRemoteCommunicationServerPlatform` instance -- rather than the thread it
happens to be (mostly) running on. This will require more changes to,
basically, plumb the filesystem instance to every
https://github.com/labath commented:
This looks much better, and it looks like @dzhidzhoev is just about to remove
some of the same XFAILS as well (in #100628). I suggest you two collaborate on
the remaining ones.
https://github.com/llvm/llvm-project/pull/100477
@@ -324,6 +324,18 @@ Status PipePosix::ReadWithTimeout(void *buf, size_t size,
bytes_read += result;
if (bytes_read == size || result == 0)
break;
+
+// This is the workaround for the following bug in Linux multithreading
+// select()
https://github.com/labath requested changes to this pull request.
I wanted to change this code to use threads for a long time, but the idea of
using a per-thread virtual file system absolutely terrifies me. That only works
is all of the accesses go through the file system (no direct syscalls)
https://github.com/labath edited
https://github.com/llvm/llvm-project/pull/100670
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/labath approved this pull request.
https://github.com/llvm/llvm-project/pull/100666
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1145,8 +1145,8 @@ Status GDBRemoteCommunication::StartDebugserverProcess(
if (socket_pipe.CanWrite())
socket_pipe.CloseWriteFileDescriptor();
if (socket_pipe.CanRead()) {
-char port_cstr[PATH_MAX] = {0};
-port_cstr[0] = '\0';
+//
https://github.com/labath edited https://github.com/llvm/llvm-project/pull/99336
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,58 @@
+//===--- DirectToIndirectFCR.h - RISC-V specific pass
-===//
+//
+// 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:
labath wrote:
> If that's not what's happening right now, then we ought to fix it.
Or at least, understand why is that impossible.
https://github.com/llvm/llvm-project/pull/100659
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -170,7 +170,7 @@ class DWARFUnit : public UserID {
/// both cases correctly and avoids crashes.
DWARFCompileUnit *GetSkeletonUnit();
- void SetSkeletonUnit(DWARFUnit *skeleton_unit);
+ bool LinkToSkeletonUnit(DWARFUnit _unit);
labath wrote:
It just
@@ -718,13 +720,11 @@ DWARFCompileUnit *DWARFUnit::GetSkeletonUnit() {
return llvm::dyn_cast_or_null(m_skeleton_unit);
}
-void DWARFUnit::SetSkeletonUnit(DWARFUnit *skeleton_unit) {
- // If someone is re-setting the skeleton compile unit backlink, make sure
- // it is
@@ -456,21 +492,15 @@ ifeq (1, $(USE_SYSTEM_STDLIB))
endif
CXXFLAGS += -nostdlib++ -nostdinc++ -cxx-isystem
$(SDKROOT)/usr/include/c++/v1
LDFLAGS += -L$(SDKROOT)/usr/lib -Wl,-rpath,$(SDKROOT)/usr/lib -lc++
+else
+ifneq (,$(findstring
@@ -267,7 +274,9 @@ endif
CFLAGS += $(CFLAGS_EXTRAS)
CXXFLAGS += -std=c++11 $(CFLAGS) $(ARCH_CXXFLAGS)
LD = $(CC)
-LDFLAGS ?= $(CFLAGS)
+# Copy common options to the linker flags (dwarf, arch. & etc).
+# Note: we get some 'garbage' options for linker here (such as -I,
https://github.com/labath created
https://github.com/llvm/llvm-project/pull/100577
I ran into this when LTO completely emptied two compile units, so they ended up
with the same hash (see #100375). Although, ideally, the compiler would try to
ensure we don't end up with a hash collision even
labath wrote:
> When we were setting up cross-platform build and testing config, we had a
> multi-screen list of errors we had to solve. Also, we were unsure about the
> environment in which we would run this. Therefore we decided to bulk
> normalize all paths and some flags. But now I see
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
# Make sure lldb can handle filenames with single quotes in them.
# RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat"
labath wrote:
And this looks like you may have a different shell (one that
@@ -1,3 +1,4 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
labath wrote:
something like `system-windows && target-x86_64` ought to do it. However, like
I said in the other review, I think we ought to figure out why are these
failing for you.
@@ -1,3 +1,5 @@
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
labath wrote:
This is particularly concerning, given that this test just operates on static
binary data (expressed in yaml form). There should be nothing target-specific
here.
Maybe we could start
@@ -1,4 +1,5 @@
# UNSUPPORTED: system-windows
+# XFAIL: target=x86_64-{{.*}}-windows{{.*}}
labath wrote:
This shouldn't be necessary given the UNSUPPORTED clause above.
https://github.com/llvm/llvm-project/pull/100476
https://github.com/labath commented:
I'm somewhat surprised to see this many x86 xfails, given that we already have
an arm64 windows bot, and that none of the tests I see here are very
architecture-specific.
I wonder if this could be due to how you've configured your build.
@DavidSpickett,
@@ -18,7 +18,7 @@ def test_set_use_source_cache_false(self):
self.set_use_source_cache_and_test(False)
@skipIf(hostoslist=no_match(["windows"]))
-@skipIf(oslist=["windows"]) # Fails on windows 11
+@expectedFailureAll(oslist=["windows"])
https://github.com/labath edited
https://github.com/llvm/llvm-project/pull/100477
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/labath approved this pull request.
Yikes, I didn't realize this was new code. @feg208, we need to fix this soon.
I'm approving this because it strictly improves upon the current situation, but
I don't think it's not a complete fix. I think we can skip over the `comm`
field
labath wrote:
> > The field this is consuming is actually 17 bytes long, because the process
> > name is in parenthesis.
>
> Ok then I am confused how this ever worked, but it sounds like scanf was
> never a great way to do this anyway?
The field it's overwriting is in a struct, so it has a
https://github.com/labath commented:
The field this is consuming is actually 17 bytes long, because the process name
is in parenthesis. I suspect this will cause the function to reject any process
whose name is longer than 13 characters.
The name field is actually quite hard to parse this way
@@ -0,0 +1,619 @@
+
+//===-- Telemetry.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,153 @@
+#ifndef LLDB_CORE_TELEMETRY_H
+#define LLDB_CORE_TELEMETRY_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Utility/StructuredData.h"
+#include "lldb/lldb-forward.h"
@@ -0,0 +1,153 @@
+#ifndef LLDB_CORE_TELEMETRY_H
+#define LLDB_CORE_TELEMETRY_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Utility/StructuredData.h"
+#include "lldb/lldb-forward.h"
@@ -0,0 +1,619 @@
+
+//===-- Telemetry.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,153 @@
+#ifndef LLDB_CORE_TELEMETRY_H
+#define LLDB_CORE_TELEMETRY_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Utility/StructuredData.h"
+#include "lldb/lldb-forward.h"
@@ -34,6 +34,7 @@
#include "lldb/API/SBTypeNameSpecifier.h"
#include "lldb/API/SBTypeSummary.h"
#include "lldb/API/SBTypeSynthetic.h"
+#include
labath wrote:
`` is
[banned](https://llvm.org/docs/CodingStandards.html#include-iostream-is-forbidden)
in llvm,
@@ -0,0 +1,619 @@
+
+//===-- Telemetry.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:
@@ -9,10 +9,12 @@
#ifndef LLDB_API_SBDEBUGGER_H
#define LLDB_API_SBDEBUGGER_H
+#include
labath wrote:
Is this used anywhere?
https://github.com/llvm/llvm-project/pull/98528
___
lldb-commits mailing list
@@ -0,0 +1,619 @@
+
labath wrote:
delete empty line
https://github.com/llvm/llvm-project/pull/98528
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
@@ -0,0 +1,619 @@
+
+//===-- Telemetry.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,153 @@
+#ifndef LLDB_CORE_TELEMETRY_H
+#define LLDB_CORE_TELEMETRY_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Utility/StructuredData.h"
+#include "lldb/lldb-forward.h"
https://github.com/labath edited https://github.com/llvm/llvm-project/pull/98528
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/labath commented:
I've made one pass over the PR. I think this would be easier to review if it
was split into multiple patches:
- core llvm infrastructure
- core lldb infrastructure
- ~one patch per event type
I think the biggest hurdle will be finding someone to approve the
https://github.com/labath edited https://github.com/llvm/llvm-project/pull/99736
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
1 - 100 of 3753 matches
Mail list logo