diff options
author | Elliott Hughes <enh@google.com> | 2013-10-08 18:50:24 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-10-09 13:39:13 -0700 |
commit | 2a0b873065edb304fa2d1c54f8de663ea638b8ab (patch) | |
tree | 4753b74b87e713379965bb051482036e6726afb1 /libc/arch-x86 | |
parent | 777a4ee6771e6fe3362ef4f24244a44fcd0aabe4 (diff) | |
download | bionic-2a0b873065edb304fa2d1c54f8de663ea638b8ab.zip bionic-2a0b873065edb304fa2d1c54f8de663ea638b8ab.tar.gz bionic-2a0b873065edb304fa2d1c54f8de663ea638b8ab.tar.bz2 |
Fix __errno for LP64 and clean up __get_tls.
If __get_tls has the right type, a lot of confusing casting can disappear.
It was probably a mistake that __get_tls was exposed as a function for mips
and x86 (but not arm), so let's (a) ensure that the __get_tls function
always matches the macro, (b) that we have the function for arm too, and
(c) that we don't have the function for any 64-bit architecture.
Change-Id: Ie9cb989b66e2006524ad7733eb6e1a65055463be
Diffstat (limited to 'libc/arch-x86')
-rw-r--r-- | libc/arch-x86/bionic/__get_tls.c | 37 | ||||
-rw-r--r-- | libc/arch-x86/x86.mk | 1 |
2 files changed, 0 insertions, 38 deletions
diff --git a/libc/arch-x86/bionic/__get_tls.c b/libc/arch-x86/bionic/__get_tls.c deleted file mode 100644 index 5ac6e44..0000000 --- a/libc/arch-x86/bionic/__get_tls.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -/* see the implementation of __set_tls and pthread.c to understand this - * code. Basically, the content of gs:[0] always is a pointer to the base - * address of the tls region - */ -void* __get_tls(void) -{ - void* tls; - asm ( " movl %%gs:0, %0" : "=r"(tls) ); - return tls; -} diff --git a/libc/arch-x86/x86.mk b/libc/arch-x86/x86.mk index 395f0d4..4a63f5e 100644 --- a/libc/arch-x86/x86.mk +++ b/libc/arch-x86/x86.mk @@ -3,7 +3,6 @@ _LIBC_ARCH_COMMON_SRC_FILES := \ arch-x86/bionic/_exit_with_stack_teardown.S \ arch-x86/bionic/futex_x86.S \ arch-x86/bionic/__get_sp.S \ - arch-x86/bionic/__get_tls.c \ arch-x86/bionic/_setjmp.S \ arch-x86/bionic/setjmp.S \ arch-x86/bionic/__set_tls.c \ |