diff options
author | Elliott Hughes <enh@google.com> | 2013-06-18 14:00:59 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-06-18 14:00:59 -0700 |
commit | fb11350c814cd4267cbdc4e6f445ebab4d14bfc5 (patch) | |
tree | 83cac783e02a08de970eb6f7785ee20be7e0f4d8 /libc/private | |
parent | 83476f0747b5efe6afc69e68d25f24fa73adaf4d (diff) | |
parent | 13e23302c93fdd8b52c606277f32dec0627ddbbd (diff) | |
download | bionic-fb11350c814cd4267cbdc4e6f445ebab4d14bfc5.zip bionic-fb11350c814cd4267cbdc4e6f445ebab4d14bfc5.tar.gz bionic-fb11350c814cd4267cbdc4e6f445ebab4d14bfc5.tar.bz2 |
am 13e23302: am c656d732: Merge "Always use v1 for MIPS TLS access."
* commit '13e23302c93fdd8b52c606277f32dec0627ddbbd':
Always use v1 for MIPS TLS access.
Diffstat (limited to 'libc/private')
-rw-r--r-- | libc/private/bionic_tls.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libc/private/bionic_tls.h b/libc/private/bionic_tls.h index 225a617..61b894f 100644 --- a/libc/private/bionic_tls.h +++ b/libc/private/bionic_tls.h @@ -89,7 +89,8 @@ extern int __set_tls(void* ptr); (volatile void*) __val; }) #elif defined(__mips__) # define __get_tls() \ - ({ register unsigned int __val; \ + /* On mips32r1, this goes via a kernel illegal instruction trap that's optimized for v1. */ \ + ({ register unsigned int __val asm("v1"); \ asm (" .set push\n" \ " .set mips32r2\n" \ " rdhwr %0,$29\n" \ |