summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-10-22 01:05:28 -0400
committerAustin Foxley <austinf@cetoncorp.com>2009-11-09 15:34:18 -0800
commitc7e4f11335adcdad03e24ad2648b873f116337aa (patch)
tree36792c3a1a6438a0d882d82f75446e6308139d0d
parent1a39ca7231bd4c009c40255e7a20adbed3e31890 (diff)
libc: add hidden calls to pthread cleanup funcs
A lot of libc code calls the pthread cleanup funcs implicitly (for stdio) which currently goes through the PLT. Since we already have forwarding symbols for these funcs, it's safe to declare the internal libc usage hidden as a loaded libpthread will have the real symbols found. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
-rw-r--r--libpthread/linuxthreads.old/forward.c2
-rw-r--r--libpthread/linuxthreads.old/sysdeps/pthread/pthread.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/libpthread/linuxthreads.old/forward.c b/libpthread/linuxthreads.old/forward.c
index 402b15543..f5afc2f98 100644
--- a/libpthread/linuxthreads.old/forward.c
+++ b/libpthread/linuxthreads.old/forward.c
@@ -165,6 +165,8 @@ FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0)
FORWARD2 (_pthread_cleanup_push, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return)
FORWARD2 (_pthread_cleanup_push_defer, void, (struct _pthread_cleanup_buffer * buffer, void (*routine)(void *), void * arg), (buffer, routine, arg), return)
+libc_hidden_def(_pthread_cleanup_push_defer)
FORWARD2 (_pthread_cleanup_pop, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return)
FORWARD2 (_pthread_cleanup_pop_restore, void, (struct _pthread_cleanup_buffer * buffer, int execute), (buffer, execute), return)
+libc_hidden_def(_pthread_cleanup_pop_restore)
diff --git a/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h b/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h
index 38d566731..b1dcd1417 100644
--- a/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h
+++ b/libpthread/linuxthreads.old/sysdeps/pthread/pthread.h
@@ -642,6 +642,7 @@ extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg) __THROW;
+libc_hidden_proto(_pthread_cleanup_push_defer)
extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg) __THROW;
@@ -655,6 +656,7 @@ extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buff
extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
int __execute) __THROW;
+libc_hidden_proto(_pthread_cleanup_pop_restore)
extern void __pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
int __execute) __THROW;
#endif