[Lldb-commits] [lldb] r348629 - Revert "Introduce ObjectFileBreakpad"

Shafik Yaghmour via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 7 10:59:01 PST 2018


Author: shafik
Date: Fri Dec  7 10:59:00 2018
New Revision: 348629

URL: http://llvm.org/viewvc/llvm-project?rev=348629&view=rev
Log:
Revert "Introduce ObjectFileBreakpad"

This reverts commit 5e056e624cc57bb22a4c29a70b522783c6242293.

Reverting because this lldb cmake bot: http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake/13712/

Removed:
    lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-1.syms
    lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-2.syms
    lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-3.syms
    lldb/trunk/lit/Modules/Breakpad/Inputs/identification-linux.syms
    lldb/trunk/lit/Modules/Breakpad/Inputs/identification-macosx.syms
    lldb/trunk/lit/Modules/Breakpad/Inputs/identification-windows.syms
    lldb/trunk/lit/Modules/Breakpad/breakpad-identification.test
    lldb/trunk/lit/Modules/Breakpad/lit.local.cfg
    lldb/trunk/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
    lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
    lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
Modified:
    lldb/trunk/include/lldb/Symbol/ObjectFile.h
    lldb/trunk/source/API/SystemInitializerFull.cpp
    lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt
    lldb/trunk/source/Symbol/ObjectFile.cpp
    lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp
    lldb/trunk/tools/lldb-test/lldb-test.cpp

Modified: lldb/trunk/include/lldb/Symbol/ObjectFile.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/ObjectFile.h?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Symbol/ObjectFile.h (original)
+++ lldb/trunk/include/lldb/Symbol/ObjectFile.h Fri Dec  7 10:59:00 2018
@@ -817,16 +817,4 @@ private:
 
 } // namespace lldb_private
 
-namespace llvm {
-template <> struct format_provider<lldb_private::ObjectFile::Type> {
-  static void format(const lldb_private::ObjectFile::Type &type,
-                     raw_ostream &OS, StringRef Style);
-};
-
-template <> struct format_provider<lldb_private::ObjectFile::Strata> {
-  static void format(const lldb_private::ObjectFile::Strata &strata,
-                     raw_ostream &OS, StringRef Style);
-};
-} // namespace llvm
-
 #endif // liblldb_ObjectFile_h_

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-1.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-1.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-1.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-1.syms (removed)
@@ -1,2 +0,0 @@
-MODULE Linux x86_64 E5894855+C35D+CCCCCCCCCCCCCCCCCCCC0 linux.out
-PUBLIC 1000 0 _start

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-2.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-2.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-2.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-2.syms (removed)
@@ -1,2 +0,0 @@
-MODULE Linux x86_64 E5894855C35DCCCCCCCCCCCCCCCCC linux.out
-PUBLIC 1000 0 _start

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-3.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-3.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-3.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/bad-module-id-3.syms (removed)
@@ -1,2 +0,0 @@
-MODULE Linux x86_64 E58X4855C35DCCCCCCCCXCCCCCCCCCCC0 linux.out
-PUBLIC 1000 0 _start

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/identification-linux.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/identification-linux.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/identification-linux.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/identification-linux.syms (removed)
@@ -1,6 +0,0 @@
-MODULE Linux x86_64 E5894855C35DCCCCCCCCCCCCCCCCCCCC0 linux.out
-INFO CODE_ID 554889E55DC3CCCCCCCCCCCCCCCCCCCC
-PUBLIC 1000 0 _start
-STACK CFI INIT 1000 6 .cfa: $rsp 8 + .ra: .cfa -8 + ^
-STACK CFI 1001 $rbp: .cfa -16 + ^ .cfa: $rsp 16 +
-STACK CFI 1004 .cfa: $rbp 16 +

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/identification-macosx.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/identification-macosx.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/identification-macosx.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/identification-macosx.syms (removed)
@@ -1,6 +0,0 @@
-MODULE mac x86_64 D98C0E682089AA1BEACD6A8C1F16707B0 mac.out
-PUBLIC 0 0 _mh_execute_header
-PUBLIC f30 0 start
-STACK CFI INIT f30 6 .cfa: $rsp 8 + .ra: .cfa -8 + ^
-STACK CFI f31 $rbp: .cfa -16 + ^ .cfa: $rsp 16 +
-STACK CFI f34 .cfa: $rbp 16 +

