This revision was not accepted when it landed; it landed in state "Needs 
Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rL335967: Add a test for reading lld-generated build-ids 
(authored by labath, committed by ).
Herald added a subscriber: llvm-commits.

Repository:
  rL LLVM

https://reviews.llvm.org/D48646

Files:
  lldb/trunk/lit/Modules/build-id-case.yaml
  lldb/trunk/lit/Modules/compressed-sections.yaml
  lldb/trunk/lit/Modules/elf-duplicate-section.yaml
  lldb/trunk/lit/Modules/elf-section-types.yaml
  lldb/trunk/lit/Modules/lc_version_min.yaml
  lldb/trunk/lit/Modules/short-build-id.yaml
  lldb/trunk/tools/lldb-test/lldb-test.cpp

Index: lldb/trunk/lit/Modules/elf-section-types.yaml
===================================================================
--- lldb/trunk/lit/Modules/elf-section-types.yaml
+++ lldb/trunk/lit/Modules/elf-section-types.yaml
@@ -1,5 +1,5 @@
 # RUN: yaml2obj %s > %t
-# RUN: lldb-test module-sections %t | FileCheck %s
+# RUN: lldb-test object-file %t | FileCheck %s
 
 # CHECK: Name: .text
 # CHECK-NEXT: Type: code
Index: lldb/trunk/lit/Modules/compressed-sections.yaml
===================================================================
--- lldb/trunk/lit/Modules/compressed-sections.yaml
+++ lldb/trunk/lit/Modules/compressed-sections.yaml
@@ -1,6 +1,6 @@
 # REQUIRES: zlib
 # RUN: yaml2obj %s > %t
-# RUN: lldb-test module-sections --contents %t | FileCheck %s
+# RUN: lldb-test object-file --contents %t | FileCheck %s
 --- !ELF
 FileHeader:
   Class:           ELFCLASS32
Index: lldb/trunk/lit/Modules/short-build-id.yaml
===================================================================
--- lldb/trunk/lit/Modules/short-build-id.yaml
+++ lldb/trunk/lit/Modules/short-build-id.yaml
@@ -0,0 +1,26 @@
+# RUN: yaml2obj %s >%t
+# RUN: lldb-test object-file %t | FileCheck %s
+
+# CHECK: UUID: 333059A4-3CC3-D5F9
+
+--- !ELF
+FileHeader:      
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_EXEC
+  Machine:         EM_X86_64
+  Entry:           0x0000000000201000
+Sections:        
+  - Name:            .note.gnu.build-id
+    Type:            SHT_NOTE
+    Flags:           [ SHF_ALLOC ]
+    Address:         0x0000000000200190
+    AddressAlign:    0x0000000000000004
+    Content:         040000000800000003000000474E5500333059A43CC3D5F9
+  - Name:            .text
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    Address:         0x0000000000201000
+    AddressAlign:    0x0000000000000004
+    Content:         ''
+...
Index: lldb/trunk/lit/Modules/lc_version_min.yaml
===================================================================
--- lldb/trunk/lit/Modules/lc_version_min.yaml
+++ lldb/trunk/lit/Modules/lc_version_min.yaml
@@ -1,8 +1,8 @@
 # RUN: yaml2obj %s > %t.out
-# RUN: lldb-test symbols %t.out | FileCheck %s
+# RUN: lldb-test object-file %t.out | FileCheck %s
 
 # Test that the deployment target is parsed from the load commands.
-# CHECK: x86_64-apple-macosx10.9.0
+# CHECK: Architecture: x86_64-apple-macosx10.9.0
 --- !mach-o
 FileHeader:      
   magic:           0xFEEDFACF
Index: lldb/trunk/lit/Modules/build-id-case.yaml
===================================================================
--- lldb/trunk/lit/Modules/build-id-case.yaml
+++ lldb/trunk/lit/Modules/build-id-case.yaml
@@ -2,7 +2,7 @@
 # RUN: yaml2obj %s > %t/.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug
 # RUN: cd %t
 # RUN: llvm-objcopy --strip-all --add-gnu-debuglink=.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug %t/.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug %t/stripped.out
-# RUN: lldb-test module-sections %t/stripped.out | FileCheck %s
+# RUN: lldb-test object-file %t/stripped.out | FileCheck %s
 
 # CHECK: Name: .debug_frame
 # CHECK-NEXT: Type: dwarf-frame
