Browse Source

apply hidden visibility to tlsdesc accessor functions

these functions are never called directly; only their addresses are
used, so PLT indirections should never happen unless a broken
application tries to redefine them, but it's still best to make them
hidden.
master
Rich Felker 11 years ago
parent
commit
1b1cafa50c
  1. 2
      src/ldso/aarch64/tlsdesc.s
  2. 1
      src/ldso/dynlink.c
  3. 2
      src/ldso/i386/tlsdesc.s
  4. 3
      src/ldso/tlsdesc.c
  5. 2
      src/ldso/x86_64/tlsdesc.s

2
src/ldso/aarch64/tlsdesc.s

@ -3,6 +3,7 @@
// return a[1];
// }
.global __tlsdesc_static
.hidden __tlsdesc_static
.type __tlsdesc_static,@function
__tlsdesc_static:
ldr x0,[x0,#8]
@ -19,6 +20,7 @@ __tlsdesc_static:
// return __tls_get_new(p) - tp;
// }
.global __tlsdesc_dynamic
.hidden __tlsdesc_dynamic
.type __tlsdesc_dynamic,@function
__tlsdesc_dynamic:
stp x1,x2,[sp,#-32]!

1
src/ldso/dynlink.c

@ -250,6 +250,7 @@ static struct symdef find_sym(struct dso *dso, const char *s, int need_def)
return def;
}
__attribute__((__visibility__("hidden")))
ptrdiff_t __tlsdesc_static(), __tlsdesc_dynamic();
static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stride)

2
src/ldso/i386/tlsdesc.s

@ -1,5 +1,6 @@
.text
.global __tlsdesc_static
.hidden __tlsdesc_static
.type __tlsdesc_static,@function
__tlsdesc_static:
mov 4(%eax),%eax
@ -8,6 +9,7 @@ __tlsdesc_static:
.hidden __tls_get_new
.global __tlsdesc_dynamic
.hidden __tlsdesc_dynamic
.type __tlsdesc_dynamic,@function
__tlsdesc_dynamic:
mov 4(%eax),%eax

3
src/ldso/tlsdesc.c

@ -3,6 +3,9 @@
#include <stddef.h>
#include "libc.h"
__attribute__((__visibility__("hidden")))
ptrdiff_t __tlsdesc_static(), __tlsdesc_dynamic();
ptrdiff_t __tlsdesc_static()
{
return 0;

2
src/ldso/x86_64/tlsdesc.s

@ -1,5 +1,6 @@
.text
.global __tlsdesc_static
.hidden __tlsdesc_static
.type __tlsdesc_static,@function
__tlsdesc_static:
mov 8(%rax),%rax
@ -8,6 +9,7 @@ __tlsdesc_static:
.hidden __tls_get_new
.global __tlsdesc_dynamic
.hidden __tlsdesc_dynamic
.type __tlsdesc_dynamic,@function
__tlsdesc_dynamic:
mov 8(%rax),%rax

Loading…
Cancel
Save