commit | 67108c3cfa75fd0675ac900851bd6a86d8e45dd1 | [log] [tgz] |
---|---|---|
author | Pierre-Clément Tosi <ptosi@google.com> | Fri Jun 30 11:04:02 2023 +0000 |
committer | Pierre-Clément Tosi <ptosi@google.com> | Fri Jul 07 10:45:28 2023 +0000 |
tree | 6e7d00e5152fb484b736beeb7d2627d7905a9003 | |
parent | d330548e21689187dba928c95047ded71f61a3fc [diff] |
vmbase: Define Bionic TLS from Rust Move the definition of __bionic_tls to Rust and generalize accessing it through the TPIDR_EL0 in vmbase::bionic, reducing the amount of ASM we have and giving typed accesses to the TLS from Rust. Use the linker script to now define __stack_chk_guard at an offset from __bionic_tls, which can't be done from Rust. Note that TPIDR_EL0 can't be configured from rust_entry because the compiler will dereference it during function entry to access __stack_chk_guard and Rust doesn't support LLVM's __attribute__((no_stack_protector)). Test: atest DebugPolicyHostTests#testNoAdbInDebugPolicy_withDebugLevelNone_boots Test: atest rialto_test vmbase_example.integration_test Change-Id: Ife1e43a972758bff1cace87d80319465bb643e6d
This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.