@@ -2227,19 +2227,10 @@ void Generic_GCC::GCCInstallationDetector::init(
22272227 SmallVector<StringRef, 16 > CandidateBiarchTripleAliases;
22282228 // Add some triples that we want to check first.
22292229 CandidateTripleAliases.push_back (TargetTriple.str ());
2230- std::string TripleNoVendor, BiarchTripleNoVendor;
2231- if (TargetTriple.getVendor () == llvm::Triple::UnknownVendor) {
2232- StringRef OSEnv = TargetTriple.getOSAndEnvironmentName ();
2233- if (TargetTriple.getEnvironment () == llvm::Triple::GNUX32)
2234- OSEnv = " linux-gnu" ;
2235- TripleNoVendor = (TargetTriple.getArchName ().str () + ' -' + OSEnv).str ();
2230+ std::string TripleNoVendor = TargetTriple.getArchName ().str () + " -" +
2231+ TargetTriple.getOSAndEnvironmentName ().str ();
2232+ if (TargetTriple.getVendor () == llvm::Triple::UnknownVendor)
22362233 CandidateTripleAliases.push_back (TripleNoVendor);
2237- if (BiarchVariantTriple.getArch () != llvm::Triple::UnknownArch) {
2238- BiarchTripleNoVendor =
2239- (BiarchVariantTriple.getArchName ().str () + ' -' + OSEnv).str ();
2240- CandidateBiarchTripleAliases.push_back (BiarchTripleNoVendor);
2241- }
2242- }
22432234
22442235 CollectLibDirsAndTriples (TargetTriple, BiarchVariantTriple, CandidateLibDirs,
22452236 CandidateTripleAliases, CandidateBiarchLibDirs,
@@ -2462,9 +2453,11 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
24622453 // lists should shrink over time. Please don't add more elements to *Triples.
24632454 static const char *const AArch64LibDirs[] = {" /lib64" , " /lib" };
24642455 static const char *const AArch64Triples[] = {
2465- " aarch64-none-linux-gnu" , " aarch64-redhat-linux" , " aarch64-suse-linux" };
2456+ " aarch64-none-linux-gnu" , " aarch64-linux-gnu" , " aarch64-redhat-linux" ,
2457+ " aarch64-suse-linux" };
24662458 static const char *const AArch64beLibDirs[] = {" /lib" };
2467- static const char *const AArch64beTriples[] = {" aarch64_be-none-linux-gnu" };
2459+ static const char *const AArch64beTriples[] = {" aarch64_be-none-linux-gnu" ,
2460+ " aarch64_be-linux-gnu" };
24682461
24692462 static const char *const ARMLibDirs[] = {" /lib" };
24702463 static const char *const ARMTriples[] = {" arm-linux-gnueabi" };
@@ -2486,44 +2479,47 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
24862479
24872480 static const char *const X86_64LibDirs[] = {" /lib64" , " /lib" };
24882481 static const char *const X86_64Triples[] = {
2489- " x86_64-unknown-linux-gnu" , " x86_64-pc-linux-gnu" ,
2490- " x86_64-redhat-linux6E" , " x86_64-redhat-linux" ,
2491- " x86_64-suse-linux" , " x86_64-manbo-linux-gnu" ,
2492- " x86_64-slackware-linux" , " x86_64-unknown-linux" ,
2482+ " x86_64-linux-gnu" , " x86_64-unknown-linux-gnu" ,
2483+ " x86_64-pc-linux-gnu" , " x86_64-redhat-linux6E" ,
2484+ " x86_64-redhat-linux" , " x86_64-suse-linux" ,
2485+ " x86_64-manbo-linux-gnu" , " x86_64-linux-gnu" ,
2486+ " x86_64-slackware-linux" , " x86_64-unknown-linux" ,
24932487 " x86_64-amazon-linux" };
24942488 static const char *const X32Triples[] = {" x86_64-linux-gnux32" ,
24952489 " x86_64-pc-linux-gnux32" };
24962490 static const char *const X32LibDirs[] = {" /libx32" , " /lib" };
24972491 static const char *const X86LibDirs[] = {" /lib32" , " /lib" };
24982492 static const char *const X86Triples[] = {
2499- " i686 -linux-gnu" , " i686-pc- linux-gnu" , " i386-redhat-linux6E " ,
2500- " i686 -redhat-linux " , " i386 -redhat-linux" , " i586-suse -linux" ,
2501- " i686-montavista-linux" ,
2493+ " i586 -linux-gnu" , " i686-linux-gnu" , " i686-pc-linux-gnu " ,
2494+ " i386 -redhat-linux6E " , " i686 -redhat-linux" , " i386-redhat -linux" ,
2495+ " i586-suse-linux " , " i686-montavista-linux" ,
25022496 };
25032497
25042498 static const char *const LoongArch64LibDirs[] = {" /lib64" , " /lib" };
25052499 static const char *const LoongArch64Triples[] = {
25062500 " loongarch64-linux-gnu" , " loongarch64-unknown-linux-gnu" };
25072501
25082502 static const char *const M68kLibDirs[] = {" /lib" };
2509- static const char *const M68kTriples[] = {" m68k-unknown-linux-gnu " ,
2510- " m68k-suse-linux" };
2503+ static const char *const M68kTriples[] = {
2504+ " m68k-linux-gnu " , " m68k-unknown-linux-gnu " , " m68k-suse-linux" };
25112505
25122506 static const char *const MIPSLibDirs[] = {" /libo32" , " /lib" };
25132507 static const char *const MIPSTriples[] = {
25142508 " mips-linux-gnu" , " mips-mti-linux" , " mips-mti-linux-gnu" ,
25152509 " mips-img-linux-gnu" , " mipsisa32r6-linux-gnu" };
25162510 static const char *const MIPSELLibDirs[] = {" /libo32" , " /lib" };
2517- static const char *const MIPSELTriples[] = {" mipsel-linux-gnu " ,
2518- " mips-img-linux-gnu" };
2511+ static const char *const MIPSELTriples[] = {
2512+ " mipsel-linux-gnu " , " mips-img-linux-gnu " , " mipsisa32r6el -linux-gnu" };
25192513
25202514 static const char *const MIPS64LibDirs[] = {" /lib64" , " /lib" };
25212515 static const char *const MIPS64Triples[] = {
2522- " mips-mti-linux-gnu" , " mips-img-linux-gnu" , " mips64-linux-gnuabi64" ,
2516+ " mips64-linux-gnu" , " mips-mti-linux-gnu" ,
2517+ " mips-img-linux-gnu" , " mips64-linux-gnuabi64" ,
25232518 " mipsisa64r6-linux-gnu" , " mipsisa64r6-linux-gnuabi64" };
25242519 static const char *const MIPS64ELLibDirs[] = {" /lib64" , " /lib" };
25252520 static const char *const MIPS64ELTriples[] = {
2526- " mips-mti-linux-gnu" , " mips-img-linux-gnu" , " mips64el-linux-gnuabi64" ,
2521+ " mips64el-linux-gnu" , " mips-mti-linux-gnu" ,
2522+ " mips-img-linux-gnu" , " mips64el-linux-gnuabi64" ,
25272523 " mipsisa64r6el-linux-gnu" , " mipsisa64r6el-linux-gnuabi64" };
25282524
25292525 static const char *const MIPSN32LibDirs[] = {" /lib32" };
@@ -2538,39 +2534,46 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
25382534
25392535 static const char *const PPCLibDirs[] = {" /lib32" , " /lib" };
25402536 static const char *const PPCTriples[] = {
2541- " powerpc-unknown-linux-gnu" ,
2537+ " powerpc-linux-gnu " , " powerpc- unknown-linux-gnu" , " powerpc-linux-gnuspe " ,
25422538 // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
25432539 // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
25442540 " powerpc64-suse-linux" , " powerpc-montavista-linuxspe" };
25452541 static const char *const PPCLELibDirs[] = {" /lib32" , " /lib" };
2546- static const char *const PPCLETriples[] = {" powerpcle-unknown-linux-gnu" ,
2542+ static const char *const PPCLETriples[] = {" powerpcle-linux-gnu" ,
2543+ " powerpcle-unknown-linux-gnu" ,
25472544 " powerpcle-linux-musl" };
25482545
25492546 static const char *const PPC64LibDirs[] = {" /lib64" , " /lib" };
2550- static const char *const PPC64Triples[] = {" powerpc64-unknown-linux-gnu " ,
2551- " powerpc64-suse -linux" ,
2552- " ppc64-redhat-linux" };
2547+ static const char *const PPC64Triples[] = {
2548+ " powerpc64-linux-gnu " , " powerpc64-unknown -linux-gnu " ,
2549+ " powerpc64-suse-linux " , " ppc64-redhat-linux" };
25532550 static const char *const PPC64LELibDirs[] = {" /lib64" , " /lib" };
25542551 static const char *const PPC64LETriples[] = {
2555- " powerpc64le-unknown-linux-gnu" , " powerpc64le-none-linux-gnu" ,
2556- " powerpc64le-suse-linux" , " ppc64le-redhat-linux" };
2552+ " powerpc64le-linux-gnu" , " powerpc64le-unknown-linux-gnu" ,
2553+ " powerpc64le-none-linux-gnu" , " powerpc64le-suse-linux" ,
2554+ " ppc64le-redhat-linux" };
25572555
25582556 static const char *const RISCV32LibDirs[] = {" /lib32" , " /lib" };
25592557 static const char *const RISCV32Triples[] = {" riscv32-unknown-linux-gnu" ,
2558+ " riscv32-linux-gnu" ,
25602559 " riscv32-unknown-elf" };
25612560 static const char *const RISCV64LibDirs[] = {" /lib64" , " /lib" };
25622561 static const char *const RISCV64Triples[] = {" riscv64-unknown-linux-gnu" ,
2562+ " riscv64-linux-gnu" ,
25632563 " riscv64-unknown-elf" };
25642564
25652565 static const char *const SPARCv8LibDirs[] = {" /lib32" , " /lib" };
2566- static const char *const SPARCv8Triples[] = {" sparcv8-linux-gnu" };
2566+ static const char *const SPARCv8Triples[] = {" sparc-linux-gnu" ,
2567+ " sparcv8-linux-gnu" };
25672568 static const char *const SPARCv9LibDirs[] = {" /lib64" , " /lib" };
2568- static const char *const SPARCv9Triples[] = {" sparcv9-linux-gnu" };
2569+ static const char *const SPARCv9Triples[] = {" sparc64-linux-gnu" ,
2570+ " sparcv9-linux-gnu" };
25692571
25702572 static const char *const SystemZLibDirs[] = {" /lib64" , " /lib" };
25712573 static const char *const SystemZTriples[] = {
2572- " s390x-unknown-linux-gnu" , " s390x-ibm-linux-gnu" , " s390x-suse-linux" ,
2573- " s390x-redhat-linux" };
2574+ " s390x-linux-gnu" , " s390x-unknown-linux-gnu" , " s390x-ibm-linux-gnu" ,
2575+ " s390x-suse-linux" , " s390x-redhat-linux" };
2576+
25742577
25752578 using std::begin;
25762579 using std::end;
0 commit comments