Skip to content

Conversation

@brad0
Copy link
Contributor

@brad0 brad0 commented Sep 6, 2025

No description provided.

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang:frontend Language frontend issues, e.g. anything involving "Sema" labels Sep 6, 2025
@llvmbot
Copy link
Member

llvmbot commented Sep 6, 2025

@llvm/pr-subscribers-clang-driver

@llvm/pr-subscribers-clang

Author: Brad Smith (brad0)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/157212.diff

6 Files Affected:

  • (modified) clang/lib/Basic/Targets.cpp (+6)
  • (modified) clang/lib/Driver/ToolChains/Gnu.cpp (+8)
  • (modified) clang/lib/Driver/ToolChains/Hurd.cpp (+10)
  • (modified) clang/lib/Driver/ToolChains/Hurd.h (+5)
  • (modified) clang/test/Driver/aarch64-features.c (+3)
  • (modified) llvm/unittests/TargetParser/TripleTest.cpp (+12)
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index e3f9760ac7ce3..4c5656766b739 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -172,6 +172,9 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
     case llvm::Triple::OpenBSD:
       return std::make_unique<OpenBSDTargetInfo<AArch64leTargetInfo>>(Triple,
                                                                       Opts);
+    case llvm::Triple::Hurd:
+      return std::make_unique<HurdTargetInfo<AArch64leTargetInfo>>(Triple,
+                                                                   Opts);
     case llvm::Triple::Win32:
       switch (Triple.getEnvironment()) {
       case llvm::Triple::GNU:
@@ -464,6 +467,9 @@ std::unique_ptr<TargetInfo> AllocateTarget(const llvm::Triple &Triple,
     case llvm::Triple::Managarm:
       return std::make_unique<ManagarmTargetInfo<RISCV64TargetInfo>>(Triple,
                                                                      Opts);
+    case llvm::Triple::Hurd:
+      return std::make_unique<HurdTargetInfo<RISCV64TargetInfo>>(Triple,
+                                                                 Opts);
     default:
       return std::make_unique<RISCV64TargetInfo>(Triple, Opts);
     }
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 3dade2bdf2277..7616076847a2c 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -2529,6 +2529,14 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
 
   if (TargetTriple.isOSHurd()) {
     switch (TargetTriple.getArch()) {
+    case llvm::Triple::aarch64:
+      LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
+      TripleAliases.push_back("aarch64-gnu");
+      break;
+    case llvm::Triple::riscv64:
+      LibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
+      TripleAliases.push_back("riscv64-gnu");
+      break;
     case llvm::Triple::x86_64:
       LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
       TripleAliases.push_back("x86_64-gnu");
diff --git a/clang/lib/Driver/ToolChains/Hurd.cpp b/clang/lib/Driver/ToolChains/Hurd.cpp
index 8bcc7e6d9759e..43121233ea7d0 100644
--- a/clang/lib/Driver/ToolChains/Hurd.cpp
+++ b/clang/lib/Driver/ToolChains/Hurd.cpp
@@ -34,6 +34,12 @@ std::string Hurd::getMultiarchTriple(const Driver &D,
   default:
     break;
 
+  case llvm::Triple::aarch64:
+    return "aarch64-gnu";
+
+  case llvm::Triple::riscv64:
+    return "riscv64-gnu";
+
   case llvm::Triple::x86:
     // We use the existence of '/lib/<triple>' as a directory to detect some
     // common hurd triples that don't quite match the Clang triple for both
@@ -142,6 +148,10 @@ Tool *Hurd::buildAssembler() const {
 
 std::string Hurd::getDynamicLinker(const ArgList &Args) const {
   switch (getArch()) {
+  case llvm::Triple::aarch64:
+    return "/lib/ld-aarch64.so.1";
+  case llvm::Triple::riscv64:
+    return "/lib/ld-riscv64-lp64.so.1";
   case llvm::Triple::x86:
     return "/lib/ld.so";
   case llvm::Triple::x86_64:
diff --git a/clang/lib/Driver/ToolChains/Hurd.h b/clang/lib/Driver/ToolChains/Hurd.h
index f301bc5f4269e..c7b72680dcd4b 100644
--- a/clang/lib/Driver/ToolChains/Hurd.h
+++ b/clang/lib/Driver/ToolChains/Hurd.h
@@ -30,6 +30,11 @@ class LLVM_LIBRARY_VISIBILITY Hurd : public Generic_ELF {
   addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
                            llvm::opt::ArgStringList &CC1Args) const override;
 
+  bool IsAArch64OutlineAtomicsDefault(
+      const llvm::opt::ArgList &Args) const override {
+    return true;
+  }
+
   std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
 
   void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
diff --git a/clang/test/Driver/aarch64-features.c b/clang/test/Driver/aarch64-features.c
index 11c7343544345..44498c3472392 100644
--- a/clang/test/Driver/aarch64-features.c
+++ b/clang/test/Driver/aarch64-features.c
@@ -79,6 +79,9 @@
 // RUN: --gcc-toolchain=%S/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0 \
 // RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
 
+// RUN: %clang --target=aarch64-unknown-hurd-gnu -rtlib=libgcc \
+// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+
 // RUN: %clang --target=aarch64-unknown-haiku -rtlib=libgcc \
 // RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
 
diff --git a/llvm/unittests/TargetParser/TripleTest.cpp b/llvm/unittests/TargetParser/TripleTest.cpp
index d2ca30583fe82..695a7ab06f772 100644
--- a/llvm/unittests/TargetParser/TripleTest.cpp
+++ b/llvm/unittests/TargetParser/TripleTest.cpp
@@ -138,6 +138,12 @@ TEST(TripleTest, ParsedIDs) {
   EXPECT_EQ(Triple::Linux, T.getOS());
   EXPECT_EQ(Triple::Android, T.getEnvironment());
 
+  T = Triple("aarch64-unknown-hurd-gnu");
+  EXPECT_EQ(Triple::aarch64, T.getArch());
+  EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
+  EXPECT_EQ(Triple::Hurd, T.getOS());
+  EXPECT_EQ(Triple::GNU, T.getEnvironment());
+
   // PS4 has two spellings for the vendor.
   T = Triple("x86_64-scei-ps4");
   EXPECT_EQ(Triple::x86_64, T.getArch());
@@ -789,6 +795,12 @@ TEST(TripleTest, ParsedIDs) {
   EXPECT_EQ(Triple::Linux, T.getOS());
   EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
 
+  T = Triple("riscv64-unknown-hurd-gnu");
+  EXPECT_EQ(Triple::riscv64, T.getArch());
+  EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
+  EXPECT_EQ(Triple::Hurd, T.getOS());
+  EXPECT_EQ(Triple::GNU, T.getEnvironment());
+
   T = Triple("armv7hl-suse-linux-gnueabi");
   EXPECT_EQ(Triple::arm, T.getArch());
   EXPECT_EQ(Triple::SUSE, T.getVendor());

@github-actions
Copy link

github-actions bot commented Sep 6, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@brad0 brad0 force-pushed the hurd_aarch64_riscv64 branch from f840d93 to 0a68a5f Compare September 6, 2025 00:35
@brad0 brad0 force-pushed the hurd_aarch64_riscv64 branch from 0a68a5f to ea175de Compare September 14, 2025 06:58
@brad0 brad0 merged commit 092bc04 into llvm:main Sep 22, 2025
9 of 10 checks passed
@brad0 brad0 deleted the hurd_aarch64_riscv64 branch September 22, 2025 05:52
@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 22, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-bootstrap-asan running on sanitizer-buildbot7 while building clang,llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/24/builds/12849

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 90760 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lit :: shtest-readfile-external.py (87575 of 90760)
******************** TEST 'lit :: shtest-readfile-external.py' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 4
env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS "/usr/bin/python3" /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# executed command: env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS /usr/bin/python3 /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile
# note: command had no output on stdout or stderr
# executed command: FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# .---command stderr------------
# | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py:10:10: error: CHECK: expected string not found in input
# | # CHECK: + echo hello
# |          ^
# | <stdin>:16:316: note: scanning from here
# | echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3
# |                                                                                                                                                                                                                                                                                                                            ^
# | <stdin>:21:1: note: possible intended match here
# | + not echo return
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11: -- 
# |            12: Command Output (stderr): 
# |            13: -- 
# |            14: echo -n "hello" > /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 2 
# |            15: + echo -n hello 
# |            16: echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3 
# | check:10'0                                                                                                                                                                                                                                                                                                                                X error: no match found
Step 11 (stage2/asan check) failure: stage2/asan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 90760 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lit :: shtest-readfile-external.py (87575 of 90760)
******************** TEST 'lit :: shtest-readfile-external.py' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 4
env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS "/usr/bin/python3" /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# executed command: env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS /usr/bin/python3 /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile
# note: command had no output on stdout or stderr
# executed command: FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# .---command stderr------------
# | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py:10:10: error: CHECK: expected string not found in input
# | # CHECK: + echo hello
# |          ^
# | <stdin>:16:316: note: scanning from here
# | echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3
# |                                                                                                                                                                                                                                                                                                                            ^
# | <stdin>:21:1: note: possible intended match here
# | + not echo return
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/shtest-readfile-external.py
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11: -- 
# |            12: Command Output (stderr): 
# |            13: -- 
# |            14: echo -n "hello" > /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 2 
# |            15: + echo -n hello 
# |            16: echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3 
# | check:10'0                                                                                                                                                                                                                                                                                                                                X error: no match found
Step 14 (stage3/asan check) failure: stage3/asan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit/main.py:74: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 87435 tests, 72 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.
FAIL: lit :: shtest-readfile-external.py (84224 of 87435)
******************** TEST 'lit :: shtest-readfile-external.py' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 4
env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS "/usr/bin/python3" /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile | FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/shtest-readfile-external.py
# executed command: env LIT_USE_INTERNAL_SHELL=0 not env -u FILECHECK_OPTS /usr/bin/python3 /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/utils/lit/lit.py -j1 --order=lexical -a -v Inputs/shtest-readfile
# note: command had no output on stdout or stderr
# executed command: FileCheck -match-full-lines -DTEMP_PATH=/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/shtest-readfile-external.py
# .---command stderr------------
# | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/shtest-readfile-external.py:10:10: error: CHECK: expected string not found in input
# | # CHECK: + echo hello
# |          ^
# | <stdin>:16:318: note: scanning from here
# | echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3
# |                                                                                                                                                                                                                                                                                                                              ^
# | <stdin>:21:1: note: possible intended match here
# | + not echo return
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/shtest-readfile-external.py
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            11: -- 
# |            12: Command Output (stderr): 
# |            13: -- 
# |            14: echo -n "hello" > /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 2 
# |            15: + echo -n hello 
# |            16: echo $(cat /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp) && test -e /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build2_asan/utils/lit/tests/Inputs/shtest-readfile/Output/absolute-paths.txt.tmp # RUN: at line 3 
# | check:10'0                                                                                                                                                                                                                                                                                                                                  X error: no match found

@brad0 brad0 mentioned this pull request Sep 22, 2025
24 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:driver 'clang' and 'clang++' user-facing binaries. Not 'clang-cl' clang:frontend Language frontend issues, e.g. anything involving "Sema" clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants