diff --git a/packages/rust/0007-use-emulated-tls-on-android.patch b/packages/rust/0007-use-emulated-tls-on-android.patch new file mode 100644 index 0000000000..a18d2d6dd2 --- /dev/null +++ b/packages/rust/0007-use-emulated-tls-on-android.patch @@ -0,0 +1,26 @@ +--- a/compiler/rustc_target/src/spec/base/android.rs ++++ b/compiler/rustc_target/src/spec/base/android.rs +@@ -6,7 +6,7 @@ + base.is_like_android = true; + base.default_dwarf_version = 2; + base.tls_model = TlsModel::Emulated; +- base.has_thread_local = false; ++ base.has_thread_local = true; + base.supported_sanitizers = SanitizerSet::ADDRESS; + // This is for backward compatibility, see https://github.com/rust-lang/rust/issues/49867 + // for context. (At that time, there was no `-C force-unwind-tables`, so the only solution +--- a/src/bootstrap/src/core/builder/cargo.rs ++++ b/src/bootstrap/src/core/builder/cargo.rs +@@ -1058,10 +1058,11 @@ + // so we can't use it by default in general, but we can use it for tools + // and our own internal libraries. + // +- // Cygwin only supports emutls. ++ // Cygwin and Android only supports emutls. + if !mode.must_support_dlopen() + && !target.triple.starts_with("powerpc-") + && !target.triple.contains("cygwin") ++ && !target.triple.contains("android") + { + cargo.env("RUSTC_TLS_MODEL_INITIAL_EXEC", "1"); + } diff --git a/packages/rust/build.sh b/packages/rust/build.sh index 7344f5f5ce..cf449a0955 100644 --- a/packages/rust/build.sh +++ b/packages/rust/build.sh @@ -3,9 +3,9 @@ TERMUX_PKG_HOMEPAGE=https://www.rust-lang.org/ TERMUX_PKG_DESCRIPTION="Systems programming language focused on safety, speed and concurrency" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION="1.90.0+really1.89.0" +TERMUX_PKG_VERSION="1.90.0+really1.90.0" TERMUX_PKG_SRCURL=https://static.rust-lang.org/dist/rustc-${TERMUX_PKG_VERSION##*y}-src.tar.xz -TERMUX_PKG_SHA256=0b9d55610d8270e06c44f459d1e2b7918a5e673809c592abed9b9c600e33d95a +TERMUX_PKG_SHA256=6bfeaddd90ffda2f063492b092bfed925c4b8c701579baf4b1316e021470daac _LLVM_MAJOR_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $LLVM_MAJOR_VERSION) _LLVM_MAJOR_VERSION_NEXT=$((_LLVM_MAJOR_VERSION + 1)) _LZMA_VERSION=$(. $TERMUX_SCRIPTDIR/packages/liblzma/build.sh; echo $TERMUX_PKG_VERSION)