Fix x86_64 test failures.
Change-Id: I97b3d1755d2e205ca7423248a2af37f1875d5116
diff --git a/runtime/arch/x86_64/thread_x86_64.cc b/runtime/arch/x86_64/thread_x86_64.cc
index de4c56a..b7a5c43 100644
--- a/runtime/arch/x86_64/thread_x86_64.cc
+++ b/runtime/arch/x86_64/thread_x86_64.cc
@@ -31,8 +31,7 @@
syscall(__NR_arch_prctl, code, val);
}
void Thread::InitCpu() {
- static Mutex modify_ldt_lock("modify_ldt lock");
- MutexLock mu(Thread::Current(), modify_ldt_lock);
+ MutexLock mu(nullptr, *Locks::modify_ldt_lock_);
arch_prctl(ARCH_SET_GS, this);
// Allow easy indirection back to Thread*.
diff --git a/runtime/base/mutex.cc b/runtime/base/mutex.cc
index 705be40..d2b4e01 100644
--- a/runtime/base/mutex.cc
+++ b/runtime/base/mutex.cc
@@ -816,7 +816,7 @@
void Locks::Init() {
if (logging_lock_ != nullptr) {
// Already initialized.
- if (kRuntimeISA == kX86) {
+ if (kRuntimeISA == kX86 || kRuntimeISA == kX86_64) {
DCHECK(modify_ldt_lock_ != nullptr);
} else {
DCHECK(modify_ldt_lock_ == nullptr);
@@ -877,7 +877,7 @@
DCHECK(allocated_thread_ids_lock_ == nullptr);
allocated_thread_ids_lock_ = new Mutex("allocated thread ids lock", current_lock_level);
- if (kRuntimeISA == kX86) {
+ if (kRuntimeISA == kX86 || kRuntimeISA == kX86_64) {
UPDATE_CURRENT_LOCK_LEVEL(kModifyLdtLock);
DCHECK(modify_ldt_lock_ == nullptr);
modify_ldt_lock_ = new Mutex("modify_ldt lock", current_lock_level);