mstorsjo created this revision. mstorsjo added reviewers: labath, zturner, DavidSpickett. Herald added a project: All. mstorsjo requested review of this revision. Herald added a project: LLDB.
When an object file returns multiple architectures, it is treated as a fat binary - which really isn't the case of i386 vs i686 where the object file actually has one architecture. This allows getting rid of hardcoded architecture triples in PlatformWindows. The parallel i386 and i686 architecture strings stem from 5e6f45201f0b62c1e7a24fc396f3ea6e10dc880d / D7120 <https://reviews.llvm.org/D7120> and ad587ae4ca143d388c0ec4ef2faa1b5eddedbf67 / D4658 <https://reviews.llvm.org/D4658>. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D128617 Files: lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml Index: lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml =================================================================== --- lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml +++ lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml @@ -18,7 +18,7 @@ # RUN: FileCheck -DABI=gnu -DFILENAME=%basename_t.tmp %s # CHECK-LABEL: image list --triple --basename -# CHECK-NEXT: i686-pc-windows-[[ABI]] [[FILENAME]] +# CHECK-NEXT: i386-pc-windows-[[ABI]] [[FILENAME]] --- !COFF OptionalHeader: Index: lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp =================================================================== --- lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp +++ lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp @@ -124,11 +124,9 @@ if (spec.IsValid()) m_supported_architectures.push_back(spec); }; - AddArch(ArchSpec("i686-pc-windows")); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKindDefault)); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKind32)); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKind64)); - AddArch(ArchSpec("i386-pc-windows")); } Status PlatformWindows::ConnectRemote(Args &args) { Index: lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp =================================================================== --- lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -337,9 +337,6 @@ spec.SetTriple("i386-pc-windows"); spec.GetTriple().setEnvironment(env); specs.Append(module_spec); - spec.SetTriple("i686-pc-windows"); - spec.GetTriple().setEnvironment(env); - specs.Append(module_spec); break; case MachineArmNt: spec.SetTriple("armv7-pc-windows"); Index: lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp =================================================================== --- lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp +++ lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp @@ -137,8 +137,6 @@ case PDB_Machine::x86: module_arch.SetTriple("i386-pc-windows"); specs.Append(module_spec); - module_arch.SetTriple("i686-pc-windows"); - specs.Append(module_spec); break; case PDB_Machine::ArmNT: module_arch.SetTriple("armv7-pc-windows");
Index: lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml =================================================================== --- lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml +++ lldb/test/Shell/ObjectFile/PECOFF/settings-abi-i686.yaml @@ -18,7 +18,7 @@ # RUN: FileCheck -DABI=gnu -DFILENAME=%basename_t.tmp %s # CHECK-LABEL: image list --triple --basename -# CHECK-NEXT: i686-pc-windows-[[ABI]] [[FILENAME]] +# CHECK-NEXT: i386-pc-windows-[[ABI]] [[FILENAME]] --- !COFF OptionalHeader: Index: lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp =================================================================== --- lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp +++ lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp @@ -124,11 +124,9 @@ if (spec.IsValid()) m_supported_architectures.push_back(spec); }; - AddArch(ArchSpec("i686-pc-windows")); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKindDefault)); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKind32)); AddArch(HostInfo::GetArchitecture(HostInfo::eArchKind64)); - AddArch(ArchSpec("i386-pc-windows")); } Status PlatformWindows::ConnectRemote(Args &args) { Index: lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp =================================================================== --- lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp +++ lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp @@ -337,9 +337,6 @@ spec.SetTriple("i386-pc-windows"); spec.GetTriple().setEnvironment(env); specs.Append(module_spec); - spec.SetTriple("i686-pc-windows"); - spec.GetTriple().setEnvironment(env); - specs.Append(module_spec); break; case MachineArmNt: spec.SetTriple("armv7-pc-windows"); Index: lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp =================================================================== --- lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp +++ lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp @@ -137,8 +137,6 @@ case PDB_Machine::x86: module_arch.SetTriple("i386-pc-windows"); specs.Append(module_spec); - module_arch.SetTriple("i686-pc-windows"); - specs.Append(module_spec); break; case PDB_Machine::ArmNT: module_arch.SetTriple("armv7-pc-windows");
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits