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 and
ad587ae4ca143d388c0ec4ef2faa1b5eddedbf67 / D4658.
Differential Revision: https://reviews.llvm.org/D128617
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");
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");
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) {
# 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: