labath added inline comments.

================
Comment at: source/Plugins/Process/elf-core/ProcessElfCore.cpp:675
+      llvm::Triple host_triple(llvm::sys::getDefaultTargetTriple());
+      target_arch.GetTriple().setOS(host_triple.getOS());
+    }
----------------
nitesh.jain wrote:
> labath wrote:
> > nitesh.jain wrote:
> > > labath wrote:
> > > > I'm not terribly happy with the default-to-host mode here, particularly 
> > > > as we already have some code which detects linux in 
> > > > ObjectFileELF::RefineModuleDetailsFromNote. I'm not terribly happy 
> > > > about that either, but I hope we could at least have just one dodgy 
> > > > detection code.
> > > > 
> > > > Did you check whether it's possible to extend that function to cover 
> > > > mips as well (probably the NT_FILE part, which searches for some 
> > > > `i386-linux-gnu` paths in the binary) ?
> > > In our case , files path doesn't contain any Linux string. 
> > > 
> > > nin@debian-co3-1:~/LLVM-new/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/elf-core$
> > >  readelf -a linux-mips64el-gnuabi64.core
> > > ELF Header:
> > >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> > >   Class:                             ELF64
> > >   Data:                              2's complement, little endian
> > >   Version:                           1 (current)
> > >   OS/ABI:                            UNIX - System V
> > >   ABI Version:                       0
> > >   Type:                              CORE (Core file)
> > >   Machine:                           MIPS R3000
> > >   Version:                           0x1
> > >   Entry point address:               0x0
> > >   Start of program headers:          64 (bytes into file)
> > >   Start of section headers:          0 (bytes into file)
> > >   Flags:                             0x0
> > >   Size of this header:               64 (bytes)
> > >   Size of program headers:           56 (bytes)
> > >   Number of program headers:         6
> > >   Size of section headers:           0 (bytes)
> > >   Number of section headers:         0
> > >   Section header string table index: 0
> > > 
> > > There are no sections in this file.
> > > 
> > > There are no sections to group in this file.
> > > 
> > > Program Headers:
> > >   Type           Offset             VirtAddr           PhysAddr
> > >                  FileSiz            MemSiz              Flags  Align
> > >   NOTE           0x0000000000000190 0x0000000000000000 0x0000000000000000
> > >                  0x0000000000000644 0x0000000000000000         0x0
> > >   LOAD           0x0000000000001000 0x0000000120000000 0x0000000000000000
> > >                  0x0000000000001000 0x0000000000001000  R E    0x1000
> > >   LOAD           0x0000000000002000 0x000000fff2a60000 0x0000000000000000
> > >                  0x0000000000001000 0x0000000000001000  R      0x1000
> > >   LOAD           0x0000000000003000 0x000000fff2a61000 0x0000000000000000
> > >                  0x0000000000001000 0x0000000000001000  R E    0x1000
> > >   LOAD           0x0000000000004000 0x000000ffffc01000 0x0000000000000000
> > >                  0x0000000000002000 0x0000000000002000  RWE    0x1000
> > >   LOAD           0x0000000000006000 0x000000fffffff000 0x0000000000000000
> > >                  0x0000000000000000 0x0000000000001000  RWE    0x1000
> > > 
> > > There is no dynamic section in this file.
> > > 
> > > There are no relocations in this file.
> > > 
> > > The decoding of unwind sections for machine type MIPS R3000 is not 
> > > currently supported.
> > > 
> > > Dynamic symbol information is not available for displaying symbols.
> > > 
> > > No version information found in this file.
> > > 
> > > Displaying notes found at file offset 0x00000190 with length 0x00000644:
> > >   Owner                 Data size       Description
> > >   CORE                 0x000001e0       NT_PRSTATUS (prstatus structure)
> > >   CORE                 0x00000088       NT_PRPSINFO (prpsinfo structure)
> > >   CORE                 0x00000080       NT_SIGINFO (siginfo_t data)
> > >   CORE                 0x00000130       NT_AUXV (auxiliary vector)
> > >   CORE                 0x000000aa       NT_FILE (mapped files)
> > >     Page size: 4096
> > >                  Start                 End         Page Offset
> > >     0x0000000120000000  0x0000000120001000  0x0000000000000000
> > >         
> > > /home/nin/LLVM-new/llvm/tools/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/linux-mips64el-gnuabi64.out
> > > 
> > That's a good point. In fact that is the case on the x86 core files as well 
> > we have checked in as well, as their executables were linked statically. 
> > Only, I guess in the x86 case we don't rely on the os that much.
> > 
> > Will this affect the ability of the tests to run reproducibly (on windows 
> > for example), or will the os be picked up from the executable if it is 
> > present? If it won't then we'll need to think hard about how to make the 
> > tests deterministic.
> If Host OS is windows then this test case will fail. The MIPS support 
> freeBSD, Linux and Android.  The note.n_name == LLDB_NT_OWNER_GNU is valid 
> for Linux platform. Hence we can used this information to set OS. 
> 
> 
That sounds better. Can we try that?


Repository:
  rL LLVM

https://reviews.llvm.org/D31280



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

Reply via email to