[Lldb-commits] [lldb] r353243 - Fix PathMappingList::FindFile to handle relative incoming FileSpecs.

Jim Ingham via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 5 15:48:10 PST 2019


Author: jingham
Date: Tue Feb  5 15:48:10 2019
New Revision: 353243

URL: http://llvm.org/viewvc/llvm-project?rev=353243&view=rev
Log:
Fix PathMappingList::FindFile to handle relative incoming FileSpecs.

An equivalent change was made to RemapPaths, but it needed to be made 
here as well.  Also added a test for this and made the setup a little
more complex to avoid false successes.

<rdar://problem/47642498>

Differential Revision: https://reviews.llvm.org/D57552

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/TestTargetSourceMap.py
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/a.yaml
    lldb/trunk/source/Target/PathMappingList.cpp

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/TestTargetSourceMap.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/TestTargetSourceMap.py?rev=353243&r1=353242&r2=353243&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/TestTargetSourceMap.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/TestTargetSourceMap.py Tue Feb  5 15:48:10 2019
@@ -15,16 +15,9 @@ class TestTargetSourceMap(TestBase):
         src_path = os.path.join(src_dir, "main.c")
         yaml_path = os.path.join(src_dir, "a.yaml")
         yaml_base, ext = os.path.splitext(yaml_path)
-        obj_path = self.getBuildArtifact(yaml_base)
+        obj_path = self.getBuildArtifact("main.o")
         self.yaml2obj(yaml_path, obj_path)
 
-        def cleanup():
-            if os.path.exists(obj_path):
-                os.unlink(obj_path)
-
-        # Execute the cleanup function during test case tear down.
-        self.addTearDownHook(cleanup)
-
         # Create a target with the object file we just created from YAML
         target = self.dbg.CreateTarget(obj_path)
 
@@ -32,10 +25,19 @@ class TestTargetSourceMap(TestBase):
         bp = target.BreakpointCreateByLocation(src_path, 2)
         self.assertTrue(bp.GetNumLocations() == 0,
                         "make sure no breakpoints were resolved without map")
-        src_map_cmd = 'settings set target.source-map ./ "%s"' % (src_dir)
+        src_map_cmd = 'settings set target.source-map . "%s"' % (src_dir)
         self.dbg.HandleCommand(src_map_cmd)
 
         # Set a breakpoint after we remap source and verify that it succeeds
         bp = target.BreakpointCreateByLocation(src_path, 2)
         self.assertTrue(bp.GetNumLocations() == 1,
                         "make sure breakpoint was resolved with map")
+
+        # Now make sure that we can actually FIND the source file using this
+        # remapping:
+        retval = lldb.SBCommandReturnObject()
+        self.dbg.GetCommandInterpreter().HandleCommand("source list -f main.c -l 2", retval)
+        self.assertTrue(retval.Succeeded(), "source list didn't succeed.")
+        self.assertTrue(retval.GetOutput() != None, "We got no ouput from source list")
+        self.assertTrue("return" in retval.GetOutput(), "We didn't find the source file...")
+        

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/a.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/a.yaml?rev=353243&r1=353242&r2=353243&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/a.yaml (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/source-map/a.yaml Tue Feb  5 15:48:10 2019
@@ -1,51 +1,31 @@
 --- !mach-o
-FileHeader:
+FileHeader:      
   magic:           0xFEEDFACF
   cputype:         0x01000007
   cpusubtype:      0x00000003
-  filetype:        0x0000000A
-  ncmds:           6
-  sizeofcmds:      1376
-  flags:           0x00000000
+  filetype:        0x00000001
+  ncmds:           4
+  sizeofcmds:      1160
+  flags:           0x00002000
   reserved:        0x00000000
-LoadCommands:
-  - cmd:             LC_UUID
-    cmdsize:         24
-    uuid:            D37CC773-C218-3F97-99C9-CE4E77DDF2CE
-  - cmd:             LC_SYMTAB
-    cmdsize:         24
-    symoff:          4096
-    nsyms:           2
-    stroff:          4128
-    strsize:         28
+LoadCommands:    
   - cmd:             LC_SEGMENT_64
-    cmdsize:         72
-    segname:         __PAGEZERO
+    cmdsize:         1032
+    segname:         ''
     vmaddr:          0
-    vmsize:          4294967296
-    fileoff:         0
-    filesize:        0
-    maxprot:         0
-    initprot:        0
-    nsects:          0
-    flags:           0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         232
-    segname:         __TEXT
-    vmaddr:          4294967296
-    vmsize:          4096
-    fileoff:         0
-    filesize:        0
+    vmsize:          744
+    fileoff:         1192
+    filesize:        744
     maxprot:         7
-    initprot:        5
-    nsects:          2
+    initprot:        7
+    nsects:          12
     flags:           0
-    Sections:
+    Sections:        
       - sectname:        __text
         segname:         __TEXT
-        addr:            0x0000000100000FA0
-        size:            15
-        offset:          0x00000000
+        addr:            0x0000000000000000
+        size:            22
+        offset:          0x000004A8
         align:           4
         reloff:          0x00000000
         nreloc:          0
@@ -53,203 +33,196 @@ LoadCommands:
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __unwind_info
-        segname:         __TEXT
-        addr:            0x0000000100000FB0
-        size:            72
-        offset:          0x00000000
-        align:           2
-        reloff:          0x00000000
-        nreloc:          0
-        flags:           0x00000000
-        reserved1:       0x00000000
-        reserved2:       0x00000000
-        reserved3:       0x00000000
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         72
-    segname:         __LINKEDIT
-    vmaddr:          4294971392
-    vmsize:          4096
-    fileoff:         4096
-    filesize:        60
-    maxprot:         7
-    initprot:        1
-    nsects:          0
-    flags:           0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         952
-    segname:         __DWARF
-    vmaddr:          4294975488
-    vmsize:          4096
-    fileoff:         8192
-    filesize:        563
-    maxprot:         7
-    initprot:        3
-    nsects:          11
-    flags:           0
-    Sections:
-      - sectname:        __debug_line
+      - sectname:        __debug_str
         segname:         __DWARF
-        addr:            0x0000000100002000
-        size:            60
-        offset:          0x00002000
+        addr:            0x0000000000000016
+        size:            108
+        offset:          0x000004BE
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_pubnames
+      - sectname:        __debug_abbrev
         segname:         __DWARF
-        addr:            0x000000010000203C
-        size:            27
-        offset:          0x0000203C
+        addr:            0x0000000000000082
+        size:            83
+        offset:          0x0000052A
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_pubtypes
+      - sectname:        __debug_info
         segname:         __DWARF
-        addr:            0x0000000100002057
-        size:            26
-        offset:          0x00002057
+        addr:            0x00000000000000D5
+        size:            126
+        offset:          0x0000057D
         align:           0
-        reloff:          0x00000000
-        nreloc:          0
-        flags:           0x00000000
+        reloff:          0x00000790
+        nreloc:          2
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_aranges
+      - sectname:        __debug_macinfo
         segname:         __DWARF
-        addr:            0x0000000100002071
-        size:            48
-        offset:          0x00002071
+        addr:            0x0000000000000153
+        size:            1
+        offset:          0x000005FB
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_info
+      - sectname:        __apple_names
         segname:         __DWARF
-        addr:            0x00000001000020A1
-        size:            75
-        offset:          0x000020A1
+        addr:            0x0000000000000154
+        size:            60
+        offset:          0x000005FC
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_abbrev
+      - sectname:        __apple_objc
         segname:         __DWARF
-        addr:            0x00000001000020EC
-        size:            52
-        offset:          0x000020EC
+        addr:            0x0000000000000190
+        size:            36
+        offset:          0x00000638
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __debug_str
+      - sectname:        __apple_namespac
         segname:         __DWARF
-        addr:            0x0000000100002120
-        size:            28
-        offset:          0x00002120
+        addr:            0x00000000000001B4
+        size:            36
+        offset:          0x0000065C
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __apple_names
+      - sectname:        __apple_types
         segname:         __DWARF
-        addr:            0x0000000100002160
-        size:            60
-        offset:          0x00002160
+        addr:            0x00000000000001D8
+        size:            102
+        offset:          0x00000680
         align:           0
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __apple_namespac
-        segname:         __DWARF
-        addr:            0x000000010000219C
-        size:            36
-        offset:          0x0000219C
-        align:           0
-        reloff:          0x00000000
-        nreloc:          0
-        flags:           0x00000000
+      - sectname:        __compact_unwind
+        segname:         __LD
+        addr:            0x0000000000000240
+        size:            32
+        offset:          0x000006E8
+        align:           3
+        reloff:          0x000007A0
+        nreloc:          1
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __apple_types
-        segname:         __DWARF
-        addr:            0x00000001000021C0
-        size:            79
-        offset:          0x000021C0
-        align:           0
+      - sectname:        __eh_frame
+        segname:         __TEXT
+        addr:            0x0000000000000260
+        size:            64
+        offset:          0x00000708
+        align:           3
         reloff:          0x00000000
         nreloc:          0
-        flags:           0x00000000
+        flags:           0x6800000B
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-      - sectname:        __apple_objc
+      - sectname:        __debug_line
         segname:         __DWARF
-        addr:            0x000000010000220F
-        size:            36
-        offset:          0x0000220F
+        addr:            0x00000000000002A0
+        size:            72
+        offset:          0x00000748
         align:           0
-        reloff:          0x00000000
-        nreloc:          0
-        flags:           0x00000000
+        reloff:          0x000007A8
+        nreloc:          1
+        flags:           0x02000000
         reserved1:       0x00000000
         reserved2:       0x00000000
         reserved3:       0x00000000
-LinkEditData:
-  NameList:
-    - n_strx:          2
-      n_type:          0x0F
-      n_sect:          1
-      n_desc:          16
-      n_value:         4294967296
-    - n_strx:          22
+  - cmd:             LC_BUILD_VERSION
+    cmdsize:         24
+    platform:        1
+    minos:           658944
+    sdk:             658944
+    ntools:          0
+  - cmd:             LC_SYMTAB
+    cmdsize:         24
+    symoff:          1968
+    nsyms:           1
+    stroff:          1984
+    strsize:         8
+  - cmd:             LC_DYSYMTAB
+    cmdsize:         80
+    ilocalsym:       0
+    nlocalsym:       0
+    iextdefsym:      0
+    nextdefsym:      1
+    iundefsym:       1
+    nundefsym:       0
+    tocoff:          0
+    ntoc:            0
+    modtaboff:       0
+    nmodtab:         0
+    extrefsymoff:    0
+    nextrefsyms:     0
+    indirectsymoff:  0
+    nindirectsyms:   0
+    extreloff:       0
+    nextrel:         0
+    locreloff:       0
+    nlocrel:         0
+LinkEditData:    
+  NameList:        
+    - n_strx:          1
       n_type:          0x0F
       n_sect:          1
       n_desc:          0
-      n_value:         4294971296
-  StringTable:
-    - ''
+      n_value:         0
+  StringTable:     
     - ''
-    - __mh_execute_header
     - _main
-DWARF:
-  debug_str:
     - ''
-    - obj2yaml
-    - main.c
-    - .
+DWARF:           
+  debug_str:       
+    - 'Apple LLVM version 10.0.1 (clang-1001.0.37.3)'
+    - './Trivial/main.c'
+    - '.'
     - main
     - int
-  debug_abbrev:
+    - argc
+    - argv
+    - char
+  debug_abbrev:    
     - Code:            0x00000001
       Tag:             DW_TAG_compile_unit
       Children:        DW_CHILDREN_yes
-      Attributes:
+      Attributes:      
         - Attribute:       DW_AT_producer
           Form:            DW_FORM_strp
         - Attribute:       DW_AT_language
@@ -266,8 +239,8 @@ DWARF:
           Form:            DW_FORM_data4
     - Code:            0x00000002
       Tag:             DW_TAG_subprogram
-      Children:        DW_CHILDREN_no
-      Attributes:
+      Children:        DW_CHILDREN_yes
+      Attributes:      
         - Attribute:       DW_AT_low_pc
           Form:            DW_FORM_addr
         - Attribute:       DW_AT_high_pc
@@ -280,113 +253,154 @@ DWARF:
           Form:            DW_FORM_data1
         - Attribute:       DW_AT_decl_line
           Form:            DW_FORM_data1
+        - Attribute:       DW_AT_prototyped
+          Form:            DW_FORM_flag_present
         - Attribute:       DW_AT_type
           Form:            DW_FORM_ref4
         - Attribute:       DW_AT_external
           Form:            DW_FORM_flag_present
     - Code:            0x00000003
+      Tag:             DW_TAG_formal_parameter
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_location
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000004
       Tag:             DW_TAG_base_type
       Children:        DW_CHILDREN_no
-      Attributes:
+      Attributes:      
         - Attribute:       DW_AT_name
           Form:            DW_FORM_strp
         - Attribute:       DW_AT_encoding
           Form:            DW_FORM_data1
         - Attribute:       DW_AT_byte_size
           Form:            DW_FORM_data1
-  debug_aranges:
-    - Length:
-        TotalLength:     44
-      Version:         2
-      CuOffset:        0
-      AddrSize:        8
-      SegSize:         0
-      Descriptors:
-        - Address:         0x0000000100000FA0
-          Length:          15
-  debug_pubnames:
-    Length:
-      TotalLength:     23
-    Version:         2
-    UnitOffset:      0
-    UnitSize:        75
-    Entries:
-      - DieOffset:       0x0000002A
-        Name:            main
-  debug_pubtypes:
-    Length:
-      TotalLength:     22
-    Version:         2
-    UnitOffset:      0
-    UnitSize:        75
-    Entries:
-      - DieOffset:       0x00000043
-        Name:            int
-  debug_info:
-    - Length:
-        TotalLength:     71
+    - Code:            0x00000005
+      Tag:             DW_TAG_pointer_type
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000006
+      Tag:             DW_TAG_const_type
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+  debug_info:      
+    - Length:          
+        TotalLength:     122
       Version:         4
       AbbrOffset:      0
       AddrSize:        8
-      Entries:
+      Entries:         
         - AbbrCode:        0x00000001
-          Values:
-            - Value:           0x0000000000000001
+          Values:          
+            - Value:           0x0000000000000000
             - Value:           0x000000000000000C
-            - Value:           0x000000000000000A
+            - Value:           0x000000000000002E
             - Value:           0x0000000000000000
-            - Value:           0x0000000000000011
-            - Value:           0x0000000100000FA0
-            - Value:           0x000000000000000F
+            - Value:           0x000000000000003F
+            - Value:           0x0000000000000000
+            - Value:           0x0000000000000016
         - AbbrCode:        0x00000002
-          Values:
-            - Value:           0x0000000100000FA0
-            - Value:           0x000000000000000F
+          Values:          
+            - Value:           0x0000000000000000
+            - Value:           0x0000000000000016
             - Value:           0x0000000000000001
-              BlockData:
+              BlockData:       
                 - 0x56
-            - Value:           0x0000000000000013
+            - Value:           0x0000000000000054
+            - Value:           0x0000000000000001
             - Value:           0x0000000000000001
             - Value:           0x0000000000000001
-            - Value:           0x0000000000000043
+            - Value:           0x0000000000000060
             - Value:           0x0000000000000001
         - AbbrCode:        0x00000003
-          Values:
-            - Value:           0x0000000000000018
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x78
+            - Value:           0x000000000000005D
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000060
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x70
+            - Value:           0x0000000000000062
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000067
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000004
+          Values:          
+            - Value:           0x0000000000000059
             - Value:           0x0000000000000005
             - Value:           0x0000000000000004
+        - AbbrCode:        0x00000005
+          Values:          
+            - Value:           0x000000000000006C
+        - AbbrCode:        0x00000005
+          Values:          
+            - Value:           0x0000000000000071
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x0000000000000076
+        - AbbrCode:        0x00000004
+          Values:          
+            - Value:           0x0000000000000067
+            - Value:           0x0000000000000006
+            - Value:           0x0000000000000001
         - AbbrCode:        0x00000000
-          Values:
-  debug_line:
-    - Length:
-        TotalLength:     56
-      Version:         2
-      PrologueLength:  29
+          Values:          []
+  debug_line:      
+    - Length:          
+        TotalLength:     68
+      Version:         4
+      PrologueLength:  40
       MinInstLength:   1
+      MaxOpsPerInst:   1
       DefaultIsStmt:   1
       LineBase:        251
       LineRange:       14
       OpcodeBase:      13
       StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
-      IncludeDirs:
-      Files:
+      IncludeDirs:     
+        - './Trivial'
+      Files:           
         - Name:            main.c
-          DirIdx:          0
+          DirIdx:          1
           ModTime:         0
           Length:          0
-      Opcodes:
+      Opcodes:         
         - Opcode:          DW_LNS_extended_op
           ExtLen:          9
           SubOpcode:       DW_LNE_set_address
-          Data:            4294971296
+          Data:            0
         - Opcode:          DW_LNS_copy
-          Data:            4294971296
+          Data:            0
         - Opcode:          DW_LNS_set_column
-          Data:            2
+          Data:            3
         - Opcode:          DW_LNS_set_prologue_end
-          Data:            2
-        - Opcode:          0xC9
-          Data:            2
+          Data:            3
+        - Opcode:          DW_LNS_const_add_pc
+          Data:            3
+        - Opcode:          0x3D
+          Data:            3
         - Opcode:          DW_LNS_advance_pc
           Data:            2
         - Opcode:          DW_LNS_extended_op

Modified: lldb/trunk/source/Target/PathMappingList.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/PathMappingList.cpp?rev=353243&r1=353242&r2=353243&view=diff
==============================================================================
--- lldb/trunk/source/Target/PathMappingList.cpp (original)
+++ lldb/trunk/source/Target/PathMappingList.cpp Tue Feb  5 15:48:10 2019
@@ -201,26 +201,46 @@ bool PathMappingList::ReverseRemapPath(c
 
 bool PathMappingList::FindFile(const FileSpec &orig_spec,
                                FileSpec &new_spec) const {
-  if (!m_pairs.empty()) {
-    char orig_path[PATH_MAX];
-    const size_t orig_path_len =
-        orig_spec.GetPath(orig_path, sizeof(orig_path));
-    if (orig_path_len > 0) {
-      const_iterator pos, end = m_pairs.end();
-      for (pos = m_pairs.begin(); pos != end; ++pos) {
-        const size_t prefix_len = pos->first.GetLength();
+  if (m_pairs.empty())
+    return false;
+  
+  std::string orig_path = orig_spec.GetPath();
+    
+  if (orig_path.empty())
+    return false;
+      
+  bool orig_is_relative = orig_spec.IsRelative();
 
-        if (orig_path_len >= prefix_len) {
-          if (::strncmp(pos->first.GetCString(), orig_path, prefix_len) == 0) {
-            new_spec.SetFile(pos->second.GetCString(), FileSpec::Style::native);
-            new_spec.AppendPathComponent(orig_path + prefix_len);
-            if (FileSystem::Instance().Exists(new_spec))
-              return true;
-          }
-        }
+  const_iterator pos, end = m_pairs.end();
+  for (pos = m_pairs.begin(); pos != end; ++pos) {
+    llvm::StringRef orig_ref(orig_path);
+    llvm::StringRef prefix_ref = pos->first.GetStringRef();
+    if (orig_ref.size() >= prefix_ref.size()) {
+      // We consider a relative prefix or one of just "." to
+      // mean "only apply to relative paths".
+      bool prefix_is_relative = false;
+      
+      if (prefix_ref == ".") {
+        prefix_is_relative = true;
+        // Remove the "." since it will have been removed from the
+        // FileSpec paths already.
+        prefix_ref = prefix_ref.drop_front();
+      } else {
+        FileSpec prefix_spec(prefix_ref, FileSpec::Style::native);
+        prefix_is_relative = prefix_spec.IsRelative();
+      }
+      if (prefix_is_relative != orig_is_relative)
+        continue;
+
+      if (orig_ref.consume_front(prefix_ref)) {
+        new_spec.SetFile(pos->second.GetCString(), FileSpec::Style::native);
+        new_spec.AppendPathComponent(orig_ref);
+        if (FileSystem::Instance().Exists(new_spec))
+          return true;
       }
     }
   }
+  
   new_spec.Clear();
   return false;
 }




More information about the lldb-commits mailing list