[compiler-rt] [compiler-rt] allow removing libc dependency on Android (PR #152394)

Axel Karjalainen via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 6 14:54:01 PDT 2025


https://github.com/axelkar created https://github.com/llvm/llvm-project/pull/152394

https://github.com/llvm/llvm-project/issues/127227
https://github.com/NixOS/nixpkgs/pull/431477

>From f5e5dca195afc9d84a01fba17b7eefa53befd63f Mon Sep 17 00:00:00 2001
From: Axel Karjalainen <axel at axka.fi>
Date: Thu, 7 Aug 2025 00:39:26 +0300
Subject: [PATCH] [compiler-rt] allow removing libc dependency on Android

---
 compiler-rt/lib/builtins/CMakeLists.txt      | 2 +-
 compiler-rt/lib/builtins/cpu_model/aarch64.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
index 1dadb6a810efb..921814aaed7b5 100644
--- a/compiler-rt/lib/builtins/CMakeLists.txt
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
@@ -160,7 +160,6 @@ set(GENERIC_SOURCES
   negvdi2.c
   negvsi2.c
   negvti2.c
-  os_version_check.c
   paritydi2.c
   paritysi2.c
   parityti2.c
@@ -242,6 +241,7 @@ if(NOT FUCHSIA AND NOT COMPILER_RT_BAREMETAL_BUILD AND NOT COMPILER_RT_GPU_BUILD
     emutls.c
     enable_execute_stack.c
     eprintf.c
+    os_version_check.c
   )
 endif()
 
diff --git a/compiler-rt/lib/builtins/cpu_model/aarch64.c b/compiler-rt/lib/builtins/cpu_model/aarch64.c
index be002dd71992a..5af475e1333b9 100644
--- a/compiler-rt/lib/builtins/cpu_model/aarch64.c
+++ b/compiler-rt/lib/builtins/cpu_model/aarch64.c
@@ -43,7 +43,7 @@ _Bool __aarch64_have_lse_atomics
 #elif defined(__Fuchsia__)
 #include "aarch64/hwcap.inc"
 #include "aarch64/lse_atomics/fuchsia.inc"
-#elif defined(__ANDROID__)
+#elif defined(__ANDROID__) && __has_include(<sys/system_properties.h>)
 #include "aarch64/hwcap.inc"
 #include "aarch64/lse_atomics/android.inc"
 #elif defined(__linux__) && __has_include(<sys/auxv.h>)
@@ -73,7 +73,7 @@ struct {
 #include "aarch64/fmv/freebsd.inc"
 #elif defined(__Fuchsia__)
 #include "aarch64/fmv/fuchsia.inc"
-#elif defined(__ANDROID__)
+#elif defined(__ANDROID__) && __has_include(<sys/system_properties.h>)
 #include "aarch64/fmv/mrs.inc"
 #include "aarch64/fmv/android.inc"
 #elif defined(__linux__) && __has_include(<sys/auxv.h>)



More information about the llvm-commits mailing list