[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