Index: lldb/trunk/lit/Modules/elf-duplicate-section.yaml
===================================================================
--- lldb/trunk/lit/Modules/elf-duplicate-section.yaml
+++ lldb/trunk/lit/Modules/elf-duplicate-section.yaml
@@ -2,7 +2,7 @@
 # RUN: yaml2obj %s > %t/.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug
 # RUN: cd %t
 # RUN: llvm-objcopy --strip-all --add-gnu-debuglink=.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug %t/.build-id/1b/8a73ac238390e32a7ff4ac8ebe4d6a41ecf5c9.debug %t/stripped.out
-# RUN: lldb-test module-sections %t/stripped.out | FileCheck %s
+# RUN: lldb-test object-file %t/stripped.out | FileCheck %s
 
 # Make sure that the debug_frame section is present only once.
 # CHECK: Name: .debug_frame
Index: lldb/trunk/tools/lldb-test/lldb-test.cpp
===================================================================
--- lldb/trunk/tools/lldb-test/lldb-test.cpp
+++ lldb/trunk/tools/lldb-test/lldb-test.cpp
@@ -51,14 +51,15 @@
 namespace opts {
 static cl::SubCommand BreakpointSubcommand("breakpoints",
                                            "Test breakpoint resolution");
-cl::SubCommand ModuleSubcommand("module-sections",
-                                "Display LLDB Module Information");
+cl::SubCommand ObjectFileSubcommand("object-file",
+                                    "Display LLDB object file information");
 cl::SubCommand SymbolsSubcommand("symbols", "Dump symbols for an object file");
 cl::SubCommand IRMemoryMapSubcommand("ir-memory-map", "Test IRMemoryMap");
 
 cl::opt<std::string> Log("log", cl::desc("Path to a log file"), cl::init(""),
                          cl::sub(BreakpointSubcommand),
-                         cl::sub(ModuleSubcommand), cl::sub(SymbolsSubcommand),
+                         cl::sub(ObjectFileSubcommand),
+                         cl::sub(SymbolsSubcommand),
                          cl::sub(IRMemoryMapSubcommand));
 
 /// Create a target using the file pointed to by \p Filename, or abort.
@@ -85,13 +86,14 @@
 static int evaluateBreakpoints(Debugger &Dbg);
 } // namespace breakpoint
 
-namespace module {
+namespace object {
 cl::opt<bool> SectionContents("contents",
                               cl::desc("Dump each section's contents"),
-                              cl::sub(ModuleSubcommand));
+                              cl::sub(ObjectFileSubcommand));
 cl::list<std::string> InputFilenames(cl::Positional, cl::desc("<input files>"),
-                                     cl::OneOrMore, cl::sub(ModuleSubcommand));
-} // namespace module
+                                     cl::OneOrMore,
+                                     cl::sub(ObjectFileSubcommand));
+} // namespace object
 
 namespace symbols {
 static cl::list<std::string> InputFilenames(cl::Positional,
@@ -616,11 +618,11 @@
   return HadErrors;
 }
 
-static int dumpModules(Debugger &Dbg) {
+static int dumpObjectFiles(Debugger &Dbg) {
   LinePrinter Printer(4, llvm::outs());
 
   int HadErrors = 0;
-  for (const auto &File : opts::module::InputFilenames) {
+  for (const auto &File : opts::object::InputFilenames) {
     ModuleSpec Spec{FileSpec(File, false)};
 
     auto ModulePtr = std::make_shared<lldb_private::Module>(Spec);
@@ -634,6 +636,10 @@
       continue;
     }
 
+    Printer.formatLine("Architecture: {0}",
+                       ModulePtr->GetArchitecture().GetTriple().getTriple());
+    Printer.formatLine("UUID: {0}", ModulePtr->GetUUID().GetAsString());
+
     size_t Count = Sections->GetNumSections(0);
     Printer.formatLine("Showing {0} sections", Count);
     for (size_t I = 0; I < Count; ++I) {
@@ -646,7 +652,7 @@
       Printer.formatLine("VM size: {0}", S->GetByteSize());
       Printer.formatLine("File size: {0}", S->GetFileSize());
 
-      if (opts::module::SectionContents) {
+      if (opts::object::SectionContents) {
         DataExtractor Data;
         S->GetSectionData(Data);
         ArrayRef<uint8_t> Bytes = {Data.GetDataStart(), Data.GetDataEnd()};
@@ -841,8 +847,8 @@
 
   if (opts::BreakpointSubcommand)
     return opts::breakpoint::evaluateBreakpoints(*Dbg);
-  if (opts::ModuleSubcommand)
-    return dumpModules(*Dbg);
+  if (opts::ObjectFileSubcommand)
+    return dumpObjectFiles(*Dbg);
   if (opts::SymbolsSubcommand)
     return opts::symbols::dumpSymbols(*Dbg);
   if (opts::IRMemoryMapSubcommand)
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to