summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorborman <[email protected]>2025-09-30 00:06:38 +0300
committerborman <[email protected]>2025-09-30 00:35:26 +0300
commitc9620a377011f8ec46fb9f5de07472d2c692a0b7 (patch)
tree15fa1ecafdaefd5129ba725090a6b6330dc97f13
parent8e7253fa1a512fedfdb2b726b7ac0cf2603e7eec (diff)
Unconditionally use our static libcxxabi on Android (v2, fixed)
commit_hash:e0c11c03eedea1e4def6ace301e75a7eb81e57c6
-rwxr-xr-xbuild/ymake_conf.py3
-rw-r--r--contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym8
-rw-r--r--contrib/libs/cxxsupp/builtins/ya.make8
-rw-r--r--contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym2
-rw-r--r--contrib/libs/cxxsupp/libcxx/ya.make2
5 files changed, 18 insertions, 5 deletions
diff --git a/build/ymake_conf.py b/build/ymake_conf.py
index 325c80327ba..e57d6cae493 100755
--- a/build/ymake_conf.py
+++ b/build/ymake_conf.py
@@ -1260,9 +1260,6 @@ class GnuToolchain(Toolchain):
for root in list(self.tc.isystem):
self.c_flags_platform.extend(['-isystem', root])
- if target.is_android:
- self.c_flags_platform.extend(['-isystem', '{}/sources/cxx-stl/llvm-libc++abi/include'.format(self.tc.name_marker)])
-
if target.is_cortex_a9:
self.c_flags_platform.append('-mcpu=cortex-a9')
diff --git a/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym b/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym
index c9e76124555..812c41f99ea 100644
--- a/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym
+++ b/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym
@@ -69,6 +69,14 @@ IF (GCC OR CLANG)
# Just generate native code from the beginning.
NO_LTO()
ENDIF()
+
+IF (OS_ANDROID AND ARCH_ARM7)
+ # For some reason, some intrinsincs fail to compile under Thumb mode restrictions
+ # Disable it, since it's not used in upstream NDK anyway
+ CFLAGS(
+ -mno-thumb
+ )
+ENDIF()
{% endblock %}
{% block gen_ya_make %}
diff --git a/contrib/libs/cxxsupp/builtins/ya.make b/contrib/libs/cxxsupp/builtins/ya.make
index 383d34b214a..62b7661b738 100644
--- a/contrib/libs/cxxsupp/builtins/ya.make
+++ b/contrib/libs/cxxsupp/builtins/ya.make
@@ -60,6 +60,14 @@ IF (GCC OR CLANG)
NO_LTO()
ENDIF()
+IF (OS_ANDROID AND ARCH_ARM7)
+ # For some reason, some intrinsincs fail to compile under Thumb mode restrictions
+ # Disable it, since it's not used in upstream NDK anyway
+ CFLAGS(
+ -mno-thumb
+ )
+ENDIF()
+
IF (OS_DARWIN OR OS_IOS)
SRCS(
atomic_flag_clear.c
diff --git a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
index 44e7693fb5a..c22b21665d2 100644
--- a/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
+++ b/contrib/libs/cxxsupp/libcxx/.yandex_meta/build.ym
@@ -106,7 +106,7 @@ ADDINCL(
CXXFLAGS(-D_LIBCPP_BUILDING_LIBRARY)
IF (OS_ANDROID)
- SET(CXX_RT "libcxxabi_dynamic")
+ SET(CXX_RT "libcxxabi")
ELSEIF (OS_IOS)
SET(CXX_RT "libcxxabi_dynamic")
# Yet take builtins library from Arcadia
diff --git a/contrib/libs/cxxsupp/libcxx/ya.make b/contrib/libs/cxxsupp/libcxx/ya.make
index 8346845c4df..04f1572810c 100644
--- a/contrib/libs/cxxsupp/libcxx/ya.make
+++ b/contrib/libs/cxxsupp/libcxx/ya.make
@@ -29,7 +29,7 @@ ADDINCL(
CXXFLAGS(-D_LIBCPP_BUILDING_LIBRARY)
IF (OS_ANDROID)
- SET(CXX_RT "libcxxabi_dynamic")
+ SET(CXX_RT "libcxxabi")
ELSEIF (OS_IOS)
SET(CXX_RT "libcxxabi_dynamic")
# Yet take builtins library from Arcadia