@@ -2366,19 +2366,10 @@ void Generic_GCC::GCCInstallationDetector::init(
23662366 SmallVector<StringRef, 16 > CandidateBiarchTripleAliases;
23672367 // Add some triples that we want to check first.
23682368 CandidateTripleAliases.push_back (TargetTriple.str ());
2369- std::string TripleNoVendor, BiarchTripleNoVendor;
2370- if (TargetTriple.getVendor () == llvm::Triple::UnknownVendor) {
2371- StringRef OSEnv = TargetTriple.getOSAndEnvironmentName ();
2372- if (TargetTriple.getEnvironment () == llvm::Triple::GNUX32)
2373- OSEnv = " linux-gnu" ;
2374- TripleNoVendor = (TargetTriple.getArchName ().str () + ' -' + OSEnv).str ();
2369+ std::string TripleNoVendor = TargetTriple.getArchName ().str () + " -" +
2370+ TargetTriple.getOSAndEnvironmentName ().str ();
2371+ if (TargetTriple.getVendor () == llvm::Triple::UnknownVendor)
23752372 CandidateTripleAliases.push_back (TripleNoVendor);
2376- if (BiarchVariantTriple.getArch () != llvm::Triple::UnknownArch) {
2377- BiarchTripleNoVendor =
2378- (BiarchVariantTriple.getArchName ().str () + ' -' + OSEnv).str ();
2379- CandidateBiarchTripleAliases.push_back (BiarchTripleNoVendor);
2380- }
2381- }
23822373
23832374 CollectLibDirsAndTriples (TargetTriple, BiarchVariantTriple, CandidateLibDirs,
23842375 CandidateTripleAliases, CandidateBiarchLibDirs,
@@ -2601,9 +2592,11 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
26012592 // lists should shrink over time. Please don't add more elements to *Triples.
26022593 static const char *const AArch64LibDirs[] = {" /lib64" , " /lib" };
26032594 static const char *const AArch64Triples[] = {
2604- " aarch64-none-linux-gnu" , " aarch64-redhat-linux" , " aarch64-suse-linux" };
2595+ " aarch64-none-linux-gnu" , " aarch64-linux-gnu" , " aarch64-redhat-linux" ,
2596+ " aarch64-suse-linux" };
26052597 static const char *const AArch64beLibDirs[] = {" /lib" };
2606- static const char *const AArch64beTriples[] = {" aarch64_be-none-linux-gnu" };
2598+ static const char *const AArch64beTriples[] = {" aarch64_be-none-linux-gnu" ,
2599+ " aarch64_be-linux-gnu" };
26072600
26082601 static const char *const ARMLibDirs[] = {" /lib" };
26092602 static const char *const ARMTriples[] = {" arm-linux-gnueabi" };
@@ -2625,44 +2618,47 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
26252618
26262619 static const char *const X86_64LibDirs[] = {" /lib64" , " /lib" };
26272620 static const char *const X86_64Triples[] = {
2628- " x86_64-unknown-linux-gnu" , " x86_64-pc-linux-gnu" ,
2629- " x86_64-redhat-linux6E" , " x86_64-redhat-linux" ,
2630- " x86_64-suse-linux" , " x86_64-manbo-linux-gnu" ,
2631- " x86_64-slackware-linux" , " x86_64-unknown-linux" ,
2621+ " x86_64-linux-gnu" , " x86_64-unknown-linux-gnu" ,
2622+ " x86_64-pc-linux-gnu" , " x86_64-redhat-linux6E" ,
2623+ " x86_64-redhat-linux" , " x86_64-suse-linux" ,
2624+ " x86_64-manbo-linux-gnu" , " x86_64-linux-gnu" ,
2625+ " x86_64-slackware-linux" , " x86_64-unknown-linux" ,
26322626 " x86_64-amazon-linux" };
26332627 static const char *const X32Triples[] = {" x86_64-linux-gnux32" ,
26342628 " x86_64-pc-linux-gnux32" };
26352629 static const char *const X32LibDirs[] = {" /libx32" , " /lib" };
26362630 static const char *const X86LibDirs[] = {" /lib32" , " /lib" };
26372631 static const char *const X86Triples[] = {
2638- " i686 -linux-gnu" , " i686-pc- linux-gnu" , " i386-redhat-linux6E " ,
2639- " i686 -redhat-linux " , " i386 -redhat-linux" , " i586-suse -linux" ,
2640- " i686-montavista-linux" ,
2632+ " i586 -linux-gnu" , " i686-linux-gnu" , " i686-pc-linux-gnu " ,
2633+ " i386 -redhat-linux6E " , " i686 -redhat-linux" , " i386-redhat -linux" ,
2634+ " i586-suse-linux " , " i686-montavista-linux" ,
26412635 };
26422636
26432637 static const char *const LoongArch64LibDirs[] = {" /lib64" , " /lib" };
26442638 static const char *const LoongArch64Triples[] = {
26452639 " loongarch64-linux-gnu" , " loongarch64-unknown-linux-gnu" };
26462640
26472641 static const char *const M68kLibDirs[] = {" /lib" };
2648- static const char *const M68kTriples[] = {" m68k-unknown-linux-gnu " ,
2649- " m68k-suse-linux" };
2642+ static const char *const M68kTriples[] = {
2643+ " m68k-linux-gnu " , " m68k-unknown-linux-gnu " , " m68k-suse-linux" };
26502644
26512645 static const char *const MIPSLibDirs[] = {" /libo32" , " /lib" };
26522646 static const char *const MIPSTriples[] = {
26532647 " mips-linux-gnu" , " mips-mti-linux" , " mips-mti-linux-gnu" ,
26542648 " mips-img-linux-gnu" , " mipsisa32r6-linux-gnu" };
26552649 static const char *const MIPSELLibDirs[] = {" /libo32" , " /lib" };
2656- static const char *const MIPSELTriples[] = {" mipsel-linux-gnu " ,
2657- " mips-img-linux-gnu" };
2650+ static const char *const MIPSELTriples[] = {
2651+ " mipsel-linux-gnu " , " mips-img-linux-gnu " , " mipsisa32r6el -linux-gnu" };
26582652
26592653 static const char *const MIPS64LibDirs[] = {" /lib64" , " /lib" };
26602654 static const char *const MIPS64Triples[] = {
2661- " mips-mti-linux-gnu" , " mips-img-linux-gnu" , " mips64-linux-gnuabi64" ,
2655+ " mips64-linux-gnu" , " mips-mti-linux-gnu" ,
2656+ " mips-img-linux-gnu" , " mips64-linux-gnuabi64" ,
26622657 " mipsisa64r6-linux-gnu" , " mipsisa64r6-linux-gnuabi64" };
26632658 static const char *const MIPS64ELLibDirs[] = {" /lib64" , " /lib" };
26642659 static const char *const MIPS64ELTriples[] = {
2665- " mips-mti-linux-gnu" , " mips-img-linux-gnu" , " mips64el-linux-gnuabi64" ,
2660+ " mips64el-linux-gnu" , " mips-mti-linux-gnu" ,
2661+ " mips-img-linux-gnu" , " mips64el-linux-gnuabi64" ,
26662662 " mipsisa64r6el-linux-gnu" , " mipsisa64r6el-linux-gnuabi64" };
26672663
26682664 static const char *const MIPSN32LibDirs[] = {" /lib32" };
@@ -2677,39 +2673,46 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
26772673
26782674 static const char *const PPCLibDirs[] = {" /lib32" , " /lib" };
26792675 static const char *const PPCTriples[] = {
2680- " powerpc-unknown-linux-gnu" ,
2676+ " powerpc-linux-gnu " , " powerpc- unknown-linux-gnu" , " powerpc-linux-gnuspe " ,
26812677 // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
26822678 // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
26832679 " powerpc64-suse-linux" , " powerpc-montavista-linuxspe" };
26842680 static const char *const PPCLELibDirs[] = {" /lib32" , " /lib" };
2685- static const char *const PPCLETriples[] = {" powerpcle-unknown-linux-gnu" ,
2681+ static const char *const PPCLETriples[] = {" powerpcle-linux-gnu" ,
2682+ " powerpcle-unknown-linux-gnu" ,
26862683 " powerpcle-linux-musl" };
26872684
26882685 static const char *const PPC64LibDirs[] = {" /lib64" , " /lib" };
2689- static const char *const PPC64Triples[] = {" powerpc64-unknown-linux-gnu " ,
2690- " powerpc64-suse -linux" ,
2691- " ppc64-redhat-linux" };
2686+ static const char *const PPC64Triples[] = {
2687+ " powerpc64-linux-gnu " , " powerpc64-unknown -linux-gnu " ,
2688+ " powerpc64-suse-linux " , " ppc64-redhat-linux" };
26922689 static const char *const PPC64LELibDirs[] = {" /lib64" , " /lib" };
26932690 static const char *const PPC64LETriples[] = {
2694- " powerpc64le-unknown-linux-gnu" , " powerpc64le-none-linux-gnu" ,
2695- " powerpc64le-suse-linux" , " ppc64le-redhat-linux" };
2691+ " powerpc64le-linux-gnu" , " powerpc64le-unknown-linux-gnu" ,
2692+ " powerpc64le-none-linux-gnu" , " powerpc64le-suse-linux" ,
2693+ " ppc64le-redhat-linux" };
26962694
26972695 static const char *const RISCV32LibDirs[] = {" /lib32" , " /lib" };
26982696 static const char *const RISCV32Triples[] = {" riscv32-unknown-linux-gnu" ,
2697+ " riscv32-linux-gnu" ,
26992698 " riscv32-unknown-elf" };
27002699 static const char *const RISCV64LibDirs[] = {" /lib64" , " /lib" };
27012700 static const char *const RISCV64Triples[] = {" riscv64-unknown-linux-gnu" ,
2701+ " riscv64-linux-gnu" ,
27022702 " riscv64-unknown-elf" };
27032703
27042704 static const char *const SPARCv8LibDirs[] = {" /lib32" , " /lib" };
2705- static const char *const SPARCv8Triples[] = {" sparcv8-linux-gnu" };
2705+ static const char *const SPARCv8Triples[] = {" sparc-linux-gnu" ,
2706+ " sparcv8-linux-gnu" };
27062707 static const char *const SPARCv9LibDirs[] = {" /lib64" , " /lib" };
2707- static const char *const SPARCv9Triples[] = {" sparcv9-linux-gnu" };
2708+ static const char *const SPARCv9Triples[] = {" sparc64-linux-gnu" ,
2709+ " sparcv9-linux-gnu" };
27082710
27092711 static const char *const SystemZLibDirs[] = {" /lib64" , " /lib" };
27102712 static const char *const SystemZTriples[] = {
2711- " s390x-unknown-linux-gnu" , " s390x-ibm-linux-gnu" , " s390x-suse-linux" ,
2712- " s390x-redhat-linux" };
2713+ " s390x-linux-gnu" , " s390x-unknown-linux-gnu" , " s390x-ibm-linux-gnu" ,
2714+ " s390x-suse-linux" , " s390x-redhat-linux" };
2715+
27132716
27142717 using std::begin;
27152718 using std::end;
0 commit comments