Skip to content

Conversation

brad0
Copy link
Contributor

@brad0 brad0 commented Sep 1, 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' labels Sep 1, 2025
@llvmbot
Copy link
Member

llvmbot commented Sep 1, 2025

@llvm/pr-subscribers-clang-driver

@llvm/pr-subscribers-clang

Author: Brad Smith (brad0)

Changes

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

3 Files Affected:

  • (modified) clang/lib/Driver/ToolChains/Haiku.h (+5)
  • (modified) clang/lib/Driver/ToolChains/Managarm.h (+6)
  • (modified) clang/test/Driver/aarch64-features.c (+6)
diff --git a/clang/lib/Driver/ToolChains/Haiku.h b/clang/lib/Driver/ToolChains/Haiku.h
index edebf5c49187b..b4b14cf0aeb99 100644
--- a/clang/lib/Driver/ToolChains/Haiku.h
+++ b/clang/lib/Driver/ToolChains/Haiku.h
@@ -56,6 +56,11 @@ class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
       const llvm::opt::ArgList &DriverArgs,
       llvm::opt::ArgStringList &CC1Args) const override;
 
+  bool IsAArch64OutlineAtomicsDefault(
+      const llvm::opt::ArgList &Args) const override {
+    return true;
+  }
+
   SanitizerMask getSupportedSanitizers() const override;
   unsigned GetDefaultDwarfVersion() const override { return 4; }
 
diff --git a/clang/lib/Driver/ToolChains/Managarm.h b/clang/lib/Driver/ToolChains/Managarm.h
index 2082e2c615f28..408c0589a3138 100644
--- a/clang/lib/Driver/ToolChains/Managarm.h
+++ b/clang/lib/Driver/ToolChains/Managarm.h
@@ -34,6 +34,12 @@ class LLVM_LIBRARY_VISIBILITY Managarm : public Generic_ELF {
   void
   addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
                            llvm::opt::ArgStringList &CC1Args) const override;
+
+  bool IsAArch64OutlineAtomicsDefault(
+      const llvm::opt::ArgList &Args) const override {
+    return true;
+  }
+
   SanitizerMask getSupportedSanitizers() const override;
   std::string computeSysRoot() const override;
 
diff --git a/clang/test/Driver/aarch64-features.c b/clang/test/Driver/aarch64-features.c
index 05dd3bf39fae3..11c7343544345 100644
--- a/clang/test/Driver/aarch64-features.c
+++ b/clang/test/Driver/aarch64-features.c
@@ -79,6 +79,12 @@
 // 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-haiku -rtlib=libgcc \
+// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+
+// RUN: %clang --target=aarch64-unknown-managarm-mlibc -rtlib=libgcc \
+// RUN: -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-OUTLINE-ATOMICS-ON %s
+
 // CHECK-OUTLINE-ATOMICS-ON: "-target-feature" "+outline-atomics"
 // CHECK-OUTLINE-ATOMICS-OFF-NOT: "-target-feature" "+outline-atomics"
 // CHECK-NO-OUTLINE-ATOMICS: "-target-feature" "-outline-atomics"

@brad0
Copy link
Contributor Author

brad0 commented Sep 5, 2025

cc @no92

@no92
Copy link
Contributor

no92 commented Sep 5, 2025

I've been told by other managarm contributors that we seem to already use outline atomics with GCC, so this seems fine as far as managarm is concerned. Thank you for bringing this up!

@brad0 brad0 merged commit 5348d60 into llvm:main Sep 5, 2025
12 checks passed
@brad0 brad0 deleted the haiku_managarm_aarch64_outline_atomics branch September 5, 2025 20:55
@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 5, 2025

LLVM Buildbot has detected a new failure on builder cross-project-tests-sie-ubuntu-dwarf5 running on doug-worker-1b while building clang at step 6 "test-build-unified-tree-check-cross-project".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-cross-project) failure: test (failure)
******************** TEST 'cross-project-tests :: debuginfo-tests/dexter-tests/deferred_globals.cpp' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
deferred_globals.cpp: nan/nan (nan) [Command '['/usr/bin/python3.10', '/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter/dex/../dexter.py', 'run-debugger-internal-', '/tmp/lit-tmp-wla41k72/dexter/tmpspiwyb2g/tmpg5w9_f3n', '--working-directory=/tmp/lit-tmp-wla41k72/dexter/tmpspiwyb2g', '--unittest=off', '--indent-timer-level=3']' returned non-zero exit status 1.]
Command '['/usr/bin/python3.10', '/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter/dex/../dexter.py', 'run-debugger-internal-', '/tmp/lit-tmp-wla41k72/dexter/tmpspiwyb2g/tmpg5w9_f3n', '--working-directory=/tmp/lit-tmp-wla41k72/dexter/tmpspiwyb2g', '--unittest=off', '--indent-timer-level=3']' returned non-zero exit status 1.
--
Command Output (stderr):
--
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/bin/clang++ -std=gnu++11 -O0 -g /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp -o /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/projects/cross-project-tests/debuginfo-tests/dexter-tests/Output/deferred_globals.cpp.tmp # RUN: at line 7
+ /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/bin/clang++ -std=gnu++11 -O0 -g /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp -o /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/projects/cross-project-tests/debuginfo-tests/dexter-tests/Output/deferred_globals.cpp.tmp
"/usr/bin/python3.10" "/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter/dexter.py" test --fail-lt 1.0 -w      --binary  /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/projects/cross-project-tests/debuginfo-tests/dexter-tests/Output/deferred_globals.cpp.tmp --lldb-executable "/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/bin/lldb-dap" --debugger lldb-dap -v -- /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp # RUN: at line 8
+ /usr/bin/python3.10 /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter/dexter.py test --fail-lt 1.0 -w --binary /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/projects/cross-project-tests/debuginfo-tests/dexter-tests/Output/deferred_globals.cpp.tmp --lldb-executable /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/bin/lldb-dap --debugger lldb-dap -v -- /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
note: Opening DAP server: /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/build/bin/lldb-dap
warning: DAP: Unknown support flag: $__lldb_version
warning: DAP: Unknown support flag: completionTriggerCharacters
warning: DAP: Unknown support flag: exceptionBreakpointFilters
warning: DAP: Unknown support flag: supportTerminateDebuggee
warning: DAP: Unknown support flag: supportsBreakpointLocationsRequest
warning: DAP: Unknown support flag: supportsCompletionsRequest
warning: DAP: Unknown support flag: supportsDelayedStackTraceLoading
warning: DAP: Unknown support flag: supportsExceptionFilterOptions
warning: DAP: Unknown support flag: supportsExceptionInfoRequest
warning: DAP: Unknown support flag: supportsModuleSymbolsRequest
warning: DAP: Unknown support flag: capabilities
note: Successfully disconnected from DAP server.


****************************************


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 Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants