Author: Jason Molenda
Date: 2025-06-05T17:47:04-07:00
New Revision: 7730093596b898fa2773003f396da4b3ad1f3c0a

URL: 
https://github.com/llvm/llvm-project/commit/7730093596b898fa2773003f396da4b3ad1f3c0a
DIFF: 
https://github.com/llvm/llvm-project/commit/7730093596b898fa2773003f396da4b3ad1f3c0a.diff

LOG: Revert "[lldb] Don't create instance of `SymbolFileDWARFDebugMap` for 
non-Mach-O files (#139170)"

This reverts commit 3096f8768676bd64123270cc59b7cc904a72d875.

Reverting this commit because it depends on another PR
that was reverted, https://github.com/llvm/llvm-project/pull/142704

Both can be reapplied once we find a correct fix for that.

Added: 
    

Modified: 
    lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    lldb/unittests/SymbolFile/DWARF/CMakeLists.txt

Removed: 
    lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp


################################################################################
diff  --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp 
b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
index 83437c2db8778..f3a940b2ee396 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
@@ -246,10 +246,6 @@ llvm::StringRef 
SymbolFileDWARFDebugMap::GetPluginDescriptionStatic() {
 }
 
 SymbolFile *SymbolFileDWARFDebugMap::CreateInstance(ObjectFileSP objfile_sp) {
-  assert(objfile_sp);
-  // Don't create a debug map if the object file isn't a Mach-O.
-  if (!objfile_sp->GetArchitecture().GetTriple().isAppleMachO())
-    return nullptr;
   return new SymbolFileDWARFDebugMap(std::move(objfile_sp));
 }
 

diff  --git a/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt 
b/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
index 7408f88c5ab89..cf8702209a7c3 100644
--- a/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
+++ b/lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
@@ -4,7 +4,6 @@ add_lldb_unittest(SymbolFileDWARFTests
   DWARFDIETest.cpp
   DWARFIndexCachingTest.cpp
   DWARFUnitTest.cpp
-  SymbolFileDWARFDebugMapTests.cpp
   SymbolFileDWARFTests.cpp
   XcodeSDKModuleTests.cpp
 

diff  --git a/lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp 
b/lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp
deleted file mode 100644
index 445304ad63110..0000000000000
--- a/lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFDebugMapTests.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-//===-- SymbolFileDWARFDebugMapTests.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: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "Plugins/ObjectFile/ELF/ObjectFileELF.h"
-#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
-#include "Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h"
-#include "TestingSupport/SubsystemRAII.h"
-#include "TestingSupport/TestUtilities.h"
-
-#include "lldb/Core/Module.h"
-#include "llvm/Testing/Support/Error.h"
-
-#include "gtest/gtest.h"
-
-using namespace lldb;
-using namespace lldb_private;
-using namespace lldb_private::plugin::dwarf;
-
-class SymbolFileDWARFDebugMapTests : public testing::Test {
-  SubsystemRAII<ObjectFileELF, ObjectFileMachO> subsystems;
-};
-
-TEST_F(SymbolFileDWARFDebugMapTests, CreateInstanceReturnNonNullForMachOFile) {
-  // A Mach-O file built for arm64 CPU type and macOS platform.
-  const char *yamldata = R"(
---- !mach-o
-FileHeader:
-  magic:           0xFEEDFACF
-  cputype:         0x0100000C
-  cpusubtype:      0x00000000
-  filetype:        0x00000001
-  ncmds:           1
-  sizeofcmds:      176
-  flags:           0x00002000
-  reserved:        0x00000000
-LoadCommands:
-  - cmd:             LC_BUILD_VERSION
-    cmdsize:         24
-    platform:        1
-    minos:           658944
-    sdk:             658944
-    ntools:          0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         152
-    segname:         __TEXT
-    vmaddr:          0
-    vmsize:          4
-    fileoff:         208
-    filesize:        4
-    maxprot:         7
-    initprot:        7
-    nsects:          1
-    flags:           0
-    Sections:
-      - sectname:        __text
-        segname:         __TEXT
-        addr:            0x0000000000000000
-        content:         'AABBCCDD'
-        size:            4
-        offset:          208
-        align:           0
-        reloff:          0x00000000
-        nreloc:          0
-        flags:           0x80000400
-        reserved1:       0x00000000
-        reserved2:       0x00000000
-        reserved3:       0x00000000
-...
-)";
-
-  // Perform setup.
-  llvm::Expected<TestFile> file = TestFile::fromYaml(yamldata);
-  EXPECT_THAT_EXPECTED(file, llvm::Succeeded());
-  auto module_sp = std::make_shared<Module>(file->moduleSpec());
-  ASSERT_NE(module_sp, nullptr);
-  auto object_file = module_sp->GetObjectFile();
-  ASSERT_NE(object_file, nullptr);
-
-  // The debug map should be non-null for Mach-O file.
-  auto debug_map =
-      SymbolFileDWARFDebugMap::CreateInstance(object_file->shared_from_this());
-  ASSERT_NE(debug_map, nullptr);
-}
-
-TEST_F(SymbolFileDWARFDebugMapTests, CreateInstanceReturnNullForNonMachOFile) {
-  // An ELF file.
-  const char *yamldata = R"(
---- !ELF
-FileHeader:
-  Class:   ELFCLASS64
-  Data:    ELFDATA2LSB
-  Type:    ET_EXEC
-  Machine: EM_386
-DWARF:
-  debug_abbrev:
-    - Table:
-        - Code:            0x00000001
-          Tag:             DW_TAG_compile_unit
-          Children:        DW_CHILDREN_no
-          Attributes:
-            - Attribute:       DW_AT_addr_base
-              Form:            DW_FORM_sec_offset
-  debug_info:
-    - Version:         5
-      AddrSize:        4
-      UnitType:        DW_UT_compile
-      Entries:
-        - AbbrCode:        0x00000001
-          Values:
-            - Value:           0x8 # Offset of the first Address past the 
header
-        - AbbrCode:        0x0
-  debug_addr:
-    - Version: 5
-      AddressSize: 4
-      Entries:
-        - Address: 0x1234
-        - Address: 0x5678
-  debug_line:
-    - Length:          42
-      Version:         2
-      PrologueLength:  36
-      MinInstLength:   1
-      DefaultIsStmt:   1
-      LineBase:        251
-      LineRange:       14
-      OpcodeBase:      13
-      StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
-      IncludeDirs:
-        - '/tmp'
-      Files:
-        - Name:            main.cpp
-          DirIdx:          1
-          ModTime:         0
-          Length:          0
-)";
-
-  // Perform setup.
-  llvm::Expected<TestFile> file = TestFile::fromYaml(yamldata);
-  EXPECT_THAT_EXPECTED(file, llvm::Succeeded());
-  auto module_sp = std::make_shared<Module>(file->moduleSpec());
-  ASSERT_NE(module_sp, nullptr);
-  auto object_file = module_sp->GetObjectFile();
-  ASSERT_NE(object_file, nullptr);
-
-  // The debug map should be null for non-Mach-O (ELF) file.
-  auto debug_map =
-      SymbolFileDWARFDebugMap::CreateInstance(object_file->shared_from_this());
-  ASSERT_EQ(debug_map, nullptr);
-}


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to