Removed: lldb/trunk/lit/Modules/Breakpad/Inputs/identification-windows.syms
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/Inputs/identification-windows.syms?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/Inputs/identification-windows.syms (original)
+++ lldb/trunk/lit/Modules/Breakpad/Inputs/identification-windows.syms (removed)
@@ -1,4 +0,0 @@
-MODULE windows x86 A0C9165780B5490981A1925EA62165C01 a.pdb
-INFO CODE_ID 5C01672A4000 a.exe
-FILE 1 c:\tmp\a.cpp
-PUBLIC 1000 0 main

Removed: lldb/trunk/lit/Modules/Breakpad/breakpad-identification.test
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/breakpad-identification.test?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/breakpad-identification.test (original)
+++ lldb/trunk/lit/Modules/Breakpad/breakpad-identification.test (removed)
@@ -1,32 +0,0 @@
-RUN: lldb-test object-file %p/Inputs/identification-linux.syms | FileCheck %s --check-prefix=LINUX
-RUN: lldb-test object-file %p/Inputs/identification-macosx.syms | FileCheck %s --check-prefix=MAC
-RUN: lldb-test object-file %p/Inputs/identification-windows.syms | FileCheck %s --check-prefix=WINDOWS
-RUN: not lldb-test object-file %p/Inputs/bad-module-id-1.syms 2>&1 | FileCheck %s --check-prefix=ERROR
-RUN: not lldb-test object-file %p/Inputs/bad-module-id-2.syms 2>&1 | FileCheck %s --check-prefix=ERROR
-RUN: not lldb-test object-file %p/Inputs/bad-module-id-3.syms 2>&1 | FileCheck %s --check-prefix=ERROR
-
-LINUX: Plugin name: breakpad
-LINUX: Architecture: x86_64--linux
-LINUX: UUID: 554889E5-5DC3-CCCC-CCCC-CCCCCCCCCCCC
-LINUX: Executable: false
-LINUX: Stripped: false
-LINUX: Type: debug info
-LINUX: Strata: user
-
-MAC: Plugin name: breakpad
-MAC: Architecture: x86_64--macosx
-MAC: UUID: 680E8CD9-8920-1BAA-EACD-6A8C1F16707B
-MAC: Executable: false
-MAC: Stripped: false
-MAC: Type: debug info
-MAC: Strata: user
-
-WINDOWS: Plugin name: breakpad
-WINDOWS: Architecture: i386--windows
-WINDOWS: UUID: 5716C9A0-B580-0949-81A1-925EA62165C0-01000000
-WINDOWS: Executable: false
-WINDOWS: Stripped: false
-WINDOWS: Type: debug info
-WINDOWS: Strata: user
-
-ERROR: not recognised as an object file

Removed: lldb/trunk/lit/Modules/Breakpad/lit.local.cfg
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/lit/Modules/Breakpad/lit.local.cfg?rev=348628&view=auto
==============================================================================
--- lldb/trunk/lit/Modules/Breakpad/lit.local.cfg (original)
+++ lldb/trunk/lit/Modules/Breakpad/lit.local.cfg (removed)
@@ -1 +0,0 @@
-config.suffixes = ['.test']

Modified: lldb/trunk/source/API/SystemInitializerFull.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SystemInitializerFull.cpp?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/source/API/SystemInitializerFull.cpp (original)
+++ lldb/trunk/source/API/SystemInitializerFull.cpp Fri Dec  7 10:59:00 2018
@@ -62,7 +62,6 @@
 #include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h"
 #include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
 #include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"
