[libc-commits] [libc] [LibC] Refactor arm64 to aarch64 for darwin. (PR #141509)

via libc-commits libc-commits at lists.llvm.org
Mon May 26 10:19:56 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Aly ElAshram (AlyElashram)

<details>
<summary>Changes</summary>

Fixes [#<!-- -->141505](https://github.com/llvm/llvm-project/issues/141505)

The main intention behind this PR is to update the LibCTargetArchitecture for arm64 to use the implementation of aarch64 architecture and not arm32. 

This is a historical issue , and is a blocker to issue #<!-- -->138407. 

The intended fix is to set the `LibCTargetArchitecture` to aarch64 when it matches arm64 , this in turn would help us run darwin/aarch64 specific code on our MacOs pipeline in the git actions.

Methods used to search and find "darwin/arm" directories was  

1. "find . -type d -path "*/libc/*/darwin/arm" in a linux terminal to check for arm specifically
2. "find . -type d -path "*/libc/*/darwin/*" to ensure there are no directories that are named "*arm*" where star is a wildcard for any character.

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


6 Files Affected:

- (modified) libc/cmake/modules/LLVMLibCArchitectures.cmake (+2-4) 
- (renamed) libc/config/darwin/aarch64/entrypoints.txt () 
- (renamed) libc/config/darwin/aarch64/headers.txt () 
- (renamed) libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt () 
- (renamed) libc/src/__support/OSUtil/darwin/aarch64/syscall.h () 
- (modified) libc/src/__support/OSUtil/darwin/syscall.h (+1-1) 


``````````diff
diff --git a/libc/cmake/modules/LLVMLibCArchitectures.cmake b/libc/cmake/modules/LLVMLibCArchitectures.cmake
index 62f3a2e3bdb59..c94a407d974df 100644
--- a/libc/cmake/modules/LLVMLibCArchitectures.cmake
+++ b/libc/cmake/modules/LLVMLibCArchitectures.cmake
@@ -33,12 +33,10 @@ function(get_arch_and_system_from_triple triple arch_var sys_var)
   # value.
   if(target_arch MATCHES "^mips")
     set(target_arch "mips")
+  elseif(target_arch MATCHES "^aarch64|^arm64")
+    set(target_arch "aarch64")
   elseif(target_arch MATCHES "^arm")
-    # TODO(lntue): Shall we separate `arm64`?  It is currently recognized as
-    # `arm` here.
     set(target_arch "arm")
-  elseif(target_arch MATCHES "^aarch64")
-    set(target_arch "aarch64")
   elseif(target_arch MATCHES "(x86_64)|(AMD64|amd64)")
     set(target_arch "x86_64")
   elseif(target_arch MATCHES "(^i.86$)")
diff --git a/libc/config/darwin/arm/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt
similarity index 100%
rename from libc/config/darwin/arm/entrypoints.txt
rename to libc/config/darwin/aarch64/entrypoints.txt
diff --git a/libc/config/darwin/arm/headers.txt b/libc/config/darwin/aarch64/headers.txt
similarity index 100%
rename from libc/config/darwin/arm/headers.txt
rename to libc/config/darwin/aarch64/headers.txt
diff --git a/libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt b/libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
similarity index 100%
rename from libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt
rename to libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
diff --git a/libc/src/__support/OSUtil/darwin/arm/syscall.h b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h
similarity index 100%
rename from libc/src/__support/OSUtil/darwin/arm/syscall.h
rename to libc/src/__support/OSUtil/darwin/aarch64/syscall.h
diff --git a/libc/src/__support/OSUtil/darwin/syscall.h b/libc/src/__support/OSUtil/darwin/syscall.h
index eab96366a21a3..463407dbe19ef 100644
--- a/libc/src/__support/OSUtil/darwin/syscall.h
+++ b/libc/src/__support/OSUtil/darwin/syscall.h
@@ -15,7 +15,7 @@
 #include "src/__support/macros/properties/architectures.h"
 
 #ifdef LIBC_TARGET_ARCH_IS_ANY_ARM
-#include "arm/syscall.h"
+#include "aarch64/syscall.h"
 #else
 #error "Unsupported architecture"
 #endif

``````````

</details>


https://github.com/llvm/llvm-project/pull/141509


More information about the libc-commits mailing list