Skip to content

Commit e4e4110

Browse files
committed
Fix printing native CPU on cross-compiled compiler.
1 parent fec9adc commit e4e4110

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -310,12 +310,14 @@ static size_t getLongestEntryLength(ArrayRef<KV> Table) {
310310
extern "C" void LLVMRustPrintTargetCPUs(LLVMTargetMachineRef TM) {
311311
const TargetMachine *Target = unwrap(TM);
312312
const MCSubtargetInfo *MCInfo = Target->getMCSubtargetInfo();
313-
const Triple::ArchType HostArch = Triple(sys::getProcessTriple()).getArch();
313+
const Triple::ArchType HostArch = Triple(sys::getDefaultTargetTriple()).getArch();
314314
const Triple::ArchType TargetArch = Target->getTargetTriple().getArch();
315315
const ArrayRef<SubtargetSubTypeKV> CPUTable = MCInfo->getCPUTable();
316316
unsigned MaxCPULen = getLongestEntryLength(CPUTable);
317317

318318
printf("Available CPUs for this target:\n");
319+
// Don't print the "native" entry when the user specifies --target with a
320+
// different arch since that could be wrong or misleading.
319321
if (HostArch == TargetArch) {
320322
const StringRef HostCPU = sys::getHostCPUName();
321323
printf(" %-*s - Select the CPU of the current host (currently %.*s).\n",

0 commit comments

Comments
 (0)