https://github.com/tobiasb-ms updated 
https://github.com/llvm/llvm-project/pull/200894

>From 59fc631cea3757e47f8cb202f388c228ce070994 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

Reply via email to