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.
This commit is contained in:
Rich Felker
2018-09-12 14:34:36 -04:00
parent a2f0eb1a07
commit a60d579f5e
+1 -1
View File
@@ -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