Just a heads up, I put the wrong differential revision in the commit message. Oh well. I submitted the other patch, not this one.
Can you rebase this patch on top of the triple / os patch? It doesn't apply cleanly for me. On Tue, Sep 20, 2016 at 1:53 PM Zachary Turner <ztur...@google.com> wrote: > This revision was automatically updated to reflect the committed changes. > Closed by commit rL282013: [PECOFF] Use the COFF subsystem field when > determining the Triple. (authored by zturner). > > Changed prior to commit: > https://reviews.llvm.org/D24284?vs=71855&id=71984#toc > > Repository: > rL LLVM > > https://reviews.llvm.org/D24284 > > Files: > lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp > lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h > > Index: lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h > =================================================================== > --- lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h > +++ lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h > @@ -128,6 +128,8 @@ > > uint32_t GetPluginVersion() override; > > + bool IsWindowsSubsystem(); > + > protected: > bool NeedsEndianSwap() const; > > Index: lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp > =================================================================== > --- lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp > +++ lldb/trunk/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp > @@ -944,6 +944,21 @@ > } > } > > +bool ObjectFilePECOFF::IsWindowsSubsystem() { > + switch (m_coff_header_opt.subsystem) { > + case llvm::COFF::IMAGE_SUBSYSTEM_NATIVE: > + case llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_GUI: > + case llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_CUI: > + case llvm::COFF::IMAGE_SUBSYSTEM_NATIVE_WINDOWS: > + case llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: > + case llvm::COFF::IMAGE_SUBSYSTEM_XBOX: > + case llvm::COFF::IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION: > + return true; > + default: > + return false; > + } > +} > + > bool ObjectFilePECOFF::GetArchitecture(ArchSpec &arch) { > uint16_t machine = m_coff_header.machine; > switch (machine) { > @@ -954,7 +969,9 @@ > case llvm::COFF::IMAGE_FILE_MACHINE_ARM: > case llvm::COFF::IMAGE_FILE_MACHINE_ARMNT: > case llvm::COFF::IMAGE_FILE_MACHINE_THUMB: > - arch.SetArchitecture(eArchTypeCOFF, machine, LLDB_INVALID_CPUTYPE); > + arch.SetArchitecture(eArchTypeCOFF, machine, LLDB_INVALID_CPUTYPE, > + IsWindowsSubsystem() ? llvm::Triple::Win32 > + : llvm::Triple::UnknownOS); > return true; > default: > break; > > >
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits