Parcourir la source

hide __pthread_once_full symbol

this is a special case that does not need a declaration, because it's
not even a libc-internal interface between translation units. instead
it's a poor hack around compilers' inability to shrink-wrap critical
code paths. after vis.h was disabled, it became more of a
pessimization on many archs due to the extra layer of machinery to
support a call through the PLT, but now it should be efficient again.
Rich Felker il y a 6 ans
Parent
commit
a60d579f5e
1 fichiers modifiés avec 1 ajouts et 1 suppressions
  1. 1 1
      src/thread/pthread_once.c

+ 1 - 1
src/thread/pthread_once.c

@@ -8,7 +8,7 @@ static void undo(void *control)
 		__wake(control, -1, 1);
 }
 
-int __pthread_once_full(pthread_once_t *control, void (*init)(void))
+hidden int __pthread_once_full(pthread_once_t *control, void (*init)(void))
 {
 	/* Try to enter initializing state. Four possibilities:
 	 *  0 - we're the first or the other cancelled; run init