Changeset View
Changeset View
Standalone View
Standalone View
lib/libthr/thread/thr_clean.c
Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | |||||
#undef pthread_cleanup_push | #undef pthread_cleanup_push | ||||
#undef pthread_cleanup_pop | #undef pthread_cleanup_pop | ||||
/* old binary compatible interfaces */ | /* old binary compatible interfaces */ | ||||
__weak_reference(_pthread_cleanup_push, pthread_cleanup_push); | __weak_reference(_pthread_cleanup_push, pthread_cleanup_push); | ||||
__weak_reference(_pthread_cleanup_pop, pthread_cleanup_pop); | __weak_reference(_pthread_cleanup_pop, pthread_cleanup_pop); | ||||
/* help static linking when libc symbols have preference */ | |||||
__weak_reference(__pthread_cleanup_push_imp, __pthread_cleanup_push_imp1); | |||||
__weak_reference(__pthread_cleanup_pop_imp, __pthread_cleanup_pop_imp1); | |||||
arichardson: I think this should be `__weak_reference(__pthread_cleanup_pop_imp, __pthread_cleanup_pop_imp1)… | |||||
void | void | ||||
__pthread_cleanup_push_imp(void (*routine)(void *), void *arg, | __pthread_cleanup_push_imp(void (*routine)(void *), void *arg, | ||||
struct _pthread_cleanup_info *info) | struct _pthread_cleanup_info *info) | ||||
{ | { | ||||
struct pthread *curthread = _get_curthread(); | struct pthread *curthread = _get_curthread(); | ||||
struct pthread_cleanup *newbuf; | struct pthread_cleanup *newbuf; | ||||
newbuf = (void *)info; | newbuf = (void *)info; | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |
I think this should be __weak_reference(__pthread_cleanup_pop_imp, __pthread_cleanup_pop_imp1);
I get the following build error with the current patch: