https://github.com/tobiasb-ms updated https://github.com/llvm/llvm-project/pull/200894
>From 40eb95c7c021ffb5ac55145ed20cc8b387696e93 Mon Sep 17 00:00:00 2001 From: Tobias Brick <[email protected]> Date: Fri, 29 May 2026 19:08:42 +0000 Subject: [PATCH] [Clang] Add azurelinux to fallback triples --- clang/lib/Driver/ToolChains/Gnu.cpp | 6 +++-- .../Driver/Inputs/azurelinux_tree/lib/.keep | 0 .../aarch64-azurelinux-linux/11/crtbegin.o | 0 .../gcc/aarch64-azurelinux-linux/11/crtend.o | 0 .../gcc/x86_64-azurelinux-linux/11/crtbegin.o | 0 .../gcc/x86_64-azurelinux-linux/11/crtend.o | 0 .../Inputs/azurelinux_tree/usr/lib64/crt1.o | 0 .../Inputs/azurelinux_tree/usr/lib64/crti.o | 0 .../Inputs/azurelinux_tree/usr/lib64/crtn.o | 0 clang/test/Driver/linux-ld.c | 22 +++++++++++++++++++ 10 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/lib/.keep create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtbegin.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtend.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtbegin.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtend.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crt1.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crti.o create mode 100644 clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crtn.o diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 131dd725c7289..6c1e67bd0ffff 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2337,7 +2337,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( // lists should shrink over time. Please don't add more elements to *Triples. static const char *const AArch64LibDirs[] = {"/lib64", "/lib"}; static const char *const AArch64Triples[] = { - "aarch64-none-linux-gnu", "aarch64-redhat-linux", "aarch64-suse-linux"}; + "aarch64-none-linux-gnu", "aarch64-redhat-linux", "aarch64-suse-linux", + "aarch64-azurelinux-linux"}; static const char *const AArch64beLibDirs[] = {"/lib"}; static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu"}; @@ -2365,7 +2366,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( "x86_64-pc-linux-gnu", "x86_64-redhat-linux6E", "x86_64-redhat-linux", "x86_64-suse-linux", "x86_64-manbo-linux-gnu", "x86_64-slackware-linux", - "x86_64-unknown-linux", "x86_64-amazon-linux"}; + "x86_64-unknown-linux", "x86_64-amazon-linux", + "x86_64-azurelinux-linux"}; static const char *const X32Triples[] = {"x86_64-linux-gnux32", "x86_64-pc-linux-gnux32"}; static const char *const X32LibDirs[] = {"/libx32", "/lib"}; diff --git a/clang/test/Driver/Inputs/azurelinux_tree/lib/.keep b/clang/test/Driver/Inputs/azurelinux_tree/lib/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtbegin.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtbegin.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtend.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/aarch64-azurelinux-linux/11/crtend.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtbegin.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtbegin.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtend.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib/gcc/x86_64-azurelinux-linux/11/crtend.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crt1.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crt1.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crti.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crti.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crtn.o b/clang/test/Driver/Inputs/azurelinux_tree/usr/lib64/crtn.o new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c index 8de1988d606cf..787b22f266283 100644 --- a/clang/test/Driver/linux-ld.c +++ b/clang/test/Driver/linux-ld.c @@ -1789,6 +1789,28 @@ // CHECK-LD-AMI: "-lc" // CHECK-LD-AMI: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" + +// Check that Azure Linux GCC is found via fallback triple detection (x86_64). +// The sysroot has GCC installed under x86_64-azurelinux-linux, but we target +// the generic x86_64-unknown-linux-gnu to exercise the fallback triple list. +// RUN: %clang -### %s -no-pie 2>&1 \ +// RUN: --target=x86_64-unknown-linux-gnu -rtlib=libgcc --unwindlib=platform \ +// RUN: --sysroot=%S/Inputs/azurelinux_tree \ +// RUN: | FileCheck --check-prefix=CHECK-LD-AZURELINUX %s +// CHECK-LD-AZURELINUX: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-LD-AZURELINUX: "{{.*}}/usr/lib/gcc/x86_64-azurelinux-linux/11{{/|\\\\}}crtbegin.o" +// CHECK-LD-AZURELINUX: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-azurelinux-linux/11" +// CHECK-LD-AZURELINUX: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-azurelinux-linux/11/../../../../lib64" + +// Check that Azure Linux GCC is found via fallback triple detection (aarch64). +// RUN: %clang -### %s -no-pie 2>&1 \ +// RUN: --target=aarch64-unknown-linux-gnu -rtlib=libgcc --unwindlib=platform \ +// RUN: --sysroot=%S/Inputs/azurelinux_tree \ +// RUN: | FileCheck --check-prefix=CHECK-LD-AZURELINUX-AARCH64 %s +// CHECK-LD-AZURELINUX-AARCH64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-LD-AZURELINUX-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-azurelinux-linux/11{{/|\\\\}}crtbegin.o" +// CHECK-LD-AZURELINUX-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-azurelinux-linux/11" +// CHECK-LD-AZURELINUX-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-azurelinux-linux/11/../../../../lib64" // Check whether the OpenEmbedded ARM libs are added correctly. // RUN: %clang -### %s -no-pie 2>&1 \ // RUN: --target=arm-oe-linux-gnueabi -rtlib=libgcc --unwindlib=platform \ _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