-#include "Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h"
 #include "Plugins/ObjectFile/ELF/ObjectFileELF.h"
 #include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
 #include "Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h"
@@ -269,7 +268,6 @@ SystemInitializerFull::Initialize(const
   if (auto e = SystemInitializerCommon::Initialize(options))
     return e;
 
-  breakpad::ObjectFileBreakpad::Initialize();
   ObjectFileELF::Initialize();
   ObjectFileMachO::Initialize();
   ObjectFilePECOFF::Initialize();
@@ -527,7 +525,6 @@ void SystemInitializerFull::Terminate()
   PlatformDarwinKernel::Terminate();
 #endif
 
-  breakpad::ObjectFileBreakpad::Terminate();
   ObjectFileELF::Terminate();
   ObjectFileMachO::Terminate();
   ObjectFilePECOFF::Terminate();

Removed: lldb/trunk/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt?rev=348628&view=auto
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt (original)
+++ lldb/trunk/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt (removed)
@@ -1,11 +0,0 @@
-add_lldb_library(lldbPluginObjectFileBreakpad PLUGIN
-  ObjectFileBreakpad.cpp
-
-  LINK_LIBS
-    lldbCore
-    lldbHost
-    lldbSymbol
-    lldbUtility
-  LINK_COMPONENTS
-    Support
-  )

Removed: lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp?rev=348628&view=auto
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp (original)
+++ lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp (removed)
@@ -1,239 +0,0 @@
-//===-- ObjectFileBreakpad.cpp -------------------------------- -*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h"
-#include "lldb/Core/ModuleSpec.h"
-#include "lldb/Core/PluginManager.h"
-#include "lldb/Utility/DataBuffer.h"
-#include "llvm/ADT/StringExtras.h"
-
-using namespace lldb;
-using namespace lldb_private;
-using namespace lldb_private::breakpad;
-
-namespace {
-struct Header {
-  ArchSpec arch;
-  UUID uuid;
-  static llvm::Optional<Header> parse(llvm::StringRef text);
-};
-} // namespace
-
-static llvm::Triple::OSType toOS(llvm::StringRef str) {
-  using llvm::Triple;
-  return llvm::StringSwitch<Triple::OSType>(str)
-      .Case("Linux", Triple::Linux)
-      .Case("mac", Triple::MacOSX)
-      .Case("windows", Triple::Win32)
-      .Default(Triple::UnknownOS);
-}
-
-static llvm::Triple::ArchType toArch(llvm::StringRef str) {
-  using llvm::Triple;
-  return llvm::StringSwitch<Triple::ArchType>(str)
-      .Case("arm", Triple::arm)
-      .Case("arm64", Triple::aarch64)
-      .Case("mips", Triple::mips)
-      .Case("ppc", Triple::ppc)
-      .Case("ppc64", Triple::ppc64)
-      .Case("s390", Triple::systemz)
-      .Case("sparc", Triple::sparc)
-      .Case("sparcv9", Triple::sparcv9)
-      .Case("x86", Triple::x86)
-      .Case("x86_64", Triple::x86_64)
-      .Default(Triple::UnknownArch);
-}
-
-static llvm::StringRef consume_front(llvm::StringRef &str, size_t n) {
-  llvm::StringRef result = str.take_front(n);
-  str = str.drop_front(n);
-  return result;
-}
-
-static UUID parseModuleId(llvm::Triple::OSType os, llvm::StringRef str) {
-  struct uuid_data {
-    llvm::support::ulittle32_t uuid1;
-    llvm::support::ulittle16_t uuid2[2];
-    uint8_t uuid3[8];
-    llvm::support::ulittle32_t age;
-  } data;
-  static_assert(sizeof(data) == 20, "");
-  // The textual module id encoding should be between 33 and 40 bytes long,
-  // depending on the size of the age field, which is of variable length.
-  // The first three chunks of the id are encoded in big endian, so we need to
-  // byte-swap those.
-  if (str.size() < 33 || str.size() > 40)
-    return UUID();
-  uint32_t t;
-  if (to_integer(consume_front(str, 8), t, 16))
-    data.uuid1 = t;
-  else
-    return UUID();
-  for (int i = 0; i < 2; ++i) {
-    if (to_integer(consume_front(str, 4), t, 16))
-      data.uuid2[i] = t;
-    else
-      return UUID();
-  }
-  for (int i = 0; i < 8; ++i) {
-    if (!to_integer(consume_front(str, 2), data.uuid3[i], 16))
-      return UUID();
-  }
-  if (to_integer(str, t, 16))
-    data.age = t;
-  else
-    return UUID();
-
-  // On non-windows, the age field should always be zero, so we don't include to
-  // match the native uuid format of these platforms.
-  return UUID::fromData(&data, os == llvm::Triple::Win32 ? 20 : 16);
-}
-
-llvm::Optional<Header> Header::parse(llvm::StringRef text) {
-  // A valid module should start with something like:
-  // MODULE Linux x86_64 E5894855C35DCCCCCCCCCCCCCCCCCCCC0 a.out
-  // optionally followed by
-  // INFO CODE_ID 554889E55DC3CCCCCCCCCCCCCCCCCCCC [a.exe]
-  llvm::StringRef token, line;
-  std::tie(line, text) = text.split('\n');
-  std::tie(token, line) = getToken(line);
-  if (token != "MODULE")
-    return llvm::None;
-
-  std::tie(token, line) = getToken(line);
-  llvm::Triple triple;
-  triple.setOS(toOS(token));
-  if (triple.getOS() == llvm::Triple::UnknownOS)
-    return llvm::None;
-
-  std::tie(token, line) = getToken(line);
-  triple.setArch(toArch(token));
-  if (triple.getArch() == llvm::Triple::UnknownArch)
-    return llvm::None;
-
-  llvm::StringRef module_id;
-  std::tie(module_id, line) = getToken(line);
-
-  std::tie(line, text) = text.split('\n');
-  std::tie(token, line) = getToken(line);
-  if (token == "INFO") {
-    std::tie(token, line) = getToken(line);
-    if (token != "CODE_ID")
-      return llvm::None;
-
-    std::tie(token, line) = getToken(line);
-    // If we don't have any text following the code id (e.g. on linux), we
-    // should use the module id as UUID. Otherwise, we revert back to the module
-    // id.
-    if (line.trim().empty()) {
-      UUID uuid;
-      if (uuid.SetFromStringRef(token, token.size() / 2) != token.size())
-        return llvm::None;
-
-      return Header{ArchSpec(triple), uuid};
-    }
-  }
-
-  // We reach here if we don't have a INFO CODE_ID section, or we chose not to
-  // use it. In either case, we need to properly decode the module id, whose
-  // fields are encoded in big-endian.
-  UUID uuid = parseModuleId(triple.getOS(), module_id);
-  if (!uuid)
-    return llvm::None;
-
-  return Header{ArchSpec(triple), uuid};
-}
-
-void ObjectFileBreakpad::Initialize() {
-  PluginManager::RegisterPlugin(GetPluginNameStatic(),
-                                GetPluginDescriptionStatic(), CreateInstance,
-                                nullptr, GetModuleSpecifications);
-}
-
-void ObjectFileBreakpad::Terminate() {
-  PluginManager::UnregisterPlugin(CreateInstance);
-}
-
-ConstString ObjectFileBreakpad::GetPluginNameStatic() {
-  static ConstString g_name("breakpad");
-  return g_name;
-}
-
-ObjectFile *ObjectFileBreakpad::CreateInstance(
-    const ModuleSP &module_sp, DataBufferSP &data_sp, offset_t data_offset,
-    const FileSpec *file, offset_t file_offset, offset_t length) {
-  if (!data_sp) {
-    data_sp = MapFileData(*file, length, file_offset);
-    if (!data_sp)
-      return nullptr;
-    data_offset = 0;
-  }
-  auto text = toStringRef(data_sp->GetData());
-  llvm::Optional<Header> header = Header::parse(text);
-  if (!header)
-    return nullptr;
-
-  // Update the data to contain the entire file if it doesn't already
-  if (data_sp->GetByteSize() < length) {
-    data_sp = MapFileData(*file, length, file_offset);
-    if (!data_sp)
-      return nullptr;
-    data_offset = 0;
-  }
-
-  return new ObjectFileBreakpad(module_sp, data_sp, data_offset, file,
-                                file_offset, length, std::move(header->arch),
-                                std::move(header->uuid));
-}
-
-size_t ObjectFileBreakpad::GetModuleSpecifications(
-    const FileSpec &file, DataBufferSP &data_sp, offset_t data_offset,
-    offset_t file_offset, offset_t length, ModuleSpecList &specs) {
-  auto text = toStringRef(data_sp->GetData());
-  llvm::Optional<Header> header = Header::parse(text);
-  if (!header)
-    return 0;
-  ModuleSpec spec(file, std::move(header->arch));
-  spec.GetUUID() = std::move(header->uuid);
-  specs.Append(spec);
-  return 1;
-}
-
-ObjectFileBreakpad::ObjectFileBreakpad(const ModuleSP &module_sp,
-                                       DataBufferSP &data_sp,
-                                       offset_t data_offset,
-                                       const FileSpec *file, offset_t offset,
-                                       offset_t length, ArchSpec arch,
-                                       UUID uuid)
-    : ObjectFile(module_sp, file, offset, length, data_sp, data_offset),
-      m_arch(std::move(arch)), m_uuid(std::move(uuid)) {}
-
-bool ObjectFileBreakpad::ParseHeader() {
-  // We already parsed the header during initialization.
-  return true;
-}
-
-Symtab *ObjectFileBreakpad::GetSymtab() {
-  // TODO
-  return nullptr;
-}
-
-bool ObjectFileBreakpad::GetArchitecture(ArchSpec &arch) {
-  arch = m_arch;
-  return true;
-}
-
-bool ObjectFileBreakpad::GetUUID(UUID *uuid) {
-  *uuid = m_uuid;
-  return true;
-}
-
-void ObjectFileBreakpad::CreateSections(SectionList &unified_section_list) {
-  // TODO
-}

Removed: lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h?rev=348628&view=auto
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h (original)
+++ lldb/trunk/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h (removed)
@@ -1,104 +0,0 @@
-//===-- ObjectFileBreakpad.h ---------------------------------- -*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_PLUGINS_OBJECTFILE_BREAKPAD_OBJECTFILEBREAKPAD_H
-#define LLDB_PLUGINS_OBJECTFILE_BREAKPAD_OBJECTFILEBREAKPAD_H
-
-#include "lldb/Symbol/ObjectFile.h"
-#include "lldb/Utility/ArchSpec.h"
-#include "llvm/ADT/Triple.h"
-
-namespace lldb_private {
-namespace breakpad {
-
-class ObjectFileBreakpad : public ObjectFile {
-public:
-  //------------------------------------------------------------------
-  // Static Functions
-  //------------------------------------------------------------------
-  static void Initialize();
-  static void Terminate();
-
-  static ConstString GetPluginNameStatic();
-  static const char *GetPluginDescriptionStatic() {
-    return "Breakpad object file reader.";
-  }
-
-  static ObjectFile *
-  CreateInstance(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp,
-                 lldb::offset_t data_offset, const FileSpec *file,
-                 lldb::offset_t file_offset, lldb::offset_t length);
-
-  static size_t GetModuleSpecifications(const FileSpec &file,
-                                        lldb::DataBufferSP &data_sp,
-                                        lldb::offset_t data_offset,
-                                        lldb::offset_t file_offset,
-                                        lldb::offset_t length,
-                                        ModuleSpecList &specs);
-
-  //------------------------------------------------------------------
-  // PluginInterface protocol
-  //------------------------------------------------------------------
-  ConstString GetPluginName() override { return GetPluginNameStatic(); }
-
-  uint32_t GetPluginVersion() override { return 1; }
-
-  //------------------------------------------------------------------
-  // ObjectFile Protocol.
-  //------------------------------------------------------------------
-
-  bool ParseHeader() override;
-
-  lldb::ByteOrder GetByteOrder() const override {
-    return m_arch.GetByteOrder();
-  }
-
-  bool IsExecutable() const override { return false; }
-
-  uint32_t GetAddressByteSize() const override {
-    return m_arch.GetAddressByteSize();
-  }
-
-  AddressClass GetAddressClass(lldb::addr_t file_addr) override {
-    return AddressClass::eInvalid;
-  }
-
-  Symtab *GetSymtab() override;
-
-  bool IsStripped() override { return false; }
-
-  void CreateSections(SectionList &unified_section_list) override;
-
-  void Dump(Stream *s) override {}
-
-  bool GetArchitecture(ArchSpec &arch) override;
-
-  bool GetUUID(UUID *uuid) override;
-
-  FileSpecList GetDebugSymbolFilePaths() override { return FileSpecList(); }
-
-  uint32_t GetDependentModules(FileSpecList &files) override { return 0; }
-
-  Type CalculateType() override { return eTypeDebugInfo; }
-
-  Strata CalculateStrata() override { return eStrataUser; }
-
-private:
-  ArchSpec m_arch;
-  UUID m_uuid;
-
-  ObjectFileBreakpad(const lldb::ModuleSP &module_sp,
-                     lldb::DataBufferSP &data_sp, lldb::offset_t data_offset,
-                     const FileSpec *file, lldb::offset_t offset,
-                     lldb::offset_t length, ArchSpec arch, UUID uuid);
-};
-
-} // namespace breakpad
-} // namespace lldb_private
-#endif // LLDB_PLUGINS_OBJECTFILE_BREAKPAD_OBJECTFILEBREAKPAD_H

Modified: lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt (original)
+++ lldb/trunk/source/Plugins/ObjectFile/CMakeLists.txt Fri Dec  7 10:59:00 2018
@@ -1,5 +1,4 @@
-add_subdirectory(Breakpad)
 add_subdirectory(ELF)
 add_subdirectory(Mach-O)
 add_subdirectory(PECOFF)
-add_subdirectory(JIT)
+add_subdirectory(JIT)
\ No newline at end of file

Modified: lldb/trunk/source/Symbol/ObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ObjectFile.cpp?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ObjectFile.cpp (original)
+++ lldb/trunk/source/Symbol/ObjectFile.cpp Fri Dec  7 10:59:00 2018
@@ -688,63 +688,3 @@ DataBufferSP ObjectFile::MapFileData(con
                                      uint64_t Offset) {
   return FileSystem::Instance().CreateDataBuffer(file.GetPath(), Size, Offset);
 }
-
-void llvm::format_provider<ObjectFile::Type>::format(
-    const ObjectFile::Type &type, raw_ostream &OS, StringRef Style) {
-  switch (type) {
-  case ObjectFile::eTypeInvalid:
-    OS << "invalid";
-    break;
-  case ObjectFile::eTypeCoreFile:
-    OS << "core file";
-    break;
-  case ObjectFile::eTypeExecutable:
-    OS << "executable";
-    break;
-  case ObjectFile::eTypeDebugInfo:
-    OS << "debug info";
-    break;
-  case ObjectFile::eTypeDynamicLinker:
-    OS << "dynamic linker";
-    break;
-  case ObjectFile::eTypeObjectFile:
-    OS << "object file";
-    break;
-  case ObjectFile::eTypeSharedLibrary:
-    OS << "shared library";
-    break;
-  case ObjectFile::eTypeStubLibrary:
-    OS << "stub library";
-    break;
-  case ObjectFile::eTypeJIT:
-    OS << "jit";
-    break;
-  case ObjectFile::eTypeUnknown:
-    OS << "unknown";
-    break;
-  }
-}
-
-void llvm::format_provider<ObjectFile::Strata>::format(
-    const ObjectFile::Strata &strata, raw_ostream &OS, StringRef Style) {
-  switch (strata) {
-  case ObjectFile::eStrataInvalid:
-    OS << "invalid";
-    break;
-  case ObjectFile::eStrataUnknown:
-    OS << "unknown";
-    break;
-  case ObjectFile::eStrataUser:
-    OS << "user";
-    break;
-  case ObjectFile::eStrataKernel:
-    OS << "kernel";
-    break;
-  case ObjectFile::eStrataRawImage:
-    OS << "raw image";
-    break;
-  case ObjectFile::eStrataJIT:
-    OS << "jit";
-    break;
-  }
-}

Modified: lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp (original)
+++ lldb/trunk/tools/lldb-test/SystemInitializerTest.cpp Fri Dec  7 10:59:00 2018
@@ -52,7 +52,6 @@
 #include "Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h"
 #include "Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h"
 #include "Plugins/MemoryHistory/asan/MemoryHistoryASan.h"
-#include "Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h"
 #include "Plugins/ObjectFile/ELF/ObjectFileELF.h"
 #include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
 #include "Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h"
@@ -117,7 +116,6 @@ SystemInitializerTest::Initialize(const
   if (auto e = SystemInitializerCommon::Initialize(options))
     return e;
 
-  breakpad::ObjectFileBreakpad::Initialize();
   ObjectFileELF::Initialize();
   ObjectFileMachO::Initialize();
   ObjectFilePECOFF::Initialize();
@@ -333,7 +331,6 @@ void SystemInitializerTest::Terminate()
   PlatformDarwinKernel::Terminate();
 #endif
 
-  breakpad::ObjectFileBreakpad::Terminate();
   ObjectFileELF::Terminate();
   ObjectFileMachO::Terminate();
   ObjectFilePECOFF::Terminate();

Modified: lldb/trunk/tools/lldb-test/lldb-test.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-test/lldb-test.cpp?rev=348629&r1=348628&r2=348629&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-test/lldb-test.cpp (original)
+++ lldb/trunk/tools/lldb-test/lldb-test.cpp Fri Dec  7 10:59:00 2018
@@ -726,14 +726,6 @@ static int dumpObjectFiles(Debugger &Dbg
     ModuleSpec Spec{FileSpec(File)};
 
     auto ModulePtr = std::make_shared<lldb_private::Module>(Spec);
-
-    ObjectFile *ObjectPtr = ModulePtr->GetObjectFile();
-    if (!ObjectPtr) {
-      WithColor::error() << File << " not recognised as an object file\n";
-      HadErrors = 1;
-      continue;
-    }
-
     // Fetch symbol vendor before we get the section list to give the symbol
     // vendor a chance to populate it.
     ModulePtr->GetSymbolVendor();
@@ -744,14 +736,9 @@ static int dumpObjectFiles(Debugger &Dbg
       continue;
     }
 
-    Printer.formatLine("Plugin name: {0}", ObjectPtr->GetPluginName());
     Printer.formatLine("Architecture: {0}",
                        ModulePtr->GetArchitecture().GetTriple().getTriple());
     Printer.formatLine("UUID: {0}", ModulePtr->GetUUID().GetAsString());
-    Printer.formatLine("Executable: {0}", ObjectPtr->IsExecutable());
-    Printer.formatLine("Stripped: {0}", ObjectPtr->IsStripped());
-    Printer.formatLine("Type: {0}", ObjectPtr->GetType());
-    Printer.formatLine("Strata: {0}", ObjectPtr->GetStrata());
 
     size_t Count = Sections->GetNumSections(0);
     Printer.formatLine("Showing {0} sections", Count);




More information about the lldb-commits mailing list